RÉCUPERER UNE LISTE DE FORMULES

3 Fonctions vous seront nécessaires pour réaliser la transaction :

Exemple d’utilisation

listeFormuleAImporter est un EXIM_automatomFormula
nNbrFormule est un entier
retourImportation est un EXIM_automatomFormulaResult

SI EXIM_connect("user","password","IDPeer") = Faux ALORS
        Info("Impossible de se connecter")
        RETOUR
FIN

nNbrFormule = FORMULA_howManyToDownload()

SI nNbrFormule <> 0 ALORS
        listeFormuleAImporter <= FORMULA_get()

        // On prépare la variable de retour d'importation
        retourImportation.IDLicence = "TEST"
        POUR i = 1 _À_ TableauOccurrence(listeFormuleAImporter.Formulas)
                // Parcours des formules à importer
                // Préparation de la variable de retour
                TableauAjouteLigne(retourImportation.importationResult)
                retourImportation.importationResult[i].formulaNumber = listeFormuleAImporter.Formulas[i].formulaNumber
                retourImportation.importationResult[i].plantCode = listeFormuleAImporter.Formulas[i].plantCode

                QUAND EXCEPTION DANS
                        // Importation de la formule dans l'automate
                        // ...
                        // ...


                        // Tout c'est bien passé
                        retourImportation.importationResult[i].importationResult = 200
                FAIRE
                        // Problème à l'importation
                        retourImportation.importationResult[i].importationResult = 500
                        retourImportation.importationResult[i].errorDetail = "Problème d'importation ... placer votre message d'erreur"
                FIN

        FIN

        // Le fichier de résultat d'importation est renvoyé à BRG-LAB pour clôturer la transaction
        FORMULA_importResult(retourImportation)
FIN

Visual studio .net

Dim automapiClient As New automapiSOAPPortTypeClient

Dim EXIM_automatomFormula As tEXIM_automatomFormula

Dim nNbrFormule As Integer

Dim SID As Byte()

ReDim SID(20)

automapiClient.Open()

If automapiClient.EXIM_connect(SID, "user", "password", "IDPeer") Then

    nNbrFormule = automapiClient.FORMULA_howManyToDownload(SID)

    If nNbrFormule > 0 Then

        EXIM_automatomFormula = automapiClient.FORMULA_get(SID)

    End If

End If

Structure des données échangées

EXIM_automatomFormula

version is string                                              -> N° de version du fichier d'échange
versionDate is string                                          -> Date de dernière modification du fichier d'échange
Formulas is array of EXIM_formulaDescription                   -> Liste des formules
Materials is array of EXIM_material                            -> Caratéristiques des matériaux utilisés dans les formules
automatonCodes is array of EXIM_automatonCode                  -> Codes additionnels pouvant être personnalisé en fonction du type d'automate

status_list is array of strings                                -> Statut de la formule ["STUDY","CONVENIENCE","PRODUCTION"]
admixtureType_list is array of strings                         -> Liste des type d'ajuvants (varie selon les configurations et les pays)
cementType_list is array of strings                            -> Liste des types de ciment (varie selon les configurations et les pays)
expositionClass_list is array of strings                       -> Classe d'exposition ["X0", "XC1", "XC2", "XC3", "XC4", "XS1", "XS2", "XS3", "XD1", "XD2", "XD3", "XF1", "XF2", "XF3", "XF4", "XA1", "XA2", "XA3"]
chlorideClass_list is array of strings                         -> Classe de chlorures ["CL02","CL04","CL065","CL1"]
densityClass_list is array of strings                          -> Classe de densité ["D10","D12","D14","D16","D18","D20","DN","DL"]
resistancyClass_list is array of strings                       -> Classe de résistance ["C8/10","C12/15","C16/20","C20/25","C25/30","C30/37","C35/45","C40/50","C45/55","C50/60","C55/67","C60/75","C70/85","C80/95","C90/105","C100/115"]
consistancyClass_list is array of strings                      -> ["S1","S2","S3","S4","S5","V0","V1","V2","V3","V4","C0","C1","C2","C3","F1","F2","F3","F4","F5","F6","SF1","SF2","SF3","VS1","VS2","VF1","VF2","PL1","PL2","PJ1","PJ2","SR1","SR2"]
concreteType_list is array of strings                          -> Type de béton ["BPS-NF","BCP-NF","BAP-NF","BIPS-NF","BICP-NF","BPS-NM","BCP-NM","BPS","BCP","BAP","BHN","MRT","GRV","BCX"]
productType_list is array of strings                           -> Type de matériau ["AGGREGATE","CEMENT","ADDITIVE","ADMIXTURE","SPECIAL","WATER"]
admixtureDosageMode_list is array of strings                   -> Mode de dosage des adjuvants ["C","L","C+A"] C : Ciment, L : Liant équivalent, : C+A : Ciment + Addition
additiveType_list is array of strings                          -> Liste des types d'addition ["LIMESTONE","ASH","FILLER","SLAG","METAKAOLIN","PIGMENT","SILICA"]
specialProductIntroduction_list is array of strings            -> Produit spécial, mode d'introduction ["MIXER","TRUCK"]
specialProductType_list is array of strings                    -> Type de produit spécial ["DYE","FIBER","SPECIAL","FIBERM"]
specialProductPackaging_list is array of strings               -> Mode de conditionnement de produit spécial ["SOLID","LIQUID"]

EXIM_formulaDescription

exportDate is DateHour                 -> Date d'exportation de BRG-LAB
exportLogin is strings                 -> Login de l'utilisateur qui à exporté la formule
exportUserName is strings              -> Nom complet de l'utilisateur qui à exporté la formule

formulaNumber is string                -> N° de formule (plantCode + séparateur + formulatCode + (separateur + recette)) numéro tel qu'il est affiché dans BRG-LAB
plantCode is string                    -> Code de la centrale
formulaCode is strings                 -> Code de la formule
plant is string                        -> Désignation de la centrale
recipe is strings                      -> Désignation de la recette (Selon automate facultatif)
isActive is boolean                    -> Active / Inactive
status is string                       -> Statut de la formule (voir status_list)
commercialDesignation is string        -> Désignation commerciale de la formule
standardDesignation is string          -> Désignation normative de la formule
concreteType is string                 -> Type de béton (voir concreteType_list)
family is strings                      -> Famille (Optionnel en fonction de l'automate)
standard is string                     -> Norme (chaine de caractère non formatée)
productCode is string                  -> Code produit (non utilisé)
utilisation is string                  -> Utilisation de la formule (libellé libre défini par l'utilisateur)
publicInformation is string            -> Informations publiques (libellé libre défini par l'utilisateur)
privateInformation is string           -> Informations privés (libellé libre défini par l'utilisateur)
centralistInformation is string        -> Informations à transmettre au centraliste (libellé libre défini par l'utilisateur)

// Standard specifications
expositionClass is string              -> (Voir expositionClass_list)
performanceExpositionClass is string   -> (Voir expositionClass_list + "p")
chlorideClass is string                -> (Voir chlorideClass_list)
densityClass is string                 -> (Voir densityClass_list)
resistanceClass is string              -> (Voir resistancyClass_list)
consistancyClass is string             -> (Voir consistancyClass_list)
consistancyTarget is string            -> (Classe de consistance saisie par l'utilisation (dans ce cas consistancyClass est vide))
expositionClassLabel is string         -> Désignation de la classe d'exposition (libre)
chlorideClassLabel is string           -> Désignation de la classe de chlorure (libre)
densityClassLabel is string            -> Désignation de la classe de densité (Libre)
consistancyClassLabel is string        -> Désignaiton de la classe de consistance (Libre)

// Technical specifications
totalWeight is real                    -> Poids total de la formule
equivalentBinder is real               -> Liant équivalent
minBinder is real                      -> Liant minimal imposé par la norme
GonS is real                           -> Rapport G/S
granularity is real                    -> Granularité
granularyWater is real                 -> Eau absorbée par les granulats
efficientWater is real                 -> Eau efficace
admixtureWater is real                 -> Eau ajoutée par les adjuvants
totalWater is real                     -> Eau totale
WonC is real                           -> Rapport E/C
entrainmentAir is real                 -> % d'air entrainé
occludedAir is real                    -> % d'air occlus
mixingTime is real                     -> Durée du malaxage
NA2O is real                           -> Quantité NA2O
chlorideIon is real                    -> Quantité d'Ion chlorures
CO2 is real                            -> Quantité de CO2
suspendedSolidsMax is real             -> Maximum de matière en suspension dans l'eau autorisée
totalPrice is real                     -> Prix total de la formule
// Rajouté le 13/02/2023
recycledMassRate is real               -> Taux massique de recyclé
recycledPourcentage is real            -> % de granulat recyclé
recycledSandPourcentage is real        -> % de sable recyclé
recycledAggregateType1 is real         -> % de granulat recyclé de type 1
recycledAggregateType2 is real         -> % de granulat recyclé de type 2

// fields for specific automaton
automatonCode0 is string
automatonCode1 is string
automatonCode2 is string
automatonCode3 is string
automatonCode4 is string
automatonCode5 is string
automatonCode6 is string
automatonCode7 is string
automatonCode8 is string
automatonCode9 is string

dosages is array of EXIM_dosage

EXIM_dosage

productCode is string  -> Code produit (code du produit devant être identique entre l'automate et BRG-LAB afin d'effectuer la liaison)
Dosage is real         -> Dosage
dosageUnity is string  -> Unité de dosage ["Kg","l","%","DOSE"]

// fields for specific automaton
automatonCode0 is string
automatonCode1 is string
automatonCode2 is string
automatonCode3 is string
automatonCode4 is string

EXIM_material

// General definitions
corporate is string                    -> Société mère (dans le cas  l'entreprise aurait plusieurs sites de production, sinon laisser vide)
plant is string                        -> Désignation du site de production
productType is string                  -> (Voir productType_list)
designation is string                  -> Désignation du produit
productCode is string                  -> Code produit (code du produit devant être identitique entre l'automate et BRG-LAB afin d'effectuer la liaison)
density is real                        -> Densité
NA20 is real                           -> % NA2O
CO2 is real                            -> CO2 / tonnes en Kg
chlorideIon is real                    -> % d'ions chlorures
CMprice is real                        -> Prix au mètre cube
tonPrice is real                       -> Prix à la tonne

// Admixture definition
admixtureDryExtract is real            -> % d'extrait sec de l'adjuvant
admixtureMaxRange is real              -> Plage maximale d'utilisation
admixtureMinRange is real              -> Plage miniamle d'utilisation
admixtureType is string                -> (Voir admixtureType_list)
admixtureDosageMode is string          -> (Voir admixtureDosageMode_list)

// Cement definition
cementTrueClass is real                -> Classe vrai du ciment
cementType is string                   -> (Voir cementType_list)

// Aggregate definition
aggregateGranulometry is string        -> Granulométrie au format {Tamis;Tamis;...}{Passant;Passant;...} (séparateur décimal .)
aggregateAbsorption is real            -> Coefficient d'absorption du granulat
aggregateIsSand is boolean             -> Le granulat est un sable
// Rajouté le 13/02/2023
aggregatedNature is string             -> Nature du granulat [A -> Artificiel, N -> Naturel, Tx -> Prélélange, Y -> Recyclé]
aggregateRecycledType is integer       -> Type de granulat recyclé [1,2,3]
aggregateRecycledMassRate is real      -> Taux massique de granulat recyclé


// Additive definition
additiveK is real                      -> Rapport K de l'addition
additiveType is string                 -> (Voir additiveType_list)

// Special products
specialProductIntroduction is string   -> Mode d'introduction des produits spéciaux (Voir specialProductIntroduction_list)
specialProductType is string           -> Type de produit spécial (Voir additiveType_list)
specialProductPackaging is string      -> Mode de conditionnement du produit spécial (Voir specialProductPackaging_list)

// Other features for specifics automaton
automatonCode0 is string
automatonCode1 is string
automatonCode2 is string
automatonCode3 is string
automatonCode4 is string

EXIM_automatomFormulaResult

importationResult is a array of EXIM_automatomFormulaResultDetail

EXIM_automatomFormulaResultDetail

plantCode is string                    -> Code de la centrale
formulaNumber is string                -> N° de formule  formulaNumber ( plantCode + séparateur "-" + formulaCode )
importationResult is int               -> Résultat de l'importation ["200","500"] 200 : Succés ; 500 : Erreur interne
errorDetail is Buffer                  -> Détail de l'erreur d'importation à transmettre