DIAPASON 05
Breadcrumbs

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 :

      image-20230620-140301.png

      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