A fix is available
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