LeadtoCashCore – Scoped
Erstellen Sie Workflows im Lebenszyklus Lead to Cash Core.
Mit den LeadtoCashCore -Skripteinbindungen können Sie einen Lead-to-Cash-Workflow programmgesteuert orchestrieren. In diesem Workflow ordnen Sie einer Zielentität eine Quellentität zu. Eine Entität ist 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 Inhalt entspricht. Die von dieser API bereitgestellte Funktionalität stellt die Entitätszuordnungsfunktion dar, die in der Lead-to-Cash-Funktion verfügbar ist. Weitere Informationen finden Sie unter Sales and Order Management workflows.
Das Plugin „Lead to Cash Core“ (com.snd.l2c.core) muss aktiviert sein, damit LeadtoCashCore -Skripteinbindungen in einer Instanz verfügbar sind. Diese APIs gehören zum Namespace sn_l2c_core und erfordern die Administratorrolle.
Um einen Lead-to-Cash-API-Workflow abzuschließen, übergeben Sie Rückgabeparameter von einer LeadtoCashCore-Skripteinbindung an die nächste. Normalerweise rufen Sie die Skripteinbindungen in der folgenden Reihenfolge auf:
- LeadtoCashCore – createInstance(String headerSysID, String lineSysIDs, Boolean isTarget, Object additionalParams)Ruft die Daten einer bestimmten Entität ab. Zum Beispiel auftragsbezogene Informationen, einschließlich Einzelposten.
- LeadtoCashCore –delta(Object sourceJSON, ObjectdirtyJSON, Object additionalParams)Vergleicht zwei JSON-Eingaben und identifiziert alle zwischen ihnen aufgetretenen Änderungen. Zum Beispiel, wenn etwas in einer Entität hinzugefügt, gelöscht oder geändert wird.
- LeadtoCashCore – Effekt(Object sourceJSON, Object targetJSON, Object additionalParams)Transformiert das JSON-Quellziel in ein Zielobjekt.
- LeadtoCashCore – commitInstance(Object targetJSON, Object additionalParams)– Übernimmt die in der Skripteinbindung „ effect() “ vorgenommene Transformation in die Datenbank.
Erweiterungspunkt
Jede dieser Skripteinbindungen verwendet den geskripteten Erweiterungspunkt PrimitiveUtil, der Methoden zum Abrufen des Erweiterungspunktservice bereitstellt und die Skripteinbindungen gemäß den verfügbaren Parametern aufruft. Sie müssen diesen Erweiterungspunkt zuerst mit der Methode getPrimitivesEPService() angeben, die die Tabelle angibt, aus der Quell- und Zielinformationen abgerufen werden sollen (weitere Informationen finden Sie unter LeadtoCashCore – getPrimitivesEPService(String sourceToTargetConfigID). Sobald diese beiden Parameter im Skript angegeben sind, können Sie die Skripteinbindungen createInstance(), Delta(), Effekt()oder commitInstance() je nach Bedarf für Ihren Anwendungsfall aufrufen.
Beispiel „Lead to Cash Core“-Workflow-Skript
Obwohl jede der verfügbaren Lead-to-Cash-Core-Skripteinbindungen detaillierter dokumentiert ist, können Sie sich auf das folgende Beispiel beziehen, um zu sehen, wie diese Skripts zusammen verwendet werden, um einen Lead-to-Cash-Workflow zu erstellen.
var util = new sn_l2c_core.PrimitiveUtil();
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order');
//CREATE INSTANCE
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 createInstance() abgerufen.
- Anschließend vergleichen wir diese sourceJSON mit der unsauberen JSON mithilfe von Delta(), was eine Delta-JSON zurückgibt.
- Das Delta-JSON-Objekt wird dann mithilfe von Effekt()in ein JSON-Objekt vom Typ Order umgewandelt.
- Die Auftrags-JSON wird mit commitInstance() an die Datenbank übergeben und aktualisiert die Tabelle „Lead to Cash Core Entity“.
LeadtoCashCore – getPrimitivesEPService(String sourceToTargetConfigID)
Löst den PrimitivUtil-Erweiterungspunkt aus.
Um eine der verfügbaren Methoden in den Skripteinbindungen der LeadtoCash Core-API 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 |
|---|---|---|
| sourceToTargetConfigID | Zeichenfolge | Die Zuordnungskonfigurations-ID für die Quelle-zu-Ziel-Zuordnung. Befindet sich in der Tabelle „Lead to Cash – Entitätszuordnung“ [sn_l2c_core_entity_mapping]. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel ruft den Erweiterungspunkt PrimitiveUtil() auf und wählt eine Implementierung basierend auf sourceToTargetConfigID eines L2C-Flows, der Zuordnungskonfigurations-ID in der Tabelle sn_l2c_core_entity_mapping aus.
//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’)
LeadtoCashCore – createInstance(String headerSysID, String lineSysIDs, Boolean isTarget, Object additionalParams)
Gibt die Daten einer bestimmten Lead-to-Cash-Entität mit einem JSON-Objekt zurück, das verschiedene Details wie Header, Linien, untergeordnete Linien, Merkmale und deren Attribute enthält.
Die Ausgabe-JSON von createInstance() kann in nachfolgenden APIs des Lead-to-Cash-Core-Workflows wie Delta(), Effekt()und CommitInstance() verwendet werden.
Für die LeadtoCashCore-API müssen Sie zuerst den geskripteten Erweiterungspunkt PrimitiveUtil() mit der Dienstprogrammmethode getPrimitivesEPService() aufrufen, um die Implementierung auszulösen, bevor Sie createInstance() in Ihrem Skript aufrufen.
| Name | Typ | Beschreibung |
|---|---|---|
| headerSysID | Zeichenfolge | Die Header-sys_id einer Entität, aus der Entitätsdaten abgerufen werden sollen. Erforderlich, wenn Sie lineIDnicht angeben. Hinweis: In der Anforderung ist mindestens ein Parameter headerSysID oder LineSysIDs erforderlich. |
| lineSysID | Zeichenfolge | Die sys_id des Einzelpostens einer Entität, aus der Entitätsdaten abgerufen werden sollen. Erforderlich, wenn Sie headerIDnicht angeben. Hinweis: In der Anforderung ist mindestens ein Parameter headerSysID oder LineSysIDs erforderlich. |
| ist Ziel | Boolean | Optional. Kennzeichnung, die bestimmt, ob Daten der Zielentität abgerufen werden sollen. Gültige Werte:
Standardwert: false |
| additionalParams | Objekt | Optional. Gibt zusätzliche zu verwendende Parameter an. |
| zusätzlicheParameter.Zeilen überspringen | Boolean | Optional. Kennzeichnung, die angibt, ob Einzelposten einer Entität abgerufen werden sollen. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Ein JSON-Objekt, das Details des Entitätsdatensatzes enthält. Hinweis: Diese JSON wird im Anforderungsparameter sourceJSON von LeadtoCashCore –delta(Object sourceJSON, ObjectdirtyJSON, Object additionalParams)verwendet. Datentyp: Objekt |
| Tabelle | Tabellenname des Header-Datensatzes einer Lead-to-Cash-Entität. Datentyp: Zeichenfolge |
| sys_id | Sys_id des Header-Datensatzes.Datentyp: Objekt |
| sys_id.value | Der sys_id-Wert des Header-Datensatzes. Datentyp: Zeichenfolge |
| attributes | Attribute des Header-Datensatzes.Datentyp: Objekt |
| Attribute.<field_name> | Attribute des Header-Datensatzes. Zum Beispiel der Account oder Kontakt usw. Kann unterschiedliche Felder der Entität enthalten.Datentyp: Objekt |
| Attribute.<field_name> .Wert | Wert des Attributs, das zum Header-Datensatz einer Entität gehört. Datentyp: Zeichenfolge |
| Einzelposten | Einzelposten einer Entität. Zum Beispiel Bestellpositionen, Angebotspositionen usw.Datentyp: Array |
| lineItems.table | Tabellenname des Einzelpostens einer Lead-to-Cash-Entität. Datentyp: Zeichenfolge |
| lineItems.sys_id | Sys_id des Einzelposten-Datensatzes.Datentyp: Objekt |
| lineItems.sys_id.value | Der sys_id-Wert des Einzelposten-Datensatzes. Datentyp: Zeichenfolge |
| lineItems.attributes | Attribute des Einzelposten-Datensatzes.Datentyp: Objekt |
| lineItems.attributes<field_name> | Attribute des Einzelposten-Datensatzes. Zum Beispiel der Account oder Kontakt usw. Kann je nach Entität unterschiedliche Felder enthalten.Datentyp: Objekt |
| lineItems.attributes<field_name> .Wert | Wert des Attributs, das zum Einzelposten einer Entität gehört. Datentyp: Zeichenfolge |
| Einzelposten.Einzelposten | Untergeordnete Einzelposten einer übergeordneten Einzelposition.Datentyp: Objekt |
| „lineItems.characteristics“. | Merkmale eines Einzelpostens.Datentyp: Array |
| Eigenschaften.Tabelle | Tabellenname des Merkmalsdatensatzes einer Lead-to-Cash-Entität. Datentyp: Zeichenfolge |
| Eigenschaften.sys_id | Sys_id eines Merkmalsdatensatzes.Datentyp: Objekt |
| Eigenschaften.sys_id.value | Der sys_id-Wert eines Merkmalsdatensatzes. Datentyp: Zeichenfolge |
| Eigenschaften.Attribute | Attribute des Merkmaldatensatzes.Datentyp: Objekt |
| Eigenschaften.Attribute<field_name> | Attribute des Merkmaldatensatzes. Zum Beispiel der Name oder Merkmalswert usw. Kann je nach Entität unterschiedliche Merkmale enthalten.Datentyp: Objekt |
| Eigenschaften.Attribute<field_name> .Wert | Wert des Attributs, das zum Merkmalsdatensatz einer Entität gehört. Datentyp: Zeichenfolge |
Das folgende Beispielskript ruft die createInstance- API 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 APIs of the flow such as Delta, Effect and Commit Instance
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"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
],
"characteristics": []
}
],
"characteristics": [
{
"table": "sn_prd_pm_product_characteristics",
"sys_id": {
"value": "8d669b6665ebf110f877d71ec56bf75c"
},
"attributes": {
"sys_id": {
"value": "8d669b6665ebf110f877d71ec56bf75c"
},
"characteristic_value": {
"value": ""
},
"characteristic": {
"value": "4f31999fd0a63110f8770dbf976be178"
},
"characteristic_option": {
"value": "4f31999fd0a63110f8770dbf976be179"
},
"sold_product": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
}
}
}
]
}
]
}
LeadtoCashCore –delta(Object sourceJSON, ObjectdirtyJSON, Object additionalParams)
Vergleicht die JSON-Daten der Quelle und der geänderten Quelle einer Lead-to-Cash-Entität und gibt ein JSON-Objekt zurück, in dem alle an der JSON-Quelle vorgenommenen Änderungen aufgeführt sind, z. B. Ergänzungen, Löschungen oder Änderungen.
Für die LeadtoCashCore-API müssen Sie zuerst den geskripteten Erweiterungspunkt PrimitiveUtil() mit der Dienstprogrammmethode getPrimitivesEPService() aufrufen, um die Implementierung auszulösen, bevor Sie Delta() in Ihrem Skript aufrufen.
| Name | Typ | Beschreibung |
|---|---|---|
| sourceJSON | Objekt | Quell-JSON der Entität „Lead-to-Cash“. Hinweis: Verwenden Sie LeadtoCashCore – createInstance(String headerSysID, String lineSysIDs, Boolean isTarget, Object additionalParams), um die JSON-Quelle einer Entität abzurufen. |
| „dirtyJSON“. | Objekt | Die geänderte Quell-JSON der Entität „Lead-to-Cash“. |
| additionalParams | Objekt | Optional. Gibt zusätzliche zu verwendende Parameter an. Derzeit sind keine zusätzlichen Parameter verfügbar, werden aber in Zukunft verfügbar sein. |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Ein JSON-Objekt, das Details des Entitätsdatensatzes enthält. Datentyp: Objekt |
| _Aktion | Die auf das Quell-JSON angewendete Aktion. Mögliche Werte:
|
| Tabelle | Tabellenname des Header-Datensatzes einer Lead-to-Cash-Entität. Datentyp: Zeichenfolge |
| sys_id | Sys_id des Header-Datensatzes.Datentyp: Objekt |
| sys_id.value | Der sys_id-Wert des Header-Datensatzes. Datentyp: Zeichenfolge |
| attributes | Attribute des Header-Datensatzes.Datentyp: Objekt |
| Attribute.<field_name> | Attribute des Header-Datensatzes. Zum Beispiel der Account oder Kontakt usw. Kann unterschiedliche Felder der Entität enthalten.Datentyp: Objekt |
| Attribute.<field_name> .Wert | Wert des Attributs, das zum Header-Datensatz einer Entität gehört. Datentyp: Zeichenfolge |
| Einzelposten | Einzelposten einer Entität. Zum Beispiel Bestellpositionen, Angebotspositionen usw.Datentyp: Array |
| lineItems._action | Die Aktion, die auf den Einzelposten in der JSON-Quelle angewendet wird. Mögliche Werte:
|
| lineItems.table | Tabellenname des Einzelpostens einer Lead-to-Cash-Entität. Datentyp: Zeichenfolge |
| lineItems.sys_id | Sys_id des Einzelposten-Datensatzes.Datentyp: Objekt |
| lineItems.sys_id.value | Der sys_id-Wert des Einzelposten-Datensatzes. Datentyp: Zeichenfolge |
| lineItems.attributes | Attribute des Einzelposten-Datensatzes.Datentyp: Objekt |
| lineItems.attributes<field_name> | Attribute des Einzelposten-Datensatzes. Zum Beispiel der Account oder Kontakt usw. Kann je nach Entität unterschiedliche Felder enthalten.Datentyp: Objekt |
| lineItems.attributes<field_name> .Wert | Wert des Attributs, das zum Einzelposten einer Entität gehört. Datentyp: Zeichenfolge |
| Einzelposten.Einzelposten | Untergeordnete Einzelposten einer übergeordneten Einzelposition.Datentyp: Objekt |
| „lineItems.characteristics“. | Merkmale eines Einzelpostens.Datentyp: Array |
| Eigenschaften._Aktion | Die auf das Merkmal angewendete Aktion. Mögliche Werte:
|
| Eigenschaften.Tabelle | Tabellenname des Merkmalsdatensatzes einer Lead-to-Cash-Entität. Datentyp: Zeichenfolge |
| Eigenschaften.sys_id | Sys_id eines Merkmalsdatensatzes.Datentyp: Objekt |
| Eigenschaften.sys_id.value | Der sys_id-Wert eines Merkmalsdatensatzes. Datentyp: Zeichenfolge |
| Eigenschaften.Attribute | Attribute des Merkmaldatensatzes.Datentyp: Objekt |
| Eigenschaften.Attribute<field_name> | Attribute des Merkmaldatensatzes. Zum Beispiel der Name oder Merkmalswert usw. Kann je nach Entität unterschiedliche Merkmale enthalten.Datentyp: Objekt |
| Eigenschaften.Attribute<field_name> .Wert | Wert des Attributs, das zum Merkmalsdatensatz einer Entität gehört. Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie die Delta-API erstellt wird, indem zuerst PrimitivUtil und getPrimitiesEPService aufgerufen und dann die Quell- und Ziel-JSON-Objekte 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"
}
]
}
LeadtoCashCore – Effekt(Object sourceJSON, Object targetJSON, Object additionalParams)
Transformiert die JSON-Quellstruktur einer bestimmten Lead-to-Cash-Entität und wendet sie auf das targetJSON der anderen Lead-to-Cash-Entität an. Das zurückgegebene JSON-Objekt kann dann mithilfe der commitInstance()-Skripteinbindung in die Datenbank einer Lead-to-Cash-Entität übernommen werden.
Die Ausgabe-JSON von Delta() kann in der Anforderung „effect()“ verwendet werden. Dann kann jede JSON-Ausgabe von „effect()“ mit commitInstance() an die Datenbank übergeben werden, um den Lead-to-Cash-Workflow abzuschließen.
Für die LeadtoCashCore-API müssen Sie zuerst den geskripteten Erweiterungspunkt PrimitiveUtil() mit der Dienstprogrammmethode getPrimitivesEPService() aufrufen, um die Implementierung auszulösen, bevor Sie in Ihrem Skript „effect() “ aufrufen.
| Name | Typ | Beschreibung |
|---|---|---|
| sourceJSON | Objekt | JSON mit den Details der Quellentität. Hinweis: Verwenden Sie LeadtoCashCore – createInstance(String headerSysID, String lineSysIDs, Boolean isTarget, Object additionalParams), um die JSON-Quelle einer Entität abzurufen. |
| targetJSON | Objekt | JSON mit Details zur Zielentität. |
| additionalParams | Objekt | Optional. Gibt zusätzliche zu verwendende Parameter an. Derzeit sind keine zusätzlichen Parameter verfügbar, werden aber in Zukunft verfügbar sein. |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Ein JSON-Objekt, das den Change enthält, der aufgetreten ist und von der Quelle auf die Zielentität angewendet wurde. JSON-Objekte bei jedem der Objekte, Header/Zeilen/untergeordneten Zeilen/Merkmale der Lead-to-Cash-Entität. Mögliche Werte:
|
Das folgende Beispiel zeigt, wie Transformationslogik mit der Ausgabe der Delta() -API angewendet wird:
//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 for subsequent APIs of the flow ‘Commit Instance’.
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"
}
}
]
}
]
}
LeadtoCashCore – commitInstance(Object targetJSON, Object additionalParams)
Übernimmt das JSON-Objekt einer bestimmten Lead-to-Cash-Entität in die Datenbank und gibt eine Statusmeldung mit aktualisierten Informationen zurück. Durch diesen Commit werden Änderungen an der Kernentitätstabelle „Lead to Cash“ automatisch angewendet.
Für die LeadtoCashCore-API müssen Sie zuerst den geskripteten Erweiterungspunkt PrimitiveUtil() mit der Dienstprogrammmethode getPrimitivesEPService() aufrufen, um die Implementierung auszulösen, bevor Sie commitInstance() in Ihrem Skript aufrufen.
| Name | Typ | Beschreibung |
|---|---|---|
| targetJSON | Objekt | Das JSON-Objekt, das „glide_action“ einer Zielentität für den Commit enthält. Die Ausgabe der Effekt-()- API kann hier übergeben werden. Hinweis: „glide_action“ identifiziert die Change-Aktion, die zwischen der Quell- und Ziel-JSON einer Lead-to-Cash-Entität aufgetreten ist. Weitere Informationen finden Sie im Abschnitt „Rückgaben“ in LeadtoCashCore – Effekt(Object sourceJSON, Object targetJSON, Object additionalParams). |
| additionalParams | Objekt | Optional. Gibt zusätzliche zu verwendende Parameter an. Derzeit sind keine zusätzlichen Parameter verfügbar, werden aber in Zukunft verfügbar sein. |
| Typ | Beschreibung |
|---|---|
| JSON-Objekt | Ein JSON-Objekt mit Details zum Zielentitätsdatensatz.Datentyp: Objekt |
| status | Statusmeldung mit dem Wert „Erfolg/Fehler“ der commitInstance- API. Datentyp: Zeichenfolge |
| Fehler | Fehlermeldung bei Fehler der commitInstance- API. Datentyp: Zeichenfolge |
| Header-ID | Header-ID des Zielentitätsdatensatzes, der mit der commitInstance- API erstellt oder aktualisiert wurde. Datentyp: Zeichenfolge |
| rootLineIDs | Stammzeilen-IDs der Zielentitätsdatensätze, die mit der commitInstance- API eingefügt, aktualisiert oder gelöscht wurden. Datentyp: Array von Zeichenfolgen |
Das folgende Beispiel zeigt, wie jede Lead-to-Cash-Core-API zum Abrufen, Anwenden und Festlegen der Details einer Quelle-zu-Ziel-Entität verwendet wird.
//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));
//The returned JSON can be used for subsequent operations.
Ausgabe:
{
"status": "success",
"error": "",
"headerID": "cc9b3db665e73510f877d71ec56bf7ed",
"rootLineIDs": [
"0c9b3db665e73510f877d71ec56bf7f1"
]
}