添加前导 SO 和尾随 SI 字符

对于 PIC G 格式字符串,可以通过在 TI 项目中选择字符串的 COBOL 定义选项卡(属性页)上的“添加前导 SO 和尾随 SI”复选框,来指示事务集成器(TI)运行时环境添加前导移出(SO)字符和尾随移入(SI)字符。

如果选中添加前导 SO 和尾随 SI复选框,TI 运行时环境会处理大型机数据结构中用于描述双字节字符集(DBCS)字符串的两个额外字节。 当它格式化发送到大型机的消息时,TI 运行时环境会添加开头的 SO 和结尾的 SI 字节。 当 TI 运行时环境解释从大型机接收的消息时,它会丢弃开头的 SO 字节和结尾的 SI 字节。

PIC G 字符串的维度值始终指定字符串中的双字节 DBCS 字符数,而不考虑周围 SO 和 SI 字符是否存在。

此自动 SO 和 SI 处理的使用隐藏在客户端应用程序中。 但是,大型机应用程序必须确保相应的 PIC X 声明包围 PIC G 字符串的声明。

TI 项目为周围的 SO 和 SI 字节生成适当的声明,如以下示例代码所示:

01     A-SOSI-WRAPPED-DBCS.  
       05  LEADING-SO-1                            PIC X.  
       05  MY-DBCS-STRING                          PIC G(80).  
       05  LEADING-SI-1                            PIC X.  
  

TI 项目中的 COBOL 导入向导未设置添加前导 SO 和尾随 SI 字节的选项。 换句话说,导入 COBOL 向导不认为 PIC G 字符串周围的 PIC X 声明具有重要意义。 如果现有的大型机事务处理程序(TP)使用了 COBOL 声明,其中包含了用于封装 PIC G 字符串的 SO 和 SI 字符的明确声明,则必须手动修改由“导入 COBOL 向导”创建的接口。