Ansicht
Dokumentation

ABAPEML_CORRESPONDING - EML CORRESPONDING

ABAPEML_CORRESPONDING - EML CORRESPONDING

Addresses (Business Address Services)   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

CORRESPONDING, Typabbildung für

    ${ ntype = CORRESPONDING ${dtype$|#$}( in_d_type MAPPING FROM ENTITY ) $}
  $| ${ out_d_type = CORRESPONDING ${dtype$|#$}( ntype MAPPING TO ENTITY ) $}
  $| ${ ntype = CORRESPONDING ${dtype$|#$}( in_d_type USING CONTROL ) $}
  $| ${ ntype = CORRESPONDING ${dtype$|#$}( in_d_type MAPPING FROM ENTITY USING CONTROL ) $}
  $| ${ in_d_type = CORRESPONDING ${dtype$|#$}( ntype CHANGING CONTROL ) $}.


Varianten:

1. ntype = CORRESPONDING ${dtype$|#$}( in_d_type MAPPING FROM ENTITY ).

2. out_d_type = CORRESPONDING ${dtype$|#$}( ntype MAPPING TO ENTITY ).

3. ntype = CORRESPONDING ${dtype$|#$}( in_d_type USING CONTROL ).

4. ntype = CORRESPONDING ${dtype$|#$}( in_d_type MAPPING FROM ENTITY USING CONTROL ).

5. in_d_type = CORRESPONDING ${dtype$|#$}( ntype CHANGING CONTROL ).

Wirkung

Mit den Varianten des CORRESPONDING-Operators werden Strukturen oder interne Tabellen mit Typabbildung in ABAP im RAP-Kontext angelegt. Ziel der Typabbildungsfunktionalität sind Anwendungen, die einerseits auf CDS-Entitäten basierende RAP-BOs und andererseits weitere Typen haben, die in der Regel älter sind und das Verhalten der RAP-BOs (oder Teile davon) implementieren. Die Funktionalität ist vor allem für die Implementierungsart unmanaged relevant, die bestehende Funktionalität in RAP integriert, hat aber auch für die Implementierungsart managed Relevanz, beispielsweise bei der Verwendung vom Quelltext für bestehende Determinierungen oder Validierungen, der allerdings auf ältere Nicht-RAP-Typen, d.h. nicht aus der BDEF abgeleitete Typen, basiert.

RAP benötigt abgeleitete BDEF-Typen für die Kommunikation von RAP-BO-Providern und RAP-BO-Consumern. Bei der Integration von abgeleiteten nicht-BDEF-Typen sind die Varianten des CORRESPONDINGOperators für deren Zuordnung zur Eingabe (z.B. TYPE TABLE FOR UPDATE) und zur Ausgabe (z.B. TYPE TABLE FOR READ RESULT) von abgeleiteten BDEF-Typen zuständig. Wenn die Typen Feldnamen umfassen, die sich vom RAP-BO unterscheiden oder wenn die Steuerungsinformation (%control) in abgeleiteten nicht-BDEF-Typen verfügbar ist, ist eine Typabbildung erforderlich. Statt viele einzelne Angaben über den CORRESPONDING-Operator beschleunigen die Varianten mit den Zusätzen für die Typabbildung Wartungsarbeiten und führen zu weniger Fehlern.

Als Voraussetzung muss die Abbildung in der BDEF angegeben werden. Weitere Information finden Sie in der CDS-BDL-Dokumentation für Abbildung.

Hinweise zur Syntax:

  • ntype: Typen, die nicht aus der BDEF abgeleitet sind.
  • #: Ein Symbol für den Operandentyp. Diese Angabe ist nur möglich wenn der an einer Operandenposition benötigte Datentyp eindeutig und vollständig erkennbar ist. Der Operandentyp muss ein Strukturtyp oder ein Tabellentyp sein.
  • out_d_type: Ausgabe des abgeleiteten BDEF-Typs TYPE TABLE FOR READ RESULT oder TYPE STRUCTURE FOR READ RESULT.
  • in_d_type: Eingabe des abgeleiteten BDEF-Typs TYPE TABLE FOR UPDATE oder TYPE STRUCTURE FOR UPDATE.

Variante 1

ntype = CORRESPONDING ${dtype$|#$}( in_d_type MAPPING FROM ENTITY ).


Wirkung

Verwendung als Abbildung eines abgeleiteten RAP-Eingabetyps (in_d_type) auf einen abgeleiteten Nicht-BDEF-Typ (ntype). Als Voraussetzung muss die Abbildung für den abgeleiteten nicht-BDEF-Typ in der BDEF angegeben sein.

Beispiel

Mit folgendem Quelltext wird die Zuordnung eines abgeleiteten Eingabetyps auf einen abgeleiteten Nicht-BDEF-Typs mit dem Zusatz MAPPING FROM ENTITY demonstriert.

Variante 2

out_d_type = CORRESPONDING ${dtype$|#$}( ntype MAPPING TO ENTITY ).


Wirkung

Verwendung als Abbildung eines abgeleiteten Nicht-BDEF-Typs (ntype) auf einen abgeleiteten RAP-Ausgabetyps (out_d_type. Als Voraussetzung muss die Abbildung für den abgeleiteten nicht-BDEF-Typ in der BDEF angegeben sein.

Beispiel

Mit folgendem Quelltext wird die Zuordnung eines abgeleiteten Nicht-BDEF-Typs auf einen abgeleiteten Ausgabetyps mit dem Zusatz MAPPING TO ENTITY demonstriert.

Variante 3

ntype = CORRESPONDING ${dtype$|#$}( in_d_type USING CONTROL ).


Wirkung

Eine Typabbildungsvariante, die die %control-Komponente von abgeleiteten BDEF-Typen berücksichtigt. in_d_type muss ein abgeleiteter BDEF-Typ sein, der die %control-Komponente umfasst. Nur die Felder, in denen das entsprechende %control-Feld als eingeschaltet markiert ist, werden für die Abbildung berücksichtigt. D.h. Bei der Markierung eines spezifischen %control-Feldes als ausgeschaltet (z.B das Feld ist initial) in in_d_type gilt die Abbildung für das Feld beim abgeleiteten nicht-BDEF-Typ ntype nicht. Eine Abbildung ist für den abgeleiteten nicht BDEF-Typ in der BDEF nicht erforderlich wenn ihre Komponenten die gleichen Feldnamen wie die Namen aus dem abgeleiteten BDEF-Typ haben.

Beispiel

Mit folgendem Quelltext wird die Zuordnung eines abgeleiteten Eingabetyps auf einen abgeleiteten Nicht-BDEF-Typs mit dem Zusatz USING CONTROL demonstriert. Die %control-Komponente eines bestimmten Feldes wird nicht selektiert und das Feld daher nicht zugeordnet.

Variante 4

ntype = CORRESPONDING ${dtype$|#$}( in_d_type MAPPING FROM ENTITY USING CONTROL ).


Wirkung

Eine Typabbildungsvariante, die die %control-Komponente von abgeleiteten BDEF-Typen berücksichtigt. in_d_type muss ein abgeleiteter BDEF-Typ sein, der die %control-Komponente umfasst. Nur die Felder, in denen das entsprechende %control-Feld als eingeschaltet markiert ist, werden für die Abbildung berücksichtigt. D.h. Bei der Markierung eines spezifischen %control-Feldes als ausgeschaltet (z.B. das Feld ist initial) in in_d_type gilt die Abbildung für das Feld beim abgeleiteten nicht-BDEF-Typ ntype nicht. Diese Variante wird verwendet wenn die Komponenten des abgeleiteten nicht-BDEF-Typs andere Feldnamen als die Komponenten des abgeleiteten BDEF-Typs haben. Daher wird eine Abbildung für den abgeleiteten nicht-BDEF-Typ in der BDEF mit der Notation control benötigt.

Beispiel

Mit folgendem Quelltext wird die Zuordnung eines abgeleiteten Eingabetyps auf einen abgeleiteten Nicht-BDEF-Typs mit dem Zusatz MAPPING FROM ENTITY USING CONTROL demonstriert.

Variante 5

in_d_type = CORRESPONDING ${dtype$|#$}( ntype CHANGING CONTROL ).


Wirkung

Eine Typabbildungsvariante, die die %control-Struktur eines abgeleiteten BDEF-Typs füllt, der auf einen abgeleiteten nicht-BDEF-Typ ohne Steuerungsinformation basiert. D.h. bei einem initial Feld von ntype macht die Anweisung die entsprechende %control-Komponente des Feldes initial (00). Wenn im umgekehrten Fall ein Feld von ntype mit einem Wert versorgt wird, setzt die Anweisung die entsprechende %control -Komponente von in_d_type auf eingeschaltet (01).

Eine Abbildung ist für den abgeleiteten nicht-BDEF-Typ in der BDEF nicht erforderlich wenn ihre Komponenten die gleichen Feldnamen wie die Namen aus dem abgeleiteten BDEF-Typ haben. Wenn abgeleitete nicht-BDEF-Typen andere Feldnamen haben und eine Abbildung von abgeleiteten nicht-BDEF-Typen für die Eingabe von abgeleiteten BDEF-Typen benötigt ist, muss eine Abbildung in der BDEF (mit der Notation control) definiert werden und eine zweite CORRESPONDING-Anweisung mit dem Zusatz MAPPING TO ENTITY muss für der Anweisung CHANGING CONTROL stehen. Dabei ist die erste CORRESPONDING-Anweisung mit dem Zusatz MAPPING TO ENTITY für die Abbildung der Feldnamen und die zweite Anweisung mit CHANGING CONTROL für das Füllen der %control-Struktur zuständig. Diese Abbildungsvariante ist nur für abgeleitete BDEF-Typen in der Eingabe möglich, da alle %control-Strukturen enthalten.

Beispiel

Mit folgendem Quelltext wird die Zuordnung eines abgeleiteten Nicht-BDEF-Typs auf einen abgeleiteten Eingabetyps mit dem Zusatz CHANGING CONTROL demonstriert.

Mit dem Beispiel - CORRESPONDING, Typabbildung werden die unterschiedlichen Varianten mit einem einfachen verwalteten RAP-BO demonstriert.






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

Length: 12945 Date: 20240329 Time: 150327     sap01-206 ( 232 ms )