将值返回至 CICS

在某些出口点,您可以通过提供返回码值来影响 CICS® 在从出口程序返回时执行的操作。 在离开出口程序之前,必须在寄存器 15 中设置返回码值。

过程

  • 使用字符串值,而不是使用硬编码值。
    每个出口点的参数列表都提供了等同于有效返回码值的字符串。
    例如,在监视器域中的出口 XMNOUT 处,将显示监视记录的地址。 如果您在出口程序中决定不应将此记录写入 SMF ,那么可以在返回到 CICS 之前设置返回码值 UERCBYP (即 绕过此记录) ,并且 CICS 禁止此记录。
  • 如果有多个出口程序正在为一个出口点运行,请使用 DFHUEPAR 的参数 UEPCRCA 来设置返回码。
    有关更多信息,请参阅 在单个出口中调用多个出口程序
  • 如果出口程序发出 EXEC CICS 命令并使用 DFHEIENT 宏,那么必须使用此宏来设置返回码。
    DFHEIRET 宏:
    • 复原寄存器
    • 在恢复寄存器后,将返回码放置在寄存器 15 中
    • 将控制权返回到寄存器 14 中的地址。
    例如:
    DFHEIRET RCREG=nn
    其中 nn 是包含要在寄存器 15 恢复后放置在寄存器 15 中的返回码的任何寄存器 (13 除外) 的编号。

结果

如果提供在特定出口点不期望的返回码值,那么除非设置返回码 UERCPURG ,否则将采用指示正常响应 (通常为 UERCNORM) 的缺省返回码。 强烈建议您不要让返回码缺省为正常响应,因为结果可能不可预测。 正常响应告知 CICS 继续处理,就像未调用出口程序一样,并且在大多数全局用户出口点都是有效选项。 异常显示在随每个出口描述提供的返回码列表中。