/* REXX */ /**********************************************************************/ /* DESCRIPTION: EDIT MACRO TO SUBMIT CURRENT EDIT SESSION TO DSNTEP2 IN FOREGROUND AND BROWSE THE OUTPUT. */ /**********************************************************************/ /* the following statement uses dynastep to dynamically allocate the the db2 loadlib */ "DS ADD('D0977.DB2.DBT1.DSNLOAD')" FRONT NOMSG PUSH NOPROP ADDRESS ISPEXEC "ISREDIT MACRO" J = 0 /* SAVE THE CURRENT NON-EXCLUDED LINES FROM THE CURRENT EDIT SESSION */ ADDRESS ISPEXEC "ISREDIT (LINES) = LINENUM .ZLAST" DO I = 1 TO LINES ADDRESS ISPEXEC "ISREDIT (STATUS) = XSTATUS" I IF STATUS = 'NX' THEN DO ADDRESS ISPEXEC "ISREDIT (LINE) = LINE" I J = J + 1 SYSIN.J = LINE END END /* DISPLAY A MESSAGE IF ALL THE LINES ARE EXCLUDED AND EXIT */ IF J = 0 THEN DO ZEDSMSG = 'ALL LINES ARE EXCLUDED' ADDRESS ISPEXEC "SETMSG MSG(ISRZ001)" EXIT END /* ALLOCATE SYSIN AND SYSPRINT DDNAMES TO TEMPORARY FILES AND WRITE THE SAVED EDIT SESSION LINES TO SYSIN */ "ALLOC DDNAME(SYSIN) NEW UNIT(DISK) SPACE(3) TRACKS REUSE" "EXECIO * DISKW SYSIN (STEM SYSIN. FINIS" "ALLOC DDNAME(SYSPRINT) NEW UNIT(DISK) SPACE(8,2) TRACKS REUSE" "NEWSTACK" /* PLACE THE RUN AND END COMMANDS ON THE DATA STACK AND EXECUTE DSN */ /* change db2 plan name and loadlib as necessary */ QUEUE "RUN PROGRAM(DSNTEP2) PLAN(DSNTEP61) LIB('SYS1.DB2.RUNLIB')" QUEUE "END" ADDRESS TSO "DSN SYSTEM(DBT1)" "DELSTACK" /* BROWSE THE SYSPRINT FILE */ ADDRESS ISPEXEC "LMINIT DATAID(IDVAR) DDNAME(SYSPRINT)" ADDRESS ISPEXEC "BROWSE DATAID(" || IDVAR || ")" ADDRESS ISPEXEC "LMFREE DATAID(" || IDVAR || ")" /* FREE THE SYSIN AND SYSPRINT DDNAMES */ "FREE DDNAME(SYSIN,SYSPRINT)" ZEDSMSG = 'MACRO COMPLETED' ADDRESS ISPEXEC "SETMSG MSG(ISRZ001)" EXIT