DSNH command procedure (TSO CLIST)

The DSNH command procedure (a TSO CLIST) is a powerful yet easy method of preparing an application program for execution.

The DSNH command procedure (a TSO CLIST) prepares a program for execution, and executes it if it runs under TSO. By issuing a single command, you can select numerous options required for the preparation of an application and execute it under TSO.

DSNH processing is a sequential process that can include any of the actions listed in the following table.

Individual steps or a sequence of steps can be performed, and you can end the process at any point you choose. Any steps in the process that are skipped must have previously been completed successfully by DSNH.

Table 1. DSNH actions and the corresponding step names
For invoking the... Use step name
PL/I macro processor MP
Db2 precompiler PC
CICS® command language translator TR
DSN BIND PLAN subcommand for binding a plan BI
DSN BIND PACKAGE subcommand for binding a package BP
Compiler or assembler for your program CO
A C compiler prelink utility for including compile-time parameters PL
Link-editor to produce an executable load module LE
DSN RUN subcommand to execute the program RU
Note: The step names are used in the heading of Table 3.

Environment

The DSNH CLIST can run in TSO foreground or in batch under the TSO terminal monitor program. DB2I uses the DSNH CLIST on the precompiler panel to control program preparation. You can pass DSNH parameters from DB2I panels on the "Other options" lines.

Data sharing scope: Member

Authorization

DSNH requires no special authorization. However, if DSNH binds a package or plan, or runs a plan, authorization is required to perform those actions:

  • See the BIND PACKAGE authorization information for the privileges that are necessary to bind a package.
  • See the BIND PLAN authorization information for the privileges that are necessary to bind a plan.
  • See the RUN authorization information for the privileges that are necessary to run a plan.

Syntax

Read syntax diagramSkip visual syntax diagramDSNHINPUT( data-set-name)clist-parameter

Summary of DSNH CLIST parameters

The CLIST parameters provide the processing options for each step; specify them when you execute DSNH. Some parameters are used for more than one step, as indicated in Table 3. This table shows where each parameter is used, using the following notation:
  • Y in any cell shows that the option listed at the beginning of the row is used in the step whose name appears at the top of the column.
  • * in any cell indicates that the option listed at the beginning of the row is used in another step which affects the step whose name appears at the top of the column.

Notation of CLIST parameters for the BIND PLAN and BIND PACKAGE steps: Many parameters of BIND PLAN and of BIND PACKAGE provide the same function and are spelled alike. CLIST parameters for BIND PLAN and BIND PACKAGE are differentiated from general parameters and from each other by prefixes. A parameter name prefixed by the letter B applies to the BIND PLAN subcommand; a parameter name prefixed by the letter P applies to BIND PACKAGE. The following table shows the possible variations for a single parameter name.

Table 2. DSNH CLIST prefixing rules
Parameter value Function or subcommand Example
parameter If no prefix is specified, the parameter applies to a single function or subcommand. DBRMLIB
B/parameter The prefix B is used to indicate that this variation of the parameter applies only to the BIND PLAN step. B/DBRMLIB
P/parameter The prefix P is used to indicate that this variation of the parameter applies only to the BIND PACKAGE step. P/DBRMLIB

In the following table, a prefix is separated from the Db2 parameter name by a slash (/). Refer to Table 1 for an explanation of the two-letter step names.

Table 3. Summary of DSNH CLIST parameters
OPTIONS MP PC TR BI BP CO PL LE RU
ACQUIRE       Y         *
P/ACTION       Y Y        
ASMLIB           Y      
ASMLOAD           Y      
P/BDMEM       Y Y        
P/BIND       Y Y        
P/BLIB       Y          
P/BnLIB       Y          
P/BMEM       Y Y        
CACHESIZE       Y          
CCLINK             Y    
CCLLIB               Y  
CCLOAD           Y      
CCMSGS           Y Y    
CCOLIB             Y    
CCPLIB               Y  
CCPMSGS             Y    
CCSID   Y              
CCSLIB           Y      
P/CICS       Y Y        
CICSCOB     Y         Y  
CICSLLIB     Y         Y  
CICSOPT     Y            
CICSPRE     Y         Y  
CICSPLIB     Y         Y  
CICSVER     Y         Y  
CICSXLAT     Y            
CLIB Y         Y      
CnLIB Y         Y      
COBICOMP               Y  
COBILINK               Y  
COBIPLNK             Y    
COBIPMSG             Y    
COBLIB               Y  
COBLOAD           Y      
COBSOM             Y    
COB2CICS               Y  
COB2LIB               Y  
COB2LOAD           Y      
COMPILE           Y      
CONNECT   Y              
CONTROL Y   Y *   Y   Y Y
COPTION Y         Y      
COPY         Y        
COPYVER         Y        
CPPCLASS             Y    
CPPCLINK             Y    
CPPCLLIB               Y  
CPPCSLIB           Y      
CPPLLIB             Y    
CPPPMSGS             Y    
CPPSLIB           Y      
CPPUTIL           Y      
CURRENTDATA       Y Y        
CURRENTSERVER       Y          
DATE   Y              
P/DBPROTOCOL       Y Y        
P/B/DBRMLIB   Y   Y Y        
DECARTH   Y              
DECIMAL   Y       *      
P/DEFER       Y Y        
P/DEGREE       Y Y        
DELIMIT   Y Y     Y      
P/DISABLE       Y Y        
DISCONNECT       Y -        
P/DLIBATCH       Y Y        
P/DYNAMICRULES       Y Y        
P/ENABLE       Y Y        
ENTRY               Y  
EXPLAIN       Y Y        
P/FLAG Y Y Y Y Y Y      
FORTLIB               Y  
FORTLOAD           Y      
HOST Y Y Y *   Y   Y Y
P/IMSBMP       Y Y        
P/IMSMPP       Y Y        
IMSPRE               Y  
INPUT Y Y * *   Y   Y Y
P/ISOLATION       Y Y        
P/KEEPDYNAMIC       Y Y        
LINECOUNT Y Y Y     Y      
LINK               Y  
LLIB               Y  
LnLIB               Y  
LOAD               Y Y
LOPTION               Y  
MACRO Y   Y            
NEWFUN   Y              
NOFOR Y                
P/NODEFER       Y Y        
P/OPTHINT       Y Y        
OPTIONS   Y Y         Y Y
OUTNAME Y Y       Y   Y Y
P/OWNER       Y Y        
PACKAGE         Y        
PARMS                 Y
PASS   Y              
P/PATH       Y Y        
PCLOAD   Y              
PKLIST       Y          
PLAN       Y         Y
PLIB   Y              
PnLIB   Y              
PLI2LIB               Y  
PLILIB               Y  
PLILOAD Y         Y      
PLIPLNK               Y  
PLIPMSG               Y  
POPTION             Y    
PRECOMP   Y              
PRELINK             Y    
PRINT Y Y Y     Y   Y  
PSECSPAC Y Y Y     Y     Y
PSPACE Y Y Y     Y     Y
P/QUALIFIER       Y Y        
RCTERM Y Y Y Y Y Y Y   Y
P/RELEASE       Y Y        
REMOTE         Y        
P/REOPT       Y Y        
REPLVER         Y        
RETAIN       Y          
RUN   Y Y         Y Y
RUNIN                 Y
RUNOUT                 Y
SOMDLLI           Y Y    
SOURCE Y Y Y     Y      
SPACEUN Y Y Y     Y     Y
SQL   Y              
SQLDELIM   Y              
SQLERROR         Y        
SQLRULES       Y          
STDSQL   Y              
SUFFIX Y Y              
SYSTEM       * *       Y
TERM Y Y       Y   Y  
TIME   Y              
P/VALIDATE       Y Y        
VERSION   Y              
WORKUNIT Y Y Y     Y      
WSECSPAC Y Y Y     Y      
WSPACE Y Y Y     Y      
XLIB               Y  
XREF Y Y       Y   Y  

General parameter descriptions

Due to similarities in name and function, the CLIST parameters for BIND PLAN and BIND PACKAGE are described separately from the parameters in Table 4. For a summary of:
  • BIND PLAN parameters, refer to Table 5
  • BIND PACKAGE parameters, refer to Table 6
The only parameter that is required on the DSNH statement is INPUT; the others are optional. In Table 4:
  • Parameter values must be enclosed between parentheses.
  • Parameter values need not be enclosed between apostrophes, except in either of the following cases:
    • If the value is a list of tokens with separators, the value must be enclosed between apostrophes.
    • If the value is a data set name, your user identifier is added as a prefix. To avoid the prefix, enclose the data set name between sets of three apostrophes.
  • Most parameter values that are data set names (dsname) cannot include member names. Exceptions are noted in the parameter descriptions.
  • Underlined values are defaults. Default names can be changed to names specific to your site when Db2 is installed.
Table 4. General DSNH CLIST parameters
Parameter   Value Comments
ASMLIB
  • dsname
Specifies a data set to be used as the standard MACLIB for High Level Assembler.

The default is '''SYS1.MACLIB'''.

ASMLOAD
  • dsname
Specifies a data set that contains the High Level Assembler load module.

dsname can include a member name.

The default is '''SYS1.LINKLIB(ASMA90)'''.

CCLINK
  • dsname
Specifies a data set that contains the IBM® Language Environment® prelink editor utility invocation load module that is to be used for preparing C programs.

dsname can include a member name.

The default is '''CEE.SCEERUN(EDCPRLK)'''.

CCLLIB
  • dsname
Specifies a data set that contains the linkage editor include modules for the C compiler routines.

The default is '''CEE.SCEELKED'''.

CCLOAD
  • dsname
Specifies a data set that contains the C compiler invocation load module.

dsname can include a member name.

The default is '''CBC.SCCNCMP(CCNDRVR)'''.

CCMSGS
  • dsname
Specifies a data set that contains the C compiler messages. This data set is required only for C/370.

dsname can include a member name.

The default is '''EDC.V1R2M0.SEDCDMSG(EDCMSGE)'''.

CCSID
  • integer

Specifies the CCSID for source SQL statements.

CCOLIB

NONE

dsname

Specifies that the data set that contains C object modules is included during the execution of the prelink utility step.
CCPLIB
  • NONE
  • dsname
Specifies a data set that contains include modules for PL/I routines. This parameter is used only for IBM C/370 Version 2 or earlier.
CCPMSGS
  • dsname
Specifies a data set that contains the message library that is to be used by the IBM prelink editor when preparing C programs.

The default is '''CEE.SCEEMSGP(EDCPMSGE)'''.

CCSLIB
  • dsname
Specifies a data set that contains the C compiler headers.

The default is '''CEE.SCEEH.H'''.

CICSOPT
  • NONE
  • option-list
Specifies a list of additional CICS translator options. See the appropriate CICS application programming reference for information about translator options.

The default, NONE, specifies no additional options.

CICSPRE
  • prefix
Specifies the prefix for the CICS libraries. The library names are:
  • prefix.LOADLIB for translators
  • prefix.PL1LIBn for PL/I include
  • prefix.COBLIB for COBOL include

Leave this parameter blank to use CICSLLIB, CICSPLIB, CICSCOB.

The default is blank.

CICSLLIB
  • dsname
Specifies the CICS load library. To use this library, leave the CICSPRE parameter blank.

The default is set on installation panel DSNTIP3.

CICSPLIB
  • dsname
Specifies the CICS PL/I library. To use this library, leave the CICSPRE parameter blank.

The default is set on installation panel DSNTIP3.

CICSCOB
  • dsname
Specifies the CICS COBOL library. To use this library, leave the CICSPRE parameter blank.

The default is set on installation panel DSNTIP3.

CICSVER
  • 21
  • 31
  • 33
  • 41

Specifies the CICS release. This field is ignored because current releases of CICS do not require DSNH to handle release-specific considerations.

CICSXLAT
  • NO
  • YES
Specifies whether to execute the CICS command translator. This parameter is effective only if you use RUN(CICS). You cannot use this parameter with the MARGINS option of the translator.

The default is YES. The DB2I panel default is NO.

CLIB C nLIB
  • NONE
  • dsname
Specifies a data set that contains host language source statements to be included by the compiler or assembler. The parameters C n LIB (where n can be 2, 3, or 4) are extensions of CLIB, which is used to simplify passing a list of data set names.

Use the default, NONE, to specify no data set.

COBICOMP
  • dsname
Specifies the IBM COBOL data set that is required for compilation.

The default is '''IGY.SIGYCOMP'''.

COBILINK
  • dsname
Specifies the IBM COBOL data set that is required for link edit.

The default is '''CEE.SCEELKED'''.

COBIPLNK
  • dsname

Specifies a data set that contains the IBM Environment prelink editor utility invocation load module that is to be used for preparing COBOL programs.

dsname can include a member name.

The default is '''CEE.SCEERUN(EDCPRLK)'''.

COBIPMSG
  • dsname

Specifies a data set that contains the message library that is to be used by the IBM prelink editor when preparing COBOL programs.

dsname can include a member name.

The default is '''CEE.SCEEMSGP(EDCPMSGE)'''.

COBLIB
  • dsname
Specifies the linkage editor include library that is to be used for OS/VS COBOL routines.

This parameter is obsolete.

COBLOAD
  • dsname
Specifies a data set that contains the OS/VS COBOL compiler load module.

This parameter is obsolete.

COBSOM
  • dsname
Specifies the IBM System Object Model (SOM) data set that is required for access to SOM objects.

This parameter is obsolete.

COB2CICS
  • dsname
Specifies the linkage editor include library that is to be used for VS COBOL II CICS routines.

This parameter is obsolete.

COB2LIB
  • dsname
Specifies the linkage editor include library that is to be used for the VS COBOL II or COBOL/370 routines.

This parameter is obsolete.

COB2LOAD
  • dsname
Specifies a data set that contains the VS COBOL II or COBOL/370 compiler load module.

This parameter is obsolete.

COMPILE
  • YES
  • NO
Specifies whether to execute the compiler or assembler if the precompile step is successful.
CONNECT
  • (1)
  • (2)
Specifies whether a CONNECT SQL statement should be processed as a type 1 CONNECT or a type 2 CONNECT statement. The DSNH(TSO CLIST) command does not accept the CT(1) and CT(2) abbreviations for this precompiler option.

The default is CONNECT(2).

CONTROL
  • NONE
  • CONLIST
  • LIST
  • SYMLIST
Specify to help you trace the allocation of non-existent data sets. Use this parameter if you have a problem without an obvious cause.

CONLIST displays CLIST commands after substitution for symbols and before command execution.

LIST displays TSO commands after substitution for symbols and before command execution.

SYMLIST displays all executable statements (TSO commands and CLIST statements) before substitution for symbols.

COPTION
  • NONE
  • string
Specifies a list of compiler or assembler options. For more information, refer to the manual that describes the compiler or assembler options for the specific language you are using. For a list of restrictions on some options, see COBOL Options.

NONE specifies no options.

CPPCLASS
  • dsname
Specifies the data set that contains C++ class libraries.

The default is '''CBC.SCLBCPP'''.

CPPCLINK
  • dsname

Specifies the data set that contains the IBM Language Environment prelink editor utility invocation load module that is to be used for preparing C programs.

The default is '''CEE.SCEERUN(EDCPRLK)'''.

CPPCLLIB
  • dsname
Specifies the data set for the C linkage editor automatic call library that is used by the C++ compiler.

The default is '''CEE.SCEELKED'''.

CPPCSLIB
  • dsname
Specifies a data set that contains the C compiler headers that are used by the C++ compiler.

The default is '''CEE.SCEEH.H'''.

CPPLLIB
  • dsname
Specifies a data set that contains the C++ prelink automatic call library.

The default is '''CEE.SCEECPP'''.

CPPPMSGS
  • dsname

Specifies the data set that contains the message library that is to be used by the IBM prelink editor when preparing C++ programs.

dsname can include a member name.

The default is '''CEE.SCEEMSGP(EDCPMSGE)'''.

CPPSLIB
  • dsname
Specifies the data set that contains C++ header files for class libraries.

The default is '''CBC.SCLBH.HPP'''.

CPPUTIL
  • dsname
Specifies the data set that contains procedures to set up and execute the C++ compiler.

The default is '''CBC.SCCNUTL'''.

DATE
  • ISO
  • JIS
  • USA
  • EUR
  • LOCAL
Specifies the format of date values that are to be returned, which overrides the format that is specified as the location default.

The default is the value that is supplied when Db2 is installed, and is written in the data-only application defaults load module.

DBRMLIB DEFAULT dsname(member) NONE Specifies the partitioned data set, and an optional member name, that contains the DBRM library and member name that is used during the Db2 precompile step. Because you can specify individual DBRM member and library names during each individual phase, you must use the DBRMLIB parameter and associated prefixes to identify a specific phase.

DBRMLIB specifies the DBRM library and member that is defined on the DBRMLIB DD statement during Db2 precompiler processing.

DEFAULT indicates that the same DBRM library data set that is defined for the Db2 precompiler process (DBRMLIB(parameter)) is also used on the LIBRARY(dsname) subcommand keyword. If the precompiler DBRMLIB is not specified, the default generated DBRMLIB library that is based on the INPUT data set name is used.

dsname is generated using the DSNH OUTNAME parameter value, or its default, TEMP, with the constant DBRM appended to the prefix; for example, outname .DBRM or TEMP.DBRM.

member is obtained from the data set member name that is specified on the DSNH INPUT parameter or from the data set name as follows:
  • Given INPUT(outname.DBRM(dbrmmem)):
    • outname.DBRM(dbrmmem) - If the member name is specified
    • outname.DBRM(dbrm) - If no member name is specified

NONE indicates that no LIBRARY(dsname) subcommand keyword is specified on invocation.

DECARTH
  • DEFAULT
  • 15
  • 31
Specifies the maximum precision of decimal numbers.

DEFAULT designates the value chosen, during installation, for the DECIMAL ARITHMETIC field on the APPLICATION PROGRAMMING DEFAULTS panel.

A value of 15 specifies that decimal arithmetic operations on decimal values with precision 15 or less are performed in accordance with the existing rules for determining the precision and scale of the result.

A value of 31 specifies that decimal arithmetic operations on decimal values with precision 15 to 31 are performed in accordance with new rules for determining the precision and scale of the result.

DECARTH is ignored for Fortran.

DECIMAL
  • COMMA
  • PERIOD
Specifies the decimal point indicator for decimal and floating point literals. DECIMAL is valid only for COBOL programs; PERIOD is forced for all other programs.

COMMA makes the indicator a comma.

PERIOD makes the indicator a period.

The default is the value of the DECIMAL POINT field, set on the Db2 APPLICATION PROGRAMMING DEFAULTS panel during installation.

DELIMIT
  • DEFAULT
  • APOST
  • QUOTE
Specifies the APOST or QUOTE precompiler option to indicate the string delimiter that is used within host language statements. DELIMIT is effective only for COBOL programs; APOST is forced for all other programs.

DEFAULT designates the value chosen during installation for the STRING DELIMITER field on the APPLICATION PROGRAMMING DEFAULTS panel.

APOST specifies the apostrophe as the string delimiter for host language statements.

QUOTE specifies a quotation mark as the string delimiter for host language statements.

ENTRY
  • entry-name
Specifies the entry point that is assigned by the linkage editor.
The default depends on the host language and the value of RUN.
  • For the PL/I language, the ENTRY value default is:
    • NONE if the RUN value is CICS
    • PLISTART for any other RUN value.
  • For assembler language, the ENTRY value default is DLITASM if the RUN value is IMS.
  • For COBOL, the ENTRY value default is DLITCBL if the RUN value is IMS.
  • For any other language, the ENTRY value default is NONE (no specified entry point) for any RUN value.
FLAG
  • I
  • C
  • E
  • W
Specifies the messages that you want to see. Use one of the following values to show messages of the corresponding types:
I
All informational, warning, error, and completion messages
W
Only warning, error, and completion messages
E
Only error and completion messages
C
Only completion messages
FORTLIB
  • dsname
Specifies the linkage editor include library that is to be used for Fortran routines.

The default is '''SYS1.VSF2FORT'''.

FORTLOAD
  • dsname
Specifies a data set that contains the VS Fortran compiler load module.

dsname can include a member name.

The default is '''SYS1.VSF2VCOMP(FORTVS2)'''.

HOST
  • ASM
  • C
  • CPP
  • IBMCOB
  • FORTRAN
  • PLI
Defines the host language within which SQL statements are embedded.

COBOL and COB2 are also acceptable values but are obsolete.

If your program is one of the following types of programs, you cannot use DB2I to prepare it:
  • A COBOL program that uses object-oriented extensions
  • A C++ program that uses object-oriented extensions and consists of more than one compilation unit

The default is the value of the LANGUAGE DEFAULT field, set on the Db2 APPLICATION PROGRAMMING DEFAULTS panel during installation.

IMSPRE
  • prefix
Specifies the prefix for RESLIB, which is used for routines that are to be included by the linkage editor for IMS.

The default is IMSVS.

INPUT
  • dsname
Specifies the data set that contains the host language source and SQL statements.

dsname can include a member name.

LINECOUNT
  • integer
Specifies how many lines, including headings, are to be printed on each page of printed output.

The default is 60.

LINK
  • YES
  • NO
Specifies whether to execute the linkage editor after successful completion of compilation or assembly.

YES indicates that the linkage editor is to be executed. The DSNHLI entry point from the precompiler is directed to the appropriate language interface module that is specified by the RUN parameter.

NO indicates that linkage editor processing is to be bypassed.

LLIB LnLIB
  • NONE
  • dsname
Specifies a data set that contains object or load modules that are to be included by the linkage editor. The parameters L n LIB (where n can be 2, 3, or 4) are extensions of LLIB, which is used to simplify passing a list of data set names.

The LLIB and LnLIB libraries are concatenated with the XLIB library and the linkage editor include libraries for the specific host language. Object and load module libraries must not be mixed in this concatenation.

Use the default, NONE, to specify no data set.

LOAD
  • dsname
Specifies a data set that is to contain the output from the linkage editor (the load module).

dsname can include a member name.

The default is RUNLIB.LOAD.

LOPTION
  • NONE
  • string
Specifies a list of linkage editor options. For information about the options you can use, see the appropriate z/OS® publication.

Use the default, NONE, to give no options.

MACRO
  • YES
  • NO
Specifies whether the macro preprocessor is to be executed before the precompilation of a PL/I program. If the PL/I macro processor is used, the PL/I *PROCESS statement must not be used to pass options to the PL/I compiler. The COPTION parameter of the DSNH command can be used to pass the needed options to the PL/I compiler.
NEWFUN Start of change
  • V8
  • V9
  • V10
  • V11
  • Start of changeV12End of change
End of change
Specifies whether to allow syntax for functions that are introduced by a new version of Db2.

NEWFUN(NO) and NEWFUN(YES) are deprecated.

NOFOR
  • NO
  • YES
Specifies whether all FOR UPDATE OF clauses in static SQL statements are optional.

When you specify NOFOR(YES), the FOR UPDATE OF clause is optional. Positioned updates can be made to any columns that the user has authority to update.

When you specify NOFOR(NO), any query that appears in a DECLARE CURSOR statement must contain a FOR UPDATE OF clause if the cursor is used for positional updates. The clause must designate all the columns that the cursor can update.

The option is implied when the STDSQL(YES) option is in effect.

OPTIONS
  • NO
  • YES
Specifies whether to print the options that are used when executing the precompiler or the CICS command translator with the output listing.
OUTNAME
  • TEMP
  • string
Specifies the prefix that is used to form intermediate data set names.

string must not be enclosed between apostrophes and must not have the same initial character as the dsname for INPUT. It cannot contain special characters.

PARMS
  • NONE
  • string
Specifies a parameter string that is to be passed to the compiled program during its execution. This parameter is valid only if the run time execution environment requested is TSO. If CAF is specified as the run time execution environment, this parameter is ignored.

Use the default, NONE, to pass no parameter string.

PASS
  • ONE or 1
  • TWO or 2
Specifies how many passes the precompiler is to use. One pass saves processing time, but requires that declarations of host variables in the program precede any reference to those variables. PASS has no effect for COBOL or Fortran; ONE is forced.

The default is ONE or 1 for PL/I and C.

The default is TWO or 2 for assembler.

PCLOAD
  • dsname
Specifies the precompiler load module.

dsname can include a member name.

The default is '*(DSNHPC)'.

PLAN
  • plan-name
Specifies the application plan that is created by the bind process.
The default plan name is the first of the following available choices defined in the INPUT data set:
  • DBRM member name
  • Leftmost qualifier

plan-name must not be DEFAULT.

If no name is found, a plan is not created.

PLIB PnLIB
  • NONE
  • dsname
Specifies the data set that contains host language source or SQL statements included by the SQL INCLUDE statement during precompilation. The parameters PnLIB (where n can be 2, 3, or 4) are extensions of PLIB, which is used to simplify passing a list of data set names.

Use NONE to specify no data set.

PLI2LIB
  • dsname
Specifies the linkage editor common library that is used for PL/I routines.

This parameter is obsolete.

PLILIB
  • dsname
Specifies the linkage editor base library that is used for PL/I routines.

The default is '''CEE.SCEELKED'''.

PLILOAD
  • dsname
Specifies a data set that contains the PL/I compiler load module.

dsname can include a member name.

The default is '''IBM.SIBMZCMP(IBMZPLI)'''.

PLIPLNK
  • dsname

Specifies the data set that contains the IBM Environment prelink editor utility invocation load module that is to be used for preparing PL/I programs.

dsname can include a member name.

The default is '''CEE.SCEERUN(EDCPRLK)'''.

PLIPMSG
  • dsname

Specifies the data set that contains the message library that is to be used by the IBM prelink editor for preparing PL/I programs.

dsname can include a member name.

The default is '''CEE.SCEEMSGP(EDCPMSGE)'''.

POPTION
  • NONE
  • string
Specifies a list of the C compiler language prelink utility options

Use the default, NONE, to give no options.

PRECOMP
  • YES
  • NO
Specifies whether to precompile.
PRELINK
  • YES
  • NO
Specifies whether to execute the C compiler prelink utility to make your program reentrant. This utility concatenates compile-time initialization information (for writable static) from one or more text decks into a single initialization unit. If this step is requested, it must follow the compiler step and precede the link-edit step.

This parameter can apply to IBMCOB that also has a prelink step. Whether the prelink step applies to C or IBMCOB is determined by the choice of values C, CPP, or IBMCOB for the HOST parameter.

Descriptions of the prelink process for C and IBMCOB are presented in their respective language publications.

If PRELINK(YES) is specified or defaulted for a HOST language compiler that does not support the prelink utility, Db2 will issue warning message DSNH760I and prelink utility processing will be bypassed.

PRINT
  • NONE
  • dsname
  • LEAVE
  • TERM
Specifies where to send printed output, including the lists of options, source, cross-reference, error, and summary information.

The default, NONE, omits printed output.

dsname specifies a data set that is to be used for the output. Do not enclose dsname between apostrophes. The current user profile is prefixed to dsname. The following suffixes are also added:
  • SYSCPRT.LIST for PL/I macro listings (these listings are overwritten by the compiler listings)
  • PCLIST for precompiler listings
  • CXLIST for CICS command translator listings
  • LIST for compiler listings

    The PRINT parameter is ignored for the compiler step when HOST(CPP) is specified.

  • SYSOUT.PRELLIST for C prelink utility listings
  • LINKLIST for link-edit listings
LEAVE sends output to the specified print data set. You can allocate the print data set in one of the following ways:
  • Dynamically
  • In the JCL that is used to run the DSNH CLIST (if in batch mode)
  • With the TSO ALLOCATE command (before running DSNH)

TERM sends output to the terminal.

PSECSPAC
  • integer
Specifies the amount of secondary space to allocate for print data sets, in the units given by SPACEUN.

The default is 20.

PSPACE
  • integer
Specifies the primary size of the print data sets in the units given by SPACEUN.

The default is 20.

RCTERM
  • integer
Specifies the minimum value of the return code from the precompile step that prevents execution of later steps.

The default is 8.

RUN
  • TSO or YES
  • BATCH or NO
  • CAF
  • CICS
  • IMS
  • RRSAF
Specifies whether to execute the compiled program if the previous steps are successful, and, if so, in which environment it executes. Your choice for the RUN parameter might affect your choice for LLIB.

TSO or YES indicates that the application program is to be scheduled for execution in the TSO environment, and executes the compiled program.

BATCH or NO indicates that the application program is not to be scheduled for execution, and defaults to TSO as the execution environment.

CAF indicates that the application program is to be scheduled for execution in the call attachment facility environment. Specify BATCH or NO with CAF to indicate that the application program is not to be scheduled for execution, but to identify CAF as the execution environment. (BATCH,CAF) or (NO,CAF)

CICS indicates that the application program is not to be scheduled for execution, and identifies CICS as the run time execution environment. CICS applications cannot run in TSO.

IMS indicates that the application program is not to be scheduled for execution, and identifies IMS as the run time execution environment. IMS applications cannot run in TSO.

RRSAF indicates that the application program is not to be scheduled for execution, and identifies RRSAF as the run time execution environment. RRSAF applications cannot run in TSO.

RUNIN
  • TERM
  • dsname
  • LEAVE
  • NONE
Specifies where to get input for the RUN step.

The default, TERM, gets input from the terminal.

dsname specifies a data set that is to be used for the input.

LEAVE gets input from SYSIN if the only steps taken are LINK and RUN. LEAVE gets input from FT05F001 if the language is Fortran. Do not use LEAVE in any other case.

NONE allocates no input file.

RUNOUT
  • TERM
  • dsname
  • LEAVE
  • NONE
Specifies where to send output from the RUN step.

The default, TERM, sends output to the terminal.

dsname specifies a data set to receive output.

LEAVE sends output to SYSPRINT if the only steps taken are LINK and RUN. LEAVE sends output to FT06F001 if the language is Fortran. Do not use LEAVE in any other case.

NONE allocates no output file for the RUN step.

SOMDLLI
  • dsname
Specifies the name that of the SOM/MVS™ DLL import library.

This parameter is obsolete.

SOURCE
  • NO
  • YES
Specifies whether the source code and diagnostics are to be printed with output from the precompiler, CICS command translator, and compiler.
SPACEUN
  • TRACK
  • CYLINDER
Specifies the unit of space for PSPACE and WSPACE.

TRACK makes the space unit one track.

CYLINDER makes the space unit one cylinder.

SQL
  • DB2
  • ALL
Specifies how to interpret SQL statements and check syntax for use by either Db2 for z/OS or other database management systems.

The default, DB2, indicates that SQL statements are to be interpreted and syntax is to be checked for use by Db2 for z/OS. SQL(DB2) is the recommended mode for DRDA access when the server is a Db2 subsystem.

ALL indicates that SQL statements are to be interpreted for use by database management systems that are not Db2 for z/OS. SQL syntax checking is deferred until bind time so that the remote location can bind the resulting DBRM. When SQL(ALL) is in effect, the precompiler issues an informational message if SAA reserved words are used as identifiers. SQL(ALL) is the recommended mode if you have written your application to be executed in a environment that is not Db2 for z/OS.

The default is SQL(DB2).

SQLDELIM
  • DEFAULT
  • APOSTSQL
  • QUOTESQL
Specifies the APOSTSQL or QUOTESQL precompiler option, to set the SQL string delimiter and, by implication, the SQL escape character within SQL statements. Whichever character is chosen to be the string delimiter, the other is used for the SQL escape character.

This parameter is effective only for COBOL. For PL/I, Fortran, and assembler language programs, the precompiler forces the APOSTSQL option.

DEFAULT designates the value that is chosen during installation for the SQL STRING DELIMITER field on the APPLICATION PROGRAMMING DEFAULTS panel.

APOSTSQL specifies that the string delimiter is the apostrophe (') and the escape character is the quotation mark (").

QUOTESQL specifies that the string delimiter is the quotation mark (") and the escape character is the apostrophe (').

STDSQL
  • NO
  • YES or 86
Specify whether to interpret SQL using a subset of ANSI rules.

NO specifies that Db2 rules are used.

YES or 86 automatically implies that the NOFOR option is used.

SUFFIX
  • YES
  • NO
Specifies whether the TSO standard naming convention must be followed. That convention adds a TSO authorization ID prefix and a host language suffix to the name of the input data set (unless that name is enclosed between apostrophes, or already ends in the appropriate suffix). For example, names become userid.name.COBOL, userid.name.PLI, userid.name.Fortran, or userid.name.ASM.
SYSTEM subsystem-name Specifies the Db2 subsystem name as it is known to the z/OS operating system.

The default is the installation-defined subsystem name (often DSN).

TERM
  • TERM
  • dsname
  • LEAVE
  • NONE
Specifies where to send terminal output, including error information, error statements, and summary information.

The default, TERM, sends output to the terminal.

dsname specifies a data set that is to be used for terminal output. Do not enclose dsname between apostrophes. The following suffixes are added to dsname :
  • PCTERM for precompiler output
  • LIST for compiler output

LEAVE sends the output to the current allocation for SYSTERM.

NONE omits terminal output.

TIME
  • ISO
  • JIS
  • USA
  • EUR
  • LOCAL
Specifies the format for time values that are to be returned, overriding the format that is specified as the location default.

There is no default because this option overrides the default previously specified.

VERSION
  • version-id
  • AUTO
Specifies the name of the version ID for the program and associated DBRM during the Db2 precompile step.

AUTO specifies that the consistency token is used to generate the version ID. If the consistency token is a timestamp, the timestamp is converted into ISO character format and used as the version identifier.

The default is no version ID if specified at precompiler invocation.

WORKUNIT
  • unit
Specifies the device to use for print and work data sets.

unit can be a unit name or a device type.

The default in batch mode is any eligible device.

The default in any other mode is the UADS unit name for the current TSO user.

WSECSPAC
  • integer
Specifies the amount of secondary space to allocate for work data sets, in the units given by SPACEUN.

The default is 20.

WSPACE
  • integer
Specifies the primary size of the work data sets in the units given by SPACEUN.

The default is 20.

XLIB
  • dsname
Specifies the linkage editor include library that is to be used for Db2 routines.

The default is '''prefix.SDSNLOAD'''.

XREF
  • NO
  • YES
Specifies whether a sorted cross-reference listing of symbolic names that are used in source statements is to be printed with output from the precompiler.
Note: Precompiler options do not affect ODBC behavior.

DSNH/DSN subcommand summary

Table 5 and Table 6 differentiate the functions that support BIND PLAN and BIND PACKAGE. Each table associates the DSNH CLIST parameter and its corresponding DSN BIND PLAN or BIND PACKAGE subcommand keyword, if any. In general:
  • The function and value of a CLIST parameter is identical to that of its corresponding DSN subcommand keyword unless otherwise noted.
  • A DSNH parameter value of NONE indicates that the corresponding DSN keyword is not specified on subcommand invocation. Exceptions are noted where applicable.

DSNH CLIST/BIND PLAN subcommand comparison

Table 5. DSNH CLIST/ BIND PLAN subcommand summary
DSNH CLIST BIND PLAN subcommand Comments
Parameter Value Keyword Value
ACQUIRE USE ALLOCATE ACQUIRE USE ALLOCATE  
ACTION REPLACE ADD ACTION REPLACE ADD  
BDMEM DEFAULT 1 dbrm-member-name NONE2 MEMBER dbrm-member-name 1 DBRM member name, which is obtained from one of the following sources, in the order listed:
  • BDBRMLIB member name
  • DBRMLIB member name
  • INPUT member name, or generated using dsname.

2 Keyword is not specified on subcommand invocation.

BIND YES 1 NO2 (command-verb)   1 Execute BIND PLAN subcommand.

2 Do not execute BIND PLAN subcommand.

BLIB NONE 1 dsname LIBRARY dbrm-pds-name 1 Keyword is not specified on subcommand invocation.
BnLIB1 NONE 2 dsname LIBRARY list of dbrm-pds-names 1 n can be 2, 3, 4, 5, 6, 7, or 8. Specify the first data set name by using the BLIB parameter. Specify any additional data set names by using this parameter.

2 No additional data set names.

BMEM1 NONE 2 list of dbrm-member-names MEMBER list of dbrm-member-names 1 Specify the first DBRM member name using the BDMEM parameter and any additional member names individually using this parameter.

2 No additional DBRM member names.

CACHESIZE NONE 1 decimal-value 2 CACHESIZE decimal-value 2 1 The size is provided by the subsystem.

2 Specify a size from 0 to 4096 bytes.

CICS NONE 1 application-ids CICS application-ids 1 Keyword is not specified on subcommand invocation.
CURRENTDATA YES NO NONE CURRENTDATA YES NO  
CURRENTSERVER NONE 1 location-name CURRENTSERVER location-name  
DBPROTOCOL NONE DRDA PRIVATE DBPROTOCOL DRDA PRIVATE If you specify PRIVATE, your application cannot include SQL statements that were added to Db2 after DB2® version 7.
BDBRMLIB DEFAULT 1 dsname(member) NONE2 LIBRARY dbrm-pds-name 1 The precompiler DBRMLIB data set is used. If the precompiler DBRMLIB is not specified, the default-generated DBRMLIB library that is based on the INPUT data set is used.

2Keyword is not specified on subcommand invocation.

DEFER NONE 1 PREPARE DEFER PREPARE 1 Keyword is not specified on subcommand invocation.
DEGREE 1 ANY DEGREE 1 ANY  
DISABLE NONE BATCH CICS DB2CALL IMS
  • DLIBATCH
  • IMSBMP
  • IMSMPP
RRSAF
DISABLE NONE BATCH CICS DB2CALL IMS
  • DLIBATCH
  • IMSBMP
  • IMSMPP
RRSAF
 
DISCONNECT EXPLICIT AUTOMATIC CONDITIONAL DISCONNECT EXPLICIT AUTOMATIC CONDITIONAL  
DLIBATCH NONE 1 list of connection-ids DLIBATCH connection-name 1Keyword is not specified on subcommand invocation.
DYNAMICRULES RUN BIND DYNAMICRULES RUN BIND  
ENABLE NONE * BATCH CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP RRSAF ENABLE NONE * BATCH CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP RRSAF  
EXPLAIN NO YES EXPLAIN NO YES  
FLAG I C E W FLAG I C E W  
IMSBMP NONE 1 imsid IMSBMP imsid 1Keyword is not specified on subcommand invocation.
IMSMPP NONE 1 imsid IMSMPP imsid 1Keyword is not specified on subcommand invocation.
ISOLATION RR RS CS UR ISOLATION RR RS CS UR  
KEEPDYNAMIC NO YES KEEPDYNAMIC NO YES  
NODEFER NONE 1 PREPARE NODEFER PREPARE 1Keyword is not specified on subcommand invocation.
OPTHINT (' ') (' hint-id ') OPTHINT (' ') (' hint-id ')  
OWNER NONE 1 authorization-id OWNER authorization-id 1Keyword is not specified on subcommand invocation.
PATH (schema-name) ( USER )(schema-name, USER …) PATH (schema-name) ( USER )(schema-name, USER …)  
PKLIST NONE 1 list of collection-ids and package- names PKLIST list of collection-ids and package- names 1 The package names are not specified on subcommand invocation.
PLAN plan-name 1 PLAN

(primary-keyword)

plan-name 1 plan-name must not be DEFAULT. The default plan-name is the first of the following available choices that are defined in the INPUT data set:
  • DBRM member name
  • Left-most qualifier
If no name is found, a plan is not created.
QUALIFIER NONE 1 implicit-qualifier QUALIFIER qualifier-name 1Keyword is not specified on subcommand invocation.
RELEASE COMMIT DEALLOCATE RELEASE COMMIT DEALLOCATE  
REOPT NONE 1 VARS REOPT NONE ALWAYS ONCE AUTO 1Keyword is not specified on subcommand invocation.
RETAIN NO 1 YES2 RETAIN   1Keyword is not specified on subcommand invocation.

2 Keyword is specified on subcommand invocation.

SQLRULES DB2 STD SQLRULES DB2 STD  
VALIDATE RUN BIND VALIDATE RUN BIND  

DSNH CLIST/BIND PACKAGE subcommand comparison

Table 6. DSNH CLIST/ BIND PACKAGE subcommand summary
DSNH CLIST BIND PACKAGE subcommand Comments
Parameter Value Keyword Value
PACTION REPLACE ADD ACTION

REPLACE
ADD
 
PBIND NO 1 YES2 (command-verb)   1 Do not execute BIND PACKAGE subcommand.

2 Execute BIND PACKAGE subcommand.

PCICS NONE 1 application-ids CICS application-ids 1Keyword is not specified on subcommand invocation.
COPY NONE 1 collection-id. package-id COPY collection-id. package-id 1Keyword is not specified on subcommand invocation.
COPYVER version-id COPYVER version-id  
PCURRENTDATA NO YES NONE CURRENTDATA YES NO  
PDBPROTOCO NONE DRDA PRIVATE DBPROTOCOL DRDA PRIVATE If you specift PRIVATE, your application cannot include SQL statements that were added to Db2 after DB2 version 7.
PDBRMLIB DEFAULT 1 dsname(member) NONE2 LIBRARY dbrm-pds-name 1 The precompiler DBRMLIB data set is used. If the precompiler DBRMLIB is not specified, the default-generated DBRMLIB library that is based on the INPUT data set is used.

2Keyword is not specified on subcommand invocation.

PDEFER NONE 1 PREPARE DEFER PREPARE 1Keyword is not specified on subcommand invocation.
PDEGREE 1 ANY DEGREE 1 ANY  
PDISABLE NONE BATCH CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP REMOTE RRSAF DISABLE NONE BATCH CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP REMOTE RRSAF  
PDLIBATCH NONE 1 list of connection-ids DLIBATCH connection-name 1Keyword is not specified on subcommand invocation.
PDMEM DEFAULT 1 dbrm-member- name NONE2 MEMBER dbrm-member- name 1 DBRM member name, which is obtained from one of the following sources, in the order listed:
  • PDBRMLIB member name
  • DBRMLIB member name
  • INPUT member name, or generated using dsname

2Keyword is not specified on subcommand invocation.

PDYNAMICRULES NONE RUN BIND DEFINE INVOKE DYNAMICRULES RUN BIND DEFINE INVOKE  
PENABLE NONE * BATCH CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP REMOTE RRSAF ENABLE NONE * BATCH CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP REMOTE RRSAF  
EXPLAIN NO YES EXPLAIN NO YES  
PFLAG I C E W FLAG I C E W  
PIMSBMP NONE 1 imsid IMSBMP imsid 1Keyword is not specified on subcommand invocation.
PIMSMPP NONE 1 imsid IMSMPP imsid 1Keyword is not specified on subcommand invocation.
PISOLATION NONE 1 RR RS CS UR NC ISOLATION1 RR RS CS UR NC 1 For local packages, the default value is the same as that of the plan that is appended at execution time. For remote packages, the default value is RR.
PKEEPDYNAMIC NONE NO YES KEEPDYNAMIC NO YES  
PNODEFER NONE1 PREPARE NODEFER PREPARE 1Keyword is not specified on subcommand invocation.
POPTHINT (' ') (' hint-id ') OPTHINT (' ') (' hint-id ')  
POWNER NONE 1 authorization-id OWNER authorization-id 1Keyword is not specified on subcommand invocation.
PACKAGE DEFAULT 1 location-name. collection-id PACKAGE location-name. collection-id 1 Member name that is defined in the INPUT parameter data set, or the data set name if no member name was specified.
PPATH (schema-name) ( USER )(schema-name, USER , …) PATH (schema-name) ( USER )(schema-name, USER , …)  
PQUALIFIER NONE 1 implicit-qualifier
QUALIFIER
qualifier-name 1Keyword is not specified on subcommand invocation.
PRELEASE NONE 1 COMMIT DEALLOCATE RELEASE1 COMMIT DEALLOCATE 1 For local packages, the default value is the same as that of the plan that is appended at execution time. For remote packages, the default value is NONE.
REOPT NONE 1 VARS REOPT NONE ALWAYS ONCE AUTO 1Keyword is not specified on subcommand invocation.
REMOTE NONE 1 location-name, <luname> REMOTE network-name 1Keyword is not specified on subcommand invocation.
REPLVER NONE 1 version-id REPLVER version-id 1 version-id is not specified on subcommand invocation.
SQLERROR NOPACKAGE CONTINUE SQLERROR NOPACKAGE CONTINUE  
PVALIDATE RUN BIND VALIDATE RUN BIND  

Usage notes

CICS translator: Do not use CICS translator options in the source language for assembler programs; pass the options to the translator with the CICSOPT option.

COBOL options: The COBOL DYNAM option has several restrictions:
  • You cannot use the option with CICS.
  • You must use the VS COBOL II library or the Language Environment (z/OS Language Environment) library.
  • To use the option with TSO or batch, the SDSNLOAD library must precede the IMS RESLIB in the step library, job library, or link list concatenations.
  • To use the option with IMS, the IMS RESLIB must precede DSNLOAD.

Several COBOL options require DD statements that are not provided by the DSNH CLIST, as shown in the following table.

Table 7. COBOL options that require additional DD statements
Option Statements required for...
CDECK SYSPUNCH
COUNT SYSCOUNT, SYSDBG, SYSDBOUT, SYSUT5, a debug file
DECK SYSPUNCH
DUMP SYSABEND, SYSDUMP, or SYSUDUMP
FDECK SYSPUNCH
FLOW SYSCOUNT, SYSDBG, SYSDBOUT, SYSUT5, a debug file
LVL SYSUT6
STATE SYSCOUNT, SYSDBG, SYSDBOUT, SYSUT5, a debug file
SYMDUMP SYSCOUNT, SYSDBG, SYSDBOUT, SYSUT5, a debug file
SYST SYSOUT
SYSx SYSOUx
TEST SYSUT5

COBOL parameters: The BUF and SIZE parameters passed to the COBOL compiler might need to be changed.

COPTION: Do not use the COPTION parameter to specify values for the LINECOUNT, SOURCE, TERM, and XREF compiler options; use the DSNH LINECOUNT, SOURCE, TERM, and XREF keywords.

Fortran and PL/I considerations: Variable-format input records are not supported.

Library limits: At most, eight bind libraries, four precompile libraries, four compile libraries, and four link-edit libraries can exist.

User-supplied application defaults module (dsnhdecp): The following steps are required to enable DSNH CLIST to load your user-supplied dsnhdecp module rather than the Db2-supplied dsnhdecp module:
  1. The JOBLIB or STEPLIB concatenation of any job or TSO userid that calls DSNH must allocate the library where the user-supplied dsnhdecp module resides (usually prefix.SDSNEXIT) before it allocates the library where the Db2-supplied dsnhdecp module resides (prefix.SDSNLOAD).
  2. The DSNH call should include the PCLOAD parameter, coded as follows:
    PCLOAD('*(DSNHPC)')
Link-edit:
  • DSNH cannot process programs that need additional link-edit control statements and cannot link-edit programs that use the call attachment facility.
  • You cannot use the NOLOAD and SYNTAX link-edit options.

NONE is a reserved word: NONE cannot be the name of an input or a load library, or the value of the string passed with PARMS.

SQL host variables: You must explicitly define SQL host variables.

SYSPROC: If compilation is done, the SYSPROC data set must include the Db2 CLIST library.

WORKUNIT parameter: You must use the WORKUNIT parameter when running the DSNH CLIST in batch mode. This ensures that the temporary and intermediate data sets are allocated to the correct devices.

Examples

Example: Using DSNH to prepare and execute a COBOL application
The following command precompiles, binds, compiles, link-edits, and runs the COBOL program in data set prefix.SDSNSAMP(DSN8BC4).
  • The compiler load module is in SYS1.LINKLIB (IKFCBL00).
  • Additional load modules to be included are in prefix.RUNLIB.LOAD and prefix.SDSNSAMP.
  • The load module is to be put into the data set prefix.RUNLIB.LOAD(DSN8BC4).
  • The plan name is DSN8BC81 for the bind and run.
  • DCLGEN data from prefix.SRCLIB.DATA is required for the precompile.
  • The DSNH CLIST is in your SYSPROC concatenation.
DSNH INPUT('
prefix
.SDSNSAMP(DSN8BC4)'') -
  COBLOAD('SYS1.LINKLIB(IKFCBL00)'') -
  LLIB('
prefix
.RUNLIB.LOAD'') -
  L2LIB('
prefix
.SDSNSAMP'') -
  LOAD('
prefix
.RUNLIB.LOAD'') -
  PLAN(DSN8BC81) -
  PLIB('
prefix
.SRCLIB.DATA'')
Example: Using DSNH to prepare and execute a PL/I application
The following command precompiles, binds, compiles, link-edits, and runs the COBOL program in data set prefix.SDSNSAMP.PLI(DSN8BP4).
  • The program is written in PL/I; the macro pass is not needed.
  • The PL/I compiler options MAP and LIST are to be used.
  • Additional load modules to be included are in prefix.RUNLIB.LOAD and prefix.SDSNSAMP.
  • The PL/I optimizing compiler load module is in library SYS2.LINKLIB(IEL0AA).
  • The Db2 subsystem identifier is SSTR.
  • The load module is put into the data set prefix.RUNLIB.LOAD(DSN8BC4).
  • Printed output is sent to the following data sets:
    Output Data set
    Precompiler listings prefix.PROG.PCLIST
    Compiler listings prefix.PROG.LIST
    Link-edit listings prefix.PROG.LIST
  • The plan name is DSN8BC81 for the bind and run.
  • The DCLGEN data from prefix.SRCLIB.DATA is required for the precompile.
DSNH INPUT('
prefix
.SDSNSAMP(DSN8BP4)'') -
  HOST(PLI) MACRO(NO) -
  COPTION ('MAP LIST') -
  LLIB('
prefix
.RUNLIB.LOAD'') -
  L2LIB('
prefix
.SDSNSAMP'') -
  PLILOAD('SYS2.LINKLIB(IEL0AA)'') -
  SYSTEM(SSTR) -
  LOAD('
prefix
.RUNLIB.LOAD'') -
  PRINT(PROG) -
  PLAN(DSN8BC81) -
  PLIB('
prefix
.SRCLIB.DATA'')

The COPTION parameters are enclosed between single apostrophes so that they are passed by TSO as a single parameter. If a single token is being passed as a parameter, no apostrophes are needed. That same rule applies to the PARMS and CICSOPT parameters.

If a data set name is being passed as a parameter, and you want TSO to add your user prefix, no apostrophes are needed. If the usual TSO prefixing and suffixing must not be performed, the data set name must be enclosed between sets of three apostrophes if the CLIST is executed implicitly, and sets of six apostrophes if the CLIST is executed explicitly.

The user prefix for that example is prefix; if it had been SMITH, the listing data set names would be as shown in the preceding example, except that SMITH would be used as the first level qualifier. For example, the compiler listings would have gone to SMITH.PROG.LIST.

Example: Using DSNH to prepare and execute a COBOL application
The following command precompiles, binds, compiles, link-edits, and runs the COBOL program in data set prefix.SDSNSAMP(DSN8BC4).
  • The compiler load module is in SYS1.LINKLIB (IKFCBL00).
  • Additional load modules to be included are in prefix.RUNLIB.LOAD and prefix.SDSNSAMP.
  • The load module is to be put into the data set prefix.RUNLIB.LOAD(DSN8BC4).
  • The plan name is DSN8BC81 for the bind and run.
  • DCLGEN data from prefix.SRCLIB.DATA is required for the precompile.
  • The DSNH CLIST is in your SYSPROC concatenation.
DSNH INPUT('
prefix
.SDSNSAMP(DSN8BC4)'') -
  COBLOAD('SYS1.LINKLIB(IKFCBL00)'') -
  LLIB('
prefix
.RUNLIB.LOAD'') -
  L2LIB('
prefix
.SDSNSAMP'') -
  LOAD('
prefix
.RUNLIB.LOAD'') -
  PLAN(DSN8BC81) -
  PLIB('
prefix
.SRCLIB.DATA'')
Example: Using DSNH to prepare and execute a C application
The following command precompiles, binds, compiles, link-edits, and runs the C program in data set prefix.SDSNSAMP(DSN8BD3).
  • The C linkage editor include library is EDC.V1R1M1.SEDCBASE
  • The C compiler load module is EDC.V1R1M1.SEDCCOMP(EDCCOMP)
  • Printed output is sent to the following data sets:
    Output Data set
    Precompiler listings user-id.TEMP.PCLIST
    Compiler listings user-id.TEMP.LIST
    Prelink-edit listings user-id.TEMP.PRELLIST
    Link-edit listings user-id.TEMP.LINKLIST
  • The following C DD names are allocated based on the PRINT keyword value:
    DD name Allocation
    SYSCPRT1 Used in the compiler step
    SYSUT101 Used in the compiler step
    SYSOUT Used in the prelink-edit step
    Note:
    1. SYSUT10 and SYSCPRT are always allocated to the same data set or destination.
  • SYSTERM is used in the compiler step. It is based on the TERM keyword.
  • CEEDUMP is used in the run step. It is based on the RUNOUT keyword.
  • The LOPTION keyword values of AMODE(31) and RMODE(ANY) are required when link editing the C sample program to ensure 31-bit addressability during execution.
ALLOC      DD(SYSPROC) DSN('
prefix
.SDSNCLST ') SHR
%DSNH BIND(YES) ACQUIRE(USE) ACTION(REPLACE)-
 EXPLAIN(NO) -
 CICSXLAT(NO) -
 COMPILE(YES) -
 CCLLIB('EDC.V1R1M1.SEDCBASE'')-
 CCLOAD('EDC.V1R1M1.SEDCCOMP(EDCCOMP)'')-
 DBRM('
prefix
.DBRMLIB.DATA(DSN8BD3)'')-
 DECIMAL(PERIOD) DELIMIT(DEFAULT) FLAG(I)-
 HOST(C) ISOLATION(RR)-
 INPUT('
prefix
.SDSNSAMP(DSN8BD3)'')-
 LINK(YES)-
 LLIB('
prefix
.RUNLIB.LOAD'')-
 L2LIB('
prefix
.SDSNLOAD'')-
 LOAD('
prefix
.RUNLIB.LOAD'')-
 LOPTION('AMODE(31) RMODE(ANY)')-
 MACRO(NO)-
 OUTNAME(TEMP)-
 PLAN(DSN8BD31) PRECOMP(YES)-
 PLIB('
prefix
.SDSNSAMP'')-
 PRELINK(NO)-
 POPTION(NONE)-
 PRINT(TEMP) RCTERM(8)-
 RELEASE(COMMIT) RETAIN(YES)-
 RUN(NO) RUNIN(TERM)-
 RUNOUT(TERM) SOURCE(YES)-
 SYSTEM(DSN) SQLDELIM(DEFAULT)-
 VALIDATE(RUN)