The following table shows various compiler options that can be used to prepare OS/VS COBOL programs for use with the IBM Problem Determination Tools products (Debug Tool for z/OS, Fault Analyzer for z/OS and Application Performance Analyzer for z/OS). The methods suggested in the following table indicate if the load module produced is suitable for a production environment. Load modules suitable for a production environments have no significant run-time overhead.
Compiler options | Source information file type produced | Is the load module production ready? | Options supported and suggested for Debug Tool for z/OS | Options supported and suggested for Fault Analyzer for z/OS | Options supported and suggested for Application Performance Analyzer for z/OS |
---|---|---|---|---|---|
DMAP, NOCLIST, NOLST, PMAP, SOURCE, VERB, XREF(SHORT) | Compiler listing | Yes | N/A | Supported | Supported |
(LIST,NOPMAP) or (CLIST,NOPMAP) or (CLIST,PMAP) | Yes | N/A | N/A | N/A | |
NOBATCH, NOCLIST, NOCOUNT, DMAP, NOLST, PMAP, SOURCE, NOSYMDMP, NOTEST, NOOPT, VERB, XREF(SHORT) | LANGX file | Yes | Suggested for production and test |
Perform the following steps for compiling your OS/VS COBOL programs:
Below is a JCL example for compiling an OS/VS program for use with the IBM Problem Determination Tools products:
//* - - - ADD A JOB CARD ABOVE THIS LINE - - -
//*
//* SAMPLE JCL TO PREPARE AN OS VS COBOL PROGRAM
//* FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//* FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//* NOTES:
//*
//* COMPILER:
//* - COMPILER PARMS DMAP,NOCLIST,NOLST,PMAP,SOURCE,VERB,XREF
//* ARE REQUIRED IF YOU PLAN TO USE THE COMPILER LISTING WITH
//* PD TOOLS AND/OR PROCESS IT WITH XXXLANGX
//*
//* A STEP THAT PROCESSES THE SYSADATA FILE,
//* AND CREATES A LANGX FILE IS NEEDED.
//*
//* SET PARMS FOR THIS COMPILE:
//* ---------------------------
// SET MEM=SAMOS1 PROGRAM NAME
// SET OSVSCOMP='IGY.VSCOLIB' OS VS COBOL COMPILER LIBRARY
// SET LELIB='CEE.SCEELKED' LE LINKEDIT LIBRARY
// SET UNITDEV=SYSALLDA UNIT FOR TEMP FILES
// SET SCEERUN='CEE.SCEERUN' LANGUAGE ENVIRON SCEERUN LIB
// SET LANGX='EQALANGX' XXXLANGX UTILITY PROGRAM
// SET LANGXLIB='EQAW.SEQAMOD' LIBRARY FOR XXXLANGX UTILITY
//* NOTE: THE XXXLANGX UTILITY IS AVAILABLE WITH DEBUG TOOL,
//* FAULT ANALYZER, AND APA WITH DIFFERENT NAMES. YOU CAN
//* USE ANY OF THEM... THEY ALL PRODUCE THE SAME RESULTS.
//* IF YOU HAVE DEBUG TOOL, YOU CAN SET:
//* LANGX='EQALANGX' LANGXLIB=(THE DT SEQAMOD LIBRARY)
//* IF YOU HAVE FAULT ANALYZER YOU CAN SET:
//* LANGX='IDILANGX' LANGXLIB=(THE FA SIDIAUTH LIBRARY)
//* IF YOU HAVE APA (APP. PERFORMANCE ANALYZER) YOU CAN SET:
//* LANGX='CAZLANGX' LANGXLIB=(THE APA SCAZAUTH LIBRARY)
//*
//* ****************************
//* COMPILE STEP
//* ****************************
//COMPILE EXEC PGM=IKFCBL00,REGION=4M,
// PARM=('DMAP,NOCLIST,NOLST,NOOPT,SOURCE,VERB,XREF(SHORT)')
//* FOR DT (CHECK DEFAULTS): NOBATCH,NOCOUNT,PMAP,NOSYMDMP,NOTEST
//STEPLIB DD DISP=SHR,DSN=&OSVSCOMP
//SYSIN DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.OSVSCOB.LISTING(&MEM)
//SYSLIN DD DISP=(MOD,PASS),DSN=&&LOADSET,UNIT=&UNITDEV,
// SPACE=(80,(10,10))
//SYSUT1 DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT2 DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT3 DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT4 DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT5 DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT6 DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT7 DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//*
//CBLPRINT EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=&SYSUID..ADLAB.OSVSCOB.LISTING(&MEM),DISP=SHR
//SYSUT2 DD SYSOUT=*
//SYSIN DD DUMMY
//*
//* *********************************
//* STEP TO GENERATE LANGX FILE
//* *********************************
//LANGX EXEC PGM=&LANGX,REGION=32M,
// PARM='(COBOL ERROR 64K CREF'
//STEPLIB DD DISP=SHR,DSN=&LANGXLIB
// DD DISP=SHR,DSN=&SCEERUN
//LISTING DD DSN=&SYSUID..ADLAB.OSVSCOB.LISTING(&MEM),DISP=SHR
//IDILANGX DD DISP=SHR,DSN=&SYSUID..ADLAB.EQALANGX(&MEM)
//*
//* *********************************
//* LINK-EDIT (BINDER) STEP
//* *********************************
//LKED EXEC PGM=IEWL,REGION=0M,COND=(5,LT,COMPILE),PARM='LIST,XREF'
//SYSLIB DD DISP=SHR,DSN=&LELIB
//SYSLMOD DD DSN=&SYSUID..ADLAB.LOAD(&MEM),DISP=SHR
//SYSLIN DD DISP=(OLD,DELETE),DSN=&&LOADSET
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=&UNITDEV,DCB=BLKSIZE=1024,SPACE=(1024,(200,20))
[ Top of Page | Previous Page | Next Page | Contents | Index ]