如何创建类WRKLIBPDM命令中LIB字段的参数?
实现WRKLIBPDM风格的LIB参数行为
你原有的代码无法实现需求,问题出在使用RSTD(*YES)配合VALUES()的写法——这会强制参数只能从硬编码的选项中选择,既不支持任意库名/通用名,也无法实现双F4的不同提示逻辑。正确的实现方式如下:
PARM KWD(LIB2) TYPE(*NAME) LEN(10) RSTD(*NO) + DFT(*PRV) SPCVAL((*PRV) (*LIBL) (*USRLIBL) (*ALL) (*ALLUSR) (*CURLIB)) + PROMPT('Library (enter name, *generic*, or special value)')
关键逻辑说明:
RSTD(*NO):允许输入任意符合*NAME类型规则的内容,包括具体库名(如QGPL)、通用名(如Q*)SPCVAL(...):定义单独对该字段按F4时显示的系统特殊值列表,和WRKLIBPDM的字段F4行为完全一致- 当在命令级按F4(整体调出命令提示)时,参数会显示默认值
*PRV,同时支持直接输入具体库名或通用名,和WRKLIBPDM的命令级提示逻辑匹配
如果需要更贴近WRKLIBPDM的简洁提示,可将PROMPT内容改为PROMPT('Library'),核心逻辑保持不变即可。
内容的提问来源于stack exchange,提问作者Asymptote
相关产品推荐
相关产品推荐

