If manual modifications exist in your PARMGEN configuration, follow these steps to standardize your configuration. This task applies only to runtime environments that were created using PARMGEN.
Before you begin
If you set up your runtime environment using PARMGEN, then any maintenance should also occur using the PARMGEN tool. You should not manually modify any of the parameters or members.
In some cases, members or parameters are modified manually (either intentionally or unintentionally), which can cause problems when applying maintenance or upgrading products within the runtime environment. It is recommended that you follow the guidance in this task to standardize your configuration so that you can perform future maintenance properly and without issue.
Important: If you plan to migrate from PARMGEN to IBM ZĀ® Monitoring Configuration Manager, you must standardize your PARMGEN configuration for a smooth migration. Complete this task to prepare your PARMGEN configuration for migration.
About this task
The following six libraries are within the OMEGAMON runtime environment and contain configurable members:
- RKANPARU
- RKANSAMU
- RKANCMDU
- RKD2PAR
- RKD2PRF
- RKD2SAM
Note: Libraries RKD2PAR, RKD2PRF, and RKD2SAM (and respective WK* libraries) are applicable only when OMEGAMONĀ® AI for Db2 is configured.
The members in these libraries should be configured using PARMGEN and standard PARMGEN parameters or embed overrides.
If any of these members contain manual modifications, or if you are unsure if there are manual modifications, perform the steps in the following procedure to synchronize your PARMGEN configuration with parameter values inside configurable members. The steps are divided into the following sections:
Procedure
Part I: Identify and isolate
Identify and isolate all manual changes inside the PARMGEN runtime environment members.
Important: In some rare cases, extra members might exist in the data sets. If such a member is needed for the runtime environment, make sure to include the member in the user-defined exclude list WCONFIG(KCI$XW2R).
-
Use the PARMGEN tailored JCL job KCIJPSPC to compare WK* libraries against RK* libraries (for example, compare WKANSAMU to RKANSAMU). To perform this step, open the Utilities panel, and choose option 27.
Submit a utility job (Maintenance):
Description Job/Label
----------------------------------------------------------- ---------
20. Refresh IK* templates/WCONFIG *$IBM profiles. KCIJPUP1
21. Convert an ICAT RTE Batch member. KCIJPCNV
22. Merge profile from a backup LPAR RTE profile. KCIJPMCF
23. Validate PARMGEN profile parameter values. KCIJPVAL
24. Back-up WK* work user libraries. KCIJPCPW
25. Back-up RK* product execution user libraries. KCIJPCPR
26. Recall migrated DEMO RTE datasets. KCIJPHRC
27. Compare work and runtime user libraries. KCIJPSPC
28. Empty runtime members in RK* user libraries. KCIJPMTY
29. Copy WK*->RK* user libraries keeping EXCLUDE members. KCIJPW1R
30. Restore back-up user libs. to current set. KCIJPB2R
31. Resolve system symbolics in PARMGEN jobs. KCIJVSRV
32. Collect diagnostic information for this RTE. KCIJPCOL
33. Delete RTE: DEMO KCIJPDEL
Note: Depending on your screen resolution, you might have to scroll down to see all the options on the panel. Look for MORE+ on the screen, which indicates there are additional options.
This job compares all libraries with configurable members against working data sets and writes the results to data set
rte_plib_hilev.rte_name.WSUPERC (for example,
TDXMP.HLQ.DEMO.WSUPERC). The following comparisons are performed:
- RKANPARU compared with WKANPARU
- RKANSAMU compared with WKANSAMU
- RKANCMDU compared with WKANCMDU
- RKD2PAR compared with WKD2PAR
- RKD2PRF compared with WKD2PRF
- RKD2SAM compared with WKD2SAM
-
Open data set rte_plib_hilev.rte_name.WSUPERC in view mode, and issue the following command to filter the results:
res; x all; hide x; f 'TOTAL CHANGES' all
This command helps you to quickly identify data sets and members that are impacted, as follows:
-
Issue the following command to identify the data sets and members that are impacted by filtering the impacted members only:
res; x all; hide x; f R'NEW:.+([\(])' all
This command produces a list of members that most likely were manually modified and should be fixed, as shown in the following example:
NEW: TDXMP.HLQ.DEMO.WKANPARU(KDSENV) OLD: TDXMP.HLQ.DEMO.RKANPARU(KDSENV)
NEW: TDXMP.HLQ.DEMO.WKANPARU(KC5ENV) OLD: TDXMP.HLQ.DEMO.RKANPARU(KC5ENV)
NEW: TDXMP.HLQ.DEMO.WKANPARU(KD5ENV) OLD: TDXMP.HLQ.DEMO.RKANPARU(KD5ENV)
You now have a list of all members that are impacted and can start looking for parameters within your PARMGEN configuration that can fix those members, as described in the next section.
Part II: Fix impacted members
After you have identified the differences that exist, you can start standardizing your configuration, as described in these steps.
-
Continue viewing data set rte_plib_hilev.rte_name.WSUPERC, as it contains all the information needed to identify manual modifications.
-
Perform the following steps for each of the impacted members:
-
Issue the following command to view the differences for a specific member, where the data set name and member are from the list of impacted members:
res; f 'NEW: TDXMP.HLQ.DEMO.WKANPARU(KDSENV)' all
Note: The string depends on the list produced in the previous steps.
The following example shows the result of the previous command. In this example, there are six lines that do not match in the
KDSENV member.
Note: In this example, the first three differences can be rectified using standard parameters, which are described in the subsequent steps. The last three differences use embed overrides, which are described in the step in section
Embed overrides.
NEW: TDXMP.HLQ.DEMO.WKANPARU(KDSENV) OLD: TDXMP.HLQ.DEMO.RKANPARU(KDSENV)
LISTING OUTPUT SECTION (LINE COMPARE)
ID SOURCE LINES TYPE LEN N-LN# O-LN#
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
I - HTTP:1920 USE:Y \
D - HTTP:1921 USE:Y \
I - IP.PIPE PORT:1918 \
D - IP.PIPE PORT:11918 \
I - IP6.PIPE PORT:1918 \
D - IP6.PIPE PORT:11918 \
I - *KOE_MFSB_WUI=600
D - KOE_MFSB_WUI=600
I - *KOE_MFSB_MDI=18000
D - KOE_MFSB_MDI=18000
I - *KOE_MFSB_TBI=18000
D - KOE_MFSB_TBI=18000
-
Address each of the differences individually, as follows.
The following explanation uses the first identified difference as an example, where member
WKANPARU(KDSENV) contains the original value of 1920 and the runtime member
RKANPARU(KDSENV) has a different port value of 1921:
I - HTTP:1920 USE:Y \
D - HTTP:1921 USE:Y \
You can locate the parameter responsible for this line as follows:
- Open member rte_plib_hilev.rte_name.WCONFIG(rte_name).
- Use the following command to exclude all lines and find all occurrences of the value 1920. It is important to search for the original value from the WK* libraries.
x all; hide x; f '1920' all
For this example, the result of the search is as follows:
KDS_TEMS_HTTP_PORT_NUM 1920 * HTTP port number
Note: If no results are found, the setting might be an embed override. See section
Embed overrides.
- Review IBM Documentation for information about this parameter and to ensure it is correct.
Tip: You can use the search bar on the
IBM Documentation landing page to locate information for the parameter by name. Note that some common parameters are documented using prefix K
pp, where
pp is a placeholder for the product code. You can also use the links on page
OMEGAMON product codes and documentation to navigate through the documentation for the various OMEGAMON products.
- Change the value for the parameter (which, in this example, is from 1920 to 1921), and save the member.
- Repeat these steps for the next identified difference.
-
Repeat these steps for the next member.
Embed overrides
If the identified difference is from an embed override, it cannot be rectified using standard parameters. The following example shows another identified difference in the
KDSENV member, from the example in the previous steps:
I - *KOE_MFSB_WUI=600
D - KOE_MFSB_WUI=600
Because KOE_MFSB_WUI is not a standard parameter, the parameter cannot be located in the WCONFIG(rte_name) member. Use the following steps to determine if this setting is controlled by an embed override member, and how to proceed if it is.
-
To rectify embed override settings:
-
Open the member that contains the identified difference. In this example, it is member WKANPARU(KDSENV).
-
Locate the parameter in the member. Typically, embed overrides are grouped together, as shown in the following example:
* *******************************************************************
* USER SECTION: OVERRIDE FOR MEMBER WKANPARU(KDSENV)
* *******************************************************************
. . . overrides are here . . .
*KOE_MFSB_WUI=600
** ----------------- END - USER SECTION: OVERRIDE ---------------- *
If you found your parameter within this code block, it means that you can control it using embed override members located in the
rte_plib_hilev.rte_name.WCONFIG data set. The embed member that is used to add user-defined parameters to
WKANPARU(KDSENV) is
WCONFIG(KDS$PENV).
Tip: If you do not know the embed member name, you can find the location of the parameter setting using the
SRCHFOR command against the
WCONFIG data set, as shown in the following example:
srchfor KOE_MFSB_WUI
The results indicate the location of the parameter in the respective override embed member:
Menu Functions Confirm Utilities Help
VIEW TDXMP.HLQ.DEMO.WCONFIG String(s) found
Command ===> Scroll ===> CSR
Name Prompt Size Created Changed ID
_________ KDS$PENV *Found
_________ KDS$PSYS
-
Edit the override embed member, which in this example is rte_plib_hilev.rte_name.WCONFIG(KDS$PENV), locate the parameter (KOE_MFSB_WUI), remove the asterisk from the first column, and save the member.
Part III: Regenerate WK* libraries
After you have updated all the parameters and embed override members, you can proceed with the remaining steps. In this section, you use your updated parameters and embed overrides when regenerating the following working data sets:
- WKANPARU
- WKANSAMU
- WKANCMDU
- WKD2PAR
- WKD2PRF
- WKD2SAM
-
In PARMGEN, run the $PARSE job, as follows:
-
From the Workflow - Primary Option Menu, select Create the RTE members and jobs.
The
Create the RTE Members and Jobs panel (KCIP@PR1) is displayed.
KCIP@PR1 -------------- CREATE THE RTE MEMBERS AND JOBS -----------------------
Option ===>
Select option 1 to SUBMIT the full $PARSE job in WCONFIG for RTE=DEMO.
$PARSE composite job creates product runtime members and jobs in all the
PARMGEN WK* work libraries.
Tips:
o: Press F5 to access the library-specific $PARSE* jobs (ideal in an RTE
reconfiguration scenario). First-time RTE deployment must run $PARSE.
o: Select R to submit the KCIJPUP1 job to refresh the IK* product and
WCONFIG *$IBM profiles before recreating the runtime members.
Enter ns (1s-2s) for detailed job/task status.
Description Job Name Status Date
---------------------------------------------- -------- --------- ----------
R Refresh IK* templates/WCONFIG *$IBM profiles. KCIJPUP1
1. Create runtime members/jobs in all WK* libs. $PARSE
Press F1=Help for more information. Type U or UTIL to access utility menu.
-
Select option 1 to submit the composite job to regenerate all libraries.
Note: If you want to create (or re-create) only certain runtime members, press F5 for a menu of the individual jobs submitted by the composite job.
The $PARSE job regenerates working data sets only, so it will not impact any of your running started tasks or other actively used data sets.
-
After the $PARSE job is completed, go back to the first step, and compare your WK* data sets against your RK* data sets again.
Repeat these steps until your WK* libraries are exactly the same as your RK* libraries.