         MACRO -- $MID -- ASSIGN HASP MESSAGE ID FOR WTO                EU002000
         $MID  &NUM                                                     EU004000
         GBLC  &MID                                                     EU006000
&MID     SETC  '$HASP&NUM'.' '                                          EU008000
.*                                                                      EU010000
.*             ADD MESSAGE ID TO THE &LBL TABLE                         EU012000
.*                                                                      EU014000
         GBLB  &LBLB               ON IF &LBL TABLE IS FULL             EU016000
         GBLC  &LBL(256)           ROOM FOR 256 $MID MACROES            EU018000
         LCLA  &N,&ALPH            INDICES                              EU020000
         LCLC  &LB                 TEXT TO ENTER INTO &LBL TBL          EU022000
         AIF   (&LBLB).OUTZ        EXIT IF TABLE FULL                   EU024000
&LB      SETC  '&NUM'              ASSUME FIRST ID OCCURRENCE           EU026000
.LBLAGN  ANOP                      RE-ENTER HERE IF NOT FIRST           EU028000
&N       SETA  0                   SET TABLE SEARCH INDEX TO 0          EU030000
.LBLGO   ANOP                      SEARCH LOOP STARTS HERE              EU032000
&N       SETA  &N+1                UP THE SEARCH INDEX                  EU034000
         AIF   (&N GT 256).OUTN    EXIT IF TABLE FULL                   EU036000
         AIF   ('&LBL(&N)' EQ '').LBLSPOT  BRANCH IF EMPTY SPOT         EU038000
         AIF   ('&LB' NE '&LBL(&N)').LBLGO  CONTINUE UNLESS EQUAL       EU040000
&ALPH    SETA  &ALPH+1             GO TO NEXT LETTER OF THE ALPH        EU042000
         AIF   (&ALPH GT 26).OUTA  IF OUT OF ALPHABET, MNOTE            EU044000
&LB      SETC  '&NUM'.'ABCDEFGHIJKLMNOPQRSTUVWXYZ'(&ALPH,1)             EU046000
         AGO   .LBLAGN             RESTART THE SEARCH                   EU048000
.LBLSPOT ANOP                      EMPTY SLOT FOUND                     EU050000
&LBL(&N) SETC  '&LB'               FILL IN THE SLOT                     EU052000
         AIF   (K'&LB GT 4).OUTK   IF TOO LONG WE CANT DO LABEL         EU054000
$MID&LB  DC    0AL4($MID&LB)       MESSAGE IDENTIFIER                   EU056000
.OUTZ    ANOP                      END OF &LBL TABLE CODE               EU058000
.*                                                                      EU060000
.*             &LBL TABLE ADDITION COMPLETE                             EU062000
.*                                                                      EU064000
         AGO   .XIT                RETURN FROM MACRO                    EU066000
.*                                                                      EU068000
.*             &LBL TABLE ERROR MESSAGES                                EU070000
.*                                                                      EU072000
.OUTN    MNOTE 0,'MORE THAN 256 OCCURRENCES OF $MID'                    EU074000
&LBLB    SETB  1                   ONE-TIME MESSAGE                     EU076000
         AGO   .OUTZ                                                    EU078000
.*                                                                      EU080000
.OUTA    MNOTE 0,'MORE THAN 27 OCCURRENCES OF MESSAGE IDENTIFIER &NUM'  EU082000
         AGO   .OUTZ                                                    EU084000
.*                                                                      EU086000
.OUTK    MNOTE 0,'CANNOT CREATE SYMBOL FOR $MID&LB'                     EU088000
         AGO   .OUTZ                                                    EU090000
.*                                                                      EU092000
.*             END OF &LBL TABLE MESSAGES                               EU094000
.*                                                                      EU096000
.XIT     MEND                                                           EU098000
