AS400 CL 编程手册范本.doc

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
第五章 在CL过程和程序中处理目标 5.1 在CL程序中访问目标 在CL程序命令和过程中引用目标的原则与在每个命令和分别处理不是在程序中使用目标的原则是一样的。目标名可用限定或非限定名,非限定目标名用库列表来查找。 在CL过程和程序中引用的大多数目标在运行引用它们时才访问。对限定名(库名/目标名)的目标,在命令运行引用它时必须在指定的库中,但在程序生成时不一定要在此库中,即CL语句中用的大部分目标是简单地基于运行时目标的位置。在5.1.1中给出一些特例。 如果在CL源语句中不用限定名而用库列表,就不用对所有目标做运行时的考虑。如果在编译时用库列表,那么在运行时目标可以在库列表中的任一库里,这就要求在不同库中不能有重复的目标名。如果用库列表,可以在过程生成和命令处理之间把目标移到不同的库中。 在命令运行时所引用的目标必须存在,而在编译时程序PAYROLL即时不存在,CL程序也能编译成功: PGM /*TEST*/ DCL... MONMSG... . . . CALL PGM(QGPL/PAYROLL) . . . ENDPGM 实际上,在程序TEST活动时,PAYROLL不一定存在,但在处理CALL命令时要存在。在调用程序中被调用程序的生成一定要放在CALL命令之前: PGM /*TEST*/ DCL... . . . MONMSG . . . CRTCLPGM PGM(QGPL/PAYROLL) CALL PGM(QGPL/PAYROLL) . . . ENDPGM 对于生成命令,比如CRTCLPGM、CRTDTAARA,在编译和运行时所引用的目标是生成命令定义的,而不是生成的目标。如果用生成命令,生成命令定义在编译时必须在限定命令所用的库中。(换句话说,如果用*LIBL,它必须在库列表中)。 5.1.1 例外情况:访问命令定义、文件和过程 从引用命令定义或文件的源语句生成CL程序时要下面两个东西存在: 在文件生成时目标必须存在 在命令引用它们做处理时目标必须存在 即在用DCLF时,在生成引用此文件的程序时必须先生成文件。 5.1.1.1 访问命令定义 在生成和命令运行时都可发生访问命令定义,要做语法检查,在使用命令的程序生成期间命令必须存在。在生成期间,命令要存在于引用的库存中,并且在执行时的同一库中。如果不用限定名,那么在运行和生成时要在库列表中的同一库中。 命令名在程序中可用限定名: 如果命令定义在程序运行时不是用库列表访问的 在有多个命令定义用同一名字时 命令名在程序处理和生成时必须一致。如果不同,则会出错。如果修改了命令中的缺省参数,则在命令执行时用新的缺省值。详细内容请看9.9及CHGCMD的联机帮助信息。 5.1.1.2 访问文件 DCLF命令的程序或模块在编译时要访问文件。因此,在使用它的程序或模块编译前此文件必须存在。在模块运行和生成程序或服务程序时文件不必须存在。 把描述记录格式及其中字段的DDS写进源文件中,然后生成它。即用CRTDSP把这些信息编译生成文件目标。在DDS中说明的的字段可以是输入字段,输出字段或既输入又输出字段。在程序编译时,这些字段做为变量说明给CL程序,程序从显示中通过这些变量管理数据。 也可用DDS来生成物理文件。CL变量的说明使程序包含整个记录,这个变量与文件同名,与记录同长。 除了某些特别的CL命令外,CL程序不能管理除显示文件和数据库文件外的其它类型文件。 在生成文件后可以删除DDS,但不提倡这样做。在CL程序或模块编译后可以删除它所引用的文件。(在命令引用它时要存在,例如在程序中处理DCLF、SNDF或RCVF)。 在命令定义中讲述的使用限定名的原则也适用于文件。详细信息请看5.2。 5.1.1.3 访问过程 过程是由CALLPRC规定的。在生成调用它的模块时不必须要存在。它的存在与否对使用它的程序或服务程序不是必须的。被调用的过程可以是: 在CRTPGM或CRTSRVPGM中MODULE参数里规定的模块 在BNDSRVPGM参数中规定的服务程序,此服务程序必须在运行时可用 BNDDIR参数中规定的联编目录中列出的服务程序或模块 5.1.2 检查目标是否存在 在程序中要使用一个目标前,要检查它是否存在,你是否有权使用它。这在一个功能同时使用多个目标时很有用。 用CHKOBJ来检查目标存在与

文档评论(0)

xiangxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档