Search This Blog

Friday, February 27, 2009

Unicode Enabled ABAP - Overview

Design Goals
􀂄 Platform independence
􀂋 Identical behavior on Unicode and non-Unicode systems
􀂄 Highest level of compatibility to the pre-Unicode world
􀂋 Minimize costs for Unicode enabling of ABAP Programs
􀂄 Improved security, maintainability, and readability of ABAP programs


Main Features
􀂄 Clear distinction between character and byte processing
1 Character 􀂏 1 Byte
􀂄 Enhanced checks prevent programming based on memory layout assumptions
􀂄 Improved conversion facilities
􀂄 Improved dataset interface
􀂄 Improved support for dynamic programming


Unicode Restrictions – String Processing

Character Processing

CONCATENATE cf1 cf2 TO cf3.
IF cf1 CS cf2. ...

String operations are only allowed for character-like operands
􀂋ABAP types C, N, D, and T, STRING
􀂋 Structures consisting only of characters (C, N, D, T)
􀂋 X and XSTRING are no longer considered character-like types

Byte Processing

CONCATENATE xf1 xf2 TO xf3 IN BYTE MODE.
IF xf1 BYTE-CS xf2. ...

􀂋 Variants of string operations for byte processing
-> Addition „IN BYTE MODE“ for statements
-> Prefix „BYTE-“ for comparison operations
􀂄 Only operands of type X or XSTRING allowed


Unicode Restrictions – Length and Distance

Determining the Length and Distance

􀂄 Counted in bytes or in characters? Specify!
DESCRIBE FIELD...LENGTH... IN (BYTE CHARACTER) MODE
DESCRIBE DISTANCE BETWEEN ... AND ... INTO ...
IN (BYTE CHARACTER) MODE.

* Reference : SPC250 - Making ABAP Programs Unicode Enabled

No comments:

Post a Comment