COBOL-> COBOL / DB2-> COBOL-> COBOL / DB2 pgm调用

ASH*_*URU -4 db2 cobol bind

可以说像PGM1(cobol)调用-> PGM2(cobol-db2)调用-> PGM3(cobol)->调用PGM4(cobol-db2)。1Q。PGM3被修改,这纯粹是COBOL程序。我们是只编译PGM3并将其推广到生产中,还是应该再次进行BIND,因为它由和调用cobol-db2程序进行了调用。2Q。如果修改了PGM4,则必须执行的操作。(我正在使用PACKAGE-> PLAN概念)?此外,当我们进行cobol-cobol / db2调用时,任何人都可以请我解释一下如何使用软件包概念进行绑定。

Pan*_*hik 5

阿育

绝对是您如何拨打电话的问题。通话可以是静态的也可以是动态的。使用动态调用,您不需要编译主程序就是子程序的更改。但是通过静态调用,您也需要编译主程序。

Ans1:-在所有调用中都是静态调用-是的,您必须编译所有程序。使用动态调用-仅编译子程序。

回答2:-有关包装和计划概念,请参见下面的完整详细信息。

如果您将旧版本的DBRM直接绑定到您的计划中,

·为已更改的程序和任何未更改的程序标识直接绑定到该计划的所有DBRM,然后将它们全部重新绑定到计划中。

·将DBRM绑定到计划中时,应用程序无法使用该计划访问DB2。

如果将已更改的应用程序的旧版本的DBRM绑定到软件包中

·您无需再次将任何其他软件包或直接绑定的DBRM绑定到计划中。

·您只需将更改后的应用程序的新版本的DBRM绑定到与旧版本同名的软件包中。

·您无需再次绑定计划,它会找到软件包的新版本。

·在更改程序包时,应用程序仍可以使用计划中的其他程序包和直接绑定的DBRM。

希望这可以帮助!!。

  • 除非您的源代码控制系统坚持要求,并且除非您不对对象分类,否则您仅*需要*在该程序*内编译某些已发生更改的程序。对于静态呼叫,您然后运行linkeditor / binder,它将拾取新对象。因此,没有,不知道为特定站点设置了什么,尝试回答此类问题极其困难,漫长且毫无意义。与DB2端相似。在不了解站点程序和可用软件的情况下,您无法给出具体答案,而笼统的答案是如此之多,以至于没有用。 (2认同)
  • 我同意你的观点,比尔不完全了解你的商店是如何建立的,我们永远无法确定。这些设置很复杂,也需要系统程序员的参与。我们应该遵循商店标准文件。但与此同时,在一般层面上,事情应该如何运作,而不需要深入研究内部设置,总是会有帮助的。特别是当我们没有得到任何额外的细节时。 (2认同)
  • 事实并非如此,即使源代码没有更改,复制文件和 LE 更新或编译器支持撤回也可能需要重新编译。例如,Single Pass 可能仅受官方支持。但是,是的,链接编辑(就像 Windows 程序增量链接)可以将新旧链接缝合在一起。斯波尔斯基先生会让我们重新编译所有内容,以确保它仍然可以。 (2认同)