访问活动语言环境和代码页值
要验证在编译时有效的语言环境,请检查编译器列表的最后几行。
关于此任务
对于某些应用程序,您可能想要验证在运行时处于活动状态的语言环境和 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 编译器选项。