++APAR(ASZ3133). /*----------------------------------------------------- COPYRIGHT AUSTRALIAN SYSTEMS ENGINEERING PTY. LTD. 2000. ASZ3133 000207 61VNAB WM OMCSV2 V201 MSG OMCSAMFG 000208 S__-PJS msg OMCEC046I 03 ? LINE# 0201 &DATE(...) INVALID DATE EXPRESSION occurs when requesting an AMF restore activity summary. _PROBLEM DESCRIPTION: The following error may occur after requesting an AMF restore activity summary. 03.0201 SET DAYS1=&DATE(&SYMD-&RYMD) 03.0201 SET DAYS1= OMCEC046I 03 ? LINE# 0201 &DATE(...) INVALID DATE EXPRESSION 03.0056 OPT1 (&NBEF) (&NAFT) 03.0056 OPT1 (-30) (-0) OMCEC046I 03 OMCSAMFG LINE# 0056 ERROR IN LOWER-LEVEL ECL PROGRAM 02.0965 EXEC OMCSAMFG (&NBEF) (&NAFT) 02.0965 EXEC OMCSAMFG (-30) (-0) OMCEC046I 02 OMCSTSAM LINE# 0965 ERROR IN LOWER-LEVEL ECL PROGRAM 01.0525 AMF: EXEC OMCSTSAM &IPCMDO 01.0525 AMF: EXEC OMCSTSAM OMCEC046I 01 OMCSTSSJ LINE# 0525 ERROR IN LOWER-LEVEL ECL PROGRAM _PROBLEM SUMMARY: USERS AFFECTED: users of AMF queued restore When examining completed request queue records, no allowance was made for the possibility of a record containing invalid data. _PROBLEM CONCLUSION RECOMMENDATION: Apply APAR fix ASZ3133 OMCSAMFG will be modified to activate an ECL error handler while processing the completed AMF request queue records. If any bad records are encountered, details will be displayed to the user. The bad record will be ignored and processing will continue. _SMP/E SITES PLEASE NOTE: 1. If you have PTF ASP0699 installed on your system, you may apply two or more source update APAR fixes to the same source module simultaneously. If you do not have PTF ASP0699 installed, do NOT attempt to apply two or more source update APAR fixes to the same source module simultaneously - you will get incorrect results. _NON-SMP/E SITES PLEASE NOTE: 1. Apply this fix using the ASMPMAIN program. Refer to ASE Technical Bulletin TB90-0014 for sample JCL for running this program or see the .ASESAMP member called RUNASMP. 2. This fix contains ++SRCUPD statements. After applying the fix you must recompile the ECL programs named in ++SRCUPD statements to create new load modules from them. For sample JCL see the .ASESAMP member called RUNECLC which was distributed on PUT9112. NEED FURTHER HELP? CALL ASE FOR ASSISTANCE. */ ++VER(Z038) FMID(ASEB200) PRE(ASP0735) REQ(ASZ3135). ++SRCUPD(OMCSAMFG). ./ CHANGE NAME=OMCSAMFG APAR ASZ3133 Z3133002 /*PRE ASP0735 Z3133004 AUDIT ON Z3133006 F OPT1B: 1 Z3133008 F 'EXTRACT FIELDS REQUIRED' Z3133010 :I2 Z3133012 SET @ERROR=OPT1G /* TO CATCH BAD AMFREQQ RECORDS Z3133014 SET ERR=0 /* INDICATE NO ERRORS YET Z3133016 F '80,100' Z3133018 UP 1 Z3133020 :I1 Z3133022 CONTROL ERROR /* PREPARE FOR POSSIBLE BAD RECORDS Z3133024 F 'GOTO OPT1F' Z3133026 :I1 Z3133028 CONTROL NOERROR /* STOP BAD RECORD CHECK Z3133030 F 'GOTO OPT1D' Z3133032 :I31 Z3133034 Z3133036 /*---------- HANDLE BAD AMFREQQ RECORDS Z3133038 OPT1G: CONTROL NOERROR /* STOP THE ERROR TRAP Z3133040 SET ERR=&ERR+1 /* COUNT THE ERROR Z3133042 IF# &ERR=1 /* IF ITS THE FIRST ERROR... Z3133044 SET MSG1=&@ERRMSG1 /* ...COPY THE ERROR DETAILS Z3133046 SET MSG2=&@ERRMSG2 Z3133048 SET MSG3=&@ERRMSG3 Z3133050 OPEN ERROR LIST UPDATE CREATE EMPTY RAM + Z3133052 RETURNS(RC @ER LMSG) Z3133054 IF# &RC>0 Z3133056 RETURN LMSG Z3133058 DBINSR &@ER O&CAPSOFF(NE OR MORE) AMF &CAPSOFF(REQUEST +Z3133060 QUEUE RECORDS HAD INVALID DATA CAUSING AN) + Z3133062 ECL &CAPSOFF(ERROR.) Z3133064 DBINSR &@ER O&CAPSOFF(NLY THE FIRST ERROR WILL BE + Z3133066 SHOWN BELOW.) P&CAPSOFF(RESS THE) END + Z3133068 &CAPSOFF(KEY TO CONTINUE TO THE) Z3133070 DBINSR &@ER &CAPSOFF(REPORT DISPLAY.) Z3133072 DBINSR &@ER Z3133074 DBINSR &@ER &MSG1 /* COPY ERROR DETAILS Z3133076 DBINSR &@ER &MSG2 Z3133078 DBINSR &@ER &MSG3 Z3133080 DBINSR &@ER Z3133082 DBINSR &@ER D&CAPSOFF(UMP OF RECORD CAUSING THE ERROR) Z3133084 DBINSR &@ER Z3133086 DBSKIP &@W1 0 Z3133088 SET BADREC=&DBRTXT Z3133090 $DUMP BADREC &@ER Z3133092 GOTO OPT1D /* GO GET NEXT REC.-> Z3133094 Z3133096 F 'DBCLOSE &@W2' Z3133098 :I32 Z3133100 Z3133102 /*---------- DISPLAY THE ERROR FILE Z3133104 IF# &ERR>0 /* ONLY IF THERE WERE ANY ERRORS... Z3133106 DBTOP &@ER Z3133108 OPT1GE: SET ZCMD= Z3133110 IF &LMSG= Z3133112 IF# &ERR=1 Z3133114 SET LMSG=&CAPSOFF(&ERR RECORD IS IN ERROR) Z3133116 IF# &ERR>1 Z3133118 SET LMSG=&CAPSOFF(&ERR RECORDS ARE IN ERROR) Z3133120 DBDSPL &@ER PANEL(OMCSAMR2) + Z3133122 PCMDS(PRT) + Z3133124 LCMDS() + Z3133126 VMAP(1 C255=1) Z3133128 Z3133130 /*---------- SUPPORT EXTENDED PRT COMMAND Z3133132 SET LMSG= Z3133134 IF &TERM(&ZCMD)=PRT Z3133136 DBDSPL &@ER SHUTDOWN Z3133138 IF# &LN(&TSSJPRAT)=0 /* IF NO PRT ATTRIBUTES YET ... Z3133140 SET TSSJPRAT=&MAP(16' ' C20 C1,&@HCLU &@HCCL) Z3133142 SET WHAT= &SPHL Z3133144 EXEC OMCSPRTM TSSJ &@ER OMCSPRTM '&TSSJPRAT' '&WHAT' Z3133146 SET VARS=LMSG TSSJPRAT TSSJJOB1 TSSJJOB2 TSSJJOB3 + Z3133148 TSSJJOB4 Z3133150 SET (&VARS,V)=&RETSTRG /* SET RETURN VARIABLES Z3133152 GOTO OPT1GE /* GO REDISPLAY-> Z3133154 Z3133156 /*---------- CLEANUP AND RETURN Z3133158 DBDSPL &@ER SHUTDOWN Z3133160 DBCLOSE &@ER Z3133162 DBERASE &@ER ERROR LIST RAM Z3133164 END Z3133166