A fix is available
APAR status
Closed as program error.
Error description
Optim uses the Lua compiler (5.1.4) for Column Map PROC and Lua expression processing. This compiler is configured to work with chunks in CCSID 1047. This may lead to Lua compiler errors when the chunk has been created using a CCSID different than 1047.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * All Optim/z users processing Column Maps with Column Map * * Procedures and Lua expressions. * **************************************************************** * PROBLEM DESCRIPTION: * * Lua chunks attached to Column Map Procedures or CM * * Expressions may contain certain special characters, or Lua * * operators, which have different (hexadecimal) code point * * values depending on the CCSID of the terminal session used * * to enter the Lua chunk. * **************************************************************** * RECOMMENDATION: * * Apply the provided fix. * **************************************************************** The Lua compiler embedded in Optim has been configured to correctly interpret Clua chunks entered using CCSID 1047/037 and compatible CCSIDs. Compiler errors may be reported when attempting to process Lua chunks entered using different CCSIDs.
Problem conclusion
Optim/z processing will be enhanced to allow for the user to specify the hexadecimal values of characters to be used for certain Lua special characters and operators. The following special comment line may now be used to define the representation of certain Lua special characters and operators: -- LuaSpcChr #\~^[]{} (in the exact order) -- | Length operator (hash) -- | Escape character (backslash) -- | Notequal~= character (tilde) -- | Power operator (caret) -- | Left square bracket -- | Right square bracket -- | Left squigly brace -- | Right squigly brace -- The -- LuaSpcChr comment line may appear anywhere in the chunk before the first use of any of the characters #\~^[]{}. The order of the characters is predetermined and all characters have to be specified. The Guidelines for using Lua functions in column map expressions and procedures will be updated as follows: o Lua chunks attached to Column Map Procedures or CM Expressions may contain certain special characters, or Lua operators, which have different (hexadecimal) code point values depending on the CCSID of the terminal session used to enter the Lua chunk. The Lua compiler embedded in Optim has been configured to correctly interpret Lua chunks entered using CCSID 1047/037 and compatible CCSIDs. Compiler errors may be reported when attempting to process Lua chunks entered using different CCSIDs. To prevent such errors the Optim Lua compiler has been modified to accept a special dedicated comment statement "-- LuaSpcChr" followed by values to define the representation of certain Lua special characters and operators: The -- LuaSpcChr comment line may appear anywhere in the chunk before the first use of any of the characters #\~^[]{}. The order of the characters must be specified in the following order and all characters have to be specified. -- LuaSpcChr #\~^[]{} (in the exact order) # = value for the Lua length operator \ = value for the backslash escape character ~ = value for the not inequality operator ^ = value for the exponentiation operator [ = value for the left square bracket character ] = value for the right square bracket character { = value for the left curly brace character } = value for the right curly brace character For example, the exponentiation operator (^) is defined at hexadecimal code point B0 in EBCDIC CCSID 37. However, in EBCDIC CCSID 500 it is defined at code point 5F. In addition, the left and right brackets are defined at code points 4A and 5A in CCSID 500 respectively instead of at BA and BB as in CCSID 37. Therefore, when using a terminal at CCSID 500, you can specify the following comment for Optim to properly recognize and process these operators and characters in your Lua chunk (hex values listed below characters) -- LuaSpcChr #\~^[]{} 664DA8E98C8947EA545CD 0003412733890B01FAA00
Temporary fix
Comments
APAR Information
APAR number
PI34966
Reported component name
OPTIM MOVE FOR
Reported component ID
5655V0700
Reported release
B30
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2015-02-12
Closed date
2015-02-26
Last modified date
2015-04-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
FOPMCOLA FOPCFPMN FOP4SVC FOP4PEMN FOP09A FOP0AA FOPPOSX FOPHSTM FOP9APIM FOPMCMMN FOP4ZEML FOP4ZNID FOP07A FOP00103 FOP0ITKA FOP00303 FOP4XEML FOPMCENU FOP00A FOPMACAS FOPMTMDB FOPMCBMN FOP4XPVC FOP00003 FOPUUNLD FOPVOU FOPMARCN FOPUBMC FOPZMAIN FOPCXLIB FOPZSUB FOPZFMMN FOP1ODRV FOP4ZCCN FOPOMN FOPMMCMN FOPMADDE FOP00203 FOPMMUTL FOPMECMN FOPMDPRC FOPMCMAI FOP05A LUAC FOPMCDRT FOPMDBMN FOP4IPMN FOP1XTRN FOP0DAUE FOPMDMAI FOPMAIN FOP4ZHSH FOPMDDDL FOPMCOFN FOPUMCBT FOPMMJBS FOPMDXTR FOPMSORT FOPMAFCN FOP01A FOPMEMAI FOPMMUNU FOPMAMAI FOPZFBMN FOP3DTPR FOPMCOLP FOPMSELM FOPMIXMM FOP4PMMN FOP9GINF FOPIO FOPMUXIM FOPMMCMR FOP1OSFN FOPUIAUL FOP4XCCN FOP08A LUA FOP4XSSN FOP4TRCE
Fix information
Fixed component name
OPTIM MOVE FOR
Fixed component ID
5655V0700
Applicable component levels
RB30 PSY UI25494
UP15/03/03 P F503
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":"B30","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 April 2015