LeadtoCashCore : Bereichsbezogen
Die LeadtoCashCore- Skripteinbindung bietet Methoden zur Orchestrierung eines Lead-to-Cash-Workflows im Lead-to-Cash Core-Lebenszyklus.
Das Plugin „Lead-to-Cash Core“ (com.snd.l2c.core) muss aktiviert sein, damit LeadtoCashCore -Skripteinbindungen in einer Instanz verfügbar sind. Diese Skripteinbindung gehört zum Namespace sn_l2c_core und erfordert die Rolle admin.
In einem Lead-to-Cash-Workflow ordnen Sie einer Zielentität eine Quellentität zu. Eine Entität wird als eine Sammlung von Tabellen definiert. Mit der Quelle-zu-Ziel-Zuordnung können Sie die Struktur oder den Inhalt der Quellentität so umwandeln, dass sie der in der Zielentität benötigten Struktur oder dem benötigten Inhalt entspricht. Die von dieser Skripteinbindung bereitgestellte Funktionalität stellt die Entitätszuordnungsfunktion dar, die in der Funktion Lead-to-Cash verfügbar ist. Weitere Informationen finden Sie unter Lead to Cash.
Um einen Workflow mithilfe der LeadtoCash- Skripteinbindung abzuschließen, übergeben Sie Rückgabeparameter von einer Methode zur nächsten. Normalerweise rufen Sie diese Methoden in der folgenden Reihenfolge auf:
- LeadtoCashCore – createInstance(Zeichenfolge „headerSysIDs“, Zeichenfolge „lineSysIDs“, Boolesches „isTarget“, „ZusätzlichesParams-Objekt“) Ruft die Daten einer bestimmten Entität ab. Zum Beispiel auftragsbezogene Informationen, einschließlich Bestellpositionen und zugehöriger Daten.
Verwenden Sie den Parameter context, um eine oder mehrere Header- oder Zeilen-IDs im Skript zu deklarieren. Für solche Anwendungsfälle mit Mehrfachauswahl enthält die Ausgabe-JSON ein Array mit Schlüsselelementen, in dem jeder Eintrag eine einzelne Entität darstellt.
- LeadtoCashCore – Delta(Objekt sourceJSON, Objekt dirtyJSON, Objekt zusätzlicheParams) Vergleicht zwei JSON-Eingaben und identifiziert alle Änderungen, die zwischen ihnen aufgetreten sind. Zum Beispiel, wenn in einer Entität etwas hinzugefügt, gelöscht oder geändert wird.
- LeadtoCashCore – Wirkung (Objekt sourceJSON, Objekt targetJSON, Object zusätzlicheParams) Transformiert das JSON-Quellziel in ein Zielobjekt.
- LeadtoCashCore – commitInstance(Object targetJSON, Object zusätzlicheParams) – Legt die in der Skripteinbindung „effect()“ vorgenommene Transformation in der Datenbank fest.
Voraussetzungen
Jede dieser Methoden ist mit einem Erweiterungspunkt gebündelt: sn_l2c_core.LeadToCashServiceEP. PrimitiveUtil() ist ein Dienstprogramm, das Methoden zum Abrufen des Erweiterungspunktservice bereitstellt und die Skripteinbindungen gemäß ihren verfügbaren Parametern aufruft. Sie müssen PrimitiveUtil() zuerst mit der Methode getPrimitivesEPService() bereitstellen, die die Tabelle angibt, aus der Quell- und Zielinformationen abgerufen werden sollen. Weitere Informationen finden Sie unter LeadtoCashCore – getPrimitivesEPService(Zeichenfolge sourceToTargetConfigID, Objektkontext). Sobald PrimitiveUtil() und getPrimitivesEPService() im Skript bereitgestellt wurden, können Sie je nach Bedarf eine der Skripteinbindungen createInstance(), Delta(), Effekt()oder CommitInstance() aufrufen.
Beispiel für ein Lead-to-Cash Core-Workflow-Skript
Obwohl jede der verfügbaren Core-Skripteinbindungen für Lead-to-Cash einzeln dokumentiert ist, können Sie im folgenden Beispiel sehen, wie Sie diese Methoden zusammen verwenden können, um einen Lead-to-Cash-Workflow zu erstellen.
var util = new sn_l2c_core.PrimitiveUtil();
var context = {"isMultiSelect": false}; // Set the context.isMultiSelect parameter as true to enable multi-select use cases
//Flow: Creation of Order from a sold product
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order', context);
//CREATE INSTANCE to get the data of sold product with sys_id '06670ba3c3adbd501caee74bb0013166'
var SPInstance = service.createInstance(null, '06670ba3c3adbd501caee74bb0013166');
gs.info("SPInstance: "+JSON.stringify(SPInstance));
// DELTA
// construct the dirtyJSON as required
var deltaOutput = service.delta(SPInstance, dirtyJSON);/
gs.info("deltaOutput: "+JSON.stringify(deltaOutput));
// EFFECT
var effectOutput = service.effect(deltaOutput);
gs.info("effectOutput: " + JSON.stringify(effectOutput));
// COMMIT INSTANCE
var commitOutput = service.commitInstance(effectOutput);
gs.info("commitOutput: " + JSON.stringify(commitOutput));
- Beim ersten Aufruf werden die vorhandenen Informationen zu verkauften Produkten mit der Methode createInstance() abgerufen.
- Anschließend vergleichen wir dieses Quell-JSON mit dem geänderten JSON mithilfe der Delta()- Methode, die ein Delta-JSON zurückgibt.
- Das JSON-Objekt delta() wird dann mithilfe der Wirkung () -Methode in ein JSON-Objekt vom Typ „Reihenfolge“ umgewandelt.
- Die Auftrags-JSON wird mit der commitInstance()- Methode in die Datenbank committet.
LeadtoCashCore – getPrimitivesEPService(Zeichenfolge sourceToTargetConfigID, Objektkontext)
Löst die Dienstprogrammmethode PrimitiveUtil() aus
Um eine der verfügbaren Methoden in der Skripteinbindung LeadtoCashCore zu verwenden, müssen Sie in Ihrem Skript immer zuerst den geskripteten Erweiterungspunkt PrimitiveUtil() mit der Dienstprogrammmethode getPrimitivesEPService() aufrufen, um die Implementierung auszulösen.
| Name | Typ | Beschreibung |
|---|---|---|
| context | Objekt | Optional. Zusätzliche Parameteroptionen zum Anzeigen von Attributwerten und zum gleichzeitigen Aufrufen von mehr als einer Instanz. |
| Kontext.istMehrfachauswahl | Boolean | Optional. Kennzeichnung, die angibt, ob mehrere Entitäten als Eingabe zum Erstellen der Instanz übergeben werden sollen. Gültige Werte:
Standardwert: false |
| context.loadDisplayValue | Boolean | Optional. Kennzeichnung, die angibt, ob der Anzeigewert für jedes Attribut geladen werden soll. Gültige Werte:
Standardwert: false |
| sourceToTargetConfigID | Zeichenfolge | Zuordnungskonfigurations-ID für die Quelle-zu-Ziel-Zuordnung. Tabelle: Entitätszuordnung für Lead-to-Cash [sn_l2c_core_entity_mapping] |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel ruft PrimitiveUtil() auf und wählt eine Implementierung basierend auf sn_l2c_cust_flows_sp_to_order aus, bei der es sich um eine Zuordnungskonfigurations-ID in der Tabelle „Lead-to-Cash-Entitätszuordnung“ [sn_l2c_core_entity_mapping] handelt.
//Utility to invoke createInstance API
var util = new sn_l2c_core.PrimitiveUtil();
var context = {"isMultiSelect": true}; // Set the context.isMultiSelect parameter as true to enable multi-select use cases
//Invokes the extension point and specifies an implementation based on sourceToTargetConfigID of a L2C flow.
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order’, context)
LeadtoCashCore – createInstance(Zeichenfolge „headerSysIDs“, Zeichenfolge „lineSysIDs“, Boolesches „isTarget“, „ZusätzlichesParams-Objekt“)
Gibt die Daten einer oder mehrerer angegebener Entitäten mit einem JSON-Objekt zurück, das verschiedene Details wie Header, Zeilen, untergeordnete Zeilen, Merkmale und deren Attribute enthält.
Verwenden Sie das Ausgabe-JSON der Methode createInstance() in nachfolgenden Methoden des Core-Workflows für Lead-to-Cash, wie z. B. Delta(), Effekt()und CommitInstance().
Legen Sie den booleschen Parameter „getPrimitivesEPService()context.isMultiSelect “ auf „wahr“ fest, damit createInstance() mehrere, durch Kommas getrennte Header-IDs oder Zeilen-IDs gleichzeitig übergeben kann. Andernfalls können Sie jeweils nur eine ID übergeben. Unter LeadtoCashCore – getPrimitivesEPService(Zeichenfolge sourceToTargetConfigID, Objektkontext) finden Sie weitere Details. Der Anwendungsfall mit einer einzelnen Header-ID und mehreren Zeilen-IDs wird unterstützt, ohne dass context.isMultiSelect auf „true“ festgelegt wird.
| Name | Typ | Beschreibung |
|---|---|---|
| additionalParams | Objekt | Optional. Zusätzlich zu verwendende Parameter. |
| zusätzlicheParameter.ÜberspringenZeilen | Boolean | Optional. Kennzeichnung, die angibt, ob Einzelposten für die angegebene Entität abgerufen werden sollen. Gültige Werte:
Standardwert: false |
| HeaderSysIDs | Zeichenfolge | Header-sys_id(s) einer Entität, von der Daten abgerufen werden sollen. Erforderlich, wenn Sie den Parameter lineSysIDs nicht angeben. Übergeben Sie „null“, wenn Sie keine Header-sys_ids übergeben.Um eine oder mehrere Header-sys_ids in Ihrem Skript anzugeben, legen Sie in der Dienstprogrammmethode getPrimitivesEPService() Hinweis: Mindestens ein Parameter headerSysID oder lineSysIDs ist erforderlich. |
| istZiel | Boolean | Optional. Kennzeichnung, die bestimmt, ob Zielentitätsdaten abgerufen werden sollen. Gültige Werte:
Standardwert: false |
| LinieSysIDs | Zeichenfolge | sys_id(s) des Positionselements einer Entität, von der Entitätsdaten abgerufen werden sollen. Erforderlich, wenn Sie headerSysIDs nicht angeben und die Entitätsstruktur mit Einzelposten wie dem verkauften Produkt beginnt. Um eine oder mehrere Einzelposten-sys_ids in Ihrem Skript anzugeben, legen Sie in der Dienstprogrammmethode getPrimitivesEPService() Hinweis: Mindestens ein Parameter headerSysID oder lineSysIDs ist erforderlich. Wenn mehrere lineSysIDsübergeben werden, müssen alle Datensätze zu demselben headerSysIDgehören. |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Ein JSON-Objekt, das Details des Entitätsdatensatzes enthält. Datentyp: Array von Objekten |
| _state | Aktivitätsstatus der Entität. Mögliche Werte:
Standard: aktiv Datentyp: Zeichenfolge |
| Merkmale | Liste der Entitätsmerkmale. Die Merkmale können zwischen Entitäten variieren. Datentyp: Array von Objekten |
| eigenschaften.attribute | Ein oder mehrere Objekte, die Informationen zu Attributen enthalten, die dem Merkmalsdatensatz zugeordnet sind. Die<attribute type> kann je nach Datensatz/Funktionalität, die dem Merkmal zugeordnet sind, unterschiedliche Werte haben. Beispielsweise könnte dieses Objekt Verweise auf die sys_id des Attributdatensatzes, zugehörige Merkmalsdatensätze, Merkmalsoptionsdatensätze oder Informationen zu verkauften Produkten enthalten. Datentyp: Objekt |
| eigenschaften.attribute<attribute_type> | Informationen zum Schlüsselnamen des Elementattributs.Datentyp: Objekt |
| eigenschaften.attribute<attribute_type> .Wert | Normalerweise die sys_id des zugeordneten Attributdatensatzes, kann jedoch eine beliebige aussagekräftige Textzeichenfolge sein, die den zugeordneten Attributtyp beschreibt. Datentyp: Zeichenfolge |
| eigenschaften.sys_id | Objekt, das die sys_id des zugeordneten Merkmaldatensatzes enthält. Datentyp: Objekt |
| eigenschaften.sys_id.wert | Sys_id des zugeordneten Merkmaldatensatzes. Datentyp: Zeichenfolge |
| eigenschaften.tabelle | Name der Tabelle, die den Merkmalsdatensatz für die Entität Lead-to-Cash enthält. Datentyp: Zeichenfolge |
| items | Enthält ein Array ausgewählter Objekte, wenn context.isMultiSelect auf „wahr“ festgelegt ist. Datentyp: Array von Objekten |
| elemente.attribute | Attribute des Elementdatensatzes. Attribute können zwischen Entitäten variieren.Datentyp: Objekt |
| elemente.attribute.account | Informationen zum Account, der dem Artikelattribut zugeordnet ist. |
| elemente.Attribute.Account.Wert | Attribute des Artikels. Attribute können zwischen Entitäten variieren.Datentyp: Objekt |
| elemente.attribute<key_name> | Informationen zum Schlüsselnamen des Elementattributs.Datentyp: Objekt |
| elemente.attribute<key_name> .Wert | Wert des Schlüsselnamenattributs. Datentyp: Zeichenfolge |
| item.sys_id | Objekt mit sys_id-Informationen zum Entitätselement. Die Werte variieren zwischen Entitäten. Datentyp: Objekt |
| elemente.sys_id.wert | Sys_id eines zugeordneten Elements. Datentyp: Zeichenfolge |
| elemente.tabelle | Name der Tabelle, die den Einzelposten-Datensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
| elemente.positionselemente | JSON-Objekt, das die Einzelpostendetails des Entitätsdatensatzes enthält. Datentyp: Array von Objekten |
| elemente.positionselemente._status | Aktivitätsstatus der Einzelpostenentität. Mögliche Werte:
Standard: aktiv Datentyp: Zeichenfolge |
| elemente.positionselemente.attribute | Attribute des Einzelposten-Datensatzes. Attribute können zwischen Entitäten variieren.Datentyp: Objekt |
| elemente.positionselemente.attribute<key_name> | Informationen zum Schlüsselnamen des Einzelpostenattributs.Datentyp: Objekt |
| elemente.positionselemente.attribute<key_name> .Wert | Wert des Schlüsselnamenattributs. Datentyp: Zeichenfolge |
| elemente.positionselemente.attribute.account | Informationen zum Account, der dem Einzelpostenattribut zugeordnet ist. |
| elemente.positionselemente.attribute.account.wert | Sys_id des Accounts, der dem Einzelpostenattribut zugeordnet ist. Datentyp: Zeichenfolge |
| elemente.positionselemente.merkmale | Liste der Merkmale, die dem Einzelposten zugeordnet sind. Die Merkmale können zwischen Entitäten variieren. Datentyp: Array von Objekten |
| elemente.positionselemente.merkmale.attribute | Ein oder mehrere Objekte, die Informationen zu Attributen enthalten, die dem Merkmalsdatensatz zugeordnet sind. Die<attribute type> kann je nach Datensatz/Funktionalität, die dem Merkmal zugeordnet sind, unterschiedliche Werte haben. Beispielsweise könnte dieses Objekt Verweise auf die sys_id des Attributdatensatzes, zugehörige Merkmalsdatensätze, Merkmalsoptionsdatensätze oder Informationen zu verkauften Produkten enthalten. Datentyp: Objekt |
| elemente.positionselemente.merkmale.attribute<attribute_type> .Wert | Normalerweise die sys_id des zugeordneten Attributdatensatzes, kann jedoch eine beliebige aussagekräftige Textzeichenfolge sein, die den zugeordneten Attributtyp beschreibt. Datentyp: Zeichenfolge |
| elemente.positionselemente.merkmale.sys_id | Objekt, das die sys_id des zugeordneten Merkmaldatensatzes enthält. Datentyp: Objekt |
| elemente.positionselemente.merkmale.sys_id.wert | Sys_id des zugeordneten Merkmaldatensatzes. Datentyp: Zeichenfolge |
| elemente.positionselemente.merkmale.tabelle | Name der Tabelle, die den Merkmalsdatensatz für die Entität Lead-to-Cash enthält. Datentyp: Zeichenfolge |
| elemente.positionselemente.positionselemente | Untergeordnete Positionen einer übergeordneten Position. Dieses Objekt hat das gleiche Format wie der Parameter lineItems. Datentyp: Objekt |
| elemente.positionselemente.sys_id | Objekt mit sys_id-Informationen zum zugeordneten Einzelposten-Datensatz. Datentyp: Objekt |
| elemente.positionselemente.sys_id.wert | Sys_id eines zugeordneten Einzelposten-Datensatzes. Datentyp: Zeichenfolge |
| elemente.positionselemente.tabelle | Name der Tabelle, die den Einzelposten-Datensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
Das folgende Beispielskript ruft die Methode createInstance() auf, um die Daten eines verkauften Produkts, seine gesamte Hierarchie und seine Eigenschaften zu laden.
//Utility to invoke createInstance API
var util = new sn_l2c_core.PrimitiveUtil();
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in "sn_l2c_core_entity_mapping" table.
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order');
//Invoke createInstance API with required params
var SPInstance = service.createInstance(null, '4e03cda2ec873110f87727ef5883a2cf');
//Print the returned JSON
gs.info("SPInstance: "+JSON.stringify(SPInstance));
//The returned JSON can be used for subsequent methods of the flow such as delta(), effect() and commitInstance()
Ausgabe:
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "9e0301e2ec873110f87727ef5883a23a"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"_state": "active",
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
],
"characteristics": []
}
],
"characteristics": [
{
"table": "sn_prd_pm_product_characteristics",
"sys_id": {
"value": "8d669b6665ebf110f877d71ec56bf75c"
},
"attributes": {
"sys_id": {
"value": "8d669b6665ebf110f87d71ec56bf75c"
},
"_state": "active",
"characteristic_value": {
"value": ""
},
"characteristic": {
"value": "4f31999fd0a63110f8770dbf976be178"
},
"characteristic_option": {
"value": "4f31999fd0a63110f8770dbf976be179"
},
"sold_product": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
}
}
}
]
}
]
}
Mehrfachauswahl
Das folgende Skript zeigt, wie isMultiSelect verwendet wird, um die Methode createInstance() aufzurufen und die Daten von zwei verkauften Produkten mit ihrer gesamten Hierarchie und ihren Eigenschaften zu laden.
//Utility to invoke createInstance API
var util = new sn_l2c_core.PrimitiveUtil();
//Set context variable isMultiSelect true to enable multi-select
var context = {"isMultiSelect": true};
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order’, context);
//Multiple sold products selected
var selectedLineitems = '4e03cda2ec873110f87727ef5883a2cf,036a2349284d0210f877b68370fb2e93';
//Invoke createInstance API with required params
var SPInstance = service.createInstance(null, selectedLineitems);
//Print the returned JSON
gs.info("SPInstance: "+JSON.stringify(SPInstance));
//The returned JSON can be used for subsequent APIs of the flow such as Delta, Effect and Commit Instance
Antwort:
{
"items": [
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "9e0301e2ec873110f87727ef5883a23a"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": []
}
]
}
]
},
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "036a2349284d0210f877b68370fb2e93"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4b6a2349284d0210f877b68370fb2e9c"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": []
}
],
"characteristics": [],
"_state": "active"
}
]
}
]
}
LeadtoCashCore – Delta(Objekt sourceJSON, Objekt dirtyJSON, Objekt zusätzlicheParams)
Vergleicht die JSON-Quellobjekte und die geänderten Quellobjekte einer Lead-to-Cash-Entität und gibt ein JSON-Objekt zurück, das alle an der Quell-JSON vorgenommenen Änderungen beschreibt, z. B. Ergänzungen, Löschungen oder Änderungen.
| Name | Typ | Beschreibung |
|---|---|---|
| sourceJSON | Objekt | JSON-Objekt der Entität „Lead-to-Cash“ der Quelle. Hinweis: Verwenden Sie die Methode LeadtoCashCore – createInstance(Zeichenfolge „headerSysIDs“, Zeichenfolge „lineSysIDs“, Boolesches „isTarget“, „ZusätzlichesParams-Objekt“), um das Quell-JSON einer Entität abzurufen. |
| dirtyJSON | Objekt | Geändertes Quell-JSON der Lead-to-Cash-Entität. |
| additionalParams | Objekt | Optional. Zusätzlich zu verwendende Parameter. |
| zusätzlicheParams.delta_ignore_attributes | Objekt | Tabellenattribute, die während des Vergleichs zwischen der Quelle und dem Drittwert-JSON ignoriert werden sollen. Aktiviert die Unterstützung von Anwendungsfällen für die Neukonfiguration von. |
| zusätzlicheParams.delta_ignore_attributes<table_name> | Zeichenfolge | Der Name der Tabelle und die zugehörigen Attribute, die ignoriert werden sollen. Zum Beispiel: |
| ZusätzlicheParams.loadDisplayValue | Boolean | Optional. Kennzeichnung, die angibt, ob der Anzeigewert für jedes Attribut geladen werden soll. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Ein Objekt, das Details des Entitätsdatensatzes mit allen Changes enthält, die zwischen der Quell-JSON und der von ihnen geänderten JSON aufgetreten sind. Datentyp: Objekt |
| Einzelposten | JSON-Objekt, das die Einzelpostendetails des Entitätsdatensatzes enthält. Zum Beispiel Bestellpositionen oder Angebotspositionen. Datentyp: Array von Objekten |
| Positionselemente._Aktion | Change-Aktion, die auf das Positionselement der Quell-JSON angewendet wird. Mögliche Werte:
Datentyp: Zeichenfolge |
| Positionselemente.Attribute | Attribute des Einzelpostens. Zum Beispiel der Name und Wert des Attributs. Kann je nach Entität variierende Felder enthalten. Datentyp: Objekt |
| Einzelposten.Attribute<attribute_name> | Name des Positionsattributs. Zum Beispiel der Name eines Accounts oder Kontakts. Kann variierende Felder der Entität enthalten. Datentyp: Objekt |
| Einzelposten.Attribute<attribute_name> .Wert | Wert des Einzelpostenattributs. Datentyp: Zeichenfolge |
| Positionselemente.Attribute.Account | Informationen zum Account, der dem Artikelattribut zugeordnet ist. Datentyp: Objekt |
| Positionselemente.Attribute.Account.Wert | Sys_id des Accounts, der dem Einzelpostenattribut zugeordnet ist. Datentyp: Zeichenfolge |
| Positionselemente.Merkmale | Merkmale des Einzelpostens. Kann je nach Entität variierende Felder enthalten. Datentyp: Array von Objekten |
| Positionselemente.Merkmale.Attribute | Attribute der Merkmale des Header-Datensatzes. Zum Beispiel der Name und Wert des Attributs. Kann je nach Entität variierende Felder enthalten. Datentyp: Objekt |
| Positionselemente.Merkmale.Attribute<field_name> | Attributname des Merkmaldatensatzes, der der Position zugeordnet ist. Datentyp: Objekt |
| Positionselemente.Merkmale.Attribute<field_name> .Wert | Wert des Attributs, das zum Merkmalsdatensatz einer Entität gehört. Datentyp: Zeichenfolge |
| Positionselemente.Merkmale.sys_id | Sys_id-Objekt des Merkmaldatensatzes. Datentyp: Objekt |
| Positionselemente.Merkmale.sys_id.Wert | Sys_id des zugeordneten Merkmaldatensatzes. Die aktualisierte Tabelle kann je nach Entität variieren. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| Positionselemente.Merkmale.Tabelle | Name der Tabelle, die den Merkmalsdatensatz enthält. Datentyp: Zeichenfolge |
| Positionselemente.Positionselemente | Untergeordnete Positionen einer übergeordneten Position. Dieses Objekt hat das gleiche Format wie der Parameter lineItems. Datentyp: Array von Objekten |
| Positionselemente.sys_id | Sys_id des zugeordneten Elementdatensatzes. Datentyp: Objekt |
| Positionselemente.sys_id.Wert | Sys_id eines zugeordneten Elementdatensatzes. Die aktualisierte Tabelle kann je nach Entität variieren, z. B. Bestellung oder Spezifikation. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| Positionselemente.Tabelle | Name der Tabelle, die den Artikeldatensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
Im folgenden Beispiel wird veranschaulicht, wie die Methodedelta () aufgerufen wird, indem zuerst die Dienstprogrammmethode PrimitiveUtil und getPrimitiesEPService()aufgerufen und dann die JSON-Quell- und Zielobjekte bereitgestellt werden.
//Utility to invoke Delta API
var util = new sn_l2c_core.PrimitiveUtil();
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService('sp_order_macd');
//Invoke delta API with required params
// sourceJSON can be the output of createInstance or null
//dirtyJSON is the modified sourceJSON
var deltaOutput= service.delta(sourceJSON, dirtyJSON);
//Print the returned JSON
gs.info(" deltaOutput: "+JSON.stringify(deltaOutput));
//The returned JSON can be used for subsequent APIs of the flow such as Effect and Commit Instance
Die Ausgabe-JSON zeigt, dass dem verkauften Basisprodukt mehrere Einzelposten hinzugefügt wurden:
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "-1"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "-1"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "-1"
},
"attributes": {
"name": {
"value": "Solana Sports streaming channel"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": [],
"_action": "add"
}
],
"characteristics": [],
"_action": "add"
}
],
"characteristics": [
{
"table": "sn_prd_pm_product_characteristics",
"sys_id": {
"value": "-1"
},
"attributes": {
"characteristic_value": {
"value": ""
},
"characteristic": {
"value": "4f31999fd0a63110f8770dbf976be178"
},
"characteristic_option": {
"value": "4f31999fd0a63110f8770dbf976be179"
},
"sold_product": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
},
"action": {
"value": "add"
}
},
"_action": "add"
}
],
"_action": "add"
}
]
}
Mehrfachauswahl
Das folgende Beispiel zeigt, wie Sie die Mehrfachauswahl- delta() -Methode bilden, indem Sie zuerst PrimitiveUtil und getPrimitivesEPService aufrufen und dann die Quell- und Ziel-JSON-Objekte für mehrere Zeilen- oder Header-IDs bereitstellen. Rufen Sie den Service pro Flow nur einmal ab und verwenden Sie denselben Service für alle LeadtoCashCore -Methoden.
/Utility to invoke Delta API
var util = new sn_l2c_core.PrimitiveUtil();
//Set context variable isMultiSelect true to enable multi-select
var context = {"isMultiSelect": true};
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService(‘sn_l2c_cust_flows_sp_to_order’, context);
//Invoke delta API with required params
// sourceJSON can be the output of createInstance for multiple lineIDs or headerIDs or null
//dirtyJSON is the modified sourceJSON
var deltaOutput= service.delta(sourceJSON, dirtyJSON);
//Print the returned JSON
gs.info(" deltaOutput: "+JSON.stringify(deltaOutput));
//The returned JSON can be used for subsequent APIs of the flow such as Effect and Commit Instance
Die Ausgabe-JSON zeigt, dass dem verkauften Basisprodukt mehrere Einzelposten hinzugefügt wurden:
{
"items": [
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "9e0301e2ec873110f87727ef5883a23a"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": [],
"_action": "disconnect"
}
],
"characteristics": [],
"_action": "disconnect"
}
]
},
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "036a2349284d0210f877b68370fb2e93"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4b6a2349284d0210f877b68370fb2e9c"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": [],
"_action": "disconnect"
}
],
"characteristics": [],
"_action": "disconnect"
}
]
}
]
}
LeadtoCashCore – Wirkung (Objekt sourceJSON, Objekt targetJSON, Object zusätzlicheParams)
Transformiert die JSON-Quellstruktur einer bestimmten Entität und wendet sie auf die JSON-Zielstruktur einer anderen Entität an. Anschließend können Sie die geänderte Entität mit der commitInstance()- Methode in die Datenbank committen.
Sie können die Ausgabe-JSON der Delta () -Methode in der Wirkung () -Anforderung verwenden. CommitInstance() verwenden, um den Lead - to-Cash-Workflow abzuschließen.
| Name | Typ | Beschreibung |
|---|---|---|
| sourceJSON | Objekt | JSON mit Details der Quellentität. Hinweis: Verwenden Sie LeadtoCashCore – createInstance(Zeichenfolge „headerSysIDs“, Zeichenfolge „lineSysIDs“, Boolesches „isTarget“, „ZusätzlichesParams-Objekt“), um die JSON-Quelldatei einer Entität abzurufen. |
| targetJSON | Objekt | JSON mit Details der Zielentität. |
| additionalParams | Objekt | Optional. Zusätzlich zu verwendende Parameter. |
| zusätzlicheParameter.is_future_state | Boolean | Optional. Verwenden Sie diese Option, um Anwendungsfälle für die Neukonfiguration zu unterstützen. Akzeptierte Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Change, der aufgetreten ist und von der Quelle auf die JSON-Objekte der Zielentität in jedem Header der Lead-to-Cash-Entität angewendet wurde. Datentyp: Objekt |
| _glide_action | Gibt die Änderung an, die auf Elementebene zwischen Quell- und Ziel-JSON aufgetreten ist. Mögliche Werte (Groß-/Kleinschreibung beachten):
Datentyp: Zeichenfolge |
| _records_count | Details der neuen Datensätze, die für jede Tabelle eingefügt wurden. Datentyp: Objekt |
| _records_count.tableName | Name der Tabelle, in der neue Datensätze eingefügt werden. Datentyp: Objekt |
| _records_count.tableName.insert | Anzahl der neuen Datensätze, die in die Tabelle eingefügt wurden. Datentyp: Zahl |
| _source_object | JSON-Quellobjekt, auf das die Änderungen angewendet wurden. Die Objektstruktur kann je nach Entität variieren. Datentyp: Objekt |
| _source_object.sys_id | Sys_id des Quellentitätsdatensatzes, der aktualisiert wurde. Datentyp: Zeichenfolge |
| _source_object.table | Tabellenspeicherort des aktualisierten Quellentitätsdatensatzes. Dieser Wert kann zwischen Entitäten variieren. Datentyp: Zeichenfolge |
| Positionselemente._glide_aktion | Change-Aktion, die für den Einzelposten aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| Positionselemente._source_object | Details des Quellentitätsdatensatzes, auf den die _glide_action angewendet wurde. Dieses Objekt kann zwischen Entitäten variieren. Datentyp: Objekt |
| Positionselemente._Quelle_Objekt.sys_id | Sys_id des Quellentitätsdatensatzes, der aktualisiert wurde. Datentyp: Zeichenfolge |
| Positionselemente._Quelle_Objekt.Tabelle | Tabellenspeicherort des aktualisierten Quellentitätsdatensatzes. Dieser Wert kann zwischen Entitäten variieren. Datentyp: Zeichenfolge |
| Positionselemente._Status | Status der Entität. Datentyp: Objekt |
| Positionselemente._Status.Wert | Der aktuelle Status der Entität. Mögliche Werte:
Datentyp: Zeichenfolge |
| Positionselemente.Attribute | Attribute des Einzelpostens. Zum Beispiel der Name und Wert des Attributs. Kann je nach Entität variierende Felder enthalten. Datentyp: Objekt |
| Einzelposten.Attribute<attribute_name> | Name des Positionsattributs. Zum Beispiel der Name eines Accounts oder Kontakts. Kann variierende Felder der Entität enthalten. Datentyp: Objekt |
| Einzelposten.Attribute<attribute_name> .Wert | Wert des Einzelpostenattributs. Datentyp: Zeichenfolge |
| Positionselemente.Attribute.Account | Informationen zum Account, der dem Artikelattribut zugeordnet ist. Datentyp: Objekt |
| Positionselemente.Attribute.Account.Wert | Sys_id des Accounts, der dem Einzelpostenattribut zugeordnet ist. Datentyp: Zeichenfolge |
| Positionselemente.Attribute.Kurzbeschreibung | Kurze Beschreibung des Einzelpostenattributs. Datentyp: Zeichenfolge |
| Positionselemente.Merkmale | Liste der Merkmale, die dem Einzelposten zugeordnet sind. Die Merkmale können zwischen Entitäten variieren. Datentyp: Array von Objekten |
| Positionselemente.Merkmale._Glide_Aktion | Change-Aktion, die für den Einzelposten aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| Positionselemente.Merkmale.Attribute | Ein oder mehrere Objekte, die Informationen zu Attributen enthalten, die dem Merkmalsdatensatz zugeordnet sind. Dieses Objekt kann beispielsweise Verweise auf die sys_id des Attributdatensatzes, zugehörige Merkmalsdatensätze, Accounts oder Kontakte, Merkmalsoptionsdatensätze oder Informationen zu verkauften Produkten enthalten. Datentyp: Objekt |
| Positionselemente.Merkmale.Attribute<attribute_type> | Typ des Attributs. Dieser Wert kann je nach den Datensätzen oder der Funktionalität, die dem Merkmal zugeordnet sind, unterschiedliche Werte enthalten. Datentyp: Objekt |
| Positionselemente.Merkmale.Attribute<attribute_type> .Wert | Wert des Einzelpostenattributs. Datentyp: Zeichenfolge |
| Positionselemente.Merkmale.Attribute<field_name> | Attributname des Merkmaldatensatzes, der der Position zugeordnet ist. Datentyp: Objekt |
| Positionselemente.Merkmale.Attribute<field_name> .Wert | Wert des Attributs, das zum Merkmalsdatensatz einer Entität gehört. Datentyp: Zeichenfolge |
| Positionselemente.Merkmale.sys_id | Sys_id des zugeordneten Merkmaldatensatzes. Datentyp: Objekt |
| Positionselemente.Merkmale.sys_id.Wert | Sys_id des zugeordneten Merkmaldatensatzes. Die aktualisierte Tabelle kann je nach Entität variieren. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| Positionselemente.Merkmale.Tabelle | Name der Tabelle, die den Merkmalsdatensatz enthält. Datentyp: Zeichenfolge |
| Positionselemente.Positionselemente | Untergeordnete Positionen einer übergeordneten Position. Dieses Objekt hat das gleiche Format wie der Parameter lineItems. Datentyp: Array von Objekten |
| Positionselemente.sys_id | Sys_id des zugeordneten Elementdatensatzes. Datentyp: Objekt |
| Positionselemente.sys_id.Wert | Sys_id eines zugeordneten Elementdatensatzes. Die aktualisierte Tabelle kann je nach Entität variieren, z. B. Bestellung oder Spezifikation. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| Positionselemente.Tabelle | Name der Tabelle, die den Artikeldatensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
| sys_id | Sys_id der Entität. Datentyp: Zeichenfolge |
| Tabelle | Name der Tabelle, in der sich die Entität befindet. Datentyp: Zeichenfolge |
//Utility to invoke effect API
var util = new sn_l2c_core.PrimitiveUtil();
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService('sp_order_macd');
//Invoke effect API with required params
var effectOutput = service.effect(deltaOutput, null);
//Print the returned JSON
gs.info("effectOutput: " + JSON.stringify(effectOutput));
//The returned JSON can be used in the subsequent commitInstance() method.
Ausgabe:
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order",
"_glide_action": "INSERT",
"_source_object": {},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
},
"short_description": {
"value": "Quadplay Home Tech Hub Bundle"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "-1",
"table": "sn_install_base_sold_product"
},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
},
"short_description": {
"value": "Internet and OTT Bundle"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "-1",
"table": "sn_install_base_sold_product"
},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
},
"short_description": {
"value": "Solana Sports streaming channel"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "-1",
"table": "sn_install_base_sold_product"
},
"lineItems": [],
"characteristics": []
}
],
"characteristics": []
}
],
"characteristics": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_characteristic_value",
"attributes": {
"characteristic_option": {
"value": "4f31999fd0a63110f8770dbf976be179"
},
"characteristic": {
"value": "4f31999fd0a63110f8770dbf976be178"
},
"characteristic_option_value": {
"value": ""
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "-1",
"table": "sn_prd_pm_product_characteristics"
}
}
]
},
"_state": {
"value": "active"
}
],
"_records_count":
{
"sn_ind_tmt_orm_order":
{
"insert": 1
},
"sn_ind_tmt_orm_order_line_item":
{
"insert": 3
},
"sn_ind_tmt_orm_order_characteristic_value":
{
"insert": 1
}
}
}
LeadtoCashCore – commitInstance(Object targetJSON, Object zusätzlicheParams)
Legt das JSON-Objekt einer bestimmten Lead-to-Cash-Entität in der Instanz fest, gibt eine Statusnachricht mit aktualisierten Informationen zurück und aktualisiert entsprechend die Tabelle „Lead-to-Cash-Core-Entität“.
| Name | Typ | Beschreibung |
|---|---|---|
| targetJSON | Objekt | JSON-Objekt, das die „glide_action“ einer Zielentität für einen Commit enthält. Sie können die Ausgabe der Wirkung () -Methode hier übergeben. Hinweis: „glide_action“ identifiziert die Change-Aktion, die zwischen der Quell- und der Ziel-JSON einer Lead-to-Cash-Entität aufgetreten ist. |
| additionalParams | Objekt | Optional. Zusätzlich zu verwendende Parameter. |
| zusätzlicheParameter.verwendenNummerngenerator | Boolean | Optional. Kennzeichnung, die angibt, ob sys_numbers massenweise generiert werden sollen. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Details zum Zielentitätsdatensatz. Datentyp: Objekt |
| dataObject | JSON-Objekt, das detaillierte Daten zu den auf jeder Ebene durchgeführten Commit-Vorgängen enthält. Datentyp: Objekt |
| dataObject._commitObjectInfo | Commit-Status und sys_id, wenn die Einzelpostenänderung eine EINFÜGEN-Aktion ist. Datentyp: Objekt |
| dataObject._commitObjectInfo.status | Status des Commit-Vorgangs, der für die jeweilige Entität ausgeführt wurde. Mögliche Werte:
Datentyp: Zeichenfolge |
| dataObject._commitObjectInfo.sys_id | Sys_id des eingefügten Datensatzes. Die Methode gibt diesen Parameter nur zurück, wenn dataObject._glide_action auf INSERT festgelegtist. Die aktualisierte Tabelle kann je nach Entität variieren. Beispiel: Auftrag [sn_ind_tmt_orm_order].Datentyp: Zeichenfolge |
| dataObject._glide_action | Change-Aktion, die für den Einzelposten aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| Datenobjekt._source_object | JSON-Quellobjekt, auf das die Änderungen angewendet wurden. Die Objektstruktur kann je nach Entität variieren. Datentyp: Objekt |
| dataObject._source_object.sys_id | Sys_id des Quellentitätsdatensatzes, auf den die _glide_action angewendet wurde. Die aktualisierte Tabelle kann je nach Entität variieren. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| dataObject._source_object.table | Name der Tabelle, die den Quellentitätsdatensatz enthält, auf den „_glide_action“ angewendet wurde. Dies kann zwischen Entitäten variieren. Datentyp: Zeichenfolge |
| dataObject.lineItems | Positionsdetails des Entitätsdatensatzes. Zum Beispiel Bestellpositionen oder Angebotspositionen. Datentyp: Array von Objekten |
| dataObject.lineItems._action | Change-Aktion, die auf das Positionselement der Quell-JSON angewendet wird. Mögliche Werte:
Datentyp: Zeichenfolge |
| dataObject.lineItems._commitObjectInfo | Wird zurückgegeben, wenn die Änderung des Einzelpostens eine EINFÜGEN -Aktion ist. Enthält den Commit-Status und die sys_id des Objekts.Datentyp: Objekt |
| dataObject.lineItems._commitObjectInfo.status | Status des Commit-Vorgangs, der für die jeweilige Entität ausgeführt wurde. Mögliche Werte:
Datentyp: Zeichenfolge |
| dataObject.lineItems._commitObjectInfo.sys_id | Sys_id des eingefügten Datensatzes. Die aktualisierte Tabelle kann je nach Entität variieren. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| dataObject.lineItems._glide_action | Change-Aktion, die für den Einzelposten aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| dataObject.lineItems._source_object | Details des Quellentitätsdatensatzes, auf den die _glide_action angewendet wurde. Dieses Objekt kann zwischen Entitäten variieren. Datentyp: Objekt |
| dataObject.lineItems._source_object.sys_id | Sys_id des Quellentitätsdatensatzes, auf den die _glide_action angewendet wurde. Datentyp: Zeichenfolge |
| dataObject.lineItems._source_object.table | Tabellenname des Quellentitätsdatensatzes, auf den _glide_action angewendet wurde. Datentyp: Zeichenfolge |
| dataObject.lineItems._state | Status des Objekts. Mögliche Werte:
Datentyp: Zeichenfolge |
| dataObject.lineItems.attributes | Attribute des Einzelpostens. Zum Beispiel der Name und Wert des Attributs. Kann je nach Entität variierende Felder enthalten. Datentyp: Objekt |
| dataObject.lineItems.attributes<attribute_name> | Name des Positionsattributs. Zum Beispiel der Name eines Accounts oder Kontakts. Kann variierende Felder der Entität enthalten. Datentyp: Objekt |
| dataObject.lineItems.attributes<attribute_name> .Wert | Wert des Einzelpostenattributs. Datentyp: Zeichenfolge |
| Datenobjekt.Einzelposten.Merkmale | Liste der Merkmale, die dem Einzelposten zugeordnet sind. Die Merkmale können zwischen Entitäten variieren. Datentyp: Array von Objekten |
| dataObject.lineItems.features._glide_action | Change-Aktion, die für den Einzelposten aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| dataObject.lineItems.Merkmale.Attribute | Ein oder mehrere Objekte, die Informationen zu Attributen enthalten, die dem Merkmalsdatensatz zugeordnet sind. Dieses Objekt kann beispielsweise Verweise auf die sys_id des Attributdatensatzes, zugehörige Merkmalsdatensätze, Accounts oder Kontakte, Merkmalsoptionsdatensätze oder Informationen zu verkauften Produkten enthalten. Datentyp: Objekt |
| dataObject.lineItems.Merkmale.Attribute<attribute_type> | Name des Merkmalattributs Kann variierende Felder der Entität enthalten. Datentyp: Objekt |
| dataObject.lineItems.Merkmale.Attribute<attribute_type> .<attribute_name> | Name des Merkmalattributs Datentyp: Objekt |
| dataObject.lineItems.Merkmale.Attribute<attribute_type> .<attribute_name> .Wert | Wert des Einzelpostenattributs. Datentyp: Zeichenfolge |
| sys_id | Sys_id des zugeordneten Merkmaldatensatzes. Datentyp: Objekt |
| dataObject.lineItems[0].charakteristika.sys_id.wert | Sys_id des zugeordneten Merkmaldatensatzes. Die aktualisierte Tabelle kann je nach Entität variieren. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| dataObject.lineItems[0].features.table | Name der Tabelle, die den Merkmalsdatensatz enthält. Datentyp: Zeichenfolge |
| dataObject.lineItems[0].lineItems | Untergeordnete Positionen einer übergeordneten Position. Dieses Objekt hat das gleiche Format wie der Parameter lineItems. Datentyp: Array von Objekten |
| dataObject.lineItems[0].sys_id | Sys_id des zugeordneten Elementdatensatzes. Datentyp: Objekt |
| dataObject.lineItems[0].sys_id.value | Sys_id eines zugeordneten Elementdatensatzes. Die aktualisierte Tabelle kann je nach Entität variieren, z. B. Bestellung oder Spezifikation. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| dataObject.lineItems[0].table | Name der Tabelle, die den Artikeldatensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
| dataObject.sys_id | Sys_id des zugeordneten Einzelposten-Datensatzes. Die aktualisierte Tabelle kann je nach Entität variieren. Beispiel: Auftrag [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| dataObject.table | Name der Tabelle, die den Datensatz der Lead-to-Cash-Entität enthält. Datentyp: Zeichenfolge |
| displayMessage | Nachricht, die dem Anwender in der Anwenderoberfläche angezeigt wird. Die Anzeigenachricht ist identisch mit dem Zeichenfolgenwert message. Datentyp: Zeichenfolge |
| Fehler | Fehlermeldung, die den Fehler der commitInstance -Methode beschreibt. Wenn die Anforderung erfolgreich ist, gibt dieser Parameter eine leere Zeichenfolge zurück. Datentyp: Zeichenfolge |
| Header-ID | Sys_id des Zielentitätsdatensatzes, der von der commitInstance- Methode erstellt oder aktualisiert wurde. Gespeichert in: Die zugehörige Tabelle je nach Entitätstyp, z. B. verkauftes Produkt, Bestellung usw. Datentyp: Zeichenfolge |
| Nachricht | Nachricht, die die Szenarien „Erfolg“, „Fehler“ oder „Teilweise erfolgreich“ beschreibt. Diese Nachricht ist mit dem Zeichenfolgenwert displayMessage identisch und kann von anderen Anwendungsaufrufen an die API verwendet werden. Datentyp: Zeichenfolge |
| rootLineIDs | Kommagetrennte Liste der sys_ids der Zielentitätsdatensätze, die von der commitInstance- Methode eingefügt, aktualisiert oder gelöscht wurden. Gespeichert in: Die zugehörige Tabelle je nach Entitätstyp, z. B. verkauftes Produkt, Bestellung usw. Datentyp: Array von Zeichenfolgen |
| status | Statusnachricht, die den Erfolg des Commits bestätigt. Mögliche Werte:
Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie die einzelnen LeadtoCashCore -Methoden verwendet werden, um die Details einer Quell-Ziel-Entität abzurufen, anzuwenden und zu bestätigen. In diesem Beispiel wird die Methode commitInstance() verwendet, um die geänderte JSON an eine Lead-to-Cash-Entität in der Instanz zu committen.
//Utility to invoke commitInstance API
var util = new sn_l2c_core.PrimitiveUtil();
//Invokes the PrimitiveUtil extension point, picks an implementation based on sourceToTargetConfigID of a Lead to Cash (L2C) flow. The Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService('sp_order_macd');
//Invoke commitInstance API with the required params
var commitOutput = service.commitInstance(effectOutput);
//Print the returned JSON
gs.info("commitOutput: "+JSON.stringify(commitOutput));
Ausgabe:
{
"status": "success",
"error": "",
"message": "Commit operation successfully processed.",
"displayMessage": "Commit operation successfully processed.",
"dataObject": {
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order",
"_glide_action": "INSERT",
"_source_object": {},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "86837a386f0331003b3c498f5d3ee4ca"
},
"sold_product": {
"value": "e4bbf902b7343300ece839a6ee11a937"
},
"short_description": {
"value": "Network Monitoring"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "e4bbf902b7343300ece839a6ee11a937",
"table": "sn_install_base_sold_product"
},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "86837a386f0331003b3c498f5d3ee4ca"
},
"sold_product": {
"value": "23dbbd02b7343300ece839a6ee11a98e"
},
"short_description": {
"value": "Remote Monitoring"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "23dbbd02b7343300ece839a6ee11a98e",
"table": "sn_install_base_sold_product"
},
"lineItems": [],
"characteristics": [],
"coveredProducts": [],
"_commitObjectInfo": {
"sys_id": "d2d5b868488d5610f877a23d5db8922f",
"status": "success"
}
}
],
"characteristics": [],
"coveredProducts": [],
"_commitObjectInfo": {
"sys_id": "92d5b868488d5610f877a23d5db89229",
"status": "success"
}
}
],
"_commitObjectInfo": {
"sys_id": "46d5b0a4488d5610f877a23d5db892ef",
"status": "success"
}
},
"headerID": "46d5b0a4488d5610f877a23d5db892ef",
"rootLineIDs": [
"92d5b868488d5610f877a23d5db89229"
]
}