z/OS Batch Runtime Planning and User's Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Using the bcdcommit() and bcdrollback() helpers from COBOL

z/OS Batch Runtime Planning and User's Guide
SA23-1376-00

The bcdcommit() and bcdrollback() helpers can be used from a COBOL application, although there is not as much advantage as when called from PL/I. Since COBOL supports the “invoke” statement, the batch container commit and rollback routines can be called directly with this verb. However, this does a serve again as a simple model for building any COBOL calling into the Java™ environment -- including source, compile, and bind options.

Figure 1 shows a COBOL application calling the bcdcommit() and bcdrollback() helpers.

Figure 1. Sample COBOL Calling bcdcommit() and bcdrollback() Helpers
       PROGRAM-ID. 'COBHELP' RECURSIVE.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.

       DATA DIVISION.
       FILE SECTION.

       WORKING-STORAGE SECTION.
       77  RC    PIC 9(4) USAGE IS BINARY.

       LINKAGE SECTION.
       PROCEDURE DIVISION.
      
       PROGRAM-BEGIN.

           DISPLAY 'Starting COBHELP ...'.

           Display 'Calling bcdcommit ...';
           Call 'bcdcommit' returning rc.
           Display 'bcdcommit rc=' rc.

           Display 'Calling bcdrollback ...';
           Call 'bcdrollback' returning rc.
           Display 'bcdrollback rc=' rc.

       PROGRAM-END.
             GOBACK.

Figure 2 is sample JCL to compile the COBOL program in Figure 1.

Figure 2. Sample COBOL Compile and Bind JCL for bcdcommit() and bcdrollback() Helpers
//jobname JOB  (1)
//*
//JCLLIB   JCLLIB ORDER=COB.COBOL42.SIGYPROC
//*
//STEP1    EXEC  IGYWCL,REGION=0M,
//       LNGPRFX='COB.COBOL42',
//       PARM.COBOL=('OPTFILE'),
//       PARM.LKED=('OPTIONS=OPTS')
//COBOL.SYSOPTF  DD  *
 MAP,
 NOOPT,
 SZ(MAX),
 DLL,
 NODYNAM,
 THREAD,
 PGMNAME(LONGMIXED),
 NOTERM,
 DATA(31),
 LIB,
 LIST,
 XREF,
 SOURCE
//COBOL.SYSIN  DD  DSN=IBMUSER.BATCH.SOURCE(COBHELP),DISP=SHR
//*
//LKED.SYSLMOD DD  DSN=IBMUSER.BATCH.LOAD,DISP=SHR
//LKED.OPTS    DD  *
MAP
RENT
DYNAM=DLL
CASE=MIXED
LIST=ALL
XREF
//LKED.SYSIN   DD  *
 INCLUDE '/usr/lpp/bcp/lib/libbcduser.x'
 NAME COBHELP(R)

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014