我需要创建一个AS/400命令。根据要求,它有两个参数,比如A和B,它们不能同时填充。当按F4键提示时,两者都会显示,但一次只能填充一个。如果两者都填满了,应该会出现一条错误消息,说这是无效的。有人能告诉我如何创建这样的命令吗?我需要在CMD源文件中指定什么来实现它?如何使用互斥参数创建AS/400命令?
回答
使用DEP命令定义语句来控制参数。
CMD PROMPT('TEST')
PARM KWD(A) TYPE(*CHAR) PROMPT('A')
PARM KWD(B) TYPE(*CHAR) PROMPT('B')
DEP CTL(*ALWAYS) PARM(A B) NBRTRUE(*EQ 1)
CMD源只具有执行合法性检查的基本能力。通常,最终用户业务规则由有效性检查程序执行。参见CRTCMD VLDCKR()。 VCP非常类似于CPP,除非命令未通过有效性检查,否则VCP会向调用者发送* DIAG消息,其中包含原因的详细信息,并向调用者发送CPF0002 * ESCAPE消息,告诉它命令没有跑。
如何创建此VCP? –
在这种情况下,VCP是一种过于繁琐的方式来完成上面显示的'DEP'语句容易完成的事情。 – WarrenT
实际上,除DEP语句外,其他代码的数量并不多,除了两个参数的DCL更多地使用它。这只是一个IF声明和一对SNDPGMMSGs。它比* CMD对象本身的编码和DEP语句的使用更为广泛地被理解和接受。 (虽然我会用DEP。) – user2338816
- 1. 互斥锁/解锁命令
- 2. 使用Allegro互斥体创建互斥体类
- 3. 如何为e4命令创建参数
- 4. 在Linux上如何创建互斥锁?
- 5. 如何创建互斥的表列
- 6. 解析不相互排斥的命令行参数组
- 7. 创建命令行参数
- 8. 创建一个互斥列
- 9. 互斥对象创建
- 10. 如何使用互斥体
- 11. 如何使用NtCreateMutant(Zw)在C++中创建一个互斥体
- 12. 如何使用DEAP创建人口的三个互斥子集
- 13. getopts检查互斥参数
- 14. python:互斥位置参数
- 15. 模板参数互斥
- 16. 使用Oledb命令构建查询以查询AS400数据库
- 17. 使用互斥
- 18. C#互斥参考
- 19. python 2.7 argparse:如何在普通参数组中创建互斥组?
- 20. 使用argv中的命令初始化全局互斥体
- 21. 如何在WPF数据网格中创建互斥列?
- 22. 如何使用shell命令创建local.properties
- 23. 如何使用可选参数创建交互式elisp函数
- 24. 何时使用互斥
- 25. 互斥或不互斥互斥?
- 26. 如何用互斥单选按钮创建Django表单?
- 27. 如何使python argparse不带前缀的互斥组参数?
- 28. 用互斥体重建sem_wait()?
- 29. 如何使用命令行参数
- 30. 如何使用命令参数?
上面的来源是否意味着A和B中的一个必须被填充,但不是两个?这是我需要的。不能同时填充,但它们不能一起留空。 –
@God_of_Thunder:这意味着2个参数中的1个必须有一个值,另一个必须是空的。 – jamesallman
@God_of_Thunder如果你想显示一条消息,如果两者都被指定了,那么在'DEP'语句中指定'MSGID(yourmsgid)'。 – WarrenT