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: 

Uicode Conversion Project - Question on transaction UCCHECK

Former Member
0 Kudos

Hello,

We are about to start an Unicode conversion Project. We have SAP 4.7C & we are going to make it Unicode enabled. In order to plan the ABAP/4 resource requirements precisely, I ran transaction UCCHECK to get the list of the development objects with Unicode errors. I have an urgent question with the way the transaction is executed:

When I run UCCHECK with selection screen option "Display lines that cannot be analyzed statically" , I get too many error & majority of them say that "the system couldnu2019t perform the check on the current statement & it can only be carried out at runtime" When I ran UCCHECK without option "Display lines that cannot be analyzed statically" , the total error count was way low u2026

Can someone please explain me the correct way to use transaction UCCHECK?

Thanks in avance,

Umang

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hI uMANG,

Essentially, the transaction UCCHECK does the ABAP syntax check for the selected

programs as if the "Unicode enabling" attribute has already been set.

If you check u201EDisplay lines that cannot be analyzed staticallyu201C you will get hints on

places that may have problems at runtime

What to do with the places that can only be checked

at runtime ?

􀂄 Reduce their number

􀂋In many cases you can specify the type of parameters and

field-symbols

􀂋Use generic ABAP types where neccessary

􀂋Mark those places that really need untyped parameters

due to some kind of generic programming with u201C#EC * as

OK after you did revise them.

􀂄 Do 􀃎 Runtime tests

Thanks,

Keerthi.

3 REPLIES 3

Former Member
0 Kudos

Pl. see this help text. U can access the same from UCCHECK's selection screen.

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.

Also Display Modified SAP Objects

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.

Former Member
0 Kudos

hI uMANG,

Essentially, the transaction UCCHECK does the ABAP syntax check for the selected

programs as if the "Unicode enabling" attribute has already been set.

If you check u201EDisplay lines that cannot be analyzed staticallyu201C you will get hints on

places that may have problems at runtime

What to do with the places that can only be checked

at runtime ?

􀂄 Reduce their number

􀂋In many cases you can specify the type of parameters and

field-symbols

􀂋Use generic ABAP types where neccessary

􀂋Mark those places that really need untyped parameters

due to some kind of generic programming with u201C#EC * as

OK after you did revise them.

􀂄 Do 􀃎 Runtime tests

Thanks,

Keerthi.