callConversionTable

系统变量 SysVar.callConversionTable 包含一个转换表的名称,当程序在运行时执行下列操作时,此转换表用来转换数据:

当在基于 EBCDIC 的系统与基于 ASCII 的系统之间或者在使用不同代码页的系统之间移动数据时,就会发生转换。仅当在生成时使用的链接选项部件在 callLink 或 asynchLink 元素中指定了 PROGRAMCONTROLLED 作为 conversionTable 属性的值时,才有可能进行转换。但是,如果指定了 PROGRAMCONTROLLED,但 SysVar.callConversionTable 是空白的,则不会发生转换。

特征

SysVar.callConversionTable 的特征如下所示:

基本类型
CHAR
数据长度
8
是否跨段保存值?

定义注意事项

应该使用 SysVar.callConversionTable 来在程序中切换转换表,或者在程序中打开或关闭数据转换。

SysVar.callConversionTable 被初始化为空白。要使转换发生,请确保链接选项部件包含 PROGRAMCONTROLLED 值(如前所述),并将转换表的名称移动到系统变量中。可以将 SysVar.callConversionTable 设置为星号(*)以使用缺省本地语言代码的缺省转换表。此设置引用目标系统上的缺省语言环境(倘若该语言环境映射至其中一种可对 targetNLS 构建描述符选项指定的语言的话)。

转换是在发起调用或文件访问的系统上执行的。当定义多级别记录结构时,转换是对最低级别的项(没有子结构的项)执行的。

可以按照下列方式使用 SysVar.callConversionTable
  • 作为赋值语句或 move 语句中的源或目标操作数
  • 作为逻辑表达式中的变量
  • 作为 returnexit 语句中的自变量

对于 SysVar.callConversionTable 与另一个值的比较,仅当完全匹配时测试结果才为 true。例如,如果用小写值来初始化 SysVar.callConversionTable,则小写值只与小写值相匹配。

为了进行比较,您对 SysVar.callConversionTable 指定的值保持不变。

示例

  SysVar.callConversionTable = "ELACNENU"; 
// conversion table for US English COBOL generation
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.