* Ouvertures des fichiers

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","PR" TO F.PR ELSE PRINT "OUVERTURE PR" 
OPEN "","PRC" TO F.PRC ELSE PRINT "OUVERTURE PRC" 
OPEN "","ELEMENT" TO F.ELEMENT ELSE PRINT "OUVERTURE ELEMENT" 
*********************************************************

* initialisation des variables

ENR_ELEMENT=""

*********************************************************

* PROGRAMME PRINCIPAL

   EXECUTE 'SELECT ELEMENT PAR-DECR @ID'
   EXECUTE 'SAUVE-LISTE W_RequeteElt'
   EXECUTE "LISTE W_RequeteElt" RETURNING MSGCODE

   IF MSGCODE<1> # 209 THEN

      SELECT F.ELEMENT TO W_RequeteElt

      W_Fin="FAUX"

      LOOP
         READNEXT W_CleElement FROM W_RequeteElt ELSE W_Fin = "VRAI"
      WHILE W_Fin = "FAUX" DO
         W_Code=W_CleElement+1 "R%5"
         W_Fin = "VRAI" 
      REPEAT
   END

   EXECUTE 'SELECT PR AVEC @ID # "_]" PAR @ID'
   EXECUTE 'SAUVE-LISTE W_RequetePR'
   EXECUTE "LISTE W_RequetePR" RETURNING MSGCODE

   IF MSGCODE<1> # 209 THEN

      SELECT F.PR TO W_RequetePR

      W_Fin="FAUX"

      LOOP
         READNEXT W_Cle FROM W_RequetePR ELSE W_Fin = "VRAI"
      WHILE W_Fin = "FAUX" DO
         READ ENR_PR FROM F.PR,W_Cle ELSE ENR_PR=""
 
         ENR_ELEMENT=""
         ENR_ELEMENT<1>=ICONV(W_Cle,"MCU")
         ENR_ELEMENT<2>="\\SERVEURINF\BASEDONNEES\PR"
         ENR_ELEMENT<3>=1
         ENR_ELEMENT<4>=""
         ENR_ELEMENT<5>=""
         ENR_ELEMENT<6>=W_Code:"000"

         WRITE ENR_ELEMENT ON F.ELEMENT,W_Code
         W_Code=W_Code+1 "R%5"

      REPEAT
   END

   EXECUTE 'SELECT PRC PAR @ID'
   EXECUTE 'SAUVE-LISTE W_RequetePRC'
   EXECUTE "LISTE W_RequetePRC" RETURNING MSGCODE

   IF MSGCODE<1> # 209 THEN

      SELECT F.PRC TO W_RequetePRC

      W_Fin="FAUX"

      LOOP
         READNEXT W_Cle FROM W_RequetePRC ELSE W_Fin = "VRAI"
      WHILE W_Fin = "FAUX" DO
         READ ENR_PRC FROM F.PRC,W_Cle ELSE ENR_PRC=""

         ENR_ELEMENT=""
         ENR_ELEMENT<1>=ICONV(W_Cle,"MCU")
         ENR_ELEMENT<2>="\\SERVEURINF\BASEDONNEES\PRC"
         ENR_ELEMENT<3>=2
         ENR_ELEMENT<4>=""
         ENR_ELEMENT<5>=""
         ENR_ELEMENT<6>=W_Code:"000"

         WRITE ENR_ELEMENT ON F.ELEMENT,W_Code
         W_Code=W_Code+1 "R%5"

      REPEAT
   END
STOP
