*%IECDERWA: MACRO; 00050021 * GOTO ERWAPLS; /* GO TO THE PLS VERSION */ 00100021 * /* BAL CODE IS CONSIDERED AS A COMMENT 00150021 MACRO 00200021 IECDERWA &LIST 00250021 LCLA &INDEX 00300021 LCLB &OPT(10),&NOSEG,&ALLSEG 00350021 SPACE 1 00400021 AIF (T'&LIST EQ 'O').DEFAULT 00450021 AIF ('&LIST(1)' EQ 'ALL').ALLGEN 00500021 .SETOPT ANOP 00550021 &INDEX SETA &INDEX+1 00600021 &OPT(&INDEX) SETB 1 00650021 AIF (&INDEX NE 10).SETOPT 00700021 SPACE 1 00750021 &INDEX SETA 0 00850021 .LOOP ANOP 00900021 AIF (&INDEX EQ N'&LIST).GEN 00950021 &INDEX SETA &INDEX+1 01000021 AIF ('&LIST(&INDEX)' EQ 'NONE').NOGEN 01050021 AIF ('&LIST(&INDEX)' EQ 'ALL').ALLGEN 01100021 SPACE 1 01150021 AIF ('&LIST(&INDEX)' NE 'EWD').LA 01200021 &OPT(1) SETB 0 01250021 AGO .LOOP 01300021 .LA AIF ('&LIST(&INDEX)' NE 'EWT').LB 01350021 &OPT(2) SETB 0 01400021 AGO .LOOP 01450021 .LB AIF ('&LIST(&INDEX)' NE 'EWU').LC 01500021 &OPT(3) SETB 0 01550021 AGO .LOOP 01600021 .LC AIF ('&LIST(&INDEX)' NE 'EWG').LD 01650021 &OPT(4) SETB 0 01700021 AGO .LOOP 01750021 .LD AIF ('&LIST(&INDEX)' NE 'EWGX').LE 01800021 &OPT(5) SETB 0 01850021 AGO .LOOP 01900021 .LE AIF ('&LIST(&INDEX)' NE 'EWTC').LF 01950021 &OPT(6) SETB 0 02000021 AGO .LOOP 02050021 .LF AIF ('&LIST(&INDEX)' NE 'EWAT').LG 02100021 &OPT(7) SETB 0 02150021 AGO .LOOP 02200021 .LG AIF ('&LIST(&INDEX)' NE 'EWBT').LH 02250021 &OPT(8) SETB 0 02300021 AGO .LOOP 02350021 .LH AIF ('&LIST(&INDEX)' NE 'EWC').ERR 02400021 &OPT(9) SETB 0 02450021 AGO .LOOP 02500021 .ERR ANOP 02550021 MNOTE 8,'INVALID OPERAND &LIST(&INDEX)' 02600021 MEXIT 02650021 .DEFAULT ANOP 02700021 EWAMAP 02750021 ORG EWAIERP 02800021 EWDMAP 02850021 MEXIT 02900021 .ALLGEN ANOP 02950021 &ALLSEG SETB 1 03000021 AGO .GEN 03050021 .NOGEN ANOP 03100021 &NOSEG SETB 1 03150021 SPACE 1 03200021 .GEN ANOP 03250021 EWAMAP 03300021 AIF (&NOSEG).END 03350021 AIF (&ALLSEG).GA 03400021 AIF (&OPT(1)).NA 03450021 .GA ORG EWAIERP 03500021 EWDMAP 03550021 .NA AIF (&ALLSEG).GB 03600021 AIF (&OPT(2)).NB 03650021 .GB ORG EWAIERP 03700021 EWTMAP 03750002 .NB AIF (&ALLSEG).GC 03800021 AIF (&OPT(3)).NC 03850021 .GC ORG EWAIERP 03900021 EWUMAP 03950002 .NC AIF (&ALLSEG).GD 04000021 AIF (&OPT(4)).ND 04050021 .GD ORG EWAIERP 04100021 * EWGMAP 04150021 .ND AIF (&ALLSEG).GE 04200021 AIF (&OPT(5)).NE 04250021 .GE ORG EWAIERP 04300021 * EWGXMAP 04350021 .NE AIF (&ALLSEG).GF 04400021 AIF (&OPT(6)).NF 04450021 .GF ORG EWAIERP 04500021 EWTCMAP 04550002 .NF AIF (&ALLSEG).GG 04600021 AIF (&OPT(7)).NG 04650021 .GG ORG EWAIERP 04700021 * EWATMAP 04750021 .NG AIF (&ALLSEG).GH 04800021 AIF (&OPT(8)).NH 04850021 .GH ORG EWAIERP 04900021 * EWBTMAP 04950021 .NH AIF (&ALLSEG).GI 05000021 AIF (&OPT(9)).NI 05050021 .GI ORG EWAIERP 05100021 * EWCMAP 05150021 SPACE 1 05200021 .NI ANOP 05250021 .END MEND 05300021 * */ 05350021 *ERWAPLS: ; 05400021 * ANS('@INCLUDE SYSLIB(EWAMAP);'); 05450021 * 05500021 * DCL VALUE FIXED INTERNAL; 05550021 * DCL LNGTH FIXED INTERNAL; 05600021 * DCL INDX FIXED INTERNAL; 05650021 * DCL BYTEMAP(9) FIXED INTERNAL; 05700021 * DCL M FIXED INTERNAL; 05750021 * DCL A CHAR INTERNAL; 05800021 * A=MACLIST; 05850021 * 05900021 * INDX=1; /* INIT INDEX TO 1 */ 05950021 *LOOP: IF INDX > 9 /* IF BYTEMAP IS INITED, */ 06000021 * THEN GOTO INITD; /* GO TO START TESTING */ 06050021 * ELSE; 06100021 * DO; 06150021 * BYTEMAP(INDX) = 0; /* INITIALIZE ALL ELEMENTS */ 06200021 * INDX = INDX + 1; /* IN BYTEMAP TO 0. */ 06250021 * GOTO LOOP; 06300021 * END; 06350021 * 06400021 *INITD: VALUE=NUMBER(MACLIST); /* FIND # OF MAPS SPECIFIED*/ 06450021 * IF VALUE = 0 /* IF NO PARMS SPECIFIED, */ 06500021 * THEN 06550021 * DO; /* EWD IS A DEFAULT SO, */ 06600021 * BYTEMAP(1) = 1; /* GET EWD IND. ON */ 06650021 * GOTO GETEXT; /* AND GO SELECT MAPS */ 06700021 * END; 06750021 * ELSE; 06800021 * 06850021 * VALUE=INDEX(A,'ALL'); /* IS ALL SPECIFIED */ 06900021 * IF VALUE ^= 0 /* YES, GO GET ALL MAPS */ 06950021 * THEN GOTO SETALL; 07000021 * ELSE; 07050021 * 07100021 * VALUE=INDEX(A,'NONE'); /* IS NONE SPECIFIED */ 07150021 * IF VALUE ^= 0 /* YES DONT GET ANY MAPS */ 07200021 * THEN GOTO ENDUP; 07250021 * ELSE; 07300021 * 07350021 * INDX = 1; /* INITIALIZE INDEX TO 1 */ 07400021 * VALUE=NUMBER(MACLIST); /* GET NUMBER OF MAPS */ 07450021 * 07500021 *LOOP1: IF INDX > VALUE /* IF AT END OF OPTIONS */ 07550021 * THEN GOTO GETEXT; /* GO SELECT MAPS */ 07600021 * ELSE; 07650021 * 07700021 * A=MACLIST(INDX); 07750021 * IF A='EWD' /* IF D. A. WANTED, */ 07800021 * THEN 07850021 * DO; 07900021 * BYTEMAP(1) = 1; /* SET EWD IND. ON */ 07950021 * GOTO INCRIX; /* AND GO CHECK NEXT */ 08000021 * END; 08050021 * ELSE; 08100021 * 08150021 * IF A='EWT' 08200021 * THEN 08250021 * DO; 08300021 * BYTEMAP(2) = 1; 08350021 * GOTO INCRIX; 08400021 * END; 08450021 * ELSE; 08500021 * 08550021 * IF A='EWU' 08600021 * THEN 08650021 * DO; 08700021 * BYTEMAP(3) = 1; 08750021 * GOTO INCRIX; 08800021 * END; 08850021 * ELSE; 08900021 * 08950021 * IF A='EWG' 09000021 * THEN 09050021 * DO; 09100021 * BYTEMAP(4) = 1; 09150021 * GOTO INCRIX; 09200021 * END; 09250021 * ELSE; 09300021 * 09350021 * IF A='EWGX' 09400021 * THEN 09450021 * DO; 09500021 * BYTEMAP(5) = 1; 09550021 * GOTO INCRIX; 09600021 * END; 09650021 * ELSE; 09700021 * 09750021 * IF A='EWTC' 09800021 * THEN 09850021 * DO; 09900021 * BYTEMAP(6) = 1; 09950021 * GOTO INCRIX; 10000021 * END; 10050021 * ELSE; 10100021 * 10150021 * IF A='EWAT' 10200021 * THEN 10250021 * DO; 10300021 * BYTEMAP(7) = 1; 10350021 * GOTO INCRIX; 10400021 * END; 10450021 * ELSE; 10500021 * 10550021 * IF A='EWBT' 10600021 * THEN 10650021 * DO; 10700021 * BYTEMAP(8) = 1; 10750021 * GOTO INCRIX; 10800021 * END; 10850021 * ELSE; 10900021 * 10950021 * IF A='EWC' 11000021 * THEN 11050021 * DO; 11100021 * BYTEMAP(9) = 1; 11150021 * GOTO INCRIX; 11200021 * END; 11250021 * ELSE; 11300021 * 11350021 * ANS MSG('INVALID OPTION SPECIFIED IN IECDERWA'); 11400021 * 11450021 * GOTO ENDUP; /* VALID OPTION NOT FOUND */ 11500021 * 11550021 *INCRIX: INDX = INDX + 1; /* INCR TO NEXT OPTION */ 11600021 * GOTO LOOP1; /* CHECK THAT OPTION */ 11650021 * 11700021 *SETALL: INDX=1; /* THIS LOOP SETS ALL BITS */ 11750021 *SETLOOP: IF INDX > 9 THEN /* TO ONE TO GET ALL MAPS */ 11800021 * GOTO GETEXT; 11850021 * ELSE; 11900021 * BYTEMAP(INDX) = 1; 11950021 * INDX = INDX + 1; 12000021 * GOTO SETLOOP; 12050021 12100021 * /* THIS SECTION OF CODE GETS THE MAPS THAT CORRESPOND */ 12150021 * /* WITH THE 'ON' BITS IN THE BYTEMAP. */ 12200021 * 12250021 *GETEXT: M = MACLMAR; 12300021 * IF BYTEMAP(1) = 1 12350021 * THEN 12400021 * DO; 12450021 * ANS('@INCLUDE SYSLIB(EWDMAP);') COL(M); 12500021 * ANS SKIP; 12550021 * END; 12600021 * ELSE; 12650021 * IF BYTEMAP(2) = 1 12700021 * THEN 12750002 * DO; 12800002 * ANS('@INCLUDE SYSLIB(EWTMAP);') SKIP COL(M); 12850021 * ANS SKIP; 12900021 * END; 12950002 * ELSE; 13000021 * IF BYTEMAP(3) = 1 13050021 * THEN 13100002 * DO; 13150002 * ANS('@INCLUDE SYSLIB(EWUMAP);') SKIP COL(M); 13200021 * ANS SKIP; 13250021 * END; 13300002 * ELSE; 13350021 * IF BYTEMAP(4) = 1 13400021 * THEN; 13450021 * /* DO; 13500021 * ANS('@INCLUDE SYSLIB(EWGMAP);') SKIP COL(M); 13550021 * ANS SKIP; 13600021 * END; */ 13650021 * ELSE; 13700021 * IF BYTEMAP(5) = 1 13750021 * THEN; 13800021 * /* DO; 13850021 * ANS('@INCLUDE SYSLIB(EWGXMAP);') SKIP COL(M); 13900021 * ANS SKIP; 13950021 * END; */ 14000021 * ELSE; 14050021 * IF BYTEMAP(6) = 1 14100021 * THEN 14150002 * DO; 14200002 * ANS('@INCLUDE SYSLIB(EWTCMAP);') SKIP COL(M); 14250021 * ANS SKIP; 14300021 * END; 14350002 * ELSE; 14400021 * IF BYTEMAP(7) = 1 14450021 * THEN; 14500021 * /* DO; 14550021 * ANS('@INCLUDE SYSLIB(EWATMAP);') SKIP COL(M); 14600021 * ANS SKIP; 14650021 * END; */ 14700021 * ELSE; 14750021 * IF BYTEMAP(8) = 1 14800021 * THEN; 14850021 * /* DO; 14900021 * ANS('@INCLUDE SYSLIB(EWBTMAP);') SKIP COL(M); 14950021 * ANS SKIP; 15000021 * END; */ 15050021 * ELSE; 15100021 * IF BYTEMAP(9) = 1 15150021 * THEN; 15200021 * /* DO; 15250021 * ANS('@INCLUDE SYSLIB(EWCMAP);') SKIP COL(M); 15300021 * ANS SKIP; 15350021 * END; */ 15400021 * ELSE; 15450021 * 15500021 *ENDUP: ; 15550021 *%END IECDERWA; 15600021