Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

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

prod

article

1

Balise déclarative production

Liste des champs

OUI

 

filename

{“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

sous-dossier “preactor/import” du dossier interfaces

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 txterrindique le message d’erreur

result

Détail du résultat fonctionnel de l’appel du service web

resultcode= 0 => pas d’anomalie fonctionnelle la demande est bien traitée

resultcode<>0 => anomalie fonctionnelle/métier dont la raison est indiquée dans errormessage

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)