Ansicht
Dokumentation

CRMXIF_PRODUCT_SERVICE_SAVE - Interface-Baustein für Interface-Typ:CRMXIF_PRODUCT_SERVICE_SAVE

CRMXIF_PRODUCT_SERVICE_SAVE - Interface-Baustein für Interface-Typ:CRMXIF_PRODUCT_SERVICE_SAVE

PERFORM Short Reference   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Vorbemerkung

Die Schnittstelle kann nur Produkte vom Typ Service mit externen Systemen austauschen. Produkte des Typs Material oder Finanzdienstleistungen werden über eigene Schnittstellen realisiert. Mit einem Produkt vom Typ Service können keine Beziehungen ausgetauscht werden, für diese wird es ebenfalls eine eigene Schnittstelle geben. Diese neuen Schnittstellen werden zu einem späteren Zeitpunkt realisiert.

Funktionalität

Der Funktionsbaustein definiert die Schnittstelle des CRM Servers für das Produkt (Service) für externe Systeme.

Die Schnittstelle ist als Adapter der CRM Middleware realisiert (XIF) und stellt eine IDOC Verarbeitung und eine Verarbeitung für XML/SOAP Calls zur Verfügung. Der entsprechende IDOC Nachrichtentyp ist CRMXIF_PRODUCT_SERVICE_SAVE.

Der CRM Ausgangsbaustein (für ALE/IDoc: CRMXIF_PROD_SRV_IDOC_SEND, für SOAP/XML: CRMXIF_PROD_SRV_XML_SEND) versendet dabei das Produkt vom Typ Service in Form eines komplexen Datentyps der Struktur COMXIF_PRODUCT_SERVICE, der die externe Struktur repräsentiert.

Produkte vom Typ Service können innerhalb der CRM Server Anwendungen angelegt oder bearbeitet werden. Die neu angelegten oder geänderten Produkte vom Typ Service werden durch die CRM Middleware und die externe Produkt (Service) Schnittstelle (XIF) an Fremdsysteme über IDocs oder über SOAP/XML Format versendet.

Mapping (Inbound)

Im Inbound wird der komplexe Datentyp auf das Business Document (BDoc) für Service abgebildet, d.h. alle Felder des komplexen Datentyps werden in die entsprechenden Felder des BDocs gemappt.

Ein Produkt wird in der Schnittstelle entweder durch die Übergabe der GUID oder durch die Angabe der Produkt-ID und des Logischen Systems (= Originalsystem) identifiziert. Der Typ ist in jedem Fall Service. Diese Information ist implizit in der Schnittstelle enthalten.

Aufgrund des unterschiedlichen Aufbaues beider Strukturen müssen einige Felder gesondert behandelt werden. So werden in der komplexen Datenstruktur die Schlüsselfelder des Produktes nur auf Header Ebene gehalten. Verkaufsorganisation und Vertriebslinie werden nur in einer Zwischenebene gehalten und von dort aus an die darunter liegenden Strukturen im logischen Sinne vererbt.

Die Kundensettypen werden aus der generischen Struktur in die entsprechenden Strukturen des BDocs übertragen. Kann ein hier angegebener Settyp nicht identifiziert werden, so wird an dieser Stelle ein Fehler ausgelöst.

Das Mapping wird innerhalb des Funktionsbausteins CRMXIF_PROD_SRV_MAP_FROM_INT ausprogrammiert. Der Kunde hat die Möglichkeit, das Mapping durch ein BADI zu beeinflussen.

Aufruf des CRM Middleware Flows

Der CRM Middleware Flow ruft die Methode VALIDATE auf. Dieses Verhalten kann jedoch durch ein BAdI in der Art verändert werden, dass im XML- Fall die Methode PERS_VALIDATE gerufen wird, d.h. das Fehlerhandling dann in der CRM Middleware stattfindet.

Fehlerbehandlung

Fehlermeldungen können an drei verschiedenen Stellen innerhalb des Datenaustauschprozesses entstehen:

  • im Mapping (zum Beispiel, wenn ein Produkt nicht identifiziert werden kann)
  • in der CRM Middleware
  • in der Verbuchung des Produktstammes (zum Beispiel, wenn ein Produkt gesperrt ist)

Entweder können alle Produkte eines Blocks oder gar kein Produkt verbucht werden. Sobald in einem Block ein fehlerhaftes Produkt enthalten ist, wird ein ROLLBACK WORK ausgelöst. Eine teilweise Verarbeitung ist nicht möglich. Dies sollte bei der Wahl der Blockgröße beachtet werden (siehe Abschnitt Performance).

Die Fehlerbehandlung erfolgt abhängig vom verwendeten Eingang der Schnittstelle an unterschiedlichen Stellen:

  • SOAP-Call
Die Behandlung von Fehlern aus der CRM Middleware oder der Verbuchung des Produktstammes erfolgt direkt nach dem Aufruf des Flows.
  • ALE-Eingang
Die Behandlung aller Fehler erfolgt in der ALE-Schicht. Für jedes IDOC wird ein entsprechender Status fortgeschrieben. Auch die Transaktionssteuerung erfolgt in der ALE-Schicht, entweder wird hier ein COMMIT WORK oder ein ROLLBACK WORK ausgeführt.

Die Konvertierung der Fehlerstruktur der CRM Middleware auf die Fehlerstruktur des ALE wird innerhalb des Funktionsbausteins CRMXIF_PROD_SRV_FILLERR durchgeführt.

Mapping (Outbound)

Im Outbound wird das BDoc für Service auf den neuen komplexen Datentyp gemappt. D.h. alle Felder des BDocs werden in die entsprechenden Felder des neuen komplexen Datentyps gemappt. Durch den unterschiedlichen Aufbau beider Strukturen müssen einige Felder gesondert behandelt werden oder sind für den komplexen Datentyp nicht notwendig, wie beispielsweise Mandant und Produkt GUID auf Objektebene im BDoc.

Das Mapping wird innerhalb des Funktionsbausteins CRMXIF_PROD_SRV_MAP_TO_INT ausprogrammiert.

Beispiel

Hinweise

Die Kommunikation mit dem CRM Server erfolgt über Messaging-BDocs des Typs COMT_PROD_SERVICE_BDOC. Technisch gesehen erfolgt eine Abbildung der Daten im komplexen Datentyp COMXIF_PRODUCT_SERVICE auf den komplexen Datentyp COMT_PROD_SERVICE_BDOC des BDocs, wobei allerdings nur Daten zu den Substrukturen HEADER und DATA weitergegeben werden.

Die Schnittstelle kann durch APPEND Strukturen am komplexen Datentyp COMT_PROD_SERVICE_BDOC erweitert werden. Dies darf aber nicht einfach so auf der Datenbank vorgenmommen werden, sondern muß über Transaktion COMM_ATTRSET erfolgen (Menü Settypen/Attribute -> Transportieren). Im Falle der IDOC Verarbeitung ist jedoch zusätzlich eine Neugenerierung der ALE Schicht notwendig.

Zusätzliche Felder in der Schnittstelle oder Änderungen an den Eingangsdaten können vorgenommen werden durch Anlegen von Implementierungen für das Business Add In CRMXIF_PRODUCT_SERVICE_SAVE.

Weiterführende Informationen

Informationen zum Datenformat können der Dokumentation zum komplexen Datentyp COMXIF_PRODUCT_SERVICE entnommen werden.

Informationen zu den externen Schnittstellen allgemein finden Sie unter

Weitere Informationen zur Integration von CRM und zu den externen Schnittstellen finden Sie im SAP Service Marketplace unter dem Alias CRM-CI.





Parameter

DATA
RETURN

Ausnahmen

Funktionsgruppe

CRMXIF_PROD_SRV_GEN

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

Length: 7330 Date: 20240605 Time: 132807     sap01-206 ( 133 ms )