Ansicht
Dokumentation

CL_ABAP_UTF8STRING_TAB - Obsolet: Konvertierung Strings <-> UTF-8

CL_ABAP_UTF8STRING_TAB - Obsolet: Konvertierung Strings <-> UTF-8

ROGBILLS - Synchronize billing plans   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

In Basis-Releases nach 4.6x ist diese Klasse obsolet und ist nur noch aus Gründen der Rückwärtskompatibilität vorhanden. Der RFC selbst unterstützt Unicode.

Diese Klasse konvertiert zeichenartige Daten in ein Format, das für den Transport mit RFC (Remote Function Call) geeignet ist. Die Daten werden in einer Tabelle mit fester Zeilenlänge abgelegt, wobei UTF-8 (Unicode Transformation Format, 8 Bit) benutzt wird.

Der Typ der Tabelle ist UTF8STRTAB. Eine Tabelle repräsentiert eine Liste von Strings. Jedes Objekt hält eine Referenz auf eine Tabelle.

Diese Klasse dient als Übergangslösung, bis der RFC Unicode und den Datentyp STRING unterstützt. Diese Klasse ermöglicht älteren Systemen die Kommunikation mit Unicode-Systemen.

Klassenmethode:

CREATE erzeugt und initialisiert ein Objekt.

Instanzmethoden:

PUT konvertiert Daten nach UTF-8 und hängt sie an die Tabelle an. Die Parameter können zeichenartig oder numerisch oder eine Struktur mit diesen Typen sein.

GET_NEXT holt den nächsten UTF-8-String aus der Tabelle. Falls der Parameter eine Struktur ist, wird eine entsprechende Anzahl von Strings geholt. Der erste Aufruf von GET_NEXT holt ab dem Tabellenanfang einen oder mehrere Strings.

DECREMENT_ITERATOR setzt den Iterator um einen String zurück, so daß der nächste Aufruf von GET_NEXT den letzten gelesenen String noch einmal liest.

SET_ITERATOR setzt den Iterator auf den n-ten String.

CLEAR löscht den Inhalt der Tabelle.

Beziehungen

Beispiel

REPORT utf8str_test.

DATA:
  o1 TYPE REF TO cl_abap_utf8string_tab,
  xtab TYPE utf8strtab,
  rc TYPE utf8str_rc,
  str TYPE string,
  BEGIN OF struc,
    cc(3) TYPE c,
    nn(5) TYPE n,
  END OF struc.

START-OF-SELECTION.

* The function 'ZTEST_UTF8STR' puts some data into the table.
  CALL FUNCTION 'ZTEST_UTF8STR' DESTINATION 'NONE'
                TABLES tab = xtab.

  CALL METHOD cl_abap_utf8string_tab=>create
              IMPORTING ref = o1
              CHANGING  tab = xtab.

* Get the first string from xtab into str.
  CALL METHOD o1->get_next
              IMPORTING  obj = str
              EXCEPTIONS OTHERS = 7.
  IF sy-subrc &lt;&gt; 0.
* Some error handling
  ENDIF.

* Get the 2nd and 3rd string from xtab into struc.
  CALL METHOD o1->get_next
              IMPORTING  obj = struc
              CHANGING   rc = rc
              EXCEPTIONS non_fatal = 1
                         OTHERS = 7.
  IF sy-subrc &lt;&gt; 0.
* Some error handling
  ENDIF.

  WRITE :/ 'str:', str.
  WRITE :/ 'cc:' , struc-cc.
  WRITE :/ 'nn:' , struc-nn.


FUNCTION ztest_utf8str.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  TABLES
*"      TAB TYPE  UTF8STRTAB
*"----------------------------------------------------------------------

  DATA:
    o1 TYPE REF TO cl_abap_utf8string_tab,
    str TYPE string,
    BEGIN OF struc,
      cc(3) TYPE c,
      nn(5) TYPE n,
    END OF struc.

  str = 'Some Text to be sent.'.
  struc-cc = 'ABC'.
  struc-nn = '01234'.

  CALL METHOD cl_abap_utf8string_tab=>create
              IMPORTING ref = o1
              CHANGING  tab = tab[].

  CALL METHOD o1->put
                  EXPORTING  obj = str
                  EXCEPTIONS OTHERS = 5.
  IF sy-subrc &lt;&gt; 0.
* Some error handling
  ENDIF.

  CALL METHOD o1->put
                  EXPORTING  obj = struc
                  EXCEPTIONS OTHERS = 5.
  IF sy-subrc &lt;&gt; 0.
* Some error handling
  ENDIF.

ENDFUNCTION.

Hinweise

Tabellen des Typs UTF8STRTAB enthalten Daten des Typs RAW. Die erste Tabellenzeile enthält Verwaltungsinformationen. Jeder String beginnt in einer neuen Tabellenzeile. Das erste Byte jeder Zeile gibt an, wieviele der nachfolgenden Bytes zum String gehören. Das erste Byte enthält 'FF' (hexadezimal), falls der String in der folgenden Zeile fortgesetzt werden muß.

Weiterführende Informationen

Die Dokumentation zu den einzelnen Methoden enthält ausführliche Hinweise.






CL_GUI_FRONTEND_SERVICES - Frontend Services   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7269 Date: 20240426 Time: 092823     sap01-206 ( 81 ms )