访问活动语言环境和代码页值

要验证在编译时有效的语言环境,请检查编译器列表的最后几行。

关于此任务

对于某些应用程序,您可能想要验证在运行时处于活动状态的语言环境和 EBCDIC 代码页,并将代码页标识转换为相应的 CCSID。 您可以使用可调用库例程来执行这些查询和转换。

要访问运行时激活的本地语言和 EBCDIC 代码页,请调用库函数 _iwzGetLocaleCP 如下:


CALL "_iwzGetLocaleCP" USING output1, output2

变量 output1 由 20 个字符组成的字母数字项,表示以下格式的以 null 结束的语言环境值:

  • 双字符语言代码
  • 下划线 (_)
  • 双字符国家或地区代码
  • 句点 (.)
  • 语言环境的代码页值

例如, en_US.IBM-1252 是语言代码 en,国家或地区代码 US和代码页 IBM-1252的语言环境值。

变量 output2 由 10 个字符组成的字母数字项,表示有效的以 null 结束的 EBCDIC 代码页标识,例如 IBM-1140

要将代码页 ID 转换为相应的 CCSID,请调用库函数 _iwzGetCCSID 如下:


CALL "_iwzGetCCSID" USING input, output RETURNING returncode

输入 表示以 null 结束的代码页标识的字母数字项。

输出 一个带符号 4 字节的二进制项,例如定义为 PIC S9(5) COMP-5的项。 要么返回与输入代码页 ID 字符串相对应的 CCSID,要么返回 -1 的错误代码。

returncode 一个带符号 4 字节的二进制数据项,其设置如下:

重大安全事件数量
成功。
第 1 年
代码页 ID 有效,但没有相关联的 CCSID;output 设置为 -1 。
-1
代码页 ID 不是有效的代码页;output 设置为 -1 。

要调用这些服务,必须使用 PGMNAME(MIXED)NODYNAM 编译器选项。

示例:获取并转换代码页ID

相关任务
设置区域设置