A fix is available
APAR status
Closed as program error.
Error description
Incorrect DB2 LOAD JCL generated for processing involving tables with 0 rows and incorrect handling of the "Load when Zero Rows" User Option.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Optim for z/OS users performing DB2 LOAD * * processing. * **************************************************************** * PROBLEM DESCRIPTION: Incorrect DB2 LOAD JCL generated for * * processing involving tables with 0 rows * * and incorrect handling of the "Load * * when Zero Rows" User Option. * **************************************************************** Prior APAR PH05742(720) PH05743(B30) PH05744(B70) changed how empty tables are being handled during the creation of the DB2 LOAD JCL for RESUME type processing. Optim would unconditionally omit creation of the DB2 LOAD utility job steps for tables with 0 rows, irrespective of the "Load when Zero Rows" User Option. The resulting JCL may have then caused the DB2 LOAD data to be placed in incorrect LOAD data sets.
Problem conclusion
Optim processing will be corrected in respect to processing of empty tables during DB2 LOAD JCL generation for RESUME type processing. Tables with 0 rows in the input EXTRACT or ARCHIVE file will not be included in the generated JCL when such behavior has been requested with the "Load when Zero Rows" User Option. Otherwise the empty tables will be reflected in the JCL. Note that the use of the above user option may affect data integrity or Optim's ability to PROPAGATE Column Map values to all related tables because the decision is based on the current contents of the input EXTRACT or ARCHIVE file at the time of JCL generation and may be incorrect when such contents changes in the future for the same file. The flow of the of the LOAD JCL generation function processing under ISPF will be changed as follows: o Additional checks will be performed to detect if any tables with 0 rows were present in the EXTRACT or ARCHIVE file and if they have been excluded from processing because of "Load when Zero Rows" User Option being set to NO. o When such tables have been found, the user will be presented with a popup asking for confirmation that dropping of the empty tables is the desired behavior. o The JCL generation can be then cancelled or completed, depending on the user's response. The execution of the generated LOAD JCL, as well as any JCL for other processes which support the use of Table Maps will now include an additional check. It will determine if the EXTRACT or ARCHIVE file contains any additional tables not referenced by the Table Map in the JCL. Note that NOT-SPECIFIED tables which have been excluded from processing intentionally will not be flagged by this check. When additional tables not included in the TM have been found then an informational message will be added to the Optim Summary report. For example: *** Note: The Table Map for this process does not include, or map, all of the tables present in the EXTRACT or ARCHIVE file: XXXXXX.RT74994.ROWSS0.XF This may affect data integrity or Optim's ability to PROPAGATE Column Map values to all related tables. The following tables are not included in the Table Map: XXXXXX.OPTIM_FEMALE_RATES with 0 rows XXXXXX.OPTIM_MALE_RATES with 0 rows The following Optim publications will be updated: o Common Elements, Chapter 12. Options, User Options, Load when Zero Rows. Update description: Load when Zero Rows For Move and Archive. Action to be taken when the Load Process JCL generation encounters tables with no (0) rows in the input EXTRACT or ARCHIVE file. Note that the use of the above user option may affect data integrity or Optim's ability to PROPAGATE Column Map values to all related tables because the decision is based on the current contents of the input EXTRACT or ARCHIVE file at the time of JCL generation and may be incorrect when such contents changes in the future for the same file. Specify: N Do not include tables with 0 rows in the generated Load Process JCL (default). Y Include all tables in the generated Load Process JCL irrespective of their row count. This option will be ignored when the "Delete all rows in tablespace" option has been set to Yes on the "Specify LOAD Parameters and Execute" panel. In such case all tables in the input file will be included in the generated Load Process JCL, regardless of the number of rows.
Temporary fix
Comments
APAR Information
APAR number
PH08567
Reported component name
OPTIM MOVE FOR
Reported component ID
5655V0700
Reported release
B70
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-02-17
Closed date
2019-03-07
Last modified date
2019-04-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
FOP1ODRV FOP1OSFN FOP4IPMN FOP4TRCE FOP9APIM FOPCFPMN FOPCXLIB FOPHSTM FOPIO FOPMADDE FOPMAIN FOPMAMAI FOPMARCN FOPMCBMN FOPMCENU FOPMCMAI FOPMCMMN FOPMCOFN FOPMCOLA FOPMCOLP FOPMDBMN FOPMDDDL FOPMDPRC FOPMDXTR FOPMECMN FOPMEMAI FOPMIXMM FOPMMCMR FOPMMJBS FOPMMUNU FOPMMUTL FOPMSELM FOPMUXIM FOPODPP FOPOMN FOPRS10 FOPRS9 FOPTUO7 FOPUMCBT FOPVOU FOPWROW0 FOPZFBMN FOPZFMMN FOPZMAIN
Fix information
Fixed component name
OPTIM MOVE FOR
Fixed component ID
5655V0700
Applicable component levels
RB70 PSY UI61723
UP19/03/09 P F903 ¢
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B70","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 April 2019