         MACRO                                                          00100000
&NAME    GROUP &BUFOUT=2,&BUFMAX=2,&MH=,&DCB=,&BUFSIZE=,&INVLIST=,     *01200022
               &TRANS=EBCD,&RESERVE=,&PCI=(,A),&OPACING=,              *01800000
               &PACK=NO                                        @Y17XAFF 01850000
.*A-000000-999999                                              @X31X8F0 01900008
.*C018000,042000,063000,234000,324000-326600,684000-71400      @Y17XAFF 01920000
.*C744000,804000-805000,594000                                 @Y17XAFF 01940000
.*A018000,063000,234000,246000,744000,594000                   @Y17XAFF 01960000
.*A238200,246000,732480                                        @OZ40805 01960182
         GBLA  &IEDQAR(64)                                              02400022
         GBLA  &IEDQRL                                                  03000022
         GBLA  &KEYLN                                          @OZ36390 03050082
         GBLB  &IEDQNO,&IEDQZA(64),&IEDQRN(8)                           03600022
         GBLB  &IEDQCOD(8)                                     @Y17XAFF 04200000
         GBLB  &IEDQZZ1(8)                                     @OX21221 04210082
         GBLC  &IEDQSV(8)                                               04800022
         GBLC  &IEDQGN                                                  05400022
         LCLA  &B,&C,&D,&S,&L,&TRNDX                                    06000022
         LCLA  &M,&N,&OPACE                                    @Y17XAFF 06300000
         LCLB  &P                                              @Y17XAFF 06400000
         LCLC  &NMPR,&TRNM                                              06600022
.*C864600,868200                                                 Y05330 06600105
.*D078000                                                        Y05330 06600205
.*C018000,096000,216000,732000,750000,804000                     X03039 06600308
.*A060000,324000                                                 X03039 06600408
.*D864000-868200                                                 X03039 06600508
.*C234000,258000,261000,282000,324800,325800                   @Z30X8FG 06600608
.*C654000                                                      @SA05843 06800600
.*A042000                                                      @OX21221 06800782
.*C864500,865000                                               @OX21221 06800882
.*A030000                                                      @OZ36390 06800982
.*C300000                                                      @OZ36390 06801082
.*C236400                                                      @OZ37416 06801182
         SPACE 1                                                        07200022
         AIF   (&IEDQRN(1)).A00                                         08400022
         MNOTE 12,'***  IED914  GROUP MUST FOLLOW INTRO MACRO WITH FEAT*09000022
               URE=(,,,,MIXD3705/ONLY3705) OPERAND'              X03039 09600000
&IEDQNO  SETB  1                                                        10200022
.A00     ANOP                                                           10800022
         AIF   (&IEDQZA(55)).A01   CHECK TO SEE IF TTABLE CODED         11400022
         AIF   ('&IEDQZA(54)' EQ '&IEDQZA(55)' AND '&IEDQZA(53)'       *12000022
               EQ '&IEDQZA(55)').A02                                    12600022
         MNOTE 12,'***  IHB315  SEQUENCE ERROR-MUST PRECEDE LAST ENTRY *13200022
               SPEC. BY TTABLE MACRO'                                   13800022
         AGO   .A03                                                     14400022
.A02     MNOTE 12,'***  IHB070  SEQUENCE ERROR-MUST FOLLOW TTABLE MACRO*15000022
               '                                                        15600022
.A03     ANOP                                                           16200022
&IEDQNO  SETB  1                                                        16800022
.A01     AIF   ('&NAME' NE '').A04                                      17400022
         MNOTE 12,'***  IHB076  MACRO NAME FIELD BLANK-NAME REQUIRED'   18000022
&IEDQNO  SETB  1                                                        18600022
.A04     AIF   (K'&NAME LE &IEDQAR(1)-3).A05                            19200022
&S       SETA  &IEDQAR(1)-3                                             19800022
         MNOTE 4,'***  IHB302  NAME FIELD LONG-TRUNCATED TO &S CHARACTE*20400022
               RS'                                                      21000022
.A05     AIF   ('&MH' NE '').A06 MH REQUIRED                     X03039 21600008
         MNOTE 12,'***  IHB004  REQUIRED OPERAND(S) NOT SPECIFIED'      22200022
&IEDQNO  SETB  1                                                        22800022
.*                                                             @Y17XAFF 23400000
.*       CHECK OUT OPACING OPERAND                             @Y17XAFF 23420000
.*                                                             @Y17XAFF 23440000
.A06     AIF   ('&OPACING' EQ '').A069  IS OPCING OMITTED      @Y17XAFF 23460000
         AIF   (N'&OPACING EQ 1).A062   ARE THERE 1 PARAMETERS @Y17XAFF 23480000
.A061    MNOTE 4,'*** IED999 INVALID OPACING OPERAND, WILL USE BUFOUT  *23500000
               AND BUFMAX.'                                    @Y17XAFF 23520000
         AGO   .A069                                           @Y17XAFF 23540000
.*       ARE OPERANDS NUMERIC                                  @Y17XAFF 23560000
.A062    AIF   (T'&OPACING(1) NE 'N').A061                     @Y17XAFF 23570000
.*                                                             @Y17XAFF 23600000
.*       CHECK FOR VALID RANGE                                 @Y17XAFF 23620000
         AIF   (&OPACING(1) LT 1 OR &OPACING(1) GT 15).A061    @OZ37416 23640082
.*       SET VALUES                                            @Y17XAFF 23720000
&OPACE   SETA  &OPACING(1)                                     @Y17XAFF 23740000
         AGO   .A07A                    BRANCH AROUND BUFMAX   @Y17XAFF 23780000
.*                                           AND BUFOUT        @Y17XAFF 23800000
.A069    AIF   (&BUFOUT LT 1 OR &BUFOUT GT 15).A071            @Y17XAFF 23820000
         AIF   ('&PCI' EQ '(,N)').SKIPMAX    BUFMAX NOT NEEDED @OZ40805 23870082
         AIF   (&BUFMAX LT 2 OR &BUFMAX GT 15).A07                      24000022
         AIF   (&BUFMAX LT &BUFOUT).A07                                 24600022
.SKIPMAX ANOP                                                  @OZ40805 24650082
.*       SET VALUES                                            @Y17XAFF 24700000
&M       SETA  &BUFOUT                                         @Y17XAFF 24800000
&N       SETA  &BUFMAX                                         @Y17XAFF 24900000
         AGO   .A07A                                                    25200022
.A07     MNOTE 12,'IHB002 INVALID BUFMAX OPERAND SPECIFIED - &BUFMAX'   25800008
.*                                                             @Z30X8FG 25900008
         AGO   .A072                                           @Z30X8FG 26100008
.A071    MNOTE 12,'IHB002 INVALID BUFOUT OPERAND SPECIFIED - &BUFOUT'   26170008
.*                                                             @Z30X8FG 26240008
.A072    ANOP                                                  @Z30X8FG 26310008
&IEDQNO  SETB  1                                                        26400022
.A07A    AIF   ('&BUFSIZE' EQ '').A08                                   27000022
         AIF   (&BUFSIZE GT 35 AND &BUFSIZE LT 65536).A09               27600022
         MNOTE 12,'IHB002 INVALID BUFSIZE OPERAND SPECIFIED - &BUFSIZE' 28200008
.*                                                             @Z30X8FG 28500008
&IEDQNO  SETB  1                                                        28800022
.A08     ANOP                                                           29400022
&B       SETA  &KEYLN                   BFSZ DEFAULT TO KEYLEN @OZ36390 30000082
         AGO   .A10                                                     30600022
.A09     ANOP                                                           31200022
&B       SETA  &BUFSIZE                                                 31800022
.*                                                             @Y17XAFF 32400000
.*       CHECK OUT PACK OPERAND                                @Y17XAFF 32420000
.*                                                             @Y17XAFF 32440000
.A10     AIF   ('&PACK' EQ 'NO').A106                          @Y17XAFF 32460000
         AIF   ('&PACK' EQ 'YES').A105                         @Y17XAFF 32480000
         MNOTE 4,'*** IED999 INVALID PACK OPERAND, WILL ASSUME PACK=NO *32500000
               '                                               @Y17XAFF 32520000
         AGO   .A106                                           @Y17XAFF 32540000
.A105    ANOP                                                  @Y17XAFF 32560000
&P       SETB  1                        SET CTL BLOCK VALUE    @Y17XAFF 32580000
.A106    ANOP                                                  @Y17XAFF 32600000
&NMPR    SETC  'IEDQ'                                                   32700022
&TRNDX   SETA  25                                                       33000022
         AIF   ('&TRANS' EQ 'EBCD').SETTR                               51600022
         AIF   ('&TRANS' NE 'EBCF').A15                                 51700022
&NMPR    SETC  'IEDN'                                                   51800022
         AGO   .SETTR                                                   51900022
.A15     ANOP                                                           52000022
&TRNDX   SETA  0                                                        55800022
.SETTR   ANOP                                                           57000022
&TRNM    SETC  '&TRNDX'                                                 57600022
         AIF   (&IEDQNO).EXIT                                           58200022
&IEDQRL  SETA  1                                                        58800022
&IEDQCOD(1) SETB  1                     INDICATE GROUP IS CODED@Y17XAFF 59400000
&IEDQCOD(2) SETB  0                     RESET LINE AND PUNT    @Y17XAFF 59600000
&IEDQCOD(3) SETB  0                          CODED INDICATORS  @Y17XAFF 59800000
&IEDQCOD(6) SETB  0                                            @Y17XAFF 59850000
&IEDQGN  SETC  '&NAME'                                                  60000022
&IEDQAR(4) SETA &IEDQAR(4)+1                                            60600022
         AIF   (&IEDQAR(4) LE 9999).SP                                  61200022
&IEDQAR(4) SETA 0                                                       61800022
&IEDQAR(7) SETA &IEDQAR(7)+1                                            62400022
.SP      SPACE 1                                                        63000022
IEDQTNT  CSECT                                                          63600022
&L       SETA  &IEDQAR(1)-3                                             64200022
         DC    CL&L'&NAME'  .   ENTRY NAME                              64800022
         DC    AL3(&NAME.+21)                                  @SA05843 65400000
         SPACE 1                                                        66000022
&IEDQSV(4)  CSECT                                                       66600022
&IEDQSV(1) SETC '&NAME'                                                 67200022
&C       SETA  N'&INVLIST                                               67800022
         ORG   *-17 .                   ELIMINATE UNUSED AREA  @Y17XAFF 68400000
&NAME    DS    0F .                     ORIGIN ON WORD BOUNDARY@Y17XAFF 69000000
         ORG   *+17 .                   TO ORIGIN GENERATION   @Y17XAFF 69600000
         DC    X'00' .                  GROUP TYPE             @Y17XAFF 70200000
         DC    AL2(0) .                 GRP SUBSTRUCT POINTER  @Y17XAFF 70800000
         DC    AL1(&M+16) .             BUFOUT OR OPACING(1)   @PI03727 71400000
         DC    AL3(&MH) ADDRESS OF MH                                   72000022
         DC    AL1(0) NUMBER OF LINES IN GROUP                          72600022
         AIF   ('&PCI(2)' NE 'N').CHKA                           X03039 73200008
         AIF   (&OPACE EQ 0).PCINOK     IF PCI EQ N AND OPACING EQ 0    73208000
.*                                       MUST FORCE PCI=A      @Y17XAFF 73216000
         MNOTE 8,'*** IED995 PCI=N AND OPACING GT 0 ARE MUTUALLY EXCLUS*73224000
               IVE, HAVE DEFAULTED TO PCI=A.'                  @Y17XAFF 73232000
         AGO   .PCIA                                           @Y17XAFF 73240000
.PCINOK  ANOP                                                  @Y17XAFF 73248000
         AIF   ('&BUFMAX' EQ '2').CONT                         @OZ40805 73250082
         MNOTE 4,'BUFMAX NOT REQUIRED WITH PCI=(,N)- BUFMAX IGNORED AS *73252082
               SPECIFIED'                                      @OZ40805 73254082
.CONT    ANOP                                                  @OZ40805 73256082
         DC    XL1'04' .                PCI=NO                   X03039 73260008
         AGO   .DSORG                                            X03039 73320008
.CHKA    ANOP                                                    X03039 73380008
         AIF   ('&PCI(2)' EQ 'A').PCIA                           X03039 73440008
         MNOTE 4,'IHB303 INVALID OPERAND PCI, (,A) ASSUMED'      X03039 73500008
.PCIA    ANOP                                                    X03039 73560008
         DC    XL1'10' .                PCI=ADD                  X03039 73620008
.DSORG   ANOP                                                    X03039 73680008
         DC    BL2'1000000000000000' DSORG                              73800022
         DC    AL1(&N) .                BUFMAX OR OPACING(2)   @Y17XAFF 74400000
         DC    B'&P.0000000' .          FLAGS                  @Y17XAFF 74800000
         DC    AL1(&OPACE) .            OPACING VALUE          @Y17XAFF 75200000
         DC    AL1(0) .                 RESERVED               @Y17XAFF 75400000
         DC    BL1'0' FLAGS                                             75600022
         AIF   (&TRNDX EQ 0).A10B                                       76200022
         DC    VL3(&NMPR&TRNM) ADDRESS OF TRANS TABLE                   76300022
         AGO   .A10A                                                    76400022
.A10B    DC    AL3(&TRANS) ADDRESS OF TRANS TABLE                       76500022
.A10A    ANOP                                                           76600022
         DC    A(0) RESERVED                                            76800022
         DC    CL8'&NAME' GROUP NAME                                    77100022
         DC    XL1'10' OFLGS                                   @PI03723 77200000
         DC    VL3(IEDIAU) ADDRESS OF SCT                        X03039 78000008
         DC    AL1(&C) ILCT                                             78600022
         DC    AL1(0) RESERVED                                          79200022
         DC    AL2(&B) BUFSIZE                                          79800022
         DC    AL1(0) .                 RESERVED               @Y17XAFF 80400000
         DC    AL1(0) .                 RESERVED               @Y17XAFF 80500000
         DC    AL1(0)                   RESERVE                  X03039 80600008
         DC    AL1(0)                   RESERVE                  X03039 80700008
&D       SETA  1                                                        81000022
.A12     AIF   ('&INVLIST(&D)' NE '').A13                               81600022
         DC    A(0) ADDRESS OF INVLIST                                  82200022
         AIF   (&C EQ 0).A11                                            82800022
         AGO   .A14                                                     83400022
.A13     DC    A(&INVLIST(&D)) ADDRESS OF INVLIST                       84000022
.A14     AIF   (&D EQ &C).A11                                           84600022
&D       SETA  &D+1                                                     85200022
         AGO   .A12                                                     85800022
.A11     SPACE 2                                                        86400022
         AIF   (&C EQ 0 OR &IEDQZZ1(4)).EXIT1                  @OX21221 86450082
&IEDQZZ1(4) SETB 1                                             @OX21221 86480082
IEDNSAVT CSECT .                                               @YM05633 86550000
         ORG   IEDID .                                         @YM05633 86600000
         DC    V(IEDNID) .             BSC ID VERIFICATION RTN @YM05633 86650000
         ORG                                                            86700000
.EXIT1   ANOP                                                  @YM05633 86750000
IEDQTRMC CSECT                                                   Y05330 86850005
         SPACE 2                                                        86880022
.EXIT    ANOP                                                           87000022
         MEND                                                           87600022
