L'action pour la création d’un article : integration_article
Ce service web permet de
Créer un nouvel article indicé (avec ou sans article modèle)
Créer un nouvel article non indicé (avec ou sans article modèle)
Déclarer un changement sur un article indicé, avec la création d’une demande de modification et un ordre de modification
Modifier un article
Créer un nouvel article indicé
Cette action est déclenchée si la référence article renseigné dans le flux JSON n'existe pas dans l’ERP et le type article gère le cycle de vie article
Balise de paramètres (parameters) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
dos | 1 | Dossier achat-vente | NON | Par défaut selon utilisateur |
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|
article | 1 |
Liste des champs | OUI |
|
{“nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 |
nom du fichier avec extension XML
OUI
Exemple : import_fincycle.xml
filecontent
2
contenu du fichier encodé en base 64
OUI
Le contenu du fichier à envoyer doit être encodé en base 64 pour être mis sous forme de chaîne de caractères dans cette balise
Pour rappel : le scrutateur de production est le point d’entrée de traitement du module Divalto production basé sur des fichiers déposés dans un dossier d’entrée. Chaque fichier décrit le type de traitement à effectuer (import de temps, fin de cycle, import de données techniques, import ordo,…).
Info |
---|
Pensez à vérifier que le scrutateur est actif et correctement paramétré (Coche “MES” dans la fiche dossier Production, et un chemin “Interfaces”). Le scrutateur doit être opérationnel avant d’utiliser un appel service web, et les sous-dossiers de travail de chaque type existants |
Ce service web permet à un appelant de demander la création d’un fichier dans le dossier du scrutateur.
Pour rappel, les fichiers traités par le scrutateur de production sont de plusieurs natures
Type d’import
Mot clé
Emplacement
Saisie atelier ou mobilité ou saisie des temps par bon regroupement, interne à Divalto
GG_IMPORT_ATELIER
GG_DIVALTO_TEMPS_BR_M
GG_DIVALTO_FIN_DE_CYCLE
GG_DIVALTO_TNT_FIN_DE_CYCLE
sous-dossier “divalto/import” du dossier interfaces
Pointage MES, import résultat contrôle, consommations, fin de cycle
GG_TEMPS_IMPORT
GG_FIN_DE_CYCLE
CO_MES_IMPORT
GG_TEMPS_BR_IMPORT
GG_COMPOSANT_OM
sous-dossier “mes/import” du dossier interfaces
Configurateur, reprise données techniques
GG_IMPORT_NOMENCLATURE
sous-dossier “configurateur/import” du dossier interfaces
Dates de planification
GG_DATES_ORDO
Liste des champs avec leur nom de champ et la valeur | OUI |
| ||
reference | 2 | Référence article | OUI | Référence article inexistante |
articletypecode | 2 | type article | OUI | Le champ “cvafl” dans la table “T114” ( type article) doit être positionné à oui |
designation | 2 | désignation de l’article | OUI si type article sans modèle |
|
salesaccount | 2 | compte vente | OUI si type article sans modèle |
|
purchaseaccount | 2 | compte achat | OUI si type article sans modèle |
|
stockaccount | 2 | compte stock | OUI si type acticle sans modèle |
|
Si le champ article modèle dans la table “T114” (type article) est rempli , tous les champs seront initialisés à partir de ce modèle
Le contenu transporté par JSON remplace ou complète le contenu du modèle
Exemple de corps sans modèle
Bloc de code |
---|
'data':{
'article' : {
"reference" :"PR000130",
"articletypecode":"INDICE",
"designation":"Coffret pack 500",
"salesaccount":"70700000",
"purchaseaccount":"60700000",
"stockaccount":"37000000"
}
} |
Exemple de corps avec modèle
Il faut que l’article modèle soit renseigné dans la table “T114” (type article)
Bloc de code |
---|
'data':{
'article' : {
"reference" :"PR000130",
"articletypecode":"INDICE",
"designation":"Coffret pack 500"
}
} |
Exemple complet flux JSON
Bloc de code |
---|
{
"action":"WEB_SERVICE_INFINITY",
"access_token":"{{TOKEN}}",
"param":"
{
'action': {'swinfinity': 'integration_article'},
"parameters": {"withlog":"1", "dos":"998"}
}"
'data':{
'article' : {
"reference" :"PR000130",
"articletypecode":"INDICE",
"designation":"Coffret pack 500",
"salesaccount":"70700000",
"purchaseaccount":"60700000",
"stockaccount":"37000000"
}
}
} |
Après la création d’un article modèle , une ligne est ajoutée dans la table historique article déclarant sa création
Déclarer un changement sur un article indicé
Cette action est déclenchée si la référence article envoyé existe et le type article gère le cycle de vie article
Balise de paramètres (parameters) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
dos | 1 | Dossier achat-vente | NON | Par défaut selon utilisateur |
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
article | 1 | Liste des champs | OUI |
|
{“nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 | Liste des champs avec leur nom de champ et la valeur | OUI |
|
ddmfamily | 2 | Famille ddm | OUI |
|
description1 | 2 | description de la demande | OUI |
|
reference | 2 | Référence article | OUI |
|
ddmdate | 2 | Date ddm | OUI |
|
ddmuser | 2 | utilisateur | OUI |
|
Le code étape est généré automatiquement le premier code étape trouvé avec le statut maître “accepté”
l’ODM est généré automatiquement
Exemple de corps
Bloc de code |
---|
'data':{ 'article' : { 'prod': 'DDMFAMILY':'PLM', 'DESCRIPTION1':'Ma demande de modification via sw', { 'filenameREFERENCE':'testprod1.xmlPR000113', 'filecontent 'DDMDATE':'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8RElWQUxUTz48VkVSU0lPTj4xLjA8L1ZFUlNJT04+CjxFTlRFVEU+CjxBQ1RJT04+R0dfRklOX0RFX0NZQ0xFPC9BQ1RJT04+CjwvRU5URVRFPgo8T0Y+CjxOVU1FUk8+NzM3PC9OVU1FUk8+CjxDT01QT1NBTlQ+CjxSRUZFUkVOQ0U+TVBBVjE1MDE8L1JFRkVSRU5DRT4KPFNSRUYxPiAgICAgICAgPC9TUkVGMT4KPFNSRUYyPiAgICAgICAgPC9TUkVGMj4KPFFVQU5USVRFPi0yPC9RVUFOVElURT4KPFNUT0NLPgo8UVVBTlRJVEU+LTI8L1FVQU5USVRFPgo8U0VSSUU+VEVTVDwvU0VSSUU+CjwvU1RPQ0s+CjwvQ09NUE9TQU5UPgo8L09GPgo8L0RJVkFMVE8+Cg=='22/09/2023', 'DDMUSER':'DEMO' } } |
Exemple complet flux JSON
Bloc de code |
---|
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" { 'action': {'swinfinity': 'integration_article'}, "parameters": {"withlog":"1", "dos":"998"} }" 'data': { 'article' : { 'DDMFAMILY':'PLM', 'DESCRIPTION1':'Ma demande de modification via sw', 'REFERENCE':'PR000113', 'DDMDATE':'22/09/2023', 'DDMUSER':'DEMO' } } } |
Créer un nouvel article non indicé
Cette action est déclenchée si la référence article envoyé n'existe pas et le type article ne gère pas le cycle de vie article
la création d’un article peut se faire à travers un article modèle ou sans article modèle
ce que fait la différence entre la création d’un article indicé et un article non indicé est le flag “cycle de vie article” dans la table “T114” (type article) ; il ne doit pas être cochéCette action est déclenchée si la
Balise de paramètres (parameters) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
dos | 1 | Dossier achat-vente | NON | Par défaut selon utilisateur |
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
article | 1 | Liste des champs | OUI |
|
{“nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 | Liste des champs avec leur nom de champ et la valeur | OUI |
|
reference | 2 | Référence article | OUI | Référence article inexistante |
articletypecode | 2 | type article | OUI | Le champ “cvafl” dans la table “T114” ( type article) doit être positionné à NON |
designation | 2 | désignation de l’article | OUI si type article sans modèle |
|
salesaccount | 2 | compte vente | OUI si type article sans modèle |
|
purchaseaccount | 2 | compte achat | OUI si type article sans modèle |
|
stockaccount | 2 | compte stock | OUI si type acticle sans modèle |
|
Si le champ article modèle dans la table “T114” (type article) est rempli , tous les champs seront initialisés à partir de ce modèle
Le contenu transporté par JSON remplace ou complète le contenu du modèle
Exemple de corps sans modèle
dans l’exemple ci-dessous le type article “PIECE” ne gère pas le cycle de vie article
Bloc de code |
---|
'data':{ 'article' : { "reference" :"PR000130", "articletypecode":"PIECE", "designation":"Coffret pack 500", "salesaccount":"70700000", "purchaseaccount":"60700000", "stockaccount":"37000000" } } |
Exemple de
...
corps avec modèle
Il faut que l’article modèle soit renseigné dans la table “T114” (type article)
Bloc de code |
---|
'data':{ 'article' : { "reference" :"PR000130", "articletypecode":"PIECE", "designation":"Coffret pack 500" </SREF2> //<QUANTITE>-2</QUANTITE> //<STOCK> //<QUANTITE>-2</QUANTITE> //<SERIE>TEST</SERIE> //</STOCK> //</COMPOSANT> //</OF> //</DIVALTO> } } |
Exemple complet flux JSON
Bloc de code |
---|
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" "{ 'action': {'swinfinity': 'createintegration_dataxmlarticle'}, 'parameters': {'dos': '998'}, "parameters": {"withlog":"1", "dos":"998"} }" 'data': { 'article' : { "reference" :"PR000130", "articletypecode":"PIECE", "designation":"Coffret pack 500", "salesaccount":"70700000", "purchaseaccount":"60700000", "stockaccount":"37000000" } } } |
Modifier un article non indicé
Cette action est déclenchée si la référence article envoyé existe et le type article ne gère pas le cycle de vie article
Balise de paramètres (parameters) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
dos | 1 | Dossier achat-vente | NON | Par défaut selon utilisateur |
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
article | 1 | Liste des champs | OUI |
|
{“nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 | Liste des champs avec leur nom de champ et la valeur | Le champ “reference” est obligatoire |
|
reference | 2 | Référence article | OUI |
|
Le code étape est généré automatiquement le premier code étape trouvé avec le statut maître “accepté”
l’ODM est généré automatiquement
Exemple de corps
Bloc de code |
---|
'data':{ 'dataarticle' : { 'prod': REFERENCE':'PAS1003', 'DESIGNATION':'Passe Cable MET 60' } } |
Exemple complet flux JSON
Bloc de code |
---|
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" { 'filenameaction':'testprod1.xml' {'swinfinity': 'integration_article'}, "parameters": {"withlog":"1", "dos":"998"} 'filecontent':'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8RElWQUxUTz48VkVSU0lPTj4xLjA8L1ZFUlNJT04+CjxFTlRFVEU+CjxBQ1RJT04+R0dfRklOX0RFX0NZQ0xFPC9BQ1RJT04+CjwvRU5URVRFPgo8T0Y+CjxOVU1FUk8+NzM3PC9OVU1FUk8+CjxDT01QT1NBTlQ+CjxSRUZFUkVOQ0U+TVBBVjE1MDE8L1JFRkVSRU5DRT4KPFNSRUYxPiAgICAgICAgPC9TUkVGMT4KPFNSRUYyPiAgICAgICAgPC9TUkVGMj4KPFFVQU5USVRFPi0yPC9RVUFOVElURT4KPFNUT0NLPgo8UVVBTlRJVEU+LTI8L1FVQU5USVRFPgo8U0VSSUU+VEVTVDwvU0VSSUU+CjwvU1RPQ0s+CjwvQ09NUE9TQU5UPgo8L09GPgo8L0RJVkFMVE8+Cg==' }" 'data':{ 'article' : { 'REFERENCE':'PAS1003', } 'DESIGNATION':'Passe Cable MET 60' } }" } |
...
} |
Format de la réponse
...
Balise | Contenu |
---|---|
error | Anomalie technique de l’appel du service web 0 = pas n’anomalie, autre valeur = anomalie Dans ce cas la balise |
result | Détail du résultat fonctionnel de l’appel du service web
|
Couche d’abstraction
La documentation de la couche d’abstraction se trouve sous A5/DOC/TECHNIQUE
Elle contient tous les champs de la table ART traduits en anglais
il est possible de mettre le champ tel qu’il est dans le dico (sans traduction pas la couche d’abstraction)