*DECK DMLBEG
      PROC DMLBEG(BEGID,ERRRTN);
      BEGIN 
 #
* *   DMLBEG - BEGIN TRANSACTION                 PAGE  1
* *            INTERFACE ROUTINE
* *   H.S.WOO                                    DATE  07/30/80 
* * 
* DC  PURPOSE 
* 
*     ISSUE A BEGIN TRANSACTION REQUEST TO CDCS.
* 
* DC  ENTRY CONDITION 
* 
*  C  PARAMETERS
* 
*     BEGID -- BEGIN TRANSACTION IDENTIFIER SUPPLIED BY 
*           THE USER. 
* 
*     ERRRTRN -- ERROR BRANCH 
* 
*  C  ASSUMPTIONS 
* 
*     COMMON BLOCK DB0000 HAS BEEN CREATED IN THE APPLICATION 
*     PROGRAM.
* 
* DC  EXIT CONDITIONS 
* 
*     UPON RETURN FROM CDCS, ERROR STATUS IS STORED IN
*     DBSTAT.  CONTROL IS RETURNED TO THE APPLICATION PROGRAM.
*     ON ERROR, EXIT IS MADE TO THE LABEL SPECIFIED IN THE
*     ERR PARAMETER(OPTIONAL).
* 
* DC  CALLING ROUTINES
* 
*     DMLBEG IS CALLED FROM THE APPLICATION PROGRAM AS
*     A RESULT OF A DML BEGINTRAN CALL STATEMENT. 
* 
* DC  CALLED ROUTINES 
* 
*     DB$BEG -- CDCS BEGIN OBJECT-TIME ROUTINE. 
* 
*     DMLRTRN -- RETURN ROUTINE -- SETS REGISTER TO 
*             RETURN PARAMETER. 
* 
* DC  NON-LOCAL VARIABLES MODIFIED
* 
*     DBSTAT IN COMMON BLOCK DB0000 IS MODIFIED.
* 
* DC  DESCRIPTION 
* 
*     A CALL TO DMLBEG IS GENERATED BY THE PREPROCESSOR AS A
*     RESULT OF A DML BEGINTRAN STATEMENT.  DMLBEG ISSUES THE 
*     BEGIN REQUEST TO CDCS.  IT RETURNS THE ERROR STATUS AND 
*     CONTROL 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 S    #
#                                                                      #
        ITEM BEGID    C(10);       # BEGIN TRANSACTION IDENTIFIER      #
        ITEM ERRRTN   I;           # (FTN5) ERROR PARAMETER(OPTIONAL)  #
                                   # DO NOT REFERENCE, MAY BE ABSENT   #
#                                                                      #
#     X R E F    D E C L A R A T I O N S                               #
#                                                                      #
        XREF PROC DMLRTRN;         # SET RETURN REGISTER ROUTINE       #
        XREF PROC DB$BEG;          # CDCS BEGINTRAN INTERFACE 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$BEG(BEGID,RTNPARM);     # CALL CDCS BEGINTRAN ROUTINE       #
          DBSTAT = RTNPARM;        # STORE ERROR INFORMATION IN DBSTAT #
        IF RTNPARM NQ 0            # CDCS/CRM ERROR                    #
        THEN
          BEGIN 
          RTNPARM = 1;             # SET RTNPARM TO 1                  #
          END 
        DMLRTRN(RTNPARM);          # SET RETURN REGISTER               #
        RETURN; 
      END 
      TERM
