Technische Ergänzungen

Schnittstelle CRM – externes Billing-System

Nötige Schritte zum Aufbau einer Vertragsschnittstelle:

Definition zusätzlich benötigter Produkt-Attribute mittels Konzept der Vorlage-Installation

Mapping der CRM-Produktidentifikation zum Produkt im externen System

Definition der Attribute zur Speicherung der Referenz zum externen System

Anwenderstatus zur Steuerung der Vertragsverteilung

Anreicherung der Vorgangsdaten im External-Interface-BAdI Mapping In-/Outbound Geschäftsvorgang Interface (CRMXIF_ORDER_MAP)

Ankopplung des externen Systems über den SAP   Business Connector

Referenz-Attribute definieren

Sie müssen u. U. die Referenz zu im externen System angelegten Entitäten am CRM-Vorgang, oder genauer in einem zugeordneten individuellen Objekt, sichern und diese Daten bei Vertragsänderungen mitsenden. Zu diesem Zweck steht Ihnen der API-Funktionsbaustein Hinzufügen des Sets mit externen Referenzen zu einer IBase (ISTCRM_IBASE_EXT_REF_ADD) zur Verfügung, der in einer existierenden Installation ein neues Objekt mit den übergebenen Daten anlegt.

Voraussetzungen für die Nutzung:

Objektfamilie (in einem einzigen Settyp) existiert mit den zur Speicherung der Referenz nötigen Attributen

Objektfamilie wurde für den Installationstypen freigegeben

Mapping des Settyps zum Service _SAP_EXT_REF_ und der in der Schnittstelle verwendeten Merkmalsnamen zu den Attributnamen im CRM existiert

Objekt:

zugeordnet zu:

Objektfamilie 0815

Settyp ZEXT_REF

Attribut ZVERTRAG

Attribut ZKUNDE

 

Installationstyp IT

Service _SAP_EXT_REF_

Merkmal SUBSCRIPTION

Merkmal XY_CUSTOMER

 

Der Baustein erwartet die Merkmale in einer Tabelle der Form Name/Wert (Beispiel: Name: SUBSCRIPTION Wert: 12345) und die ID der bereits existierenden Installation. Sie können den Baustein z. B. im Antwortteil des BAdIs Mapping In-/Outbound Geschäftsvorgang Interface (CRMXIF_ORDER_MAP) aufrufen.

Anwender-Status-Schema definieren:

Abhängig vom Anwendungsfall und der Vielfalt der Prozesse innerhalb der Vertragsabwicklung kann der Status beliebig kompliziert ausfallen. Unabdingbar ist, dass aus dem Status im Zusammenspiel mit dem Systemstatus hervorgeht, ob die Vorgangsänderung für die Verteilung relevant ist und welche Daten übermittelt werden müssen. Die entsprechende Auswertung müssen Sie entweder im External-Interface-BAdI oder im SAP Business Connector programmieren. Von dort müssen auch die Updates für den Anwenderstatus kommen.

Anwenderstatusschema besteht aus folgenden Status:

offen

aktiv

gekündigt

Diese Status können nur in dieser Reihenfolge und nur ein Status zur gleichen Zeit gesetzt werden.

Parallel dazu gibt es zusätzlich den Status:

Fehler aufgetreten

Daraus lassen sich folgende Regeln für die Programmierung der Schnittstelle ableiten:

Wenn der Status Fehler aufgetreten gesetzt ist, soll das System keine weitere Aktivität ausführen. Fehler sind manuell zu beheben. Durch Zurücksetzen des Status können Sie die Neuübermittlung anstoßen.

Ansonsten müssen Sie nach folgender Matrix auswerten:

Systemstatus

Anwenderstatus

Aktion

Folge-Anwenderstatus

aktiv

offen

Aktivierung

aktiv

gekündigt

aktiv

Kündigung

gekündigt

Andere Kombinationen sind nicht zulässig.

Datenanreicherung im External-Interface-BadI (Outbound):

Innerhalb des BAdI liegen die Vorgangsdaten bereits in der komplexen Struktur CRMXIF_BUSTRANS vor (Parameter CS_DATA_MAPPED), die nach der Bearbeitung im BAdI an die in der Middleware eingestellten Ziele versendet wird. Zusatzdaten lassen sich per Append an diese Struktur anfügen. Dies kann entweder in einer generischen Form mit Attribut-Namen/Wert-Paaren oder in einer den Produktattributen angepassten Struktur gemacht werden. Die Auswertung der generischen Lösung muss im SAP Business Connector erfolgen. Mit der starren Lösung entfällt hier in geringem Maß Aufwand, der später in der BAdI-Programmierung zu leisten ist, da die APIs zur Benutzung der zusätzlichen Produktattribute diese immer im generischen Format erwarten.

Vorher sind jedoch einige Auswertungen zu jeder in der komplexen Struktur abgelegten Vorgangspositionen erforderlich:

Der Positionstyp bestimmt im Normalfall, ob die Position verteilt werden muss.

Status und Anwenderstatus der Position bestimmen, ob und welche Aktion ausgeführt bzw. welche Kommandos an externes System verschickt werden.

Evtl. sind mehrere Installationen an die Vorgangsposition geknüpft, die jeweils relevante ist zu ermitteln.

Der Funktionsbaustein Lesen der in der Vertrags-Ibase eingetragenen Service-Attribute und Werte (ISTCRM_IBASE_SERVICES_GET) liefert zu Installation und Produkt der Vorgangsposition:

externe Produktbezeichnung und logisches System (Service _SAP_EXT_PRD_)

Abrechnungsperiode und Datum (Service _SAP_EXT_BIL_)

zusätzliche Attribute (für Zusatzattribute angelegter Service), falls vorhanden

Schlüssel zu externen Entitäten (Service _SAP_EXT_REF_), falls vorhanden

Die Daten liegen entsprechend dem Settyp/Service-Mapping mit den externen Attributbezeichnungen vor und müssen entsprechend den Anforderungen der Schnittstelle in der komplexen Struktur abgelegt werden.

Alternative zur BAdI-Ausprägung

Wenn der Weg über die Ausprägung des External-Interface-BAdIs und die Erweiterung der Strukturen mit einem Append nicht durchführbar ist, besteht die Möglichkeit, die Daten vorab ungefiltert zum SAP Business Connector zu senden, also das BAdI nicht auszuprägen. Von dort aus können Sie RFC-Aufrufe ins CRM-System zurück initiieren. In diesen RFC-fähigen Bausteinen können Sie sämtliche Auswertungen bezüglich der Vorgangsposition/des Status/der Installation durchführen und die Zusatzattribute zurücksenden. Dies erspart die Erweiterung der komplexen Struktur des External Interface, jedoch steigt der Programmieraufwand im SAP Business Connector und im CRM-System. Auch aus Performance-Gründen sollten Sie die erste Lösung vorziehen.