/* Rexx */ /* .................................................................. */ /* Author : Kannan AK */ /* Desc : Give struture of the DB2 tables */ /* Syntax : TSO DESC DB2SSID CREATOR.TABLE */ /* Version : Alpha */ /* .................................................................. */ Parse Upper Arg DB2sub Creator . Parse Value Creator with Creator '.' Table If strip(DB2sub)='' | strip(Creator) = '' | strip(Table) = '' Then Do Say 'Syntax: TSO DESC DB2SSID CREATOR.TABLE' Exit 8 End Address ISPEXEC 'Control Errors Return' x = OutTrap("DB2out.","*") Call AllocateIn Call AllocateOut Call ExecuteDSNTEP2 Call CleanUp x = OutTrap("OFF") Exit 1 AllocateIn : Address TSO Do queued();Pull;End Queue "SELECT NAME, COLTYPE, LENGTH, SCALE, NULLS" Queue "FROM SYSIBM.SYSCOLUMNS" Queue "WHERE TBNAME = '"Table"'" Queue "AND TBCREATOR = '"Creator"'" Queue "ORDER BY COLNO" Queue "WITH UR;" 'ALLOC F(SYSIN) REUSE NEW DEL UNIT(SYSDA) LRECL(80) RECFM(F B) SPACE(10,10) TRACK RELEASE DSO(PS) BLKSIZE(80)' 'EXECIO 6 DISKW SYSIN (FINIS' "Delete "USERID()".SYSPRINT" Do queued();Pull;End Return AllocateOut : Address TSO "ALLOC F(SYSPRINT) NEW UNIT(SYSDA) SPACE(8,2)", "TRACKS REUSE DSNAME('"USERID()".SYSPRINT')" Return ExecuteDSNTEP2: Address TSO "NEWSTACK" Queue "RUN PROGRAM(DSNTEP2) PLAN(DSNTEP2) ", "LIBRARY('SYS0.DB2.PROD.RUNLIB.LOAD') PARMS('ALIGN(LHS)')" Queue "END" Queue Address TSO "DSN SYSTEM("DB2sub")" Address TSO "DELSTACK" Address ISPEXEC "LMINIT DATAID(DSID) DDNAME(SYSPRINT)" Address ISPEXEC "BROWSE DATAID("DSID")" Address ISPEXEC "LMFREE DATAID("DSID")" Return CleanUp: Address TSO "Delete '"USERID()".SYSPRINT'" Return