**************************************************************
* 		Rapprochement CESU                                   *                          
* 		Test du fichier renvoy 		                   	 *
*  --------------------------------------------------------  *
* 		Fait le 16/10/2007 par Priscilla                     * 
**************************************************************

**************************************************************
* Annuaire des GOSUB's
*
* 100 : Parcours du Fichier.CRTL
* 110 : Requtes sur TICKETSCESU
* 120 : Mise  jour d'ETATTICKETS
* 130 : Mise  jour du code anomalie dans la table TICKETSCESU

**************************************************************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"


*************************************
* 	 Dclaration des variables      *
*************************************
ENR_TICKETSCESU = ""
ENR_CESU = ""
W_Cesu = ""
W_IncFichLigne = 0
W_NumTitre = ""
W_Anomalie = ""
W_RequeteTickets = ""
W_Ligne = ""
W_Cle = ""


********************************************************
* RECUPERATION PARAMETRES PASSS A LA PROCEDURE
********************************************************
PROCREAD ARGUMENTS ELSE PRINT "Procread"
W_Cesu = FIELD(ARGUMENTS," ",2)



*************************************
* 	   Ouverture des fichiers       *
*************************************
OPEN "","TICKETSCESU" TO F.TICKETSCESU ELSE PRINT "ERREUR OUVERTURE TICKETSCESU"
OPENSEQ "CESU", W_Cesu TO ENR_CESU ELSE PRINT "ERREUR OUVERTURE CESU"
OPEN "","ETATTICKETS" TO F.ETATTICKETS ELSE PRINT "ERREUR OUVERTURE ETATTICKETS"




*************************************
* 		Programme principal         *
*************************************

*************************************************************************
* Positionnement sur le dossier CESU
	IF W_Cesu <> ""  THEN
		* Parcours du fichier.CTRL
		GOSUB 100
	END

	* Remplacement de l'extension CTRL par CTRLT
	* Ferme la lecure squentielle pour rcrire le fichier en mode normal
	CLOSESEQ ENR_CESU
	OPEN "", "CESU" TO F.CESU ELSE PRINT "ERREUR OUVERTURE CESU"
	READ ENR_CESU FROM F.CESU, W_Cesu ELSE STOP "ERREUR LECTURE CESU"
	
	WRITE ENR_CESU ON F.CESU, W_Cesu[1,LEN(W_Cesu)-4] : "CTRLT"
	DELETE F.CESU, W_Cesu
	
STOP
*************************************************************************
* Parcours du fichier.CTRL

100
	W_IncFichLigne = 1
	
	
	* Boucle sur le fichier
	LOOP WHILE 1
		READSEQ W_Ligne FROM ENR_CESU THEN
			
			IF W_Ligne[1,1] = "4" THEN
				W_NumTitre = W_Ligne[12,9]
				W_Anomalie = W_Ligne[22,10]
				
				* Requtes sur TICKETSCESU
				GOSUB 110
				
				
				
				* Lecture des tickets CESU
				READ ENR_TICKETSCESU FROM F.TICKETSCESU, W_Cle ELSE ENR_TICKETSCESU = ""
				
				*Mise  jour du code Anomalie
				GOSUB 130
				
				
				* Si premier passage, on charge la cl ETATTICKETS concerne et on met  jour
				IF W_IncFichLigne = 1 THEN GOSUB 120
				
				W_IncFichLigne = W_IncFichLigne + 1
				
			END
			
		END ELSE
			EXIT
		END
	REPEAT
RETURN

*************************************************************************
* Requtes sur TICKETSCESU

110
	W_RequeteTickets = "SSELECT TICKETSCESU AVEC @ID = " : CHAR(34): "[" : W_NumTitre : CHAR(34) : " PAR @ID"

	EXECUTE W_RequeteTickets
	READNEXT W_Cle ELSE STOP
	
	W_RequeteTickets = ""
RETURN

*************************************************************************
* Mise  jour ETATTICKETS

120
	
	READ ENR_ETATTICKETS FROM F.ETATTICKETS, ENR_TICKETSCESU<8> ELSE ENR_ETATTICKETS = ""
	IF ENR_ETATTICKETS = "" THEN STOP

	ENR_ETATTICKETS<1> = "2"
	WRITE ENR_ETATTICKETS ON F.ETATTICKETS, ENR_TICKETSCESU<8>
RETURN

*************************************************************************
* Mise  jour du code anomalie dans la table TICKETSCESU

130

	* Boucle sur les codes erreurs du fichier de retour, si une erreur, on note dans TICKETSCESU  quel niveau
	FOR I = 1 TO 10
		IF W_Anomalie[I,1] <> "0" THEN ENR_TICKETSCESU<9> = I
		WRITE ENR_TICKETSCESU ON F.TICKETSCESU, W_Cle
	NEXT I
	
RETURN
