06-23-2008 3:56 PM
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
06-23-2008 4:27 PM
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.
06-23-2008 4:02 PM
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.
06-23-2008 4:12 PM
Hi,
go through this Links.:
http://www.doag.org/pub/docs/sig/sap/2004-03/Buhlinger_Maxi_Version.pdf
Regards
Adil
06-23-2008 4:27 PM
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.