Return to Mainframe Utilities Page
Module
PROC 1 TABLE TLIB() DEBUG
ISPEXEC CONTROL ERRORS RETURN
IF &DEBUG = DEBUG THEN +
CONTROL MSG LIST CONLIST SYMLIST NOFLUSH ASIS
ELSE +
CONTROL NOMSG NOLIST NOFLUSH NOPROMPT ASIS
IF &TABLE = HELP THEN GOTO HELPSEC
/**********************************************************************
/* CLIST : DUMPTABL *
/* AUTHOR : DAVE LEIGH *
/* DATE : 7-6-90 *
/* FUNCTION : THIS CLIST DUMPS THE CONTENTS OF ISPF TABLES INTO 2 *
/* FILES. THE FIRST IS A FLAT FILE. THE SECOND IS AN *
/* EXECUTABLE CLIST WHICH, WHEN EXECUTED, WILL "SELF-LOAD" *
/* THE TABLE. *
/**********************************************************************
IF &STR(&TLIB) > THEN +
DO
ISPEXEC LIBDEF ISPTLIB DATASET ID('&TLIB') UNCOND
SET LIBCC = &LASTCC
IF &LIBCC > 0 THEN +
DO
SET ZEDLMSG = &STR(*** RC = &LIBCC FOR +
LIBDEF OF &TLIB ***)
ISPEXEC SETMSG MSG(UTLZ001)
EXIT
END
END
SET RP = &STR())
SET PLUS = &STR(+)
/*** ATTEMPT TO OPEN THE TABLE THE USER PASSED AS INPUT ***/
ISPEXEC TBOPEN &TABLE NOWRITE
SET SAVECC = &LASTCC
IF &SAVECC > 0 THEN +
DO
SET ZEDLMSG = &STR(*** RC = &SAVECC TRYING TO OPEN &TABLE ***)
IF &SAVECC = 12 THEN GOTO KEEPON
/* DO
/* ISPEXEC TBSTATS &TABLE STATUS1(S1) STATUS2(S2)
/* IF &S1 = 1 AND &S2 = 4 THEN SET CLOSE = NO
/* ELSE +
/* DO
/* ISPEXEC SETMSG MSG(UTLZ001)
/* EXIT
/* END
/* END
ELSE +
DO
ISPEXEC SETMSG MSG(UTLZ001)
EXIT
END
END
/*** GET THE # AND NAME OF THE FIELDS IN THE TABLE AND # OF ROWS ***/
KEEPON: +
ISPEXEC TBQUERY &TABLE KEYS(TKEYS) NAMES(TNAMES) KEYNUM(X) NAMENUM(Y) +
ROWNUM(NUMROWS)
IF &STR(&TKEYS) > THEN +
DO
SET A = &LENGTH(&STR(&TKEYS))
SET A = &A - 1
SET SYSDVAL = &SUBSTR(2:&A,&STR(&TKEYS))
END
IF &STR(&TNAMES) > THEN +
DO
SET A = &LENGTH(&STR(&TNAMES))
SET A = &A - 1
IF &STR(&SYSDVAL) > THEN +
SET SYSDVAL = &STR(&SYSDVAL &SUBSTR(2:&A,&STR(&TNAMES)))
ELSE +
SET SYSDVAL = &SUBSTR(2:&A,&STR(&TNAMES))
END
READDVAL F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 +
F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 +
F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 +
F31 F32 F33 F34 F35 F36 F37 F38 F39 F40 +
F41 F42 F43 F44 F45 F46 F47 F48 F49 F50 +
F51 F52 F53 F54 F55 F56 F57 F58 F59 F60 +
F61 F62 F63 F64 F65 F66 F67 F68 F69 F70 +
F71 F72 F73 F74 F75 F76 F77 F78 F79 F80 +
F81 F82 F83 F84 F85 F86 F87 F88 F89 F90 +
F91 F92 F93 F94 F95 F96 F97 F98 F99 F100
SET NUMFLDS = &X + &Y
CLEAR
WRITE
WRITE *** DETERMINING LRECL OF LONGEST TABLE ROW FOR "&TABLE" ***
ISPEXEC TBTOP &TABLE
ISPEXEC TBSKIP &TABLE
DO WHILE &LASTCC = 0
SET X = 0
DO WHILE &X < &NUMFLDS
ERROR DO
RETURN
END
SET X = &X + 1
SET Y = &SYSNSUB(2,&&F&X)
SET Y = &LENGTH(&SYSNSUB(3,&&&Y))
SET Z = &STR(&SYSNSUB(2,&&L&X))
IF &Y > &Z THEN SET L&X = &Y
ERROR OFF
END
ISPEXEC TBSKIP &TABLE
END
/*** CALC THE LRECL FROM THE INDIVIDUAL FIELD LENGTHS ***/
SET X = 0
SET LRECL = 0
DO WHILE &X < &NUMFLDS
SET X = &X + 1
SET Y = &STR(&SYSNSUB(2,&&L&X))
IF &Y = 0 THEN SET Y = 1
SET LRECL = &LRECL + &Y
END
/*** DETERMINE PRIMARY, SECONDARY SPACE NEEDED TO HOLD THE FLAT FILE ***/
ISPEXEC SELECT CMD(%BLKSIZE &LRECL &NUMROWS DEVICE(3380) BATCH)
ISPEXEC VGET (BLKSIZE TRKSREQ) SHARED
SET X = &EVAL(&TRKSREQ / 10)
IF &X < 1 THEN SET X = 1
/*** ALLOCATE THE OUTPUT FLAT FILE ***/
DELETE '&SYSUID..TEMP.&TABLE..FLAT'
FREE DDNAME(FLATFILE)
ALLOC DD(FLATFILE) DSN('&SYSUID..TEMP.&TABLE..FLAT') +
NEW CATALOG +
UNIT(SYSDA) VOLUME(WRK$$$) +
SPACE(&TRKSREQ,&X) TRACKS RELEASE +
RECFM(F B) LRECL(&LRECL) BLKSIZE(&BLKSIZE) DSORG(PS)
/*** DETERMINE PRIMARY, SECONDARY SPACE NEEDED TO HOLD THE LOAD FILE ***/
ISPEXEC SELECT CMD(%BLKSIZE 255 &EVAL(&NUMROWS * &NUMFLDS + 500) +
DEVICE(3380) BATCH)
ISPEXEC VGET (BLKSIZE TRKSREQ) SHARED
SET X = &EVAL(&TRKSREQ / 10)
IF &X < 1 THEN SET X = 1
/*** ALLOCATE THE OUTPUT LOAD FILE ***/
DELETE '&SYSUID..TEMP.&TABLE..LOAD'
FREE DDNAME(LOADFILE)
ALLOC DD(LOADFILE) DSN('&SYSUID..TEMP.&TABLE..LOAD') +
NEW CATALOG +
UNIT(SYSDA) VOLUME(WRK$$$) +
SPACE(&TRKSREQ,&X) TRACKS RELEASE +
RECFM(F B) LRECL(255) BLKSIZE(&BLKSIZE) DSORG(PS)
/*** CREATE A "SUFFIX" SPACE VARIABLE = TO THE LRECL LENGTH ***/
SET SPACE = &STR( )
SET X = 0
DO WHILE &X < &LRECL
SET X = &X + 1
SET SPACE = &STR( &SPACE)
END
WRITE
WRITE *** LOADING BOTH THE "FLAT" FILE AND THE "LOAD" FILE ***
/*** PUT BEGINNING CLIST LINES IN THE LOAD FILE ***
OPENFILE LOADFILE OUTPUT
SET LOADFILE = +
&NRSTR(PROC 0 TABLE(&TABLE) )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(ISPEXEC VGET (DBGSWTCH) PROFILE )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(IF &&DBGSWTCH = &STR(ON) THEN + )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( CONTROL MSG LIST CONLIST SYMLIST NOFLUSH ASIS )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(ELSE + )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( CONTROL NOMSG NOLIST NOFLUSH NOPROMPT ASIS )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE *********************************************)
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * THIS CLIST LOADS A TABLE THAT WAS UNLOADED )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * ON &SYSDATE AT &SYSTIME BY THE NAME OF )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * "&TABLE". DEFAULT EXECUTION OF THIS )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * CLIST WILL APPEND "&TABLE" WITH THE ROWS )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * WHICH WERE PREVIOUSLY UNLOADED. YOU MUST )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * SPECIFY FULLY QUALIFIED DATASET NAME )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * WHICH IS THE ISPF TABLE LIBRARY INTO WHICH )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * "&TABLE" IS TO BE STORED. YOU MAY ALSO )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * RELOAD "&TABLE" INTO A DIFFERENT TABLE )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * NAME. YOU MAY ALSO SPECIFY WHETHER YOU )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * WOULD LIKE TO "CREATE", "REPLACE", OR )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * "APPEND" A GIVEN TABLE. SUCCESSFUL )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE * APPENDING ASSUMES "LIKE-NAMED" FIELDS. )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE *********************************************)
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITE )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITENR ENTER TABLE LIBRARY NAME HERE ==> )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(READ TLIB )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(IF &&TLIB = THEN + )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( DO )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( SET ZEDLMSG = &STR(&&)STR(*** NO TABLE LIBRARY &PLUS
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( ENTERED *** NO PROCESSING PERFORMED ***&RP)
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( ISPEXEC SETMSG MSG(UTLZ001) )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( EXIT )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( END )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(SET TLIB = &&STR(&&SYSCAPS(&&TLIB)) )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(ISPEXEC LIBDEF ISPTABL )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(ISPEXEC LIBDEF ISPTABL DATASET ID('&&TLIB') )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(SET SAVECC = &&LASTCC )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(IF &&SAVECC > 0 THEN + )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( DO )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( SET ZEDLMSG = &STR(&&)STR(*** "ISPTABL LIBDEF" &PLUS
PUTFILE LOADFILE
SET LOADFILE = +
&STR( OF "&&TLIB" FAILED WITH RC = &&SAVECC ***&RP)
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( ISPEXEC SETMSG MSG(UTLZ001) )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( EXIT )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( END )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITENR ENTER NEW TABLE NAME HERE, OR PRESS + )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( TO USE "&TABLE" ==> )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(READ XTABLE )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(IF &&XTABLE > THEN SET TABLE = &&XTABLE )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(SET ACTION = APPEND )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(WRITENR ENTER (C)REATE, OR (R)EPLACE. JUST PRESS +)
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( TO (A)PPEND ==> )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR(READ XACTION )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(IF &&XACTION > THEN SET ACTION = &&SYSCAPS(&&XACTION))
PUTFILE LOADFILE
SET LOADFILE = +
&STR(SET ACTION = &&SUBSTR(1:1,&&ACTION) )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(IF &&ACTION ¬= A AND + )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( &&ACTION ¬= C AND + )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( &&ACTION ¬= R THEN + )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( DO )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( SET ZEDLMSG = &STR(&&)STR(*** ACTION MUST BE &PLUS
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( (A)PPEND, (C)REATE, OR (R)EPLACE ***&RP)
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( ISPEXEC SETMSG MSG(UTLZ001) )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( EXIT )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( END )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(IF &&ACTION = R THEN + )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( DO )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( ISPEXEC TBERASE &&TABLE )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( SET SAVECC = &&LASTCC )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( IF &&SAVECC = 8 THEN + )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( WRITE *** "&&TABLE" DOES NOT EXIST IN + )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( "&&TLIB" *** CONTINUING *** )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( IF &&SAVECC = 12 THEN + )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( DO )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( SET ZEDLMSG = &STR(&&)STR(*** "&&TABLE" &PLUS
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( IN USE, CANNOT REPLACE IT ***&RP)
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( ISPEXEC SETMSG MSG(UTLZ001) )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( ISPEXEC LIBDEF ISPTABL )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( EXIT )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( END )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( END )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(IF &&ACTION = R OR &&ACTION = C THEN )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( DO )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( ISPEXEC TBCREATE &&TABLE + )
PUTFILE LOADFILE
SET X = 0
SET PLS = &STR(+)
SET NME = &STR(NAMES)
SET NLP = &STR((
SET NRP =
SET KYS = &STR(KEYS)
SET KLP = &STR((
SET KRP =
DO WHILE &X < &NUMFLDS
SET X = &X + 1
SET Y = &SYSNSUB(2,&&F&X)
IF &SYSINDEX(&Y,&STR(&TNAMES)) > 0 THEN +
DO
SET NAMESWITCH = ON
IF &X = 1 THEN +
DO
SET LOADFILE = +
&NRSTR( KEYS() &PLS)
PUTFILE LOADFILE
END
END
IF &NAMESWITCH = ON THEN +
DO
IF &X = &NUMFLDS THEN SET NRP = &STR())
SET LOADFILE = +
&NRSTR( &NME&NLP&Y&NRP &PLS)
SET NME = &STR( )
SET NLP = &STR( )
END
ELSE +
DO
SET Q = &X + 1
SET Q = &SYSNSUB(2,&&F&Q)
IF &SYSINDEX(&Q,&STR(&TKEYS)) = 0 THEN SET KRP = &STR())
SET LOADFILE = +
&NRSTR( &KYS&KLP&Y&KRP &PLS)
SET KYS = &STR( )
SET KLP = &STR( )
END
PUTFILE LOADFILE
END
SET LOADFILE = +
&NRSTR( LIBRARY(ISPTABL) &PLS )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( WRITE )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( SET SAVECC = &&LASTCC )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( IF &&SAVECC > 4 THEN &PLS )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( DO )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( ISPEXEC LIBDEF ISPTABL )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( SET ZEDLMSG = &STR(&&)STR(*** COULD NOT &PLS)
PUTFILE LOADFILE
SET LOADFILE = +
&STR( CREATE A NEW "&&TABLE". &PLS )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( "TBCREATE" FAILED W/RC = &PLS )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( &&SAVECC ***&RP)
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( ISPEXEC SETMSG MSG(UTLZ001) )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( EXIT )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( END )
PUTFILE LOADFILE
SET LOADFILE = +
&STR( ISPEXEC TBCLOSE &&TABLE )
PUTFILE LOADFILE
SET LOADFILE = +
&NRSTR( END )
PUTFILE LOADFILE
SET LOADFILE = +
&STR(ISPEXEC TBOPEN &&TABLE WRITE)
PUTFILE LOADFILE
OPENFILE FLATFILE OUTPUT
SET FLATFILE = &STR(&SPACE)
ISPEXEC TBTOP &TABLE
ISPEXEC TBVCLEAR &TABLE
SET WRITESWITCH = ON
ISPEXEC TBSKIP &TABLE
WRITE
WRITE *** THIS IS THE LAYOUT FOR "&SYSUID..TEMP.&TABLE..FLATFILE" ***
WRITE *** !!! SCREEN PRINT THIS !!! ***
SET RWS = 0
DO WHILE &LASTCC = 0
SET RWS = &RWS + 1
SET X = 0
SET A = 0
DO WHILE &X < &NUMFLDS
SET X = &X + 1
SET Y = &STR(&SYSNSUB(2,&&L&X))
IF &Y = 0 THEN +
DO
SET Y = 1
SET FFLD = &STR( )
SET LFLD = &STR( )
IF &WRITESWITCH = ON THEN +
WRITE NOTE : FIELD "&SYSNSUB(2,&&F&X)" HAD NO +
NON-NULL VALUES...SUBSTITUTING 1 SPACE
END
ELSE +
DO
ERROR DO
SET ERRCC = &LASTCC
WRITE *** ERR001 ERROR CC: &ERRCC PROCESSING RECORD #&RWS ***
WRITE &STR(*** FIELD 1 NAME = "&F1")
WRITE &STR(*** FIELD 1 VALUE = "&SYSNSUB(3,&&&F1)")
WRITE &STR(*** FIELD IN ERROR = "&SYSNSUB(2,&&F&X)" ***)+
&STR( IT WILL BE SET TO "?")
SET ERRF = &STR(&SYSNSUB(2,&&F&X))
SET &&ERRF = &STR(?)
RETURN
END
SET LFLD = &STR(&&)&STR(&SYSNSUB(2,&&F&X))
SET LFLD = &STR(&LFLD)
IF &STR(&LFLD) = THEN SET LFLD = &STR( )
SET FFLD = &STR(&&)&STR(&SYSNSUB(2,&&F&X))&STR(&SPACE)
SET FFLD = &SUBSTR(1:&Y,&STR(&FFLD))
ERROR OFF
END
ERROR DO
SET ERRCC = &LASTCC
WRITE *** ERR002 ERROR CC: &ERRCC PROCESSING RECORD #&RWS ***
WRITE &STR(*** FIELD 1 NAME = "&F1")
WRITE &STR(*** FIELD 1 VALUE = "&SYSNSUB(3,&&&F1)")
WRITE &STR(*** FIELD IN ERROR = "&SYSNSUB(2,&&F&X)" ***)+
&STR( IT WILL BE SET TO "?")
SET ERRF = &STR(&SYSNSUB(2,&&F&X))
SET &&ERRF = &STR(?)
RETURN
END
SET B = &Y + 1
SET LOADFILE = +
&STR(SET &SYSNSUB(2,&&F&X) = +
&STR(&&STR(&&SYSNSUB(0,&STR(&SYSNSUB(1,&LFLD)))))
PUTFILE LOADFILE
IF &A = 0 THEN +
SET FLATFILE = &STR(&FFLD)+
&SUBSTR(&B:&LRECL,&STR(&FLATFILE))
ELSE +
SET FLATFILE = &SUBSTR(1:&A,&STR(&FLATFILE))+
&STR(&FFLD)+
&SUBSTR(&B:&LRECL,&STR(&FLATFILE))
ERROR OFF
IF &WRITESWITCH = ON THEN +
WRITE FIELD : "&SYSNSUB(2,&&F&X)" IS AT POSITION +
&EVAL(&A + 1) FOR A LENGTH OF &Y
SET A = &A + &Y
END
SET WRITESWITCH = OFF
SET LOADFILE = &STR(ISPEXEC TBADD &&TABLE)
PUTFILE LOADFILE
PUTFILE FLATFILE
IF &EVAL(&RWS//10) = 0 THEN +
DO
SET LOADFILE = &STR(WRITE &RWS ROWS LOADED INTO &&TABLE)
PUTFILE LOADFILE
WRITE &STR(&RWS ROWS DUMPED FOR TABLE &TABLE)
END
ISPEXEC TBSKIP &TABLE
END
SET LOADFILE = &STR(ISPEXEC TBCLOSE &&TABLE)
PUTFILE LOADFILE
/* SET LOADFILE = &STR(ISPEXEC LIBDEF ISPTABL)
/* PUTFILE LOADFILE
FINAL: +
CLOSFILE LOADFILE
FREE DDNAME(LOADFILE)
CLOSFILE FLATFILE
FREE DDNAME(FLATFILE)
FREE ATTRLIST(ATTRIB1)
IF &CLOSE ¬= NO THEN ISPEXEC TBEND &TABLE
IF &STR(&TLIB) > THEN ISPEXEC LIBDEF ISPTLIB
ISPEXEC BROWSE DATASET('&SYSUID..TEMP.&TABLE..FLAT')
EXIT
HELPSEC: + 02480000
ISPEXEC SELECT PGM(ISPTUTOR) PARM(HELPSHEL) 02490000
SET ZEDLMSG = &STR(*** HELP DISPLAYED FOR XXXXXXXX UTILITY + 02490000
*** NO PROCESSING PERFORMED ***) 02490000
ISPEXEC SETMSG MSG(UTLZ000) 02490000
EXIT
Documentation
DUMPTABL allows you to specify an ISPF table name which is currently in the
ISPTLIB concatenation and it will automatically create a flat file containing
all of the records in the table in a consistant record layout. It also creates
a CLIST which, when run will re-load the table. The flatfile could also
subsequently be used as input to the ISPFTABL utility to load a table.

0 Comments