如何查询AS400程序是否以非*NONE的FIXNBR关键字(*ZONED/*INPUTPACKED)编译?
检查AS400程序是否使用非*NONE的FIXNBR关键字
以下是几种可行的方法:
查看程序编译详细信息
使用DSPPGM命令并指定DETAIL(*ALL)参数,输出中会包含编译选项部分:DSPPGM PGM(库名/程序名) DETAIL(*ALL)在输出里定位到「CL 编译选项」区域,查找
FIXNBR的取值——如果显示*ZONED或*INPUTPACKED即为目标程序;若未显示或为*NONE则不符合。通过系统视图查询编译参数
使用SQL查询QSYS2库下的PGM_INFO视图,直接提取编译选项中的FIXNBR信息:SELECT COMPILE_OPTIONS FROM QSYS2.PGM_INFO WHERE PROGRAM_SCHEMA = '你的库名' AND PROGRAM_NAME = '你的程序名';在返回的COMPILE_OPTIONS字段内容中,搜索
FIXNBR关键字对应的参数值即可。检查源程序或编译命令
如果有权限访问程序源文件,直接查看CL源开头的编译指令(如/* FIXNBR(*ZONED) */),或者查看当初编译该程序时使用的CRTCLPGM/UPDCLPGM命令参数,确认是否指定了非*NONE的FIXNBR选项。查看ILE模块编译信息(针对ILE CL程序)
如果是ILE类型的CL程序,需要查看绑定的模块信息:DSPMOD MOD(库名/模块名) DETAIL(*ALL)在模块的编译选项区域中查找
FIXNBR的设置值。
内容的提问来源于stack exchange,提问作者user24201411
相关产品推荐
相关产品推荐

