You’ve applied a patch to your system and it caused more problems than it fixed or it was not the solution to your problem and there is no point in pushing it to PROD. Today we are going over simple steps to uninstall a CTP which is similar to how you install a patch via lawappinstall.

  1. Ensure security is turned off and it is typical to bring down websphere before starting so no user can login during this process.
  2. In LID, start with the uninstall command:
    • perl %GENDIR%\bin\lawappinstall uninstall <productline> <patchxxxxx>
  3. Run lawappinstall STAGE (optional but recommended)
    • perl %GENDIR%\bin\lawappinstall stage <productline>
  4. Verify stage compilation complete:
    • qstatus | wc -l (this command will return the number 4 when compiling is complete)
  5. Check for compiling errors:
    • ls %LAWDIR%\<productline>\*\*.err
      • If any errors found, recompile failed programs with this command:
        • qcompile productline SystemCode ProgramCode
  6. Run lawappinstall VALIDATE:
    • perl %GENDIR%\bin\lawappinstall validate <productline>
  7. Run stgcmp
    • stgcmp list <productline>
      • If the program’s status is FAILED or RECOMPILE REQUIRED, submit the program to the compile queue using the -A option.
  8. Finally, Activate
    • perl %GENDIR%\bin\lawappinstall activate <productline>
      • You should see the patch(es) you ran the initial uninstall for, confirm, verify any other prompts.
  9. Verify Non-stage compilation (if you didn’t run stage):
    • qstatus | wc -l
  10. Turn security on, turn websphere on, run your typical post smoke tests as if you were applying a patch.

 

Hope this was helpful!

IOS debug logging can be useful for tracking down issues in Lawson Portal, Add-ins, and Ming.le. There are two methods to enable it, we prefer method 1 below.

Method 1 (ios_logging.properties file must be renamed or deleted for this method to work):

  1. Login to your LSF on-prem server (Admin access required)
  2. Make a backup copy of your xml in %LAWDIR%\system
  3. Edit the xml file with a text editor.
  4. Change INFO to DEBUG as shown below
    • Ideally only use DEBUG if temporarily debugging an issue else leave it on INFO)
  5. If using DEBUG (or prefer a longer history of logging), you also may want to increase the log file size MaxFileSize and maximum number of logs to be generated MaxBackupIndex

Below our IOS logs will be 20mb and we will have a max backup of 5.

 

 

You should now see DEBUG entries in the log.

Method 2 – ios_logging.properties (this will be used by default over ios_logging.xml if it exists)

 

  1. As the lawson user, make a backup copy of ios_logging.properties in %LAWDIR%\system (if it exists).
  2. Copy the ios_logging.properties file from %GENDIR%\install to %LAWDIR%\system (you will only need to do this once to update the formatting of the ios_logging.properties file with the latest delivered version from %GENDIR%\install).
  3. Edit the ios_logging.properties file in %LAWDIR%\system:
  4. Change the second line in the file from INFO to DEBUG.

##Set root logger level to DEBUG and its only appender to A1.

log4j.rootLogger=INFO, IOS

to:

log4j.rootLogger=DEBUG, IOS

 

  1. Change these lines:

log4j.appender.IOS.MaxFileSize=2048KB

log4j.appender.IOS.MaxBackupIndex=5

to:

log4j.appender.IOS.MaxFileSize=20480KB

log4j.appender.IOS.MaxBackupIndex=5

This increases your log from 2mb to 20mb with a max of 5 log files. Adjust based on how busy your system is.

NOTE: A restart of WebSphere is not needed for these changes unless you are switching between ios_logging.properties and ios_logging.xml.

You should now see DEBUG entries in the log.

 

Good luck and happy debugging!

Sometimes after applying a patch, drill-around and drop-down boxes don’t get properly rendered on certain forms. Below are some steps to check which forms may have been affected and how to resolve them.

  1. Assuming you’re logged into LID, change directories to your %LAWDIR%\<productline> directory
  2. Run this command: attrib /s *err
    1. You may see common errors such as: %LAWDIR%\<productline>\XXsrc\PROGRAM.err
      • These can be resolved via running qcompile and then clearing IOS cache (also your browser cache, logging out and back in).
    2. However, a less common error %LAWDIR%\<productline>\XXsrc\PROGRAM.scr.xmlerr cannot be resolved by simple recompiling.
      • This error typically has to do with forms that have drill-around and drop-down boxes.
  3. To resolve PROGRAM.scr.xmlerr errors, we must run srgen and then scrgen
  4. If lawappinstall stage failed to run scrgen and hasn’t been activated you can run the following commands in the below order:
      • srgen -A <productline>
      • scrgen -A <productline> <systemcode> <program> (for the programs with the .scr.xmlerr files in XXsrc directories).
  5. If you’re spotting the .scr.xmlerr files after activating a patch successfully, run the following commands in this order:
      1. srgen <productline>
      2. scrgen <productline>
      3. Check to see if the .scr.xmlerr still exist.
      4. Run qcompile for each program with the .xmlerr manually or run a cobcmp <productline> to compile the entire productline.
        • Run: qcontrol -jlocal,8 (this will increase amount of compile jobs from 2 to 8, change back to 2 after)
        • Run: qstatus | wc -l (this will show you how many compile jobs are remaining, when it hits 4, compiling is done).
  6. If problem persistes, repeat step 5, make sure you’re clearing IOS, server, and browser cache, logging out and back in. Give some time in between testing.

Good luck and happy debugging!

You may have saw our article on how to enable IOS DEBUG logging and realized after enabling it that the log gets spammed quite a bit which may actually make it harder to isolate an issue, especially if other users are currently in the system.

Today we will show you how to turn on DEBUG logging for a specific user to minimize log spam. This tutorial is only for the ios_logging.xml log.

 

  1. Login to your on-prem LSF system (admin rights required)
  2. Identify the users RM ID (case-sensitive) that you want enable debug logging for.
  3. Locate and backup your ios_logging.xml file in %LAWDIR%\system
  4. Edit ios_loggin.xml with a text editor
  5. Locate the following section:

 

<root>
<priority value=”INFO” />
<appender-ref ref=”IOS” />

<!– Appender Filters–>
<!–<appender-ref ref=”PORTAL” /> –>
<!–<appender-ref ref=”DIRECTIOS” /> –>

</root>

 

Change INFO to DEBUG:

<root>
<priority value=”DEBUG” />
<appender-ref ref=”IOS” />

<!– Appender Filters–>
<!–<appender-ref ref=”PORTAL” /> –>
<!–<appender-ref ref=”DIRECTIOS” /> –>

</root>

  1. Locate the following section:

<!– Filter for users  –>
  <!–
<filter class=”com.lawson.ios.util.log.Log4JMDCFilter”>
<param name=”keyToMatch” value=”username” />
<param name=”valueToMatch” value=”lawson” />
<param name=”denyOnMatch” value=”false” />
</filter>
<filter class=”org.apache.log4j.varia.DenyAllFilter”/>
–>

Uncomment this section (remove the <!– and –> characters shown in bold above) and edit the “valueToMatch” value=”lawson” replacing “lawson” with the RM Id of your user, like so:

        <!– Filter for users  –>

<filter class=”com.lawson.ios.util.log.Log4JMDCFilter”>
<param name=”keyToMatch” value=”username” />
<param name=”valueToMatch” value=”ENTER_USERNAME” />

            <param name=”denyOnMatch” value=”false” />
</filter>
<filter class=”org.apache.log4j.varia.DenyAllFilter”/>

  1. Save your changes (no restart required and you should see immediate changes)
  2. You should now see DEBUG entries in the log for that specific user.
  3. Just undo step 6 to revert changes (or revert to your backup file).

Good luck and happy debugging!

When having users test new patches, it’s a good practice to distinguish TEST from PROD visually. This helps users know what environment they’re in as they may be testing after a long day and may think they are testing in TEST when in fact they are changing production data.

 

This can simply be done by changing a banner color in Lawson Portal.

  1. Login to your TEST environment and locate your index.htm file found here: “D:\<lsf_folder>\web\lawson\portal”
  2. Assuming your index.htm file is unmodified locate header id=“topBanner”

  3. Use an online HTML Color Picker tool to choose the hex color you want to appear and replace background-color:#ff8787 to your preferred color hex color code.

Example of how it will appear:

  1. Save the changes, clear IOS cache, clear your browser cache, logout and back in to see the change. Enjoy!

In LBI Auditing Part 3b we went over Reporting Service Admin Audit Reports. In this article we will go over the Service Now (SN) portion of reports.

 

SN01.List of Alerts:

This report allows you to view what user(s) and or group(s) have access to what SN alert/report.

Column Name Description
Alert ID Assigned alert ID number.
Alert Name Alert name created by owner.
Owner Owner who published alert.
Creation Date Date in which the alert was created.
Last Modified/Rendered Date when the alert was last modified.
Shared To Alert shared access.
Roles Roles that grant access to the alert.
Security Specify Type of access (public, user, or group).

 

SN02. User/Group Access on SN Alerts:

This is a security report showing user/group access to specific alerts.

Column Name Description
User/Group Name of user or group.
Specify Access type (user or group).
Roles Roles that grant access to the alert.
Alert ID Assigned alert ID number.
Last Modified/Rendered Date when the alert was last modified.
Alert Alert name created by owner.
Last Rendered Date when the alert was last modified.

 

SN03.Top Rendered Alerts and their Top Viewers:

This report shows statistics on your most viewed alerts and top viewers.

Column Name Description
Top Alert Alerts with most views starting at the top
Alert Name Alert name created by owner.
No. of Views Total number of alert views.
Alert ID Assigned alert ID number.
Group Group being notified
Owner Owner who published alert.
Rank Top ranked viewers of the specific alert.
Viewer User viewing report.
Roles Roles that grant access to the alert.
User Views Total number of views per user.

 

For more details on these admin audit reports, check out Part 3a “Overview of Framework Service Admin Audit Reports” and Part 3b “Overview of Reporting Service Admin Audit Reports”.

In LBI Auditing Part 3a we went over Framework Service Admin Audit Reports. In this article we will go over the Reporting Service (RS) portion of reports.

 

RS01.RS Reports:

This report shows all your reports in LBI along with the below details.

Column Name Description
Report ID Assigned ID when report was created.
Report Name Report Name (may differ from given dashboard name).
Owner Owner who published report.
User User access to the report.
Date Created Report creation date.

 

RS02. User Access on Reports:

This is a security report showing user/group access to specific reports.

Column Name Description
User User with LBI access.
Report ID Assigned ID when report was created.
Report Name Report Name (may differ from given dashboard name).

 

RS03.Top Viewed Reports in RS:

This report shows statistics on your most viewed reports, what users viewing them the most and total views per user.

Column Name Description
Report ID Assigned ID when report was created.
Report Name Report Name (may differ from given dashboard name).
Access Viewer Top Viewer of a specific report
Number of Views Total number of views by a specific user

 

RS04.Top Scheduled/Exported Reports

This report shows statistics on your most scheduled and exported reports.

Column Name Description
Report ID Assigned ID when report was created.
Report Name Report Name (may differ from given dashboard name).
Frequency Total number of time a report has been scheduled/exported.

 

 

For more details on these admin audit reports, check out Part 3c “Overview of Service Now Admin Audit Reports” (coming soon) and/or Part 3a “Overview of Reporting Service Admin Audit Reports”.