./ ADD NAME=GLUEPANL )ATTR _ TYPE(INPUT) CAPS(ON) INTENS(HIGH) )BODY WINDOW(61,8) % + %Command ===>_ZCMD + %Enter TSO Command, CLIST or REXX Exec below: + + + %===>_Z + + + %Output . ._Z+ (B, V or E) + % + )INIT .ZVARS = '(GLUECMD,GLUEOUT)' .CURSOR = GLUECMD &ZCMD = '' &ZWINTTL = 'TSO Command Trapper' )PROC IF (&GLUEOUT = '') &GLUEOUT = 'B' VER (&GLUEOUT,LIST,B,V,E) VPUT (GLUECMD GLUEOUT) PROFILE )END ./ ADD NAME=GLUREXX /* REXX */ Address Ispexec "LIBDEF ISPPLIB DATASET ID('MOORE.SHRD.CLC.UTILITY') STACK" Ddnmrnd = Random(1,100000); Ddnamet = Substr('T'Ddnmrnd'00000000',1,8); Address Tso "ALLOC DD("Ddnamet") NEW CYL SPACE(5,1)", " RECFM(V B) LRECL(256) DSORG(PS) REUSE" Do Forever Address Ispexec "ADDPOP";"DISPLAY PANEL(GLUEPANL)";Panelrc = Rc "REMPOP" If Panelrc > 4 Then Leave; Y = Outtrap("SAVE.",'*',"NOCONCAT");Address Tso Gluecmd If Rc >= 0 Then Do Address Ispexec "LMINIT DATAID(Dataido) DDNAME("Ddnamet") ENQ(EXCLU)" "LMOPEN DATAID("Dataido") OPTION(OUTPUT)" "LMPUT DATAID("Dataido") MODE(INVAR) DATALOC(GLUECMD), DATALEN(256) NOBSCAN" Stemvar = 0 Do While Stemvar < Save.0 Stemvar = Stemvar + 1;Putline = Save.Stemvar "LMPUT DATAID("Dataido") MODE(INVAR) DATALOC(PUTLINE), DATALEN(256) NOBSCAN" End "LMCLOSE DATAID("Dataido")" If Glueout = "B" Then "BROWSE DATAID("Dataido")" Else If Glueout = "V" Then "VIEW DATAID("Dataido")" Else If Glueout = "E" Then "EDIT DATAID("Dataido")" "LMFREE DATAID("Dataido")" End Else Do Zmsg000s = "Unrecognized TSO Command" Zmsg000l = Gluecmd" - This command is not a valid TSO Command" Address Ispexec "SETMSG MSG(ISPZ000) COND" End End X = Outtrap("OFF") Address Ispexec "LIBDEF ISPPLIB" Address Tso "FREE DD("Ddnamet")" Exit