如何在CL编程中使用CHGDTA? (AS400)

时间:2015-05-13 02:20:12

标签: ibm-midrange

请注意这是学校的任务

我正在尝试创建一个CL程序,这是我收集的要求的细分:

  • CL程序调用DFU程序
  • 将弹出一个带有选项的菜单

                 - Enter CIF data
    
                 - Edit CIF data
    
                 - Exit
    
  • 当用户选择一个选项时,将显示一条消息,说明已采取措施,例如:“CIF数据输入程序正在执行”

我是CL编程的新手,我尝试了各种各样的事情,并且不断遇到错误CPF0001(应用程序错误),不受CIFCL99(我的cl程序)在语句000000050监视,我不知道这意味着什么,我查了一下,更加困惑。

以下是我的CL程序的屏幕截图,我知道SNDPGMMSG没有做任何事情,因为我非常确定我需要为弹出的消息设置条件。但我甚至无法启动DFU计划。我甚至不知道我的语法是否错误,我没有声明任何变量,所以我不需要对吗?我已经看过几十个例子并尝试制作一些东西。

CIF CL PROGRAM

这是库的结构。内部QCLSRC是CLLE程序CIFCL99的源代码,QDDSSRC内部是CIFFILE和CIFFILE1的源代码

STRUCTURE

谢谢你的时间。

1 个答案:

答案 0 :(得分:3)

仅供参考:屏幕截图不仅过大,还会阻止将源语句从文本版本的描述复制到基于文本的5250屏幕中,或者将copy \ paste复制到后续回复中,并阻止搜索可能相关的文本以查找类似的问题;一个完整的PITA IMO。

无论如何,问题似乎可能是变更数据(CHGDTA)上指定的文件不是预期的文件类型;名为CIF的文件可能是设备文件 [属性 DFU ],而不是数据库文件,它是以下任一文件:CIFFILE [属性PF -DTA]或CIFFILE1 [属性LF-DTA;虽然PDM省略了* DTA,好像LF不具备* SRC属性,但他们显然不知道更好; - )

对于msg CPF0001,原点很容易确定。出现该消息时,按F1 =帮助[光标位于消息文本上“在& 1命令上找到错误”。然后按F10 =在作业日志中显示消息以查看作业日志中的上述错误消息。对于在请求后出现的消息[即在CALL调用]和“Error found ...”之前,再次按F1 = Help,并阅读问题和原因文本。 [edit] 更正将CALL语句命令命名为由语句50上的错误标识的问题,该错误几乎肯定对应于行00005.00,并且在CRTCLPGM [或CRTBNDCL]生成的编译器列表中可见]。的 [/编辑]