Posts

IPA Variable Assignments Lost After Wait Node

There exists a scenario in IPA where variable values are lost after a wait node, if the variable is set using javascript as opposed to the straight assignment feature.  This article will describe the workaround for this scenario.

In this sample, the first assign node uses javascript to set the variable apples.  The 2nd assign node (after the wait node) sets the debug string variable to the value of the apples variable.

This excerpt from the work unit log shows that the variable debug is set to a blank value.  This is because the value of the variable apples is lost after the wait.

To ensure that the variable value is not lost after a wait node, simply set the value of the variable to itself using the traditional variable assignment.  This can be done any time after the javascript setting, and before the wait node.

As you can see, the debug variable is now successfully set to the value of the apples variable.

Creating custom IPA triggers using 4GL

With Infor Process Automation, there are several ways to trigger a Process.  This article will discuss how to trigger a custom process using 4GL.

First, create your Process.  Test it and upload it to the Process Server.

Next, in IPA Rich Client (or the LPA Admin tool), you must create a Service Definition (Process Server Administrator > Administration > Scheduling > By Service Definition) and attach a Process to it.  There, you will configure any variables that should be passed to the process.

Now, let’s create the trigger in the 4GL program.  This will be either a custom program your organization has created, or an existing Lawson form.

The first step is to initialize the WF SERVICE.

INITIALIZE WFAPI-INPUT

INITIALIZE WFAPI-OUTPUT

 

MOVE <serviceNameString> TO WFAPI-I-SERVICE

 

PERFORM 1000-WF-SERVICE

***Verify that the return code != 0 (anything other than 0 indicates error)

IF (WFAPI-O-RETURN-CODE NOT = ZEROS)

GO TO 600-END

Next, create the Work Unit

MOVE WFAPI-O-SERVICE TO WFAPI-I-SERVICE

MOVE <workTitleString> to WFAPI-I-WORK-TITLE

INITIALIZE WFAPI-OUTPUT

PERFORM 1000-WF-CREATE-SETUP

 

Now, populate your variables.  You can have an unlimited number of variables per Service Definition, but you must populate them in groups of 10 (i.e. perform the 1000-WF-ADD-VAR-SETUP for each group of 10)

INITIALIZE WFAPI-INPUT

 

MOVE WFAPI-O-WORKUNIT TO WFAPI-I-WORKUNIT

MOVE “company” TO WFAPI-I-VARIABLE-NAME (1)

MOVE HR11F1-EMP-COMPANY TO WFAPI-I-VARIABLE-VAL  (1)

MOVE “I” TO WFAPI-I-VARIABLE-TYPE (1)

 

MOVE “employee” TO WFAPI-I-VARIABLE-NAME (2)

MOVE HR11F1-EMP-EMPLOYEE TO WFAPI-I-VARIABLE-VAL  (2)

MOVE “I” TO WFAPI-I-VARIABLE-TYPE (2)

 

INITIALIZE WFAPI-OUTPUT

PERFORM 1000-WF-ADD-VAR-SETUP

 

Finally, release the Work Unit

INITIALIZE WFAPI-INPUT

MOVE WFAPI-O-WORKUNIT TO WFAPI-I-WORKUNIT

INITIALIZE WFAPI-OUTPUT

PERFORM 1000-WF-RELEASE-SETUP

 

Nogalis would love to assist with all your IPA needs!  We have some great resources on hand who can provide managed services of your system, training, and project work.  Check out our managed services program today!

Deactivating an IPA Flow

Here is a quick guide on how to deactivate a scheduled IPA.

 

First, you will need to find the IPA name in IPD

  1. Log into IP Designer
  2. Create a new process
  1. Upload the process to your server by clicking the up arrow icon , or by clicking:
    • Tools > Manage Processes > Select Open Process

 

Remove the Schedule for the Process

  1. Log into Rich Client
  2. From the Start menu, navigate to Applications > My Actions > My Scheduled Actions
  1. Select the Name of the schedule and on the bottom screen it should show all the triggers associated with the schedule.
  2. Drop down on Actions and choose Delete Finished Triggers
  3. Right-mouse click and Click open
  1. Select delete to remove this schedule.

 

How to update certificates in Lawson & Landmark

IIS

The process to update web certificates in Lawson & Landmark is virtually the same.  First, change the selected certificate in the “Bindings” on the website.  Restart the World Wide Web Publishing service for the change to take effect.

WebSphere

Some sites use the default WebSphere generated certificate, which auto-renews.  In the event that your organization has configured WebSphere to use an organizational server or wildcard certificate, you will also need to replace that certificate in WebSphere.  First make sure that you have a pfx file stored locally on the server, and that you have the private key for that file.

Open the console manager and navigate to Security > SSL certificate and key management

Select the CellDefaultKeyStore

Select Personal Certificates

Import the new certificate first.

Set the path to where you have saved the file locally, and enter the password.  Click “Get Key File Aliases” to get the certificate information.  Enter a meaningful alias for the certificate.

 

Select the old certificate and click “Replace…”.

Select the new certificate as the replacement.  Check the boxes to Delete the old certificate and signers.

Follow these same steps for the NodeDefaultKeyStore

Save the changes to the master configuration.

Validate that the Trust Store certs were updated by going into NodeDefaultTrustStore and CellDefaultTrustStore > Signer certificates

Web Server

Copy the new certificate to the Web server.  In console manager, go to Server Types > Web servers.

Click “Plug-in properties” on the right under Additional Properties.  Select “Copy to Web server key store directory”

Generate and propagate the plugins for the web server.

Run an iisreset command, or restart the WWW publishing service.

Your certificates are updated!  You can validate this by going to the web site and looking at the certificate (click the little lock).  You can compare the thumbprint of the website certificate to the new certificate you just added.

How to resolve the problem: LSF submitted processes aren’t triggering on IPA Server

Problem: Submitted requisitions aren’t triggering on IPA server via reqapproval process and are not showing in Rich Client.

 

  1. Go to LSF application server, start LID and type: pfserv ping all

    Make sure Event Manager is running.
  2. When Event Manager is NOT running:
    Let’s restart it but make sure we can see the java process with –classpath in their command line close.

Now in LID on LSF server, run these stop commands IN THIS ORDER:

Verify the java.exe –classpath processes closed, else manually end them.

 

Now start them up IN THIS ORDER:

Now run a pfserv ping all to see if Event Manager is running.

 

Go to Rich Client and check Live Workunits to verify that hung processes are being picked up:

 

This issue can often be prevented with regular Lawson maintenance and monitoring via monthly health checks. Organizations with a single Lawson professional are sometimes spread thin and overwhelmed.

 

To combat this, organizations often hire a Lawson consultant team who offer managed services at a fixed monthly rate. These Lawson teams have a wider range of expertise and knowledge and are ideal for larger organizations but also are great for smaller ones that don’t need a dedicated Lawson employee on-site.

 

WorkUnits Not Running

Problem Description

WorkUnits are not moving forward after a user takes an approve action in the inbasketRoot

 

Cause

The Lawson user was set to have “Run as” disabled. This prevents WorkUnits from successfully updating their PfiQueueTask records to move forward. This occurred as part of a sync that was executed a week before. The ISS SCWebAppAdmin had the Lawson user flagged as run as “No“, when the sync occurred the Landmark Lawson actor was updated. This did not impact the system until a week later when the Landmark system was restarted after applying windows patches.

 

 Solution

Change the Lawson user to “run as enabled”

and push that new setting and do a rolling restart on LPA/LmrkAll node to restore functionality.

 

 

 

Using IPA Web Run to work with attachments/comments

Working with attachments (or comments) to forms Is very simple using the WebRun node in IPA.

The first step to setting up a Web Run node, is to configure the Web Run Connection in your IPA configuration set.  For Internal Lawson commands, this will be your Lawson configuration set (usually “main”).

If your organization is using ADFS for authentication to Lawson, make sure you set up the Web Run Connection using the Lawson thick client site.

Here are the Web Programs used when working with attachments:

  • lawson-ios/action/ReadAttachment
  • lawson-ios/action/ListAttachments
  • lawson-ios/action/DeleteAttachment
  • lawson-ios/action/ChangeAttachment
  • lawson-ios/action/AddAttachment

The Post string should contain the pertinent details relating to the attachment.  All attachments will need a dataArea, filename, indexName, attachmentCategory, and Key values.  The Key values map to the index for the table to which you are adding attachments.  Attachment category is C or U (comment or URL).

When working with specific attachments (ReadAttachment, DeleteAttachment, ChangeAttachment), you will also need to provide attachmentNbr, which is the unique key of the attachment.  When adding and changing attachments, you will also want to provide the ATTACHMENT-NAME and ATTACHMENT-TEXT values.

Configure S3 Connection Pooling

If you are receiving frequent connection failures between IPA and Lawson S3, you may want to configure the connection pooling for S3.

To do this, open the Landmark Grid, and click the “gear” to open the configuration manager.  Click Applications > [your landmark application] > Edit Properties.

Expand “LPA Settings” then “S3 Pooling”.  Click “pfi.pooling.s3UsePooledConnections”

Select “All” for the display complexity.  Click the top LPA option, first column.

Check the box “pfi.pooling.s3UsePooledConnections” and click “Create (or Update) Property”

Now, set the rest of the s3 connection properties.  Best practices are as follows:

Be sure to click the save button at the top of the screen.

API Calls in IPA causing innerElementCountThreshold error

For API calls that return a large result set, you may encounter the message “Error while executing Web Service activity javax.xml.ws.soap.SOAPFaultException: reach the innerElementCountThreshold:50000”.  To resolve this issue, add a JVM command to allow a larger threshold.

 

Launch the Landmark Grid.  Click on the “configuration” icon.

 

Click “Applications”

Select your Landmark application

 

Click “Edit Properties”

 

Expand “Node Properties” under “Grid Defined Properties”

 

Click the link to Append another entry

 

Add the property “-Dorg.apache.cxf.stax.maxChildElements=<an appropriate # for your organization>”

Click “Update Property”

Be sure to save the Grid changes!!

Restart the server

 

IPA Error – No More Data to Read from Socket

Prior to Landmark version 11.0.29, IPA had trouble recovering gracefully from a loss in data connection.  When IPA loses connection with the database, it can sometimes throw this exception in the Work Unit logs:

To recover from this issue, you will need to restart the LPA node in Landmark grid, or restart the Landmark server.  After that, upgrade Landmark to a more stable version at the earliest convenience.