Ansicht
Dokumentation

ABENEML_TYPE_MAPPING_ABEXA - EML TYPE MAPPING ABEXA

ABENEML_TYPE_MAPPING_ABEXA - EML TYPE MAPPING ABEXA

BAL Application Log Documentation   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- CORRESPONDING, Typabbildung

Dieses Beispiel zeigt Typabbildungsvarianten in mit dem Operator CORRESPONDING mit einem einfachen verwalteten RAP BO.

Datenmodell

Das CDS-Datenmodell besteht aus der Wurzelentität DEMO_MANAGED_ROOT_MAP und ihrer untergeordneten Entität DEMO_MANAGED_CHILD_MAP, die in diesem Beispiel nicht verwendet wird.

Wurzelentität:

Verhaltensdefinition

Die CDS-Verhaltensdefinition DEMO_MANAGED_ROOT_MAP wird in CDS BDL wie folgt definiert:

Verhaltensimplementierung

Für die oben genannte CDS-Verhaltensdefinition wird ein ABP angelegt. Die globale Klasse des Behavior-Pools ist BP_DEMO_MANAGED_ROOT_MAP. Sie ist in diesem Beispiel nicht relevant.

Quelltext

Ausführen

Beschreibung

Zugriff mit ABAP über EML

Der obige Quellcode verwendet EML, um auf das RAP Business-Objekt aus einem ABAP-Programm zuzugreifen: Folgende Varianten sind abgedeckt:

  • ntype = CORRESPONDING dtype|#( in_d_type MAPPING FROM ENTITY ).
Eine interne Tabelle, typisiert mit dem abgeleiteten Eingabetyp TYPE TABLE FOR UPDATE, wird befüllt, d.h. Werte für Datenfelder werden für eine Einzelzeile angegeben. Ein abgeleiteter nicht-BDEF-Typ (z.B. ein nicht RAP-nativer DDIC-Typ), der andere Feldnamen hat als das RAP Business-Objekt, erhält die Werte mithilfe der oben genannten Operatorvariante CORRESPONDING. Als Voraussetzung ist die Abbildung für den abgeleiteten nicht-BDEF-Typ in BDEF angegeben.
Das Ausgabefenster zeigt zwei interne Tabellen mit der Einzelzeile, die angelegt wird: eine interne Tabelle, typisiert mit dem abgeleiteten Typ und die andere mit dem abgeleiteten nicht-BDEF-Typ.
  • out_d_type = CORRESPONDING dtype|#( ntype MAPPING TO ENTITY ).
Eine interne Tabelle, typisiert mit dem abgeleiteten nicht-BDEF-Typ wird befüllt, d.h. Werte für Datenfelder werden für eine Einzelzeile angegeben. Die Feldnamen unterscheiden sich von denen des RAP Business-Objekts. Eine interne Tabelle, typisiert mit dem abgeleiteten Ausgabetyp TYPE TABLE FOR READ RESULT, erhält die Werte mithilfe der oben genannten Operatorvariante CORRESPONDING. Als Voraussetzung ist die Abbildung für den abgeleiteten nicht-BDEF-Typ in BDEF angegeben.
Das Ausgabefenster zeigt zwei interne Tabellen mit der Einzelzeile, die angelegt wird: eine interne Tabelle, typisiert mit dem abgeleiteten Typ und die andere mit dem abgeleiteten nicht-BDEF-Typ.
  • Exkurs: Syntax für nicht-BDEF-Control-Typen
Das Beispiel verwendet die Variante MAPPING FROM ENTITY und enthält Control-Informationen, die in einem anderen abgeleiteten nicht-BDEF-Typ vorhanden sind. Als Voraussetzung wird eine Abbildung für den abgeleiteten nicht-BDEF-Typ und den Typ, der die Control-Informationen enthält, im BDEF angegeben (MAPPING ... CONTROL ...). Eine interne Tabelle, typisiert mit dem abgeleiteten Eingabetyp TYPE TABLE FOR UPDATE, wird befüllt, d.h. Werte für Datenfelder und die %control-Struktur werden angegeben. Eine Komponente der %control-Struktur wird deaktiviert. Ein abgeleiteter nicht-BDEF-Typ, der andere Feldnamen hat als das RAP Business-Objekt, erhält die Werte mithilfe der oben genannten Operatorvariante CORRESPONDING. Im zweiten Schritt erhält der Partner-Control-Typ die werte aus der %control-Struktur.
Das Ausgabefenster zeigt die Zeile der internen Tabelle sowie die %control-Struktur für den abgeleiteten Typ, der angelegt wurde. Genauso wird die interne Tabelle für den abgeleiteten nicht-BDEF-Typ und die Typ-Control-Information angezeigt, die den Effekt der Anwendung der Operatorvariante CORRESPONDING demonstriert. Das Feld, das in der %control-Struktur deaktiviert ist, wird folglich in der mit dem Partner-Control-Typ typisierten Tabelle leer gelassen.
  • ntype = CORRESPONDING dtype|#( in_d_type USING CONTROL ).
Eine interne Tabelle, typisiert mit dem abgeleiteten Eingabetyp TYPE TABLE FOR UPDATE, wird befüllt, d.h. Werte für Datenfelder und die %control-Struktur werden für eine Einzelzeile angegeben. Eine Komponente der %control-Struktur wird deaktiviert. Ein abgeleiteter nicht-BDEF-Typ, der die gleichen Feldnamen hat wie das RAP-BO, erhält die Werte mithilfe der oben genannten Operatorvariante CORRESPONDING. Die Werte der %control-Struktur werden hier berücksichtigt. Eine Abbildung für den abgeleiteten nicht-BDEF-Typ im BDEF ist in diesem Fall nicht notwendig.
Das Ausgabefenster zeigt die Datenfelder und die %control-Strukturwerte, die für den abgeleiteten Typ angegeben sind, sowie den Effekt der Anwendung der Operatorvariante CORRESPONDING. Die interne Tabelle, die mit dem abgeleiteten nicht-BDEF-Typ typisiert ist, erhält die Werte. Jedoch enthält field1, das in der %control-Struktur des abgeleiteten Typs als deaktiviert markiert ist, keinen Wert.
  • ntype = CORRESPONDING dtype|#( in_d_type MAPPING FROM ENTITY USING CONTROL ).
Eine interne Tabelle, typisiert mit dem abgeleiteten Eingabetyp TYPE TABLE FOR UPDATE, wird befüllt, d.h. Werte für Datenfelder und die %control-Struktur werden für eine Einzelzeile angegeben. Eine Komponente der %control-Struktur wird deaktiviert. Ein abgeleiteter nicht-BDEF-Typ, der andere Feldnamen hat als das RAP-BO, erhält die Werte mithilfe der oben genannten Operatorvariante CORRESPONDING. Die Werte der %control-Struktur und die Abbildung werden hier berücksichtigt. Als Voraussetzung muss eine Abbildung für den abgeleiteten nicht-BDEF-Typ in BDEF angegeben werden.
Das Ausgabefenster zeigt die Datenfelder und die %control-Strukturwerte, die für den abgeleiteten Typ angegeben sind, sowie den Effekt der Anwendung der Operatorvariante CORRESPONDING. Die interne Tabelle, die mit dem abgeleiteten nicht-BDEF-Typ typisiert ist, erhält die Werte. Jedoch enthält field2, das in der %control-Struktur des abgeleiteten Typs als deaktiviert markiert ist, keinen Wert.
  • in_d_type = CORRESPONDING dtype|#( ntype CHANGING CONTROL ).
Eine interne Tabelle, typisiert mit dem abgeleiteten nicht-BDEF-Typ wird befüllt, d.h. Werte für Datenfelder werden für eine Einzelzeile angegeben. Alle Datenfelder werden angegeben, mit einer Ausnahme. Eine interne Tabelle, typisiert mit dem abgeleiteten Eingabetyp TYPE TABLE FOR UPDATE, erhält die Werte mithilfe der oben genannten Operatorvariante CORRESPONDING. Da die Feldnamen des abgeleiteten nicht-BDEF-Typ denen des RAP Business-Objekts entsprechen, ist eine Abbildung für den abgeleiteten nicht-BDEF-Typ in diesem Fall im BDEF nicht erforderlich.
Das Ausgabefenster zeigt die Werte der Datenfelder der Einzelzeile an, die für eine mit einem nicht abgeleiteten BDEF-Typ typisierte interne Tabelle angelegt wurde. Die folgenden zwei Tabellen zeigen die Wirkung einer Anwendung der Operatorvariante CORRESPONDING. Die mit dem abgeleiteten Typ typisierte interne Tabelle erhält die Werte. Dadurch, dass kein Wert für ein Feld im abgeleiteten nicht-BDEF-Typ angegeben wurde, zeigt die %control-Struktur des abgeleiteten Typs, dass das entsprechende Feld als deaktiviert markiert ist.
  • Exkurs: Variante mit CHANGING CONTROL einschließlich eines vorhergehenden Mappings
Eine interne Tabelle, typisiert mit dem abgeleiteten nicht-BDEF-Typ wird befüllt, d.h. Werte für Datenfelder werden für eine Einzelzeile angegeben. Alle Datenfelder werden angegeben, mit einer Ausnahme. Eine interne Tabelle, typisiert mit dem abgeleiteten Eingabetyp TYPE TABLE FOR UPDATE, erhält die Werte mithilfe der Operatorvariante CORRESPONDING mit dem Zusatz USING CONTROl. Die Feldnamen des abgeleiteten nicht-BDEF-Typs unterscheiden sich von denen des RAP Business-Objekts. Eine Abbildung für den abgeleiteten nicht-BDEF-Typ ist in BDEF erforderlich. Das Mapping muss getrennt in ABAP erfolgen. In diesem Beispiel wird eine mit dem Entitätstyp typisierte Helfervariable für eine separate Anweisung mit dem CORRESPONDING-Operator und dem Zusatz MAPPING TO ENTITY verwendet, gefolgt von einer Anweisung mit dem Zusatz CHANGING CONTROL, die ebenfalls die Hilfsvariable verwendet.
Die Ausgabe zeigt die Werte der Datenfelder der Einzelzeile an, die für eine mit einem nicht abgeleiteten BDEF-Typ typisierte interne Tabelle angelegt wurde. Die folgenden zwei Tabellen zeigen die Wirkung einer Anwendung der Operatorvariante CORRESPONDING. Die mit dem abgeleiteten Typ typisierte interne Tabelle erhält die Werte. Dadurch, dass kein Wert für ein Feld im abgeleiteten nicht-BDEF-Typ angegeben wurde, zeigt die %control-Struktur des abgeleiteten Typs, dass das entsprechende Feld als deaktiviert markiert ist.





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

Length: 10667 Date: 20240606 Time: 093539     sap01-206 ( 214 ms )