Generate a COBOL OUTMOD Routine - FastExport

Teradata® FastExport Reference

Product
FastExport
Release Number
16.20
Published
September 2020
Language
English (United States)
Last Update
2020-09-11
dita:mapPath
lki1527114222329.ditamap
dita:ditavalPath
obe1474387269547.ditaval
dita:id
B035-2410
lifecycle
previous
Product Category
Teradata Tools and Utilities

The following COBOL example is in <dbcpfx>.SAMPLIB (CHKTRANB) on the release tape.

The procedure executes the COBUCL exec that compiles the input source using program product IKFCBL00 and then link edits the object module into the USER loadlib as member Chktran.

//USERJOBUSER   JOB (20750000),'USERNAME',MSGCLASS=A,NOTIFY=USER,
//             CLASS=B,MSGLEVEL=(1,1),REGION=5120K
//COBCOMPL EXEC COBUCL
//COB.SYSIN DD *
   IDENTIFICATION DIVISION.
   PROGRAM-ID. CHKTRAN.
   AUTHOR. USER.
   INSTALLATION. TERADATA.
   DATE-WRITTEN. 12 AUGUST 1992
   DATE_COMPLIED.
   SECURITY. OPEN.
   REMARKS.
THIS PROCEDURE IS INVOKED BY THE TERADATA FASTEXPORT
UTILITY TO PROCESS THE RESPONSE DATA RETURNED FROM
THE SAMPLE SELECT.  THE PROCEDURE EXAMINES EACH
RESPONSE RECORD TO DETERMINE IF THE RECORD SHOULD BE
WRITTEN TO AN ERROR DATA SET AND THEN EITHER DROPPED
OR WRITTEN TO THE STANDARD DATA SET.  ONE ERROR DATA
SET CONTAINS RECORDS WITH A NULL REGION CODE.  THE
OTHER ERROR DATA SET CONTAINS RECORDS WITH A TOTAL
SALES VALUE OF LESS THAN $100.  THESE LATTER RECORDS
ARE NOT WRITTEN TO THE STANDARD DATA SET.
   ENVIRONMENT DIVISION.
   CONFIGURATION SECTION.
   SOURCE-COMPUTER. IBM-370.
   OBJECT-COMPUTER. IBM-370.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
      SELECT SALES-DROPPED-FILE ASSIGN TO FILE1OUT.
      SELECT BAD-REGN-SALES-FILE ASSIGN TO FILE2OUT.
   DATA DIVISION.
   FILE SECTION.
   FD SALES-DROPPED-FILE
      BLOCK CONTAINS 160 RECORDS
      LABEL RECORDS STANDARD.
   01 DROPPED-TRANLOG.
      02 INDICATORS     PIC 9.
      02 REGN        PIC XXX.
      02 PRODUCT     PIC X(8).
      02 QTY         PIC S9(8) COMP.
      02 PRICE       PIC S9(8) COMP.
   FD BAD-REGN-SALES-FILE
      BLOCK CONTAINS 160 RECORDS
      LABEL RECORDS STANDARD.
   01 BAD-REGN-TRANLOG.
      02 INDICATORS     PIC 9.
      02 REGN        PIC XXX.
      02 PRODUCT     PIC X(8).
      02 QTY         PIC S9(8) COMP.
      02 PRICE       PIC S9(8) COMP.
   LINKAGE SECTION.
   01 ENTRY-TYPE     PIC S9(5) COMP.
   01 STATEMENT-NOPIC S9(5) COMP.
   01 RECORD-SIZE PIC S9(5) COMP.
   01 TRANLOG.
      05 INDICATORS  PIC 9.
      05 REGN     PIC XXX.
      05 PRODUCT  PIC X(8).
      05 QTY      PIC S9(8) COMP.
      05 PRICE    PIC S9(8) COMP.
   01 OUTPUT-LENGTHPIC S9(5) COMP.
   01 OUTPUT-AREA PIC XXXX.
   PROCEDURE DIVISION USING
      ENTRY-TYPE, STATEMENT-NO, RECORD-SIZE, TRANLOG,
      OUTPUT-LENGTH, OUTPUT-AREA.
   BEGIN.
   MAIN.
      IF ENTRY-TYPE = 1 THEN
         OPEN OUTPUT SALES-DROPPED-FILE
         OPEN OUTPUT BAD-REGN-SALES-FILE
         GOBACK.
      IF ENTRY-TYPE = 2 THEN
         CLOSE SALES-DROPPED-FILE
         CLOSE BAD-REGN-SALES-FILE
         GOBACK.
      IF ENTRY-TYPE = 3 THEN
         PERFORM TYPE-3
         GOBACK.
      IF ENTRY-TYPE = 4 THEN
         GOBACK.
      IF ENTRY-TYPE = 5 THEN
         CLOSE SALES-DROPPED-FILE
         OPEN OUTPUT SALES-DROPPED-FILE
         CLOSE BAD-REGN-SALES-FILE
         OPEN OUTPUT BAD-REGN-SALES-FILE
         GOBACK.
      IF ENTRY-TYPE = 6 THEN
         OPEN OUTPUT SALES-DROPPED-FILE
         OPEN OUTPUT BAD-REGN-SALES-FILE
         GOBACK.
      DISPLAY “Invalid entry code = ” ENTRY-TYPE.
      GOBACK.
   TYPE-3.
      IF QTY IN TRANLOG * PRICE IN TRANLOG < 100 THEN
         MOVE 0 TO RECORD-SIZE
         WRITE DROPPED-TRANLOG FROM TRANLOG
      ELSE
         PERFORM TEST-NULL-REGN.
   TEST-NULL-REGN.
      IF REGN IN TRANLOG = SPACES
         MOVE 999 TO REGN IN TRANLOG
         WRITE BAD-REGN-TRANLOG FROM TRANLOG.
/*
//LKED.SYSLMOD DD DSN=USERLOADLIB(CHKTRAN),DISP=MOD
//LKED.SYSIN DD *
  MODE AMODE(24) RMODE(24)
  ENTRY CHKTRAN
  NAME CHKTRAN(R)
/*