What does deljobhst really do?

Often our Lawson print queues get cluttered and out of hand.  Lawson’s deljobhst command is a really great tool for cleaning up your batch jobs.  It can clear the clutter from your user’s print managers, as well as free up some space on your server.  Run this command in LID.

For each of these commands, you must provide a “ToDate” in MMDDYY format.  So, if you give it an end date of 033119, for instance, you would delete all the selected job history up to March 31, 2019.

You also have the option of providing a user’s account so that you just perform the delete for a specific user.  There is also a from date option that allows you to manage job history for a specific date range.

We recommend setting up some of these commands on a schedule to keep your Lawson server happy & healthy.

Here is a summary of the command:

The -w option will delete all waiting jobs, so jobs in recovery and jobs with Invalid Parameters.  After you run this, there will not be any jobs listed in the waiting queue for the specified user (or all users) up to the specified run date.

The -c option deletes all completed jobs.  This is a great way to clean up user’s job schedule print manager lists.  This action removes the data from the QUEUEDJOB table.  It does not remove print files.

The -r option removes all the print files associated with batch jobs, that were created up to the specified to date.  This will help keep your server from getting too cluttered.  Make sure you back up your print directory, especially if you have a retention policy at your organization.  If you run the command so that it deletes ALL print files (so delete everything up to today), it will delete your entire print directory.  Don’t panic!  It’ll be created the next time a user runs a batch job.

Designer Series – JSON Converter Node

The JSON Converter node can be used to build a JSON object from CSV or XML, or to convert a JSON object to XML or CSV.

Under the input tab on the Properties, the input could be output from some other node, a variable, or a text string.

The output from the converter node can be used to saved to a file, in a data iterator, or in other reader nodes in your flow.

IPA Node Error – There is not one Actor for this identity

I was doing some work in Landmark and ran across an issue where my LPA node wouldn’t start in the grid.  I looked at the logs and saw the error “There is not one Actor for this identity: <IDENTITY>”.  Issues like this often present themselves when trying to log into Rich Client also.  In this case, it came back with a “logon failure” message.  When you come across issues like this, and you can’t get into Rich Client, the next step is to check the database.  For an error referring to actors and identities, the first table to look at would be IDENTITYACTOR in the Landmark GEN database.  In this case, I discovered that the record for the IDENTITY mentioned in the error had a DELETEFLAG that was populated with the UNIQUEID (meaning that it had been deleted).  I updated the record and set the DELETEFLAG = 0, rebooted my server, and the LPA node started right up.

IP Designer Series – JSON Builder Node

The JSON Builder node can be used to build a JSON object, which you can use later in your flow for reading or sending out to a server using a web call.

Under the input tab on the Properties, the input could be output from some other node, a variable, or a text string.

The output of a JSON builder can be used to send a JSON web call, or it can be read similarly to the JSON parser output.

IP Designer Series – JSON Parser Node

The JSON Parser node can be used to parse JSON data, either from a local file or from a response from a Web API.  The steps are very similar to getting XML data from a web API.

Under the input tab on the Properties, the input could be output from some other node, such as a file access node or Web Run result.

For the output, if you provide a sample file with a JSON response, that is an easy way to get the syntax for the variables coming across in the JSON response.  You can click “Set Variable” to see the syntax, and you can select “Export Variables” to get a file with the syntax for all variables in the sample file.

Use this output syntax to set variable values to use later in your flow.

What happened to User Fields in CSF?

What happened to User Fields in CSF?

Some of them are still there in the Business Class (a file with functions built into it) none of them are on the forms.

Some forms do have tabs for user fields, there are no fields there and the fields need to be added using Configuration Console.

Attributes which have always been user fields on steroids, also go away in CSF.  Using Configuration Console any kind of custom field can be added.

In conclusion, user fields are not gone, you can still have as many as you would like, they just need to be added to the forms and sometimes to the business class using Configuration Console.  Keep in mind that the system updates every 3rd Saturday so it is best to add only those that you really need.

Security Violation – Using Environment Utilities in IPA

Many times, you will have a need to run environment utilities (such as importdb) using a system command node, or a batch job such as IMDBB.  If you are getting security violations when you attempt to use these tools, you will need to elevate the Lawson Security privileges of the user running IPA.  The reason for this is that the system user running the IPA service is who actually is running those system commands.  Windows took away the ability to do a “run as”, so there is no way to bypass that user.

If you don’t know which user is running IPA, you can find out by executing a “whoami” command in a system command node on your IPA server.

Next you need to find this user in Lawson Security so you can elevate his privileges.  Open up Lawson Security and go to Manage Identities.  Search for the service account that you discovered in your “whoami” command.

Make not of the RMID and use that to search for the user under User Management.  Set that user’s “CheckLS” to “YES” and give him the roles required to allow access to the necessary environment utilities.

How to install Oracle ODBC client for windows

It is ridiculously difficult and ambiguous how you’re supposed to get the Oracle ODBC driver installed on your Windows machine. It’s certainly not a simple task. Well, since I figured it out today I thought I would document it.

First you need to download all three of these files from oracle
1) instantclient-basic-win-x86-64-
2) instantclient-odbc-win-x86-64-
3) instantclient-sdk-win-x86-64-
Extract the contents of all the above into a single directory called D:\Oracle\Ora11\
That directory doesn’t exist and you’ll have to create it first.
Now with all the files copied in there, create the following windows environment variables:
1) OCI_LIB64 = C:\Oracle\Ora11
2) ORACLE_HOME = C:\Oracle\Ora11
3) TNS_ADMIN = C:\Oracle\Ora11
Also, add “C:\Oracle\Ora11” to your PATH variable.
At this point you MUST reboot. No other way around it. Simply restarting the explorer task won’t do.
After the reboot, create the following directory:  C:\Oracle\Ora11\Network\Admin
Place your tnsnames.ora file inside this new directory.
Open a cmd prompt as administrator.
cd to the C:\Oracle\Ora11
On the command prompt type the following command:
You should receive a message that says: “Oracle ODBC Driver is installed successfully.”
The new ODBC driver is only in the ODBC 64-bit data sources.
You can now add a new one like so:
Just remember that your tnsnames.ora file must contain the service you’re trying to connect to.

Using GRAV Group-Based Permissions

Upon login, we wanted to present users with just the directories and pages they had access to.
In order to do this, we used GRAV group-based permissions.

First we must modify sidebar.html.twig to display the folders/pages only if the user’s group matches the client in the folder/page header.

Using GRAV admin panel Editor plugin, navigate to sidebar.html.twig and insert the boxed line below:


The next step is to create a group and assign permissions to the group. Once this group is made, users can be assigned to the group and will inherit the permissions. This will make the pages only viewable to users with this custom permission. This prevents random users from going to the URL to view the page.

Add a user/config/groups.yaml file with something like this:


  readableName: ‘CDA’

  description: ‘The group of premium members’



      login: true

      cda: true

The user given access must be given group assignment and have site.login set to YES:


Once this is done, we can make pages/folders just for this group by creating new folder/page and going to “Expert” section.

For folder/directories, place this in the Expert Frontmatter:



        – CDA

For pages, place this in the Expert Frontmatter:



        – CDA


    site.cda: true

Cloud V11 Couldn’t Trigger Delivered IPA Service

The other day, we configured the delivered IPA service PurchaseOrderApproval, which is supposed to be triggered by releasing a PO.  We set up the purchasing companies to require approval, and we made sure the buyers used the company defaults.  And still when we would release a PO, the status went to “Released. Not Issued.” instead of “Needs Approval”, and no work units were created.

After verifying all of the settings on the Service Definition and IPA process, we finally realized that the tester did not have any Context Properties attached to her Actor record.  Context Properties are found under the Security menu when you log into CloudSuite Financials under the Administration Console role.  To assign contexts to an actor, choose “Actor Context”.  Search for your actor, and add the necessary context values to the actor.  The value will be your company’s Finance Enterprise Group, a value provided to you by Infor.