LeadtoCashCore – Umfang
Die LeadtoCashCore Die Skripteinbindung bietet Methoden zum Orchestrieren eines Lead-to-Cash-Workflows im Lead-to-Cash Core-Lebenszyklus.
Das Lead-to-Cash-Core-Plugin (com.snd.l2c.Core) muss für aktiviert sein LeadtoCashCore Skripteinbindungen, die in einer Instanz verfügbar sein sollen. Diese Skripteinbindung gehört zum Namespace sn_l2c_Core und erfordert die Administratorrolle.
In einem Lead-to-Cash-Workflow ordnen Sie eine Quellentität einer Zielentität zu. Eine Entität ist als eine Sammlung von Tabellen definiert. Mit der Quell-zu-Ziel-Zuordnung können Sie die Struktur oder den Inhalt der Quell-Entität so umwandeln, dass sie an die in der Zielentität benötigte Struktur oder den Inhalt angepasst wird. Die von dieser Skripteinbindung bereitgestellte Funktionalität stellt die Entitätszuordnungsfunktion dar, die in der Lead-to-Cash-Funktion verfügbar ist. Weitere Informationen finden Sie unter Lead to Cash Core.
Dient zum Abschließen eines Workflows mit Leadto Cash Skripteinbindung übergeben Sie Rückgabeparameter von einer Methode an die nächste. Normalerweise rufen Sie diese Methoden in der folgenden Reihenfolge auf:
- LeadtoCashCore – createInstance(String headerSysIDs, String lineSysIDs, Boolean isTarget, Object additionalParams) – Ruft die Daten einer bestimmten Entität ab. Zum Beispiel Informationen im Zusammenhang mit Kundenaufträgen, einschließlich Einzelposten und zugehörigen Daten.
Verwenden Sie contextParameter zum Deklardieren einer oder mehrerer Header- oder Zeilen-IDs im Skript. Für solche Anwendungsfälle mit Mehrfachauswahl enthält die Ausgabe-JSON ein Schlüsselelement-Array, in dem jeder Eintrag eine einzelne Entität darstellt.
- LeadtoCashCore – Delta(Object sourceJSON, Object dirtyJSON, Object additionalParams) – Vergleicht zwei JSON-Eingaben und identifiziert alle Änderungen, die zwischen ihnen aufgetreten sind. Beispiel: Wenn etwas in einer Entität hinzugefügt, gelöscht oder geändert wird.
- LeadtoCashCore – Effect(Object sourceJSON, Object targetJSON, Object additionalParams) – Wandelt das Quell-JSON-Ziel in ein Zielobjekt um.
- LeadtoCashCore – CommitInstance(Object targetJSON, Object additionalParams)– Commits der in vorgenommenen Transformation Effekt() Skripteinbindung in die Datenbank.
Voraussetzungen
Jede dieser Methoden ist mit einem Erweiterungspunkt „sn_l2c_Core.LeadToCashServiceEP“ gebündelt. PrimitiveUtil() Ist ein Dienstprogramm, das Methoden zum Abrufen des Erweiterungspunktservice bereitstellt und die Skripteinbindungen gemäß den verfügbaren Parametern aufruft. Sie müssen zuerst angeben PrimitiveUtil() Mit GetPrimitivesEPService() Methode, die die Tabelle angibt, aus der Quell- und Zielinformationen abgerufen werden sollen. Weitere Informationen finden Sie unter LeadtoCashCore – getPrimitivesEPService(String sourceToTargetConfigID, Objektkontext). Einmal PrimitiveUtil() Und GetPrimitivesEPService() Werden im Skript bereitgestellt, können Sie dann einen beliebigen der aufrufen CreateInstance() , delta() , Effekt() , Oder CommitInstance() Skripteinbindungen nach Bedarf für Ihren Anwendungsfall.
Beispiel für Lead-to-Cash Core-Workflow-Skript
Obwohl alle verfügbaren Lead-to-Cash-Core-Skripteinbindungen einzeln dokumentiert sind, können Sie das folgende Beispiel verwenden, um zu sehen, wie Sie diese Methoden gemeinsam 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));
- Der erste Anruf ruft die vorhandenen Informationen zum verkauften Produkt mit ab CreateInstance() Methode.
- Wir vergleichen dann diese Quell-JSON mit der geänderten JSON mithilfe von delta() Methode, die eine Delta-JSON zurückgibt.
- Die delta()JSON wird dann mit in eine JSON-Datei vom Typ „Reihenfolge“ umgewandelt Effekt() Methode.
- Die Auftrags-JSON wird mit in die Datenbank übernommen CommitInstance() Methode.
LeadtoCashCore – getPrimitivesEPService(String sourceToTargetConfigID, Objektkontext)
Löst aus PrimitiveUtil() Dienstprogrammmethode.
Um eine der verfügbaren Methoden in zu verwenden LeadtoCashCore Skripteinbindung: Sie müssen zuerst immer den geskripteten Erweiterungspunkt aufrufen PrimitiveUtil() In Ihrem Skript mit GetPrimitivesEPService() Dienstprogrammmethode zum Auslösen der Implementierung.
| Name | Typ | Beschreibung |
|---|---|---|
| context | Objekt | Optional. Zusätzliche Parameteroptionen zum Anzeigen von Attributwerten und zum Aufrufen mehrerer Instanzen gleichzeitig. |
| Kontext.isMultiSelect | Boolean | Optional. Kennzeichnung, die angibt, ob mehrere Entitäten als Eingabe übergeben werden sollen, um die Instanz zu erstellen. Gültige Werte:
Standardwert: false |
| Kontext.loadDisplayWert | 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 Quell-zu-Ziel-Zuordnung. Tabelle: Lead-to-Cash-Entitätszuordnung [sn_l2c_Core_Entity_Mapping] |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel wird aufgerufen PrimitiveUtil() Und wählt eine Implementierung basierend auf sn_l2c_Cust_Flows_sp_to_order aus, einer Zuordnungskonfigurations-ID in der Tabelle „Lead-to-Cash-Entitätszuordnung“ [sn_l2c_Core_Entity_Mapping].
//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(String headerSysIDs, String lineSysIDs, Boolean isTarget, Object additionalParams)
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 ihre Attribute enthält.
Verwenden Sie die Ausgabe-JSON von CreateInstance() Methode in nachfolgenden Methoden des Lead-to-Cash-Core-Workflows, z. B. delta() , Effekt() , Und CommitInstance() .
Legen Sie fest GetPrimitivesEPService() boolescher Parameter context.isMultiSelectAuf „wahr“ zum Aktivieren CreateInstance() Dient zum Übergeben mehrerer, kommagetrennter HeaderIDs oder lineIDs gleichzeitig. Andernfalls können Sie jeweils nur eine ID übergeben. Unter LeadtoCashCore – getPrimitivesEPService(String sourceToTargetConfigID, Objektkontext) finden Sie weitere Details. Der Anwendungsfall „einzelne HeaderID“ mit mehreren lineIDs wird ohne Einstellung unterstützt context.isMultiSelectAuf „wahr“.
| Name | Typ | Beschreibung |
|---|---|---|
| additionalParams | Objekt | Optional. Zusätzliche zu verwendende Parameter. |
| Zusätzliche Parameter.SkipLines | 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, aus der Daten abgerufen werden sollen. Erforderlich, wenn Sie nicht angeben lineSysIDsParameter. Bestanden Null Wenn Sie keine Header-sys_IDs übergeben.Legen Sie fest, um eine oder mehrere Header-sys_IDs in Ihrem Skript festzulegen Hinweis: Mindestens eine headerSysIDOder lineSysIDsParameter ist erforderlich. |
| IsTarget | Boolean | Optional. Kennzeichnung, die bestimmt, ob Zielentitätsdaten abgerufen werden sollen. Gültige Werte:
Standardwert: false |
| LineSysIDs | Zeichenfolge | Sys_ID(s) des Einzelelements einer Entität, aus der Entitätsdaten abgerufen werden sollen. Erforderlich, wenn Sie nicht angeben headerSysIDsUnd ob die Entitätsstruktur mit Einzelposten wie „verkauftes Produkt“ beginnt. Legen Sie fest, um eine oder mehrere sys_IDs von Einzelposten in Ihrem Skript festzulegen Hinweis: Mindestens eine headerSysIDOder lineSysIDsParameter ist erforderlich. Wenn mehrere übergeben werden lineSysIDs, Alle Datensätze müssen zum selben gehören headerSysID. |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Ein JSON-Objekt mit Details zum Entitätsdatensatz. Datentyp: Array von Objekten |
| _Status | Aktivitätsstatus der Entität. Mögliche Werte:
Standard: Aktiv Datentyp: Zeichenfolge |
| Merkmale | Liste der Entitätsmerkmale. Merkmale können zwischen Entitäten variieren. Datentyp: Array von Objekten |
| Merkmale.Attribute | Mindestens ein Objekt, das Informationen zu Attributen enthält, die dem Merkmalsdatensatz zugeordnet sind. Der <attribute type> kann je nach Datensätzen/Funktionalität, die dem Merkmal zugeordnet sind, verschiedene Werte sein. Dieses Objekt kann beispielsweise Verweise auf die sys_ID des Attributdatensatzes, zugehörige Merkmalsdatensätze, Merkmalsoptionsdatensätze oder Informationen zu verkauften Produkten enthalten. Datentyp: Objekt |
| Merkmale.Attribute.<attribute_type> | Informationen zum Schlüsselnamen des Elementattributs.Datentyp: Objekt |
| Merkmale.Attribute.<attribute_type>.Wert | Normalerweise die sys_ID des zugehörigen Attributdatensatzes, kann jedoch eine beliebige aussagekräftige Textzeichenfolge sein, die den zugehörigen Attributtyp beschreibt. Datentyp: Zeichenfolge |
| Merkmale.sys_ID | Objekt, das die sys_ID des zugehörigen Merkmalsdatensatzes enthält. Datentyp: Objekt |
| Merkmale.sys_ID.Wert | SYS_ID des zugehörigen Merkmalsdatensatzes. Datentyp: Zeichenfolge |
| Merkmale.Tabelle | Name der Tabelle, die den Merkmalsdatensatz der Lead-to-Cash-Entität enthält. Datentyp: Zeichenfolge |
| items | Enthält ein Array ausgewählter Objekte, wenn context.isMultiSelectIst auf „wahr“ festgelegt. 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 Elementattribut zugeordnet ist. |
| Elemente.Attribute.Account.Wert | Attribute des Elements. 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 |
| Elements.sys_ID | Objekt mit sys_ID-Informationen zum Entitätselement. Werte variieren zwischen Entitäten. Datentyp: Objekt |
| Elements.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.lineElemente | JSON-Objekt, das die Einzelelementdetails des Entitätsdatensatzes enthält. Datentyp: Array von Objekten |
| Items.lineItems._State | Aktivitätsstatus der Einzelposten-Entität. Mögliche Werte:
Standard: Aktiv Datentyp: Zeichenfolge |
| Elemente.lineElemente.Attribute | Attribute des Einzelposten-Datensatzes. Attribute können zwischen Entitäten variieren.Datentyp: Objekt |
| Elemente.lineElemente.Attribute.<key_name> | Informationen zum Schlüsselnamen des Positionselementattributs.Datentyp: Objekt |
| Elemente.lineElemente.Attribute.<key_name>.Wert | Wert des Schlüsselnamenattributs. Datentyp: Zeichenfolge |
| Elemente.lineElemente.Attribute.Account | Informationen über den Account, der dem Positionselementattribut zugeordnet ist. |
| Elemente.lineElemente.Attribute.Account.Wert | SYS_ID des Accounts, der dem Positionselementattribut zugeordnet ist. Datentyp: Zeichenfolge |
| items.lineItems.characteristics | Liste der Merkmale, die der Position zugeordnet sind. Merkmale können zwischen Entitäten variieren. Datentyp: Array von Objekten |
| items.lineItems.characteristics.attributes | Mindestens ein Objekt, das Informationen zu Attributen enthält, die dem Merkmalsdatensatz zugeordnet sind. Der <attribute type> kann je nach Datensätzen/Funktionalität, die dem Merkmal zugeordnet sind, verschiedene Werte sein. Dieses Objekt kann beispielsweise Verweise auf die sys_ID des Attributdatensatzes, zugehörige Merkmalsdatensätze, Merkmalsoptionsdatensätze oder Informationen zu verkauften Produkten enthalten. Datentyp: Objekt |
| items.lineItems.characteristics.attributes.<attribute_type>.Wert | Normalerweise die sys_ID des zugehörigen Attributdatensatzes, kann jedoch eine beliebige aussagekräftige Textzeichenfolge sein, die den zugehörigen Attributtyp beschreibt. Datentyp: Zeichenfolge |
| items.lineItems.characteristics.sys_id | Objekt, das die sys_ID des zugehörigen Merkmalsdatensatzes enthält. Datentyp: Objekt |
| items.lineItems.characteristics.sys_id.value | SYS_ID des zugehörigen Merkmalsdatensatzes. Datentyp: Zeichenfolge |
| items.lineItems.characteristics.table | Name der Tabelle, die den Merkmalsdatensatz der Lead-to-Cash-Entität enthält. Datentyp: Zeichenfolge |
| Elemente.lineElemente.lineElemente | Untergeordnete Einzelposten einer übergeordneten Position. Dieses Objekt hat das gleiche Format wie lineItemsParameter. Datentyp: Objekt |
| Elements.lineItems.sys_ID | Objekt mit sys_ID-Informationen zum zugehörigen Einzelposten-Datensatz. Datentyp: Objekt |
| Items.lineItems.sys_ID.Wert | SYS_ID eines zugeordneten Positionselementdatensatzes. Datentyp: Zeichenfolge |
| Elemente.lineElemente.Tabelle | Name der Tabelle, die den Einzelposten-Datensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
Das Beispielskript unten ruft auf CreateInstance() Methode zum Laden der Daten eines verkauften Produkts, seiner gesamten Hierarchie und seiner Merkmale.
//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 demonstriert die Verwendung isMultiSelectZum Aufrufen von CreateInstance() Verwenden Sie die Methode, und laden Sie die Daten zweier verkaufter Produkte mit ihrer gesamten Hierarchie und ihren Eigenschaften.
//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(Object sourceJSON, Object dirtyJSON, Object additionalParams)
Vergleicht die Quell- und geänderten Quell-JSON-Objekte einer Lead-to-Cash-Entität und gibt ein JSON-Objekt zurück, das alle an der Quell-JSON vorgenommenen Änderungen beschreibt, z. B. Hinzufügungen, Löschungen oder Änderungen.
| Name | Typ | Beschreibung |
|---|---|---|
| SourceJSON | Objekt | JSON-Objekt der Quell-Lead-to-Cash-Entität. Hinweis: Verwenden Sie LeadtoCashCore – createInstance(String headerSysIDs, String lineSysIDs, Boolean isTarget, Object additionalParams) Methode zum Abrufen der Quell-JSON einer Entität. |
| DirtyJSON | Objekt | Geänderte Quell-JSON der Lead-to-Cash-Entität. |
| additionalParams | Objekt | Optional. Zusätzliche zu verwendende Parameter. |
| additionalParams.delta_ignore_attributes | Objekt | Tabellenattribute, die beim Vergleich zwischen Quelle und dirtyJSON ignoriert werden sollen. Aktiviert die Unterstützung von Anwendungsfällen zur Neukonfiguration. |
| additionalParams.delta_ignore_attributes.<table_name> | Zeichenfolge | Der Name der Tabelle und der zugehörigen Attribute, die ignoriert werden sollen. Zum Beispiel: |
| AdditionalParameter.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 mit Details zum Entitätsdatensatz mit allen Änderungen, die zwischen dem sourceJSON und dem dirtyJSON aufgetreten sind. Datentyp: Objekt |
| LineItems | JSON-Objekt, das die Einzelelementdetails des Entitätsdatensatzes enthält. Zum Beispiel Auftragspositionen oder Angebotspositionen. Datentyp: Array von Objekten |
| LineItems._action | Change-Aktion, die auf die Position der Quell-JSON angewendet wird. Mögliche Werte:
Datentyp: Zeichenfolge |
| LineItems.Attribute | Attribute der Position. Beispiel: Name und Wert des Attributs. Kann je nach Entität unterschiedliche Felder enthalten. Datentyp: Objekt |
| positionselemente.Attribute.<attribute_name> | Name des Positionselementattributs. Zum Beispiel der Name eines Accounts oder Kontakts. Kann verschiedene Felder der Entität enthalten. Datentyp: Objekt |
| lineitems.Attribute.<attribute_name>.Wert | Wert des Positionselementattributs. Datentyp: Zeichenfolge |
| LineItems.Attribute.Account | Informationen zum Account, der dem Elementattribut zugeordnet ist. Datentyp: Objekt |
| LineItems.Attribute.Account.Wert | SYS_ID des Accounts, der dem Positionselementattribut zugeordnet ist. Datentyp: Zeichenfolge |
| lineItems.characteristics | Merkmale der Einzelposition. Kann je nach Entität unterschiedliche Felder enthalten. Datentyp: Array von Objekten |
| lineItems.characteristics.attributes | Attribute der Merkmale des Headerdatensatzes. Beispiel: Name und Wert des Attributs. Kann je nach Entität unterschiedliche Felder enthalten. Datentyp: Objekt |
| lineitems.characteristics.attributes.<field_name> | Attributname des Merkmalsdatensatzes, der der Position zugeordnet ist. Datentyp: Objekt |
| lineitems.characteristics.attributes.<field_name>.Wert | Wert des Attributs, das zum Merkmalsdatensatz einer Entität gehört. Datentyp: Zeichenfolge |
| lineItems.characteristics.sys_id | SYS_ID-Objekt des Merkmalsdatensatzes. Datentyp: Objekt |
| lineItems.characteristics.sys_id.value | SYS_ID des zugehörigen Merkmalsdatensatzes. Die aktualisierte Tabelle kann zwischen Entitäten variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| lineItems.characteristics.table | Name der Tabelle, die den Merkmalsdatensatz enthält. Datentyp: Zeichenfolge |
| LineItems.lineItems | Untergeordnete Einzelposten einer übergeordneten Position. Dieses Objekt hat das gleiche Format wie lineItemsParameter. Datentyp: Array von Objekten |
| LineItems.sys_ID | SYS_ID des zugehörigen Elementdatensatzes. Datentyp: Objekt |
| LineItems.sys_ID.Wert | SYS_ID eines zugeordneten Elementdatensatzes. Die aktualisierte Tabelle kann zwischen Entitäten wie Bestellung oder Spezifikation variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| LineItems.Tabelle | Name der Tabelle, die den Elementdatensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie Sie aufrufen delta() Methode, indem zuerst aufgerufen wird PrimitiveUtil Dienstprogrammmethode und GetPrimitiesEPService() , Und geben dann die Quell- und Ziel-JSON-Objekte an.
//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 die Mehrfachauswahl gebildet wird delta() Methode durch ersten Aufruf PrimitiveUtil Und GetPrimitivesEPService Und stellt dann die Quell- und Ziel-JSON-Objekte für mehrere Zeilen- oder Header-IDs bereit. 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 – Effect(Object sourceJSON, Object targetJSON, Object additionalParams)
Transformiert die Quell-JSON-Struktur einer bestimmten Entität und wendet sie auf das Ziel-JSON einer anderen Entität an. Sie können dann die geänderte Entität mit der in der Datenbank festschreiben CommitInstance() Methode.
Sie können die Ausgabe-JSON von verwenden delta() Methode in Effekt() Anforderung. Anschließend können Sie beliebig festlegen Effekt() JSON-Ausgabe an die Datenbank mit CommitInstance() Zum Abschließen des Lead-to-Cash-Workflows.
| Name | Typ | Beschreibung |
|---|---|---|
| SourceJSON | Objekt | JSON mit Details der Quellentität. Hinweis: Verwenden Sie LeadtoCashCore – createInstance(String headerSysIDs, String lineSysIDs, Boolean isTarget, Object additionalParams) Dient zum Abrufen der Quell-JSON einer Entität. |
| TargetJSON | Objekt | JSON mit Details der Zielentität. |
| additionalParams | Objekt | Optional. Zusätzliche zu verwendende Parameter. |
| AdditionalParams.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 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 die 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-Quell-Objekt, auf das Änderungen angewendet wurden. Die Objektstruktur kann zwischen Entitäten variieren. Datentyp: Objekt |
| _Source_object.sys_ID | SYS_ID des Quellentitätsdatensatzes, der aktualisiert wurde. Datentyp: Zeichenfolge |
| _Source_object.table | Tabellenspeicherort des Quellentitätsdatensatzes, der aktualisiert wurde. Dieser Wert kann zwischen Entitäten variieren. Datentyp: Zeichenfolge |
| LineItems._Glide_action | Change-Aktion, die für die Position aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| LineItems._Source_object | Details des Quellentitätsdatensatzes, auf den die _Glide_action angewendet wurde. Dieses Objekt kann zwischen Entitäten variieren. Datentyp: Objekt |
| LineItems._Source_object.sys_ID | SYS_ID des Quellentitätsdatensatzes, der aktualisiert wurde. Datentyp: Zeichenfolge |
| LineItems._Source_object.table | Tabellenspeicherort des Quellentitätsdatensatzes, der aktualisiert wurde. Dieser Wert kann zwischen Entitäten variieren. Datentyp: Zeichenfolge |
| LineItems._State | Status der Entität. Datentyp: Objekt |
| LineItems._State.value | Der aktuelle Status der Entität. Mögliche Werte:
Datentyp: Zeichenfolge |
| LineItems.Attribute | Attribute der Position. Beispiel: Name und Wert des Attributs. Kann je nach Entität unterschiedliche Felder enthalten. Datentyp: Objekt |
| positionselemente.Attribute.<attribute_name> | Name des Positionselementattributs. Zum Beispiel der Name eines Accounts oder Kontakts. Kann verschiedene Felder der Entität enthalten. Datentyp: Objekt |
| lineitems.Attribute.<attribute_name>.Wert | Wert des Positionselementattributs. Datentyp: Zeichenfolge |
| LineItems.Attribute.Account | Informationen zum Account, der dem Elementattribut zugeordnet ist. Datentyp: Objekt |
| LineItems.Attribute.Account.Wert | SYS_ID des Accounts, der dem Positionselementattribut zugeordnet ist. Datentyp: Zeichenfolge |
| LineItems.Attribute.short_description | Kurze Beschreibung des Positionselementattributs. Datentyp: Zeichenfolge |
| lineItems.characteristics | Liste der Merkmale, die der Position zugeordnet sind. Merkmale können zwischen Entitäten variieren. Datentyp: Array von Objekten |
| lineItems.characteristics._glide_action | Change-Aktion, die für die Position aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| lineItems.characteristics.attributes | Mindestens ein Objekt, das Informationen zu Attributen enthält, 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 |
| lineItems.characteristics.attributes.<attribute_type> | Typ des Attributs. Dieser Wert kann verschiedene Werte basierend auf den Datensätzen oder Funktionen enthalten, die dem Merkmal zugeordnet sind. Datentyp: Objekt |
| lineItems.characteristics.attributes.<attribute_type>.Wert | Wert des Positionselementattributs. Datentyp: Zeichenfolge |
| lineitems.characteristics.attributes.<field_name> | Attributname des Merkmalsdatensatzes, der der Position zugeordnet ist. Datentyp: Objekt |
| lineitems.characteristics.attributes.<field_name>.Wert | Wert des Attributs, das zum Merkmalsdatensatz einer Entität gehört. Datentyp: Zeichenfolge |
| lineItems.characteristics.sys_id | SYS_ID des zugehörigen Merkmalsdatensatzes. Datentyp: Objekt |
| lineItems.characteristics.sys_id.value | SYS_ID des zugehörigen Merkmalsdatensatzes. Die aktualisierte Tabelle kann zwischen Entitäten variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| lineItems.characteristics.table | Name der Tabelle, die den Merkmalsdatensatz enthält. Datentyp: Zeichenfolge |
| LineItems.lineItems | Untergeordnete Einzelposten einer übergeordneten Position. Dieses Objekt hat das gleiche Format wie lineItemsParameter. Datentyp: Array von Objekten |
| LineItems.sys_ID | SYS_ID des zugehörigen Elementdatensatzes. Datentyp: Objekt |
| LineItems.sys_ID.Wert | SYS_ID eines zugeordneten Elementdatensatzes. Die aktualisierte Tabelle kann zwischen Entitäten wie Bestellung oder Spezifikation variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| LineItems.Tabelle | Name der Tabelle, die den Elementdatensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
| sys_id | SYS_ID der Entität. Datentyp: Zeichenfolge |
| table | Name der Tabelle, in der die Entität gefunden wird. 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 additionalParams)
Legt die JSON einer bestimmten Lead-to-Cash-Entität an die Instanz fest, gibt eine Statusnachricht mit aktualisierten Informationen zurück und aktualisiert als Ergebnis die Lead-to-Cash-Core-Entitätstabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| TargetJSON | Objekt | JSON-Objekt, das die „Glide_action“ einer Zielentität zum Commit enthält. Sie können die Ausgabe von übergeben Effekt() Methode hier. Hinweis: „Glide_action“ identifiziert die Change-Aktion, die zwischen der Quell- und dem Ziel-JSON einer Lead-to-Cash-Entität aufgetreten ist. |
| additionalParams | Objekt | Optional. Zusätzliche zu verwendende Parameter. |
| additionalParams.useNumberGenerator | Boolean | Optional. Kennzeichnung, die angibt, ob sys_Numbers als Massengenerierung generiert werden soll. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Details zum Zielentitätsdatensatz. Datentyp: Objekt |
| Datenobjekt | JSON-Objekt, das detaillierte Daten zu den auf jeder Ebene ausgeführten Commit-Vorgängen enthält. Datentyp: Objekt |
| DataObject._commit ObjectInfo | Commit-Status und sys_ID, wenn die Positionsänderung eine EINFÜGEAKTION ist. Datentyp: Objekt |
| DataObject._commit ObjectInfo.Status | Status des Commit-Vorgangs, der für die bestimmte Entität ausgeführt wird. Mögliche Werte:
Datentyp: Zeichenfolge |
| DataObject._commit ObjectInfo.sys_ID | SYS_ID des eingefügten Datensatzes. Die Methode gibt diesen Parameter nur zurück, wenn der dataObject._glide_actionIst EINFÜGEN . Die aktualisierte Tabelle kann zwischen Entitäten variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order].Datentyp: Zeichenfolge |
| DataObject._Glide_action | Change-Aktion, die für die Position aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| DataObject._Source_object | JSON-Quell-Objekt, auf das Änderungen angewendet wurden. Die Objektstruktur kann zwischen Entitäten variieren. Datentyp: Objekt |
| DataObject._Source_object.sys_ID | SYS_ID des Quellentitätsdatensatzes, auf den die _Glide_action angewendet wurde. Die aktualisierte Tabelle kann zwischen Entitäten variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| DataObject._Source_object.table | Name der Tabelle, die den Quellentitätsdatensatz enthält, auf den die _Glide_action angewendet wurde. Dies kann zwischen Entitäten variieren. Datentyp: Zeichenfolge |
| DataObject.lineItems | Einzelelementdetails des Entitätsdatensatzes. Zum Beispiel Auftragspositionen oder Angebotspositionen. Datentyp: Array von Objekten |
| DataObject.lineItems._action | Change-Aktion, die auf die Position der Quell-JSON angewendet wird. Mögliche Werte:
Datentyp: Zeichenfolge |
| DataObject.lineItems._commit ObjectInfo | Wird zurückgegeben, wenn der Positionswechsel ein ist EINFÜGEN Aktion. Enthält den Commit-Status und die sys_ID des ObjektsDatentyp: Objekt |
| DataObject.lineItems._commit ObjectInfo.Status | Status des Commit-Vorgangs, der für die bestimmte Entität ausgeführt wird. Mögliche Werte:
Datentyp: Zeichenfolge |
| DataObject.lineItems._commit ObjectInfo.sys_ID | SYS_ID des eingefügten Datensatzes. Die aktualisierte Tabelle kann zwischen Entitäten variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| DataObject.lineItems._Glide_action | Change-Aktion, die für die Position 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 die _Glide_action angewendet wurde. Datentyp: Zeichenfolge |
| DataObject.lineItems._State | Status des Objekts. Mögliche Werte:
Datentyp: Zeichenfolge |
| DataObject.lineItems.Attribute | Attribute der Position. Beispiel: Name und Wert des Attributs. Kann je nach Entität unterschiedliche Felder enthalten. Datentyp: Objekt |
| Datenobjekt.lineElemente.Attribute.<attribute_name> | Name des Positionselementattributs. Zum Beispiel der Name eines Accounts oder Kontakts. Kann verschiedene Felder der Entität enthalten. Datentyp: Objekt |
| Datenobjekt.lineElemente.Attribute.<attribute_name>.Wert | Wert des Positionselementattributs. Datentyp: Zeichenfolge |
| dataObject.lineItems.characteristics | Liste der Merkmale, die der Position zugeordnet sind. Merkmale können zwischen Entitäten variieren. Datentyp: Array von Objekten |
| dataObject.lineItems.characteristics._glide_action | Change-Aktion, die für die Position aufgetreten ist. Mögliche Werte:
Datentyp: Zeichenfolge |
| dataObject.lineItems.characteristics.attributes | Mindestens ein Objekt, das Informationen zu Attributen enthält, 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.characteristics.attributes.<attribute_type> | Name des Merkmalsattributs. Kann verschiedene Felder der Entität enthalten. Datentyp: Objekt |
| dataObject.lineItems.characteristics.attributes.<attribute_type>.<attribute_name> | Name des Merkmalsattributs. Datentyp: Objekt |
| dataObject.lineItems.characteristics.attributes.<attribute_type>.<attribute_name>.Wert | Wert des Positionselementattributs. Datentyp: Zeichenfolge |
| DataObject.lineItems[0].characteristics.sys_ID | SYS_ID des zugehörigen Merkmalsdatensatzes. Datentyp: Objekt |
| DataObject.lineItems[0].characteristics.sys_id.value | SYS_ID des zugehörigen Merkmalsdatensatzes. Die aktualisierte Tabelle kann zwischen Entitäten variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| DataObject.lineItems[0].Merkmale.Tabelle | Name der Tabelle, die den Merkmalsdatensatz enthält. Datentyp: Zeichenfolge |
| DataObject.lineItems[0].lineItems | Untergeordnete Einzelposten einer übergeordneten Position. Dieses Objekt hat das gleiche Format wie lineItemsParameter. Datentyp: Array von Objekten |
| DataObject.lineItems[0].sys_ID | SYS_ID des zugehörigen Elementdatensatzes. Datentyp: Objekt |
| DataObject.lineItems[0].sys_id.Wert | SYS_ID eines zugeordneten Elementdatensatzes. Die aktualisierte Tabelle kann zwischen Entitäten wie Bestellung oder Spezifikation variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| DataObject.lineItems[0].table | Name der Tabelle, die den Elementdatensatz enthält, der der Lead-to-Cash-Entität zugeordnet ist. Datentyp: Zeichenfolge |
| DataObject.sys_ID | SYS_ID des zugehörigen Einzelposten-Datensatzes. Die aktualisierte Tabelle kann zwischen Entitäten variieren. Beispiel: Reihenfolge [sn_ind_tmt_orm_order]. Datentyp: Zeichenfolge |
| Datenobjekt.Tabelle | 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 messageZeichenfolgenwert. Datentyp: Zeichenfolge |
| Fehler | Fehlermeldung, die den Fehler von beschreibt CommitInstance Methode. Wenn die Anforderung erfolgreich ist, gibt dieser Parameter eine leere Zeichenfolge zurück. Datentyp: Zeichenfolge |
| HeaderID | SYS_ID des Zielentitätsdatensatzes, der von erstellt oder aktualisiert wurde CommitInstance Methode. Gespeichert in: Die zugehörige Tabelle je nach Entitätstyp, z. B. verkauftes Produkt, Bestellung usw. Datentyp: Zeichenfolge |
| Nachricht | Nachricht, die die Erfolgs-, Fehler- oder partiell_success-Szenarien beschreibt. Diese Nachricht ist mit identisch displayMessageZeichenfolgenwert und kann von anderen Anwendungsaufrufen für die API verwendet werden. Datentyp: Zeichenfolge |
| RootLineIDs | Kommagetrennte Liste von sys_IDs der Zielentitätsdatensätze, die von eingefügt, aktualisiert oder gelöscht wurden CommitInstance Methode. 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 jede verwendet wird LeadtoCashCore Methode zum Abrufen, Anwenden und Commit der Details einer Quell-zu-Ziel-Entität. In diesem Beispiel wird die Methode „commit Instance()“ verwendet, um das geänderte JSON für eine Lead-to-Cash-Entität in der Instanz zu bestätigen.
//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"
]
}