Kernel patches for code pages, languages and locales
[applying patches] [CCC] [character] [code] [converter] [downloaded patches] [Locale] [Page] [patches] [patches.ali213.net] [set]
- DB2 z/OS: db2radm.jar patchesSymptom This Note describes db2radm.jar versions. The latest version of db2radm.jar is attached to this Note. To get the version info of your db2radm.jar, run: java -cp /db2radm.jar InstallUtilities.Version Old versions of...
Symptom
You encounter code page, language or locale problems in systems with Technology Basis 6.10 or 6.20 or 6.30 or 6.40 or 7.00.
Other terms
Locale, character set, code page, converter, CCC
Reason and Prerequisites
- various problems -
This note provides an overview of the repairs contained in the kernel and other C and C++ programs.
Solution
Package 1
Unexpected internal errors are reported when you receive XML messages. The error depends on the message content.
For more details, see note 422313.The system required a very large cache in order to process code page 4105 (UCS-4 LE) on the input page.
For more details, see note 419519.
6.10: Kernel patch 38
6.20: Repaired in Summer 2001.
Package 2
If strings (ABAP-type STRING) contain control characters such as carriage returns or line feeds, only # is displayed after an RFC shipping.
For more details, see note 435611.
6.10: Kernel patch 193
6.20: Repaired before September 17, 2001
Package 3
The x’BA’ byte in ISO-8859-2 should be the LATIN SMALL LETTER S WITH CEDILLA (U+015F) character, and not the LATIN SMALL LETTER LONG S (U+017F).
For more details, see note 436645.
6.10: Kernel patch 296
6.20: Repaired before September 19, 2001
Package 4
Processing JIS as an output code pageT2 tables in the CCC cache receive attributes for ISO-2202.New functions for escape sequences (STaRT and BACK).Always use the JIS -> SJIS converter, if possible.An RFC should quickly and correctly check the logon language.New fields in the CCC cache to differentiate between languages that may be processed in the complete system and languages that in fact work on the dedicated application server.New rscpGetPossibleLangList and rscpIsLangPossible functions.A delay in reading the locales until they are required because RFC programs have no access to TCP0C.ABAP also accesses the cache using the languages that actually work on the dedicated application server: CALL ‘CUR_LCL’ ID ‘ASPLANGS’R3load and R3trans from MDMP to UnicodeMany functions form the rscpMC API.include/rscpcpg.h deleted from krn/rscp/rscpgues.h.Many minor repairs to the Guess package.Most test programs now have an -o-option.Even if the code page converter does not have to perform a conversion, it should return RSCPETOOLONG if the output buffer is too short.Special processing for in-place conversions now in krn/runt/abtral.crscpCConvert() will be faster and rscpc_convert() will be a little slower.The output buffer is filled with blank characters if this was requested.If requested, checks are performed to see whether the input buffer only contains blank characters if the output buffer is full.Conversions from UTF-16 to old code pages may only write ‘#’ if this was permitted.Error handling if the cache overflows when the system starts to load the control codes.The rscpeft__err_from_rtab, rscpefn__err_from_ntab, rscprti__rtab_info, rscpefq__err_from_sql and rscpefs__err_from_rsql functions are also available again in the non-DB rscperr.c variants.The RSCPEUNIQ error condition no longer writes a syslog entry immediately because (1) this has happened too often in the past and (2) most calling programs can now process this situation correctly.
6.10: Kernel patch 296
6.20: Repaired before October 25, 2001
Package 5
UCS-2 and UCS-4 (~=UTF-32) are included in the F5 memory.New converter object pairs for the correct conversion of text between ABAP and JavaScript.Minor corrections in the multi-object converter (for MDMP to Unicode migrations).
6.10: Kernel patch 296
6.20: Repaired before November 19, 2001
Package 6
No process termination if the cache memory overflows when a code page rule is loaded.A switch in the cache for rules about the UTF-8-GUI logon.F1 memory processes UTF-8 as a 7-bit ASCII.In accordance with Unicode 3.1, UTF-8 contains a gap between U+FDD0 and U+FFEF.UTF-32 contains the U-0010FFFF character.The kernel is prepared for different UMGCCTL and TCP0F structures (It can handle different Support Package versions).There is no longer an overwriter in the CCC cache even if there are a lot of read errors in the NameTab.Unicode systems ignore install/codepage/appl_server.
6.10Kernel patch410R3load patch11librfc patch11R3trans patch4136.20before January 30, 20026.30before January 27, 2002Package 7:
F1 memory: Control characters for line feed and TAB are changed on AS/400 to the status from previous releases in the past years.F1 memory: Code page 1180 was added (type w_e7_europ). This is an “ambiguous blended codepage” containing Latin-1 and Latin-2 characters; the accents and other diacritic characters were deleted in the Latin-2 characters that are not in Latin-1.F1 memory: Uses 0100 for R/2 (not 0120).F1 memory: Modification due to 4110-1100 in front ends. UTF-8 treated as 7-bit US-ASCII. (Conversion is ideal only if there are no national special characters.)rscp converters can start without a profile and without being able to read from the database.The install/codepage/appl_server profile parameter should not be able to damage Unicode systems.If TCP00 data records were read from the F5 memory, you should also be able to find the segment data in the F5 memory.Six (6) missing pairs were added to the CCC converter:
UCS-2h -> UCS-4 (l,h), UCS-4h -> UCS-2 (l,h)
and UCS-4h -> UTF-16(l,h)
Repairs:
6.10kernel patch451librfc patch14gui610 patch186.20kernel patch22librfc patch4gui620 patch146.30before February 14, 2002Package 8
CCC converter:Implement a new cache for fast mapping of the SAP language onto the code page used. (rscpGetMBCodePageForLanguage, rscpGetCodePageForLanguage )Use this new cache during ROLL-IN.Correction in rscpce1__copy_enlongating_t1
(Symptom: “1/3″(1146) -> “1″(1100)).Add the ‘rscpa0lib’ library to prevent confusing differences between 6.20 and 6.30. In Release 6.20, however, the F1 memory is not in the libraries yet and rscpCSetUseF1() is not active yet.Error correction if libraries use the database and the F5 memory, but not the F4 memory.Also activate the interface between JAVASCRIPT and ABAP in MDMP systems.Activate sapcpm_codepages_mixed() in Unicode systems.Implement corrections if the system starts and the TCPDB table is still empty.The install/codepage/db/transp and install/codepage/db/non_transp profile parameters should no longer be able to cause any damage.
Repairs:
6.10kernel patch508R3trans patch5246.20lernel patch226.30before 2002-03-20Package 9
CCC converterAlso permits odd addresses if the conversion occurs from Unicode to Unicode (for example, UTF-16 to UTF-8).
(This solves problems in the spooler if Unicode systems want to print on Lexmark printers)F5 memoryAdd the code page 1180.Add the SAP characters 01077, 01081, 01121, 01122, 01123 to the predefined TCP01.
Repairs:
6.10 : Kernel patch 536
6.20 : Kernel patch 90
6.30 : before 2002-04-09
Package 10
Character width and line breakThe visible width of characters is now calculated, if possible, in the kernel and not in ABAP functions.
Repairs:
6.10 : Kernel patch 551
6.20 : Kernel patch 171
6.30 : before 2002-05-08
Package 11
CCC converter:Modification of the new cache from package #8 for fast mapping of the SAP language onto the code page used for cases where Unicode, but not ICU, is used.
Repairs:
6.10 : Kernel patch 562
6.20 : Kernel patch ?
6.30 : before 2002-06-12
Package 12
Character width and line breakMore precise calculation of the width of character strings of Greek or Cyrillic letters if the application server uses Unicode and the output device use an Asian font.
Repairs:
6.10Kernel patch5936.20Kernel patch3076.30before 2002-05-28Package 13
F1 memoryAdd the pair 1804 -> 0800 correctly (Before the correction, the F1 memory did not recognize the pair. EBCDIC is no longer frequently used in Release 6.xx, but it should still work).Add 6110, 6120, 6170, 6180, 6280, 6510 and 6570
(when you convert a system with an ambiguous blended code page to MDMP, you do not need to install *.CDP files on all front ends).
Repairs:
6.10Kernel patch5876.20Kernel patch242librfc patch7RFC patch3gui620 patch176.30before 2002-05-28Package 14
Code page settingCorrection for NT for cases where the cache for code pages to be used is not accessible. (This can only occur in Release 6.10).
Repairs:
6.10 : Kernel patch 588
6.20 : Kernel patch ?
6.30 : Kernel patch before 2002-05-28
Package 15
CCC code page converter:Use ‘#’ again as a default replacement character even if the old procedures are called. (For the spool.)
Repairs:
6.10 : Kernel patch 596
6.20 : Kernel patch 242
6.30 : Repaired before July 5, 2002
Package 16
Small, special code page convertersNew Utf8nToUcnCP_4 and UcnToUtf8nCP_4 converters that contain special checks for RFC.CCC code page converter:With UTF-8 as an input code page, the check for invalid bytes are more stringent. (Too few 10xx.xxxx follow-on bytes or 10xx.xxxx bytes without them following a suitable start byte.)A stricter distinction is now also made on the output side between those conversions that are to be converted with or without control codes. This prevents cases where data in Unicode systems contains incorrect control bytes and these were output unintentionally and unfiltered to a printer.
Repairs:
6.10 : Kernel patch 593
6.20 : Kernel patch 242
6.30 : before 2002-06-10
Package 17
nlsfileuRepairs for two small, previously unreported, errors.CCC code page converter and also TemSe administrationOccasional termination of the work process with signal 11 on SUN if the unformatted trace for C functions is activated in the SAP trace.
Repairs:
6.10Kernel patch5906.20Kernel patch2446.30before 2002-07-18Package 18
NLS Customizing:Changed concept:
Unicode systems no longer use TCPDB.When you log onto a Unicode system, UTF 16 GUIs are accepted and are the preferred choice (but there are no UTF 16 GUIs yet).”CCC” code page converter, functional changesNew switches to deactivate the conversion of SAP-specific characters.
(They are only effective for the user if they are used by higher software layers.)
To maintain compatibility with older 6.10 and 6.20 kernels, the default for these switches is always ‘SAPOwnChCv_try’.Useful substitute responses if the TCP00A table is missing.New protection against missing memory in DIAG or elsewhere (there is now an error message instead of a work process termination).TCP01 is taken from the F5 memory (or F4 memory) if the third column is missing in the database.Error corrections in functions that import JIS (because the errors only occur with poor quality data, they were never observed by users and were only detected in SAP-internal tests after ten years).Codepage converter “CCC”, accelerationAccelerated conversions of old, byte-oriented code pages to Unicode by “T1 shortcuts”. (The “T1 tables” are structures in the shared memory cache. They usually contain internal character identifiers. In suitable cases, copies of these are created and the output bytes are entered directly).
To do this, the converter must see the “system code page” attribute from the TCP00 table.Accelerated conversion of Unicode to old, byte-based code pages.
Nine new, more specialized converter methods:
SAPCCM_l_nu16be_get_tab
SAPCCM_l_nu16get_tab
SAPCCM_l_nu16le_get_tab
SAPCCM_l_su16get_tab
SAPCCM_ncu16get_tab
SAPCCM_nu16be_get_tab
SAPCCM_nu16get_tab
SAPCCM_nu16le_get_tab
SAPCCM_su16get_tabrscpf_db, rscpf_a test tools:New ‘hs’ and ‘ho’ commands so that the special commands do not make the normal help so unclear.New ‘be’ command to enable you to enter long test data.Improvements to ‘ya’.The file flag in the ‘m’ command now controls the creation of output files as well the reading of input files.Improvements to the layout of the output of the ‘t’ and ‘m’ commands.Other minor repairs not directly visible to the userThe ‘rscpsc7__store_in_cache_7′ C function should only log something if the debugging mode was compiled.A source analysis program detected three missing break commands in rscpc.c. They were inserted even though it has not yet been determined what errors might have been displayed earlier as a result.Some logging was deleted. (Rulebased__t1e__to__l_out__and_break and with T1 shortcuts)Standalone programs now also use actual time stamps.Unification of texts in logs. (rscpnmi__name_miss, rscpnf__name_fill, rscpnb__name_broken, rscpncc__name_CtrlCodeCv, rscpnoc__name_SAPOwnChCv and rscpnf1__name_useF1).F5 memoryAdd Asian front-end code pages: 8004, 8304, 8404, 8505 and 8604.Add Hong Kong Chinese (HKSCS): 8340, 8341, 8344 and 8345.
Repairs:
6.10Use the 6.20 kernel.6.20Kernel patch5436.30October 18, 2002Package 19
Support for Hong Kong Chinese
Details are contained in note 579747.
Repairs:
6.10Use 6.20 kernel6.20Kernel patch5896.40January 01, 2003Package 20
F1 memoryAdd the separator (soft hyphen) to the ‘0100′ code page.
See also note 563851, level 14.
Repairs:
6.20Kernel patch783librfc28Package 21
Unicode conversionDeath loop no longer in the hash processing in the R3load export.
Repairs:
6.20Kernel Patch827lib_dbsl166.40before May 19, 2003Package 22
HTTP namesHTTP_names are also known without database access.
See also note 630503
Repairs:
6.20itsWindows46.40before October 6, 2003Package 23
R3loadR3load now uses all words in the vocabulary.
(The problem only occurred during the Unicode export of an MDMP database.)R3load is twice as fast during the Unicode export of cluster tables.CCC converterThe CCC converter can also convert between code page 4000 and Asian code pages.
(This function was omitted for Release 6.10, but is required in order to output PDF documents.)Correction of the conversion to and from code page 6200 (Asian Unification)
Also see notes 633697, 633693, 633759
Repairs:
6.20 : in factory
6.40 : Repaired before June 20, 2003
Package 24
CCC converterAPI was extended so that threads can use different languages.Acceleration of the GetCPInfo and rscpLengthOfBasicChar functions and simillar ones (as a result, the entire system is faster if you have to generate a lot of screens).The “old” converter can be omitted if the program would otherwise be too large for the C optimizer (important for OS/2).F5 memoryHTTP names and JAVA names of SAP code pages are now also in the F5 memory (see also package 22).In many code pages, a separation was now made between SAP frame characters and SAP symbols on the one hand and Unicode characters that look alike on the other hand.R3loadA special assignment of languages for code pages can be transferred using the UMGCPLANG table.Improved error messages (with an RSCPE error description block)Test utility programsThe contents of the TCPDB table can be simulated even if the program does not log onto a database.
Repairs:
6.20kernel patch level988R3load patch level22RFC SDK patch level96.40before April 7, 2003Package 25
CCC converterAlso filters unwanted control codes in the case of fast converters from UCS-2, UCS-4 and UTF-16 to UTF-8. (Otherwise, a UTF-8-GUI can suffer log errors due to poor data).The length of SAP symbols (”SAPding”) is also correctly determined in Unicode systems using the latest code pages.R3load for Unicode conversionLanguages that do not have any unique code page assignment can be listed in the UMGLNOCP table (for example, English in systems using SAP Unification, Asian Unification or SAP Diocletian).F1 memoryAdd Diocletian front-end code pages: 6512, 6513, 6514, 6572, 6573 and 6574.
Repairs:
6.20kernel patch level987R3load patch level21librfc patch level38RFC SDK patch level96.40by July 17, 2003Package 26
CCC converterThe CCC converter can also convert between code page 4000 and Asian code pages.
(This is an enhancement of package 23 especially for full width European characters in Japan (”full-width Latin”)).
See also note 633693.
Repairs:
6.20kernel patch level10216.40before August 12, 2003Package 27
CCC converterUnfortunately, package 24 generated an error, which is removed here. In the meantime, an interim step is required when you install a new system. . You must make an entry (”1100″,”1100″) in TCPDB before starting this type of kernel (if the TCPDB table is empty when you start the kernel, all logon attempts are rejected with a message indicating that code page 1100 is not released).
See also note 653739.
Repairs:
6.20 : kernel patch level 1027
6.40 : Repaired before August 24, 2003
Package 28
CCC converterCorrection for converting characters from the private use area of UTF-16. Truncated characters from the private use area of UTF-16 were filtered during the conversion.
Depending on the configuration, the converter now generates an error or a replacement character.
Correction for converting UCS-2 UCS-4 and UTF-16 to UTF-8. Control codes at the end of the converter input buffer caused an error message. Unwanted control codes are now filtered out correctly.
Repairs:
6.20 :
6.40 :
Package 29
CCC converterCCC converter correction in rscpCConvertNeutral for UTF-16LE input data (you may observe errors if R3load on Intel or DEC hardware reads from a Unicode database).If rscpCConvert is called with only one buffer, the error message is no longer written to the syslog but to the developer trace instead.’rscpe_rstr_to_stderr’ must not be a global variable (this is to avoid errors in shared libraries.)The new data type LINE_USING_PROC_WITH_CONTEXT is used (this remains hidden on the interface.R3load-ExportCorrection for NameTab export from a Unicode system.Essential corrections have been made to the error messages and the warnings in the log files. This concerns exports from MDMP databases in particular.
Repairs:
6.20 : kernel patch level 1157
R3load patch level 29
6.40 : Kernel from October 30, 2003
R3load from October 30, 2003
7.00 : Before October 15, 2003
Package 30
CCC converterCorrection for ABAP list printing in Asian Unification systems. See also note 633697 level 2.
Repairs:
6.20kernel patch level1200R3load patch level33RFC patch level206.40kernel patch level???7.00before November 14, 2003Package 31
R3load (Export with Unicode conversion)R3load no longer terminates the export in the case of Unicode conversion problems that can be corrected using transaction SUMG. Instead of this, an order list is written for SUMG in XML format.Screen sources can also be converted from a non-European non-Unicode system to Unicode.CCC converterError correction during the translation of characters with ambiguous targets. (Example: x’00A7′ from 4102 to 6300. Code page 6300 contains both a West-European and a Japanese divide symbol).New subcomponents for writing logs in XML format.With MC converter objects, the system no longer reports errors with many problems if a XML log could be written.The system now issues warnings for words that were too short or too long for the vocabulary.The converters for screen sources automatically fill gaps at the end with blank characters.When determining module names, the error message functions are no longer irritated by the new Perforce date format.
Repairs:
6.20kernel patch level?R3load patch level326.40kernel patch level1librfc patch1R3trans11R3load17.00before November 15, 2003Package 32
CCC converterAdds the option of asking the CCC converter to use the F1 memory instead of the complete code page definitions.
(As a result, the behavior is the same as for non-Unicode RFC.)If you enter a T1 shortcut into the cache and if the cache overflows, the system now reorganizes the cache (previously, the optimization was deactivated).
Repairs:
6.20kernel patch level12246.40kernel patch level1librfc patch1R3trans11R3load17.00F1 memory:2002-03-01November 11, 20032003-11-11Package 33
RSCP library for the kernelNew ABAP calls:
UMG_WORD_SEP ====== rscpacWordSeparator
UMG_CP_FOR_TEXT === rscpacCodePageForTextR3load export with Unicode conversionSpecial processing for tables with ABAP sources.Reads and uses the UMGSEP table.Improvements to the generated XML files:
New:
Comment instead of
Comment instead of
Comment instead of
Never ‘–’ in a comment.The number in the file name is increased to prevent existing XML files from being attached.F2 memory (for TCP0C)Preventing dumps on SUN.Code page 1810 and area ‘4IL’ added.F5 memoryCode page 1810 added.SAP symbols and SAP frame characters were separated from similar looking Unicode characters (’disunification’).
Repairs:
6.20kernel patch level1311R3load patch level35Package 3413126.40kernel patch level1librfc patch1R3trans11R3load17.00before January 06, 2004Package 34
RSCP librariesNew rscpCPFromHttp C functionrscpCPFromMS knows also MS-65001 == SAP-4110R3load export with Unicode conversionCorrection for tables with long names in a pool with short name.Do not write any control codes in key values in the XML file.Do not write any control codes in comments in the XML file.Write lots of XML files so that no individual one is larger than 10 MB.Use
See also note 695907.ABAP interface for the Unicode migrationCALL ‘UMG_WORD_SEP’ only returns words that contain at least one national character.
Repairs:
6.20kernel patch level1336R3load patch level366.40kernel patch level1R3load patch level1librfc patch1R3trans117.00before January 15 2004Packet 35
CCC converterIf the cache converter is reorganized after an overflow, code pages that are not required are removed from the cache. A core dump could then be triggered by memcpyRChk under certain circumstances. The source code was changed in such a way that after a cache overflow, the function in which memcpyR was called will no longer run.
Repairs:
6.20kernel patch level13196.40kernel patch level27.0021.01.2004Package 36
R3load export with Unicode conversionErr.corr. because of truncated names of pooled tables.Don’t write control codes within values.Don’t write control codes within comments.Split files, if they become too large.Write only a smaller part of the cache statistics.Write
Repairs:
6.20kernel patch level1336R3load patch level36R3trans patch level13376.40kernel patch level???kernel patch level???7.0007.02.2004Paket 37
R3load-Export with Unicode conversionRead three more tables: UMGSETTING, UMGSEPCP, UMGCOMCHAR .Common character set can now be larger than 7-bit-US-ASCII.UMGCCTL-GUESS == 1 is now an error and will not try to call ACPR any longer.UMGSTAT-MINWORDLEN is obsolte now. Look at UMGSETTING-MINWORDLN.Improvement of error handling for ABAP sources:Count lines of XML file.Correct nesting of XML in case of problems in pool tables.Corr.: Never write to a non-open XML file.Put sign at end of negative integer key field values.Don’t drop code pages from TCPDB any longer. Even if it seems to be not used by any language.
Reorganize modules to separate vocabulary functions from ACPR from testing functionsSome smaller corrections in vacabulary functions for special cases (depending on order of the languages used.)
Language dependent Dynpro-migration non-Unicode <-> UnicodeCreate error message with key value, when the source language of dynpro sources is not known.
CCC code page converterCorrection: Release semaphore, after a a F1 mamping table has been found. ( Error in BIN since 07.03.2002 and in 6.20 since 13.11.2003.)The dump function for converter objects outputs the last table name and the header of the vocabulary also.CALL ‘UMG_CP_FOR_TEXT’ not only calls the vocabulary function, but now it tests what the mlti code page converter in the R3load would do.Allow CALL ‘UMG_WORD_SEP’ to flush caches.
Repairs:
6.20kernel patch level1406R3load patch level38R3trans patch level14056.40kernel patch level13R3load patch level2R3trans patch level13librfc patch level27.0012.03.2004Package 38
CCC Codepage ConverterGets a new functionality which can be used to filter out characters during codepage conversion.F5 memoryAdd code pages 1810, 1824, 1614, 6180Update the unambiguous blended code pages: undefined bytes are mapped to distinct code points in the private use area.F1 memoryAdd code pages 1810, 1824
Repairs:
6.20kernel patch level1422R3load patch level41RFC patch level26librfc patch level556.40kernel patch level13R3load patch level2R3trans patch level137.0019.03.2004Package 39
F5 memoryRemove segment CTHB0 from codepage 1800. RTL/LTR control marks are no longer filtered out, but are replaced by ‘#’ symbols.
Repairs:
6.20kernel patch level1422R3load patch level41RFC patch level26librfc patch level556.40kernel patch level14Package 40
R3load – Unicode conversionIf a following word has a different code page assigned to than the first word, this can be ignored, if all characters of that following word are members of the common character set of these two code pages.Add a cache for all rows of table UMGCOMCHAR.In a Unicode system I don’t need UMGLANGCP nor UMGLNOCP and I will not read them.If there is at least one row in UMGLANGCP, then only UMGLANGCP and UMGLNOCP shall be looked at (and no longer TCP0C/0D/DB).Some important switches like ‘rscp/on_error’ can be set thru environment also. Reason: R3load does not read nomal profile files.Write all warnings, which meight happen during DYNPRO conversion, into XML file now.Illegal language keys are now reported also, when happening in pooled tables.All problems about choosing the right code page for conversion create entries into the corresponding XML files. But now most problems no long write duplicate information into R3load’s LOG files. Now there LOG files look like:
(EXP) TABLE: “UMG_TEST_4″
(EXP) TABLE: “UMG_TEST_5″
(EXP) TABLE: “UMG_TEST_6″
(EXP) TABLE: “UMG_TEST_6B”
(EXP) Look also at 170 lines in XML file
(EXP) TABLE: “UMG_TEST_7″
(EXP) Look also at 123 lines in XML file
(EXP) TABLE: “UMG_TEST_8″KernelC-CALLs UMG_WORD_SEP and UMG_CP_FOR_TEXT: Some parts of the conversion software of R3load is also in the kernel to enable ABAP programs to see in advance, what R3load would do.
Repairs:
6.20kernel1484R3load466.40kernel18R3load46.40 NTkernel19R3load3R3trans197.002004-04-22Package 41
R3load – Unicode conversionIf the R3load repair log (the XML files) contain a problem report for a whole table (
Repairs:
6.20R3load46 (!)6.40Kerenl18R3load47.002004-04-23Package 42
KernelUTF-16 contains low-surrogates between U+DC00 and U+DFFF
Repairs:
6.20kernelcurrently not planned6.40kernel?7.002004-04-05Package 43
CCC converter and ABAP interfaceA new option was introduced to control the character filter. Depending on this option, characters with the filter flag are treated as non-convertable characters, are replaced by spaces, or are removed.Error correction and better error handling in conversions between 6300, 8000, 8100, 8200, 8210, 8211, 8220Increased ranges for multi-byte characters in case of direct conversion from one Asian code page into an other related Asian code page. (This is effective only in some cases, because most often the conversion is done with the help of Unicode.)
See also note 745721.
Repairs:
6.20kernel patch level15406.40kernel patch level?7.002004-05-23Package 44
General database interfaceStep 1: Data types and constants to enable the distinction between ASCII-based databases and UTF-8 databases for external tools.
Repairs:
6.20kernel patch level15426.40kernel patch level217.00June 2004Package 45
CCC converterSupport the input of JIS. See also note 743764.Split broken_stop into broken_stop_finally and broken_stop_restartableErr. corr. for the combination of input buffer == output buffer and some of the fast conversion methods.Never use the F1-memory when handling UTF-8.F5 memoryCorrection of 8200 (JIS)Codepage utilitiesAdd rscpUnderstandCodePageNumber
Repairs:
6.20kernel patch level15416.40kernel patch level317.00June 2004Package 46
CCCAdd JIS (and ISO-2022) shifted single byte codes on input side.Avoid dump. Don’t search in an empty UMGCOMCHAR cache. (Visible in R3load)F5 memoryUpdate code pages Update 1800, 1824, 82xxRSCP in kernelC-CALL can give details of ISO-2022 rules. Visible in transaction SCP.
Repairs:
6.20kernel patch level1588R3load50librfc696.40kernel patch level31R3load127.00July 2004Package 47
F1-memoryDon’t tell IMPORT, that you will convert, if you would not do yourself. (There shall be no code page conversion errors, when IMPORT in a 1810-system reads data, which has been written on an 1100-system.)
Repairs:
6.20kernel patch level15756.40kernel patch level31R3load127.00July 2004Package 48
CCC converterIf the converter is tuned to substitute non-convertable characters by ‘#’ and invalid JIS data (codepage 8200) are converted to Unicode, then the remaing part of the converter output consists of ‘#’ characters.
Repairs:
620kernel patch level1587640kernel patch level31700July 2004Package 49
CCC converterIntroduce runtime rules to handle ranges. That reduces the shared memory consumption of 8401 on the input side from 100 MB to 1.3 MB.Introduce runtime rules to handle ranges. That reduces the shared memory consumption of 8401 on the output side from 14 MB to 4.5MB.Allow rules with (small) attribute values not only in T3 entries but also in T2 entries. That further reduces the shared memory consumption of 8401 on the output side from 4.5 MB to 0.2 MB.F5-memoryCorrection in 8401 (GB-18030)RSCP in kernelCall CUR_LCL: ASPLANGS may be a string also.More selection criteria, when putting the contents of a rule into an internal table.Can display contents of ISO-2022 rules.Know the corresponding multi-byte code page also for languages, which are not active. (Fixes a problem with IMPORT FROM DATABASE in Unicode systems.)
Repairs:
620kernel patch level1640librfc76640kernel patch level33librfc9700August 2004Package 50
CCC converterCodepage converter supports two escape sequences to switch back from multibyte mode to ASCII, i.e. ESC ( B and ESC ( J.Error correction in conversion from Asian multibyte codepages to JIS, i.e. 8000, 6300, 8100 -> 8200.
Repairs:
620kernel patch level1622640kernel patch level33700August 2004Package 51
CCC converterAdd function for CCC cache self checking. (In rscpf_…ccf use ‘T’.)CCC statistics: Make percentage_bar() immune agains bad data.Typing error in rscp__IterUTF8_4Next: (some unused characters of UTF-8 handled incorrectly)sapiconvFirst roll-out. See also note 752859.
Repairs:
620kernel patch level1663librfc77sapiconvuse 6.40640kernel patch level35librfc patch9sapiconv patch1700September 2004Package 52
R3transLook into UMGLANGCP and UMGLNOCP only if export file code page is Unicode or if UMGSETTING tells me to do so.R3loadLook into UMGLANGCP and UMGLNOCP only if export file code page is Unicode or if UMGSETTING tells me to do so.Only when input is ASCII and not a enforce single code page, then the Multi-Converter and rscpsumg shall be activated.The UMGSETTING cache and the UMGCCTL cache are not loaded, when the executable is a Unicode-Executable.Handle code apge 1810 like 1800. This means, that Walldorf exports, which had been done using a 1100-system are imported into an 1810-system without a real code page conversion.Test driversAllow to switch errtrace (”rscp/on_error”).Implement ‘exec’ command.Enhance ‘e’ command: checks for RFC Lang/CP-List handling.CCC converterAdd switch, whether memory shall be protected. With profile variable “rscp/ccc/protect”.Publish rscpep2_line_using_proc_wrapper.Byte counters are 64 bit long now. Don’t write noof_inbytes and noof_outbytes unprotected into shared memory any longer.Even “strong” rules are less stong than “strong” characters from a mapping segment.Call rscpqc_quality_check() after each reorg.F5-memoryUpdate code page 8200
Repairs:
620kernel patch level1663R3trans1662R3load55640kernel patch level40R3trans38R3load15700September 2004Package 53
R3load and rscpMC converterVocabulary word’s lengths shall be <= 30 and not < 30.If vocabulary look-up ended with good result but with warning, the database row is reported. But SUMG needs also the code page, which was used.Find words also if only the first character is a national one.Don't warn too short international words, even when they follow a too short national word.Correction for cases for more than one problem while writing a single line of XML.Add R3LOAD_TRACE. (Active, only if software is recompiled with this switch on.)rscpf test driversAdd new variable "show_time".Add new commands 'br0' .. 'br9' .Command 'bro' is like old 'br'.Prefix of command name can be 'rscp_a_' and 'rscp_db_' also.A lonely command line parameter will be used as command file also without '-i'.sapiconvSAP's propietary characters are not searched, as long as you don't use the new option '-s' . .Allow more than 8 KB on stdin.CCC converter (internal enhancements)Add rscpCInit11WithDiag, rscpCActivateWithDiag.rscpa29_create_CObj() with new param ERRMSGSWithdraw some functions from public eyes.
Repairs:
620R3load56sapiconv2640R3load17sapiconv2700October 2004Package 54
R3loadFix the propagation of the vocabulary look-up result from a cluster row into the common fields of the next cluster row.R3load, R3load test kernel callsCorrect code page used in XML file in case of problems in clusters.Correction with cache of UMGCCTL.Modified handling of rejected code page switching within one row.
Repairs:
620kernel patch level1707R3load57640kernel patch level?R3load21700October 2004, 96Package 55
R3loadExport of cluster with conversion: In case of conversion problems key, which are written to the XML file are no longer written into the R3load log also.Export of pools with conversion: In case of conversion problems key, which are written to the XML file are no longer written into the R3load log also.
Repairs:
620R3load61640R3load21700October 2004Package 56
CCC converterPut a write protection over the shared memory segment ("CCCC") as long as no updates are really neccessary. This depends on profile parameter values and other switches. This may not be active on every platform. See note 788567 for details.Also count converted bytes, when one of the fast converters have been used.Don't destroy byte counters when writing substitution characters.Allow DIAGRAPH to catch control bytes (with rscpCSwitchMiss). See also note 785959.
Repairs:
620kernel patch level1728640kernel patch level45700November 2004Package 57
CCC converterAdd semaphore locking to rscpCConvBaseChar and rscpCConvOneChar. Loading code pages into CCC cache will proceed with the correct access permission.Repairs:
620kernel patch level1745640kernel patch level45700November 2004Package 58
R3load - Export from Unicode DBIf "-dbcodepage" not given and TCPDB is empty, it picks correct 4102 or 4103 itself.R3load - Import into Unicode DBIf "-dbcodepage auto" given and TCPDB is empty, it picks correct 4102 or 4103 itself.If DB code page given or derived and it is not the expected 4102 or 4103, then output warning.R3load - Export with Unicode conversionErrors in transparent fields of a table cluster shall not reported for the table cluster itself but for each of the clustered tables.Look at each physical line of a table cluster separtely, even when TABCAT is 3.Also the the GUESS value of a table cluster does not say details about the embeded logical tables.Do not popagate "too short" error into next row of a pooled table.CCC ConverterRecover from a CCC cache overfolw, where only the T07-area had been flooded.rscpeo4__enter_out_4code sets error info now.Replace rscpCSwitchMiss with rscpCPreSetSubstU4.Some internal enhancements
Add field 'latin1only'.
Pick the right sap5lib.
Even "strong" rules are less stong than "strong" characters from a mapping segment.RSCP generalAccept additional fields in UMGPMIG.Accept additional fields in UMGSETTING.Update dummy module rscpexdu.c
Repairs:
620kernel patch level1764R3load64640kernel patch level50R3load23700Dec. 1st, 2004Package 59
R3load - Export from Unicode DBEnhancement in calculation of length of logical record within a table cluster item.
Some more details in internal note 808081.
Repairs:
620R3load?640R3load?700Jan. 2005Package 60
R3loadWarning message in case of strange -dbcodepage values.command line option -dbcodepage is stronger than contents of table UMGSETTINGRSCP & R3loadAllow table UMGPMIG with 24 or 25 fieldsRSCPFunction rscpMCInit needs to know whether the UMG*-tables shall be read or not.New NLSMAJOR number '25' for GB-2312-80-EUCF1 memoryMake separtion: GBK vs. GB-2312-80-EUCF5 memoryNew code page 8450 (GB-2312-80-EUC)HTTP names and Java names for 8x04.Some internal enhancements
More details checked in test scripts for SAP-Unification printer code pages.
Test driver output line numbers.
Three printf-formats enhanced, which have been found by new ccQ.
Repairs:
620kernel patch level1800R3load67640kernel patch level56R3load26700Jan.12th, 2004Package 61
ABAP EngineEXPORT TO ...
The result of an EXPORT TO DATABASE ( or to somewhere else ) is a compressed data record together with a transport header. This transport header contains a code page attribute. Normally the currently active code page is copied into that header. When there is a profile entry
i18n/export_to/code_page_attr = migrate
then the currently active language is taken and the corresonding code page is taken from UMGLANGCP. By that it is possible to write values which do not create problems because of ambiguous code page numbers.IMPORT FROM ... of tables with language key in a Unicode system when the data is still non-Unicode
For each row the language key is used to find the corresponding byte-oriented code page ( rscpGetMBCodePageForLanguage). When that fails, the code page number from the transport header is used.IMPORT FROM ... (other cases)
The code page attribute in the transport header is compared to the current system code page and if a code page conversion is neccessary, that code page number is used.RSCPNew function rscpGetCPForImportFrom to support ABAP engine.The list of code page mappings is now cached in shared memory.
Some more details in internal note xx.
Repairs:
620kernel1797640kernel56700Jan. 2005Package 62
DIAG codepage converterMissing spauptr addresses cause core dumps after ending an ABAP session.If an unsupported character is fed into a Dynpro field, the field is filled up with spaces. Wrong substitution (on_miss) switches in the DIAG converter are responsible for this behaviour.Err. correction in usage of new converter API in DIAG. Reset input/ouput buffer before reusing rscpCConvert... .
Repairs:
620kernel1859640kernel63700kernel1710Mar. 2005Package 63
RSCPAdd functions to find best code page for communication with a browser.Split SAPCCNLS_simplCh into SAPCCNLS_2312_80_Ch and SAPCCNLS_GBK_Ch.(only 6.40 and higher:) TCP02, TCP03 and TCP07 are no longer used. Because of that: F4-memory no longer used.RSCP test dirversAdd command "TABinfo".RSCP (for R3load export)Add field EINDX to UMGSETTING.Add UMGSETTINGS.Add UMGCONTAINER and the container handling.
Repairs:
620kernel1891R3load72640kernel69R3load31700kernel710Mar. 2005Package 64
RSCP (for R3load export)Better reaction in case of missing table UMGSETTINGS.If an alternate NameTab can be simulated, create a soft error only.Better syslog message and better error messages.Enhance container_info_t, add container_infos_t.Enhance bufferPair_t.Remove all container cache row numbers from UMGCCTL cache again. StartTab is too late for the cluster modules because of non-text fields. But then I don't need any linkage between UMGCCTL and UMGCONTAINER any longer.Move the re-mapping from field counters to buffer counters also from CLU to rscpexmc.c.Write less into the XML repair log, when a container's type could not be recognized.RSCP test driverCorr.: set proc = rscpCShortcutTableConv
Repairs:
620kernel1891R3load72640kernel69R3load31700kernel18R3load2R3trans25710April 2005Package 65
RSCPRecreate spaces in rules for JIS, which are surpressed in F5-memory.Enable JIS -> UTF-8.RSCP (for R3load export)In release 6.20 and 6.40 the mechanism for containers is only active, when the process’s environment contains: R3LOAD_USE_CONTAINER=1 .SAPLIBAdd sapi64 to sap0lib.UXPORTBuild uxprtrlib.o also.
Repairs:
620kernel1891R3load72R3trans1890librfc86640kernel69R3load31R3trans69librfc21700kernel18R3load2R3trans25710May 2005Package 66
R3load exportContinue on missing table UMGCCTL. (So R3load can read 4.6C databases.)…
Repairs:
620kernelR3load640kernelR3load700kernel18R3load2R3trans25710April 2005Package 67
RSCP F5-memoryUpdate attributes of code page 1610Update some code page namesRSCP for R3loadHandle missing UMGCCTL table when using 6.20 R3load at a 4.6-database.
Repairs:
620kernel1933R3load74R3trans1932librfc?640kernel77R3load37R3trans77librfc?700kernel18R3load2R3trans25710May 2005Package 68
RSCPIntorduce six table groups and allow to switch on and off access to each group individually. The first user is R3trans for following scenario: A upgrade, where the start release is <= 4.6D and the target release is >= 6.20 and where the upgrade includes transports, which came from a Unicode system originally. In such a case texts from non-Latin-1 languages could be damaged. (That could happen with IS-OIL.)Create new ‘L’-objects for fast lengths informations. (The first user will be SAPGUI for JAVA environment.
Repairs:
620kernel1933R3load74R3trans1932librfc?640kernel77R3load37R3trans77librfc?700kernel18R3load2R3trans25710May 2005Package 69
RSCPSince package 56 it is possible to put a write protection on the shared memory cache and open it only while the special semaphore is hold. Now the write-permission has been de-coupled form the semaphore. The semaphore is requested when atomic operations on the cache are started. As opening and closing the shared memory is on some platforms is expensive, the write-permission is only requested when updates to the shared memory are neccessary.
Repairs:
620kernel(not planned)640kernel77R3load36R3trans77700kernel18R3load2R3trans25710May 2005Package 70
RSCP for kernelStatistics was too long when USAG2 and MBCPM and RFCMA and USAGE are space.RSCP for R3loadR3load does not require environment variable R3LOAD_USE_CONTAINER any longer.Modify the interface to krn/dbcnv/ in a way that less details are visible outside of RSCP.RSCPrscpGetPossibleLangListLen and rscpGetPossibleLangList and functions like rscpLangCPListGetSize survives, even when rscpi_init was not called.Test drivers now call rscpi_init later to enable testing of hooks.
Repairs:
620kernelout of maintainance640kernel83R3load39700kernel20R3load1710Jul 2005Package 71
RSCP for R3loadDynamically increase size of cache for UMGCCTL. Until now the limit was 45.000 .If there is a vocabulary problem with words from the transparent fields of a table cluster, the code page chosen to convert those fields are used for all rows of all clustered tables, that share this key.When replacing doubble-hypen in XML files, use underscore and no longer sybilliac hyphen. That one did not display nicely in vi, more, InternetExplorer,..When doing R3load-Import for Unicode with byte-swapping, don’t look into UMGCONTAINER and don’t cry about NameTabs not yet imported. Both is not needed for byte-swapping.
Repairs:
620out of maintainance640R3load39R3trans700kernel20R3load1710Jul 2005Package 72
RSCP for KernelIn a Unicode system the locales of the C-libraries are not used since a while. So they should not be checked during Roll-In.
Repairs:
620out of maintainance640kernel89R3loadR3trans700kernel22710Jul 2005Package 73
RSCP for KernelAdd dummy function to trigger export of rscpllen.c module functions.
Repairs:
620out of maintainance640kernel84700kernel710Jul 2005Package 74
RSCP for Kernel
Implementation of a new internal converter state “reinitialize”. This state defines a converter with a temporarily limited functinality which is expected to be restored at some future point in time. The converter will switch into the new “reinitialize” state if the work process is in reconnect state andthe converter cache is build up first timethe converter tries to reorganize the converter cachethe converter tries to load a new codepage from database
In that phase, any conversion call using rscpCConvert with an invalid converter object will fail. If the work process could successfully reconnect to the database the next initialization attempt via rscpCInit will reinitialize the converter. databaseRepairs:620out of maintainance640kernel86700kernel24710Jul 2005Package 75
RSCP for R3loadSome versions of R3load aborted in the middle of their job while exporting the table EDI40, when it contained more than 30 different document types. See note 872124 how to handle, when R3load patch is not available.In case of containers some of the NameTab checking is done, which will be done for other kinds of tables with package 76.
Repairs:620out of maintainance640R3load42700R3load3710Aug 2005Package 76
RSCP for R3loadAdd mechanism which check that the alternate NameTab is not older than the normal NameTab at time of database export. As the NameTabs are switched during import, the originally label “alternate NameTab” becomes active and is vital for the system.If you have good reasons to enforce an export even when these checks fail, then set an environment variable:
setenv I18N_NAMETAB_TIMESTAMPS IGNORE
setenv I18N_NAMETAB_TIMESTAMPS LOG
Repairs:620out of maintainance640R3load?700R3load?710Aug 2005Package 77
RSCP for kernelA new mechanism was added to enforce automatic frontend codepage detection via TCP0F on the backend side. This behaviour can be controlled by the TCP0I entry “utf8gui”. If utf8gui is set to automatic the support bit option /SUPPORTBIT_OFF=AUTO_CODEPAGE will be ignored on backend side. Furthermore, if the system is Unicode and GUI is able to use UTF-8 the frontend codepage is set to UTF-8 (4110) independent of any codepage setting in SAPLogon.
Repairs:
640kernel89700kernel24710kernelAug 2005Package 78
F1 memoryAdd code pages 8341 and 8345
Repairs:
640librfc31kernel89700librfc5710Aug 2005Package 79
RSCP for R3loadBe able to handle problems with unrecognizable structure names for containers also during conversion from single code page to Unicode. (See also note 876984.)
Repairs:
640R3load42700R3load3710Aug 2005Package 80
RSCP for R3loadRe-do handling of containers, which cannot be subdivided.
Environment variable I18N_CONTAINER_NO_STRUCT says, if number of problems is reported only or if each case is reported in Log.
Correction to make sure, that no information about containers within one cluster is reused when other clusters are read. (See also note 889513.)
Into R3load Repair Log only comments are written.Look at DDNTT and DDNTT_CONV_UC and complain about mismatches.
Environment variable I18N_NAMETAB_TIMESTAMPS says, if error aborts R3load or if problems are reported only or if no checks are done at all.
Don’t kill export because of NameTab read error, when NameTab is read for logging purposes only.Check NameTab entries also for each pooled table, which is seen while exporting a table pool.RSCP for kernelCall ‘CUR_LCL’ can handle paramter ‘UUSEMBCP’ also when it has type ‘N’.RSCP internalyNew API: “rscpDA” for dynamic arrays in main memory.
Repairs:
640R3load45kernel100700R3load5710Sept 2005Package 81
RSCPOverhaul the commiting and the releasing of memory in the CCC cache. (There had been instabilities, when a workprocess was used without a running database.)Back from ‘# ‘ to ‘##’.Add rscp/mbc_copy = 3 . But it shall not be used for productive systems.Correction in optimzation of rscpCConvertNeutral.Don’t try to write statistics from a cache, which does not exist.sapiconvNew option ‘-C’ to replace an Asian double-byte character with ‘##’. The old option ‘-c’ uses always ‘#’.RSCP F5 memorySpecial character “DBC replacement” into many Unicode code pagesPlain code page 6200 has SJIS level 1 now. (Normally 62×0 is used.)
Repairs:
640kernel101sapiconvuse 7.00 non-UnicodeR3load47700kernel32sapiconv2use non-UnicodeR3load6710Nov 2005
Package 82
RSCPWhen converting from 8000,8300,8400.. to 6200 the source code page shall be stronger than the user’s language.A couple of new features for the test drivers rscpf_a and rscpf_db.RSCP F5 memoryAdd code page 6101. (It is used as fall back code pages for Englisch users of code page 6200.)
Repairs:
640kernel101librfc36sapiconv4or use 7.00 non-Unicode700kernel33sapiconv1use non-Unicodelibrfc9710Nov 2005
Package 83
RSCP for R3load-exportNew algorithm also in SPUMG: If a word is too long, we take the leading part only. Silently. The database row is no longer reported into the R3load Repair Log, as we think, that it will not happen that we change our mind about the language assigment, if we see also the bytes behind the first 30 bytes.If a row contains words, which are too long or too short, SPUMG writes the global fallback code page into the reprocess log. Older R3loads tried to find “the best” code page. Now R3load uses the table-specific fallback code page. As the table-specific fallback code page is normally the same as the global fallback code page, this makes behaviour of SUMG less confusing.Restructure collision resolution: Old: Two levels: 1st find common code page for all words of a field. 2nd find common answer for all fields. (may rescan whole fields) New: 1st collect all words from all fields and find a coomon code page for all words which are visible to an rscpMCConvert..M call.Error correction for case, that UMGLANGCP contains additional languages. (Could core dump on AIX.) Details in note 913996.Read UMGSETTINGS[COLLRES].Be more precise when code pages does not match, but the characters are from common set.If during export of a cluster the transparent part has a vocabulary on its own, then use it.Handle unlimited number of entries in UMGCONTAINER.Raise MAX_PARALLEL_CODE_PAGES from 15 to 30.Drop code of ‘ACPR’ package. This shall not have any visible effect.Remove limitation on number of words per database row.More control of checks on NameTabs thru environment variables
I18N_NAMETAB_TIMESTAMPS
I18N_NAMETAB_NORM_ALLOW
I18N_NAMETAB_NORM_LOG
I18N_NAMETAB_ALT_ALLOW
I18N_NAMETAB_ALT_LOG
I18N_NAMETAB_OLD_ALLOW
I18N_NAMETAB_OLD_LOGEnhancements on warnings and error messages:
Don’t talk about Unicode and UMG*-tables, when R3load is used for a different purpose.
Don’t cry about RADCUCNT too often.
Don’t talk about UMGSETTING, when UMGSETTINGS was used.
Don’t talk about internal problems of the start-up of rscpMC, when the activation had a final success.
Don’t output the RSCP error description block for cluster problems, when I think, that I have written enough details already.Write each common charcter set to R3load Repair Log when used for the first time.Don’t read UMGSEPCP and UMGCOMCHAR, when UMGSETTING or UMGSETTINGS have told me, that I shall use 7-bit range as common character set.No longer two syslog messages about language ” and code page 0000 during startup.RSCP error handlingMark each error description block with an individual number.
Repairs:
640kernel113R3load56700kernel45R3load9710Jan 2006
Package 84
RSCP for kernelInternal CCC state reinitialize: Transition only in case of failed reorg attempts.Versioning of internal work process cache in GetCPInfo.
Repairs:
640kernel113700kernel53710Jan 2006
Package 85
RSCP for kernelNew function function rscpUcnSubstBrokenDBC to be used to circumvent an error in Internet Explorer.See also note 720738,
Repairs:
640kernel114700kernel?710Feb 2006
Package 86
RSCPAlso low level functions like conversion between UTF-16 and UTF-8 get connection to the RSCP error reporting mechanisms. That allows for example better error messages within RFC.
Repairs:
640kernel120R3load58700kernel53710Feb 2006
Package 87
RSCP for R3loadHandle packed-decimal fields, which are hidden within containers. See also note 936117.
*** This correction is not good. Please don’t use R3loads which have package 87 but don’t have package 91. ***(7.00 only) Modify DbSl statement for NameTab checks to cooperate with ORACLE-version of 7.00 DbSl. See also note 935971.RSCP for RFC with UTF-8Look also at GUI’s code page when trying to resolve an ambiguous conversion 6200 <--> 4110.
Repairs:
640kernel122R3load(59)700kernel53R3load(14)710March 2006
Package 88
RSCP and IMPORT FROMSince many, many years the ABAP statements of the IMPORT FROM family knows about MDMP and don’t convert between different ASCII based system code pages. By that a user can read data independent of the logon language of the user, who has written it. (This is needed only for special cases, as normally there should be no national characters in data without a language field.) With this patch the ABAP statements of the IMPORT FROM family handle within a MDMP setup also those code pages like system code pages, which are stored as global fall back code page in UMGSETTING or in UMGSETTINGS or which are attached to languages in UMGLANGCP.
Repairs:
640kernel122700kernel59710March 2006
Package 89
R3load export with Unicode conversionWhen R3load exports the NameTabs, it also checks that the alternate NameTab is up to date. The SELECT statements used for that must be different depending on DBMS. See also note 936533.
Repairs: See package 91
Package 90
RSCP in kernelDuring each creation of the CCC cache the kernel checks, if table TCP00A seems to have an reasonable content. If it in doubt, it writes a Syslog message CP6 pointing to note 938736.At the same time it checks, whether one of the system code pages is a blended code page. If so, it writes a Syslog message CP6 pointing to note 938737 ot to SAP note 938738.
Repairs:
640kernel129700kernel59710April 2006
Package 91
RSCP for R3loadCorrection for package 87. On some platforms in some cases some fields of clustered tables have not been convertered. See also note 936117.The time-stamp check for the alternate NameTab now looks at CREATE-time-stamp and no longer at ABAP-time-stamp. When preparation of Unicode conversion is started during an Upgrade, the old rules don’t hold any longer.The existence check for the alternate NameTab executed very slow on DB2/390. Now you can set a new environment variable to switch to a different SELECT statement:
I18N_NAMETAB_SELECT_TYPE = A or B
A is fast on most DBMS
B is much faster DB2/390
See also note 936533.RSCP for some smaller executablesDon’t need to like rslg0lib nor rstr0lib any longer.
Repairs:
640kernel129R3load62700kernel59R3load16710May 2006
Package 92
RSCP for kernelLegacy code page mechanism for SNC library. The legacy code page parameter is associated with the system code page used by the-Unicode system in the pre-conversion era. This mechanism is a workaround for SNC to overcome the problems caused by the fact that current external SNC products are not Unicode enabled. There are two modes to set this parameter.
TCP0I parameter: legacy_cp
Environment variable: SNC_LEGACY_SAP_CP
Repairs:
640kernel129700kernel59710May 2006
Package 93
RSCP for R3loadConvert all fields of a row of a pooled table within one conversion call.Implement handling of containers for pooled tables.Convert all fields of a row of a transparent table within one conversion call, with the exception of LOBs.Implement handling of containers for transparent tables, as long as they don’t contain LOBs.(Separte distinct APIs into different header files)
Cut rscpMC-API out of rscp.h and put it into a separate header file: “rscpmc.h”.
Cut rscpMC-API out of rscpi.h and put it into a separate header file: “rscpmci.h”.
Cut rscpsumg-API out of rscp.h and put it into a separate header file: “rscpsumg.h”.New API: rscpdabp
Dynamic arrays of buffer pairs.Add rscpncsf__name_charsize_factor.
Repairs:
640kernel145R3load69700kernel76R3load23710R3loadJuly 2006
Package 94
RSCP for R3loadSince 05.05.2006 R3ld/R3load/R3ldexp.c looks at the CRTIMESTMP and no longer at ABTIMESTMP. krn/rscp and krn/dbcnv shall do the same.
See also note 978244.Some code clean up.RSCPMore precise syslog messages in case of damaged code pages.
Repairs:
640kernel149R3load71700kernel79R3load26710R3loadSept 2006
Package 95
RSCP for R3loadDon’t die on container structures, which have no sub-fields.Don’t cry about strange language fields, when a single code page system is exported. This is activated, when the table UMGSETTINGS contains a row
‘SINGLECP’ , ‘X’Solve problem of huge memory consumption and long runtime, when exporting a pool, where a large (logical) table does not contain any national characters.
See also note 988224.Add a couple of new statistics.
Repairs:
640R3load76700R3load29710R3loadNov 2006
Package 96
RSCP for R3loadAdd a cache for NameTab read misses. Searching again and again was too expensive.
See also note 991831.
Repairs:
640R3load79700R3load30710R3loadNov 2006
Package 97
RSCP for R3loadCorrection for special case:
R3load export with Unicode conversion
and active container handling
and the current container has binary fields
and the last field is binary and has an odd length
and that last field has also an odd offset, because it is behind an other binary field with an odd length.
Without the correction R3load stops with an error message:
code: 512 RSCPEUNIQ
spaces don’t fit into rest
module: rscpc no: 234
Repairs:
640R3load89700R3load34710R3loadNov 2006
Package 98
R3loadError correction in error messages in case of conversion problems of LOBs.Error correction when writing key values of logical cluster tables to Repair Log in a Unicode executable. (function was not yet used)RSCP for R3loadWhen container handling is used and when containers have binary fields, then do not try to lookup binary values in the vocabulary.When container handling is used and when containers have binary fields and when the transport file code page is UTF-16LE, then binary fields must be exported byte-swapedDon’t loose memory, when a alterante NameTab is missing and cannot be simulated either, because the strucure has binary fields.Flush the R3load Repair Log whenever a (physical) table is finished. By that the XML files are better even when R3load is canceled.Statistics talks also about DBMCPL_m_defCP and DBMCPL_n_defCP.
Repairs:
640R3load89700R3load34710R3loadNov 2006
Package 99
RSCP for R3loadOutput converted key value to XML file instead of input key value when container handling happened on a key field.During start-up make a distinction between real warnings and information messages.Add rscpCDump2ndObject to make comment at end of XML file shorter and clearer.
Repairs:
640R3load89700R3load39710R3loadFeb 2007
Package 100
R3load and RSCPDo not write any text about RSCP-Error into LOG file, when error was not detected within the RSCP library.Better selection of what to write inot the LOG file when an error is detected within the RSCP library.
This change omits possibly misleading error information, adds error messages close to the point of error. Existing error tests were left unchanged in order to preserve the validity of references in documentation, trouble shooting guides, Notes, CSN messages.
Before this change an “RSCP Error” box with messages was written on every R3load error exit; this error box is omitted and replaced by messages at, or moved to the error location. Set environment variable R3LDCPCV_CON_ERR to get the original error box at its original location.
Repairs:
640R3load89700R3load39710R3loadFeb 2007
Package 101
R3load and RSCPSupport releasemix scenarios: Usage of R3load 6.40 against databases with SAP release 4.6d, 4.5b, 4.0b, 3.1i. In this special case code pages and code page information is not taken from the database because tables like TCPSEG do not exist in those old databases.
Repairs:
640R3load89700R3load(not planed)710R3load(not planed)711R3load(not planed)
Package 102
R3load and RSCPDon’t test alternate NameTab, when there is no code page conversion and also not when the code page conversion does not change the size of a character.In error messages about pools or clusters there shall be no dirt-characters behind the physical or logical table names.Write timestamps of cluster items in case of problems with cluster items.In diagnostic mode R3load tries to continue after initial cluster items.RSCP for kernelError correction when selecting details of RSCP statistics from ABAP.
Repairs:
640R3load89700R3load39710R3load..?711R3load?
Package 103
R3load and RSCPAdd check: SPUMG writes test data, R3load verifies them.Add check: inactive nametabs should be empty when starting Unicode conversion:
DDXTT
DDXTF
DDXTT_CONV_UC
DDXTF_CONV_UCAdd check: Unicode conversion export produces data in endiannes of host.Add check: for Unicode conversion export the widths of character fields in the Unicode nametab should be twice the non-Unicode widths.Note 765475 gives additional info on the meaning of these checks, and what to do when they indicate a problem.Do not abort, when messages about table IMPREDOC need to be written. See also SAP note 1062305.RSCPCheck profile parameter value of rsts/ccc/cachesize to be in valid range. See also SAP note 1078824.
Repairs (prepared 2007-06-21):
640R3load96 (2007-08-22)kernel197 (2007-08-24)700R3load w/o IMPREDOC53 (2007-08-07)R3load67 (2007-11-21)kernel123 (2007-08-10)710R3loadin production.711R3loadafter 2007-06-21
Package 104
R3trans and RSCPAdd-on to package 103: Don’t look for table UMGCOMCHAR, when a R3trans of higher release is used to import transport requests into a 4.6c system. (This is needed for Upgrade preparation).Add matching feature to the test driver ‘rscpf_db tchk’.
Repairs:
640R3trans203700R3trans123701R3trans7710R3transin production.711R3transin production.
Package 105
R3load and RSCPAdd a check that data of pooled tables fit into the target pool table. (This shall stop customers to execute UMG_POOL_TABLE too late.)Modify an error message into a warning:
I18N_NAMETAB_ALT_ALLOW = …
See also note 1088816.Learn new container types ‘E’ and ‘J’
But they work like ‘D’ and ‘I’ in the moment.
Repairs:
640R3load99700R3load78701R3load2710R3loadin production.711R3loadin production.
Package 106
R3load and RSCPImprove R3load conversion log (in .xml files, for consumption by transaction SUMG, in the conversion target system) for incremental conversion exports where steps ran into errors and needed repetition.
Note 1012025 describes the problem; this change dispenses of manual intervention.Fix broken .xml log files left over after R3load crashes.
Note 994909 describes the problem.
Repairs:
640R3load99700R3load63 (2007-10-26.PR:5115445 2007)701R3load2710R3loadin production. (2007-10-3)
Package 107
R3load and RSCPDon’t dump when R3load is used without command line parameter ‘-datacodepage’. That could happen when you export from a non-Unicode database without any code page conversion. See note 1090368 for details.
Repairs:
640R3load97700R3load58701R3load2710R3load3
Package 108
RSCPError correction in ‘rscpConvOneChar’ for combinations of Asian double byte characters and illegal bytes.
Repairs:
640kernelFeb.2008700kernel78701kernel4710kernel?developkernelOct.2007
Package 109
RSCPError correction in makefiles to enable compilation of module in any order. (Needed for LINUX.)Error correction in F1-memory- (Needed for OS/390.)
Repairs:
640kernel?700kernel..?701kernel4710kernel?developkernelOct.2007
Package 110
RSCP for R3loadR3load aborts if it does not support specific features which are requested by transaction SPUMG. (This shall protect a Unicode conversion to be damaged because a out-dated R3load is used.)R3load writes error messages, when transaction SPUMG is too old.
Repairs:
640kernel99700kernel78701R3load2710kernel?developkernelOct.2007
Package 111
RSCP for R3loadDo not abort when reading from a 6.20 database which is on service package level of 2004 as long as no Unicode conversion is requested.
Repairs:
640kernel99700kernel78701 R3load2710kernel?developkernel..?
Package 112
RSCP and R3loadDon’t crash in following special case: 1. R3load is executed and writes 1 or more XML files. 2. R3load is executed a second time, checks the last XML file and writes one more XML file. 3. R3load closes that XML file (as it is longer then 10 MB) and create even one more XML file.
(See Note 1132837 for details.)Do not look for words with national characters in fields with a type, where such words should not exist (Date, Time, Numeric)Handle containers of type ‘J’. I such a case one database column contains a container and an other column contains a structure name. The container contents is divided into sub-fields by using the structure name but using only the key fields of that structure.Read UMGSETTINGS before UMGCONTAINER an if UMGSETTINGS does not talk about ‘J’ then interpret CDPOS+’I’ as if there was a ‘J’.When key is not at the left or missing, the container decomposition is switched off in case of ‘J’ or ‘E’.Don’t write “UMGCOMCHAR read check, skip: no data found; probably old SPUMG” when R3load is used without Unicode conversion.Special error message for the combination MDMP customer trying to convert during import and version of R3load, which doesn’t recognize its own trick with ‘MDMP’ instead of a code page number.RSCPTest drivers can test rscpMC-Objects with single input code page.Error correction in rscpDAJoinPairs (to resolve possible conflicts in UMGCONTAINER).Use ‘rscpsc2′ instead of ‘rscpuc2′ in some error messages.
Repairs:
640R3load101700R3load78701R3load2710R3load..?711R3loadJan.2008
Package 113
RSCP for R3loadDon’t abort R3load on pool tables, which are too short in every case. When table should not be in the pool, only a warning given.
Example: old data from TCP07 in pool ATAB, though TCP07 is not a pooled table.
The R3load 6.40 pl. 99 up to 105 (Feb 22th – May 15th) and the R3load 7.00 pl. 78 up to 85 (Mar 13th – Apr 25th) on some platforms aborted with a signal; on most platforms they stopped with an error messages.
Repairs:
640kernel106700R3load86701R3load2710kernel?developkernelApr.2008
Package 114
RSCP for R3loadTry to use fast 7-bit-ASCII to UTF-16 conversion before starting expensive code page selection.Some error message texts enhanced.Internal cleanup of rscpexmc.cRSCPAdd two new fast conversion methods to code page converter: 7-bit-US-ASCII to UTF-16BE and to UTF-16LE.Internal: Remove code which enabled re-activation of old code page converter. (Was not used since 6.10.)Add 6280 to F5 memoryInternal: Remove include code page numbers from F5 memory.
Repairs:
640kernel233R3load106700kernel? perhaps 80 ?R3load86701kernel4R3load2710kernel?developkernelFeb.2008
Package 115
RSCP for R3loadCorr. on mixture of word-too-short and words which select a code page unambiguously.Don’t cry about age of SPUMG when R3load is used without a Unicode conversion. (Do the check on the features of UMGSETTINGS later.) For details see SAP note 1148541.Allow environment variables to rename database tables on the fly. (This is mainly used to test compatibility to older database releases.)
Repairs:
640kernel233R3load106700kernel80R3load86701kernel4R3load2710kernel?developkernelMarch 2008
Package 116
RSCP for R3loadIf UMGCCTL-GUESS = 2 then even a UMGSTAT-DICCNT = 0 shall not switch off the vocabulary reading.Don’t use language field when value of UMGCCTL-LANGFLDPOS is not safe.Correct automatic switching from ‘I’ to ‘J’ for CDPOS. And now also for DBTABLOG.Check against missing UMGCCTL-LANGFLDPOS.Check for inconsistencies between UMGLANGCP and UMGLNOCP.Better SysLog messages in case somebody tries to use Unicode conversion tools in a Unicode system.Enhancements in trace facility for the vocabulary loader.RSCPEnhancements of the code page convert to be able to handle a code page as complicated as GB18030-2005.Update ‘1409′ and ‘1614′ in the F5-memory.Add ‘8402′ to F5-memory.Enhancements in filtering illegal chracter combinations in UTF-16Error correction: The code page converter could damage input (!) buffer, when a character of length 4 was recognized by an input runtime rule. (Was possible with code page 8401, but was never reported.)Set version of RSCP’s CALL interface to 20 to indicate enhancements which have been neccessary to support SAP-8402 which is GB-18030-2005.rscpGetASLoginLangList and rscpIsLangASLogin now check if a language is also in table TCP0I, field processed_languages. (But downwards compatible.)Write own and perants process identifier into shared memory cache.More details in language list.
Enhance test driver to monitor input buffer.
Repairs:
640kernel268R3load115sapiconv?700kernel192R3load97sapiconv4701kernel25R3load9sapiconv1710kernel?711kernel21R3load6sapiconv1developkernelMay 2008
Package 117
RSCPAdd Utf8nToUcnCP_5 and UcnToUtf8nCP_5 and add ~SubstAll functions for XML parser.Better handling of errors from port-lib.
Repairs:
640kernel268700kernel192701kernel25710kernel?711kernel21developkernel2008
Package 118
R3loadError correction for command line option ‘-v’.
In release 7.01 this was damaged during modifications 105..115.
Repairs:
640R3loadnot needed700R3loadnot needed701R3load6710R3loadnot needed711R3loadnot needed
Package 119
R3loadMore precise control whether the data in fields of specific data type can or cannot contain national characters. (As an example we will not search for national characters in client fields nor in date fields.)
Repairs:
640R3load115700R3load97701R3load9710R3load?711R3load6720R3loadOct.2008
Package 120
RSCPIf the RSCP library was initialized too early in the kernel, then clean the desk and start over. Within the kernel the code page converter cache is kept in shared memory. When the library is needed too early, it starts with a preliminary cache in malloc-memory and replaces that later, when the propper intialization is executed.Increase ‘reorg_version’ number when switching from malloc memory to shared memory.CCC cache shall have different labels when characters are 8 or 16 bit wide to prevent wrong tools from attaching.Internal: Correction in function for legacy code page in non-Unicode systems.Internal: Testdriver enhancements: New commands “finish” and “ss”. New variables “use_shm” and “legacy_cp”. And the test driver got new mechanism to set different values for Unicode-tests and non-Unicode-tests.Internal: Remove remaining code about F4 memory.Internal: Code clean-up near SNC_LEGACY_SAP_CP. Unused functions removed.
Repairs:
640kernel268700kernel192701kernel25710kernel?711kernel21720kernelNov.2008
Package 121
RSCPDisallow overlong UTF-8 sequences in many more cases. See also note 1294430.Catch control codes during conversion from UTF-8 to UTF-16 when they are not wanted. (Important for SAPGUI input.)More details are in SAP note 1270827. That note will also show the patch numbers.
Repairs:
640kernel?700kernel199librfc45RFC19701kernel34librfc10710kernel157RFC16librfc22711kernel46720kernelJan.2009
Package 122
RSCP for R3loadDon’t die when the control table UMGCONTAINER is talking about database tables and structures and for some of the tables or structures the alternate NameTab entries are missing.More details are in SAP note 1291072. That note will also show the patch numbers.
Repairs:
640R3load?700R3load100701R3load?710R3load?711R3load?720R3loadJan 2009
Package 123
R3loadImplicitly rectify wrong endian -dbcodepage parameter in Unicode import. For details see the “Unicode Conversion Trouble Shooting Guide”, Note 765475.
Repairs:
640R3load119 (2009-06-04)700R3load104 (2009-06-05)701R3load14 (2009-06-05)
Package 124
R3loadDon’t abort while exporting DBTABLOG or CDCLS when the key fields of strucutes are se, which are mentioned in UMGCONTAINER themselves. (Nickname: container-in-container) For details see SAP Note 1353690.
Repairs:
640R3load?700R3load107701R3load?
Package 125
RSCPMore trace entries and more details written in case of problems during reconnection to a database, which was offline for a while. For details SAP Note 1354197.
Repairs:
640kernel?700kernel?701kernel?
Package 126
RSCPBetter control of the substitution with replacement characters, when one byte of a possible double-byte Asian non-Unicode character is at the end of a buffer.
Repairs:
640RFC?700RFC?701RFC?
Where can I find patches for 6.10, 6.20 and 6.30?
It is better to use 6.40 components now
Where can I find patches for 6.40
On the SAP Service Marketplace
> (SAP Support Portal) Software Download
> Download
> Support packages and patches
> Entry by application group
> SAP NetWeaver
> SAP NETWEAVER
> SAP NETWEAVER 04
> Entry by component
> Application server ABAP
> SAP KERNEL 6.40 ..32/64.. -BIT ..UNICODE..
> ..your operating system..
> #database independent
> ..scroll down and find kernel or R3trans
or librfc
> ..your database..
> ..scroll down and find R3load
Where can I find patches for 7.00
On the SAP Service Marketplace
> (SAP Support Portal) Software Download
> Download
> Support packages and patches
> Entry by application group
> SAP NetWeaver
> SAP NETWEAVER
> SAP NETWEAVER 7.0 (was 2004s)
> Entry by component
> Application server ABAP
> SAP KERNEL 7.00 ..32/64.. -BIT ..UNICODE..
> ..your operating system..
> #database independent
> ..scroll down and find kernel or R3trans
or librfc
> ..your database..
> ..scroll down and find R3load
Will be published on SAP Service Marketplace in future.
Where can I find 7.10
On the SAP Service Marketplace
> (SAP Support Portal) Software Download
> Download
> Support packages and patches
> Entry by application group
> SAP NetWeaver
> SAP NETWEAVER
> SAP NETWEAVER MOBILE 7.1
> Entry by component
> Application server ABAP
> SAP KERNEL 7.10 64-BIT …..( UNICODE.).
> ..your operating system..
> #database independent
> ..scroll down and find kernel or R3trans
or librfc
> ..your database..
> ..scroll down and find R3load
There are no patches for R3load or RSCP in Technology release 7.10 until now.
Where can I find 7.11
On the SAP Service Marketplace
> (SAP Support Portal) Software Download
> Download
> Support packages and patches
> Entry by application group
> SAP NetWeaver
> SAP NETWEAVER
> SAP EHP1 FOR SAP NW PI 7.1
> Entry by component
> Application server ABAP
> SAP KERNEL 7.11 64-BIT …..( UNICODE.).
> ..your operating system..
> #database independent
> ..scroll down and find kernel or R3trans
or librfc or sapiconv
> ..your database..
> ..scroll down and find R3load
Where can I find 7.20
The Technology release 7.20 is not yet an official release. Even the number ‘7.20′ is not settled.