python - 如何从 Python 调用 RPG 程序
问题描述
如何从 IBM 的 Python 中调用 RPG 程序来进行 PASE?
我尝试了 os.system、subprocess.popen/call 但它们没有用。
更新
我在 IBM 的网站上找到了一些东西。我尝试了以下;它没有给我任何错误,但 RPG 程序没有执行(这意味着它没有给出预期的结果)。
from itoolkit import *
from itoolkit.lib.ilibcall import *
itool = iToolKit()
itransport = iLibCall()
itool.add(iCmd('CALL', 'CALL TEMPLIB/TEMPPGM'))
itool.call(itransport)
解决方案
基于 XMLSERVICE 的 Python itoolkit 的文档在这里,特别是您需要iPgm。
一个没有参数的简单示例是:
from itoolkit import *
from itoolkit.lib.ilibcall import *
itransport = iLibCall()
itool = iToolKit()
itool.add(iPgm('pgmcall','TEMPPGM', {'lib': 'TEMPLIB'}))
itool.call(itransport)
output = itool.dict_out('pgmcall')
if 'success' in output:
print('Success!')
指定库的另一种解决方案是先添加一个iCmd
操作,将其添加TEMPLIB
到库列表中。您可以在这里找到更多示例:http: //python-itoolkit.readthedocs.io/en/latest/examples.html
推荐阅读
- python - 将非多语言代码从 Py2 移植到 Py3 的巧妙方法
- javascript - 如何使用 PHP 动态填充模态,其中模态是通过 PHP 循环创建的 div 的一部分?
- javascript - 阻止 localStorage 在开发者工具中显示?
- gpu - LSF 中的 ngpus_excl_p
- miniconda - Conda 安装 UnsatisfiableError
- ruby - RubyGem 此 gem 的可用/已安装版本
- vim - 在命令模式下更改删除默认行为
- javascript - 仅反弹 Div 的背景图像而不是内容
- javascript - 使用运行 nodejs 的 javascript 在事件之前发送通知
- javascript - 使用按钮从文本字段中复制信息?