是否可以从java代码调用进度程序(.p文件)

时间:2016-05-26 11:03:20

标签: java progress-4gl

这是一个在Symix数据库中创建记录的Progress程序:

create audit.
    assign audit.table_name    = "JavaSample"
       audit.key_id        = "12345"
       audit.field_name    = "<FieldName>"
       audit.audit_dt      = today
       audit.audit_tm      = time
       audit.audit_user_id = "javauser".

我想从java代码中调用这个.p文件。

3 个答案:

答案 0 :(得分:4)

Progress提供 Open Client运行时包,通过AppServer调用.p。 需要使用来自 Progress OpenEdge Studio 安装的ProxyGen从已编译的.r文件生成java类,然后将这些生成的类放入Java项目中。 但是这种变体很复杂且不易使用,特别是如果参数经常变化的话。

ProxyGen的替代方法是使用 opa 库。它简化了Java中的Progress .p过程调用。 您只需要这种情况 - 创建一个简单的参数对象并调用runProc方法。参数将动态映射。 当然,您仍然需要AppServer on Progress端来运行那些.p。

https://github.com/labai/opa

中的更多信息

答案 1 :(得分:1)

使用AppServer时,您可以使用OpenClient Java代理在AppServer上运行.p文件:

http://documentation.progress.com/output/OpenEdge116/pdfs/dvjav/dvjav.pdf

答案 2 :(得分:0)

您可以使用Runtime执行shell脚本,例如此问题:How to run Unix shell script from Java code?