Вызов команды оболочки из peoplecode

Я получаю сообщение об ошибке при вызове команды ОС для Peoplecode с использованием функции EXEC. Вызов такой

CommitWork();

   &ShellCommand = "/path/mytest.sh param1 param2";

   &ReturnCode = Exec(&ShellCommand, %Exec_Synchronous + %FilePath_Absolute);

&ShellCommand создается с использованием пути, исполняемого файла и передаваемых параметров, как показано выше. Эта команда прекрасно работает, когда выполняется независимо.

Я продолжаю получать ошибку 255. Есть ли что-нибудь о синтаксисе? У кого-нибудь есть проверенный или рабочий пример или какие-либо предложения?

3 ответа

Спасибо, ребята, что ответили. Команда работала нормально из сценариев оболочки, но не из Peoplesoft. Оказалось, что текущая папка на сервере приложений была неправильной. Поэтому я добавил команду CD в качестве первой строки в сценарии оболочки, чтобы изменить текущую папку на правильную папку. Это сработало. Еще раз спасибо.

Синтаксис выглядит правильно. Я использую подобный код для вызова файлов Bat.

    Exec("C:\windows\system32\cmd.exe /c C:\Test\mybat.bat param1 param2", %Exec_Synchronous+%FilePath_Absolute);

Вы пробовали с абсолютным путем вместо относительного пути?

Код ошибки 255, по-видимому, находится за пределами допустимого диапазона.

см. http://tldp.org/LDP/abs/html/exitcodes.html

Я бы проверил предположения, которые вы делаете. То же имя пользователя, на котором выполняется сценарий оболочки, ваше имя пользователя и имя пользователя сервера приложений? Правильно ли настроена среда для имени пользователя сервера приложений и вашего имени пользователя? права доступа к файлу

Другие вопросы по тегам