as400 cl 编程手册

as400 cl 编程手册

ID:1354850

大小:153.50 KB

页数:30页

时间:2017-11-10

as400 cl 编程手册_第1页
as400 cl 编程手册_第2页
as400 cl 编程手册_第3页
as400 cl 编程手册_第4页
as400 cl 编程手册_第5页
资源描述:

《as400 cl 编程手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第五章在CL过程和程序中处理目标5.1在CL程序中访问目标在CL程序命令和过程中引用目标的原则与在每个命令和分别处理不是在程序中使用目标的原则是一样的。目标名可用限定或非限定名,非限定目标名用库列表来查找。在CL过程和程序中引用的大多数目标在运行引用它们时才访问。对限定名(库名/目标名)的目标,在命令运行引用它时必须在指定的库中,但在程序生成时不一定要在此库中,即CL语句中用的大部分目标是简单地基于运行时目标的位置。在5.1.1中给出一些特例。如果在CL源语句中不用限定名而用库列表,就不用对所有目标做运行时的考虑。如果在编译时用库列表,那么在运行时目标可以在库列表中的任一库里,这就要求在不

2、同库中不能有重复的目标名。如果用库列表,可以在过程生成和命令处理之间把目标移到不同的库中。在命令运行时所引用的目标必须存在,而在编译时程序PAYROLL即时不存在,CL程序也能编译成功:PGM/*TEST*/DCL...MONMSG......CALLPGM(QGPL/PAYROLL)...ENDPGM实际上,在程序TEST活动时,PAYROLL不一定存在,但在处理CALL命令时要存在。在调用程序中被调用程序的生成一定要放在CALL命令之前:PGM/*TEST*/DCL......MONMSG...CRTCLPGMPGM(QGPL/PAYROLL)CALLPGM(QGPL/PAYROLL)

3、...ENDPGM对于生成命令,比如CRTCLPGM、CRTDTAARA,在编译和运行时所引用的目标是生成命令定义的,而不是生成的目标。如果用生成命令,生成命令定义在编译时必须在限定命令所用的库中。(换句话说,如果用*LIBL,它必须在库列表中)。5.1.1例外情况:访问命令定义、文件和过程从引用命令定义或文件的源语句生成CL程序时要下面两个东西存在:在文件生成时目标必须存在在命令引用它们做处理时目标必须存在即在用DCLF时,在生成引用此文件的程序时必须先生成文件。5.1.1.1访问命令定义在生成和命令运行时都可发生访问命令定义,要做语法检查,在使用命令的程序生成期间命令必须存在。在生成期

4、间,命令要存在于引用的库存中,并且在执行时的同一库中。如果不用限定名,那么在运行和生成时要在库列表中的同一库中。命令名在程序中可用限定名:如果命令定义在程序运行时不是用库列表访问的在有多个命令定义用同一名字时命令名在程序处理和生成时必须一致。如果不同,则会出错。如果修改了命令中的缺省参数,则在命令执行时用新的缺省值。详细内容请看9.9及CHGCMD的联机帮助信息。5.1.1.2访问文件DCLF命令的程序或模块在编译时要访问文件。因此,在使用它的程序或模块编译前此文件必须存在。在模块运行和生成程序或服务程序时文件不必须存在。把描述记录格式及其中字段的DDS写进源文件中,然后生成它。即用CRT

5、DSP把这些信息编译生成文件目标。在DDS中说明的的字段可以是输入字段,输出字段或既输入又输出字段。在程序编译时,这些字段做为变量说明给CL程序,程序从显示中通过这些变量管理数据。也可用DDS来生成物理文件。CL变量的说明使程序包含整个记录,这个变量与文件同名,与记录同长。除了某些特别的CL命令外,CL程序不能管理除显示文件和数据库文件外的其它类型文件。在生成文件后可以删除DDS,但不提倡这样做。在CL程序或模块编译后可以删除它所引用的文件。(在命令引用它时要存在,例如在程序中处理DCLF、SNDF或RCVF)。在命令定义中讲述的使用限定名的原则也适用于文件。详细信息请看5.2。5.1.1

6、.3访问过程过程是由CALLPRC规定的。在生成调用它的模块时不必须要存在。它的存在与否对使用它的程序或服务程序不是必须的。被调用的过程可以是:在CRTPGM或CRTSRVPGM中MODULE参数里规定的模块在BNDSRVPGM参数中规定的服务程序,此服务程序必须在运行时可用BNDDIR参数中规定的联编目录中列出的服务程序或模块5.1.2检查目标是否存在在程序中要使用一个目标前,要检查它是否存在,你是否有权使用它。这在一个功能同时使用多个目标时很有用。用CHKOBJ来检查目标存在与否,可在过程和程序的任何地方使用这个命令,它有下列格式:CHKOBJOBJ(库名/目标名)OBJTYPE(目标

7、类型)其它可选参数检验目标的权限。如果要检查权限且打开文件,那么数据权和操作权都要被检查。在执行这个命令时,有信息会生成告诉你检查的结果,可以监控这些信息并处理它们。例如:CHKOBJOBJ(OELIB/PGMA)OBJTYPE(*PGM)MONMSGMSGID(CPF9801)EXEC(GOTONOTFOUND)CALLOELIB/PGMA...NOTFOUND:CALLFIX001/*PGMANotFoundRout

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。