Browse check output from the CK panel using ISFBROWSE
Using ISFEXEC, access the CK panel with E parameter, which requests only exception checks. For the RACF_GRS_RNL check on SY1, use ISFBROWSE to browse the check. Browsing a check causes the ISFLINE special variable stem variables to be created. List the contents of ISFLINE.
/* REXX */
rc=isfcalls('ON')
/************************************************/
/* Access the CK panel and filter by exceptions */
/************************************************/
Address SDSF "ISFEXEC CK E"
lrc=rc
call msgrtn
if lrc<>0 then
exit 20
found=0
/******************************************************/
/* Find the RACF_GRS_RNL check that is running on SY1 */
/******************************************************/
do ix=1 to NAME.0 while found=0
if NAME.ix = "RACF_GRS_RNL" & SYSNAME.ix = "SY1" then
do
found=1
/****************************************************/
/* Issue ISFBROWSE against the check. This will */
/* return the check output in the isfline stem. */
/****************************************************/
Address SDSF "ISFBROWSE CK TOKEN('"TOKEN.ix"')"
lrc=rc
call msgrtn
if lrc<>0 then
exit 20
/**********************************/
/* List each line of check output */
/**********************************/
do jx=1 to isfline.0
Say "Check line" jx":" isfline.jx
end
end
end
if found=0 then
say "Check not found"
rc=isfcalls('OFF')
exit
/*************************************/
/* Subroutine to list error messages */
/*************************************/
msgrtn: procedure expose isfmsg isfmsg2.
/************************************************/
/* The isfmsg variable contains a short message */
/************************************************/
if isfmsg<>"" then
Say "isfmsg is:" isfmsg
/****************************************************/
/* The isfmsg2 stem contains additional descriptive */
/* error messages */
/****************************************************/
do ix=1 to isfmsg2.0
Say "isfmsg2."ix "is:" isfmsg2.ix
end
return