IBM Mainframe Environment: z/OS - Teradata Preprocessor2

Teradata® Preprocessor2 for Embedded SQL Programmer Guide

Product
Teradata Preprocessor2
Release Number
17.00
Published
June 2020
Language
English (United States)
Last Update
2020-06-19
dita:mapPath
whb1544831946911.ditamap
dita:ditavalPath
obe1474387269547.ditaval
dita:id
B035-2446
lifecycle
previous
Product Category
Teradata Tools and Utilities
Before invoking PP2 in a mainframe environment, start at least one TDP module on the mainframe, even if no data access is required (that is, using NOSYNTAX). If a precompile step is performed prior to starting a TDP module, a fatal error occurs.

PP2 can be invoked as a:

  • z/OS batch program using a JCL (job control language) procedure
  • z/OS TSO batch or TSO online program, either directly or using a CLIST

Operating PP2 in an IBM z/OS mainframe environment involves these files:

File Name Usage Requirement
SYSLIB Library input Required if the embedded SQL INCLUDE text name statement is used and PP2 is executing in the z/OS environment.
SYSIN Source input Mandatory
SYSPRINT Listing Required unless the NOPRINT option is specified.

z/OS JCL must define DCB information for LRECL, RECFM and BLKSIZE parameters.

SYSTERM Diagnostics Required if the TERM option is present.

z/OS JCL must define DCB information for LRECL, RECFM and BLKSIZE parameters.

SYSPUNCH Source output Required unless the NOPUNCH option is specified.

z/OS JCL must define DCB information for LRECL, RECFM and BLKSIZE parameters.

SYSUT1 Work file 1 z/OS JCL must define DCB information for LRECL, RECFM and BLKSIZE parameters.

Required for C and COBOL precompilation.

z/OS Batch

When running PP2 in the z/OS batch environment, use standard z/OS job control language (JCL).

The next example shows preprocessor invocation JCL stream for the COBOL preprocessor. Line numbers relate to the notes following the code and are not part of the JCL syntax.

   //PRECOMP   JOB   (job statement information)
1  //PRECOMP   EXEC  PGM=PPBMAIN,
   //                PARM=’option option’
2  //STEPLIB   DD    DSN=TERADATA.TRLOAD,DISP=SHR
3  //DD DSN=TERADATA.APPLOAD,DISP=SHR
4  //SYSPRINT DD SYSOUT=*,
//DCB=(LRECL=133,RECFM=FBA,BLKSIZE=1330)
5  //SYSTERM DD DUMMY
6  //SYSLIB DD DSN=customer.include.library,DISP=SHR
7  //SYSPUNCH  DD    DSN=customer.compiler.input,
   //                UNIT=SYSDA,SPACE=(TRK,(5,5)),
   //                DCB=(LRECL=80,RECFM=FB,BLKSIZE=3600)
   //                DISP=(NEW,CATLG)
8  //SYSIN     DD    DSN=customer.preproc.input,DISP=SHR
9  //SYSUT1    DD    UNIT=SYSDA,SPACE=(CYL,(5,2)),
   //                DCB=(LRECL=80,RECFM=FB,BLKSIZE=3600)                                        
   //

Consider the following points.

  1. The PARM field specifies the options to be used by the preprocessor; within the PARM field, separate options by commas or blanks.

    For details on the options, see PP2 Options.

  2. This STEPLIB partitioned data set is the Teradata-supplied C runtime library.
  3. This STEPLIB partitioned data set contains the preprocessor load module:
    • PPBMAIN (COBOL)
    • PPIMAIN (PL/I)
    • PPCMAIN (C)
  4. SYSPRINT receives the preprocessor listing. SYSPRINT is required unless the NOPRINT option is specified.

    The required DCB parameters are:

    • LRECL
    • RECFM
    • BLKSIZE
  5. SYSTERM receives the preprocessor diagnostics, separated from the preprocessor listing.

    SYSTERM is required when the TERM option is specified.

    The required DCB parameters are:

    • LRECL
    • RECFM
    • BLKSIZE
  6. The SYSLIB partitioned data set contains the preprocessor include members.

    SYSLIB is required if the embedded SQL INCLUDE text name statement is used.

  7. SYSPUNCH receives the precompiler source. SYSPUNCH is required unless the NOPUNCH option is specified.

    SYSPUNCH might be temporary if the appropriate host language compiler is invoked in a following job step.

    The required DCB parameters are:

    • LRECL
    • RECFM
    • BLKSIZE
  8. SYSIN contains the preprocessor source input.

    SYSUT1 is a preprocessor work file.

    UNIT=VIO may be used instead of UNIT=SYSDA.

    The required DCB parameters are:

    • LRECL
    • RECFM
    • BLKSIZE

      Required for C and COBOL precompilation.

z/OS TSO

When running PP2 in an z/OS TSO environment, use standard TSO commands. To simplify this process, create a command list.

The next example shows a preprocessor invocation command stream for COBOL. Line numbers relate to the notes following the code and are not part of the syntax.

 ATTR  VBA1330  RECFM(V,B,A)  LRECL(133)  BLKSIZE(1330)
 ATTR  F80      RECFM(F)      LRECL(80)   BLKSIZE(80)
 ATTR  FB3120   RECFM(F,B)    LRECL(80)   BLKSIZE(3120)
1 ALLOCATE DDNAME(CTRANS)   DATASET(’TERADATA.TRLOAD’) SHR
2 ALLOCATE DDNAME(SYSPRINT) SYSOUT(A) USING(VBA1330)
3 ALLOCATE DDNAME(SYSTERM)  DATASET(*) USING(F80)
4 ALLOCATE DDNAME(SYSLIB) +
           DATASET(’customer.include.library’) SHR
5 ALLOCATEDDNAME(SYSPUNCH) +
           DATASET(’customer.fompiler.input’) NEW +
           TRACKS SPACE(5,5) USING(FB3120)
6 ALLOCATEDDNAME(SYSIN) +
           DATASET(’customer.preproc.input’) SHR
7 ALLOCATEDDNAME(SYSUT1) NEW BLOCK(1024) SPACE(50,50)
8 CALL  ’TERADATA.APPLOAD(PPBMAIN)’ +
           ’option option’
  FREE   DDNAME(CTRANS)
  FREE   DDNAME(SYSPRINT)
  FREE   DDNAME(SYSTERM)
  FREE   DDNAME(SYSLIB)
  FREE   DDNAME(SYSPUNCH)
  FREE   DDNAME(SYSIN)
  FREE   DDNAME(SYSUT1)
  FREE   ATTRL(VBA1330)
  FREE   ATTRL(F80)
  FREE   ATTRL(FB3120)

Consider the following points.

  1. The CTRANS data set is the Teradata-supplied C runtime library.
  2. The SYSPRINT data set receives the preprocessor listing.

    SYSPRINT is required unless the NOPRINT option is specified.

  3. The SYSTERM data set receives the preprocessor diagnostics, separated from the preprocessor listing.

    SYSTERM is required only if the TERM option is specified.

  4. The SYSLIB partitioned data set contains the preprocessor include members.

    SYSLIB is required only if the embedded SQL INCLUDE text name statement is specified.

  5. The SYSPUNCH data set receives the precompiler source.

    SYSPUNCH is required unless the NOPUNCH option is specified.

  6. The SYSIN data set contains the preprocessor source input.
  7. The SYSUT1 data set is a preprocessor work file.
  8. TERADATA.APPLOAD contains the preprocessor load module - PPBMAIN (COBOL), PPIMAIN (PL/I) or PPCMAIN (C).

    The CALL parameter specifies the PP2 options to be used; within the parameter, separate options by commas or blanks.

    For details on the options, see PP2 Options.