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 boUD08UD08.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:
- Find more tech tips in Tech Toolbox
- More insight in the Datix Blog
- Meet our developers and consultants
- Learn more about Datix Connect