SAP Note 932779 Unicode conversion - analysis of nametab problems

Note Language: English Version: 16 Validity:
Valid Since 09.07.2010

R3load errors during Unicode conversion or Runtime error in newly converted Unicode system. Inconsistent Unicode nametab is assumed to be the cause of the problem.

Other terms

Reason and Prerequisites
This document describes some facts about nametabs and problems which might occur during the Unicode conversion of a system. The document is not thought as reference information for nametabs. It might help to understand the nametab handling in the Unicode conversion procedure and might help when analyzing problems.

Contents 1. Basics 1.1 What are the nametabs ? 1.2 Where can I find the nametabs ? 1.3 How can I look in the nametabs ? 2. Nametabs and Unicode conversion 2.1 The nametab switch during conversion 2.2 Known problems 2.3 Analyzing problems 3. Nametabs and CU&UC 3.1 The nametab handling during CU&UC 3.2 Analyzing problems 1. Basics ********* 1.1 What are the nametabs ? =========================== The nametabs are database tables which contain the basic technical definitions of a dictionary object (domain, data element, table, structure, ...). The ABAP interpreter needs the nametabs to execute an ABAP program. Each time a dictionary object is created or modified, the corresponding nametabs are updated. Without a nametab, a system cannot run !

1.2 Where can I find the nametabs ================================= There are several different nametabs. Here is a list of (all ?) nametabs:


Page 1 of


It checks all timestamps of dependent tables and compares them to the timestamp of the screen. A corresponding function modules exists for the alternative nametab tables DDNT*_CONV_UC tables. If objects are modified. alternative nametabs during import.analysis of nametab problems DDNTT : Active nametab containing all dictionary objects. corresponding to DDNTT nametab. the nametab tables DDXTT and DDXTF are used to store changes temporarily. Contents can be displayed with the function module 'DD_SHOW_NAMETAB'. only the nametab tables DDNTT and DDNTF are used. If a dynpro screen needs to be executed. They are not defined in the SAP dictionary. the standard tables before the export with and exchanges active and 1. DDNTF : Active nametab containing field information for tables/structure DDXTT : Corresponding inactive nametab to DDNTT DDXTF : Corresponding inactive nametab to DDNTF DDNTT_CONV_UC DDNTF_CONV_UC DDXTT_CONV_UC DDXTF_CONV_UC : : : : Alternative Alternative Alternative Alternative nametab. Use the "Status" parameter to look in the active (Status = A) or inactive (Status = I) nametabs. you can see 3 different timestamps in the output of the function modules: CRSTAMP: This timestamp is set whenever the object is activated. If any timestamp of a table is newer than the last generation of the program.SAP Note 932779 Unicode conversion . ABSTAMP: This timestamp is set if an ABAP relevant change was done to the table.3 How can I look into the nametabs ? ==================================== DDNTT / DDNTF tables The tables DDNTT/F exist on database level only. The CRSTAMP and ABSTAMP timestamps are very important for the Unicode 21. The active nametabs must be completely and correctly filled at system startup. If any timestamp of a table is newer than the last generation of the screen. If an ABAP program needs to be executed.2011 Page 2 of 8 .08. DYSTAMP: This timestamp is set if a dynpro relevant change was done for the object. corresponding to DDNTF nametab corresponding to DDXTT nametab corresponding to DDXTF In a running system. ! They are used only during the SAPinst and R3load. It is called 'DD_SHOW_UC_NAMETAB'. The tables DD*_CONV_UC are not used at all export/import procedure of a database with Unicode conversion of a system fills these Unicode specific (eg: length) information. It checks all timestamps of dependent tables and compares them to the timestamp of the program. then the program is generated. the DYNP looks if the screen needs to be generated first. Among other information. the ABAP looks if the program needs to be generated first. then the screen is generated. If an object is activated the corresponding entry is deleted in the DDXTT and DDXTF tables and updated in the DDNTT and DDNTF tables.

2.08.SAP Note 932779 Unicode conversion . during the import of the database. Therefore they can be accessed easily via transaction SE16. The Unicode nametabs are stored in the alternative nametab tables DDNTT_CONV_UC and DDNTF_CONV_UC (the pattern *_CONV_UC might be misleading because the tables DD*_CONV_UC tables might contain also the non Unicode version of the active nametabs).2011 Page 3 of 8 . based on the information of DDNTT and the dictionary sources 21. So you have the nametab tables: DDNTT: Active nametab DDNTF: Active nametab DDNTT_CONV_UC: Nametabs filled by RADCUCNT. Therefore we do the following: 1. 2. Create the active nametabs which can be used in the Unicode system before the Unicode conversion.analysis of nametab problems conversion. The contents for the latter parameter differ in a non Unicode and Unicode system. But as we have learned above. Nametabs and Unicode conversion ********************************** You might wonder why we need two sets of nametabs (DDNT* and DDNT*CONV_UC) because only the active nametabs DDNTT and DDNTF are used in a system. 2.e. After the generation. You are in a Non Unicode System. Other important fields are the DDLn parameter or the Offs parameter which specifies the field length and offsets to be used in structures. All Unicode preparation steps have been accomplished. dictionary objects must not be changed anymore. Store the nametabs in other tables. This is discussed in detail in the next section. Exchange the nametabs during the Unicode conversion. The nametab tables used in a Unicode system are generated with report RADCUCNT. DDXTT / DDXTF tables The DDXTT and DDXTF tables exist in the SAP dictionary also. because the previously created Unicode nametabs would be out of date then. The exchange of the nametabs is done during the import of the Unicode database. i.1 The nametab switch ====================== The following steps describes in detail how the nametabs are exchanged: 1. a system cannot live without complete active nametabs AND a Unicode system cannot run with the active nametabs created from a non Unicode system. Such a generation takes several hours. 3.

Let's have a closer look at the files with the extension .TOC (table of contents): For each table you will find an entry like -----------------tab: DF35S fil: SAPSDIC. you can see also the handling of the nametab tables. Otherwise you might have a lot of problems when starting your Unicode system (see Unicode Conversion Guide for details). But as mentioned above. based on the information of DDNTF and the dictionary sources DDX* tables must be empty ! 2. Summary 21. R3load creates the tables DDNTT and DDNTT_CONV_UC and now the contents of DDNTT_1B is imported into table DDNTT_CONV_UC and the file contents of DDNTT_2B is imported into table DDNTT.analysis of nametab problems DDNTF_CONV_UC: Nametab filled by RADCUCNT. For the nametab tables special table names are used: DDNTT is exported as table DDNTT_1B. In the SAPSDIC.001 on 30th June 2005.001 1024 109947 120222 eot: #402222 rows 20050630211910 tab: DDNTT_2B fil: SAPSDIC.TOC or SAPNTAB.TOC). (1B = 1 Byte. i. table DDNTT_CONV_UC is exported as table DDNTT_2B. several files are created by R3load which contain meta information about package contents.001 1024 120223 131746 eot: #402187 rows 20050630211934 -----------------402222 rows of table DDNTT have been exported to file SAPSDIC.TOC file. 3.SAP Note 932779 Unicode conversion . Now you do the Unicode export of the database with R3load.08.2011 Page 4 of 8 .001 on 30th June 2005 and 402187 rows of table DDNTT_CONV_UC have been exported to file SAPSDIC.e. 2B = 2 Byte): -----------------tab: DDNTT_1B fil: SAPSDIC. In the Unicode database.001 on 30th June 2005. The nametab switch is finally done during the import of data into the Unicode database. The nametabs are exported with the package SAPSDIC or SAPNTAB depending on basis release. During the export. You will find similar entries for the inactive nametab tables DDX* in package SAPSSEXC (file SAPSSEXC. the table contents of DDNTT and DDNTT_CONV_UC are exchanged.001 1024 128840 128921 eot: #7146 rows 20050630211953 -----------------"tab:" specifies the table name "fil:" specifies the data file which contain the table contents "128840 128921": the two numbers specify the position of the data in file "fil:" "eot:" shows the number of rows which have been exported and a timestamp For the entries above you know that 7146 rows of table DF35S have been exported to file SAPSDIC. the inactive nametabs must empty.

The same picture can be drawn for the DDX* tables.analysis of nametab problems The contents of the active nametabs DDNTT and DDNTF are exchanged during the Unicode export and import of a database by the contents of the alternative nametab table DDNTT_CONV_UC and DDNTF_CONV_UC. the nametab tables DD*CONV_UC are not needed anymore. by importing a transport request. The active nametabs are changed each time you modify a dictionary object.3 Analyzing problems ====================== From the discussions above you see that is it crucial that the alternative nametabs DDNTT/F_CONV_UC are created correctly by RADCUCNT and that the active nametabs are not changed anymore after the alternative nametabs have been generated. Non Unicode System System Unicode Export Export Files Import Unicode +---------------+ +---------------+ | DDNTT | ---------> DDNTT | +---------------+ +---------------+ +---------------+ +---------------+ | DDNTF | ---------> DDNTF | +---------------+ +---------------+ | | Generated by | report RADCUCNT V +---------------+ +---------------+ | DDNTT_CONV_UC | ---------> DDNTT_CONV_UC | +---------------+ +---------------+ +---------------+ +---------------+ | DDNTF_CONV_UC | ---------> DDNTF_CONV_UC | +---------------+ +---------------+ +---------------+ | DDNTT_1B | --+ \ \ \ \ \ \ / / / / +----> | / +----> | +---------------+ +---------------+ | DDNTF_1B | --+ +---------------+ +---------------+ | DDNTT_2B | --+ X / \/ \/ /\ /\ / X \ / / \ \ / / / \ \ \ +----> | +----> | +---------------+ +---------------+ | DDNTF_2B | --+ +---------------+ In the Unicode system. Most often this results in short dumps or syntax errors in the Unicode system or more tragically the system even does not start after import. The active nametabs are DDNTT and DDNTF in the non Unicode system and the Unicode system.2011 Page 5 of 8 .08.g. e. 21. applying a support package or just by modifying it manually.SAP Note 932779 Unicode conversion . 2.

Please note: we observed that even when the nametabs have been generated correctly. the Unicode system will not startup after import. Look for the DDNTT_1B and DDNTT_2B entries in the corresponding . If you find a timestamp in DDNTT which is younger than the corresponding timestamp in DDNTT_CONV_UC. you know that the alternative nametabs were not created correctly because only 122187 rows have been exported for table DDNTT_2B whereas the active nametab of the non Unicode system contained 402222 rows. The alternative nametabs have to be generated in the non Unicode system and the export of the corresponding SAPSDIC package has to be done once more. the alternative nametab is out of date (at least for this record).001 1024 120223 135746 eot: #122187 rows 20040217113208 -----------------in SAPSDIC. there is always a small mismatch between the DDNTT_1B and DDNTT_2B tables. In such a case. o Find out in which package the nametab tables have been exported (most often SAPSDIC or SAPNTAB). o Another common problem is that the Unicode nametabs are out of date. How to check this ? Get access to the non Unicode database for the tables DDNTT and DDNTT_CONV_UC.TOC file created during export.analysis of nametab problems If you think that something is wrong with the nametabs you should check the contents of the nametab tables.08. Compare the field ABSTAMP for DDNTT and DDNTT_CONV_UC. You can do this check also in 21. But the difference of the number of rows should not be greater than about 25-50 entries. The number of rows exported for DDNTT_1B and DDNTT_2B must be (almost) the same ! o Example: If you find -----------------tab: DDNTT_1B fil: SAPSDIC.001 1024 109947 120222 eot: #402222 rows 20040217112728 tab: DDNTT_2B fil: SAPSDIC.2011 Page 6 of 8 .TOC. It means that the active nametabs have been modified after the generation of the alternative nametabs.SAP Note 932779 Unicode conversion .

If you have access to the database(s) you can read out the contents of tables DDNTT and DDNTT_CONV_UC directly.e. you can use transaction SE11 to activate the objects in question.g. Please remember the nametabs switch when comparing the table contents between non Unicode and Unicode database !! o 3. If the Unicode system is running. what happened at this timepoint.SAP Note 932779 Unicode conversion .2011 Page 7 of 8 . from 21. once for all objects that came new in the meantime (e. Afterwards DDNTT~ = non-Unicode nametab of target release DDXTT~ = empty During the offline phase of the upgrade DDNTT~ becomes the active nametab Phase RADCUCNT_NEW RADCUCNT runs to update Unicode nametab from DDNTT~ into DDNTT_CONV_UC~ for all objects that have been touched during upgrade During Unicode conversion preparation (SPUM4/SPUMG) RADCUCNT runs again twice. RADCUCNT is run to create Unicode nametab from DDXTT~ into DDNTT_CONV_UC~ Creation of non-Unicode nametab of target release DDNTT~ contains customer nametab from start release (including customer extensions) From the difference between DDXTT~ and DDNTT~ the necessary DB adaptionsare determined and executed. The table names in the shadow system are derived form the original table names by adding a '~' ShadowTableName = OriginalTableName~ 3. Nametabs and CU&UC ********************** During CU&UC (Combined Upgrade and Unicode Conversion) the nametab is touched twice. but rememeber the nametab switch ! o If nametab entries in the Unicode system are inconsistent and the reason is not clear. During activation. Check timestamp of the nametab entry and look in log files.1 The nametab handling during CU&UC ===================================== Phase RADCUCNT_ALL DDXTT~ contains non-Unicode nametab of the target release which is delivered by SAP. the nametab entry is generated from the dictionary sources. Once for upgrade and once for Unicode Conversion.08. i. the runtime object. Candidates for relevant log files are: RADCUCNT log SAPINST log Upgrade log Transport log o Sometimes only a few runtime objects are out of date.analysis of nametab problems the Unicode database. The upgrade starts working on a shadow system.

2010 11:24:54 English Recommendations/additional info Help for error analysis BC-I18-UNI I18N Unicode Valid Releases Software Component SAP_BASIS SAP_BASIS SAP_BASIS Release 60 70 71 From Release 610 700 710 To Release 640 700 710 and Subsequent X Related Notes Number 1428028 1426513 1319517 837173 614550 548016 Short Text Unicode Conversion: check nametabs report UMG_CHECK_NAMETABS Unicode Conversion: check nametab tables Unicode Collection Note RADCUCNT in Unicode Conversion: Collective Note Troubleshooting BC-I18 Conversion to Unicode 21. So wrong sizes of data elements in Unicode nametab is probably caused by problems with RADCUCNT.2011 Page 8 of 8 .SAP Note 932779 Unicode conversion . For manual calls to RADCUCNT (should be avoided) the logfile is specified by the caller. 3. Header Data Release Status: Released on: Master Language: Priority: Category: Primary Component: Released for Customer 09. The size of all other nametab objects is calculated from the sources. RADCUCNT logs for runs during SPUM4/SPUMG are written to SPUM4/SPUMG tables.2 Analyzing problems ====================== RADCUCNT logs for runs during upgrade are written to <DIR_PUT>/log/Radcucnt*. Note: The size of data elements in Unicode nametab is calculated from the non-Unicode nametab specified as source nametab to RADCUCNT.analysis of nametab problems support packages) and once for all objects that have been touched in the meantime.07.08.

Sign up to vote on this title
UsefulNot useful