Quantcast
Channel: IBM Mainframe Computers Forums
Viewing all articles
Browse latest Browse all 9405

CLIST & REXX :: RE: DIalog under CMS (z/VM)

$
0
0
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

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




Viewing all articles
Browse latest Browse all 9405

Trending Articles