Generate a COBOL OUTMOD Routine - FastExport

Teradata FastExport Reference

Product
FastExport
Release Number
15.00
Language
English (United States)
Last Update
2018-09-28
dita:id
B035-2410
lifecycle
previous
Product Category
Teradata Tools and Utilities

Generate a COBOL OUTMOD Routine

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)
/*