About this task
define the field control characters to be used in the panel layout.
.DEFINE < blue protect
.DEFINE @ blue skip
.DEFINE ! red protect
.DEFINE > green unprotect underline
.DEFINE # green unprotect numeric right underline
define a panel named applican, which
queries an applicant's name and address.
(this line and the above lines are treated as comments).
.PANEL applican
< Please type the requested information below @
!Applicant's name
@Last name ...:>&lname @
@First name ..:>&fname @
@MI...........:>1&mi
!Applicant's mailing address
@Street.......:>&mail_street @
@City.........:>&mail_city @
@State........:>2&mail_state
@Zip...:#5&mail_zip
.PANEL
** END OF SAMPLE PANEL DEFINITION.
** START OF REXX PROGRAM USING THE PREVIOUS PANEL.
/* program to query applicant's name and address */
lname = ''; /* null out all name parts */
fname = '';
mi = '';
mail_street = '';
mail_city = 'DALLAS'; /* prefill the most likely response for city/state */
mail_state = 'TX';
mail_zip = '';
do forever;
'panel send applican cursor(lname)';
if rc > 0 then
call error_routine;
'panel receive applican'; /* pseudo-conversational this would be separate */
if pan.aid = 'PF3' | pan.aid = 'PF12' then
leave;
if pan.aid = 'ENTER' & pan.rea = 124 then
iterate;
if pan.aid = 'CLEAR' | substr(pan.aid,1,2) = 'PA' then
iterate; /* go to beginning of loop */
if rc > 0 then
call error_routine;
/* process the name and address */
end;
'panel end';
exit
error_routine:
Say 'An error has occurred'
return;
** END OF REXX PROGRAM and end of sample.