         MACRO                                                          00050040
         IDAVSCB1 &ARG=,&ARGNAME=,&MF=,&TYPE=,&POS=1,&CALLER=  @ZA34940 00100040
.*                                                             @ZA34940 00130040
.*       CHANGE LEVEL = 0                                      @ZA34940 00160040
.*       DATE OF LAST CHANGE =  5 OCT  78 ( 78*278 )           @ZA34940 00190040
.*                                                             @ZA34940 00220040
.* FUNCTION - DETERMINE OPERAND TYPE, VALIDITY CHECK, AND TRANSFORM     00250040
.*            THE OPERAND PASSED BY &ARG.  OPERAND TYPES VN2 AND VN3    00280040
.*            ARE NOT SUPPORTED.                                        00310040
.*                                                             @ZA34940 00340040
.* CHANGE ACTIVITY                                             @ZA34940 00370040
.*      CBMM SPLIT SUPPORT                                     @ZA34940 00400040
.*                                                             @ZA34940 00430040
.* CALLERS  - GENCB,MODCB,SHOWCB,TESTCB,IDAVSCB1,IDACB2        @ZA34940 00460040
.* GLOBALS                                                              00550040
         GBLB  &IDACB01                ERROR INDICATOR                  00600040
         GBLA  &IDACB11                OPERAND TYPE                     00650040
         GBLC  &IDACB12                EXIT LIST CODES                  00700040
         GBLC  &IDACB13                CHARACTER TRANSFORM              00750040
.* LOCALS                                                               00800040
         LCLB  &A,&N,&L,&P,&E          EXIT LIST ATTRIBUTES     Y30ASHS 00850040
         LCLB  &VTAMX                  VTAM EXIT SWITCH          X03004 00900040
         LCLA  &BIT1,&BIT2             ARITHMETIC BIT VALUES            00950040
         LCLA  &VN1,&AN1,&AN2,&AN3,&AN4  OPERAND TYPE CODES             01000040
         LCLA  &I                      WORK VARIABLE                    01050040
         LCLC  &Z4                     BIT STRING PADDING               01100040
.* INITIALIZATION                                                       01150040
&IDACB11 SETA  0                                                        01200040
&IDACB13 SETC  ''                                                       01250040
&VN1     SETA  1                                                        01300040
&AN1     SETA  4                                                        01350040
&AN2     SETA  5                                                        01400040
&AN3     SETA  6                                                        01450040
&AN4     SETA  7                                                        01500040
&I       SETA  K'&ARG                                                   01550040
         AIF   ('&ARG' EQ '').L150                                      01600040
         AIF   ('&TYPE' NE '').L70     TEST FOR COMPLEX OPERAND         01650040
.* ELEMENTARY OPERANDS                                                  01700040
         AIF   ('&ARG'(1,3) EQ '(S,').L10                               01750040
         AIF   ('&ARG'(1,3) EQ '(*,').L20                               01800040
.L05     AIF   ('&ARG'(1,1) NE '(').L50                                 01850040
&IDACB11 SETA  &AN1                    *** AN1 ***                      01900040
&IDACB13 SETC  '&ARG'(2,&I-2)          REMOVE PARENS                    01950040
         AGO   .L40                                                     02000040
.L10     ANOP                          *** AN2 ***                      02050040
&IDACB11 SETA  &AN2                                                     02100040
         AGO   .L30                                                     02150040
.L20     ANOP                          *** AN3 ***                      02200040
&IDACB11 SETA  &AN3                                                     02250040
.L30     ANOP                                                           02300040
&IDACB13 SETC  '&ARG'(4,&I-4)          EXTRACT ADDRESS                  02350040
.L40     AIF   ('&MF' EQ 'L').L160                                      02400040
         MEXIT                                                          02450040
.L50     ANOP                          *** VN1 OR AN4 ***               02500040
&IDACB11 SETA  &AN4                                                     02550040
         AIF   (T'&ARG NE 'N').L60                                      02600040
         AIF   (&ARG GT 4095).L60                                       02650040
&IDACB11 SETA  &VN1                                                     02700040
.L60     ANOP                                                           02750040
&IDACB13 SETC  '&ARG'                                                   02800040
         MEXIT                                                          02850040
.* COMPLEX OPERANDS - NESTED SUBLISTS                                   02900040
.L70     AIF   ('&TYPE' NE 'X').L80    TEST FOR EXIT LIST ENTRY         02950040
&Z4      SETC  '0000'                                                   03000040
&IDACB12 SETC  '&Z4&Z4&Z4&Z4&Z4&Z4&Z4&Z4'                               03050040
&IDACB13 SETC  '0'                                                      03100040
         AIF   ('&ARG(1)' EQ '' OR '&ARG(1)' EQ '0').L90                03150040
&P       SETB  1                                                        03200040
&IDACB12 SETC  '0001&Z4&Z4&Z4&Z4&Z4&Z4&Z4'                              03250040
         AIF   (N'&ARG EQ 1).L05                                        03300040
         AIF   ('&ARG(1)' EQ 'S').L10                                   03350040
         AIF   ('&ARG(1)' EQ '*').L20                                   03400040
.L80     IDAVSCB1 ARG=&ARG(&POS),ARGNAME=&ARGNAME,MF=&MF       @ZA34940 03450040
         AIF   ('&TYPE' EQ 'X').L90                                     03500040
         MEXIT                                                          03550040
.L90     ANOP                                                           03600040
&VTAMX   SETB  ('&ARGNAME' EQ 'LOGON')                           X03004 03650040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'LOSTERM')               X03004 03700040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'RELREQ')                X03004 03750040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'ASYIP')                 X03004 03800040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'UNSIP')                 X03004 03850040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'ATTN')                  X03004 03900040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'TPEND')                 X03004 03950040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'NSEXIT')               G40AKCM 04000040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'SCIP')                 X999999 04050040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'DFASY')                X999999 04100040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'RESP')                 X999999 04150040
&VTAMX   SETB  (&VTAMX OR '&ARGNAME' EQ 'DFSYN')                X999999 04200040
&I       SETA  N'&ARG+1                                                 04250040
.L100    ANOP                                                           04300040
&I       SETA  &I-1                                                     04350040
         AIF   (&I LE 1).L140                                           04400040
         AIF   ('&ARG(&I)' EQ 'A').L110                                 04450040
         AIF   ('&ARG(&I)' EQ 'N').L120                                 04500040
         AIF   ('&ARG(&I)' EQ 'L').L130                                 04550040
         AIF   ('&ARG(&I)' EQ 'E').L131                          X03004 04600040
         IDAVSERR 5,&ARGNAME,&ARG(&I)                          @ZA34940 04650040
&IDACB01 SETB  1                                                        04700040
         AGO   .L100                                                    04750040
.L110    ANOP                                                           04800040
&A       SETB  1                                                        04850040
         AGO   .L100                                                    04900040
.L120    ANOP                                                           04950040
&N       SETB  1                                                        05000040
         AGO   .L100                                                    05050040
.L130    ANOP                                                           05100040
&L       SETB  1                                                        05150040
         AGO   .L100                                                    05200040
.L131    ANOP                                                    X03004 05250040
&E       SETB  1                                                 X03004 05300040
         AGO   .L100                                             X03004 05350040
.L140    AIF   (NOT(&A AND &N)).L144                            Y30ASHS 05400040
         IDAVSERR 8,&ARGNAME,A,N                               @ZA34940 05450040
&IDACB01 SETB  1                                                 X03004 05490040
.L144    AIF   (&VTAMX).L147                                     X03004 05530040
         AIF   (NOT &E).L148                                    Y30ASHS 05570040
         IDAVSERR 5,&ARGNAME,E                                 @ZA34940 05610040
&IDACB01 SETB  1                                                 X03004 05650040
         AGO   .L148                                             X03004 05690040
.L147    AIF   (NOT &L).L148                                     X03004 05730040
         IDAVSERR 5,&ARGNAME,L                                 @ZA34940 05770040
&IDACB01 SETB  1                                                 X03004 05900040
.L148    AIF   (NOT &P AND ('&CALLER' EQ 'GEN' OR ('&CALLER' EQ 'MOD'  C05950040
               AND (&L OR NOT (&A OR &N))))).L180                X03004 06000040
&IDACB12 SETC  '&A&N&L&P&E.000&Z4&Z4&Z4&Z4&Z4&Z4'               Y30ASHS 06050040
         MEXIT                                                          06100040
.* ERRORS                                                               06150040
.L150    IDAVSERR 7,IDACB1             LOGIC ERROR             @ZA34940 06200040
         AGO   .L190                                                    06250040
.L160    IDAVSERR 6,&ARGNAME,&ARG      OPERAND INVALID FOR     @ZA34940 06300040
.*                                     LIST FORM               @ZA34940 06350040
         AGO   .L190                                                    06400040
.L170    IDAVSERR 8,&ARGNAME,A,N       INCOMPATIBLE SUBLIST    @ZA34940 06450040
.*                                     ITEMS                   @ZA34940 06500040
         AGO   .L190                                                    06550040
.L180    IDAVSERR 10,&ARGNAME          MISSING EXIT ADDRESS    @ZA34940 06600040
.L190    ANOP                                                           06650040
&IDACB01 SETB  1                                                        06700040
         MEND                                                           06750040
