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 Check Active

Former Member
0 Kudos

Hi All,

I want to know about "Unicode Check Active" in ABAP Editor Program Attributes.I don't know anything about this.I want to know

What is Unicode Check Active.

How to Activate this Check Box.

what is meant by Code Pages.

What is UTF-8 UTF-16 & UTF-32.

What is the Use of It.

In ABAP Code the Unicode Check Doesn't Support the some syntax like Open Data set and Describe Lines like that what are all the syntax in ABAP it doesn't support.

Can anybody give me the clear idea about this.So, it will be very helpful to me.This is very urgent.Surely i will reward more points.

Thanks,

Swapna.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi.

ABAP Programs Under Unicode

Before Release 6.10, SAP software only used character sets based on codes such as ASCII and EBCDIC. In these codes every character is displayed by one byte, therefore character sets like these are also called single-byte codepages. However, every one of these character sets is only suitable for a limited number of languages. These codes are not sufficient for displaying East Asian languages, so double-byte codepages are used in which every byte consists of one or two bytes.

Problems arise if you try to work with texts written in different incompatible character sets in one central system. If, for example, a system only has a West European character set, other characters cannot be correctly processed. Attempting to exchange data between systems with incompatible character sets can lead to errors.

As of 6.10, to resolve these issues, SAP has introduced Unicode, a form of encoding that complies with ISO/IEC 10646 and covers all languages. Each character is generally mapped using 16 bits (=2 bytes) and this offers a maximum of 65 536 bit combinations.

This conversion to Unicode affects any ABAP programs in which an explicit or implicit assumption is made about the internal length of a character. For an ABAP program to run under Unicode, you must have installed a Unicode-enabled SAP System, connected to a suitable operating system and database.

Thus, a Unicode-compatible ABAP program is one where all Unicode checks are in effect. Such programs return the same results in Unicode systems as in non-Unicode systems. To perform the relevant syntax checks, you must activate the "Unicode checks" flag in the screens of the program and class attributes.

In a Unicode system, you can only execute programs for which the Unicode flag has been set. 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 Unicode or non-Unicode system. In future, the Unicode flag will be set for all new programs and classes.

If the Unicode flag is not set, the program can only be executed in a non-Unicode system. Unicode-specific syntax and semantic changes do not apply to such programs. However, you can use all language extensions that have been introduced as part of SAP's conversion to Unicode.

As a result of the modifications and restrictions associated with the Unicode flag, programs are largely executed with the same semantics in both Unicode and non-Unicode systems. Occasionally, however, there may be differences. Therefore, programs designed to run on both systems must be tested on both platforms.

Reward Appropriate points.

Regards,

Mansi.

3 REPLIES 3

Former Member
0 Kudos

Hi.

ABAP Programs Under Unicode

Before Release 6.10, SAP software only used character sets based on codes such as ASCII and EBCDIC. In these codes every character is displayed by one byte, therefore character sets like these are also called single-byte codepages. However, every one of these character sets is only suitable for a limited number of languages. These codes are not sufficient for displaying East Asian languages, so double-byte codepages are used in which every byte consists of one or two bytes.

Problems arise if you try to work with texts written in different incompatible character sets in one central system. If, for example, a system only has a West European character set, other characters cannot be correctly processed. Attempting to exchange data between systems with incompatible character sets can lead to errors.

As of 6.10, to resolve these issues, SAP has introduced Unicode, a form of encoding that complies with ISO/IEC 10646 and covers all languages. Each character is generally mapped using 16 bits (=2 bytes) and this offers a maximum of 65 536 bit combinations.

This conversion to Unicode affects any ABAP programs in which an explicit or implicit assumption is made about the internal length of a character. For an ABAP program to run under Unicode, you must have installed a Unicode-enabled SAP System, connected to a suitable operating system and database.

Thus, a Unicode-compatible ABAP program is one where all Unicode checks are in effect. Such programs return the same results in Unicode systems as in non-Unicode systems. To perform the relevant syntax checks, you must activate the "Unicode checks" flag in the screens of the program and class attributes.

In a Unicode system, you can only execute programs for which the Unicode flag has been set. 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 Unicode or non-Unicode system. In future, the Unicode flag will be set for all new programs and classes.

If the Unicode flag is not set, the program can only be executed in a non-Unicode system. Unicode-specific syntax and semantic changes do not apply to such programs. However, you can use all language extensions that have been introduced as part of SAP's conversion to Unicode.

As a result of the modifications and restrictions associated with the Unicode flag, programs are largely executed with the same semantics in both Unicode and non-Unicode systems. Occasionally, however, there may be differences. Therefore, programs designed to run on both systems must be tested on both platforms.

Reward Appropriate points.

Regards,

Mansi.

Former Member
0 Kudos

Hi,

Unicode Check is one of the latest enhancement in SAP which has been done so as to provide SAP product in almost all the language that is spoken in the world.

A program as to be made Unicode check Active in its attribute so that it can be used in Unicode enabled SAP system.

what is unicode?

From Release 6.10, ABAP supports multi-byte coding for characters in Unicode. Prior to Release 6.10, ABAP used only character sets that were based on single-byte codes – such as ASCII and EBCDIC – or double-byte codes, such as SJIS and BIG5.

what is unicode enabled program?

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

Type of errors in unocode check.

This switch to Unicode affects all statements where an explicit or implicit assumption is made about the internal length of a character. If you use these statements in a program that is designed to exploit the Unicode capabilities of the runtime environment, they must be checked and changed if necessary. Once a Unicode-enabled program has been changed accordingly, it behaves in the same way in both Unicode and non-Unicode systems. You can develop programs in a non-Unicode system (NUS) and then import them into a Unicode system

UNICODE CHECK ACTIVE:

You need to use the transaction UCCHECK.

The report documentation is here

ABAP Unicode Scan Tool UCCHECK

You can use transaction UCCHECK to examine a Unicode program set for syntax errors without having to set the program attribute "Unicode checks active" for every individual program. From the list of Unicode syntax errors, you can go directly to the affected programs and remove the errors. It is also possible to automatically create transport requests and set the Unicode program attribute for a program set.

Some application-specific checks, which draw your attention to program points that are not Unicode-compatible, are also integrated.

Selection of Objects:

The program objects can be selected according to object name, object type, author (TADIR), package, and original system. For the Unicode syntax check, only object types for which an independent syntax check can be carried out are appropriate. The following object types are possibilities:

PROG Report

CLAS Class

FUGR Function groups

FUGX Function group (with customer include, customer area)

FUGS Function group (with customer include, SAP area)

LDBA Logical Database

CNTX Context

TYPE Type pool

INTF Interface

Only Examine Programs with Non-Activated Unicode Flag

By default, the system only displays program objects that have not yet set the Unicode attribute. If you want to use UCCHECK to process program objects that have already set the attribute, you can deactivate this option.

Only Objects with TADIR Entry

By default, the system only displays program objects with a TADIR entry. If you want to examine programs that don't have a TADIR entry, for example locally generated programs without a package, you can deactivate this option.

Exclude Packages $*

By default, the system does not display program objects that are in a local, non-transportable package. If you want to examine programs that are in such a package, you can deactivate this option.

Display Modified SAP Programs Also

By default, SAP programs are not checked in customer systems. If you also want to check SAP programs that were modified in a customer system (see transaction SE95), you can activate this option.

Maximum Number of Programs:

To avoid timeouts or unexpectedly long waiting times, the maximum number of program objects is preset to 50. If you want to examine more objects, you must increase the maximum number or run a SAMT scan (general program set processing). The latter also has the advantage that the data is stored persistently. Proceed as follows:

Call transaction SAMT

Create task with program RSUNISCAN_FINAL, subroutine SAMT_SEARCH

For further information refer to documentation for transaction SAMT.

Displaying Points that Cannot Be Analyzed Statically

If you choose this option, you get an overview of the program points, where a static check for Unicode syntax errors is not possible. This can be the case if, for example, parameters or field symbols are not typed or you are accessing a field or structure with variable length/offset. At these points the system only tests at runtime whether the code is sufficient for the stricter Unicode tests. If possible, you should assign types to the variables used, otherwise you must check runtime behavior after the Unicode attribute has been set.

To be able to differentiate between your own and foreign code (for example when using standard includes or generated includes), there is a selection option for the includes to be displayed. By default, the system excludes the standard includes of the view maintenance LSVIM* from the display, because they cause a large number of messages that are not relevant for the Unicode conversion. It is recommended that you also exclude the generated function group-specific includes of the view maintenance (usually L<function group name>F00 and L<function group name>I00) from the display.

Similarly to the process in the extended syntax check, you can hide the warning using the pseudo comment ("#EC *).

Applikation-Specific Checks

These checks indicate program points that represent a public interface but are not Unicode-compatible. Under Unicode, the corresponding interfaces change according to the referenced documentation and must be adapted appropriately.

View Maintenance

Parts of the view maintenance generated in older releases are not Unicode-compatible. The relevant parts can be regenerated with a service report.

UPLOAD/DOWNLOAD

The function modules UPLOAD, DOWNLOAD or WS_UPLOAD and WS_DOWNLOAD are obsolete and cannot run under Unicode. Refer to the documentation for these modules to find out which routines serve as replacements.

Reward Points if found helpfull..

Cheers,

Chandra Sekhar.

Former Member
0 Kudos

Hi,

Some times what happens is, problems arise if you try to work with texts written in different incompatible character sets in one central system. If, for example, a system only has a West European character set, other characters cannot be correctly processed. Attempting to exchange data between systems with incompatible character sets can lead to errors.

To resolve these issues, SAP has introduced Unicode, a form of encoding that complies with ISO/IEC 10646 and covers all languages. Each character is generally mapped using 16 bits (=2 bytes) and this offers a maximum of 65 536 bit combinations

Thus, a Unicode-compatible ABAP program is one where all Unicode checks are in effect. Such programs return the same results in Unicode systems as in non-Unicode systems. To perform the relevant syntax checks, you must activate the "Unicode checks" flag in the screens of the program and class attributes.

If the Unicode flag is not set, the program can only be executed in a non-Unicode system. Unicode-specific syntax and semantic changes do not apply to such programs.

UTF-8 UTF-16 & UTF-32. are different versions of unicode.

Just click on the check box to activate it.

All the non unicode syntax are not supported in abap but I don’t know what are all those syntax.

Reward if helpful.