Example 4GL calling a BPM

Thanks for the example!  This is very useful reference material.

 

Steve

 

 

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of Calvin Dekker
Sent: Sunday, March 02, 2014 9:09 AM
To: vantage@yahoogroups.com
Subject: [Vantage] Example 4GL calling a BPM.

 

 

Here's a sample calling the sales order:

/**************************************************************************************/
DEFINE VARIABLE hSalesOrder AS HANDLE NO-UNDO.
DEFINE VARIABLE iOrderNum AS INTEGER NO-UNDO.
DEFINE VARIABLE AllOk AS LOGICAL NO-UNDO INITIAL true.

iOrderNum = 1234.

RUN bo/SalesOrder/SalesOrder.p PERSISTENT SET hSalesOrder. /* create a BO handle */

IF VALID-HANDLE(hSalesOrder) THEN DO: /* verify a connection */
RUN GetByID IN hSO(INPUT iOrderNum, OUTPUT DataSet SalesOrderDataSet). /* run BO passing input/outputs */

ASSIGN ttOrderHed.PONum = 'MyNewPONumber' /* change some values */
ttOrderHed.RowMod = 'U'.

RUN UpdateExt IN hSalesOrder({&input-output_dataset_SalesOrderDataSet},INPUT false, INPUT false, OUTPUT DATASET BOUpdateErrorDataSet, OUTPUT AllOk ). /* run BO passing input/outputs */

MESSAGE 'Sales Order Updated.' /* write a note to the logs */
END IF.

DELETE OBJECT hSalesOrder. /* delete the handle */
/**************************************************************************************/

Run a trace to see the BO being called and what all is being passed.
Hope I commented the samples enough for use.

Thank you in advance,
Calvin Dekker
[cid:image001.jpg@01CF35F4.D46B2E00]<http://www.codabears.com/>
630-672-7688 x1484
[cid:image002.png@01CF35F4.D46B2E00] <https://www.facebook.com/CodaBearsInc> [cid:image003.png@01CF35F4.D46B2E00] <http://www.linkedin.com/company/codabears-inc> [cid:image004.png@01CF35F4.D46B2E00] <https://twitter.com/CodaBearsInc>

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of Vantage
Sent: Sunday, March 2, 2014 6:08 AM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] BPM Refresh Screen

Jose,

Could you provide a string example on this for a BO like Sales Orders?

Steve

From: vantage@yahoogroups.com<mailto:vantage@yahoogroups.com> [mailto:vantage@yahoogroups.com] On Behalf Of Jose Gomez
Sent: Friday, February 28, 2014 12:29 PM
To: Vantage
Subject: Re: [Vantage] BPM Refresh Screen

Yes :-) you can do it on post processing. Just callt he current BO GetByID TADA Refresh

Jose C Gomez
Software Engineer

T: 904.469.1524 mobile
E: jose@...<mailto:jose@...>
http://www.josecgomez.com
[http://www.josecgomez.com/images/linkedin.png]<http://www.linkedin.com/in/josecgomez> [http://www.josecgomez.com/images/facebook.png] <http://www.facebook.com/josegomez> [http://www.josecgomez.com/images/google.png] <http://www.google.com/profiles/jose.gomez> [http://www.josecgomez.com/images/twitter.png] <http://www.twitter.com/joc85> [http://www.josecgomez.com/images/wp.png] <http://www.josecgomez.com/professional-resume/> [http://www.josecgomez.com/images/rss.png] <http://www.josecgomez.com/feed/>

Quis custodiet ipsos custodes?

On Fri, Feb 28, 2014 at 1:17 PM, <salitzau@...<mailto:salitzau@...>> wrote:

Is there a way to call a screen refresh inside a BPM ABL code? I am thinking no since you are working with methods and data and not the UI but I thought I would ask anyway.

Thanks

Scott

[Non-text portions of this message have been removed]

Here's a sample calling the sales order:


/**************************************************************************************/
DEFINE VARIABLE hSalesOrder AS HANDLE NO-UNDO.
DEFINE VARIABLE iOrderNum AS INTEGER NO-UNDO.
DEFINE VARIABLE AllOk AS LOGICAL NO-UNDO INITIAL true.

iOrderNum = 1234.

RUN bo/SalesOrder/SalesOrder.p PERSISTENT SET hSalesOrder. /* create a BO handle */

IF VALID-HANDLE(hSalesOrder) THEN DO: /* verify a connection */
RUN GetByID IN hSO(INPUT iOrderNum, OUTPUT DataSet SalesOrderDataSet). /* run BO passing input/outputs */

ASSIGN ttOrderHed.PONum = 'MyNewPONumber' /* change some values */
ttOrderHed.RowMod = 'U'.

RUN UpdateExt IN hSalesOrder({&input-output_dataset_SalesOrderDataSet},INPUT false, INPUT false, OUTPUT DATASET BOUpdateErrorDataSet, OUTPUT AllOk ). /* run BO passing input/outputs */

MESSAGE 'Sales Order Updated.' /* write a note to the logs */
END IF.

DELETE OBJECT hSalesOrder. /* delete the handle */
/**************************************************************************************/

Run a trace to see the BO being called and what all is being passed.
Hope I commented the samples enough for use.

Thank you in advance,
Calvin Dekker
[cid:image001.jpg@01CF35F4.D46B2E00]<http://www.codabears.com/>
630-672-7688 x1484
[cid:image002.png@01CF35F4.D46B2E00] <https://www.facebook.com/CodaBearsInc> [cid:image003.png@01CF35F4.D46B2E00] <http://www.linkedin.com/company/codabears-inc> [cid:image004.png@01CF35F4.D46B2E00] <https://twitter.com/CodaBearsInc>

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of Vantage
Sent: Sunday, March 2, 2014 6:08 AM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] BPM Refresh Screen


Jose,

Could you provide a string example on this for a BO like Sales Orders?

Steve

From: vantage@yahoogroups.com<mailto:vantage@yahoogroups.com> [mailto:vantage@yahoogroups.com] On Behalf Of Jose Gomez
Sent: Friday, February 28, 2014 12:29 PM
To: Vantage
Subject: Re: [Vantage] BPM Refresh Screen


Yes :-) you can do it on post processing. Just callt he current BO GetByID TADA Refresh


Jose C Gomez
Software Engineer

T: 904.469.1524 mobile
E: jose@...<mailto:jose@...>
http://www.josecgomez.com
[http://www.josecgomez.com/images/linkedin.png%5d<http://www.linkedin.com/in/josecgomez> [http://www.josecgomez.com/images/facebook.png%5d <http://www.facebook.com/josegomez> [http://www.josecgomez.com/images/google.png%5d <http://www.google.com/profiles/jose.gomez> [http://www.josecgomez.com/images/twitter.png%5d <http://www.twitter.com/joc85> [http://www.josecgomez.com/images/wp.png%5d <http://www.josecgomez.com/professional-resume/> [http://www.josecgomez.com/images/rss.png%5d <http://www.josecgomez.com/feed/>

Quis custodiet ipsos custodes?

On Fri, Feb 28, 2014 at 1:17 PM, <salitzau@...<mailto:salitzau@...>> wrote:


Is there a way to call a screen refresh inside a BPM ABL code? I am thinking no since you are working with methods and data and not the UI but I thought I would ask anyway.

Thanks

Scott




[Non-text portions of this message have been removed]