Figure 1 shows the panel definition
for a panel that uses a referral list.
Figure 1. Example Panel Definition Enabling
NRETRIEV)BODY
%--------------------------- NRETRIEV Test Panel ---------------------------%
%COMMAND%===>_ZCMD
+
+
+ Project ===>_PROJECT +
+ Group ===>_GROUP1 +===>_GROUP2 +===>_GROUP3 +===>_GROUP4 +
+ Type ===>_TYPE +
+ Member ===>_MEMBER +
+ DS Name ===>_OTHERDSN +
+ Volume ===>_VOLUME+
+ Workstation File ===>_WSFILE +
)INIT
.NRET = ON /* Make NRETRIEV key active */
)REINIT
REFRESH (*)
.NRET = ON /* Make NRETRIEV key active */
)PROC
.NRET = OFF /*IMPORTANT - Make NRETRIEV key inactive */
VGET (ZVERB) SHARED
IF (&ZVERB = NRETRIEV) /* if NRETRIEV was entered */
IF (.CURSOR NE OTHERDSN, VOLUME, WSFILE)
.NRET = LIB /* Reset data set counter */
IF (&ZNRLIB = YES) /* If library retrieve was OK*/
.CURSOR = MEMBER /* set cursor to member field*/
&PROJECT = &ZNRPROJ /* set library variables from*/
&GROUP1 = &ZNRGRP1 /* the variables set by */
&GROUP2 = &ZNRGRP2 /* NRETRIEV */
&GROUP3 = &ZNRGRP3
&GROUP4 = &ZNRGRP4
&TYPE = &ZNRTYPE
&MEMBER = &ZNRMEM
&OTHERDSN = &Z /* Blank out odsn field */
&VOLUME = &Z /* Blank out volume field */
&WSFILE = &Z /* Blank out workstation file*/
.MSG = ISRDS013 /* Indicate good retrieval */
ELSE .MSG = ISRDS011 /* Else bad library list */
ELSE
.NRET = DSN
IF (&ZNRDS = YES) /* If dsname retrieve was OK */
IF (&ZNRWSN = H) /* If ISPF thinks it's host */
.CURSOR = OTHERDSN /* Move cursor to dsn name */
&OTHERDSN = &ZNRODSN /* Set other dsn name */
&VOL = &ZNRVOL /* Set volume variable */
&WSFILE = &Z /* Blank out workstation file*/
ELSE /* ISPF thinks it's a wsfile */
.CURSOR = WSFILE /* Set cursor to ws file */
&WSFILE = &ZNRODSN /* Set ws file name variable */
&VOL = &Z /* Blank volume and data set */
&OTHERDSN = &Z /* To avoid visual confusion */
.MSG = ISRDS014 /* Indicate good retrieval */
ELSE .MSG = ISRDS012 /* Else bad ds referral list */
)END