在这两个示例中,程序 A 通过的 Commarea 发生了什么?
程序 A 对程序 B 执行 EXEC CICS LINK 然后程序 B 使用 GOBACK 命令
程序 A 对程序 B 执行 EXEC CICS LINK 然后程序 B 使用 EXEC CICS RETURN 命令
请参阅https://stackoverflow.com/a/28056695/1927206。
commarea 没有任何反应。
如果 B 更改它,它正在更改 A 知道的存储。
只有数据的地址在程序之间“传递”。只有原始数据存在,程序 B 操作原始数据。CALLing 和 CALLed 程序之间没有数据复制。
与数据(无)发生的情况不同,您展示的两个示例具有相同的行为。为您的站点使用当地标准。
GOBACK 是在被调用程序中使用的较旧的 COBOL 构造。EXEC CICS RETURN 将控制权交给 CICS。CICS 确定接下来要控制的程序。