MACRO 00050002 &LABEL TESTAUTH &FCTN=,&AUTH=,&STATE=,&KEY=,&RBLEVEL=2,&BRANCH= 00100002 LCLA &FLAGS 00150002 LCLB &FCTNB 00200002 AIF ('&LABEL' EQ '').NOLAB 00300002 &LABEL DS 0H LABEL 00350002 .NOLAB ANOP 00400002 AIF ('&FCTN' NE '' OR '&KEY' NE '' OR '&STATE' NE '').SKIP 00410002 LA 1,1(0,0) SPECIFY FUNCTION CODE OF 1 YM1995 00420002 &FCTNB SETB 1 00422002 AGO .CKAUTH 00424002 .SKIP ANOP 00430002 AIF ('&FCTN' NE '').YSFUNC 00450002 SR 1,1 ZERO FOR INSERT 00500002 AGO .PART2 00550002 .YSFUNC ANOP 00600002 AIF ('&FCTN'(1,1) EQ '(').FUNCREG 00650002 LA 1,&FCTN.(0,0) SPECIFY FUNCTION CODE YM1995 00700002 AGO .CKAUTH 00750002 .FUNCREG ANOP 00800002 LR 1,&FCTN(1) SPECIFY FUNCTION CODE 00850002 .CKAUTH ANOP 00900002 AIF ('&AUTH' EQ '').NOAUTH 00950002 AIF ('&AUTH'(1,1) EQ '(').AUTHREG 01000002 LA 0,&AUTH.(0,0) SPECIFY AUTHORIZATION CODE YM1995 01050002 AGO .PART2 01100002 .NOAUTH ANOP 01150002 BAL 0,*+4 NO AUTH CODE SPEC (GPR 0 NEG) 01200002 AGO .PART2 01250002 .AUTHREG ANOP 01300002 LR 0,&AUTH(1) SPECIFY AUTHORIZATION CODE 01350002 AGO .PART2 01400002 .PART2 ANOP 01450002 AIF ('&STATE' EQ '' AND '&KEY' EQ '').PART3 01500002 AIF ('&RBLEVEL' EQ '1').LEV1 01550002 AIF ('&RBLEVEL' NE '2').ERR4 01600002 &FLAGS SETA &FLAGS+8 01650002 .LEV1 ANOP 01700002 AIF ('&STATE' EQ '').NOSTAT 01750002 AIF ('&STATE' EQ 'NO').NOSTAT 01800002 AIF ('&STATE' NE 'YES').ERR2 01850002 &FLAGS SETA &FLAGS+4 01900002 .NOSTAT ANOP 01950002 AIF ('&KEY' EQ '').NOKEY 02000002 AIF ('&KEY' EQ 'NO').NOKEY 02050002 AIF ('&KEY' NE 'YES').ERR3 02100002 &FLAGS SETA &FLAGS+2 02150002 .NOKEY ANOP 02200002 AIF ('&FCTN' NE '' OR &FCTNB EQ 1).YESAPF 02250002 &FLAGS SETA &FLAGS+1 02300002 .YESAPF ANOP 02350002 NOPR &FLAGS 02400002 ICM 1,4,*-1 INSERT THE FLAGS 02450002 .PART3 ANOP 02500002 AIF ('&BRANCH' EQ '').SVC 02550002 AIF ('&BRANCH' EQ 'NO').SVC 02600002 AIF ('&BRANCH' NE 'YES').ERR5 02650002 L 15,16(0,0) YM1995 02700002 L 15,CVTAPF-CVT(15,0) YM1995 02750002 BALR 14,15 02800002 */* NOTE: REGISTERS 14-3 HAVE BEEN CHANGED. 02850002 AGO .DONE 02900002 .SVC ANOP 02950002 SVC 119 03000002 .DONE ANOP 03050002 MEXIT 03100002 .ERR2 IHBERMAC 157,STATE,&STATE INVALID CODE FOR STATE-IGNORED 03250002 MEXIT 03300002 .ERR3 IHBERMAC 157,KEY,&KEY INVALID CODE FOR KEY - IGNORED 03350002 MEXIT 03400002 .ERR4 IHBERMAC 157,RBLEVEL,&RBLEVEL INVALID CODE FOR RBLEVEL IGNORED 03450002 MEXIT 03500002 .ERR5 IHBERMAC 157,BRANCH,&BRANCH INVALID CODE FOR BRANCH-IGNORED 03550002 MEXIT 03600002 MEND 03650002