Here is a quick reference to Install CTPs in Lawson.
- Download and save CTP to LSF Server
- Extract .tar (unzip) on LSF server to folder (d:\patch\CTPXXXX)
- Log on LID as Lawson
- Change directory to extracted CTP location:
cd d:\patch\CTPXXXXX) - Run command: perl %gendir%/bin/lawappinstall preview <PRODLINE> (make sure it completes successfully)
- Rename/Save Preview.log
- Run command: perl %gendir%/bin/lawappinstall update <PRODLINE> (make sure it completes successfully)
- Run command: perl %gendir%/bin/lawappinstall activate <PRODLINE> (make sure it completes successfully)
- Go to the Lawson application and perform general testing to make sure everything is up and running.
DBREORG ISSUE(S):
During the ACTIVATE mode if it stops at dbreorg, this is likely do to activity in DB (“database in use”) or “No such file or directory” Perform the following:
On the LSF Server
Window Services: Stop the IBMWASXXService – LSFAPP – This prevents users from accessing Portal
Window Services: Stop Lawson.insightEnvironment “PRODLINE” – stops LID to disconnect LID users
Task Manager: End all java processes
Windows Services: Start Lawson.insightEnvironment “PRODLINE” – starts LID
In LID, run the reorg manually: dbreorg PRODLINE
Run the ACTIVATE step again
The Data Iterator node can be used to loop through records. One way to use this node is to loop through the lines of a TXT or CSV file so that the data can be manipulated and stored somewhere else, or used in Lawson programs. Here is an example of a process using data iterators. The first node accesses a csv file and loops through each line. The second iterator takes the line from the first node, and splits it on a delimiter. From there, it loops through each field in the line and makes an assignment.
- The first node, which uses a file as the input
- Configuration name – select the configuration where the file resides (main is LSF, system is Landmark)
- Input file – the path to the file
- Parse by:
- Line – loop through each line
- Delimiter string – provide a character or string, the iterator will “split” on that string and loop through each item
- Length – use this for a fixed-length flat file
- Starting position – use this to determine which line the iterator should start on (so you could skip header rows if needed)
- Maximum read iterations – Use if you only want to read a certain number of lines/characters in a file
- Ignore trailing delimiter – will ignore the delimiter at the end of the line
- Accumulate output variables – Specifies whether records should be output into separate variables as they are parsed. If true (check box is selected), each record will be saved in the activity variable activityName_outputDataN, where activityName is the name of the activity and N is the record number.
- The second node, which uses a file as the input
- Configuration name – select the configuration where the file resides (main is LSF, system is Landmark)
- Input data – the data to read into the iterator
- Parse by:
- Line – loop through each line
- Delimiter string – provide a character or string, the iterator will “split” on that string and loop through each item
- Length – use this for a fixed-length flat file
- Starting position – use this to determine which character the iterator should start on
- Maximum read iterations – Use if you only want to read a certain number of lines/characters in a file
- Bytes to read – used for fixed width files
- Delimiter string – the string that splits each field of the record
- Ignore trailing delimiter – will ignore the delimiter at the end of the line
- Accumulate output variables – Specifies whether records should be output into separate variables as they are parsed. If true (check box is selected), each record will be saved in the activity variable activityName_outputDataN, where activityName is the name of the activity and N is the record number.
The IP Designer Trigger Node, located under the Control Menu Group, is used to trigger another IPA process or Service. Once you drag the node to the design screen, the processes and services list will auto-populate in the node properties. The configuration settings are just like setting up a trigger in Rich Client or the Infor Process Automation administrator web application.
- Trigger Type, Process, and Work Title are required. The indicates that a variable can be used for that value.
- Use the Process Variables tab to pass variables from the current process into the one being triggered
The IP Designer Wait Node, located under the Control Menu Group, inserts a specified wait time into your Process. The wait times can be units of days, hours, minutes, or seconds. This can be used for approval flows, if you want approval notifications to be sent after a certain number of days. This can also be used in flows that run commands which need a “sleep” time between runs. You also have the option of setting up “variable” wait times. This could be useful if the wait time varies based on some other condition that is evaluated in the Process.
Here is a configuration for a wait time of 5 days
Here is a configuration for a wait time on a variable
There may be a time where you need to update your WebSphere profile to use a later version of Java. One indication of this would be if you are installing an app in WebSphere, and you come across the error “The major.minor version ‘51.0’ is too recent for this tool to understand.” This means that your application expects a newer Java SDK.
To determine which SDK your application is currently using,
- Open <WAS_HOME>/profiles/<profile>/logs/startServer.log
- Find the last server start entry
- Make not of the Java version
To update the SDK used by your WebSphere profile,
- Open a command prompt as administrator
- Navigate to <WAS_HOME>/profiles/<profile>/bin
- Type bat –listAvailable (managesdk.sh for Unix) to list the Java SDKs that are available for this profile (note the name of the SDK that you want to use)
- Type bat –enableProfileAll –sdkname <the name you noted earlier> -enableServers
- Syncrhonize the WebSphere nodes
- Restart the WebSphere application server
- Check the startServer.log to see that the java version has changed
For example:
WebSphere Application Server, update java sdk version, The major.minor version ‘51.0’ is too recent for this tool to understand
While using Previous/Next on a record in Lawson portal, you may eventually stumble upon a pesky error message of:
“Security search limit of X employees exceeded” (X being anywhere from 1-100+)
Commonly this could happen when restricting user access via process level, department, etc.
What happens when you click next or previous while inquiring on employees is that Lawson is searching in blocks of records based on your specified search limit.
For example:
If the Employee Security Search limit is set to 10 and we click next to inquire on the next employee record in HR11.
Lawson searches the next 10 employee records to see if the user has access to them. If they do not, you will get the error message: “Security search limit of 10 employees exceeded”.
When we get the error, we should be on employee record number 10 – meaning if we click next again, we will be on employee number 20 if we do not have access the next 10 records again.
Ideally we’d like to reduce clicking next 10+ times by increasing the search limit.
Solution:
HR00.1
Don’t forget to click CHANGE after adjusting Employee Search Limit
As seen above, changing the search limit to something higher like 100 or more can dramatically reduce the amount of clicks to get to the next record that the user has access to.
If we change it to 100 and the next employee record is #200, it will only take 2 NEXT clicks to get to that record.
Ciber and Infor announced an agreement on March 20, 2017 to sell Ciber’s Infor practice to Infor. This is the most significant event in recent years within Infor’s Lawson client base as Ciber been serving the lion’s share of the Lawson customer base for nearly 17 years. The decision comes on the heels of Ciber’s financial troubles in recent years, most notably the repayment of a $28.2 million loan to Wells Fargo due by the end of March 2017.
According to the Form 8-K filed with the SEC on March 20, 2017, the terms include a cash payment of $15M. In addition, Infor will assume certain liabilities associated with the purchase. Ciber CEO Michael Boustridge commented that the sale of the Infor practice “reflects a fundamental decision to hone our business to a focused IT staffing foundation with complementary integrated business consulting and application development management capabilities in a synergistic digital transformation offering” but in light of the financial troubles Ciber has been in and the fast approaching due date of the loan, it’s hard to see this as anything other than a financial necessity.
Boustridge also said in his statement that Ciber is “working to provide a seamless transition and great continuity and service to our affected customers and our employees.” As it stands today, the arrangement seems to be that all Ciber employees within the Infor practice will be absorbed by Infor within the next few months. When it comes to clients however no significant plan has been announced. As with any merger, there will be some transition pains and bumpiness to be expected but it’s hard to imagine how mid-flight projects and managed service customers are going to be transitioned. According to the SEC filling, a key component of the deal is the transition of Ciber’s top 25 customers (by 2016 revenue) and “at least 90% of all specified Business Employees (as defined in the Asset Purchase Agreement), and 100% of certain identified key Business Employees, accepting offers of employment with Infor.”
The March 20th press release presents more questions than it answers at this early stage, such as:
– How will clients who have active projects mid-flight be transitioned from one organization to another?
– How will Ciber and Infor transition their Managed Service Clients?
– Will such a transition be done by customer consent or as part of an automatic consent built into the agreement with the customers?
Only time will tell.
The Return Activity node in IP Designer is useful for running command line tools within a process. You can run anything from the System Command node that could be ran in a Unix or DOS command prompt.
The first step to using a System Command Node is to configure the Sys Cmd tab in the appropriate configuration setting in Landmark. In this case, we are using Rich Client to configure the setting. This can also be configured via the Landmark administration web application.
To configure the System Command settings:
- From Rich Client, open your Configuration Sets
- Choose the Configuration Set for the server that you wish to run your commands
- Click the Sys Cmd tab, and click Actions > Create (or if one exists, select it and click Actions > Update)
- Fill in the parameters
- If the server you are accessing is remote (respective to the Landmark server), click the “Remote” checkbox
- The LSF Web/RMI root is the server web address
- The Web User is a user who has access to the Lawson Portal
- Password is the Web User’s password
- RMI timeout is the number of milliseconds to attempt the connection before timing out
- GENDIR and LAWDIR are the locations of those specified directories
- Run as user information is if you want to run your command as a different user from the user that runs the BPM process
- NOTE: Windows no longer allows a “Run As” user in command line activities. In typical installs, the local system user runs the BPM process on the LSF server, that is who will be running the commands in your System Command Node. If you are using the System Command node to run Lawson tools such as importdb, you will need to make sure this local system user has access to the necessary roles in Lawson Security.
Now that your Sys Cmd settings are configured, you can use the System Command node in IPA.
- In the node properties, select your Configuration name.
- The default is the System (Landmark) configuration.
- For Execution mode, you can leave it as automatic and it will use the server’s inherent command mode. Or, you can specify the mode. Options are:
- run directly -> {command}
- run shell -> sh –c {command}
- run Korn shell -> ksh –c {command}
- run shell as System Command User (Unix only) -> su –p {password} {username} –c {command}
- run cmd.exe (Windows only) -> cmd.exe /C {command}
- The Command property is the actual command script. Be sure to use the syntax appropriate for the Execution mode you chose. You can use process variables in this window.
- Command input is text that is sent to the command’s input stream. This is typically left blank.
Results of this example:
The Return Activity node in IP Designer is useful for stopping the flow when specified conditions are met, and returning information to the calling process, such as a trigger.
In this example, we have an error connection between the file access node and the Return Activity Node. In this case, if there is an error in the File Access Node, information will be returned to the calling process by the Return Activity Node.
The Return Activity node can return four fields: Error Code (integer), Information Code (integer), Return Message (string), Output Data (string or binary). These four fields can be populated with variables or with hard-coded information. In the example, we chose to populate them with the codes and messages generated by the File Access node.
As you can see, the Return Activity Node is a very efficient method of stopping a process and returning the results to the calling application.