第六章 用CRTRPGMOD和CRTDGM命令建立程序.docVIP

第六章 用CRTRPGMOD和CRTDGM命令建立程序.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 用CRTRPGMOD和CRTDGM命令建立程序

2.3 第六章 用CRTRPGMOD和CRTDGM命令建立程序 两步程序建立步骤包括使用CRTRPGMOD命令把源语句编译成模块,然后使用CRTPGM命令把一个或多个模块连接成为程序。使用这种可以建立永久模块。这样做的结果,是使一个应用程序模块化,而不必重新编译整个应用程序。也允许在不同的应用程序中都使用同一个模块。 本章的内容包括: 由RPG Ⅳ源语句建立模块目标 使用CRTPGM命令把模块连接成程序 阅读连接清单 修改模块或程序 2.3.1 建立模块目标 模块是ILE编译程序的输出,它是不可运行的目标(类型为*MODULE),是ILE程序的基本连接模块。 一个模块由一个或多个过程组成。允许的过程个数取决于语言类型。一个ILE RPG/400模块由一个过程组成,它有自己的LR语义、周期、文件控制块和静态存储空间。 模块的建立包括源成员的编译,如果编译成功,建立一个*MODULE目标。*MODULE目标包括模块中进口和出口引用的清单。如果在编译时有要求的还包括调试数据。模块本身不能运行。必须连接一个或多个模块成为可运行的程序目标,也可以连接一个或多个模块建立一个服务程序(类型为*SRVPGM)。然后,通过静态过程调用访问连接在一起的模块中的过程。 这种连接模块的方法允许做下面的事情: 重复使用一段代码,一般会使程序变得更短小。短小的程序性能更好且易于调试。 维护共享编码,使其向程序的其他部分传送错误代码的机会很少,更有效地管理大的程序。模块方式允许把以前的程序分割为可以独立管理的多个部分。如果程序需要改进,只需重新编译那些被改动的模块。 可以根据任务的需要选择最合适的语言建立模块,然后连接这些模块建立多种语言编写的程序。 有关模块的详细信息,请参考ILE概念。 2.3.1.1 使用CRTRPGMOD命令 使用(CRTRPGMOD)命令建立模块。可以交互地,或作为批处理输入流的一部分,或在命令语言(CL)程序中使用该命令。 如果交互地使用该命令并需要提示的话,键入CRTRPGMOD,然后按F4(提示)键,如果需要帮助,键入CRTRPGMOD然后按F1(帮助)键。 表3列出了CRTRPGMOD命令的参数及系统提供的默认值。命令的语法图解和参数描述见于附录C,1.3节中的“建立命令”。 表3.按功能分组的CRTRPGMOD参数及其系统默认值 模块标识 MODULE(*CURLIB/*CTLSPEC) 确定建立的模块名和库名 SRCFILE(*LIBL/QRPGLESRC) 指定源文件和库名 SRCMBR(*MODULE) 指定包含源语句的文件成员 TEXT(*SRCMBRTXT) 为模块提供简要描述 模块建立 GENLVL(10) 确定模块建立的错误级别(0-20) OPTION(*GEN) *GEN/*NOGEN,决定模块是否建立 DBGVIEW(*STMT) 指定要包含在模块中的调试视图的类型 OPTIMIZE(*NONE) 确定优化级别 REPLACE(*YES) 确定是否替换已存在的模块 AUT(*LIBCRTAUT) 指定建立模块的权限 TGTRLS(*CURRENT) 指定目标要运行的软件版本 编译清单 OUTPUT(*PRINT) 确定是否产生编译清单 INDENT(*NONE) 确定是否在清单中显示缩进,如选,并指定标记缩进 的字符 OPTION(*XREF *NOSECLVL 指定编译清单包含的内容 *SHOWCPY(*EXPDDS *EXT) 数据转换选项 CVTCPT(*NONE) 指定如何处理外部描述文件中的变量数据 ALWNULL(*NO) 确定模块是否接受来自允许空值字段的值 F1XNBR(*NONE) 确定无效的区位十进制数据是否修整转换为压缩型 数据 运行时的考虑 SRTSEQ(*HEX) 指定要使用的排序顺序表 LANGID(*JOBRUN) 与SRTSEQ一起使用,指定排序序列的语言识别 程序 TRUNCNBR(*YES) 指定当发生数字溢出时采取的动作 如果需要,那么CRTRPGMOD命令产生一个绝大部分与CRTBNDPGM命令所产生的相同的清单。(由CRTRPGMOD建立的清单绝不会包括代码生成和连接单元)。 关于使用编译清单的信息,参见2.2.2节的“使用编译清单”。 在附录D中给出了一个样本编译清单,即附录1.4节中的“编译清单”。 2.3.1.1.

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档