ABAPIMPORT_CONVERSION - IMPORT CONVERSION

PERFORM Short Reference   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

IMPORT - conversion_options

Kurzreferenz



Syntax

... { { { {[ACCEPTING PADDING] [ACCEPTING TRUNCATION]}
        | [IGNORING STRUCTURE BOUNDARIES] }
        [IGNORING CONVERSION ERRORS [REPLACEMENT CHARACTER rc]] }
    | [IN CHAR-TO-HEX MODE] }
    [CODE PAGE INTO cp]
    [ENDIAN INTO endian].

Zusätze:

1. ... ACCEPTING PADDING

2. ... ACCEPTING TRUNCATION

3. ... IGNORING STRUCTURE BOUNDARIES

4. ... IGNORING CONVERSION ERRORS [REPLACEMENT CHARACTER rc]

5. ... IN CHAR-TO-HEX MODE

6. ... CODE PAGE INTO cp

7. ... ENDIAN INTO endian

Wirkung

Diese Zusätze erlauben das Lesen von in Daten-Clustern abgelegten Daten in nicht typgerechte Datenobjekte und definieren zugehörigeKonvertierungsregeln. Die folgende Tabelle zeigt, welche der Zusätze beim Import aus welcherAblage verwendet werden dürfen. Die Spaltenüberschriften sind Kürzel für folgende Ablagen: DATA BUFFER(B), MEMORY(M), SHARED MEMORY(SM), SHARED BUFFER(SB), DATABASE(DB) und INTERNAL TABLE(IT).

KonvertierungszusatzBM ITDBSMSB
ACCEPTING PADDING++++++
ACCEPTING TRUNCATION++++++
IGNORING STRUCTURE BOUNDARIES++++++
IGNORING CONVERSION ERRORS+-++--
REPLACEMENT CHARACTER rc+-++--
IN CHAR-TO-HEX MODE+-++--
CODE PAGE INTO cp+-++--
ENDIAN INTO endian+-++--

Zusatz 1

... ACCEPTING PADDING

Wirkung

Dieser Zusatz erweitert die Regeln aus parameter_listfür unterschiedliche Datentypen von Quellfeld im Daten-Cluster und Zielfeld dobj im Daten-Cluster wie folgt:

  • Neben Datenobjekten vom Typ c kann auch bei Datenobjekten vom Typ n, p oder x das Zielfeld länger als das Quellfeld sein.

  • Quellfelder vom internen Typ b können in Zielfelder der Typen s und i, Quellfelder vom internen Typ s können in Zielfelder vom Typ i ausgelesen werden.

  • Quellfelder vom Typ c können in Zielfelder vom Typ string, Quellfelder vom Typ x können in Zielfelder vom Typ xstring ausgelesen werden.

  • Die obigen Regeln gelten auch, wenn es sich um die jeweils letzte Komponente einer Quell- und Zielstruktur handelt, die ansonsten gleich aufgebaut sind.

  • In einer Zielstruktur dürfen auch Unterstrukturen mehr Komponenten als die Unterstrukturen derQuellstruktur haben, wenn die Struktur ansonsten gleich aufgebaut ist. Die überzähligen Komponenten werden mit typgerechtenInitialwerten versorgt.


Hinweis

Die Regel, dass Unterstrukturen in einer Zielstruktur mehr Komponenten als die der Quellstruktur habendürfen, kann beim Bezug auf im ABAP Dictionary definierte Strukturen zu Problemen führen,wenn die Struktur dort als erweiterbar gekennzeichnet ist. Deshalb führt diese Situation zu einer Warnung der erweiterten Programmprüfung.

Beispiel

Ohne den Zusatz ACCEPTING PADDING wäre die Struktur f1 im Daten-Cluster nicht indie Struktur f2 importierbar, da eine Unterstruktur von f2 eine überzählige Komponente enthält.

DATA: BEGIN OF f1,
       col1 TYPE string,
       BEGIN OF sub,
         col2 TYPE decfloat16,
       END OF sub,
       col3 TYPE i,
      END OF f1.

DATA: BEGIN OF f2,
        col1 TYPE string,
        BEGIN OF sub,
          col2 TYPE decfloat16,
          col3 TYPE xstring,
        END OF sub,
        col4 TYPE i,
      END OF f2.

EXPORT para = f1 TO MEMORY ID 'HK'.

...

IMPORT para = f2 FROM MEMORY ID 'HK' ACCEPTING PADDING.

Zusatz 2

... ACCEPTING TRUNCATION

Wirkung

Dieser Zusatz erweitert die Regeln aus parameter_listfür unterschiedliche Datentypen von Quellfeld im Daten-Cluster und Zielfeld dobj im Daten-Cluster,sodass - wenn bei ansonsten typgleichen Strukturen die Quellstruktur auf der höchsten Ebene mehrKomponenten als die Zielstruktur im Daten-Cluster hat - die überzähligen Komponenten abgeschnittenwerden. Eine Unterstruktur der Quellstruktur darf nicht mehr Komponenten haben als die entsprechende Unterstruktur in der Zielstruktur.

Beispiel

Ohne den Zusatz ACCEPTING TRUNCATION wäre die Struktur f1 im Daten-Cluster nicht in die Struktur f2 importierbar, da f2 weniger Komponenten enthält.

DATA: BEGIN OF f1,
        col1 TYPE string,
        BEGIN OF sub,
          col2 TYPE decfloat34,
        END OF sub,
        col3 TYPE i,
        col4 TYPE xstring,
      END OF f1.

DATA: BEGIN OF f2,
        col1 TYPE string,
        BEGIN OF sub,
          col2 TYPE decfloat34,
        END OF sub,
        col3 TYPE i,
      END OF f2.

EXPORT para = f1 TO MEMORY ID 'HK'.

...

IMPORT para = f2 FROM MEMORY ID 'HK' ACCEPTING TRUNCATION.

Zusatz 3

... IGNORING STRUCTURE BOUNDARIES

Wirkung

Dieser Zusatz erweitert die Regeln aus parameterlistfür unterschiedliche Datentypen von Quellfeld im Daten-Cluster und Zielfeld dobj im Daten-Clusterdahingehend, dass bei Strukturen ein unterschiedlicher Aufbau, der aus Unterstrukturen oder aus verschiedenenübernommenen Komponenten anderer Strukturen mit der Anweisung INCLUDE entsteht, keine Rolle spielt.

Die Komponenten von Quell- und Zielstruktur werden unabhängig von ihrem Aufbau aus Unterstrukturenoder aus mit INCLUDE übernommenen Komponenten alle auf einer Ebene betrachtet. Quell- und Zielstruktur müssen beide gleich viele Komponenten enthalten und diese müssen typgleich sein. EventuelleAusrichtungslücken, die durch eine Unterstrukturierung entstanden sind, spielen keine Rolle.

Dieser Zusatz kann nicht zusammen mit den Zusätzen ACCEPTING PADDING und ACCEPTING TRUNCATION verwendet werden.

Beispiel

Ohne den Zusatz IGNORING STRUCTURE BOUNDARIES wäre die Struktur f1 im Daten-Clusternicht in die Struktur f2 importierbar, da f1 und f2 unterschiedlich aus Unterstrukturen aufgebaut sind.

DATA: BEGIN OF incl_struc,
        cola TYPE string,
        colb TYPE i,
      END OF incl_struc.

DATA: BEGIN OF f1.
        INCLUDE STRUCTURE incl_struc.

DATA:  col1 TYPE string ,
       BEGIN OF sub,
         col2 TYPE decfloat16,
         col3 TYPE decfloat34,
       END OF sub,
       col4 TYPE i,
      END OF f1.

DATA: BEGIN OF f2,
        cola TYPE string,
        colb TYPE i,
        col1 TYPE string,
        BEGIN OF sub,
          col2 TYPE decfloat16,
        END OF sub,
        col3 TYPE decfloat34,
        col4 TYPE i,
      END OF f2.

EXPORT para = f1 TO MEMORY ID 'HK'.

...

IMPORT para = f2 FROM MEMORY ID 'HK'
                 IGNORING STRUCTURE BOUNDARIES.

Zusatz 4

... IGNORING CONVERSION ERRORS [REPLACEMENT CHARACTER rc]

Wirkung

Durch diesen Zusatz wird eine Ausnahme der Klasse CX_SY_CONVERSION_CODEPAGE unterdrückt, die ausgelöst wird, wenn beim Import eine Konvertierung in eine andereCodepage stattfindet und ein zu konvertierendes Zeichen in der Ziel-Codepage nicht vorhanden ist.

Falls der Zusatz REPLACEMENT CHARACTER angegeben ist, wird jedes unkonvertierbare Zeichen beider Konvertierung durch das Zeichen, das in rc enthalten ist, ersetzt. Für rc wirdein zeichenartiges Datenobjekt erwartet, das ein einziges Zeichen enthält. Falls der Zusatz nicht angegeben ist, wird das Zeichen "#" als Ersatzzeichen verwendet.

Der Zusatz IGNORING CONVERSION ERRORS unterdrückt die Ausnahme auch, wenn die Anzahl derBytes einer importierten zeichenartigen Komponente bei einer Konvertierung in eine andere Codepage vergrößertwird und dadurch nicht mehr in das Zielobjekt passt. Bei Angabe des Zusatzes werden überzähligeStellen rechts abgeschnitten. Ohne Angabe des Zusatzes werden ausschließlich überzählige Leerzeichen ohne Auslösen einer Ausnahme abgeschnitten.

Zusatz 5

... IN CHAR-TO-HEX MODE

Wirkung

Dieser Zusatz bewirkt, dass Daten, die im Daten-Cluster unter dem Datentyp c abgelegt sind, Zielfeldernvom Typ x zugewiesen werden können. Der Inhalt der Quellfelder wird dabei nicht in dieCodepage des Zielsystems konvertiert, sondern byteweise und unkonvertiert in die Zielfelder gestellt.Ein einzelnes Quellfeld oder eine Strukturkomponente vom Typ c kann einem einzelnen Zielfeldoder einer Strukturkomponente vom Typ x zugewiesen werden, welche die gleiche Länge in Bytes hat. Für Zielfelder vom Typ c hat der Zusatz keine Wirkung.

Dieser Zusatz kann nicht gemeinsam mit den vorhergehenden Konvertierungszusätzen verwendet werden.

Hinweis

Bei diesem Zusatz ist zu beachten, dass ein Programm, das diesen Zusatz verwendet, nicht zwischen Systementransportiert werden kann, in denen die Zeichendarstellung unterschiedlich viele Bytes benötigt.Der Zusatz ist nur für temporäre Programme gedacht, um Byteketten, die fälschlicherweisein Feldern vom Typ c abgelegt wurden, ohne Konvertierung einlesen zu können und typgerecht wieder abzuspeichern.

Zusatz 6

... CODE PAGE INTO cp

Wirkung

Dieser Zusatz weist die Kennung der Codepage der exportierten Daten dem Datenobjekt cp zu, das einen zeichenartigen Datentyp haben muss. Die Kennung der Codepage ist Inhalt der Spalte CPCODEPAGE der DatenbanktabelleTCP00.

Hinweis

Die Codepage kann verwendet werden, um mit CHAR-TO-HEX MODE importierte Datenobjekte zu bearbeiten. Konvertierungen zwischen Codepages können mit Hilfe der Systemklassen im AbschnittKlassen für Konvertierungen externer Datenformate vorgenommen werden.

Zusatz 7

... ENDIAN INTO endian

Wirkung

Dieser Zusatz weist die Kennung der Byte-Reihenfolge der exportierten Daten dem Datenobjekt ENDIAN zu, das den Datentyp ABAP_ENDIAN aus derTypgruppeABAP haben muss. Die Kennung für Big Endian ist "B", die Kennung für Little Endian ist "L".

Hinweis

Die Byte-Reihenfolge kann verwendet werden, um mit CHAR-TO-HEX MODE importierte Datenobjektezu bearbeiten, da Codepages, in denen ein Zeichen mehr als ein Byte belegt, von der Byte-Reihenfolge abhängig sein können.

Beispiel

Das Zielfeld f2-col2 enthält nach dem Import den unkonvertierten binären Inhaltvon f1-col2. Die Codepage und die Byte-Reihenfolge, in der die Daten abgespeichert wurden, stehtin cp und en zur Verfügung. Normalerweise werden die Daten in einem solchen Fallin unterschiedlichen Programmen exportiert und importiert. Es ist zu beachten, dass dieses Beispielnur in einem System funktioniert, in dem ein Zeichen durch zwei Bytes dargestellt wird, da f2-col2 doppelt so lang ist wie f1-col2.

DATA: BEGIN OF f1,
        col1 TYPE c LENGTH 10 VALUE '1234567890',
        col2 TYPE c LENGTH 10 VALUE '1234567890',
      END OF f1.

DATA: BEGIN OF f2,
        col1 TYPE c LENGTH 10,
        col2 TYPE x LENGTH 20,
      END OF f2.

DATA: cp TYPE string,
      en TYPE abap_endian.

EXPORT para = f1 TO DATABASE indx(hk) ID 'HK'.

...

IMPORT para = f2 FROM DATABASE indx(hk) ID 'HK'
                 IN CHAR-TO-HEX MODE
                 CODE PAGE INTO cp
                 ENDIAN INTO en.


RFUMSV00 - Advance Return for Tax on Sales/Purchases   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 21185 Date: 20120526 Time: 212718     triton ( 401 ms )