如何从Windows的命令提示符调用AS400程序?

时间:2016-11-10 11:19:19

标签: ibm-midrange

我正在尝试使用命令提示使用命令提示来调用程序 " QUOTE RCMD CALL PGM(LIB / MyPGM)"
我收到此错误: enter image description here

如何执行此操作?

2 个答案:

答案 0 :(得分:1)

从语法上讲,你的命令是正确的。服务器尝试调用程序时发生错误。消息CEE9901的文本是:

Message . . . . :   Application error.  &1 unmonitored by &2 at statement &5, 
  instruction &3.                                                             
Cause . . . . . :   The application ended abnormally because an exception     
  occurred and was not handled.  The name of the program to which the         
  unhandled exception is sent is &6 &8 &12. The program was stopped at the    
  high-level language statement number(s) &11 at the time the message was     
  sent.  If more than one statement number is shown, the program is an        
  optimized ILE program.  Optimization does not allow a single statement      
  number to be determined.  If *N is shown as a value, it means the real value
  was not available.                                                          
Recovery  . . . :   See the low level messages previously listed to locate the
  cause of the exception.  Correct any errors, and then try the request again.

因此,此时,您需要检查iSeries作业日志。为此,您需要在不同的FTP作业中找到您的工作。执行此命令(如果您有权限):

WRKACTJOB JOB(QTFTP*)

找到Current User设置为您用于FTP的登录的作业。然后检查该作业的作业日志。您可能会看到导致CEE9901生成的真正错误。

如果您没有WRKACTJOB命令的权限,另一种方法是打印您的作业日志并查看生成的假脱机文件。使用这些FTP命令:

quot rcmd CHGJOB LOG(4 00 *SECLVL) LOGCLPGM(*YES)
quot rcmd DSPJOBLOG OUTPUT(*PRINT)

然后查看假脱机文件中的QPJOBLOG。它应该转到您登录FTP的任何用户的假脱机文件。此AS / 400命令(来自绿色屏幕)将帮助您找到它:

WRKSPLF SELECT(*CURRENT *ALL *ALL QTFTP*)

没有看到工作日志,我无法确定原因。但是,根据我的经验,此类型的大多数错误都是由库列表中缺少库引起的。您可能必须首先使用ADDLIBLE FTP命令执行一些quot rcmd命令。像这样:

quot rcmd addlible mypgmlib
quot rcmd addlible mydatalib

其次是:

quot rcmd call mylib/mypgm

答案 1 :(得分:1)

尝试使用pgm

quote rcmd CALL PGM(YOURLIB/YOURPROG)

如果你有参数

quote rcmd CALL PGM(YOURLIB/YOURPROG) PARM('ARG1' 'ARG2')