Тестирование PeopleSoft - ошибка Catch CreateProcessRequest

В настоящее время я провожу тестирование компонентов, и одно из условий тестирования - отловить ошибку CreateProcessRequest. У меня есть этот код:

/определить параметры управления запуском - см. код ниже/

Local ProcessRequest & RQST;

& RUN_PO_BU = PO_HDR.BUSINESS_UNIT;

& RUN_PO_ID = PO_HDR.PO_ID;

& RUN_OPRID = PO_PNLS_WRK.OPRID;

& RunCntlID = "PS_PO_" | & RUN_PO_BU | & RUN_PO_ID | "_" | UniqueRunCntlID ();

& MI_SQRProcess = "Test";

& RQST = CreateProcessRequest ("Процесс SQR", & MI_SQRProcess);

& RQST.RunControlID = & RunCntlID;

& RQST.Schedule ();

& instanceList = & RQST.ProcessInstance;

Если &RQST.Status = 0, то

    <do something>;

еще

 Error MsgGet(99999, 99999, "%1 process with instance %2 returned a non->zero exit code(%3)", &MI_SQRProcess, &instanceList, &RQST.Status);

End If-;

Итак, мой вопрос заключается в том, что я собираюсь сделать (процесс), чтобы CreateProcessRequest работал с ошибкой (или возвращал ненулевой код завершения) или как это работает, чтобы я мог создать условие и проверить его. Спасибо:)

1 ответ

Решение

То, что я пытаюсь сделать, это позволить моему коду работать с ошибками, чтобы я мог поймать его для моего тестирования. Как бы я позволил CreateProcessRequest возвращать ненулевой код завершения.

Если я правильно понимаю, похоже, что вы хотите знать, как вызвать &RQST.Status содержать ненулевое значение (т. е. ошибку).

Вы пытались передать ошибочные параметры при создании объекта?

Что касается PeopleBooks, за CreateProcessRequest() следует Schedule (), который возвращает значение 0 в случае успеха.

В расписании () говорится:

  • Если вы планируете отдельный процесс, вы должны присвоить значения следующим свойствам:
    • RunControlID
    • Имя процесса
    • ProcessType

Вы пробовали запустить график без установки RunControlID?

что произойдет, если вы закомментируете эту строку?

&RQST.RunControlID = &RunCntlID;

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