*DECK SM5MERG 
          PROC SM5MERG(ARRY); 
#**       SM5MERG -  SET RAW PARAMETER OF STATARRAY                    #
#                                                                      #
#     CALLING SEQUENCE-                                                #
#         CALL SM5MERG(ARRY)                                           #
#                                                                      #
#     GIVEN-                                                           #
#         ARRY = ADDRESS OF ARRAY FOR VARIOUS STATISTICS AND           #
#                RESULTS OF THE MERGE.                                 #
#                                                                      #
#     DOES-                                                            #
#         IF CALLED IN WRONG ORDER,                                    #
#             ISSUE A DIAGNOSTIC, AND                                  #
#             RETURN.                                                  #
#         SAVE RAW PARAMETER OF TYPE "STATARRAY".                      #
  
  
          BEGIN 
          ARRAY ARRY [0:0]; 
              ITEM ARRY$DUMMY I(0, 0,60); 
  
          ITEM I;        # SCRATCH #
  
          XREF
              BEGIN 
              PROC  S$ERROR;           # HANDLE A USER ERROR           #
              FUNC  S$INSEQ  B;        # TRUE IFF CALL IN SEQUENCE     #
              ITEM S$LOCST; 
              ITEM S$STVAR; 
              ITEM S$JCRV;
              ITEM  S$SMFLG  I;        # FLAG SORT OR MERGE            #
              PROC  S$SVREL;  # ENSURE LOADING OF S$SVREL # 
              END 
  
  
*CALL A 
  
*CALL E$
  
*CALL RP$ 
  
*CALL SQ$ 
  
CONTROL DISJOINT; 
  
CONTROL INERT;
  
CONTROL EJECT ; 
  
  
#     IF CALLED IN THE WRONG ORDER.                                    #
#         ISSUE A DIAGNOSTIC, AND                                      #
#         RETURN.                                                      #
  
          IF NOT S$INSEQ(SQ$"SM5MERG")  THEN
              BEGIN 
              S$ERROR(E$110);          # CALL OUT OF SEQUENCE          #
#***#         RETURN; 
              END 
  
#     SAVE ADDRESS OF STATARRAY                                        #
  
          S$LOCST = LOC(ARRY);
  
  
#      ZERO OUT STATUS VARIABLE LOCATIONS                              #
  
          S$STVAR = 0;
          S$JCRV = 0; 
          S$SMFLG = 2;   # THIS IS A MERGE RUN                         #
          IF S$SMFLG EQ 0 THEN S$SVREL;  # DUMMY CALL FORCES LOAD # 
  
  
          END # SM5MERG # 
          TERM
