         MACRO                                                          00900000
         IDACB1 &ARG=,&ARGNAME=,&MF=,&TYPE=,&POS=1,&CALLER=             01800000
.* FUNCTION - DETERMINE OPERAND TYPE, VALIDITY CHECK, AND TRANSFORM     02700000
.*            THE OPERAND PASSED BY &ARG.  OPERAND TYPES VN2 AND VN3    03600000
.*            ARE NOT SUPPORTED.                                        04500000
.* CALLERS  - GENCB,MODCB,SHOWCB,TESTCB,IDACB1,IDACB2                   05400000
.* GLOBALS                                                              06300000
         GBLB  &IDACB01                ERROR INDICATOR                  07200000
         GBLA  &IDACB11                OPERAND TYPE                     08100000
         GBLC  &IDACB12                EXIT LIST CODES                  09000000
         GBLC  &IDACB13                CHARACTER TRANSFORM              09900000
.* LOCALS                                                               10800000
         LCLB  &A,&N,&L,&P,&E          EXIT LIST ATTRIBUTES     Y30ASHS 11700000
         LCLB  &VTAMX                  VTAM EXIT SWITCH          X03004 11750003
         LCLA  &BIT1,&BIT2             ARITHMETIC BIT VALUES            12600000
         LCLA  &VN1,&AN1,&AN2,&AN3,&AN4  OPERAND TYPE CODES             13500000
         LCLA  &I                      WORK VARIABLE                    14400000
         LCLC  &Z4                     BIT STRING PADDING               15300000
.* INITIALIZATION                                                       16200000
&IDACB11 SETA  0                                                        17100000
&IDACB13 SETC  ''                                                       18000000
&VN1     SETA  1                                                        18900000
&AN1     SETA  4                                                        19800000
&AN2     SETA  5                                                        20700000
&AN3     SETA  6                                                        21600000
&AN4     SETA  7                                                        22500000
&I       SETA  K'&ARG                                                   23400000
         AIF   ('&ARG' EQ '').L150                                      24300000
         AIF   ('&TYPE' NE '').L70     TEST FOR COMPLEX OPERAND         25200000
.* ELEMENTARY OPERANDS                                                  26100000
         AIF   ('&ARG'(1,3) EQ '(S,').L10                               27000000
         AIF   ('&ARG'(1,3) EQ '(*,').L20                               27900000
.L05     AIF   ('&ARG'(1,1) NE '(').L50                                 28800000
&IDACB11 SETA  &AN1                    *** AN1 ***                      29700000
&IDACB13 SETC  '&ARG'(2,&I-2)          REMOVE PARENS                    30600000
         AGO   .L40                                                     31500000
.L10     ANOP                          *** AN2 ***                      32400000
&IDACB11 SETA  &AN2                                                     33300000
         AGO   .L30                                                     34200000
.L20     ANOP                          *** AN3 ***                      35100000
&IDACB11 SETA  &AN3                                                     36000000
.L30     ANOP                                                           36900000
&IDACB13 SETC  '&ARG'(4,&I-4)          EXTRACT ADDRESS                  37800000
.L40     AIF   ('&MF' EQ 'L').L160                                      38700000
         MEXIT                                                          39600000
.L50     ANOP                          *** VN1 OR AN4 ***               40500000
&IDACB11 SETA  &AN4                                                     41400000
         AIF   (T'&ARG NE 'N').L60                                      42300000
         AIF   (&ARG GT 4095).L60                                       43200000
&IDACB11 SETA  &VN1                                                     44100000
.L60     ANOP                                                           45000000
&IDACB13 SETC  '&ARG'                                                   45900000
         MEXIT                                                          46800000
.* COMPLEX OPERANDS - NESTED SUBLISTS                                   47700000
.L70     AIF   ('&TYPE' NE 'X').L80    TEST FOR EXIT LIST ENTRY         48600000
&Z4      SETC  '0000'                                                   49500000
&IDACB12 SETC  '&Z4&Z4&Z4&Z4&Z4&Z4&Z4&Z4'                               50400000
&IDACB13 SETC  '0'                                                      51300000
         AIF   ('&ARG(1)' EQ '' OR '&ARG(1)' EQ '0').L90                52200000
&P       SETB  1                                                        53100000
&IDACB12 SETC  '0001&Z4&Z4&Z4&Z4&Z4&Z4&Z4'                              54000000
         AIF   (N'&ARG EQ 1).L05                                        54900000
         AIF   ('&ARG(1)' EQ 'S').L10                                   55800000
         AIF   ('&ARG(1)' EQ '*').L20                                   56700000
.L80     IDACB1 ARG=&ARG(&POS),ARGNAME=&ARGNAME,MF=&MF                  57600000
         AIF   ('&TYPE' EQ 'X').L90                                     58500000
         MEXIT                                                          59400000
.L90     ANOP                                                           60300000
&VTAMX   SETB  ('&ARGNAME' EQ 'LOGON')                           X03004 60350003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'LOSTERM')               X03004 60400003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'RELREQ')                X03004 60450003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'ASYIP')                 X03004 60500003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'UNSIP')                 X03004 60550003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'ATTN')                  X03004 60600003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'TPEND')                 X03004 60650003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'NSEXIT')               G40AKCM 60670040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'SCIP')                 X999999 60700003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'DFASY')                X999999 60750003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'RESP')                 X999999 60800003
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'DFSYN')                X999999 60850003
&I       SETA  N'&ARG+1                                                 61200000
.L100    ANOP                                                           62100000
&I       SETA  &I-1                                                     63000000
         AIF   (&I LE 1).L140                                           63900000
         AIF   ('&ARG(&I)' EQ 'A').L110                                 64800000
         AIF   ('&ARG(&I)' EQ 'N').L120                                 65700000
         AIF   ('&ARG(&I)' EQ 'L').L130                                 66600000
         AIF   ('&ARG(&I)' EQ 'E').L131                          X03004 66650003
         IDAERMAC 5,&ARGNAME,&ARG(&I)                                   67500000
&IDACB01 SETB  1                                                        68400000
         AGO   .L100                                                    69300000
.L110    ANOP                                                           70200000
&A       SETB  1                                                        71100000
         AGO   .L100                                                    72000000
.L120    ANOP                                                           72900000
&N       SETB  1                                                        73800000
         AGO   .L100                                                    74700000
.L130    ANOP                                                           75600000
&L       SETB  1                                                        76500000
         AGO   .L100                                                    77400000
.L131    ANOP                                                    X03004 77450003
&E       SETB  1                                                 X03004 77500003
         AGO   .L100                                             X03004 77550003
.L140    AIF   (NOT(&A AND &N)).L144                            Y30ASHS 78300000
         IDAERMAC 8,&ARGNAME,A,N                                 X03004 78350003
&IDACB01 SETB  1                                                 X03004 78400003
.L144    AIF   (&VTAMX).L147                                     X03004 78810003
         AIF   (NOT &E).L148                                    Y30ASHS 78820000
         IDAERMAC 5,&ARGNAME,E                                   X03004 78830003
&IDACB01 SETB  1                                                 X03004 78850003
         AGO   .L148                                             X03004 79160003
.L147    AIF   (NOT &L).L148                                     X03004 79170003
         IDAERMAC 5,&ARGNAME,L                                   X03004 79180003
&IDACB01 SETB  1                                                 X03004 79190003
.L148    AIF   (NOT &P AND ('&CALLER' EQ 'GEN' OR ('&CALLER' EQ 'MOD'  C79200003
               AND (&L OR NOT (&A OR &N))))).L180                X03004 80100003
&IDACB12 SETC  '&A&N&L&P&E.000&Z4&Z4&Z4&Z4&Z4&Z4'               Y30ASHS 81000000
         MEXIT                                                          81900000
.* ERRORS                                                               82800000
.L150    IDAERMAC 7,IDACB1             LOGIC ERROR                      83700000
         AGO   .L190                                                    84600000
.L160    IDAERMAC 6,&ARGNAME,&ARG      OPERAND INVALID FOR LIST FORM    85500000
         AGO   .L190                                                    86400000
.L170    IDAERMAC 8,&ARGNAME,A,N       INCOMPATIBLE SUBLIST ITEMS       87300000
         AGO   .L190                                                    88200000
.L180    IDAERMAC 10,&ARGNAME          MISSING EXIT ADDRESS             89100000
.L190    ANOP                                                           90000000
&IDACB01 SETB  1                                                        90900000
         MEND                                                           91800000
