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

Vendor Master (General Section)   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

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 (RemoteFunction 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 Parametereine 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 <> 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 <> 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 <> 0.
* Some error handling
  ENDIF.

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

ENDFUNCTION.

Hinweise

Tabellen des Typs UTF8STRTAB enthalten Daten des Typs RAW. Die erste Tabellenzeile enthältVerwaltungsinformationen. Jeder String beginnt in einer neuen Tabellenzeile. Das erste Byte jeder Zeilegibt 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.


BAL_S_LOG - Application Log: Log header data   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 7055 Date: 20120527 Time: 084429     triton ( 167 ms )