Тестирование 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;