Call Business Objects From BPM Using 4GL/ABL Code

Home  /  Technology Tips & Tricks  /  Power Tips: Epicor ERP  /  Call Business Objects From BPM Using 4GL/ABL Code

ABL-4GL code Epicor

Call Business Objects From BPM Using 4GL/ABL Code

Interested in how to progress 4GL/ABL code to call Epicor business objects from a BPM? Good, we thought you might be.

Below is the source code that you can insert to automate Epicor business processes.

Here is the source.

       
{Bpm/Bpm.i &OBJECT_NAME=UD08 }
{core/CallContext/CallContext.i}
{bo/UD08/UD08_ds.i}
define input parameter iKey1 as character.
define input parameter iKey2 as character.
define input parameter iKey3 as character.

{&TRY_PRIVATE}
 define variable morePages as logical.
 define variable i as integer.
 define variable hUD08 as handle.
 
 RUN bo\UD08\UD08.p PERSISTENT SET hUD08.
 
 if VALID-HANDLE (hUD08) THEN DO:
  
  RUN GetRows IN hUD08 (input "Key1 = '" + iKey1 + "' and Key2 = '" + iKey2 + "' and Key3 = '" + iKey3 + "'", input "", {&output_dataset_UD08DataSet}, input 0, input 0, output morePages).
  for each ttUD08:
   message "good".
   RUN DeleteByID IN hUD08 (input ttUD08.Key1, input ttUD08.Key2, input ttUD08.Key3, input ttUD08.Key4, input ttUD08.Key5) NO-ERROR.
  end.
  RUN GetRows IN hUD08 (input "Key1 = '" + STRING(iKey1) + "'", input "", {&output_dataset_UD08DataSet}, input 0, input 0, output morePages) NO-ERROR.
  
  RUN GetaNewUD08 IN hUD08 ( {&input-output_dataset_UD08DataSet} ) NO-ERROR.
   
  for each ttUD08 where ttUD08.RowMod = "A":
   assign ttUD08.Key1 = iKey1.
   assign ttUD08.Key2 = iKey1.
   assign ttUD08.Key3 = iKey3.
  end.
   
  RUN Update IN hUD08 ({&input-output_dataset_UD08DataSet}) NO-ERROR.
 end.
 else do:
  message "Could not create handle to UD08.p!".
 end.
  
delete object hUD08.
{&CATCH_PRIVATE} ;

Can the experts at Datix help you with a problem?


 

While You’re Here:

3 Comments so far:

  1. Asit Rai Nagpal says:

    Can you provide the same (Call Epicor business objects from a BPM) in ERP 10?

  2. […] couple weeks ago we posted how to do this; however we received several inquires regarding the code for performing this same action in Epicor […]

Leave a Reply

Your email address will not be published. Required fields are marked *