使用 CALL 标识

可以使用 CALL identifier (其中 identifier 不是过程指针) 来调用嵌套的 ILE COBOL 程序或调用程序对象。 标识的内容确定在运行时是调用嵌套程序还是调用程序对象。 如果标识的内容与可视嵌套程序的名称匹配,那么会将调用定向到嵌套程序。 否则,将对具有标识内容中指定的名称的程序对象进行动态程序调用。

在 CALL 标识上指定的 IN LIBRARY 短语强制调用程序对象。

首次在 CALL 语句中使用 CALL 标识时,会设置将 CALL 标识 (以及任何关联的 IN LIBRARY 项) 与对象相关联的打开指针。

如果通过标识对随后删除或重命名的程序对象执行调用,那么必须使用 CANCEL 语句使与该标识关联的打开指针为空。 这可确保当您下次使用标识来调用程序对象时,将再次设置关联的打开指针。

以下示例显示如何将 CANCEL 语句应用于标识:
     MOVE "ABCD" TO IDENT-1.
     CALL IDENT-1.
     CANCEL IDENT-1.

如果将 CANCEL 语句直接应用于字面值 "ABCD" ,那么 不会 使与 IDENT-1关联的打开指针为空。 相反,只需在 CALL 语句中使用 IDENT-1 即可继续调用程序 ABCD。

如果更改 CALL 标识的值并使用此新值执行调用,那么打开指针的值也会更改。 打开指针的值也受任何关联的 IN LIBRARY 项影响。 如果为 CALL 到 IDENT-1 指定了与先前调用 IDENT-1时不同的库,那么将重置打开的指针。