Author: Rick Silvers
Posted: Sun Nov 06, 2016 7:21 pm (GMT 5.5)
IBM had a product on VM back in the 90s that was free called NEATWIND. You could do dialogs like ISPF ..panels, popups, etc..check with your sys programmer to see if you have it
Also, you could use Xedit&Rexx to write full screen menus...found this example in one of my saved sources...it uses Xedit and NEATWIND
Posted: Sun Nov 06, 2016 7:21 pm (GMT 5.5)
IBM had a product on VM back in the 90s that was free called NEATWIND. You could do dialogs like ISPF ..panels, popups, etc..check with your sys programmer to see if you have it
Code: |
/* */ do forever trace off 'MAKEBUF' queue "Network Status Controller Name: @@@@@@@@@@ &ASK." queue " " 'EXEC NEATWIND (DATAENTRY OUTVARS (CTLA)', 'BTITLE (%YCPG Controller Search%!) PFHIGHLITE I/S', 'PF3=Exit PF12=Cancel FORE=B' $rc = rc 'DROPBUF' if $rc = 0 then nop if $rc = 3 then exit if CTLA = ' ' then exit else do ctlb=translate(ctla) 'EXECIO * DISKR COASTAL DBASE * (FINIS LO $'ctlb'$ STEM X' if rc=0 then do as=substr(X1,1,10) ct=substr(X1,11,20) st=substr(X1,32,2) lin=substr(X1,35,10) pu=substr(X1,46,10) co=substr(X1,57,25) ph=substr(X1,83,12) no=substr(X1,97,4) sw=substr(X1,102,10) sy=substr(X1,112,10) 'MAKEBUF' queue '%WSystem %R=> %~'sy'%!' queue '%WController %R=> %T'as queue '%WCity, State %R=> %T'ct st queue '%WLine %R=> %T'lin queue '%WPU or Router %R=> %T'pu queue '%WContact %R=> %T'co queue '%WTelephone %R=> %T'ph queue '%WNetwork Owner %R=> %T'no queue '%WSNA Switch Node %R=> %T'sw queue ' ' 'EXEC NEATWIND (BTITLE (%YCPG Controller Info%!) PFHIGHLITE I/S', 'PF3=Exit PF12=Cancel FLARE=G FORE=R' $rc = rc 'DROPBUF' if $rc = 3 then exit if $rc = 12 then exit end else do 'MAKEBUF'; queue "&STOP1." queue "&STOP2.No controller was found matching your entry" queue "&STOP3.Please reenter." 'EXEC NEATWIND 3 (FORE=TURQ SAA NOWAIT SQUEEZE' 'DROPBUF' 'SLEEP 2 SEC' end end end exit |
Also, you could use Xedit&Rexx to write full screen menus...found this example in one of my saved sources...it uses Xedit and NEATWIND
Code: |
/* REXX */ me=userid() ti=time() command set ctlchar '%' escape command set ctlchar '@' protect blue high command set ctlchar 'âº' protect green nohigh command set ctlchar '!' protect white high command set ctlchar '$' noprotect white underline command set ctlchar '&' protect red high command set msgline on 24 overlay command set color msgline white command set pre off message = right('(C) COPYRIGHT IBM Global Services 1997.',40) do forever call display_screenrscs read nochange tag do queued() pull key line column string select when key = 'RES' then select when string = 1 then call r117 when string = 2 then call r18 when string = 3 then call sr2 when string = 4 then call r173 when string = 5 then call r174 when string = 6 then call r84 when string = 7 then call r175 when string = 8 then call ch5 when string = 9 then call chgcoa when string = 10 then call end when string = 90 then call bye otherwise message = right('Specified menu selection is not correct.',42) end when key = 'ETK' | string = 'COMMAND' then do message = right('Type option number.',21) ti=time() end when key = 'PFK' then select when line = 3 | line = 12 then do message = ' ' cms desbuf command quit exit end when line = 1 then call hlp when line /= 3 | line /= 12 | line /= 1 then do message = right('Function key not allowed.',27) end end otherwise message = right('Specified menu selection is not correct.',42) end end end exit display_screenrscs: s = 'set' r = 'reserved' n = 'noh' s cmdline off s tofeof off s r 1 n '%@RSCS %!', center('Rscs ',50), '%@' s r 2 n '%@ %@', right('System: RALVM17',65), '%@' s r 3 n ' %@Select one of the following:' s r 4 n s r 5 n ' %âº1. Query %&RALVM17 %âºto %!RALAS1 %âºconnection' s r 6 n ' %âº2. Query %&RALVM8 %âºto %!RALAS1 %âºconnection' s r 7 n ' %âº3. Query %&RALVMS %âºto %!RALAS2 %âºconnection' s r 8 n ' %âº4. Query %&RALVM17 %âºto %!RALAS3 %âºconnection' s r 9 n ' %âº5. Query %&RALVM17 %âºto %!RALAS4 %âºconnection' s r 10 n ' %âº6. Query %&RALVM8 %âºto %!RALAS4 %âºconnection' s r 11 n ' %âº7. Query %&RALVM17 %âºto %!CLTAS5 %âºconnection' s r 12 n ' %âº8. Query %&CHARVS01 %âºto %!CLTAS5 %âºconnection' s r 13 n ' %âº9. Query %&CHGVM1 %âºto %!COASTAL %âºconnection' s r 14 n ' %âº10. Query %&ATLVM10 %âºto %!ENDAS400 %âºconnection' s r 15 n s r 16 n s r 17 n s r 18 n ' %âº90. Signoff' s r 19 n s r 20 n ' %@Type a menu option below:' s r 21 n ' %$ %âº' s r 22 n s r 23 n ' %@F1=Help F3=Exit F12=Cancel %&' me' 'ti s r 24 n '%!' if message ^= " " then do; emsg message; message=' ';end; cursor screen 21 7 return r117: sm rscs q ralas1 message = ' ' return r18: sm rscs cmd ralvm8 q ralas1 message = right('Wait 2 seconds for response from RSCS... Pr', || 'ess ENTER again. ',62) return sr2: sm rscs cmd ralvms q ralas2 message = right('Wait 2 seconds for response from RSCS... Pr', || 'ess ENTER again. ',62) return r173: sm rscs q ralas3 message = ' ' return r174: sm rscs q ralas4 message = ' ' return r84: sm rscs cmd ralvm8 q ralas4 message = right('Wait 2 seconds for response from RSCS... Pr', || 'ess ENTER again. ',62) return r175: sm rscs q cltas5 message = ' ' return ch5: sm rscs cmd cltvm1 q charvs01 message = right('Wait 2 seconds for response from RSCS... Pr', || 'ess ENTER again. ',62) return cltp: sm rscs cmd cltvm1 q s1043270 message = right('Wait 2 seconds for response from RSCS... Pr', || 'ess ENTER again. ',62) return chgcoa: sm rscs cmd chgvm1 q coastal message = right('Wait 2 seconds for response from RSCS... Pr', || 'ess ENTER again. ',62) return end: sm rscs cmd atlvm10 q endas400 message = right('Wait 2 seconds for response from RSCS... Pr', || 'ess ENTER again. ',62) return bye: cp logoff hlp: 'MAKEBUF' queue "%w Main Menu - Help" queue " " queue " The%wRSCS%!menu allows you to query the status " queue " of%wRSCS%!(Remote Spooling Communications Subsystem)" queue " to%wQSNADS%!(SNA Distribution Services Subsystem) " queue " connections. " queue " " queue "%wHow to use this Menu" queue " " queue " To select a menu option, type the option number " queue " and press Enter. " queue " " queue " " queue "%wOption 1. (RALVM17 to RALAS1) " queue " " queue " Select this option to query the status of the%yVM/RALVM17" queue " to%yAS/400/RALAS1%!connection. " queue " " queue "%wOption 2. (RALVM8 to RALAS1) " queue " " queue " Select this option to query the status of the%yVM/RALVM8" queue " to%yAS/400/RALAS1%!connection. " queue " " queue "%wOption 3. (RALVMS to RALAS2) " queue " " queue " Select this option to query the status of the%yVM/RALVMS" queue " to%yAS/400/RALAS2%!connection. " queue " " queue "%wOption 4. (RALVM17 to RALAS3) " queue " " queue " Select this option to query the status of the%yVM/RALVM17" queue " to%yAS/400/RALAS3%!connection. " queue " " queue "%wOption 5. (RALVM17 to RALAS4) " queue " " queue " Select this option to query the status of the%yVM/RALVM17" queue " to%yAS/400/RALAS4%!connection. " queue " " queue "%wOption 6. (RALVM8 to RALAS4) " queue " " queue " Select this option to query the status of the%yVM/RALVM8" queue " to%yAS/400/RALAS4%!connection. " queue " " queue "%wOption 7. (RALVM17 to CLTAS5) " queue " " queue " Select this option to query the status of the%yVM/RALVM17" queue " to%yAS/400/CLTAS5%!connection. " queue " " queue "%wOption 8. (CHARVS01(CLTSY6) to CLTAS5) " queue " " queue " Select this option to query the status of the%yMVS/CHARVS01" queue " to%yAS/400/CLTAS5%!connection. The CHARVS01 system is also" queue " known as CLTSY6. " queue " " queue "%wOption 9. (CHGVM1 to COASTAL) " queue " " queue " Select this option to query the status of the%yVM/CHGVM1" queue " to%yAS/400/COASTAL%!connection. " queue " " queue "%wOption 10. (ATLVM10 to ENDAS400) " queue " " queue " Select this option to query the status of the%yVM/ATLVM10" queue " to%yAS/400/ENDAS400%!connection. " queue " " queue "%wOption 90. (SIGNOFF) " queue " " queue " Select this option to end the job on the current display" queue " station. " queue " " queue " %wFunction Keys - Help" queue " " queue "%wF1=Help" queue " Provides information about using this menu." queue " " queue "%wF3=Cms" queue " Ends the current task and returns to CMS." queue " " queue "%wF12=Cancel" queue " Ends the current task and returns to CMS." 'EXEC NEATWIND (SAA90 BTITLE (%yHelp%!) FORE=B PFHIGHLITE' $rc = rc 'DROPBUF' if $rc = 0 then return if $rc = 9999 then return say $rc |