*COMDECK DMSADD0
      /*****************************************************************
      ******************************************************************
      * 
  
  
      ******************************************************************
      * 
      * ADD-AREA-NAME.
      * 
      * ADD-AREA-NAME READS THE FIRST RECORD OF THE GIVEN AREA, 
      * DIAGNOSING IF ENTRY IS MISSING.  THEN IT READS THE NAMES/ALIAS
      * CATEGORY AND OUTPUTS THE AREA'S DMSNAME.  ALL COMMENTS IN THE 
      * NAMES CATEGORY ARE ALSO OUTPUT. 
      * 
      * INPUT:   AREA-CATNAME     - CATNAME OF REQUESTED AREA 
      *          AREA-ALIAS       - ALIAS NUMBER OF AREA -- RESET TO
      *                             ZERO UPON RETURN
      * 
      * OUTPUT:  AREA-DNAME       - SAVE AREA'S DMSNAME FOR FUTURE USE
      *          AREA-DNAME-LEN   - LENGTH OF AREA'S DMSNAME
      *          FOUND-ENTITY     - "N" IF CATALOGUE ENTRY EMPTY OR 
      *                             FOR ENTITY OTHER THAN AREA
  
       ADD-AREA-NAME. 
           PERFORM CLEAR-DATA-ENTRY THRU CLEAR-DATA-ENTRY-XIT.
           MOVE "N" TO FOUND-ENTITY.
  
      * READ FIRST RECORD OF AREA ENTRY INTO "DATA-RECORD". 
           MOVE AREA-CATNAME TO DATA-ENTRY-NAME.
           PERFORM MOVE-CAT-LINE THRU MOVE-CAT-LINE-XIT.
  
      * IF AREA ENTRY MISSING, DIAGNOSE AND RETURN. 
           IF DATA-RETURN-CODE NOT = ZERO 
           THEN 
             MOVE IDX-500 TO MSG-IDX
             PERFORM ERROR-TYPE1 THRU ERROR-TYPE1-XIT 
             GO TO END-ADD-AREA-NAME
           END-IF 
  
      * IF ENTRY NOT FOR AREA ENTITY, DIAGNOSE AND RETURN.
           IF DATA-HDR-ENT-ID NOT = ENT-ID-AREA 
           THEN 
             MOVE IDX-535 TO MSG-IDX
             PERFORM ERROR-TYPE1 THRU ERROR-TYPE1-XIT 
             GO TO END-ADD-AREA-NAME
           END-IF 
  
           MOVE "Y" TO FOUND-ENTITY.
  
      * IF AREA IS KNOWN BY AN ALIAS, MOVE ITS ALIAS LINE INTO
      * "CAT-WORK". 
           IF AREA-ALIAS NOT = ZERO 
             AND NOT = SPACES 
           THEN 
             MOVE CAT-NO-ALIAS TO DATA-ENTRY-CAT
             MOVE AREA-ALIAS TO DATA-ENTRY-LINE 
             PERFORM MOVE-CAT-LINE THRU MOVE-CAT-LINE-XIT 
             MOVE ZERO TO DATA-ENTRY-LINE 
  
             IF DATA-RETURN-CODE NOT = ZERO 
               OR CAT-COMMENT = "*" 
             THEN 
               MOVE IDX-720 TO MSG-IDX
               MOVE "AREA" TO MSG-NAME
               PERFORM ERROR-TYPE2 THRU ERROR-TYPE2-XIT 
               GO TO END-ADD-AREA-NAME
             END-IF 
  
      * USE THE ALIAS NAME.  IF NONE, ASSUME THE DMSNAME. 
             IF ALY-A-DMS NOT = SPACES
             THEN 
               MOVE ALY-A-DMS (1 : 30) TO OUT-FIELD 
               GO TO OUT-AREA-NAME
             END-IF 
           END-IF 
  
      * IF AREA NOT KNOWN BY AN ALIAS, MOVE ITS NAMES CATEGORY INTO 
      * "CAT-WORK". 
           MOVE CAT-NO-NAMES TO DATA-ENTRY-CAT
           PERFORM MOVE-CAT-LINE THRU MOVE-CAT-LINE-XIT 
           PERFORM CHECK-COMMENTS THRU CHECK-COMMENTS-XIT 
  
      * IF NO DMSNAME GIVEN, ASSUME THE CATNAME.
           IF DATA-RETURN-CODE NOT = ZERO 
             OR NAME-A-DMS = SPACES 
           THEN 
             MOVE AREA-CATNAME (1 : 30) TO OUT-FIELD
           ELSE 
             MOVE NAME-A-DMS (1 : 30) TO OUT-FIELD
           END-IF 
  
      * OUTPUT REMAINING COMMENTS IN THIS CATEGORY IF ANY.
           PERFORM CHECK-COMMENTS THRU CHECK-COMMENTS-XIT 
  
       OUT-AREA-NAME. 
  
      * FIND LENGTH OF AREA-NAME AND MOVE AREA-NAME TO STATEMENT. 
           PERFORM FIND-LENGTH THRU FIND-LENGTH-XIT.
           PERFORM ADD-TO-STMT THRU STMT-XIT. 
  
      * SAVE AREA-NAME AND ITS LENGTH FOR FUTURE USE. 
           MOVE OUT-FIELD TO AREA-DNAME.
           MOVE OUT-LEN TO AREA-DNAME-LEN.
  
       END-ADD-AREA-NAME. 
           MOVE SPACES TO AREA-ALIAS. 
  
       ADD-AREA-NAME-XIT. 
           EXIT.
