/* and initialize */
'PSEUDO OFF'
ZEROES = '00'x
'CICS GETMAIN SET(WORKPTR) LENGTH(90) INITIMG(ZEROES)'
VAR1 = 'USERID must be 8 characters'
/* Copy the REXX variable VAR1 to the GETMAINed storage */
'COPYR2S VAR1 WORKPTR 30'
/* Copy the storage area to REXX variable */
'COPYS2R WORKPTRX090'
'CICS SEND MAP(PANELG) FREEKB ERASE FROM(X)'
'CICS RECEIVE MAP(PANELG) INTO(Y)'
/* Copy Y into the GETMAINED storage area and then copy the data */
/* to REXX variables using the file structure generated */
/* previously by the CONVTMAP command */
'COPYR2S Y WORKPTR 0 90'
'COPYS2R WORKPTR * POOL1:\USERS\USER1\PANELG.DATA'
/* loop until the user enters a USERID exactly 8 characters in */
/* length */
do forever
MUSERID = STRIP(DUSERIDO)
if LENGTH(MUSERID) < 8 then
do
DMSGO = 'Please enter 8 char USERID'
'COPYR2S * WORKPTR POOL1:\USERS\USER1\PANELG.DATA'
'COPYS2R WORKPTRX090'
'CICS SEND MAP(PANELG) FREEKB ERASE FROM(X)'
'CICS RECEIVE MAP(PANELG) INTO(Z)'
'COPYR2S Z WORKPTR 0 90'
'COPYS2R WORKPTR * POOL1:\USERS\USER1\PANELG.DATA'
END
ELSE LEAVE
END
'SENDE'
say''
say 'Hello' DUSERIDO', Welcome to REXX/CICS !!'
exit
The BMSMAP1 exec created the following panels.
REXX/CICS HEADER PANEL1 PANEL1
PLEASE ENTER YOUR USERID:
MSG: USERID must be 8 characters
BMS Example
Appendix J. Basic Mapping Support Example 429