Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

unicode problem

SantoshKallem
Active Contributor
0 Kudos

Hi,

iam new to ECC 6. Worked before on 4.7

i have requirement to update data to database with own modulepool program.

that data should update into Z** tables.

getting the error with unicode converting.

i donno any thing about it.

what are the pre-req to work in ECC 6 regarding this.

plz give me basic information on UNICODE.

points will be sure for helpful.

thanx.

santhosh

1 ACCEPTED SOLUTION

RichHeilman
Developer Advocate
Developer Advocate
10 REPLIES 10

RichHeilman
Developer Advocate
Developer Advocate

ferry_lianto
Active Contributor
0 Kudos

Hi,

About brief idea about unicode

In the past, SAP developers used various codes to encode characters of different alphabets, for example, ASCII, EBCDI, or double-byte code pages.

ASCII (American Standard Code for Information Interchange) encodes each character using 1 byte = 8 bit. This makes it possible to represent a maximum of 28 = 256 characters to which the combinations [00000000, 11111111] are assigned. Common code pages are, for example, ISO88591 for West European or ISO88595 for Cyrillic fonts.

EBCDI (Extended Binary Coded Decimal Interchange) also uses 1 byte to encode each character, which again makes it possible to represent 256 characters. EBCDIC 0697/0500 is an old IBM format that is used on AS/400 machines for West European fonts, for example.

Double-byte code pages require 1 or 2 bytes for each character. This allows you to form 216 = 65536 combinations where usually only 10,000 - 15,000 characters are used. Double-byte code pages are, for example, SJIS for Japanese and BIG5 for traditional Chinese.

Using these character sets, you can account for each language relevant to the SAP System. However, problems occur if you want to merge texts from different incompatible character sets in a central system. Equally, exchanging data between systems with incompatible character sets can result in unprecedented situations.

One solution to this problem is to use a code comprising all characters used on earth. This code is called Unicode (ISO/IEC 10646) and consists of at least 16 bit = 2 bytes, alternatively of 32 bit = 4 bytes per character. Although the conversion effort for the R/3 kernel and applications is considerable, the migration to Unicode provides great benefits in the long run:

The Internet and consequently also mySAP.com are entirely based on Unicode, which thus is a basic requirement for international competitiveness.

Unicode allows all R/3 users to install a central R/3 System that covers all business processes worldwide.

Companies using different distributed systems frequently want to aggregate their worldwide corporate data. Without Unicode, they would be able to do this only to a limited degree.

With Unicode, you can use multiple languages simultaneously at a single frontend computer.

Unicode is required for cross-application data exchange without loss of data due to incompatible character sets. One way to present documents in the World Wide Web (www) is XML, for example.

ABAP programs must be modified wherever an explicit or implicit assumption is made with regard to the internal length of a character. As a result, a new level of abstraction is reached which makes it possible to run one and the same program both in conventional and in Unicode systems. In addition, if new characters are added to the Unicode character set, SAP can decide whether to represent these characters internally using 2 or 4 bytes.

A Unicode-enabled ABAP program (UP) is a program in which all Unicode checks are effective. Such a program returns the same results in a non-Unicode system (NUS) as in a Unicode system (US). In order to perform the relevant syntax checks, you must activate the Unicode flag in the screens of the program and class attributes.

In a US, you can only execute programs for which the Unicode flag is set. In future, the Unicode flag must be set for all SAP programs to enable them to run on a US. If the Unicode flag is set for a program, the syntax is checked and the program executed according to the rules described in this document, regardless of whether the system is a US or an NUS. From now on, the Unicode flag must be set for all new programs and classes that are created.

If the Unicode flag is not set, a program can only be executed in an NUS. The syntactical and semantic changes described below do not apply to such programs. However, you can use all language extensions that have been introduced in the process of the conversion to Unicode.

As a result of the modifications and restrictions associated with the Unicode flag, programs are executed in both Unicode and non-Unicode systems with the same semantics to a large degree. In rare cases, however, differences may occur. Programs that are designed to run on both systems therefore need to be tested on both platforms.

You can also check out these official SAP locations on the SAP Service Marketplace:

http://service.sap.com/unicode

http://service.sap.com/unicode@SAP

http://service.sap.com/i18n

Regards,

Ferry Lianto

SantoshKallem
Active Contributor
0 Kudos

thanx for response.

i searched documents regarding this.

but can u plz tell me what should i have to do in my requirement.

is any coding part is required for this.

thanx

0 Kudos

Hi,

If you are converting an existing 4.7 program to ECC6.0,

first set the Unicode flag in your attributes.

then activate the program and remove the errors if any.

Then, run tcode: UCCHECK to remove other syntax errors.

If it does not give any error then your program is unicode compliant.

Congratulations!!!

Regards

Subramanian

0 Kudos

HI:

Some more info:

Find more information about Unicode at:

service.sap.com/Unicode@sap

service.sap.com/Unicode

Unicode Conversion

Unicode@sap-->Unicode library -->Unicode Conversion Library -->Basic Information -->CI206 Conversion of SAP Systems to Unicode

Unicode@sap-->Unicode library -->Unicode Conversion Library -->Unicode Conversion Kit 620 -->Unicode Conversion Guide Web AS 6.20/6.30 SP 50

ABAP Unicode programming

Unicode@sap-->Unicode library -->ABAP and Unicode -->TechEd2004: CI252 Making ABAP Programs Unicode enabled

Unicode@sap-->Unicode library -->ABAP and Unicode -->TechEd2004: CI253 External Unicode Interfaces

Details for further reading

Unicode@sap-->Unicode library -->ABAP and Unicode -->ABAP Programs in Unicode Systems: Requirements

Unicode@sap-->Unicode library -->ABAP and Unicode -->ABAP List Layout in Unicode Systems: Development Guide

Regards

Subramanian

Former Member
0 Kudos

SantoshKallem
Active Contributor
0 Kudos

thanx subramanian,

iam not converting from 4.7 to ECC 6.

this object is creating directly in ECC 6.

Actually one who created tables also not aware of unicode.

do we need to do something regarding unicode while creating tables.

thanx

0 Kudos

Hi,

Nothing to worry while creating tables, ignore any warnings but correct the errors.

Thats it, you are set to go.

Regards

Subramanian

SantoshKallem
Active Contributor
0 Kudos

thanx subramanian,

going thru documents. (few examples of errors).

thanx for u r support.

regards..

santhosh reddy.

SantoshKallem
Active Contributor
0 Kudos

i got documentation, have to go thru it to solve my problem.