IBM Support

PH55625: CM PROC LUA OPTIM.MASK() ENHANCE PROCESSING OF CERTAIN NUMERIC DATA TYPES

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Optim ODPP supports a variety of NUMERIC data types, for
    example:
    
    o SMALLINT/INTEGER,
    o LONG_LONG,
    o FLOAT/DOUBLE.
    
    However, when attempting to process a source value of one of the
    above data types one needs to use the only numeric data type
    supported by Lua, which is DOUBLE, and use
    optim.source.getcolumnvalue() or
    optim.source.getcolumnasdouble() to pull the value.
    While Optim will convert the DOUBLE to a respective FLDDEF data
    type, there is a chance of data precision loss.
    
    One could use optim.source.getcolumnasbytes() to obtain the
    original unaltered value of such numeric columns but this
    function returns a "string type" value and Optim will not allow
    for such to be used with numeric data types from a FLDDEF.
    
    Note that a DECIMAL_370 FLDDEF already requires that the native
    value of the column be acquired by using
    optim.source.getcolumnasbytes().
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Optim users working with Column Map          *
    *                 PROCEDUREs.                                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: This APAR enhances processing of        *
    *                      certain numeric data types while using  *
    *                      the optimmask() function with Column    *
    *                      Map PROCEDUREs.                         *
    ****************************************************************
    This APAR enhances processing of certain numeric data types
    while using the optimmask() function with Column Map PROCEDUREs.
    

Problem conclusion

  • Optim processing will be enhanced.
    A numeric column's value can now be obtained using the
    optim.source.getcolumnasbytes() CM PROC function and mapped
    to the respective FLDDEF referenced by an optimmask() ODPP
    provider request, as long as the length of the string of bytes
    matches the length of the specified FLDDEF data type.
    The affected data types are:
    o SMALLINT/INTEGER,
    o LONG_LONG,
    o FLOAT/DOUBLE.
    
    Note that a DECIMAL_370 FLDDEF already requires that the native
    value of the column be acquired by using
    optim.source.getcolumnasbytes().
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH55625

  • Reported component name

    OPTIM MOVE FOR

  • Reported component ID

    5655V0700

  • Reported release

    B70

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function / Xsystem

  • Submitted date

    2023-07-07

  • Closed date

    2023-07-20

  • Last modified date

    2023-09-07

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

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

Modules/Macros

  • FOP9APIM FOPCFPMN FOPCXLIB FOPHSTM  FOPMAIN  FOPMAMAI FOPMCOLP
    FOPMDPRC FOPMECMN FOPMMJBS FOPMMUNU FOPMMUTL FOPOMN   FOPZFBMN
    FOPZFMMN
    

Fix information

  • Fixed component name

    OPTIM MOVE FOR

  • Fixed component ID

    5655V0700

Applicable component levels

  • RB70 PSY UI92820

       UP23/07/22 P F307  

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":"BU011","label":"Systems - zSystems software"},"Product":{"code":"SG19M"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"B70"}]

Document Information

Modified date:
08 September 2023