Ansicht
Dokumentation

CL_ICU_TRANSFORMATION - Transformationen

CL_ICU_TRANSFORMATION - Transformationen

PERFORM Short Reference   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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 )