Ansicht
Dokumentation

CRMXIF_COND_REC_COMPL_SAVE - Externe Schnittstelle Konditionen mit vollständiger Staffel

CRMXIF_COND_REC_COMPL_SAVE - Externe Schnittstelle Konditionen mit vollständiger Staffel

BAL_S_LOG - Application Log: Log header data   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Funktionsbaustein definiert eine Schnittstelle des CRM Online für die Konditionstechnik für externe Systeme. Mit dieser breiten Konditionstechnikschnittstelle können Konditionssätze mit kompletten Staffeln verarbeitet werden.

Es ist möglich Konditionssätze anzulegen und zu ändern. Beim Ändern ist immer die GUID des Satzes im Feld COND_TABLE_ENTRY_ID anzugeben. Wenn Ihnen die GUID nicht zur Verfügung steht, können Sie den geänderten Satz ohne auch GUID senden. Sofern der Gültigkeitszeitraum gleich ist, ist das Ergebnis das Gleiche. Allerdings wurde dann der ursprüngliche Satz nicht geändert, sondern mit einem Löschkennzeichen versehen und ein neuer Satz hinzugefügt.
Das Löschen von Konditionssätzen erfolgt in der Schnittstelle CRMXIF_CONDITION_SEL_DELETE.

Für die Pflege von Staffeln ist noch folgendes zu beachten:

Sie müssen immer den gesamten Konditionssatz mit (falls vorhanden) der kompletten Staffel angeben. Das gilt für das Anlegen wie auch für das Ändern der Daten. In der Staffeldimension ist die SCALE_AXIS_ID anzugeben, die auch in der Staffelachse wieder genannt ist. Jede Staffelachse muss auf genau eine Staffeldimension zeigen und umgekehrt. Die Staffeldimension trägt die Werte 01, 02 ..10. Andere Werte werden abgewiesen. An den Staffeln kann nach dem Anlegen nur noch der Preis geändert werden. Es ist nicht möglich eine neue Staffelstufe einzuführen, eine solche zu ändern, oder sie zu löschen. Falls dies erforderlich sein sollte, müssen Sie den Konditionssatz mit einer neuen Staffel verbinden.

Bei sogenannten AB-Staffeln muß die erste Staffelstufe auf 0 (z.B. 0 Stück) lauten. Bei Bis-Staffeln muß die letzte Staffelstufe unbegrenzt sein.

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.

Die Schnittstelle für die Konditionen funktioniert ausschliesslich als Eingangsschnittstelle und ist massendatenfähig.

Der entsprechende IDOC Nachrichtentyp ist: CRMXIF_COND_REC_COMPL_SAVE_M

Weiterführende Informationen

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

Der Report CRMXIF_CT_INTERFACE_FIELDS zeigt Ihnen je Konditionstabelle die befüllbaren Felder an.

Informationen zum den externen Schnittstellen allgemein finden sich unter:

Grundeinstellungen

Monitoring-Transaktionen

Weitere Informationen zur Integration von CRM und zu den externen Schnittstellen werden im Service Marketplace unter dem Alias CRM-CI zur Verfügung gestellt.

Hinweise

Die Kommunikation mit dem CRM erfolgt über Messaging-BDocs . Technisch gesehen erfolgt eine Abbildung der Daten im komplexen Datentyp des Messaging BDocs auf den komplexen Datentyp der das Datenformat der externen Schnittstelle definiert.

Die Besonderheit der Schnittstelle ist ihre Dynamik. Dies ist nötig, um der Dynamik der Konditionstechnik gerecht zu werden. In der Konditionstechnik können Sie zur Konfigurationszeit selbst die Felder der Konditionstabellen bestimmen. Daher ist die Menge der Felder der Schnittstelle auch dynamisch und von der zu befüllenden Konditionstabelle abhängig. Neben einer Anzahl von festen Feldern, die immer vorhanden sind, gibt es viele Felder, die variabel sind. Diese werden in Feldname/Feldwert-Containern dargestellt.

Datumsfelder werden in der Zeitzone interpretiert, die in der Konditionstechnik eingestellt ist.

Eine Erweiterung der Schnittstelle ist grundsätzlich nicht nötig. Die Schnittstelle hat durch ihre Feldcontainern die Möglichkeit, dynamisch beliebige Felder mit Ihren Inhalten entgegenzunehmen. Sobald ein Feld also in einer Konditionstabelle erscheint und von außen pflegbar ist, kann es auch ohne jegliche Änderung an der Schnittstelle entgegengenommen werden.

Wenn Sie neue Felder in der Konditiontechnik einführen möchten (Erweiterung des Feldkatakolgs), beachten Sie bitte das Erweiterungskonzept der Konditionstechnik. Sobald das Feld dann der Konditionstechnik bekannt ist, kann es über die Schnittstelle befüllt werden (s.o.).

Sie haben die Möglichkeit die ankommenden Daten noch innerhalb des Interfaces modifikationsfrei zu verändern. Implementieren Sie dazu mit Hilfe der Transaktion SE19 im Business Add In CRMXIF_CT_IO_MAP_IN die Methode CHANGE_MAPPED_COND_REC_COMPL.

Beispiel

Angenommen, Sie möchten im CRM einen Konditionsatz für das Produkt Prod_1 in der Kondtionstabelle SAP004 mit dem Konditionstyp 0PR0 anlegen. Der Konditionssatz soll vom 01.01.2003 an bis zum 31.12.2003 gültig sein. Er soll für die Verkaufsorganisation VKORG1000 und den Vertriebsweg 10 gelten. Der Preis soll pro 3 Stück 15 Euro betragen. Ab 30 Stück soll der Preis nur noch 14 Euro pro 3 Stück, ab 300 Stück nur noch 13 Euro betragen.

Dann könnte die Schnittstelle wie folgt befüllt werden:

DATA-OBJECT_REPRESENTATION = 'E'

DATA-COND_RECORD-CT_APPLICATION = 'CRM'
DATA-COND_RECORD-CT_USAGE = 'PR'
DATA-COND_RECORD-COND_TABLE_ID = 'SAP004'
DATA-COND_RECORD-COND_TYPE = '0PR0'
DATA-COND_RECORD-SCALE_DIM = '01'

DATA-COND_RECORD-VARIABLE_FIELDS [1] - FIELDNAME = 'PRODUCT_ID'
DATA-COND_RECORD-VARIABLE_FIELDS [1] - FIELDVALUE = 'Prod_1'

DATA-COND_RECORD-VARIABLE_FIELDS [2] - FIELDNAME = 'SALES_ORG_SHORT'
DATA-COND_RECORD-VARIABLE_FIELDS [2] - FIELDVALUE = 'VKORG1000'

DATA-COND_RECORD-VARIABLE_FIELDS [3] - FIELDNAME = 'DIS_CHANNEL'
DATA-COND_RECORD-VARIABLE_FIELDS [3] - FIELDVALUE = '10'

DATA-COND_RECORD-VARIABLE_FIELDS [4] - FIELDNAME = 'MNT_RATE'
DATA-COND_RECORD-VARIABLE_FIELDS [4] - FIELDVALUE = '15'

DATA-COND_RECORD-VARIABLE_FIELDS [5] - FIELDNAME = 'COND_CURRENCY'
DATA-COND_RECORD-VARIABLE_FIELDS [5] - FIELDVALUE = 'EUR'

DATA-COND_RECORD-VARIABLE_FIELDS [6] - FIELDNAME = 'DATE_FROM'
DATA-COND_RECORD-VARIABLE_FIELDS [6] - FIELDVALUE = '20030101'

DATA-COND_RECORD-VARIABLE_FIELDS [7] - FIELDNAME = 'DATE_TO'
DATA-COND_RECORD-VARIABLE_FIELDS [7] - FIELDVALUE = '20031231'

DATA-COND_RECORD-SCALE_ITEM[1]-EVAL_TYPE = 'C'
DATA-COND_RECORD-SCALE_ITEM[1]-VARIABLE_FIELDS [1] - FIELDNAME = 'MNT_RATE''
DATA-COND_RECORD-SCALE_ITEM[1]-VARIABLE_FIELDS [1] - FIELDVALUE = '15'
DATA-COND_RECORD-SCALE_ITEM[1]-ORDINATES[1]- DIM_ID = ' 01'
DATA-COND_RECORD-SCALE_ITEM[1]-ORDINATES[1] SCALE_AXIS_ITEM_ID = '1'

DATA-COND_RECORD-SCALE_ITEM[2]-EVAL_TYPE = 'C'
DATA-COND_RECORD-SCALE_ITEM[2]-VARIABLE_FIELDS [1] - FIELDNAME = 'MNT_RATE'
DATA-COND_RECORD-SCALE_ITEM[2]-VARIABLE_FIELDS [1] - FIELDVALUE = '14'
DATA-COND_RECORD-SCALE_ITEM[2]-ORDINATES[1]- DIM_ID = ' 01'
DATA-COND_RECORD-SCALE_ITEM[2]-ORDINATES[1] SCALE_AXIS_ITEM_ID = '2'

DATA-COND_RECORD-SCALE_ITEM[3]-EVAL_TYPE = 'C'
DATA-COND_RECORD-SCALE_ITEM[3]-VARIABLE_FIELDS [1] - FIELDNAME = ' MNT_RATE''
DATA-COND_RECORD-SCALE_ITEM[3]-VARIABLE_FIELDS [1] - FIELDVALUE = '13'
DATA-COND_RECORD-SCALE_ITEM[3]-ORDINATES[1]- DIM_ID = ' 01'
DATA-COND_RECORD-SCALE_ITEM[3]-ORDINATES[1] SCALE_AXIS_ITEM_ID = '3'


DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - EVAL_TYPE = 'C'

DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [1] - FIELDNAME = 'COND_CURRENCY'
DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [1] - FIELDVALUE = 'EUR'

DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [2] - FIELDNAME = 'COND_PRICING_UNIT'
DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [2] - FIELDVALUE = '3'

DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [3] - FIELDNAME = 'COND_UNIT'
DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [3] - FIELDVALUE = 'ST'


DATA-COND_RECORD-SCALE_DIMENSIONS[1] - DIM_ID = '01'
DATA-COND_RECORD-SCALE_DIMENSIONS[1]- SCALE_AXIS_ID = ' Beliebige_Guid'

DATA-COND_RECORD-SCALE_AXIS[1] - SCALE_AXIS_ID = ' Beliebige_Guid'
DATA-COND_RECORD-SCALE_AXIS[1] - SCALE_BASE_TYPE = 'C'

DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[1] - SCALE_AXIS_ITEM_ID = '1'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[1] - VARIABLE_FIELDS [1] - FIELDNAME = 'SCALE_VALUE'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[1] - VARIABLE_FIELDS [1] - FIELDVALUE = '0'

DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[2] - SCALE_AXIS_ITEM_ID = '2'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[2] - VARIABLE_FIELDS [1] - FIELDNAME = 'SCALE_VALUE'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[2] - VARIABLE_FIELDS [1] - FIELDVALUE = '30'

DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[3] - SCALE_AXIS_ITEM_ID = '3'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[3] - VARIABLE_FIELDS [1] - FIELDNAME = 'SCALE_VALUE'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[3] - VARIABLE_FIELDS [1] - FIELDVALUE = '300'

DATA-COND_RECORD-SCALE_AXIS[1] - VARIABLE_FIELDS[1] - FIELDNAME = 'SCALE_UNIT'
DATA-COND_RECORD-SCALE_AXIS[1] - VARIABLE_FIELDS[1] - FIELDVALUE = 'ST'

Die in Klammern genannten Zahlen (z.B. VARIABLE_FIELDS[2]) meinen die 2. Zeile in der Tabellenstruktur VARIABLE_FIELDS.





Parameter

DATA
RETURN

Ausnahmen

Funktionsgruppe

CRMXIF_CT_CRC_IO_GEN

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

Length: 10481 Date: 20240523 Time: 125428     sap01-206 ( 152 ms )