...
et ces actions sont possibles sur plusieurs articles grâce à un tableau d’articles à traiter., et avec application ou non d’un modèle
SOMMAIRE
Sommaire | ||
---|---|---|
|
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
...
Préambule : utilisation des modèles
L’utilisation d’un modèle article lors de la création est possible (aucun impact en modification), afin de dupliquer des sous-fiches de l’article modèle vers l’article créé.
Cette utilisation de modèle doit suivre certaines règles
L’article modèle peut être défini de manière explicite dans la balise JSON
MODELEREF
Il peut être défini de manière implicite d’après le type article dans la balise
ARTICLETYPECODE
La définition explicite est toujours prioritaire
Lorsqu’un modèle est défini l’ensemble des sous fiches modèles de l’article modèle est dupliqué
Pour un modèle implicite, le champ “cvafl” dans la table “T114” ( type article) doit être positionné à NON
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|
|
1
Liste des articles
OUI
[{champsArticle1},{champsArticle2}}
2
Chaque élément du tableau contient la liste des champs concernant chaque article
OUI
{“nomChamp1Article1”:”valeur1”,”nomChamp2Article1”:valeur2”}
3
Liste des champs avec leur nom de champ et la valeur
OUI
reference
3
Référence article
OUI
articletypecode
3
type article
OUI
designation
3
désignation de l’article
OUI si type article sans modèle
salesaccount
3
compte vente
OUI si type article sans modèle
purchaseaccount
3
compte achat
OUI si type article sans modèle
stockaccount
3
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
...
3 | Article modèle | NON | Définition explicite de l’article modèle | |
| 3 | Type article | NON | Si le type article utilise un article modèle |
Exemple de corps pour utilisation de modèle (explicite par modèle ou implicite par type article)
Bloc de code | ||
---|---|---|
| ||
"data":
{
"articletb": [{
"REFERENCE": "SF_PLM00402",
"DESIGNATION":"Rotor 402",
"ABBREVIATEDDESIGNATION":"ROTOR402",
"MODELEREF":"M_ROTOR"
} ,
{
"REFERENCE": "SF_PLM00403",
"DESIGNATION":"Rotor 403",
"ABBREVIATEDDESIGNATION":"ROTOR403",
"ARTICLETYPECODE":"T_ROTOR"
}]
} |
Préambule : forcer l’indice de destination
La création ainsi que la demande de changement d’un article sous gestion d’indice car automatiquement traiter l’incrément de l’indice.
Cependant, il est possible de forcer l’indice de destination grâce à la balise ARTIND
En modification, si ARTIND
est fourni il devra être supérieur ou égale à l’indice article courant et il déclenchera un ODM tel que
Type changement = Mise à jour
Type évolution = article
Nouvelle référence + Nouvel Indice correspond à
ARTIND
Exemple de corps pour création article avec indice forcé
Bloc de code |
---|
'data':
{
'articletb': [{
'REFERENCE': 'SF_PLM00608I',
'ARTICLETYPECODE':'INDICE',
'DESIGNATION':'Rotor',
'ABBREVIATEDDESIGNATION':'ROTOR',
'ARTIND':'F'
} ]
} |
Exemple de corps pour demande de modification article avec indice forcé
Bloc de code |
---|
"data":
{
"articletb": [{
"REFERENCE":"SF_PLM00608I",
"DDMFAMILY": "PLM2",
"DDMDATE":"15/03/2024",
"DDMUSER":"DEMO",
"ARTIND":"I",
"DESCRIPTION1" :"Evolution du produit"
} ]
} |
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 |
---|---|---|---|---|
articletb | 1 | Liste des articles | OUI |
|
[{champsArticle1},{champsArticle2}} | 2 | Chaque élément du tableau contient la liste des champs concernant chaque article | OUI | |
{“nomChamp1Article1”:”valeur1”,”nomChamp2Article1”:valeur2”} | 3 | Liste des champs avec leur nom de champ et la valeur | OUI |
|
reference | 3 | Référence article | OUI | |
articletypecode ou modeleref | 3 | type article ou choix du modèle | OUI | Voir chapitre préambule |
designation | 3 | désignation de l’article | OUI si type article sans modèle |
|
salesaccount | 3 | compte vente | OUI si type article sans modèle |
|
purchaseaccount | 3 | compte achat | OUI si type article sans modèle |
|
stockaccount | 3 | 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
Rappel : forcer l’indice destination avec la balise ARTIND en suivant les informations suivantes : https://divalto.atlassian.net/wiki/spaces/PAI/pages/edit-v2/11378130945#Pr%C3%A9ambule-%3A-forcer-l%E2%80%99indice-de-destination
Exemple de corps sans modèle
Bloc de code |
---|
'data':{
'articletb' : [{
'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':{ 'articletb' : [{ 'reference' :'PR000130', 'articletbarticletypecode' :'INDICE', [{ 'referencedesignation' :'PR000130',Coffret pack 500' }] } |
Exemple complet flux JSON
Bloc de code |
---|
{ 'action':'WEB_SERVICE_INFINITY', 'articletypecodeaccess_token':'INDICE{{TOKEN}}', 'param':' { 'designationaction': {'Coffret pack 500'swinfinity': 'integration_article'}, 'salesaccount'parameters': {'withlog':'1', 'dos':'70700000998',} }' 'data':{ 'purchaseaccountarticletb' :'60700000', [{ 'stockaccountreference' :'37000000PR000130', 'articletypecode':'INDICE', }] } |
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':{ 'articletbdesignation' :'Coffret [{pack 500', 'referencesalesaccount' :'PR00013070700000', 'articletypecodepurchaseaccount':'INDICE60700000', 'stockaccount':'37000000' 'designation':'Coffret pack 500' }] } } |
Exemple complet flux JSON pour utilisation de modèle (explicite par modèle ou implicite par type article)
Bloc de code |
---|
{ 'action':'WEB_SERVICE_INFINITY', 'access_token':'{{TOKEN}}', 'param':' { 'action': {'swinfinity': 'integration_article'}, 'parameters': {'withlog':'1', 'dos':'998'} }' 'data': { 'articletb': [{ 'REFERENCE': 'SF_PLM00402', 'articletb' : [{ 'DESIGNATION':'Rotor 402', 'ABBREVIATEDDESIGNATION':'ROTOR402', 'referenceMODELEREF' :'PR000130',:'M_ROTOR' 'articletypecode':'INDICE'} , 'designation{ 'REFERENCE':'Coffret pack 500 'SF_PLM00403', 'salesaccountDESIGNATION':'70700000Rotor 403', 'purchaseaccountABBREVIATEDDESIGNATION':'60700000ROTOR403', 'stockaccountARTICLETYPECODE':'37000000T_ROTOR' }] } }] } } } |
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
...
Bloc de code | ||
---|---|---|
| ||
{ 'action':'WEB_SERVICE_INFINITY', 'access_token':'{{TOKEN}}', 'param':' { 'action': {'swinfinity': 'integration_article'}, 'parameters': {'withlog':'1', 'dos':'998'} }' 'data': { 'articletb': [{ 'REFERENCE': 'SF_PLM00019', 'ARTICLETYPECODE':'INDICEMO', 'DESIGNATION':'Roue' }, { 'REFERENCE':'CMPST_PLM00020', 'ARTICLETYPECODE':'INDUSFOU', 'DESIGNATION':'Disque', }, { 'REFERENCE':'CMPST_PLM00022', 'ARTICLETYPECODE':'INDUSFOU', 'DESIGNATION':'Cône', }, { 'REFERENCE':'CMPST_PLM00023', 'ARTICLETYPECODE':'ACHFOU', 'DESIGNATION':'Rivets', }, { 'REFERENCE':'SF_PLM00024', 'ARTICLETYPECODE':'INDICEMO', 'DESIGNATION':'Moyeu', }, { 'REFERENCE':'SF_PLM00026', 'ARTICLETYPECODE':'INDICEMO', 'DESIGNATION':'Aubes', } ] } ] } } |
Déclarer un changement sur un article indicé
...
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
articletb | 1 | Liste des articles | OUI |
|
[{champsArticle1},{champsArticle2}} | 2 | Chaque élément du tableau contient la liste des champs concernant chaque article | OUI | |
{“nomChamp1Article1”:”valeur1”,”nomChamp2Article1”:valeur2”} | 3 | Liste des champs avec leur nom de champ et la valeur | OUI |
|
ddmfamily | 3 | Famille ddm | OUI |
|
description1 | 3 | description de la demande | OUI |
|
reference | 3 | Référence article | OUI |
|
ddmdate | 3 | Date ddm | OUI |
|
ddmuser | 3 | utilisateur | OUI |
|
...
Le code étape est généré automatiquement le premier code étape trouvé avec le statut maître “accepté”
|
Aucune modification de la fiche article ne sera réalisée
Il faudra fournir les balises JSON nécessaires à la création d’une DDM à minima
DDMFAMILY
+DESCRIPTION1
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
Rappel : forcer l’indice destination avec la balise ARTIND en suivant les informations suivantes : https://divalto.atlassian.net/wiki/spaces/PAI/pages/edit-v2/11378130945#Pr%C3%A9ambule-%3A-forcer-l%E2%80%99indice-de-destination
Exemple de corps
Bloc de code |
---|
'data':{ 'articletb' : [{ 'DDMFAMILY':'PLM', 'DESCRIPTION1':'Ma demande de modification via sw', 'REFERENCE':'PR000113', 'DDMDATE':'22/09/2023', 'DDMUSER':'DEMO' }] } |
...
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques | ||
---|---|---|---|---|---|---|
articletb | 1 | Liste des articles | OUI |
| ||
[{champsArticle1},{champsArticle2}} | 2 | Chaque élément du tableau contient la liste des champs concernant chaque article | OUI | |||
{“nomChamp1Article1”:”valeur1”,”nomChamp2Article1”:valeur2”} | 3 | Liste des champs avec leur nom de champ et la valeur | OUI |
| ||
reference | 3 | Référence article | OUI | Référence article inexistante | ||
articletypecode ou modeleref | 3 | type article | OUI | Le champ “cvafl” dans la table “T114” ( type article) doit être positionné à NONou choix article modèle | OUI | Voir chapitre préambule |
designation | 3 | désignation de l’article | OUI si type article sans modèle |
| ||
salesaccount | 3 | compte vente | OUI si type article sans modèle |
| ||
purchaseaccount | 3 | compte achat | OUI si type article sans modèle |
| ||
stockaccount | 3 | compte stock | OUI si type acticle sans modèle |
|
...
Un mapping existe entre les noms de champs du dictionnaire et les noms de balise à utiliser. Tous les détails dans le module GTTMMAPPING.dhsp
Table ART(articles)
Nom de balise | Nom de champ |
---|---|
WAREHOUSE | Depo |
NATURESSTOCK | Nst |
REFERENCE | Ref |
ARTICLEINDEX | ArtInd |
CREATIONUSER | UserCr |
MODIFICATIONUSER | UserMo |
CONFIGURATON | Conf |
DESIGNATION | Des |
ABBREVIATEDDESIGNATION | DesAbr |
EAN | Ean |
THIRDPARTY | Tiers |
TARIFICATIONREFERENCE | TaRef |
REPLACEMENTREFERENCE | RefRpl |
PRODUCTRATEFAMILYEXCEPTION | TaFamRx |
PRODUCTRATEFAMILY | TaFamR |
PRODUCTDISCOUNTCLASSEXCEPTION | ReFamRx |
PRODUCTDISCOUNTCLASSEXCEPTION | ReFamR |
PRODUCTCOMMISSIONCLASS | CoFamR |
STATISTICALFAMILY | Fam |
PRODUCTNATURE | ProdNat |
PRODUCTNATURE1 | ProdNat1 |
PRODUCTNATURE2 | ProdNat2 |
REFERENCEUNIT | RefUn |
PURCHASINGUNIT | AchUn |
STORAGEUNIT | StUn |
SALEUNIT | VenUn |
WEIGHTUNIT | PoiUn |
VOLUMEUNIT | VolUn |
DIMENSIONUNIT | DimUn |
SALESACCOUNT | CptV |
PURCHASEACCOUNT | CptA |
STOCKACCOUNT | CptS |
TPF | TpfRT |
SALETPF | TpfR |
VATNOMENCLATURECUSTOMS | TvaNom |
VATCUSTOMSUNIT | TvaUn |
VATREGIMECODE | TvaRgCod |
PRINTCODE | EdCod |
SUBREFERENCEGRIDCODE | GriCod |
FREEALPHAZONE | Zona |
MEDIA | Media |
HTML | Html |
ANALYTICALAXISMASK | AxeMsk |
ANALYTICALAXISNUMBER | AxeNo |
ABCCODE | AbcCod |
QUESTION | Question |
MRPRULE | CbnGesCod |
COMPETENCYCODE | CompetCod |
COMPETENCYDOMAINCODE | CompetDomCod |
COMPETENCYCODE2 | CompetCod2 |
INTERESTABLISHEMENTPUCHASINGACCOUNT | CptACes |
INTERESTABLISHEMENTPURCHASEACCOUNT | CptVCes |
PURCHASEPRICINGFAMILYRX | AchTaFamRX |
PURCHASEPRICINGFAMILYR | AchTaFamR |
PURCHASEDISCOUNTCLASSRX | AchReFamRX |
PURCHASEDISCOUNTCLASSR | AchReFamR |
SURFACEUNIT | SurfUn |
LOYALTYDIVISORCOEFFICIENT | CoefPts |
CONFIGURATORFORM | ConfigurateurFormulaire |
CONFIGURATORPATHCODE | ConfigurateurCheminCod |
SMCINDICATOR | SMCFl |
SMCVISUINDICATOR | SMCVisuFl |
CREATIONDATE | UserCrDt |
MODIFICATIONDATE | UserMoDt |
EXPIRATIONDATE | HsDt |
LASTOPERATIONDATEHOUR | DopDh |
MEMONUMBER | Note |
NETWEIGHT | PoiN |
GROSSWEIGHT | PoiB |
GRIDMODETYPING | GriSais |
QUANTITYINCUSTOMERRESERVATION | ResTotQte |
QUANTITYINCUSTOMERORDER | CdeClQte |
QUANTITYINSUPPLIERORDER | CdeFoQte |
CUMULATIVESTOCKQUANTITY | StTotQte |
INVENTORYDATE | InvDt |
WARRANTYDURATION | GarJrNb |
STOCKCODE | StCod |
GLOBALCODE | GiCod |
VOLUME | Vol |
DIMENSION | Dim |
SUBREFERENCECODE | SrefCod |
TYPINGOPTION | OpSais |
DIGITALFREEZONE | Zonn |
PROFITMARGIN | MgTx |
EXPIRATIONINDAYS | PerJrNb |
STOCKVALUATIONMETHOD | StValCod |
STOCKWITHDRAWALMETHOD | StSorCod |
WEBORDERPLACEMENT | Webcdecod |
SALEPRICECODE | PvCod |
LINKEDLINETYPE | LgTyp |
STOCKRESERVATIONINDICATOR | StRes |
OFQUANTITY | CdeInQte |
ATTACHNUMBER | Joint |
OFRESCHEDULING | RejalOf |
ORDERRESCHEDULING | RejalCde |
OFRESCHEDULINGHORIZON | RejalOfJrNb |
ORDERRESCHEDULINGHORIZON | RejalCdeJrNb |
TOLERANCERATE | ToleranceTx |
COMMISIONTYPING | ComSais |
SURFACE | Surf |
VOLUMEEXPANSIONFACTOR | CoeFoiVol |
HANDLINGUNIT | ManUn |
ABCCATEGORYTYPE | StLgtAbcCod |
OUTOFSPECINDICATOR | StLgtHgCod |
OVERSIZEDPACKAGENUMBER | StLgtHgColiNb |
ABCRANK | RangAbc |
PDPINDICATOR | PDP |
PDPPERIOD | PDPPerCod |
PDPLEADTIME | PDPDelObt |
PDPCLOSEDPERIODNUMBER | PDPFermePerNb |
PDPNEGOPERIODNUMBER | PDPNegoPerNb |
PDPBATCHQUANTITY | PDPLotQte |
PDPPERIODGROUPINGNUMBER | PDPRegPerNb |
PDPGAPMAX | PDPEcartMax |
ARTICLEVATSYSTEM | TvaArt |
PUCHASEARTICLEVATSYSTEM | TvaArtA |
WMQUANTITYIMP | WmQteImp |
CODREPLENISHMENT | WmReapFroidFl |
SUBREFERENCE1 | Sref1 |
SUBREFERENCE2 | Sref2 |
ESTIMATEPREFIX | PrefDvNo |
ESTIMATENUMBER | DvNo |
TECHNICALQUOTATIONRANGEINDEX | DTInd |
CUSTOMERCODE | TiersCli |
REVIEWARTICLEINDICATOR | RevuArt |
ICPINDICATOR | ICPFl |
BUDGETCODE | BudgetCod |
LOGISTICWORKUNIT | TravUn |
AVERAGEPRICE | PrixMoy |
CONTRACTCODE | ContratCod |
CONTRACTFAMILY | ContratFam |
AUTOMATICEANFLAG | EANAutoFl |
ARTICLETYPECODE | TypeArtCod |
RESERVATIONDAYNUMBER | ResJrNb |
BARGAIN | Marche |
QUANTITY | Qte |
THIRDPARTYREFERENCE | TiersRef |
EPHEMERALARTICLEINDICATOR | ephemereFl |
PURCHASEUNITREF | AchUnRef |
MINIMALQUANTITY | QteMin |
QUANTITYBY | QtePar |
FIXEDASSERACCOUNT | CptI |
VISA | Visa |
APPROACHFEETYPECODE | FraisAppTypCod |
TRANSITSHIPPINGZONEFLAG | TransitFl |
LABORARTICLEREFERENCE | RefMo |
LABORPREPQUANTITY | MoPrepQte |
LABORPREPQUANTITYBY | MoPrepQtePar |
LABORPREPQUANTITYTYPE | MoPrepQteTyp |
LABORPOSEQUANTITY | MoPoseQte |
LABORPOSEQUANTITYBY | MoPoseQtePar |
LABORPOSEQUANTITYTYPE | MoPoseQteTyp |
TAXCREDITPERCENTAGE | CreditImpotP |
REBATEELIGIBLEARTICLE | RistournFl |
CUSTOMSFEEINDICATOR | FraisDouaneFl |
TAGIDENTIFIER | TagId |
NONTAXEBLEVAT | TvaNAssujettieFl |
DIVISIBLEARTICLE | SecableFl |
PREPROUNDINGQUANTITY | BpQteArr |
PRICESCLASSIFICATIONCODE | ClasCodTar |
DAORESCHEDULING | RejalDao |
DAORESCHEDULINGHORIZON | RejalDaoJrNb |
DATESPERIODTYPINGINDICATOR | PeriodeFl |
ARTICLEMODELTYPEORIGIN | ArtModTypOri |
MODELREFERENCEORIGIN | ModeleRefOri |
POSTCONSUMPTIONINDICATOR | PostConsoFl |
BFACLASSIFICATIONCODE | ClasCodBfa |
CFGARTICLETYPE | CFGType |
CFGFORMCODE | FormCFGCod |
STATUSCODE | StatutCod |
MASTERSTATUS | StatutM |
INITIALVERSIONINDICATOR | CvaInitFl |
ARTICLEMASTERNUMBER | ArtMasterNo |
ARTICLEMASTERATTACH | ArtMasterJoint |
ARTICLEPROJECTMANAGER | SalCod |
LIFECYCLEINDICATOR | CvaFl |
PREFIXNUMBERCFG | PrefCfgRfNo |
ROLECODE | RegleCod |
CONSUMPTIONHISTTYPE | HistConsoTyp |
CONFIGURATORWSCODE | ConfigurateurSwCod |
REFFEEAMOUNTTABLE | TRefFraisMt |
REFFEERATETABLE | TRefFraisTx |
FEETYPE | TRefFraisTyp |
REFCOEFFICIENTTABLE | TRefCoef |
REFERENCEPRICEIMPLICIT | TrefImplicite |
ARTICLETRACEABILITYINDICATOR | ArtTracfl |
CLASSIFICATIONRATECODE | ClasCodTx |
GDADESPUTEINDICATOR | GDALitigeFl |
UNITCONTROLINDICATOR | CtrlUniteFl |
SALESTARTDATE | VenDebDt |
SALEENDDATE | VenFinDt |
PURCHASESTARTDATE | AchDebDt |
PURCHASEENDDATE | AchFinDt |
EXPEDITIONENDDATE | ExpFinDt |
RECEPTIONENDDATE | ReceptFinDt |
OFBEGINDATE | OfDebDt |
OFENDDATE | OfFinDt |
CONSUMPTIONBEGINDATE | ConsoDebDt |
CONSUMPTIONENDDATE | ConsoFinDt |
PRICECALCULATIONCODE | TarMod |
PRICEMETHODCHANGE | TarModModif |