*DECK DMLGTID 
      PROC DMLGTID(RSTID,ERRRTN); 
        BEGIN 
 #
* *   DMLGTID -- GET RESTART IDENTIFIER ROUTINE  PAGE  1
* *   H.S.WOO                                    DATE  07/30/80 
* 
* DC  PURPOSE 
* 
*     ISSUE A GET IDENTIFIER REQUEST TO CDCS. 
* 
* DC  ENTRY CONDITIONS
* 
*  C  PARAMETERS
* 
*     RSTID -- RESTART IDENTIFIER ASSIGNED BY CDCS(OUTPUT). 
* 
*     ERRRTN -- ERROR PARAMETER.
* 
*  C  ASSUMPTIONS 
* 
*     COMMON BLOCK DB0000 HAS BEEN CREATED. 
* 
* DC  EXIT CONDITIONS 
* 
*     UPON RETURN FROM CDCS, CONTROL IS RETURNED TO 
*     THE APPLICATION PROGRAM.
* 
* DC  CALLING ROUTINES
* 
*     DMLGTID IS CALLED FROM THE APPLICATION PROGRAM
*     AS THE RESULT OF A DML ASSIGNID STATEMENT.
* 
* DC  CALLED ROUTINES 
* 
*     DB$GTID -- CDCS RESTART OBJECT-TIME ROUTINE.
* 
*     DMLRTRN  --  RETURN ROUTINE -- SETS REGISTER TO 
*              RETURN PARAMETER.
* 
* DC  NON-LOCAL VARIABLES MODIFIED
* 
*     VARIABLES IN DB0000 THAT HAVE BEEN MODIFIED ARE:  
*     DBSTAT AND DBREALM. 
* 
* DC  DESCRIPTION 
* 
*     A CALL TO DMLGTID IS GENERATED BY THE PREPROCESSOR AS A 
*     RESULT OF A DML ASSIGNID STATEMENT.  DMLGTID ISSUES THE 
*     REQUEST TO A CDCS.  RETURNS THE RESTART IDENTIFIER
*     TO THE APPLICATION PROGRAM. 
 #
        CONTROL EJECT;
#**********************************************************************#
#                                                                      #
#     F O R M A L    P A R A M E T E R    D E C L A R A T I O N        #
#                                                                      #
        ITEM RSTID   C(10);  # RESTART IDENTIFIER(OUTPUT)              #
        ITEM ERRRTN  I;      # (FTN5 ONLY)ERROR RETURN LABEL(OPTIONAL) #
                             # DO NOT REFERENCE, MAY NOT BE PRESENT    #
#                                                                      #
#     X R E F    D E C L A R A T I O N S                               #
#                                                                      #
        XREF PROC DB$GTID;   # CDCS TRANSACTION ID INTERFACE ROUTINE   #
        XREF PROC DMLRTRN;   # SET RETURN REGISTER ROUTINE             #
#                                                                      #
#    C O M M O N    B L O C K    D E C L A R A T I O N S               #
#     F O R    F O R T R A N                                           #
#                                                                      #
        COMMON DB0000;
*CALL DB0DCLS 
#                                                                      #
#**********************************************************************#
                                   #---L O C A L    I T E M S----------#
        ITEM RTNPARM I;            # RETURN PARAMETER                  #
        CONTROL EJECT;
        CONTROL DISJOINT; 
#                                                                      #
#     E X E C U T A B L E    C O D E    B E G I N S    H E R E         #
#                                                                      #
        DB$GTID(RSTID,RTNPARM);    # CALL CDCS GET TRANSACTION ID      #
                                   # INTERFACE ROUTINE                 #
          DBSTAT = RTNPARM;        # STORE ERROR STATUS IN DBSTAT      #
        IF RTNPARM NQ 0            # CDCS/CRM ERROR                    #
        THEN
          BEGIN 
          RTNPARM = 1;             # SET RTNPARM FLAG                  #
          END 
        DMLRTRN(RTNPARM);          # SET RETURN REGISTER               #
        RETURN; 
      END 
      TERM
