/* REXX EXEC */ /**************************************************************/ /* AUTHOR - BILL SWEENEY */ /* SSC, INC. (703) 777-2771 */ /* WHSWEENEY@SSCMAINFRAME.COM */ /* WWW.SSCMAINFRAME.COM */ /* DATE - (C) COPYRIGHT 1997 */ /* */ /**************************************************************/ /* REMEMBER THAT THE REXX OR CHARACTER IS X'4F' AND THE REXX */ /* NOT CHARACTER IS X'5F' (ASCII TO EBCDIC TYPE PROBLEMS */ /* TRACE RESULTS */ "FREE F(INFILE,OUTFILE)" "ALLOC F(INFILE) DA('PROD.JCLLIB') SHR" "ALLOC F(OUTFILE) DA('PROD.JCLLIB2') SHR" DIR_OK = ALXRDDIR('INFILE','MEMBER',1200,'YES') IF DIR_OK ^= 'OK' THEN DO SAY 'UNABLE TO READ DIRECTORY;' DIR_OK EXIT 12 END DO I = 1 TO MEMBER.0 LENGTH_MEM = LENGTH(MEMBER.I) MEMBER = SUBSTR(MEMBER.I,1,8) DIRECTORY = SUBSTR(MEMBER.I,10,LENGTH_MEM-9) READ_OK = ALXRGETM(MEMBER,'INFILE','RECORD') IF READ_OK ^= 'OK' THEN DO SAY 'UNABLE TO READ MEMBER' MEMBER.I ';' READ_OK END ELSE CALL PROCESS_MEMBER END "FREE F(INFILE,OUTFILE)" EXIT PROCESS_MEMBER: CNT = 0 SET = 'NO' DO II = 1 TO RECORD.0 PARSE VAR RECORD.II JCL_KW FUNCTION REMAINDER COMMENT = SUBSTR(RECORD.II,1,3) JCL = SUBSTR(RECORD.II,1,2) IF JCL = '//' & COMMENT ^= '//*' & SET = 'NO' & FUNCTION = 'EXEC' |, JCL = '//' & COMMENT ^= '//*' & SET = 'NO' & FUNCTION = 'INCLUDE' THEN DO SET = 'YES' CNT = CNT + 1 OUTRECD.CNT = '// JCLLIB ORDER=PROD.PROCLIB' CNT = CNT + 1 OUTRECD.CNT = RECORD.II END ELSE DO CNT = CNT + 1 OUTRECD.CNT = RECORD.II END END WRITE_OK = ALXRWRTM(MEMBER,'OUTFILE','OUTRECD',CNT,,DIRECTORY) IF WRITE_OK ^= 'OK' THEN SAY 'WRITE OF ' MEMBER.I 'FAILED;' WRITE_OK RETURN