linux - PeopleSoft 应用程序引擎的 EXEC pplcd 问题

标签 linux unix peoplesoft peoplesoft-app-engine

在 Unix 服务器上,我通过进程调度程序运行应用程序引擎。 在其中,我试图在“Exec”pplcode 函数中使用“zip”Unix 命令。

但是,我只得到错误

PS_Exec(P):执行批处理命令时出错,原因是:没有这样的文件或目录 (2) 我已经尝试了几种方法。我认为最合乎逻辑的方法是将目录更改回根目录,然后更改到指定目录,以便我可以轻松地使用 zip 命令,例如以下...

Exec("cd / && cd /opt/psfin/pt850/dat/PSFIN1/PYMNT && zip INVREND INVREND.XML");


1643 12.20.34 0.000048 72: Exec("cd /opt/psfin/pt850/dat/PSFIN1/PYMNT");
1644 12.20.34 0.001343 PS_Exec(P): Error executing batch command with reason: No such file or directory (2)

我什至尝试了以下...只是为了看看任何东西是否在 Exec 中工作...

Exec("ls");

果然报了同样的错

现在,有些人可能想知道,与进程调度程序相关联的帐户是否真的对服务器上的这个特定目录路径具有权限?好吧,我能够毫无问题地创建上一个命令中给出的 xml 文件。

我似乎无法通过 Unix 命令的 Exec 发布来修改它。 我想知道这是否是 unix 服务器关于运行进程调度程序的运算符(operator) ID 的权利和权限错误。但是,鉴于它可以在那里创建和写入文件,我无法理解为什么 Exec 命令会遇到任何阻力......只是我在黑暗中的直觉......

任何帮助将不胜感激!!!

谢谢, 弗林

最佳答案

不确定您是否仍有问题,但在您的执行代码中,添加可选的 %FilePath_Absolute常量应该有帮助。当该常量被关闭时,PS 会自动为所有命令添加前缀<PS_HOME>。 .不过,您必须指定带有此标志的绝对路径。我已将命令更改为应该有效的命令。

Exec("zip /opt/psfin/pt850/dat/PSFIN1/PYMNT/INVREND /opt/psfin/pt850/dat/PSFIN1/PYMNT/INVREND.XML", %FilePath_Absolute);

文档位于 PeopleBooks有时有点困惑,但在这种情况下它解释得很好。 您始终可以将绝对位置存储在一个变量中,并将其作为前缀添加到您的命令中,这样您就不必一直输入 /opt/psfin/pt850/dat/PSFIN1/PYMNT/ .

关于linux - PeopleSoft 应用程序引擎的 EXEC pplcd 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25874396/

相关文章:

linux - 上传 linux 二进制文件到 maven 仓库

php - 如何将 php 与 bash 脚本连接或将变量从 php 传递到 bash 脚本

shell - 自动创建 Unix screen 并在多个窗口中运行多个命令

javascript - 如何给这个纪元添加一毫秒的时间?

javascript - AJAX 和 JavaScript 不工作

android - 恢复 Kivy 应用程序,即使最小化(未关闭)到最近的 Activity

Python3.7 : error while loading shared libraries: libpython3. 7m.so.1.0

web-services - 使用 Web 服务登录 Peoplesoft

.net - SAP 和 PeopleSoft 使用 Web 服务复杂对象

linux - Centos usermod -a 不要将用户添加到组中