%IDACALL: 00555503 MACRO KEYS(ADDBASE); 01111003 01666503 /* MACRO IS NEW FOR VSAM RELEASE 2 @X04SVLC*/ 02222003 02777503 DCL 03333003 ACOL FIXED; 03888503 ACOL=MACCOL+LENGTH(MACLIST)+8; 04444003 ANS('I'||MACINDEX(3:4)||':') COL(2); 04999503 ANS('DO;') COL(MACCOL); 05555003 ANS('/* IDACALL'||MACLIST) COL(44); 06110503 ANS('*/') COL(70); 06666003 IF MACLIST(1) ^= '' THEN 06716003 DO; 06766003 ANS('CALL '||MACLIST(1)||';') SKIP COL(MACCOL+2); 07221503 ANS('/* EXIT TO '||MACLIST(1)) COL(44); 07777003 ANS('*/') COL(70); 08332503 END; 08382503 ANS('GEN(BALR @11,0);') SKIP COL(MACCOL+2); 08888003 ANS('/* LOAD ADDR OF REENTRY */') COL(44); 09443503 ANS('GEN(USING *,@11);') SKIP COL(MACCOL+2); 09999003 ANS('/* ESTABLISH ADDRESSING */') COL(44); 10554503 IF ADDBASE^='' THEN /* IF SECOND BAS NEEDED */ 11110003 DO; 11665503 ANS('GEN(USING *+4095,'||ADDBASE(1)||');') SKIP COL(MACCOL+2); 12221003 ANS('/* ESTABLISH SECOND BASE */') COL(44); 12776503 ACOL=ACOL+LENGTH(ADDBASE)+7; 13332003 ANS('GEN(LA '||ADDBASE(1)||',4095(@11));') SKIP COL(MACCOL+2 13887503 ); 14443003 ANS('/* LOAD SECOND BASE */') COL(44); 14998503 ANS('GEN(L '||ADDBASE(1)||',=A(@PSTART+4095));') SKIP COL( 19442503 MACCOL+2); 19998003 ANS('/* RELOAD SECOND BASE */') COL(44); 20553503 ANS('GEN(USING @PSTART+4095,'||ADDBASE(1)||');') SKIP COL( 21109003 MACCOL+2); 21664503 ANS('/* ESTABLISH SECOND BASE */') COL(44); 22220003 END; 22775503 ANS('GEN(L @11,=A(@PSTART));') SKIP COL(MACCOL+2); 22825503 ANS('/* RELOAD BASE */') COL(44); 22875503 ANS('GEN(USING @PSTART,@11);') SKIP COL(MACCOL+2); 22925503 ANS('/* ESTABLISH ADDRESSING */') COL(44); 22975503 ANS('END I'||MACINDEX(3:4)||';') SKIP COL(MACCOL); 23331003 ANS COL(ACOL); 23886503 %END; 24442003