API IBQConfigBase : dans le champ d’application
Include de script qui doit être étendu pour Gestion des ventes et des commandes que le suivi des demandes assure le suivi des demandes. Cet include de script fournit des méthodes remplaçables qui définissent le mode d’exécution des demandes.
Le module d’extension Core de l’API de ventes et de services (com.sn_tmt_core) doit être activé pour que l’include de script IBQConfigBase soit disponible dans une instance. Cet include de script appartient à l’espace de noms sn_tmt_core et nécessite le rôle administrateur.
Extension de l’API IBQConfigBase
Définissez un include de script avec les méthodes remplaçables de l’API IBQConfigBase.
- Créez un script include. Le nom doit commencer par IBQConfig, par exemple, IBQConfigQuoteToOrderFlowSNC.
- Étendez l’API IBQConfigBase .Par exemple :
IBQConfigQuoteToOrderFlowSNC.prototype = Object.extendsObject(sn_tmt_core.IBQConfigBase, { ... }); - Remplacez toutes les méthodes nécessaires fournies par l’API IBQConfigBase .Par exemple :
getRunMode: function(inboundQueueParams) { return this.quoteUtil.getQuoteSize(inboundQueueParams.source_record_ids, this.threshold); }, generateParentRecord: function(inboundQueueParams, additionalParams, context) { var result = ""; var entityMappingGr = this.getMapingConfigIdFromSysId(inboundQueueParams.requested_flow); var sourceToTargetConfigID = entityMappingGr.getValue("mapping_config_id"); var sourceHeaderId = inboundQueueParams.source_record_ids; if (gs.nil(inboundQueueParams.requested_flow)) throw "sourceToTargetConfigID cannot be null"; if (gs.nil(inboundQueueParams.source_record_ids)) throw "source record id cannot be null"; var util = new sn_l2c_core.PrimitiveUtil(); if (gs.nil(additionalParams)) additionalParams = {}; additionalParams[this.SKIP_LINES_KEY] = "true"; }, processInboundQueueRequest: function(inboundQueueGR) { gs.info("processRequest inboundQueueGR " + JSON.stringify(inboundQueueGR)); var result = this.quoteUtil.createOrderFromQuoteUsingMetadata(inboundQueueGR.getValue('source_record_ids'), 'sn_l2c_quote_to_order', null, null, inboundQueueGR.getValue('record_id')); return result; } - Créez une nouvelle entrée de métadonnées dans la table Configuration des demandes entrantes [sn_tmt_core_inbound_queue_config] pour définir la manière dont une demande doit être traitée.
- Liez l’include de script créé au champ configuration_api de l’enregistrement de métadonnées pour utiliser la logique personnalisée définie lors du traitement de la demande. L’include de script est référencé dans le champ configuration_api lors de la création des métadonnées de configuration des demandes entrantes.
Cas d’utilisation : IBQConfigQuoteToOrderFlow
var IBQConfigQuoteToOrderFlowSNC = Class.create();
IBQConfigQuoteToOrderFlowSNC.prototype = Object.extendsObject(sn_tmt_core.IBQConfigBase, {
initialize: function() {
this.quoteUtil = new sn_quote_mgmt.OrderIntegration();
this.SKIP_LINES_KEY = "skipLines";
this.threshold = 15;
},
getRunMode: function(inboundQueueParams) {
return this.quoteUtil.getQuoteSize(inboundQueueParams.source_record_ids, this.threshold);
},
generateParentRecord: function(inboundQueueParams, additionalParams, context) {
var result = "";
var entityMappingGr = this.getMapingConfigIdFromSysId(inboundQueueParams.requested_flow);
var sourceToTargetConfigID = entityMappingGr.getValue("mapping_config_id");
var sourceHeaderId = inboundQueueParams.source_record_ids;
if (gs.nil(inboundQueueParams.requested_flow))
throw "sourceToTargetConfigID cannot be null";
if (gs.nil(inboundQueueParams.source_record_ids))
throw "source record id cannot be null";
var util = new sn_l2c_core.PrimitiveUtil();
if (gs.nil(additionalParams))
additionalParams = {};
additionalParams[this.SKIP_LINES_KEY] = "true";
// additional parameters are retrieved using the PrimitiveUtil() utility methods provided by the Lead to Cash Core application
var service = util.getPrimitivesEPService(sourceToTargetConfigID, context);
var isEmpty = false;
if (service) {
var createInstanceOutput = service.createInstance(sourceHeaderId, null, false, additionalParams);
if (gs.nil(sourceHeaderId))
isEmpty = this.__isEmpty(createInstanceOutput.lineItems);
else
isEmpty = this.__isEmpty(createInstanceOutput);
if (!isEmpty) {
var effectOutput = service.effect(createInstanceOutput, null, additionalParams);
if (!this.__isEmpty(effectOutput)) {
var commitOutput = service.commitInstance(effectOutput, additionalParams);
return commitOutput;
}
}
}
return result;
},
processInboundQueueRequest: function(inboundQueueGR) {
gs.info("processRequest inboundQueueGR " + JSON.stringify(inboundQueueGR));
var result = this.quoteUtil.createOrderFromQuoteUsingMetadata(inboundQueueGR.getValue('source_record_ids'), 'sn_l2c_quote_to_order', null, null, inboundQueueGR.getValue('record_id'));
return result;
},
__isEmpty: function(sourceObj) {
if (gs.nil(sourceObj))
return true;
return Object.keys(sourceObj).length === 0;
},
getMapingConfigIdFromSysId(requestedFlow) {
var gr = new GlideRecord("sn_l2c_core_entity_mapping");
gr.addQuery("sys_id", requestedFlow);
gr.query();
if (gr.next()) {
gs.info("mapping id received to corresponding requestedFlow");
return gr;
}
},
type: 'IBQConfigQuoteToOrderFlowSNC'
});IBQConfigBase – generateParentRecord(Objet ibqParams)
Crée un enregistrement parent qui est ajouté au record_id de l’enregistrement de demande entrante [sn_tmt_core_inbound_queue_list] avant de traiter la demande.
La création d’un enregistrement parent avant le traitement est idéale pour un traitement asynchrone et vous permet d’ajouter à votre include de script des activités qui peuvent être exécutées pendant le traitement. Par exemple, afficher un message à l’écran.
| Nom | Type | Description |
|---|---|---|
| ibqParams | Objet | Objet JSON contenant les détails de l’enregistrement de demande entrante à créer. |
| compte | Chaîne | Facultatif. Informations sur le compte associé à l’enregistrement. Table : Compte [customer_account] |
| consommateur | Chaîne | Facultatif. Informations sur le consommateur associé à l’enregistrement. Table : Consommateur [csm_consumer] |
| contact | Chaîne | Facultatif. Informations sur le contact associé à l’enregistrement. Table : Contact [customer_contact] |
| charge utile | Objet | Facultatif. Objet JSON nécessaire pour traiter la demande à l’aide de l’API PrimitiveUtil(). Pour plus d’informations sur l’utilisation, consultez LeadToCashCore. |
| payload.additionalParams | Objet | Facultatif. Paramètres supplémentaires à utiliser. |
| payload.additionalParams.action | Chaîne | Facultatif. Spécifie le type d’action déclarative en cours d’exécution. Pour plus d'informations, consultez Customer Life Cycle Management Workflows. Valeurs possibles :
|
| payload.additionalParams.actionReason | Chaîne | Facultatif. Propriété utilisée dans les flux utilisant des actions déclaratives. Motif de l’action. |
| payload.additionalParams.endDate | Chaîne | Facultatif. Date de fin requise pour exécuter des flux à l’aide d’actions déclaratives. Format : aaaa-MM-jj HH :mm :ss |
| payload.additionalParams.skipLines | Booléen | Facultatif. Marqueur indiquant s’il faut extraire des éléments de ligne pour l’entité spécifiée. Valeurs valides :
|
| payload.additionalParams.startDate | Chaîne | Facultatif. Date de début d’exécution des flux à l’aide d’actions déclaratives. Format : aaaa-MM-jj HH :mm :ss |
| chargeutile.contexte | Objet | Facultatif. Options de paramètres supplémentaires pour afficher les valeurs d’attribut et pour invoquer plus d’une instance à la fois. |
| chargeutile.contexte.isMultiSelect | Booléen | Facultatif. Marqueur indiquant s’il faut transmettre plusieurs entités comme entrée pour créer l’instance. Valeurs valides :
|
| payload.context.sourceToTargetConfigID | Chaîne | Facultatif. ID de configuration du mappage pour le mappage de la source à la cible. Table : Mappage d’entité prospect-espèces [sn_l2c_core_entity_mapping] |
| payload.inputParams | Objet | Facultatif. Cet objet est un espace réservé pour tous les paramètres d’entrée requis pour invoquer l’utilisation d’un flux spécifique. |
| chargeutile.source | Tableau | Facultatif. Objet JSON contenant les détails de l’entité source à partir de laquelle récupérer les données. |
| loadload.source.headerId | Chaîne | Facultatif. En-tête sys_id de l’entité source à partir de laquelle récupérer les données.
|
| load.source.lineIds | Tableau | Facultatif. Tableau contenant le ou les sys_id d’éléments de ligne sources d’une entité à partir desquels récupérer les données de l’entité. Requis si vous ne fournissez pas l’ID d’en-tête et si la structure de l’entité commence par des éléments de ligne tels que le produit vendu. |
| charge utile.cible | Tableau | Facultatif. Objet JSON contenant les détails de l’entité cible. |
| loadload.target.headerId | Chaîne | Facultatif. En-tête sys_id de l’entité cible à partir de laquelle récupérer les données. Requis si vous ne fournissez pas le lineIds paramètre. Transmettez la valeur null si vous ne transmettez aucun sys_ids d’en-tête. |
| load.target.lineIds | Tableau | Facultatif. Tableau contenant le ou les sys_id d’éléments de ligne cibles d’une entité à partir desquels récupérer les données de l’entité. Requis si vous ne fournissez pas d’ID d’en-tête et si la structure de l’entité commence par des éléments de ligne tels que le produit vendu. |
| record_id | Chaîne | Facultatif. Sys_id de l’enregistrement cible s’il existe déjà. |
| requested_flow | Chaîne | Facultatif. ID de configuration du mappage pour le mappage de la source à la cible. Cette propriété est requise pour les flux utilisant Entity configuration and mapping. Table : Mappage d’entité prospect-espèces [sn_l2c_core_entity_mapping] |
| source_record_ids | Tableau | Tableau contenant les sys_ids des enregistrements sources. |
| source_table | Chaîne | Nom de la table qui contient l’enregistrement source du flux. |
| Table | Chaîne | Nom de la table qui contient l’enregistrement cible du flux. |
| Type | Description |
|---|---|
| Objet JSON | Objet JSON contenant l’ID d’en-tête de l’enregistrement cible créé.
|
| ID d’en-tête | Sys_id de l’en-tête de l’enregistrement cible créé. Cette valeur permet de remplir record_id champ lors de la création de l’enregistrement de la demande entrante. |
var ibqParams = {
"source_record_ids": "f83e29574df02210f877142d1adc9531",
"requested_flow": "0feb6d9da36271105c24939ef31e61dc",
"initiated_by": "admin",
"source_table": "sn_quote_mgmt_core_quote",
"table": "sn_ind_tmt_orm_order",
"payload": {}
};
var service = new sn_quote_mgmt.IBQConfigQuoteToOrderFlow();
var parentRecord = service.generateParentRecord(ibqParams);
gs.info("Parent record = "+JSON.stringify(parentRecord));
Parent record = {"headerID":"d11bd507dc6c6a10f877720033b5d0b9", ...} IBQConfigBase – getRunMode(Objet ibqParams)
Détermine si un flux doit s’exécuter en mode synchrone ou asynchrone.
| Nom | Type | Description |
|---|---|---|
| ibqParams | Objet | Objet JSON contenant les détails de l’enregistrement de demande entrante à créer. |
| compte | Chaîne | Facultatif. Informations sur le compte associé à l’enregistrement. Table : Compte [customer_account] |
| consommateur | Chaîne | Facultatif. Informations sur le consommateur associé à l’enregistrement. Table : Consommateur [csm_consumer] |
| contact | Chaîne | Facultatif. Informations sur le contact associé à l’enregistrement. Table : Contact [customer_contact] |
| charge utile | Objet | Facultatif. Objet JSON nécessaire pour traiter la demande à l’aide de l’API PrimitiveUtil(). Pour plus d’informations sur l’utilisation, consultez LeadToCashCore. |
| payload.additionalParams | Objet | Facultatif. Paramètres supplémentaires à utiliser. |
| payload.additionalParams.action | Chaîne | Facultatif. Spécifie le type d’action déclarative en cours d’exécution. Pour plus d'informations, consultez Customer Life Cycle Management Workflows. Valeurs possibles :
|
| payload.additionalParams.actionReason | Chaîne | Facultatif. Propriété utilisée dans les flux utilisant des actions déclaratives. Motif de l’action. |
| payload.additionalParams.endDate | Chaîne | Facultatif. Date de fin requise pour exécuter des flux à l’aide d’actions déclaratives. Format : aaaa-MM-jj HH :mm :ss |
| payload.additionalParams.skipLines | Booléen | Facultatif. Marqueur indiquant s’il faut extraire des éléments de ligne pour l’entité spécifiée. Valeurs valides :
|
| payload.additionalParams.startDate | Chaîne | Facultatif. Date de début d’exécution des flux à l’aide d’actions déclaratives. Format : aaaa-MM-jj HH :mm :ss |
| chargeutile.contexte | Objet | Facultatif. Options de paramètres supplémentaires pour afficher les valeurs d’attribut et pour invoquer plus d’une instance à la fois. |
| chargeutile.contexte.isMultiSelect | Booléen | Facultatif. Marqueur indiquant s’il faut transmettre plusieurs entités comme entrée pour créer l’instance. Valeurs valides :
|
| payload.context.sourceToTargetConfigID | Chaîne | Facultatif. ID de configuration du mappage pour le mappage de la source à la cible. Table : Mappage d’entité prospect-espèces [sn_l2c_core_entity_mapping] |
| payload.inputParams | Objet | Facultatif. Cet objet est un espace réservé pour tous les paramètres d’entrée requis pour invoquer l’utilisation d’un flux spécifique. |
| chargeutile.source | Tableau | Facultatif. Objet JSON contenant les détails de l’entité source à partir de laquelle récupérer les données. |
| loadload.source.headerId | Chaîne | Facultatif. En-tête sys_id de l’entité source à partir de laquelle récupérer les données.
|
| load.source.lineIds | Tableau | Facultatif. Tableau contenant le ou les sys_id d’éléments de ligne sources d’une entité à partir desquels récupérer les données de l’entité. Requis si vous ne fournissez pas l’ID d’en-tête et si la structure de l’entité commence par des éléments de ligne tels que le produit vendu. |
| charge utile.cible | Tableau | Facultatif. Objet JSON contenant les détails de l’entité cible. |
| loadload.target.headerId | Chaîne | Facultatif. En-tête sys_id de l’entité cible à partir de laquelle récupérer les données. Requis si vous ne fournissez pas le lineIds paramètre. Transmettez la valeur null si vous ne transmettez aucun sys_ids d’en-tête. |
| load.target.lineIds | Tableau | Facultatif. Tableau contenant le ou les sys_id d’éléments de ligne cibles d’une entité à partir desquels récupérer les données de l’entité. Requis si vous ne fournissez pas d’ID d’en-tête et si la structure de l’entité commence par des éléments de ligne tels que le produit vendu. |
| record_id | Chaîne | Facultatif. Sys_id de l’enregistrement cible s’il existe déjà. |
| requested_flow | Chaîne | Facultatif. ID de configuration du mappage pour le mappage de la source à la cible. Cette propriété est requise pour les flux utilisant Entity configuration and mapping. Table : Mappage d’entité prospect-espèces [sn_l2c_core_entity_mapping] |
| source_record_ids | Tableau | Tableau contenant les sys_ids des enregistrements sources. |
| source_table | Chaîne | Nom de la table qui contient l’enregistrement source du flux. |
| Table | Chaîne | Nom de la table qui contient l’enregistrement cible du flux. |
| Type | Description |
|---|---|
| Chaîne | Informations sur le mode d’exécution à utiliser pour exécuter la demande. Valeurs possibles :
|
asynchrone.var ibqParams = {
"source_record_ids": "04ba9004f11f3110f8777d7194f166f6",
"requested_flow": "0feb6d9da36271105c24939ef31e61dc",
"initiated_by": "admin",
"source_table": "sn_quote_mgmt_core_quote",
"table": "sn_ind_tmt_orm_order",
"payload": {}
};
var service = new sn_quote_mgmt.IBQConfigQouteToOrderFlow();
var runMode = service.getRunMode(ibqParams);
gs.info("RunMode = "+JSON.stringify(runMode));
RunMode = "async"var ibqParams = {
"source_record_ids": "0b0f5cc8f11f3110f8777d7194f16610",
"requested_flow": "0feb6d9da36271105c24939ef31e61dc",
"initiated_by": "admin",
"source_table": "sn_quote_mgmt_core_quote",
"table": "sn_ind_tmt_orm_order",
"payload": {}
};
var service = new sn_quote_mgmt.IBQConfigQouteToOrderFlow();
var runMode = service.getRunMode(ibqParams);
gs.info("RunMode = "+JSON.stringify(runMode));
RunMode = "sync"IBQConfigBase – processInboundQueueRequest(GlideRecord ibqGr)
Définit la logique de traitement d’un enregistrement de demande entrante.
| Nom | Type | Description |
|---|---|---|
| ibqGr | GlideRecord | Référence GlideRecord à l’enregistrement de demande entrante qui a déclenché le flux. Table : Demande entrante [sn_tmt_core_inbound_queue] |
| Type | Description |
|---|---|
| Objet | Objet JSON contenant les détails de traitement de l’enregistrement de demande entrante. |
| erreur | Valeur indiquant l’erreur rencontrée lors du traitement de la demande. Type de données : chaîne |
| réponse | Objet JSON contenant la réponse de traitement de l’enregistrement de demande entrante. Pour les flux créés par l’API Lead to Cash Core PrimitiveUtil , cette sortie peut être fournie à l’aide de la méthode commitInstance( ). Type de données : objet |
| état | Valeur indiquant l’état du traitement de la demande. Valeurs possibles :
Type de données : chaîne |
| target | Facultatif. Sys_id de l’enregistrement cible à utiliser pour un traitement ultérieur, tel que la confirmation de l’interface utilisateur. La cible peut être créée pendant le flux ou transmise comme entrée à la ibqParams méthode generateParentRecord() en fonction des besoins. Type de données : chaîne |
var gr = new GlideRecord('sn_tmt_core_inbound_queue');
gr.get('c48ea9974df02210f877142d1adc951a');
var service = new sn_quote_mgmt.IBQConfigQuoteToOrderFlow();
var processRequest = service.processInboundQueueRequest(gr);
gs.info("processRequest = "+JSON.stringify(processRequest));
processRequest = {
"response": {
"status": "success",
"error": "",
"message": "Commit operation successfully processed.",
"displayMessage": "Commit operation successfully processed.",
"dataObject": {
"sys_id": "a6f4568bdce0aa10f877720033b5d069",
"table": "sn_ind_tmt_orm_order",
"attributes": {
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
},
"quote": {
"value": "c8841a4bdce0aa10f877720033b5d0f8"
}
},
"_glide_action": "UPDATE",
"_source_object": {
"sys_id": "c8841a4bdce0aa10f877720033b5d0f8",
"table": "sn_quote_mgmt_core_quote"
},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"short_description": {
"value": "Home Automation Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "afc4528bdce0aa10f877720033b5d0d0",
"table": "sn_quote_mgmt_core_quote_line_item"
},
"characteristics": [],
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"short_description": {
"value": "Door Sensor"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "77c4528bdce0aa10f877720033b5d0d5",
"table": "sn_quote_mgmt_core_quote_line_item"
},
"characteristics": [],
"lineItems": [],
"pricingAdjustments": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_pricing_adjustment",
"attributes": {
"name": {
"value": "door sensor bundle discount"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "f3c4928bdce0aa10f877720033b5d02f",
"table": "sn_quote_mgmt_core_pricing_adjustment"
},
"_commitObjectInfo": {
"sys_id": "e6955acbdce0aa10f877720033b5d082",
"status": "success"
}
}
],
"coveredProducts": [],
"attributeAdjustment": [],
"_commitObjectInfo": {
"sys_id": "26955acbdce0aa10f877720033b5d07d",
"status": "success"
}
}
],
"pricingAdjustments": [],
"coveredProducts": [],
"attributeAdjustment": [],
"_commitObjectInfo": {
"sys_id": "22955acbdce0aa10f877720033b5d078",
"status": "success"
}
}
],
"_commitObjectInfo": {
"status": "success"
}
},
"headerID": "a6f4568bdce0aa10f877720033b5d069",
"rootLineIDs": [
"22955acbdce0aa10f877720033b5d078"
]
},
"status": "success",
"error": "",
"target": "a6f4568bdce0aa10f877720033b5d069"
}IBQConfigBase – setExecuteAfterRequest(Objet ibqParams)
Définit la valeur execute_after et met à jour l’état sur En attente sur l’enregistrement de demande entrante actuel pour configurer l’ordre dans lequel les enregistrements sont traités dans la table Demande entrante.
La méthode setExecuteAfterRequest() peut être remplacée pour dériver la execute_after valeur d’autres paramètres. Par défaut, cette méthode interroge la table des demandes entrantes [sn_tmt_core_inbound_queue] pour trouver le dernier enregistrement avec les valeurs correspondantes source_record_ids, record_idet resource . Cette méthode met ensuite à jour le champ de execute_after de l’enregistrement actuel avec le sys_id de l’enregistrement interrogé, marquant ainsi l’enregistrement actuel à traiter après l’enregistrement interrogé. Par conséquent, setExecuteAfterRequest() établit l’ordre dans lequel les enregistrements sont traités.
| Nom | Type | Description |
|---|---|---|
| ibqParams | Objet | Objet JSON contenant les détails des enregistrements de demandes entrantes à définir. Ces paramètres comprennent le sys_id d’enregistrement à traiter avant l’enregistrement actuel et le nom du workflow par lequel filtrer dans la table des demandes entrantes [sn_tmt_core_inbound_queue]. |
| compte | Chaîne | Facultatif. Informations sur le compte associé à l’enregistrement. Table : Compte [customer_account] |
| consommateur | Chaîne | Facultatif. Informations sur le consommateur associé à l’enregistrement. Table : Consommateur [csm_consumer] |
| contact | Chaîne | Facultatif. Informations sur le contact associé à l’enregistrement. Table : Contact [customer_contact] |
| ibqParams.execute_after | Chaîne | Facultatif. Sys_id de la demande entrante à traiter avant la demande actuelle. Table : Demande entrante [sn_tmt_core_inbound_queue] |
| charge utile | Objet | Facultatif. Objet JSON nécessaire pour traiter la demande à l’aide de l’API PrimitiveUtil(). Pour plus d’informations sur l’utilisation, consultez LeadToCashCore. |
| payload.additionalParams | Objet | Facultatif. Paramètres supplémentaires à utiliser. |
| payload.additionalParams.action | Chaîne | Facultatif. Spécifie le type d’action déclarative en cours d’exécution. Pour plus d'informations, consultez Customer Life Cycle Management Workflows. Valeurs possibles :
|
| payload.additionalParams.actionReason | Chaîne | Facultatif. Propriété utilisée dans les flux utilisant des actions déclaratives. Motif de l’action. |
| payload.additionalParams.endDate | Chaîne | Facultatif. Date de fin requise pour exécuter des flux à l’aide d’actions déclaratives. Format : aaaa-MM-jj HH :mm :ss |
| payload.additionalParams.skipLines | Booléen | Facultatif. Marqueur indiquant s’il faut extraire des éléments de ligne pour l’entité spécifiée. Valeurs valides :
|
| payload.additionalParams.startDate | Chaîne | Facultatif. Date de début d’exécution des flux à l’aide d’actions déclaratives. Format : aaaa-MM-jj HH :mm :ss |
| chargeutile.contexte | Objet | Facultatif. Options de paramètres supplémentaires pour afficher les valeurs d’attribut et pour invoquer plus d’une instance à la fois. |
| chargeutile.contexte.isMultiSelect | Booléen | Facultatif. Marqueur indiquant s’il faut transmettre plusieurs entités comme entrée pour créer l’instance. Valeurs valides :
|
| payload.context.sourceToTargetConfigID | Chaîne | Facultatif. ID de configuration du mappage pour le mappage de la source à la cible. Table : Mappage d’entité prospect-espèces [sn_l2c_core_entity_mapping] |
| payload.inputParams | Objet | Facultatif. Cet objet est un espace réservé pour tous les paramètres d’entrée requis pour invoquer l’utilisation d’un flux spécifique. |
| chargeutile.source | Tableau | Facultatif. Objet JSON contenant les détails de l’entité source à partir de laquelle récupérer les données. |
| loadload.source.headerId | Chaîne | Facultatif. En-tête sys_id de l’entité source à partir de laquelle récupérer les données.
|
| load.source.lineIds | Tableau | Facultatif. Tableau contenant le ou les sys_id d’éléments de ligne sources d’une entité à partir desquels récupérer les données de l’entité. Requis si vous ne fournissez pas l’ID d’en-tête et si la structure de l’entité commence par des éléments de ligne tels que le produit vendu. |
| charge utile.cible | Tableau | Facultatif. Objet JSON contenant les détails de l’entité cible. |
| loadload.target.headerId | Chaîne | Facultatif. En-tête sys_id de l’entité cible à partir de laquelle récupérer les données. Requis si vous ne fournissez pas le lineIds paramètre. Transmettez la valeur null si vous ne transmettez aucun sys_ids d’en-tête. |
| load.target.lineIds | Tableau | Facultatif. Tableau contenant le ou les sys_id d’éléments de ligne cibles d’une entité à partir desquels récupérer les données de l’entité. Requis si vous ne fournissez pas d’ID d’en-tête et si la structure de l’entité commence par des éléments de ligne tels que le produit vendu. |
| record_id | Chaîne | Facultatif. Sys_id de l’enregistrement cible s’il existe déjà. |
| requested_flow | Chaîne | Facultatif. ID de configuration du mappage pour le mappage de la source à la cible. Cette propriété est requise pour les flux utilisant Entity configuration and mapping. Table : Mappage d’entité prospect-espèces [sn_l2c_core_entity_mapping] |
| ibqParams.resource | Chaîne | Nom du flux qui crée l’enregistrement dans la table Demande entrante (par exemple, un devis ou une commande). Cette valeur est utilisée pour rechercher des enregistrements dépendants du même type afin de déterminer l’ordre de traitement des enregistrements. |
| source_record_ids | Tableau | Tableau contenant les sys_ids des enregistrements sources. |
| source_table | Chaîne | Nom de la table qui contient l’enregistrement source du flux. |
| Table | Chaîne | Nom de la table qui contient l’enregistrement cible du flux. |
| Type | Description |
|---|---|
| Aucun |
Dans l’exemple suivant, le script interroge la table des demandes entrantes [sn_tmt_core_inbound_queue] pour trouver le dernier enregistrement avec les valeurs de source_record_ids, de record_id et de ressource correspondantes. Le script appelle ensuite la méthode setExecuteAfterRequest() pour mettre à jour la valeur de execute_after de l’enregistrement actuel avec la sys_id de l’enregistrement récupéré et définit son état sur attente. Par conséquent, l’enregistrement actuel s’exécutera après l’enregistrement spécifié dans le champ execute_after.
var ibqParams = {
"source_record_ids": "e32e29fd28d26a14f8775b8f954723b8",
"record_id":"b9be293128166a14f8775b8f9547239f",
"requested_flow": "0feb6d9da36271105c24939ef31e61dc",
"initiated_by": "admin",
"source_table": "sn_quote_mgmt_core_quote",
"table": "sn_ind_tmt_orm_order",
"payload": {
"context": {}},
"resource": "quote_to_order"
};
new sn_tmt_core.IBQConfigBase().setExecuteAfterRequest(ibqParams);
Cette méthode ne renvoie aucune sortie.