*COMDECK DMSVERS
  
      /*****************************************************************
      * 
      * SAVE MASTER AREAS.
      * 
      * SAVE THE CATNAMES OF THE AREAS IN THE MASTER VERSION FOR LATER
      * COMPARISON IN ORDER TO AVOID GENERATING ENTRIES FOR ALTERNATE 
      * VERSION AREAS WHICH ARE THE SAME AS IN THE MASTER.
      * 
      * INPUT:   AREA-CATNAME     - CATNAME TO BE SAVED 
      *          GRP-ID           - CMM GROUP-ID OF CATNAME BLOCKS
      *          MASTER-FWA       - ADDRESS OF PREVIOUS BLOCK OF AREA 
      *                             CATNAMES -- ZERO IF NONE
      *          MASTER-IDX       - INDEX INTO CATNAME SAVE-AREA FOR
      *                             THIS "AREA-CATNAME" -- IF > 5,
      *                             CREATE NEW BLOCK WITHOUT STORING
      *                             ANOTHER CATNAME 
      * 
      * OUTPUT:  MASTER-FWA       - ADDRESS OF NEW BLOCK OF AREA
      *                             CATNAMES IF ONE CREATED 
      *          MASTER-IDX       - INDEX FOR NEXT CATNAME -- ZERO IF 
      *                             NEW BLOCK CREATED THIS TIME 
  
       SAVE-MASTER-AREAS. 
  
      * IF STARTING BUFFER ANEW, CLEAR IT OUT AND SAVE LINK TO PREVIOUS 
      * BLOCK.
           IF MASTER-IDX = 1
           THEN 
             MOVE SPACES TO MASTER-AREAS
             MOVE MASTER-FWA TO MASTER-LINK 
           END-IF 
  
      * IF NOT JUST FLUSHING BUFFER TO BLOCK, STORE NEW CATNAME.
           IF MASTER-IDX < 6
           THEN 
             MOVE AREA-CATNAME TO MASTER-AREA (MASTER-IDX)
             ADD 1 TO MASTER-IDX
           END-IF 
  
      * IF BUFFER IS FULL, ALLOCATE A NEW CMM BLOCK TO MOVE IT INTO.
      * SAVE THE BLOCK ADDRESS AS LAST IN THE CHAIN.
           IF MASTER-IDX > 5
           THEN 
             MOVE 1 TO MASTER-IDX 
             ENTER "CMMALF" USING BLK-SIZE, SIZE-CODE, GRP-ID, BLK-FWA
             ENTER "C.CMMMV" USING MASTER-AREAS, BLK-FWA
             MOVE BLK-FWA TO MASTER-FWA 
           END-IF 
  
       SAVE-MASTER-AREAS-XIT. 
           EXIT.
  
  
      ******************************************************************
      * 
      * CHECK MASTER AREAS. 
      * 
      * CHECK THE GIVEN AREA CATNAME AGAINST THE LIST OF MASTER AREA
      * CATNAMES.  IF A MATCH IS FOUND, THE AREA IS "SAME AS MASTER" AND
      * SHOULD NOT HAVE AN ENTRY GENERATED FOR IT.
      * 
      * INPUT:   AREA-CATNAME     - CATNAME TO BE COMPARED
      *          FOUND-VERSION    - DEFAULT ENTRY VALUE OF "Y"
      *          MASTER-FWA       - ADDRESS OF LAST BLOCK IN CHAIN OF 
      *                             AREA CATNAMES 
      * 
      * OUTPUT:  FOUND-VERSION    - "N" IF CATNAME MATCH FOUND
  
       CHECK-MASTER-AREAS.
  
      * LOOP THROUGH ALL BLOCKS OF CATNAMES IN CHAIN STARTING AT
      * "MASTER-FWA". 
           MOVE MASTER-FWA TO BLK-FWA.
           PERFORM UNTIL BLK-FWA = ZERO 
  
      * MOVE BLOCK INTO BUFFER AREA.
             ENTER "C.CMMMV" USING BLK-FWA, MASTER-AREAS
             PERFORM VARYING MASTER-IDX FROM 1 BY 1 
               UNTIL MASTER-IDX > 5 
  
      * COMPARE GIVEN CATNAME WITH EACH ONE IN BLOCK.  IF MATCH FOUND,
      * SET FLAG AND EXIT.
               IF AREA-CATNAME = MASTER-AREA (MASTER-IDX) 
               THEN 
                 MOVE "N" TO FOUND-VERSION
                 GO TO CHECK-MASTER-AREAS-XIT 
               END-IF 
             END-PERFORM
  
      * GET ADDRESS OF NEXT BLOCK IN CHAIN. 
             MOVE MASTER-LINK TO BLK-FWA
           END-PERFORM
  
       CHECK-MASTER-AREAS-XIT.
           EXIT.
  
  
