1 / 25

Managing Your Lawson System MSPs and CTPs

Managing Your Lawson System MSPs and CTPs. Ron Wright netASPx Corp. CTP Definition. Lawson’s Definition: "Critical Transfer Packages ( CTP's )" are individual "high priority" fixes that are available to download immediately without waiting for the scheduled Maintenance Service Package.

jalia
Download Presentation

Managing Your Lawson System MSPs and CTPs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Managing Your Lawson SystemMSPs and CTPs Ron Wright netASPx Corp.

  2. CTP Definition Lawson’s Definition: "Critical Transfer Packages ( CTP's )" are individual "high priority" fixes that are available to download immediately without waiting for the scheduled Maintenance Service Package. • Many CTPs released every week

  3. MSP Definition Lawson’s Definition: "Maintenance Service Packages ( MSP's )" consist of scheduled, periodic groupings of individual, critical fixes. Each new Transfer Package is built upon the previous one, so all fixes are included in the newest available CTP. • Released every 2-3 months • NOT installed like a collection of CTPs!

  4. MSP: When and How Often netASPx applies all MSPs • Give MSPs time for critical problems to be resolved (1 month) • Review CTPs released within 2 weeks of an MSP for applicability • Watch Topica mailing lists for impressions (http://www.topica.com/lists/Lawson_SysAdmin)

  5. MSP: Experiences • Call volume increases for a short duration after • Issues are often serious in nature • Number of issues and severity closely related to the amount and quality of the testing performed! • Develop test plans with end user involvement. • Test processes and programs, not just programs • Write down the cutoff CTP for easy retrieval. Useful knowledge for most CTPs installs.

  6. CTP: When and How Often • Other than those reviewed after an MSP, CTPs are applied only upon an issue • CTPs are more problematic than MSPs • netASPx has applied over 150 unique CTPs since October, 2002

  7. Application Maintenance Toolset Suite of utilities for installing applications and applying MSPs and CTPs • Downloaded from support.lawson.com (Transfer Packages) • Includes lasetup, appmetaload, patchcompile, and the metadata load and dump programs

  8. lasetup initial • Used for a new installation or point release • Clears out $LAWDIR/<prodline>/Admin/install.log • Overwrites source files without backup • Performs sysloads

  9. lasetup staged (MSP) • Files are staged to a designated location then compared to program code in productline • Programs found to be more recent than code in the MSP are not replaced • Metadata in $LAWDIR/<pl>/metadata • All files and metadata to be replaced are backed up to $LAWDIR/<pl>/backup/<version>-MSP# • Metadata more recent then the MSP is first overwritten in the GEN database then reloaded

  10. Backing out an MSP Preparation: • Complete data backup (expsysdb -s) • Backup of LADBDIR and LAWDIR Optional prep step: • sysdump <pl> (more options for recovery)

  11. Backing out an MSP (cont) Restore Procedure: • Backup data (if unsure of backup or potential exists that updated data may need to be retrieved) • Drop tables (bldxxxddl –UDq <pl>) • Restore LADBDIR and LAWDIR • Startladb • bldxxxddl –Uq <pl> • Restore data (impexp) • startlaw

  12. lasetup patch (CTP) • Files to be replaced are compared for more recent versions. More recent versions are not replaced. • Replaced program files and metadata are backed up to: $LAWDIR/<pl>/backup/<patch #> • GEN data not updated yet

  13. appmetaload (CTP & MSP) • Applies changes to the GEN database related to a program or library • Used during MSP install to reload “Reverted” metadata • Information related to workfiles, messages, etc. loaded for you. No more manual entry,, except… • Database changes (dbdef) not handled

  14. patchcompile (CTP) • Determines all programs related to the patch that must be recompiled and submits them. • Optionally creates a script to submit all compiles.

  15. Backing out a CTP • No prep required • Copy program files from $LAWDIR/<pl>/backup/<patch #> back to appropriate location • Go through “meta” directories (ex. Metagl) and run appropriate metaload<ext> program for each file found. ( ex. metaloadmsg <pl> AP20.msg ) • If manual database changes were done, those must be reversed manually. (dbdef, blddbdict, dbreorg) • Recompile productline or rerun patchcompile

  16. Under the Covers Version comparison: • Version compared using the first line in every program file. This line has: <program> <version> <Perl sum32 for file> • Any change to the file changes the chksum value. If chksum doesn’t match the header, version ignored and program overwritten in all circumstances. • To bypass this behavior: perl $GENDIR/bin/addversions –s {version} {file}

  17. Under the Covers (cont) • Metaload series of programs update all elements associated with the item being updated. It does not perform a merge within the GEN database. • Be careful if you run the metadump programs. They do not write to stdout. Files in the current directory are overwritten. • Metadump files fairly easy to read. Most contain “prefix” of GEN tables to be updated. Confirm prefix by running dmpdict GEN <table>. Look for index (ie. PGMSET1 - PGM is prefix)

  18. Handling Program Modifications • Use the UNIX diff utility to see changes. (works on NT too with MKS Toolkit or others) diff $LAWDIR/dev8/backup/12345/apsrc/AP20PD $LAWDIR/dev8/apsrc/AP20PD • diff can also create a merged version of two programs for you: diff –D12345 $LAWDIR/dev8/backup/12345/apsrc/AP20PD $LAWDIR/dev8/apsrc/NA20PD (merged program will not compile until edited)

  19. CTPs: Merging Modifications(copied programs) • Apply CTP • Look in the install.log for a list of updated program files and metadatafiles related to the original program(s) • Dump the same metadata info for the copied program (metadumpwrk, metadumplib, etc) (Note: Donot run the metadump commands in a directory with existing metadata files. They will be overwritten.) • Make backup copies of files to be merged (cp MY01PD MY01PD.backup) • Create merged versions diff –D CTP2345 $LAWDIR/pl/ifsrc/MY01PD.backup $LAWDIR/pl/ifsrc/CU01PD > MY01PD diff –D CTP2345 $LAWDIR/pl/ifsrc/MY01.msg $LAWDIR/pl/metadata/ifmeta/CU01.msg > MY01_new.msg • Edit merged versions. All code needing attention will be bracketed with “#ifdef” or “#ifndef” to “#endif” (Keep the version line from the CTP) • Load merged metadata: metaloadmsg pl MY01_new.msg • Recompile program • Cleanup as desired (MY01*.msg, MY01PD.backup)

  20. CTPs: Merging Modifications(programs modified in place) • Apply CTP • Look in the install.log for a list of files and metadata replaced by the CTP. • Make backup copies of files to be merged: cp $LAWDIR/pl/ifsrc/CU01PD $LAWDIR/pl/ifsrc/CU01.2345 cp $LAWDIR/pl/metadata/ifmeta/CU01.msg $LAWDIR/pl/metadata/ifmeta/CU01_2345.msg • Create merged versions diff –D CTP2345 $LAWDIR/pl/backup/PATCH2345/ifsrc/CU01PD $LAWDIR/pl/ifsrc/CU01PD.2345 > $LAWDIR/pl/ifsrc/CU01PD diff –D CTP2345 $LAWDIR/pl/backup/PATCH2345/metadata/ifmeta/CU01.msg $LAWDIR/pl/metadata/ifmeta/CU01_2345.msg > $LAWDIR/pl/metadata/ifmeta/CU01.msg • Edit merged versions. All code needing attention will be bracketed with “#ifdef” or “#ifndef” to “#endif” (Keep the version line from the CTP) • Load merged metadata: metaloadmsg pl $LAWDIR/pl/metadata/ifmeta/CU01.msg • Recompile program • Cleanup as desired (MY01*.msg, MY01PD.1234) • Optional: If you would like any future CTPs or MSPs to not overwrite your merged program with an older version: • Get version from the header of each CTP’d file (2nd field) • Run: perl $GENDIR/bin/addversions –s {version} {file} Ex. perl $GENDIR/bin/addversions –s 3 CU01PD

  21. Sample “diff –D” output

  22. MSPs and Modifications • Backup source and do a pgmdump for each of your modified programs • Apply MSP • Backup the MSP metadata and code before putting your modifications back in place. Do pgmdump and create copies of source files for programs modified. • pgmload from your pre-MSP • Create metadumps for relevant metadata from install.log or looking at $LAWDIR/<pl>/metadata • Create merged versions of metadata and code. • Edit merged files • Load merged metadata changes • Compile • Optional: Re-version files with “perl addversions”

  23. Script to dump program metadata #!/bin/ksh pl=$1 pc=$2 pl_u=$(echo $pl | tr 'a-z' 'A-Z') pc_u=$(echo $pc | tr 'a-z' 'A-Z') for type in msg pgm do eval metadump${type} $pl $pc done rngdbdump -n gen workfile1 -f filename -v productline=$pl_u programcode=$pc_u \ | while read workfile do metadumpwrk $pl $pc $workfile done

  24. A Strategy for “dbdef” and Other Manual Changes from CTPs • Breakout each manual step from the README.html into a separate file. The filename should contain the earliest CTP number that contained this step (found in the README.html). Keep in a safe place. If during the manual step an existing value was changed (ex. new field size), this is a good place to keep a record of the original value for backout and audit trail purposes. • Example: $LAWDIR/pl/metadata/manual/12345_dbdef and $LAWDIR/pl/backup/PATCH13579/12345_dbdef • After an MSP it is now easy to identify manual steps that must be completed after the MSP is applied.

  25. Questions ron.wright@netaspx.com 303-499-2338

More Related