IBM Support

PI44221: INCORRECT LOAD STATEMENT CREATED CONTAINING SAME NUMBER OF LOAD COMMANDS AS TABLES INVOLVED

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The LOAD statement generated for an unload written with the
    UNLOAD PLUS syntax and involving several logical unloads (SELECT
    statements) against tables from the same table space is
    incorrect as it actually contains as many LOAD commands as they
    are tables involved. If the applicable/requested LOAD option
    specifies REPLACE, using the LOAD statement as generated leads
    to data loss since the target tablespace is reset by every LOAD
    command and only last table loaded contains data.
    For example, with an unload statement as follows:
    UNLOAD SHRLEVEL CHANGE
           UNLOADDN SYSREC
           CNTLCARDS DB2LOAD 'REPLACE LOG NO ENFORCE NO'
           CNTLDDN SYSPUNCH AUTOTAG YES DIRECT AUTO
           SELECT * FROM MZLFRD.TBDZAAFRD14310
           SELECT * FROM MZLFRD.TBDZAAFRD14309
           SELECT * FROM MZLFRD.TBDZAAFRD14308
           SELECT * FROM MZLFRD.TBDZAAFRD14307
           SELECT * FROM MZLFRD.TBDZAAFRD14306
           SELECT * FROM MZLFRD.TBDZAAFRD14305
           SELECT * FROM MZLFRD.TBDZAAFRD14304
           SELECT * FROM MZLFRD.TBDZAAFRD14303
           SELECT * FROM MZLFRD.TBDZAAFRD14302
           SELECT * FROM MZLFRD.TBDZAAFRD14301
    the gerenated LOAD statement looks as follows:
    LOAD DATA INDDN SYSREC
     REPLACE  LOG   NO  ENFORCE   NO
    EBCDIC CCSID(0037)
    
    INTO TABLE MZLFRD.TBDZAAFRD14310
    WHEN (1:4) = '0001'
    
    (
    C1
         POSITION (     5  )         INTEGER
         NULLIF(     9 ) = '?'
     ,
    ...
    LOAD DATA INDDN SYSREC
     REPLACE  LOG   NO  ENFORCE   NO
    EBCDIC CCSID(0037)
    
    INTO TABLE MZLFRD.TBDZAAFRD14309
    WHEN (1:4) = '0002'
    
    (
    C1
         POSITION (     5  )         INTEGER
         NULLIF(     9 ) = '?'
    ...
    where  the following would be relevant:
    LOAD DATA INDDN SYSREC
     REPLACE  LOG   NO  ENFORCE   NO
    EBCDIC CCSID(0037)
    
    INTO TABLE MZLFRD.TBDZAAFRD14310
    WHEN (1:4) = '0001'
    
    (
    C1
         POSITION (     5  )         INTEGER
         NULLIF(     9 ) = '?'
     ,
    ...
    INTO TABLE MZLFRD.TBDZAAFRD14309
    WHEN (1:4) = '0002'
    
    (
    
    PB12819
    

Local fix

  • None if the UNLOAD PLUS syntax must be kept.
    Otherwise, consider using the native HPU syntax to get the
    expected result.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of DB2 High Performance Unload.        *
    ****************************************************************
    * PROBLEM DESCRIPTION: The LOAD statement generated for an     *
    *                      unload written with the UNLOAD PLUS     *
    *                      syntax and involving several logical    *
    *                      unloads (SELECT statements) against     *
    *                      tables from the same table space with   *
    *                      the AUTOTAG option is incorrect as it   *
    *                      actually contains as many LOAD          *
    *                      commands as they are tables involved.   *
    *                      If the applicable/requested LOAD        *
    *                      option specifies REPLACE, using the     *
    *                      LOAD statement as generated leads to    *
    *                      data loss since the target tablespace   *
    *                      is reset by every LOAD command and      *
    *                      only last table loaded contains data.   *
    *                                                              *
    *                      For example, with an unload statement   *
    *                      as follows:                             *
    *                      UNLOAD SHRLEVEL CHANGE                  *
    *                             UNLOADDN SYSREC                  *
    *                             CNTLCARDS DB2LOAD 'REPLACE       *
    *                       LOG NO ENFORCE NO'                     *
    *                             CNTLDDN SYSPUNCH AUTOTAG YES     *
    *                       DIRECT AUTO                            *
    *                        SELECT * FROM  MZLFRD.TBDZAAFRD14310  *
    *                        SELECT * FROM  MZLFRD.TBDZAAFRD14309  *
    *                        SELECT * FROM MZLFRD.TBDZAAFRD14308   *
    *                        SELECT * FROM MZLFRD.TBDZAAFRD14307   *
    *                        SELECT * FROM MZLFRD.TBDZAAFRD14306   *
    *                        SELECT * FROM MZLFRD.TBDZAAFRD14305   *
    *                        SELECT * FROM MZLFRD.TBDZAAFRD14304   *
    *                        SELECT * FROM MZLFRD.TBDZAAFRD14303   *
    *                        SELECT * FROM MZLFRD.TBDZAAFRD14302   *
    *                        SELECT * FROM MZLFRD.TBDZAAFRD14301   *
    *                      the gerenated LOAD statement looks as   *
    *                      follows:                                *
    *                      LOAD DATA INDDN SYSREC                  *
    *                       REPLACE  LOG   NO  ENFORCE   NO        *
    *                      EBCDIC CCSID(0037)                      *
    *                      INTO TABLE MZLFRD.TBDZAAFRD14310        *
    *                      WHEN (1:4) = '0001'                     *
    *                      C1                                      *
    *                           POSITION (     5  )                *
    *                          INTEGER                             *
    *                           NULLIF(     9 ) = '?'              *
    *                       ,                                      *
    *                      ...ELECT * FROM MZLFRD.TBDZAAFRD14308   *
    *                      LOAD DATA INDDN SYSREC                  *
    *                       REPLACE  LOG   NO  ENFORCE   NO        *
    *                      EBCDIC CCSID(0037)                      *
    *                      INTO TABLE MZLFRD.TBDZAAFRD14309        *
    *                      WHEN (1:4) = '0002'                     *
    *                      C1                                      *
    *                           POSITION (     5  )     looks as   *
    *                          INTEGER                             *
    *                           NULLIF(     9 ) = '?'              *
    *                      ...PLACE  LOG   NO  ENFORCE   NO        *
    *                      where  the following would be           *
    *                       relevant: MZLFRD.TBDZAAFRD14310        *
    *                      LOAD DATA INDDN SYSREC                  *
    *                       REPLACE  LOG   NO  ENFORCE   NO        *
    *                      EBCDIC CCSID(0037)                      *
    *                      INTO TABLE MZLFRD.TBDZAAFRD14310        *
    *                      WHEN (1:4) = '0001'                     *
    *                      C1                                      *
    *                           POSITION (     5  )                *
    *                         INTEGER                              *
    *                           NULLIF(     9 ) = '?'              *
    *                       ,                                      *
    *                      ...                                     *
    *                      INTO TABLE MZLFRD.TBDZAAFRD14309        *
    *                      WHEN (1:4) = '0002'                     *
    *                                                              *
    *                      C1                                      *
    *                           POSITION (     5  )                *
    *                          INTEGER                             *
    *                           NULLIF(     9 ) = '?'              *
    *                      ...                                     *
    *                      pb 12819                                *
    ****************************************************************
    * RECOMMENDATION: APPLY the PTF.                               *
    ****************************************************************
    The module inzrload was changed.
    

Problem conclusion

  • APPLY the PTF.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI44221

  • Reported component name

    DB2 HI PERF UNL

  • Reported component ID

    5697F4400

  • Reported release

    430

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-07-02

  • Closed date

    2015-07-22

  • Last modified date

    2015-08-03

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  •    INZUTILK
    

Fix information

  • Fixed component name

    DB2 HI PERF UNL

  • Fixed component ID

    5697F4400

Applicable component levels

  • R420 PSY UI29639

       UP15/07/25 P F507

  • R430 PSY UI29640

       UP15/07/25 P F507

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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSAUUV","label":"IBM Db2 High Performance Unload for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.3.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
12 February 2021