API sn_erp_integration : incluse dans le périmètre, globale

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 14 minutes de lecture
  • 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.

    Tableau 1. Paramètres
    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.

    Tableau 2. Paramètres
    Nom Type Description
    encodedQuery Chaîne Une chaîne de requête codée.
    Tableau 3. Renvoie
    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.

    Tableau 4. Paramètres
    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) :
    • =
    • !=
    • DANS
    • PAS DANS
    • COMMENCE PAR
    • SE TERMINE PAR
    • CONTIENT
    • NE CONTIENT PAS
    Remarque :
    Utilisez CONTAINS au lieu de l’opérateur LIKE.
    valide Chaîne Valeur sur laquelle effectuer une requête (insensible à la casse).
    Tableau 5. Renvoie
    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.

    Tableau 6. Paramètres
    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) :
    • =
    • !=
    • DANS
    • PAS DANS
    • COMMENCE PAR
    • SE TERMINE PAR
    • CONTIENT
    • NE CONTIENT PAS
    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 :
    • ET
    • OU
    Valeur par défaut : ET
    Tableau 7. Renvoie
    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().

    Tableau 8. Paramètres
    Nom Type Description
    Néant
    Tableau 9. Renvoie
    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().

    Tableau 10. Paramètres
    Nom Type Description
    Champs Tableau Un ou plusieurs noms de champ de modèle répertoriés sous forme de chaînes.
    Tableau 11. Renvoie
    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().

    Tableau 12. Paramètres
    Nom Type Description
    Néant
    Tableau 13. Renvoie
    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é.

    Tableau 14. Paramètres
    Nom Type Description
    Néant
    Tableau 15. Renvoie
    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.

    Tableau 16. Paramètres
    Nom Type Description
    Néant
    Tableau 17. Renvoie
    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 :
    • vrai : le champ d’entrée est obligatoire.
    • faux : le champ d’entrée n’est pas obligatoire.

    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é.

    Tableau 18. Paramètres
    Nom Type Description
    Néant
    Tableau 19. Renvoie
    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é.

    Tableau 20. Paramètres
    Nom Type Description
    Néant
    Tableau 21. Renvoie
    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.

    Tableau 22. Paramètres
    Nom Type Description
    Néant
    Tableau 23. Renvoie
    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.

    Tableau 24. Paramètres
    Nom Type Description
    Néant
    Tableau 25. Renvoie
    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.

    Tableau 26. Paramètres
    Nom Type Description
    Néant
    Tableau 27. Renvoie
    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.

    Tableau 28. Paramètres
    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.
    Tableau 29. Renvoie
    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.

    Tableau 30. Paramètres
    Nom Type Description
    max. Numéro Nombre maximal d’enregistrements à renvoyer.
    Tableau 31. Renvoie
    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.

    Tableau 32. Paramètres
    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().

    Tableau 33. Renvoie
    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.

    Tableau 34. Paramètres
    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.
    Tableau 35. Renvoie
    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().

    Tableau 36. Paramètres
    Nom Type Description
    ID de l’opération Chaîne L’ID de l’opération du modèle.
    Tableau 37. Renvoie
    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.

    Tableau 38. Paramètres
    Nom Type Description
    Champ Chaîne Nom du champ sur lequel définir une valeur.
    valide Chaîne Valeur à définir pour le champ.
    Tableau 39. Renvoie
    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.

    Tableau 40. Paramètres
    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.
    Tableau 41. Renvoie
    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).

    Tableau 42. Paramètres
    Nom Type Description
    données Objet Données JSON répertoriant les champs et leurs valeurs.
    Format :
    {fieldname: 'value'}
    Tableau 43. Renvoie
    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();