API sn_erp_integration : incluse dans le périmètre, globale
Include de script fournissant une API chaînée pour l’interaction avec Connecteur zéro copie pour ERP les modèles (progiciel de gestion intégré).
Cet include de script nécessite l’application Connecteur zéro copie pour ERP (com.sn_erp_integration) store et est fourni dans l’espace de noms sn_erp_integration. Pour plus d'informations, référez-vous à Zero Copy Connector for ERP.
Rôle requis : sn_erp_integration.erp_user
- Métadonnées
- Utilisez des méthodes de métadonnées pour découvrir les informations système, de modèle et d’IDoc disponibles dans votre Connecteur zéro copie pour ERP environnement.
- getAvailableSystems()
- getAvailableModels()
- getAvailableOperations()
- getAvailableInputs()
- getRequiredInputs()
- getAvailableOutputs()
- getAvailableIdocConfigs()
- Configuration
- Utilisez des méthodes de configuration pour sélectionner les systèmes, modèles, opérations et configurations IDoc disponibles pour traitement. Vous pouvez également utiliser ces méthodes pour filtrer les valeurs de retour du champ de modèle.
- système ()
- modèle()
- opération()
- idocConfig()
- champs()
- limit()
- décalage()
- Création de requêtes
- Utilisez des méthodes de génération de requêtes pour filtrer les résultats.
- addEncodedQuery()
- addQuery()
- addOrQuery()
- Entrée de données
- Utilisez les méthodes d’entrée de données pour définir des valeurs de champ. La méthode withJSON() peut être utilisée pour l’entrée d’objets imbriqués et de champs IDoc. La méthode set() est utilisée pour définir une seule valeur de champ.
- set()
- avec JSON()
- Exécution de l’opération
- Utilisez la méthode execute() lorsque vous travaillez avec plusieurs enregistrements et la méthode get() pour obtenir les résultats d’un seul enregistrement.
- exécuter()
- get()
API : constructeur d’API
Initialise une nouvelle Connecteur zéro copie pour ERP instance d’API.
| Nom | Type | Description |
|---|---|---|
| Néant |
Les exemples suivants montrent comment créer une instance de l’API pour accéder à un système ERP.
// Select the system1 system
const api = new sn_erp_integration.API().system('system1');
API : addEncodedQuery(Chaîne encodedQuery)
Filtre les enregistrements à l’aide d’une requête codée.
| Nom | Type | Description |
|---|---|---|
| encodedQuery | Chaîne | Une chaîne de requête codée. |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment utiliser une requête codée pour récupérer des codes de société aux États-Unis.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.addEncodedQuery('company_codes_countryregion_key=US')
.execute();
API : addOrQuery(champ de chaîne, opérateur de chaîne, valeur de chaîne)
Ajouter une condition de requête OU.
| Nom | Type | Description |
|---|---|---|
| Champ | Chaîne | Le nom du champ à interroger. |
| opérateur | Chaîne | Facultatif. Opérateur de requête. L’option de requête utilisée varie selon que les données fournies pour le paramètre de valeur sont un nombre ou une chaîne. Valeur par défaut : = Chiffres :
Chaînes (doit être en majuscules) :
Remarque :
Utilisez CONTAINS au lieu de l’opérateur LIKE. |
| valide | Chaîne | Valeur sur laquelle effectuer une requête (insensible à la casse). |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment renvoyer tous les codes de société aux États-Unis et au Canada.
const api = new sn_erp_integration.API();
const companyCodes = api
.system('system1')
.model('company_code')
.operation('read')
.addQuery('company_codes_countryregion_key', 'US')
.addOrQuery('company_codes_countryregion_key', 'CA')
.fields(['company_codes_company_code', 'company_codes_company_name', 'company_codes_countryregion_key', 'company_codes_currency'])
.execute();
// Process the results
companyCodes.forEach(companyCode => {
gs.info('Company Code: ${companyCode.company_codes_company_code}, Name: ${companyCode.company_codes_company_name}, Country: ${companyCode.company_codes_countryregion_key}');
// Do something with each company code
if (companyCode.company_codes_countryregion_key === 'US') {
// Process US company codes
} else {
// Process Canadian company codes
}
});
API : addQuery(Champ de chaîne, Opérateur de chaîne, Valeur de chaîne, JointType de chaîne)
Ajoutez une condition de requête pour filtrer les données.
| Nom | Type | Description |
|---|---|---|
| Champ | Chaîne | Le nom du champ à interroger. |
| opérateur | Chaîne | Facultatif. Opérateur de requête. L’option de requête utilisée varie selon que les données fournies pour le paramètre de valeur sont un nombre ou une chaîne. Valeur par défaut : = Chiffres :
Chaînes (doit être en majuscules) :
Remarque :
Utilisez CONTAINS au lieu de l’opérateur LIKE. |
| valide | Chaîne | Valeur sur laquelle effectuer une requête (insensible à la casse). |
| joinType | Chaîne | Facultatif. Type de jointure. Valeurs possibles :
|
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment utiliser l’opérateur > pour renvoyer des résultats de priorité un ou de priorité supérieure à deux.
// Results in: priority=1^ORpriority>2
const api = new sn_erp_integration.API();
.system('system1')
.model('request')
.operation('read')
.addQuery('priority', '1)
.addOrQuery('priority', '>', '2')
.execute();
API : execute()
Exécute l’opération configurée.
Pour exécuter une opération sur un seul résultat, utilisez API : get().
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Objet|Tableau | Résultat de l’opération. Erreur en cas d’échec. |
L’exemple suivant montre comment créer un code de société.
const newCompanyCode = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('create')
.withJSON({
company_codes_company_code: '1234',
company_codes_company_name: 'New York Office',
company_codes_countryregion_key: 'US',
company_codes_language_key: 'EN'
})
.execute();
API : fields(champs de tableau)
Spécifie les champs de modèle à renvoyer. Il s’agit de la principale méthode de sélection des champs.
Pour récupérer une liste de champs disponibles pour un modèle, utilisez API : getAvailableOutputs().
| Nom | Type | Description |
|---|---|---|
| Champs | Tableau | Un ou plusieurs noms de champ de modèle répertoriés sous forme de chaînes. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment renvoyer des champs spécifiques pour tous les codes de société aux États-Unis.
const companyCodes = new API()
.system('system1')
.model('company_code')
.operation('read')
.addQuery('company_codes_countryregion_key', 'US')
.fields(['company_codes_company_code', 'company_codes_company_name', 'company_codes_countryregion_key'])
.execute();
API : get()
Alias de la méthode execute() pour récupérer un seul enregistrement dans les résultats.
Voir aussi API : execute().
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Objet | Premier résultat de l’opération. |
L’exemple suivant montre comment récupérer un document de vente spécifique.
const salesDoc = new sn_erp_integration.API()
.system('system1')
.model('sales_document')
.operation('read')
.addQuery('document_number', '0000123456')
.get();
API : getAvailableIdocConfigs()
Obtient les détails de configuration IDoc disponibles pour le système sélectionné.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Tableau d’objets | Liste des configurations IDoc disponibles. Génère une erreur si aucun système n’a été sélectionné. Voir aussi API : system(String systemId). |
| object.id | ID IDoc. Utilisez cette valeur pour sélectionner un IDoc avec la API : idocConfig(configId de chaîne) méthode. Type de données : chaîne |
| object.name | Nom d’affichage de l’IDoc. Type de données : chaîne |
| Objet.description | Description de l’IDoc. Type de données : chaîne |
L’exemple suivant montre comment obtenir toutes les configurations IDoc disponibles pour un système sélectionné.
const idocConfigs = new sn_erp_integration.API()
.system('system1')
.getAvailableIdocConfigs();
gs.info(JSON.stringify(idocConfigs, null, 2));
Sortie :
[
{
"id": "OBC0001002",
"name": "Sales Order IDoc",
"description": "IDoc for sales order processing"
},
{
"id": "OBC0001003",
"name": "Material IDoc",
"description": "IDoc for material core data"
}
]
API : getAvailableInputs()
Renvoie une liste de tous les champs d’entrée disponibles pour l’opération sélectionnée.
Pour obtenir la liste des champs d’entrée requis uniquement pour un modèle sélectionné, utilisez la API : getRequiredInputs() méthode.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Objet | Objet décrivant les entrées disponibles et leurs types. Voir aussi API : system(String systemId). |
| object.variable_name | Nom de variable du champ d’entrée. Type de données : chaîne |
| étiquette.objet | Nom d’affichage du champ d’entrée. Type de données : chaîne |
| object.data_type | Type de données de l’entrée de l’opération. Type de données : chaîne |
| Objet.Requis | Marqueur indiquant si le champ d’entrée est requis. Valeurs valides :
Type de données : booléennes |
Obtenez les entrées disponibles pour la création d’un code de société.
const inputs = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.getAvailableInputs();
gs.info(JSON.stringify(operations, null, 2));
Sortie :
[
{
"variable_name": "company_codes_company_code",
"label": "Company Code",
"data_type": "string",
"required": true
},
{
"variable_name": "company_codes_company_name",
"label": "Company Name",
"data_type": "string",
"required": true
}
]
API : getAvailableModels()
Renvoie une liste des modèles disponibles pour le système sélectionné.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Tableau d’objets | Liste des modèles disponibles répertoriés en tant qu’objet JSON avec une propriété ID, nom et description. Génère une erreur si aucun système n’a été sélectionné. Voir aussi API : system(String systemId). |
| object.id | ID de modèle. Utilisez cette valeur pour sélectionner un modèle avec la API : model(String modelId) méthode. Type de données : chaîne |
| object.name | Model label (Étiquette du modèle), c’est-à-dire le nom d’affichage. Type de données : chaîne |
| Objet.description | Description du modèle. Type de données : chaîne |
L’exemple suivant montre comment récupérer tous les modèles disponibles pour un système sélectionné.
// Get all available models for system1
const models = new sn_erp_integration.API()
.system('system1')
.getAvailableModels();
gs.info(JSON.stringify(models, null, 2));
Sortie :
[
{
"id": "company_code",
"name": "Company Code",
"description": "Company Code"
},
{
"id": "country",
"name": "Country",
"description": "Country"
},
{
"id": "currency",
"name": "Currency",
"description": "Currency"
},
{
"id": "customer_invoice",
"name": "Customer Invoice",
"description": "Customer Invoice"
},
{
"id": "language",
"name": "Language",
"description": "Language"
}
]
API : getAvailableOperations()
Obtient les opérations disponibles pour le modèle sélectionné.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Tableau | Liste des opérations de modèles ERP disponibles. Génère une erreur si aucun modèle ou système n’a été sélectionné. |
| object.id | ID de l’opération de modèle. Utilisez cette valeur pour sélectionner une opération de modèle avec la API : operation(String operationId) méthode. Type de données : chaîne |
| object.name | Étiquette d’opération de modèle, c’est-à-dire le nom d’affichage. Type de données : chaîne |
L’exemple suivant montre comment obtenir toutes les opérations disponibles pour le company_code modèle.
const operations = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.getAvailableOperations();
gs.info(JSON.stringify(operations, null, 2));
Sortie :
[
{
"id": "create",
"name": "Company Code - Create"
},
{
"id": "read",
"name": "Company Code - Read"
}
]
API : getAvailableOutputs()
Obtient une liste de tous les champs de sortie disponibles pour l’opération sélectionnée.
Les noms de champs renvoyés par cette méthode peuvent être utilisés avec la méthode pour filtrer les API : fields(champs de tableau) résultats des champs.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Tableau d’objets | Liste des champs de sortie disponibles. Génère une erreur si aucun modèle ou système n’a été sélectionné. Voir aussi API : system(String systemId). |
| object.variable_name | Nom de variable du champ de sortie. Type de données : chaîne |
| étiquette.objet | Nom d’affichage du champ de sortie. Type de données : chaîne |
| object.data_type | Type de données de la sortie de l’opération. Type de données : chaîne |
L’exemple suivant montre comment obtenir la sortie disponible fournie en lisant une opération de modèle appelée vendor.
// Get available outputs for read operation on a vendor model
const outputs = new sn_erp_integration.API()
.system('system1')
.model('vendor')
.operation('read')
.getAvailableOutputs();
gs.info(JSON.stringify(outputs, null, 2));
Sortie :
[
{
"variable_name": "supplier_country",
"label": "Country",
"data_type": "string"
}
{
"variable_name": "supplier_city",
"label": "City",
"data_type": "string"
},
{
"variable_name": "supplier_location",
"label": "Location",
"data_type": "string"
},
{
"variable_name": "supplier_street",
"label": "Street",
"data_type": "string"
},
{
"variable_name": "supplier_name",
"label": "Name",
"data_type": "string"
},
{
"variable_name": "supplier_postal_code",
"label": "Postal Code",
"data_type": "string"
},
{
"variable_name": "supplier_state",
"label": "State",
"data_type": "string"
}
]
API : getAvailableSystems()
Obtient une liste de tous les systèmes ERP disponibles accessibles via l’API.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Tableau d’objets | Liste des systèmes ERP disponibles. |
| object.id | ID système. Utilisez cette valeur pour sélectionner un système avec la API : system(String systemId) méthode. Type de données : chaîne |
| object.name | Étiquette système, c’est-à-dire le nom d’affichage. Type de données : chaîne |
L’exemple suivant montre comment obtenir une liste de tous les systèmes ERP disponibles.
const systems = new sn_erp_integration.API().getAvailableSystems();
gs.info(JSON.stringify(systems));
Sortie :
[
{
"id": "system1",
"name": "SAP DEV"
},
{
"id": "system2",
"name": "SAP PROD"
}
]
API : getRequiredInputs()
Renvoie la liste des champs d’entrée requis uniquement pour le modèle sélectionné et l’opération de création.
Les champs d’entrée requis sont définis lors de la création des modèles.
Pour obtenir la liste complète des champs d’entrée d’un modèle sélectionné, utilisez la API : getAvailableInputs() méthode.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Tableau d’objets | Liste des noms de champs d’entrée requis. |
| object.variable_name | Nom de variable du champ d’entrée requis. Type de données : chaîne |
| étiquette.objet | Nom d’affichage du champ d’entrée requis. Type de données : chaîne |
| object.data_type | Type de données de l’opération entrée requise. Type de données : chaîne |
| Objet.Requis | Marqueur indiquant si le champ d’entrée est requis. Cette méthode ne renvoie des résultats que si la valeur est vraie. Type de données : booléennes |
L’exemple suivant montre comment renvoyer les champs d’entrée requis pour créer une facture.
const requiredInputs = new sn_erp_integration.API()
.system('system1')
.model('invoice')
.operation('create')
.getRequiredInputs();
gs.info(JSON.stringify(requiredInputs, null, 2));
Sortie :
{
"variable_name": "INVOICE01",
"label": "INVOICE01",
"data_type": "array",
"required": true
}
API : idocConfig(configId de chaîne)
Sélectionne une configuration IDoc sur laquelle opérer.
| Nom | Type | Description |
|---|---|---|
| configId | Chaîne | ID de la configuration sortante de l’IDoc. Pour récupérer une liste d’ID de configuration IDoc, utilisez la API : getAvailableIdocConfigs() méthode. |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment sélectionner une configuration IDoc et définir des valeurs pour le traitement.
const api = new sn_erp_integration.API()
.system('system1')
.idocConfig('OBC0001002')
.withJSON({
idoc_field1: 'value1',
idoc_field2: 'value2'
})
.execute();
API : limit(nombre max.)
Limite le nombre de résultats renvoyés.
| Nom | Type | Description |
|---|---|---|
| max. | Numéro | Nombre maximal d’enregistrements à renvoyer. |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment récupérer uniquement les 10 premiers enregistrements de code de société.
// Get only the first 10 company codes
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.fields(['company_codes_company_code', 'company_codes_company_name'])
.limit(10)
.execute();
API : model(String modelId)
Sélectionne un modèle sur lequel opérer.
| Nom | Type | Description |
|---|---|---|
| modelId | Chaîne | L’ID du modèle. Pour récupérer une liste de tous les modèles avec leurs ID, utilisez API : getAvailableModels(). |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment sélectionner le modèle company_code dans system1. Vous pouvez chaîner des méthodes supplémentaires pour obtenir et définir des données pour le modèle sélectionné.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.execute();
API : offset (début du numéro)
Définit le décalage de début pour les résultats.
| Nom | Type | Description |
|---|---|---|
| début | Numéro | Point de départ auquel commencer la récupération des résultats. Par exemple, si vous définissez cette valeur sur 10, les 10 premiers résultats renvoyés par une requête sont ignorés. |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment récupérer 10 enregistrements de code de société en ignorant les 10 premiers résultats (11-20).
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.fields(['company_codes_company_code', 'company_codes_company_name'])
.limit(10)
.offset(10)
.execute();
API : operation(String operationId)
Sélectionne une opération à utiliser sur un modèle sélectionné.
Pour renvoyer une liste des opérations du modèle, utilisez API : getAvailableOperations().
| Nom | Type | Description |
|---|---|---|
| ID de l’opération | Chaîne | L’ID de l’opération du modèle. |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment sélectionner l’opération de lecture pour le company_code modèle.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.execute();
API : set(champ de chaîne, valeur de chaîne)
Définit une seule valeur de champ pour les opérations de création ou de mise à jour.
| Nom | Type | Description |
|---|---|---|
| Champ | Chaîne | Nom du champ sur lequel définir une valeur. |
| valide | Chaîne | Valeur à définir pour le champ. |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment créer une entrée de code de société et lui affecter des valeurs de champ.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('create')
.set('company_codes_company_code', '1234')
.set('company_codes_company_name', 'New York Office')
.set('company_codes_countryregion_key', 'US')
.set('company_codes_language_key', 'EN')
.execute();
L’exemple suivant montre comment mettre à jour un document de vente avec des propriétés imbriquées. Pour les structures de données imbriquées avec des niveaux supplémentaires, utilisez API : withJSON(données d’objet).
const api = new sn_erp_integration.API()
.system('system1')
.model('sales_document')
.operation('update')
.set('document_number', '0000123456')
.set('header.document_type', 'OR')
.set('header.sales_organization', '1000')
.execute();
API : system(String systemId)
Sélectionne un système sur lequel opérer.
| Nom | Type | Description |
|---|---|---|
| ID système | Chaîne | L’ID système. Vous pouvez récupérer l’ID système à l’aide de la API : getAvailableSystems() méthode. |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment sélectionner un système. Vous pouvez chaîner des méthodes supplémentaires pour sélectionner un modèle dans le système, et des méthodes supplémentaires pour utiliser les données du système sélectionné.
const api = new sn_erp_integration.API().system('system1');
API : withJSON(données d’objet)
Définit les données JSON pour l’opération. Pour les opérations de lecture, cette méthode définit des conditions de filtre. Pour les opérations de création ou de mise à jour, cette méthode définit les champs avec les données à créer ou à mettre à jour.
Voir aussi API : set(champ de chaîne, valeur de chaîne).
| Nom | Type | Description |
|---|---|---|
| données | Objet | Données JSON répertoriant les champs et leurs valeurs. Format : |
| Type | Description |
|---|---|
| Objet | Renvoie cette instance pour le chaînage. |
L’exemple suivant montre comment définir des données pour une opération de création.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('create')
.withJSON({
company_codes_company_code: '1234',
company_codes_company_name: 'New York Office',
company_codes_countryregion_key: 'US'
})
.execute();
L’exemple suivant montre comment définir un filtre imbriqué pour une opération de lecture.
const api = new sn_erp_integration.API()
.system('system1')
.model('sales_document')
.operation('read')
.withJSON({
header: {
document_type: 'OR',
sales_organization: '1000'
}
})
.operation('read')
.execute();