Peoplecode : Lancer un traitement et en attendre le résultat.
Posted on Tuesday 29 January 2008, 22:55 - Peoplesoft - Permalink Tweet
- Article
- |
- Comments(0)
- |
- Attachments(0)
Voici comment en Peoplecode, il est possible d'exécuter d'autres traitements et d'attendre leur fin avant de poursuivre.
Local ProcessRequest &prcsrqst;
Local JavaObject &Obj;
&prcsrqst = CreateProcessRequest("Application Engine", "TEST");
&prcsrqst.RunControlID = TEST_AET.RUN_CNTL_ID.Value;
&prcsrqst.Schedule();
&Obj = CreateJavaObject("java.lang.Thread");
&Obj.start();
&RunStatus = "0";
While &RunStatus <> "9" And
&RunStatus <> "3" And
&RunStatus <> "1" And
&RunStatus <> "10"
REM Directly use the Java sleep() Method for 5 seconds;
&Obj.sleep(5000);
SQLExec("SELECT RUNSTATUS FROM PSPRCSRQST WHERE PRCSINSTANCE = :1", &prcsrqst.ProcessInstance, &RunStatus);
REM MessageBox(0, "", 0, 0, "Sleep(), Runstatus = %1", &RunStatus);
End-While;
&Obj.stop();
rem WriteLog("Process TEST is Finished");
If &prcsrqst.Status = 10 /* No success */ Or
&prcsrqst.Status = 3 /*( Error)*/ Then
/* Process your errors */
Exit (1);
Else
/* Process your success */
End-If;