Requête RN5
A noter que nous avons gardé l’explication concernant cette requête, mais elle n’est plus très utilisée dans les nouveaux projets !!! Désormais ces requêtes sont intégrées dans les moteur PLUGIN de configuration.
➡️ A la fin de la phase de génération des données techniques à proprement parler (traitement DT), il est possible d’exécuter une dernière requête RN5.
Pour cela, il faut alimenter la variable VBP.RN5FinDT dans une des requêtes dédiées (RN1 ou RN5) avec une référence requête RN5 existante. Le contexte de cette RN5 est le même que toutes les RN5, mais :
VBA.di-niveau = 9999
VBA.NomPtrGen = 0000000001
En aucun cas on ne peut mettre à jour de pointeur dans cette requête RN5
Le but de la RN5 est de faire des contrôles ou des mises à jour complémentaires (mise à jour de tables de valeurs ou utilisation de la fonction ENR-ACT-ENT) et déclencher éventuellement une erreur (LC-ERREUR), cette dernière annulant le traitement DT et le postant en erreur.
➡️ En suivant, si la requête RN5 n’a pas déclenché d’erreur, il est possible d’exécuter une requête REB.
Pour cela, il faut alimenter la variable VBP.REBFinDT dans une des requêtes dédiées (RN1 ou RN5) avec une référence requête REB existante. Le contexte de cette REB est le suivant :
SCR.NomTyp
SCR.GenRefTypeArt + SCR.GenRefArt OU SCR.CdeNumCom + SCR.CdeNumLig
SCR.TypeGenDT (DT, DTs, DTa ou DTp)
SCR.NomPtrGen
Le but de la REB est de faire des mises à jour complémentaires (mise à jour de tables de valeurs ou utilisation de la fonction ENR-ACT-ENT) et déclencher éventuellement une erreur (LC-ERREUR), cette dernière annulant le traitement DT et le postant en erreur.
En suivant, si la requête REB n’a pas déclenché d’erreur, les domaines DT qui sont prévus pour être traités interactivement dans la chaîne d’intégration sont déclenchés pour la ligne en cours d’intégration.
En suivant, si tous les calculs se sont déroulés sans erreur, les domaines DT qui sont prévus pour être traités durant dans la chaîne d’intégration sont déclenchés (en batch).
➡️ Une dernière requête REB ou un document peuvent être exécutés.
Pour cela, il faut alimenter la variable VBP.TrtProEnc dans une des requêtes dédiées (RN1 ou RN5) avec au choix :
« REB= » + référence requête REB existante.
« DOC= » + reference document existant
Le contexte de la REB est le suivant :
SCR.NomTyp
SCR.GenRefTypeArt + SCR.GenRefArt OU SCR.CdeNumCom + SCR.CdeNumLig
SCR.TypeGenDT (DT, DTs, DTa ou DTp)
SCR.NomPtrGen
Remarque : les erreurs dans la REB n’annulent pas le traitement DT.
Exemple de paramétrage pour une table
Une table est constituée d’un plateau, de 4 pieds (Articles approvisionnés à la commande), d’un support et d’un ensemble quincaillerie à chaque étape d’assemblage.
La nomenclature de cet article « TABLE » se présente sous la forme suivante :
Les tables sont composées d’articles standards et sur-mesure.
Définition des composants :
Référence table | Type | Origine | Gestion | Conso. |
PLATEAU | VAD | F | Cde | Back flush |
SUPPORT | VAD | F | Cde | Back flush |
PIED | VAD | F | Cde | Back flush |
CSA_CDE | VAD | A | Cde | Back flush |
M101-001 | R | A | NST | Manuel |
M102-001 | R | A | NST | Manuel |
M103-001 | R | A | NST | Manuel |
S101-001 | R | F | NST | Back flush |
S101-002 | R | F | NST | Back flush |
Les données variables pour une table sont les dimensions (longueur, largeur, Hauteur), ainsi que deux options coloris pour le plateau et le support.
Les règles définies sur les phases d’intégration déterminent les éléments de production.
Requête RN5.CSA_SurfPX
TRACE-ACTIVE
TRACE= CLO."Dimensions Saisie :" + " " + CHAINE( VALEUR= VBA.Longueur ) + " " + CHAINE( VALEUR= VBA.Largeur )
INIT SNO.NomQteCsa = VBA.Longueur * VBA.Largeur
Requête RN5.CSA_LongCh
TRACE-ACTIVE
TRACE= CLO."Dimensions Saisie :" + " " + CHAINE( VALEUR= VBA.Longueur ) + " " + CHAINE( VALEUR= VBA.Largeur )
SI VBA.OptChtCoul VRAI
INIT SNO.NomQteCsa = VBA.Longueur * CLO.2 + VBA.Largeur * CLO.2
FIN_BLOC
SINON
INIT SNO.NomQteCsa = CLO.0
FIN_BLOC
Requête RN5.CSA_SupL
TRACE-ACTIVE
TRACE= CLO."Dimensions Saisie :" + " " + CHAINE( VALEUR= VBA.Longueur ) + " " + CHAINE( VALEUR= VBA.Largeur )
SI VBA.OptChtCoul VRAI
INIT SNO.NomQteCsa = VBA.Longueur * CLO.2 + VBA.Largeur * CLO.2
FIN_BLOC
SINON
INIT SNO.NomQteCsa = CLO.0
FIN_BLOC
Requête RN5.CSA_SupC
TRACE-ACTIVE
TRACE= CLO."Dimensions Saisie :" + " " + CHAINE( VALEUR= VBA.Longueur ) + " " + CHAINE( VALEUR= VBA.Largeur )
SI VBA.OptChtCoul VRAI
INIT SNO.NomQteCsa = VBA.Longueur * CLO.2 + VBA.Largeur * CLO.2
FIN_BLOC
SINON
INIT SNO.NomQteCsa = CLO.0
FIN_BLOC
Requête RV2.CSAIniCar
TRACE-ACTIVE
TRACE= CLO."Dimensions Saisie :" + " " + CHAINE( VALEUR= VBA.Longueur ) + " " + CHAINE( VALEUR= VBA.Largeur )
SI VBA.OptChtCoul VRAI
INIT SNO.NomQteCsa = VBA.Longueur * CLO.2 + VBA.Largeur * CLO.2
FIN_BLOC
SINON
INIT SNO.NomQteCsa = CLO.0
FIN_BLOC
Requête RVG.RVG-CSA
COMMENTAIRE : "*** Gestion Gamme pour Composant ***"
TRACE-ACTIVE
TRACE= CLO."Req RVG : Famille traitee" + " " + SAS.GenFamArt
SI SAS.GenFamArt = CLO."CSA-SUP"
CREATION LISTE :
PRENDRE RefGammeGeni = CLO."SupFabGen"
PRENDRE GammeActive = CGL.VRAI
PRENDRE GammeMajeure = CGL.VRAI
PRENDRE UniteProd = CLO."1-UP"
PRENDRE CadreUtil = CLO."1-CU-S1"
FIN_BLOC
FIN_BLOC