Ansicht
Dokumentation

CRMXIF_BT_IO_MAP_FROM_DATA - Datenmapping Geschäftsvorg. IO Inbound

CRMXIF_BT_IO_MAP_FROM_DATA - Datenmapping Geschäftsvorg. IO Inbound

Vendor Master (General Section)   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Funktionsbaustein konvertiert Belege, die im Format der externen Schnittstelle, d.h. in Form der komplexen Struktur CRMXIF_BUSTRANS angeliefert werden, in das Messaging-BDOC-Format (Struktur BAD_BUS_TRANSN_MESSAGE).

Die Konvertierung wird in den Form-Routinen MAP_ durchgeführt, z.B. MAP_ACTIVITY oder MAP_ORGDATA.

Für ein bestimmtes Teilobjekt (z.B. ACTIVITY) wird nur dann eine Konvertierung durchgeführt und ein Satz in der entsprechenden BDOC-Teiltabelle (z.B. ACTIVITY_H) angefügt, wenn das entsprechende DATAX-Kennzeichen gesetzt ist (z.B. ACTIVITY-DATAX).

Die Positionen, die zu einem Beleg gehören, werden vor der Verarbeitung sortiert nach den Feldern GUID der Hauptposition, Nummer der Hauptposition, GUID der Position, Nummer der Position, externe Positionsnummer (in dieser Reihenfolge).

Identifikation von Köpfen und Positionen

Für Belegköpfe oder Positionen, die neu angelegt werden sollen, für die aber noch keine GUID von außen mitgegeben wird, werden neue GUIDs gezogen. Beim Ändern wird ein Belegkopf entweder über die GUID (falls mitgegeben), über die Kombination Belegnummer/Geschäftsvorgangstyp oder über die externe Referenznummer des Auftraggebers identifiziert. Eine Position wird ebenfalls entweder über die GUID (falls mitgegeben), über die interne Positionsnummer oder die externe Positionsnummer identifiziert.

TASK-Flag

Das Feld TASK in den BDOC-Strukturen wird wie folgt gefüllt: Für Kopf und Position erfolgt ein direktes Mapping von Insert/Update/Delete ('I', 'U', 'D') auf die entsprechenden BDOC-Festwerte ('2', '1', '3'), und zwar in der Routine SET_TASK_FLAG. Flache Strukturen erben das Kennzeichen direkt vom Kopf bzw. der Position (Routine SET_TASK_FOR_STRUCTURE). Tabellenartige Komponenten erben die Kennzeichen Insert und Delete; im Update-Fall wird das Kennzeichen '4' (Current State) gesetzt, was bedeutet, dass die mitgegebene Tabelle als aktueller Stand interpretiert wird, also die auf der Datenbank vorhandene Tabelle überschreibt.

Ein Sonderfall liegt vor, wenn alle Zeilen einer tabellenartigen Komponente (z.B. Einteilungen) gelöscht werden sollen. Dies ist daran zu erkennen, dass das entsprechende DATAX-Kennzeichen gesetzt ist, die DATA-Tabelle aber leer ist. In diesem Fall wird eine Dummy-Zeile in der entsprechenden BDOC-Tabelle mit dem TASK-Flag '5' (Delete Table) erzeugt, anhand derer der Validierungsservice (Funktionsbaustein CRM_DOWNLOAD_BTMBDOC_MAPPER) erkennt, dass alle vorhandenen Zeilen zu löschen sind.

SENDBITS-Feld

Das Feld SENDBITS in den BDOC-Strukturen wird über den Funktionsbaustein SMO_SNDBITS_SETX aus genau den Feldern aufgebaut, die auch in der entsprechenden Mapping-Routine (z.B. MAP_ACTIVITY) gefüllt werden (Routine SET_SENDBITS). Dabei ist sichergestellt, dass nur für Felder, die in der entsprechenden COM-Struktur des APIs CRM_ORDER_MAINTAIN (z.B. CRMT_ACTIVITY_H_COM) enthalten sind, die also prinzipiell von außen geändert werden können, das entsprechende Bit im SENDBITS-Feld gesetzt wird (Routine EXTRACT_COM_FIELDS).

Beispiel

Hinweise

Weiterführende Informationen





Parameter

IN
OUT
RETURN

Ausnahmen

MAPPING_ERROR

Funktionsgruppe

CRMXIF_BT_MAP_INBOUND

General Material Data   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3729 Date: 20240605 Time: 172252     sap01-206 ( 91 ms )