Description:

I am attempting to secure drill access for Lawson Security users. How can I view the required files?

 

Resolution:

In Lawson Security, open an existing security class.  Then click on either the Add Rule or View/Modify Rule.

Locate and right click on the specific field that you’re looking to secure drill access.  Then select the option Drill Explorer.

 

Below is an example showing the Drill Explorer option on the AM20.1 (Quick Addition) > Company field.

The Drill Explorer will display all of the files that a specific drill goes after.  In this example below, to secure the drill on AM20.1 Company field the following files need to be secured:

 

Only the fields with a drillable icon will have this list.  Below is an example of the drillable icon

Follow these steps to hardcode fields in Lawson Design Studio.

 

Changing a changeable, drillable field

To a hardcoded field

In your organization’s Design Studio: https://lawson.yourDomain.net/lawson/studio/

Go to Source and find the field line you want to change and change the following below:

Change tp=”Text” to tp=”Out”

 

Remember that whenever you customize a Lawson form like HR11, you’re taking a snapshot of that form and potentially making it incompatible with future official Infor patches. In addition to this, you also risk Infor not supporting issues with that form assuming you don’t have a dedicated Lawson team such as Nogalis to support you.

 

Description:

Error when accessing a form in Lawson Portal
” An Error occurred outside of IOS while accessing Lawson Security” then “No Programs or bookmarks were found for ‘<token>‘.”

You may find this stack trace in the lase_server_x_x.log and ios.log files:

Stack Trace : com.lawson.lawsec.author.runtime.LawsonSecurityException:Exception while checking security on token <FIELD-NAME> for user <username>. Message: org.mozilla.javascript.EcmaError: ReferenceError: “MISSING” is not defined. (<RuleAttribute>#1)
Stack Trace : org.mozilla.javascript.EcmaError: ReferenceError: “MISSING” is not defined. (<RuleAttribute>#1)
 

Resolution:

This message in the ios.log file indicates the security server (LASE process that runs) lost its connection to the ldap instance where the rules are stored for Lawson Security.

Run a User Security Report for the application profile in question. Within that report, look for the word MISSING on the right hand side of the report where the ruleText is listed.
Most of the time, when this error is presented, you can use the Lawson Security Administrator (LSA) tool to fix the issue without doing a full restart of the Lawson related services.

If you do see the word MISSING, do the following from within the LSA tool:

  1. Click on “Server Management”
  2. Click on “Clear Cache”
  3. Go open a brand new browser session.
  4. Log into Infor Lawson for Portal as a “Portal Administrator” and run the “Clear IOS Cache” option.
  5. Ask one of the users to open a new browser session, not a new TAB within an existing browser, then duplicate the issue.

This article will demonstrate how to clear out a Lawson system so that you can start a completely fresh compile of the full productline.

First, open a command line utility with the Lawson environment variables set.  Then, navigate to LAWDIR\<pdl>.

Next, run the following command: rm -rf on the following directories (for visual reference, look at the screenshot below and make sure that your screen matches all of the commands):

  • obj\*
  • map\default\*
  • map\intmap\*
  • int\*
  • *src\int\wslib\*
  • *src\int\pdlib\*
  • sdlib\*

Finally, run the command combcmp <pdl>.  If everything was run correctly, then this will recompile every program in the productline and create fresh compiled code.

 

If you need to update Lawson database tables to match custom form field changes, follow these steps:

 

First update your .scr forms, kndef, skndef fields if creating new columns. Updated your .sr file to include any additional fields if needed.

Then in dbdef <productline>

F6 (Define) >> Files and update the database table names

Once done, follow these procedures:

You can run a bldddbdict <productline>

Then dbreorg -l <productline> to see affected tables.

Then dbreorg <productline> to complete the dbreorg.

NOTE: If DBReorg fails, make sure websphere apps are down and java processes are not running, try and restart server then perform dbreorg again if needed.

Qcompile your file and clear cache/ios cache, then test changes.

If you are getting a connection timeout when trying to run certain nodes in IPA, it could be due to your firewall blocking port.

Look for the following error message in your work unit log:

Failed with error com.lawson.bpm.db.model.helper.LawsonDBException: java.rmi.ConnectException: Connection refused to host: <ip address>; nested exception is:

java.net.ConnectException: Connection timed out: connect

 

RMI expects to work over the ephemeral port range, which is typically 49152 to 65535.  If you do a telnet from your Landmark to Lawson server over one of those ports, and you get a timeout error, this is likely because your network admin has closed off all ports between those servers, besides the ones specified.  In this case, you need to tell Lawson which port it is going to use for RMI.

In LAWDIR/system/bpm.properties, set the pflowRMIPort value to the specified port (0 is all ports).  Make sure this port is also opened between the Lawson & Landmark servers by your network admin.

Reboot the Lawson server or restart services.