DSNH命令程序(TSO CLIST)

DSNH命令程序(TSO CLIST)是一种强大且简便的应用程序执行准备方法。

DSNH命令过程(TSO CLIST)准备一个程序供执行,并在TSO下运行。 只需发出一个命令,您就可以选择准备申请所需的众多选项,并在TSO下执行。

DSNH处理是一个顺序过程,可以包括下表中列出的任何操作。

您可以执行单个步骤或一系列步骤,并随时结束流程。 任何被跳过的步骤都必须是DSNH之前成功完成的。

表 1. DSNH动作和相应的步骤名称
为了调用...... 使用步骤名称
PL/I 宏处理器 MP
Db2 预编译器 PC
CICS® 命令语言翻译器 TR
DSN BIND PLAN 子命令,用于绑定计划 BI
DSN BIND PACKAGE 子命令,用于绑定软件包 BP
程序编译器或汇编器 一氧化碳
用于包含编译时参数的C编译器预链接实用程序 损益
链接编辑器,用于生成可执行的加载模块 LE
DSN RUN子命令用于执行程序 RU
注意: 步骤名称在表 3 的标题中使用。

环境 DSNH

DSNH CLIST可以在TSO前台运行,也可以在TSO终端监控程序下分批运行。 DB2I 使用预编译器面板上的DSNH CLIST来控制程序准备。 您可以在“其他选项”行中通过 DB2I 面板传递DSNH参数。

数据共享范围 :会员

授权 DSNH

DSNH不需要特别授权。 然而,如果DSNH绑定一个软件包或计划,或运行一个计划,则需要授权才能执行这些操作:

  • 请参阅绑定软件包授权信息,了解绑定软件包所需的权限。
  • 请参阅绑定计划所需的权限的绑定计划授权信息。
  • 请参阅运行授权信息,了解运行计划所需的权限。

语法 DSNH

阅读语法图跳过可视化语法图DSNHINPUT( 数据集名称)列表参数

DSNH CLIST参数摘要

CLIST参数为每个步骤提供了处理选项;在执行DSNH时指定这些选项。 如表3 所示,一些参数用于多个步骤。 下表使用以下符号显示了每个参数的使用位置:
  • 任何单元格中的Y都表示该行开头列出的选项用于列顶部显示的步骤。
  • 任何单元格中的 * 表示行首列出的选项在另一个步骤中使用,而该步骤会影响名称出现在列顶部的步骤。

绑定计划(BIND PLAN)和绑定包(BIND PACKAGE)步骤的CLIST参数标注 :绑定计划(BIND PLAN)和绑定包(BIND PACKAGE)的许多参数具有相同的功能,且拼写相似。 绑定计划(BIND PLAN)和绑定包(BIND PACKAGE)的CLIST参数与常规参数不同,且通过前缀区分。 以字母B开头的参数名适用于BIND PLAN子命令;以字母P开头的参数名适用于BIND PACKAGE。 下表显示了单个参数名称的可能变化。

表 2. DSNH CLIST 前缀规则
参数值 功能或子命令 示例
参数 如果没有指定前缀,则参数适用于单个函数或子命令。 DBRMLIB
B/参数 前缀B表示该参数的此变化仅适用于绑定计划步骤。 B/DBRMLIB
P/参数 前缀P表示该参数的此变化仅适用于绑定包步骤。 P/DBRMLIB

在下表中,前缀与 Db2 参数名称之间用斜线(/)分隔。双字母步骤名称的解释请参阅表1

表 3. DSNH CLIST参数摘要
选项 MP PC TR BI BP 一氧化碳 损益 LE RU
ACQUIRE       Y         *
P/行动       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    
CCLIB               Y  
CCLOAD           Y      
CCMSGS           Y Y    
CCOLIB             Y    
CCPLIB               Y  
CCPMSGS             Y    
CCSID   Y              
CCSLIB           Y      
P/ CICS       Y Y        
退职公务员协委会     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  
科博联               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
复印件 Y         Y      
COPY         Y        
复印机         Y        
CPPCLASS             Y    
CPPCLINK             Y    
CPPCLLIB               Y  
CPPCSLIB           Y      
CPPLLIB             Y    
CPPPMSGS             Y    
CPPSLIB           Y      
CPPUTIL           Y      
CURRENTDATA       Y Y        
当前浏览器       Y          
日期   Y              
P/DB协议       Y Y        
P/B/DBRMLIB   Y   Y Y        
决定   Y              
DECIMAL   Y       *      
P/DEFER       Y Y        
学位       Y Y        
DELIMIT   Y Y     Y      
启用/禁用       Y Y        
DISCONNECT       Y -        
P/DLIBATCH       Y Y        
P/动态规则       Y Y        
启用       Y Y        
入门级               Y  
EXPLAIN       Y Y        
P/FLAG Y Y Y Y Y Y      
FORTLIB               Y  
前置加载           Y      
主机 Y Y Y *   Y   Y Y
P/IMSBMP       Y Y        
P/IMSMPP       Y Y        
IMSPRE               Y  
输入 Y Y * *   Y   Y Y
P/隔离       Y Y        
P/保持动态       Y Y        
LINECOUNT Y Y Y     Y      
链接               Y  
LLIB               Y  
LnLIB               Y  
LOAD               Y Y
LOPTION               Y  
MACRO Y   Y            
新风   Y              
禁止 Y                
P/NODEFER       Y Y        
P/OPTHINT       Y Y        
选项   Y Y         Y Y
输出名称 Y Y       Y   Y Y
业主       Y Y        
PACKAGE         Y        
parms                 Y
通过   Y              
P/路径       Y Y        
PCLOAD   Y              
pkList       Y          
PLAN       Y         Y
PLIB   Y              
PnLIB   Y              
PLI2LIB               Y  
PLILIB               Y  
PLILOAD Y         Y      
PLIPLNK               Y  
PLIPMSG               Y  
流行             Y    
PRECOMP   Y              
预链接             Y    
PRINT Y Y Y     Y   Y  
PSECSPAC Y Y Y     Y     Y
PSPACE Y Y Y     Y     Y
限定词       Y Y        
RCTERM Y Y Y Y Y Y Y   Y
新闻稿       Y Y        
远程         Y        
P/REOPT       Y Y        
REPLVER         Y        
RETAIN       Y          
运行   Y Y         Y Y
运行                 Y
偏摆                 Y
SOMDLLI           Y Y    
SOURCE Y Y Y     Y      
SPACEUN Y Y Y     Y     Y
SQL   Y              
SQL分隔符   Y              
SQLERROR         Y        
SQLRULES       Y          
STDSQL   Y              
后缀 Y Y              
SYSTEM       * *       Y
TERM Y Y       Y   Y  
时间   Y              
P/验证       Y Y        
版本   Y              
WORKUNIT Y Y Y     Y      
WSECSPAC Y Y Y     Y      
W空间 Y Y Y     Y      
XLIB               Y  
参考 Y Y       Y   Y  

一般参数描述 DSNH

由于名称和功能相似, 表4中的参数与绑定计划(BIND PLAN)和绑定包(BIND PACKAGE)的CLIST参数分开描述。 摘要:
  • 绑定计划参数,请参阅表5
  • 绑定包参数,请参阅表6
DSNH语句中唯一必需的参数是INPUT,其他参数为可选参数。 在表4中
  • 参数值必须用括号括起来。
  • 参数值无需用单引号括起来,除非出现以下情况:
    • 如果值是带有分隔符的标记列表,则值必须用单引号括起来。
    • 如果值为数据集名称,则您的用户标识符将作为前缀添加。 为避免出现前缀,请将数据集名称用三个撇号括起来。
  • 大多数参数值是数据集名称 (dsname ),不能包含成员名称。 参数描述中注明了例外情况。
  • 下划线表示默认值。 安装 Db2 后,默认名称可以更改为您的网站专用名称。
表 4. DSNH CLIST 常规参数
参数 注释
ASMLIB
  • 数据集名
指定一个数据集作为 High Level Assembler 的标准MACLIB。

默认值为 ''' SYS1.MACLIB '''。

ASMLOAD
  • 数据集名
指定包含 High Level Assembler 加载模块的数据集。

dsname 可以包含成员名称。

默认值为 ''' SYS1.LINKLIB(ASMA90 )'''。

CCLINK
  • 数据集名
指定包含 IBM®Language Environment® 预链接编辑器调用加载模块的数据集,该模块用于准备C程序。

dsname 可以包含成员名称。

默认值为 ''' CEE.SCEERUN (EDCPRLK)'''。

CCLIB
  • 数据集名
指定一个数据集,其中包含链接编辑器的C编译器例程模块。

默认值为 ''' CEE.SCEELKED '''。

CCLOAD
  • 数据集名
指定包含C编译器调用加载模块的数据集。

dsname 可以包含成员名称。

默认值为 ''' CBC.SCCNCMP (CCNDRVR)'''。

CCMSGS
  • 数据集名
指定包含C编译器消息的数据集。 仅 C/370 需要此数据集。

dsname 可以包含成员名称。

默认值为 '''EDC.V1R2M0.SEDCDMSG(EDCMSGE)'''.

CCSID
  • 整数

为源SQL语句指定CCSID。

CCOLIB

NONE

数据集名

指定在执行预链接实用程序步骤时包含包含C对象模块的数据集。
CCPLIB
  • NONE
  • 数据集名
指定包含 PL/I 例程的包含模块的数据集。 此参数仅适用于 IBM C/370 版本 2 或更早版本。
CCPMSGS
  • 数据集名
指定一个数据集,其中包含 IBM 预链接编辑器在准备C程序时使用的消息库。

默认值为“''' CEE.SCEEMSGP (EDCPMSGE)”''。

CCSLIB
  • 数据集名
指定包含C编译器头文件的数据集。

默认值为 ''' CEE.SCEEH.H '''。

CICSOPT
  • NONE
  • option-list
指定附加 CICS 翻译选项列表。 有关翻译选项的信息,请参阅相应的 CICS 应用程序编程参考资料。

默认值 “无”表示不添加任何选项。

CICSPRE
  • prefix
指定 CICS 库的前缀。 图书馆名称如下:
  • 译者专用前缀.LOADLIB
  • 前缀.PL1LIBn用于 PL/I 包含
  • 前缀.COBLIB 用于 COBOL 包含

如果留空,则使用CICSLLIB、CICSPLIB、CICSCOB。

默认值为空。

CICSLLIB
  • 数据集名
指定 CICS 加载库。 要使用此库,请将CICSPRE参数留空。

默认设置位于安装面板 DSNTIP3。

CICSPLIB
  • 数据集名
指定 CICS 库( PL/I )。 要使用此库,请将CICSPRE参数留空。

默认设置位于安装面板 DSNTIP3。

退职公务员协委会
  • 数据集名
指定 CICS 库的 COBOL。 要使用此库,请将CICSPRE参数留空。

默认设置位于安装面板 DSNTIP3。

CICSVER
  • 21
  • 31
  • 33
  • 41

指定 CICS 版本。 此字段被忽略,因为当前版本的 CICS 不需要 DSNH 来处理版本特定的注意事项。

CICSXLAT
  • YES
指定是否执行 CICS 命令转换器。 仅当您使用RUN( CICS )时,此参数才有效。 您不能将此参数与翻译器的MARGINS选项一起使用。

默认值为“是”。 DB2I 面板的默认值为否。

CLIB C nLIB
  • NONE
  • 数据集名
指定一个数据集,其中包含编译器或汇编器要包含的主机语言源代码语句。 参数 C n LIB(其中 n 可以是 2、3 或 4)是 CLIB 的扩展,用于简化传递数据集名称列表。

使用默认值 “无”表示不指定数据集。

COBICOMP
  • 数据集名
指定编译所需的 IBMCOBOL 数据集。

默认值为 ''' IGY.SIGYCOMP '''。

科博联
  • 数据集名
指定链接编辑所需的 IBMCOBOL 数据集。

默认值为 ''' CEE.SCEELKED '''。

COBIPLNK
  • 数据集名

指定包含 IBM 环境预链接编辑器调用加载模块的数据集,该模块用于准备 COBOL 程序。

dsname 可以包含成员名称。

默认值为 ''' CEE.SCEERUN (EDCPRLK)'''。

COBIPMSG
  • 数据集名

指定包含消息库的数据集,该消息库将在 IBM 预链接编辑器准备 COBOL 程序时使用。

dsname 可以包含成员名称。

默认值为“''' CEE.SCEEMSGP (EDCPMSGE)”''。

COBLIB
  • 数据集名
指定用于OS/VS COBOL 例程的链接编辑器包含库。

此参数已废弃。

COBLOAD
  • 数据集名
指定包含OS/VS COBOL 编译器加载模块的数据集。

此参数已废弃。

COBSOM
  • 数据集名
指定访问SOM对象所需的 IBM 系统对象模型(SOM)数据集。

此参数已废弃。

COB2CICS
  • 数据集名
指定用于 VS COBOL IICICS 例程的链接编辑器包含库。

此参数已废弃。

COB2LIB
  • 数据集名
指定用于 VS COBOL II 或 COBOL/370 例程的链接编辑器包含库。

此参数已废弃。

COB2LOAD
  • 数据集名
指定包含 VS COBOL II 或 COBOL/370 编译器加载模块的数据集。

此参数已废弃。

COMPILE
  • YES
指定在预编译步骤成功时是否执行编译器或汇编器。
CONNECT
  • (1)
  • 2
指定CONNECT SQL语句应作为类型1 CONNECT还是类型2 CONNECT语句处理。 DSNH(TSO CLIST)命令不接受CT(1)和CT(2)作为预编译选项的缩写。

默认值为CONNECT(2)。

CONTROL
  • NONE
  • CONLIST
  • LIST
  • 符号列表
请详细说明,以便我们追踪不存在的数据集的分配情况。 如果您遇到原因不明的故障,请使用此参数。

CONLIST在符号替换后和命令执行前显示CLIST命令。

LIST在符号替换后和命令执行前显示TSO命令。

SYMLIST在符号替换之前显示所有可执行语句(TSO命令和CLIST语句)。

复印件
  • NONE
  • string
指定编译器或汇编器选项列表。 更多信息,请参阅手册,其中描述了您正在使用的特定语言的编译器或汇编器选项。 有关某些选项的限制列表,请参阅 COBOL Options

NONE表示没有选择。

CPPCLASS
  • 数据集名
指定包含C++类库的数据集。

默认值为 ''' CBC.SCLBCPP '''。

CPPCLINK
  • 数据集名

指定包含 IBMLanguage Environment 预链接编辑器调用加载模块的数据集,该模块用于准备C程序。

默认值为 ''' CEE.SCEERUN (EDCPRLK)'''。

CPPCLLIB
  • 数据集名
指定C++编译器使用的C链接编辑器自动调用库的数据集。

默认值为 ''' CEE.SCEELKED '''。

CPPCSLIB
  • 数据集名
指定一个数据集,其中包含C++编译器使用的C编译器头文件。

默认值为 ''' CEE.SCEEH.H '''。

CPPLLIB
  • 数据集名
指定包含C++预链接自动调用库的数据集。

默认值为 ''' CEE.SCEECPP '''。

CPPPMSGS
  • 数据集名

指定数据集,其中包含 IBM 预链接编辑器在准备C++程序时使用的消息库。

dsname 可以包含成员名称。

默认值为“''' CEE.SCEEMSGP (EDCPMSGE)”''。

CPPSLIB
  • 数据集名
指定包含类库C++头文件的数据集。

默认值为 ''' CBC.SCLBH.HPP '''。

CPPUTIL
  • 数据集名
指定包含C++编译器设置和执行步骤的数据集。

默认值为 ''' CBC.SCCNUTL '''。

日期
  • ISO
  • JIS
  • USA
  • EUR
  • LOCAL
指定要返回的日期值的格式,该格式将覆盖位置默认值中指定的格式。

默认值是安装 Db2 时提供的值,并写入数据专用应用程序的默认加载模块中。

DBRMLIB 默认值 :dsname(成员) 无 指定包含DBRM库的分区数据集和可选的成员名称,以及在 Db2 预编译步骤中使用的成员名称。 因为您可以在每个单独的阶段指定单独的DBRM成员和库名称,所以您必须使用DBRMLIB参数和相关的前缀来标识特定的阶段。

DBRMLIB指定了在 Db2 预编译处理期间在DBRMLIB DD语句中定义的DBRM库和成员。

DEFAULT表示为 Db2 预编译程序定义的DBRM库数据集 (DBRMLIB(参数) )也用于 LIBRARY(dsname) 子命令关键字。 如果未指定预编译器 DBRMLIB,则使用基于 INPUT 数据集名称的默认生成的 DBRMLIB 库。

dsname 使用DSNH OUTNAME参数值或其默认值TEMP生成,并在前缀后附加常量DBRM;例如,.DBRM或. 外名 TEMP.DBRM

成员是从DSNH INPUT参数中指定的数据集成员名称或数据集名称中获取的,如下所示:
  • 鉴于输入 (输出名称.DBRM (dbrmmem) ):
    • outname.DBRM(dbrmmem ) - 如果指定了成员名称
    • outname.DBRM(dbrm ) - 如果未指定成员名称

NONE表示在调用时未指定 LIBRARY(dsname) 子命令关键字。

决定
  • 缺省值
  • 15
  • 31
指定十进制数的最大精度。

DEFAULT 表示在安装过程中为应用程序编程默认面板上的十进制运算字段选择的值。

数值15表示,对精度为15或更小的十进制数值进行十进制运算时,将按照现有的规则确定结果的精度和范围。

数值31表示,对精度为15到31的小数进行十进制运算时,将按照新的规则确定结果的精度和范围。

DECARTH 被忽略,因为 Fortran。

DECIMAL
  • 逗号
  • PERIOD
指定十进制和浮点文字的小数点指示符。 DECIMAL仅适用于 COBOL 程序;PERIOD强制应用于所有其他程序。

COMMA表示逗号。

PERIOD(句号)将指示符设置为句号。

默认值为小数点字段中的值,在安装过程中在 Db2 应用程序编程默认值面板上设置。

DELIMIT
  • 缺省值
  • 使徒
  • QUOTE
指定 APOST 或 QUOTE 预编译器选项,以指示主机语言语句中使用的字符串分隔符。 DELIMIT仅对 COBOL 程序有效;APOST对所有其他程序强制生效。

DEFAULT 表示在安装期间为应用程序编程默认面板上的字符串分隔符字段选择的值。

APOST 规定将撇号作为主机语言语句的字符串分隔符。

QUOTE 指定引号作为主机语言语句的字符串分隔符。

入门级
  • 参赛名称
指定由链接编辑器分配的入口点。
默认值取决于主机语言和RUN的值。
  • 对于 PL/I 语言,ENTRY值的默认值为:
    • 如果运行值是 CICS
    • PLISTART适用于任何其他RUN值。
  • 对于汇编语言,如果运行值是 IMS ,则输入值的默认值为DLITASM。
  • 对于 COBOL ,当RUN值为 IMS 时,ENTRY值的默认值为DLITCBL。
  • 对于任何其他语言,任何运行值对应的条目值默认均为无(无指定入口点)。
标志
  • I
  • C
  • E
  • W
指定您希望看到的信息。 使用以下值之一来显示相应类型的消息:
I
所有信息、警告、错误和完成信息
W
仅显示警告、错误和完成信息
E
仅显示错误和完成信息
C
仅显示完成消息
FORTLIB
  • 数据集名
指定链接编辑器包含的库,用于 Fortran 例程。

默认的邮箱地址是 '''SYS1.VSF2FORT'''。

前置加载
  • 数据集名
指定包含VS Fortran 编译器加载模块的数据集。

dsname 可以包含成员名称。

默认值为 '''SYS1.VSF2VCOMP(FORTVS2 )'''。

主机
  • ASM
  • C
  • CPP
  • IBMCOB
  • FORTRAN
  • PLI
定义嵌入SQL语句的主语言。

COBOL COB2 也是可接受的值,但已过时。

如果您的程序属于以下类型,则无法使用 DB2I 进行准备:
  • 一个使用面向对象扩展的 COBOL 程序
  • 使用面向对象的扩展,由多个编译单元组成的C++程序

默认值为LANGUAGE DEFAULT字段的值,该字段在安装过程中设置在 Db2 APPLICATION PROGRAMMING DEFAULTS面板上。

IMSPRE
  • prefix
指定RESLIB的前缀,用于链接编辑器为 IMS 包含的例程。

默认值为IMSVS。

输入
  • 数据集名
指定包含源语言和SQL语句的数据集。

dsname 可以包含成员名称。

LINECOUNT
  • 整数
指定每页打印输出中包含标题在内的行数。

默认值为60。

链接
  • YES
指定在编译或汇编成功完成后是否执行链接编辑器。

YES表示链接编辑器将被执行。 预编译器中的DSNHLI入口指向由RUN参数指定的相应语言接口模块。

NO表示跳过链接编辑器的处理。

LLIB LnLIB
  • NONE
  • 数据集名
指定一个数据集,其中包含链接编辑器要包含的对象或加载模块。 参数 L n LIB (其中 n 可以是2、3或4)是LLIB的扩展,用于简化传递数据集名称列表的过程。

LLIB和 LnLIB 库与XLIB库相连,链接编辑器包含特定主机语言的库。 对象和加载模块库不能在此串联中混合使用。

使用默认值 “无”表示不指定数据集。

LOAD
  • 数据集名
指定一个数据集,其中包含链接编辑器(加载模块)的输出。

dsname 可以包含成员名称。

默认的邮箱地址是 RUNLIB.LOAD。

LOPTION
  • NONE
  • string
指定链接编辑器选项列表。 如需了解可选配置,请参阅相应的 z/OS® 出版物。

使用默认值 “无”表示不提供选项。

MACRO
  • YES
指定宏预处理器是否在 PL/I 程序预编译之前执行。 若使用 PL/I 宏处理器,则不得通过 PL/I 的*PROCESS语句向 PL/I 编译器传递选项。 DSNH命令的COPTION参数可用于向 PL/I 编译器传递所需选项。
新风 更改开始
  • V8
  • V9
  • V10
  • V11
  • 更改开始V12更改结束
更改结束
指定是否允许 Db2 的新版本引入的函数语法。

NEWFUN(NO)和NEWFUN(YES)已被弃用。

禁止
  • NO
  • YES
指定静态SQL语句中的所有FOR UPDATE OF子句是否可选。

当指定NOFOR(YES)时,FOR UPDATE OF子句是可选的。 用户可以更新任何有权限的列。

当指定NOFOR(NO)时,如果游标用于位置更新,则DECLARE CURSOR语句中出现的任何查询都必须包含FOR UPDATE OF子句。 该条款必须指定光标可以更新的所有列。

当STDSQL(YES)选项生效时,该选项即被启用。

选项
  • NO
  • YES
指定是否打印执行预编译器或 CICS 命令转换器时使用的选项以及输出列表。
输出名称
  • TEMP
  • string
指定用于形成中间数据集名称的前缀。

字符串不能包含在撇号之间,且不能与输入的dsname 的首字母相同。 它不能包含特殊字符。

parms
  • NONE
  • string
指定一个参数字符串,在编译程序执行期间传递给该程序。 仅当运行时执行环境为TSO时,此参数才有效。 如果指定CAF为运行时执行环境,则忽略此参数。

使用默认值 “无”表示不传递任何参数字符串。

通过
  • ONE或1
  • 两个或2
指定预编译器要使用的遍数。 一次传递可以节省处理时间,但前提是程序中宿主变量的声明必须先于对这些变量的引用。 PASS对 COBOL 或 Fortran 无效;强制使用ONE。

默认值为ONE或1,适用于 PL/I 和C。

默认值为2或2(汇编程序)。

PCLOAD
  • 数据集名
指定预编译器加载模块。

dsname 可以包含成员名称。

默认值为“*(DSNHPC)”。

PLAN
  • 计划名称
指定绑定过程创建的应用程序计划。
默认计划名称是输入数据集中定义的以下可用选项中的第一个:
  • DBRM会员名称
  • 最左侧限定符

计划名称不能为默认值。

如果没有找到名字,就不会创建计划。

PLIB PnLIB
  • NONE
  • 数据集名
指定在预编译期间包含SQL INCLUDE语句的主机语言源代码或SQL语句的数据集。 参数 PnLIB (其中 n 可以是2、3或4)是PLIB的扩展,用于简化传递数据集名称列表的过程。

使用“无”表示没有数据集。

PLI2LIB
  • 数据集名
指定用于 PL/I 例程的链接编辑器通用库。

此参数已废弃。

PLILIB
  • 数据集名
指定用于 PL/I 例程的链接编辑器基础库。

默认值为 ''' CEE.SCEELKED '''。

PLILOAD
  • 数据集名
指定包含 PL/I 编译器加载模块的数据集。

dsname 可以包含成员名称。

默认值为''' IBM.SIBMZCMP (IBMZPLI)'''。

PLIPLNK
  • 数据集名

指定包含 IBM 环境预链接编辑器调用加载模块的数据集,该模块用于准备 PL/I 程序。

dsname 可以包含成员名称。

默认值为 ''' CEE.SCEERUN (EDCPRLK)'''。

PLIPMSG
  • 数据集名

指定包含消息库的数据集,该消息库将由 IBM 预链接编辑器用于准备 PL/I 程序。

dsname 可以包含成员名称。

默认值为“''' CEE.SCEEMSGP (EDCPMSGE)”''。

流行
  • NONE
  • string
指定C编译器语言预链接实用程序选项列表

使用默认值 “无”表示不提供选项。

PRECOMP
  • YES
指定是否预编译。
预链接
  • YES
指定是否执行C编译器预链接实用程序,以使您的程序可重入。 该实用程序将编译时初始化信息(针对可写静态)从一个或多个文本组连接到一个初始化单元中。 如果需要这一步,则必须紧跟编译器步骤,并先于链接编辑步骤。

此参数可应用于也包含预链接步骤的IBMCOB。 预链接步骤是否适用于C或IBMCOB取决于HOST参数的值C、CPP或IBMCOB的选择。

C和IBMCOB的预链接过程描述分别在其各自的语言出版物中呈现。

如果不支持预链接实用程序的HOST语言编译器指定或默认了PRELINK(YES),则 Db2 将发出警告消息 DSNH760I ,并绕过预链接实用程序的处理。

PRINT
  • NONE
  • 数据集名
  • LEAVE
  • TERM
指定打印输出的发送位置,包括选项列表、源文件、交叉引用、错误和摘要信息。

默认值 “无”会忽略打印输出。

dsname 指定用于输出的数据集。 不要在双引号之间包含 dsname。 当前用户配置文件以 dsname 为前缀。 还会添加以下后缀:
  • SYSCPRT.LIST 用于 PL/I 宏列表(这些列表会被编译器列表覆盖)
  • 预编译器列表的PCLIST
  • CXLIST for CICS 命令翻译列表
  • 编译器列表

    当指定HOST(CPP)时,编译器步骤将忽略PRINT参数。

  • SYSOUT.PRELLIST 用于C预链接实用程序列表
  • 链接列表,用于链接编辑列表
LEAVE将输出发送到指定的打印数据集。 您可以通过以下方式之一分配打印数据集:
  • 动态
  • 在用于运行DSNH CLIST的JCL中(如果处于批处理模式)
  • 使用 TSO ALLOCATE 命令(在运行 DSNH 之前)

TERM将输出发送到终端。

PSECSPAC
  • 整数
指定为打印数据集分配的辅助空间量,单位为SPACEUN给出的单位。

默认值为20。

PSPACE
  • 整数
以SPACEUN给出的单位指定打印数据集的主要大小。

默认值为20。

RCTERM
  • 整数
指定预编译步骤返回代码的最小值,以防止后续步骤执行。

默认值为8。

运行
  • TSO或YES
  • 要么批量生产,要么不生产
  • CAF
  • CICS
  • IMS
  • RRSAF
指定在上述步骤成功的情况下是否执行编译的程序,以及执行环境。 您对运行参数的选择可能会影响对LLIB的选择。

TSO或YES表示应用程序将在TSO环境中执行,并执行编译后的程序。

BATCH或NO表示不计划执行应用程序,并默认将TSO作为执行环境。

CAF表示应用程序将在呼叫附件设施环境中执行。 使用 CAF 指定 BATCH 或 NO,表示不计划执行应用程序,而是将 CAF 作为执行环境。 (批号,咖啡因)或(否,咖啡因)

CICS 表示应用程序不计划执行,并指定 为运行时执行环境。 CICS CICS 应用程序无法在TSO中运行。

IMS 表示应用程序不计划执行,并指定 为运行时执行环境。 IMS IMS 应用程序无法在TSO中运行。

RRSAF表示应用程序不会被安排执行,并确定RRSAF为运行时执行环境。 RRSAF应用程序无法在TSO中运行。

运行
  • TERM
  • 数据集名
  • LEAVE
指定在何处获取RUN步骤的输入。

默认值 TERM从终端获取输入。

dsname 指定用于输入的数据集。

如果仅执行了LINK和RUN这两个步骤,则LEAVE会从SYSIN获取输入。 如果语言是 Fortran ,则从 FT05F001 获取输入。 请勿在其他任何情况下使用“离开”一词。

NONE 表示没有分配输入文件。

偏摆
  • TERM
  • 数据集名
  • LEAVE
指定将RUN步骤的输出发送到哪里。

默认的TERM会将输出发送到终端。

dsname 指定接收输出的数据集。

如果仅执行了LINK和RUN这两个步骤,则LEAVE会将输出发送到SYSPRINT。 如果语言是 Fortran ,则LEAVE将输出发送至 FT06F001。 请勿在其他任何情况下使用“离开”一词。

NONE 不会为 RUN 步骤分配输出文件。

SOMDLLI
  • 数据集名
指定SOM/ MVS DLL导入库的名称。

此参数已废弃。

SOURCE
  • NO
  • YES
指定是否将源代码和诊断信息与预编译器、 CICS 命令翻译器和编译器的输出一起打印。
SPACEUN
  • 磁道
  • 汽缸
指定 PSPACE 和 WSPACE 的空间单位。

TRACK将空间单位设置为单轨。

CYLINDER(气缸)表示空间单元为一个气缸。

SQL
  • DB2
  • 全部
指定如何解释SQL语句并检查语法,供 Db2 for z/OS 或其他数据库管理系统使用。

默认值 DB2 表示SQL语句将被解释,语法将被检查,供 Db2 for z/OS 使用。 SQL( DB2 )是DRDA访问服务器为 Db2 子系统时的推荐模式。

ALL 表示 SQL 语句将被解释为供非 Db2 for z/OS 的数据库管理系统使用。 SQL语法检查推迟到绑定时进行,以便远程位置可以绑定生成的DBRM。 当SQL(ALL)生效时,如果SAA保留字被用作标识符,预编译器会发出一条信息。 如果您编写的应用程序要在非 Db2 for z/OS 环境中运行,建议使用SQL(ALL)模式。

默认值为SQL( DB2 )。

SQL分隔符
  • 缺省值
  • APOSTSQL
  • QUOTESQL
指定APOSTSQL或QUOTESQL预编译器选项,以设置SQL字符串分隔符,并隐含地设置SQL语句中的SQL转义字符。 无论选择哪个字符作为字符串分隔符,另一个字符都将用于SQL转义字符。

此参数仅对 COBOL 有效。 对于 PL/I、 Fortran 及汇编语言程序,预编译器强制启用APOSTSQL选项。

DEFAULT 表示在安装期间为应用程序编程默认面板上的 SQL 字符串分隔符字段选择的值。

APOSTSQL规定字符串分隔符为单引号('),转义字符为双引号(")。

QUOTESQL 指定字符串分隔符为引号("),转义字符为单引号(')。

STDSQL
  • NO
  • 是或86
指定是否使用ANSI规则子集解释SQL。

NO指定使用 Db2 规则。

YES或86自动意味着NOFOR选项被使用。

后缀
  • YES
指定是否必须遵循TSO标准命名约定。 该约定在输入数据集的名称前添加一个 TSO 授权 ID 前缀和一个主机语言后缀(除非该名称用单引号括起来,或者已经以适当的后缀结尾)。 例如,文件名会变成 userid.name. COBOL、 userid.name.PLI、 userid.name. Fortran 或 userid.name.ASM。
SYSTEM 子系统名称 指定 z/OS 操作系统所知的 Db2 子系统名称。

默认值为安装定义的子系统名称(通常为DSN)。

TERM
  • TERM
  • 数据集名
  • LEAVE
指定终端输出的发送位置,包括错误信息、错误语句和摘要信息。

默认的TERM会将输出发送到终端。

dsname 指定用于终端输出的数据集。 不要在双引号之间包含 dsname。 以下后缀将添加到 dsname中
  • 预编译器输出的PCTERM
  • 编译器输出列表

LEAVE将输出发送到SYSTERM的当前分配。

NONE省略终端输出。

时间
  • ISO
  • JIS
  • USA
  • EUR
  • LOCAL
指定返回时间值的格式,覆盖位置默认值指定的格式。

没有默认值 ,因为此选项会覆盖之前指定的默认值。

版本
  • 版本号
  • AUTO
Db2 预编译步骤中指定程序和关联DBRM的版本ID名称。

AUTO 指定使用一致性标记来生成版本 ID。 如果一致性标记是时间戳,则时间戳将被转换为ISO字符格式,并用作版本标识符。

如果在预编译器调用时指定了版本ID, 则默认为无版本ID。

WORKUNIT
  • 单元
指定用于打印和工作数据集的设备。

单元可以是单元名称或设备类型。

批量模式的默认值为任何符合条件的设备。

在任何其他模式下, 默认值均为当前 TSO 用户的 UADS 单元名称。

WSECSPAC
  • 整数
指定为工作数据集分配的辅助空间量,单位为SPACEUN给出的单位。

默认值为20。

W空间
  • 整数
以SPACEUN给出的单位指定工作数据集的主要大小。

默认值为20。

XLIB
  • 数据集名
指定链接编辑器包含的库,用于 Db2 例程。

默认值为 “prefix.SDSNLOAD ”。

参考
  • NO
  • YES
指定是否将源代码语句中使用的符号名称的排序交叉引用列表与预编译器的输出一起打印。
注意 :预编译器选项不会影响 ODBC 的行为。

DSNH/DSN子命令摘要

表 5表 6 区分了支持 BIND PLAN 和 BIND PACKAGE 的功能。 每个表都关联了DSNH CLIST参数及其对应的DSN BIND PLAN或BIND PACKAGE子命令关键字(如果有)。 一般而言:
  • 除非另有说明,CLIST参数的功能和价值与其对应的DSN子命令关键字相同。
  • DSNH参数值为NONE表示在调用子命令时未指定相应的DSN关键字。 例外情况已注明。

DSNH CLIST/BIND PLAN 子命令比较

表5。 DSNH CLIST/ BIND PLAN 子命令摘要
DSNH 邮件列表 绑定计划子命令 注释
参数 关键词
ACQUIRE 使用 分配 ACQUIRE 使用 分配  
操作 替换添加 操作 替换添加  
BDMEM 默认 1 dbrm-member-name NONE2 成员 dbrm-成员名称 1个 DBRM会员名称,从以下来源按顺序获取:
  • BDBRMLIB 成员名称
  • DBRMLIB 成员名称
  • 输入会员姓名,或使用 dsname 生成。

2 在子命令调用中未指定关键字。

BIND 12 (命令式动词)   1 执行BIND PLAN子命令。

2 不要执行绑定计划子命令。

BLIB 1 dsname LIBRARY dbrm-pds-名称 1 在子命令调用时未指定关键字。
LIB 1 2 dsname LIBRARY dbrm-pds名称列表 1 n 可以是 2、3、4、5、6、7 或 8。 使用 BLIB 参数指定第一个数据集名称。 使用此参数指定任何附加数据集名称。

2 没有其他数据集名称。

BMEM1 2 dbrm成员名单 成员 dbrm成员名单 1 使用 BDMEM 参数指定第一个 DBRM 成员名称,并使用此参数单独指定任何其他成员名称。

2 没有其他DBRM成员的名字。

CACHESIZE NONE 1 十进制值 2 CACHESIZE 十进制数 2 1 尺寸由子系统提供。

2 指定大小,从0到4096字节。

CICS 1 个应用 ID CICS 应用ID 1 在子命令调用时未指定关键字。
CURRENTDATA 否 否 CURRENTDATA 是 否  
当前浏览器 NONE 1 位置名称 当前浏览器 地点名称  
数据库协议 DRDA 私人 数据库协议 DRDA 私人 如果您指定了“私人”,您的应用程序中不能包含在 DB2® version 7 之后添加到 Db2 的SQL语句。
BDBRMLIB 默认值 1 dsname(成员 ) NONE2 LIBRARY dbrm-pds-名称 1 使用预编译器DBRMLIB数据集。 如果未指定预编译器DBRMLIB,则使用基于INPUT数据集的默认生成的DBRMLIB库。

2子命令调用时未指定关键字

DEFER 1 准备 DEFER PREPARE 1 在子命令调用时未指定关键字。
DEGREE 1 任何 DEGREE 1 任何  
DISABLE 无批次 CICS DB2CALL IMS
  • DLIBATCH
  • IMSBMP
  • IMSMPP
RRSAF
DISABLE 无批次 CICS DB2CALL IMS
  • DLIBATCH
  • IMSBMP
  • IMSMPP
RRSAF
 
DISCONNECT 明确自动条件 DISCONNECT 明确自动条件  
DLIBATCH 1 连接ID列表 DLIBATCH 连接名称 1子命令调用时未指定关键字
动态规则 运行绑定 动态规则 运行绑定  
ENABLE * 批次 CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP RRSAF ENABLE * 批次 CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP RRSAF  
EXPLAIN 不 是 EXPLAIN 不 是  
标志 I C E W 标志 I C E W  
IMSBMP 1 imsid IMSBMP 1子命令调用时未指定关键字
IMSMPP 1 imsid IMSMPP 1子命令调用时未指定关键字
设备将隔离 RR RS CS UR 设备将隔离 RR RS CS UR  
keepDynamic 不 是 keepDynamic 不 是  
NODEFER 1 准备 NODEFER PREPARE 1子命令调用时未指定关键字
OPTHINT (' ' ) (' 提示ID ') OPTHINT (' ' ) (' 提示ID ')  
所有者 1 授权-ID 所有者 授权ID 1子命令调用时未指定关键字
路径 (模式名称 )( USER )(模式名称, USER …… 路径 (模式名称 )( USER )(模式名称, USER ……  
pkList 1 个集合 ID 和包名称列表 pkList 集合ID和包名称列表 1 子命令调用时未指定包名称。
PLAN 计划名称1 PLAN

(主关键词)

计划名称 1个 计划名称不能为默认值。 默认计划名称是INPUT数据集中定义的以下可用选项中的第一个:
  • DBRM会员名称
  • 最左侧限定符
如果没有找到名字,就不会创建计划。
QUALIFIER 1 个隐式限定符 QUALIFIER 限定词 1子命令调用时未指定关键字
RELEASE 提交 分配 RELEASE 提交 分配  
REOPT 1 变量 REOPT 总是 曾经 汽车 1子命令调用时未指定关键字
RETAIN 12 RETAIN   1子命令调用时未指定关键字

2 关键字在子命令调用时指定。

SQLRULES DB2 性病 SQLRULES DB2 性病  
VALIDATE 运行绑定 VALIDATE 运行绑定  

DSNH CLIST/BIND PACKAGE 子命令对比

表6。 DSNH CLIST/ BIND PACKAGE 子命令摘要
DSNH 邮件列表 绑定包子命令 注释
参数 关键词
行动 替换 添加 操作

代替
添加
 
PBIND 12 (命令式动词)   1 不要执行BIND PACKAGE子命令。

2 执行BIND PACKAGE子命令。

PCICS 1 个应用 ID CICS 应用ID 1子命令调用时未指定关键字
COPY 1 集合ID。 包裹ID COPY 收藏编号。 包裹ID 1子命令调用时未指定关键字
复印机 版本号 复印机 版本号  
当前数据 没有,有,没有 CURRENTDATA 是 否  
PDBPROTOCO DRDA 私人 数据库协议 DRDA 私人 如果您指定了PRIVATE,您的应用程序中不能包含在 DB2 version 7 之后添加到 Db2 的SQL语句。
PDBRMLIB 默认值 1 dsname(成员 ) NONE2 LIBRARY dbrm-pds-名称 1 使用预编译器DBRMLIB数据集。 如果未指定预编译器DBRMLIB,则使用基于INPUT数据集的默认生成的DBRMLIB库。

2子命令调用时未指定关键字

PDEFER 1 准备 DEFER PREPARE 1子命令调用时未指定关键字
学位 1 任何 DEGREE 1 任何  
pdisable 批处理 CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP 远程 RRSAF DISABLE 批处理 CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP 远程 RRSAF  
PDLIBATCH 1 连接ID列表 DLIBATCH 连接名称 1子命令调用时未指定关键字
PDMEM 默认 1 dbrm-member- name NONE2 成员 dbrm-成员姓名 1个 DBRM会员名称,从以下来源按顺序获取:
  • PDBRMLIB 成员名称
  • DBRMLIB 成员名称
  • 输入会员姓名,或使用 dsname 生成

2子命令调用时未指定关键字

动态规则 运行 绑定 定义 调用 动态规则 运行绑定 定义 调用  
可用的 无 * 批次 CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP 远程 RRSAF ENABLE 无 * 批次 CICS DB2CALL IMS DLIBATCH IMSBMP IMSMPP 远程 RRSAF  
EXPLAIN 不 是 EXPLAIN 不 是  
PFLAG I C E W 标志 I C E W  
PIMSBMP 1 imsid IMSBMP 1子命令调用时未指定关键字
PIMSMPP 1 imsid IMSMPP 1子命令调用时未指定关键字
隔离 1 RR RS CS UR NC 隔离 1 RR RS CS UR NC 1 对于本地包,默认值与执行时附加的计划相同。 对于远程包,默认值为RR。
保持动态 无 没有 有 keepDynamic 不 是  
PNODEFER NONE1 PREPARE NODEFER PREPARE 1子命令调用时未指定关键字
POPTHINT (' ' ) (' 提示ID ') OPTHINT (' ' ) (' 提示ID ')  
波纳 1 授权-ID 所有者 授权ID 1子命令调用时未指定关键字
PACKAGE 默认 1 地点名称。 收藏-ID PACKAGE 地点名称。 收藏-ID 1 输入参数数据集中定义的成员名称,如果没有指定成员名称,则为数据集名称。
PPATH (模式名称 )( USER )(模式名称, USER ,…… 路径 (模式名称 )( USER )(模式名称, USER ,……  
资格认证 1 个隐式限定符
QUALIFIER
限定词 1子命令调用时未指定关键字
发布 1 承诺 交易 分配 RELEASE1 提交 分配 1 对于本地包,默认值与执行时附加的计划相同。 对于远程包,默认值为无。
REOPT 1 变量 REOPT 无 总是曾经 汽车 1子命令调用时未指定关键字
远程 1 个地点名称,<luname> 远程 网络名称 1子命令调用时未指定关键字
REPLVER NONE 1 版本 ID REPLVER 版本号 1 子命令调用时未指定版本 ID
SQLERROR 不打包 继续 SQLERROR 不打包 继续  
有效 运行绑定 VALIDATE 运行绑定  

使用说明 DSNH

CICS 翻译器: 不要在汇编程序的源语言中使用 CICS 翻译器选项;使用 CICSOPT 选项将这些选项传递给翻译器。

COBOL 选项:COBOL 的DYNAM选项存在若干限制:
  • 您不能将 CICS 作为选项。
  • 您必须使用 VS COBOL II 库或 Language Environment ( z/OS Language Environment )库。
  • 若要使用 TSO 或批处理选项,则步骤库、作业库或链接列表中的 IMS RESLIB 必须位于 SDSNLOAD 库之前。
  • 若要使用 IMS 选项,则必须在DSNLOAD之前输入 IMS RESLIB。

某些 COBOL 选项需要DD语句,而这些语句在DSNH CLIST中并未提供,具体如下表所示。

表7。 COBOL 需要额外DD语句的选项
选项 声明要求......
CDECK SYSPUNCH
计数 SYSCOUNT、SYSDBG、SYSDBOUT、 SYSUT5 ,一个调试文件
卡片组 SYSPUNCH
转储 SYSABEND、SYSDUMP或SYSUDUMP
FDECK SYSPUNCH
流向 SYSCOUNT、SYSDBG、SYSDBOUT、 SYSUT5 ,一个调试文件
LVL SYSUT6
STATE SYSCOUNT、SYSDBG、SYSDBOUT、 SYSUT5 ,一个调试文件
SYMDUMP SYSCOUNT、SYSDBG、SYSDBOUT、 SYSUT5 ,一个调试文件
SYST SYSOUT
SYSx SYSOUx
测试 SYSUT5

COBOL 参数: 传递给 COBOL 编译器的BUF和SIZE参数可能需要调整。

COPTION: 不要使用COPTION参数来指定LINECOUNT、SOURCE、TERM和XREF编译器选项的值;请使用DSNH LINECOUNT、SOURCE、TERM和XREF关键字。

Fortran 以及 PL/I 注意事项: 不支持可变格式输入记录。

库限制 :最多可以有八个绑定库、四个预编译库、四个编译库和四个链接编辑库。

用户提供的应用程序默认模块 (dsnhdecp ):要使DSNH CLIST加载用户提供的 dsnhdecp模块 ,而不是 Db2 提供的 dsnhdecp模块 ,需要执行以下步骤:
  1. 调用 DSNH 的任何作业或 TSO 用户 ID 的 JOBLIB 或 STEPLIB 串联都必须先分配用户提供的 dsnhdecp 模块所在的库(通常前缀为.SDSNEXIT),然后再分配 Db2- 提供的 dsnhdecp 模块驻留( 前缀.SDSNLOAD)。
  2. DSNH呼叫应包含PCLOAD参数,编码如下:
    PCLOAD('*(DSNHPC)')
链接编辑:
  • DSNH无法处理需要附加链接编辑控制语句的程序,也无法链接编辑使用呼叫附加功能的程序。
  • 您不能使用“无加载”和“语法”链接编辑选项。

NONE是一个保留字: NONE不能作为输入或加载库的名称,也不能作为PARMS传递的字符串的值。

SQL主机变量: 必须明确定义SQL主机变量。

SYSPROC: 如果编译完成,SYSPROC数据集必须包含 Db2 CLIST库。

WORKUNIT参数 :在批处理模式下运行DSNH CLIST时,必须使用WORKUNIT参数。 这样可确保临时和中间数据集被分配到正确的设备上。

例子 DSNH

示例:使用DSNH准备并执行 COBOL 应用程序
以下命令将预编译、绑定、编译、链接编辑并运行数据集前缀.SDSNSAMP( DSN8BC4 )中的 COBOL 程序。
  • 编译器加载模块位于 SYS1.LINKLIB ( IKFCBL00 )。
  • 附加负载模块包含在前缀中。 RUNLIB.LOAD 和前缀.SDSNSAMP。
  • 负载模块应放入数据集前缀中。 RUNLIB.LOAD ( DSN8BC4 ).
  • 计划名称为 DSN8BC81 ,用于绑定和运行。
  • DCLGEN数据来自前缀。 SRCLIB.DATA 是预编译所必需的。
  • DSNH CLIST位于您的SYSPROC连接中。
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'')
示例:使用DSNH准备并执行 PL/I 应用程序
以下命令将预编译、绑定、编译、链接编辑并运行数据集前缀中的 COBOL 程序。 SDSNSAMP.PLI ( DSN8BP4 )。
  • 该程序采用 PL/I 编写;无需宏处理阶段。
  • 应使用 PL/I 编译器选项MAP和LIST。
  • 附加负载模块包含在前缀中。 RUNLIB.LOAD 和前缀.SDSNSAMP。
  • PL/I 优化编译器加载模块位于库 SYS2.LINKLIB(IEL0AA 中。
  • Db2 子系统的标识符是SSTR。
  • 负载模块被放入数据集前缀中。 RUNLIB.LOAD ( DSN8BC4 ).
  • 打印输出发送至以下数据集:
    输出 数据集
    预编译器列表 前缀。 PROG.PCLIST
    编译器列表 前缀。 PROG.LIST
    链接-编辑列表 前缀。 PROG.LIST
  • 计划名称为 DSN8BC81 ,用于绑定和运行。
  • 预编译需要来自前缀SRCLIB.DATA 的 DCLGEN 数据。
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'')

COPTION参数用单引号括起来,这样它们就可以作为单个参数被TSO传递。 如果单个标记作为参数传递,则无需使用单引号。 同样的规则适用于PARMS和CICSOPT参数。

如果数据集名称作为参数传递,并且您希望TSO添加您的用户前缀,则无需添加单引号。 如果不能使用常规的 TSO 前缀和后缀,那么如果隐式执行 CLIST,数据集名称必须用三个撇号括起来;如果显式执行 CLIST,则用六个撇号括起来。

该示例的用户前缀为prefix;如果前缀是SMITH,则列表数据集名称将与前一个示例中的相同,只是SMITH将作为第一级限定符。 例如,编译器列表将发送至 SMITH.PROG.LIST。

示例:使用DSNH准备并执行 COBOL 应用程序
以下命令将预编译、绑定、编译、链接编辑并运行数据集前缀.SDSNSAMP( DSN8BC4 )中的 COBOL 程序。
  • 编译器加载模块位于 SYS1.LINKLIB ( IKFCBL00 )。
  • 附加负载模块包含在前缀中。 RUNLIB.LOAD 和前缀.SDSNSAMP。
  • 负载模块应放入数据集前缀中。 RUNLIB.LOAD ( DSN8BC4 ).
  • 计划名称为 DSN8BC81 ,用于绑定和运行。
  • DCLGEN数据来自前缀。 SRCLIB.DATA 是预编译所必需的。
  • DSNH CLIST位于您的SYSPROC连接中。
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'')
示例:使用DSNH准备并执行C应用程序
以下命令对数据集prefix.SDSNSAMP(DSN8BD3 )中的C程序进行预编译、绑定、编译、链接编辑和运行。
  • C 链接编辑器包含库是 EDC.V1R1M1.SEDCBASE
  • C编译器加载模块为 EDC.V1R1M1.SEDCCOMP(EDCCOMP )
  • 打印输出发送至以下数据集:
    输出 数据集
    预编译器列表 用户ID。 TEMP.PCLIST
    编译器列表 用户ID。 TEMP.LIST
    预览-编辑列表 用户ID。 TEMP.PRELLIST
    链接-编辑列表 用户ID。 TEMP.LINKLIST
  • 以下C DD名称是根据PRINT关键字值分配的:
    DD 名称 分配
    SYSCPRT1 用于编译器步骤
    SYSUT101 用于编译器步骤
    SYSOUT 用于预链接编辑步骤
    注:
    1. SYSUT10 SYSCPRT始终分配给同一数据集或目标。
  • SYSTERM用于编译器步骤。 它基于TERM关键字。
  • CEEDUMP用于运行步骤。 它基于关键词“RUNOUT”。
  • 在链接编辑C语言示例程序时,需要设置AMODE(31)和RMODE(ANY)的LOPTION关键字值,以确保执行期间31位寻址。
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)