Ansicht
Dokumentation
CL_ICU_TRANSFORMATION - Transformationen
PERFORM Short Reference BAL Application Log DocumentationDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Die Klasse CL_ICU_TRANSFORMATION stellt im Wesentlichen eine Verschalung für die im SAP Kernel vorhandene ICU Funktionalität der Transformationen von Zeichen und Texten zur Verfügung. Dazu zählen u.a. Normalisierung und Transliteration. Die über die Klasse zur Verfügung gestellte ICU Funktionalität wird von SAP nicht geändert.
Eine detaillierte Beschreibung der Transformationen findet sich unter http://userguide.icu-project.org/transforms/general
Diese Dokumentation stellt zwei einfache Beispiele zur Transliteration zur Verfügung, die die Verwendung der Klasse CL_ICU_TRANSFORMATION zeigen sollen.
Beziehungen
Beispiel
1) Transliterationen mit von ICU vordefinierten Bezeichnern
Die Bezeichner sind in verschiedenen Varianten einsetzbar. Die einfachste Syntax eines Bezeichners ist ID := (
**--------------------------------------------------------------
* Usage of CL_ICU_TRANSFORMATION with an ID defined by ICU
* On the selection screen you can enter the text which should
* be transliterated and a transliteration ID
* For detailed information see the ICU users guide on
* http://userguide.icu-project.org/transforms/general
*--------------------------------------------------------------
report zicu_trans_demo1.
parameters: p_id type icu_a_transid default 'Any-Latin',
p_text type string default 'ABC'.
data: g_tl_obj type ref to cl_icu_transformation,
g_text type string.
start-of-selection.
try.
call method cl_icu_transformation=>create_instance_from_id
exporting
im_id = p_id
importing
ex_trans = g_tl_obj.
catch cx_icu_other_error cx_icu_parse_error.
write :/ 'Unkown/incorrect ID:', p_id.
return.
endtry.
call method g_tl_obj->transliterate
exporting
im_text = p_text
importing
ex_text = g_text.
write :/ 'Transformation with ICU ID', p_id(40).
write :/ ' Input:', p_text.
write :/ 'Output:', g_text.
2) Transliteration mit eigenen Regeln
Es ist weiterhin möglich vollständig eigene Transliteration Regeln zu definieren. Diese Regeln werden beim Instanzieren des Transliterationobjektes an die ICU Bibliotheken als String übergeben. Für die Regeln gibt es eine eigene Syntax.
*--------------------------------------------------------------
* Usage of CL_ICU_TRANSFORMATION with an own rule
* for detailed information see the ICU users guide on
* http://userguide.icu-project.org/transforms/general
*--------------------------------------------------------------
report zicu_trans_demo2.
data: g_tl_obj type ref to cl_icu_transformation,
g_text type string,
g_rule type icu_a_transrule.
start-of-selection.
g_rule = '\U00000042>\U00000043;' && " replace U+0042 (Latin Capital B) with U+0043 (Latin Capital Letter C)
'\U00000043>\U00000042;'. " replace U+0043 (Latin Capital C) with U+0042 (Latin Capital Letter B)
try.
call method cl_icu_transformation=>create_instance_from_rule
exporting
im_rule = g_rule
importing
ex_trans = g_tl_obj.
catch cx_icu_other_error cx_icu_parse_error.
write :/ 'Incorrect rule.'.
return.
endtry.
call method g_tl_obj->transliterate
exporting
im_text = 'ABCD'
importing
ex_text = g_text.
write :/ 'Transformation with rule', g_rule.
write :/ ' Input: ABCD'.
write :/ 'Output:', g_text.
Hinweise
Weiterführende Informationen
RFUMSV00 - Advance Return for Tax on Sales/Purchases RFUMSV00 - Advance Return for Tax on Sales/Purchases
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6038 Date: 20240425 Time: 030847 sap01-206 ( 70 ms )