Lawson AGS Caching Pt 2

I previously posted about what Lawson AGS caching was here. After some questions and reviewing the post, I realize that I didn’t fully explain how to use it within the context of Process Automation or Process Integrator. Hopefully, this post will answer those questions. Since we’re on Process Automation, my example will be from PA. The only difference between Process Automation and Processflow Integrator is that PA will return the XML from the Lawson Transaction Node (AGS). You will have to use a WebRun in Processflow integrator. Neither product (to my knowledge) will return the _TRANSID as one of the fields from the AGS node.

In this example, I will inquire on GL10.1 with cache set to true and then update the Company name field. For those who are just joining us (and didn’t read part 1), by turning on caching, I can update just the company name field in the update node instead of having to pass in all of the fields again.

Here is my sample flow:
examplelTRANSID

  1. I have two start node variables: strXML and strTRANSID
  2. Inquire on GL10.1. If you’re on Processflow integrator use a Webrun here.
  3. Fix the XML data. XML cannot have a period (.) in a node name. Unfortunately, the AGS response has a period in the node that contains the form name (GL10.1 in this case). We must remove this or the parse will fail
  4. Parse the XML string
  5. Get the TRANSID. This step is not strictly necessary
  6. Update the company name on GL10

GL10.1 Inquire

_PDL=PROD&_TKN=GL10.1&_EVT=CHG&_CACHE=TRUE&_LFN=ALL&FC=I&GLS-COMPANY=10

Update XML string

strXML=AGSInquire_outputData.replace(/GL10.1/g,"GL101");

Parse XML
Action is “Parse XML String” and the input value is strXML that was built in the Assign node

Get the TRANSID

strTRANSID=XMLParse_output.GL101[0]._TRANSID

GL10.1 Update

_PDL=PROD&_TKN=GL10.1&_EVT=CHG&_CACHE=TRUE&_LFN=ALL&FC=C&GLS-COMPANY=10&GLS-NAME=NewCompanyName&_TRANSID=<!strTRANSID>

HTH

Leave a comment