************
*Exportation des paies CEGID*
*Entit juridique |3N|TXT|N*
*Code du journal |3N|TXT|N*
*Priode de la paie (AAAAMM) |6N|TXT|N*
*Nom du fichier gnr |30X|TXT|N*
*************

*******************************************************
*              	     PR DE PAIE		             	  *
*                     Aout 2013                       *
*                      Alexandre                      *
*                  SPECIF ASMADCHTX					  *
*******************************************************
PROCREAD ARGUMENTS ELSE PRINT "PROCREAD"
EXECUTE 'SET-THOUS " "'
EXECUTE "SET-DEC ."
EXECUTE "DATE.FORMAT"

***************************************************************************
***						Ouverture des fichiers							***
***************************************************************************
OPEN "","BROUILLARDDETAIL" TO F.BROUILLARDDETAIL ELSE W_Sortie="ERREUR OUVERTURE BROUILLARDDETAIL"
OPEN "","BROUILLARDTETE" TO F.BROUILLARDTETE ELSE W_Sortie="ERREUR OUVERTURE BROUILLARDTETE"
OPEN "","LIENCOMPTA" TO F.LIENCOMPTA ELSE W_Sortie="ERREUR OUVERTURE LIENCOMPTA"
OPEN "","PLANCOMPTABLE" TO F.PLANCOMPTABLE ELSE W_Sortie="ERREUR OUVERTURE PLANCOMPTABLE"

***************************************************************************
***						Rcupration des paramtres						***
***************************************************************************
W_EntiteJur = FIELD(ARGUMENTS," ",2)
W_CodeJourn = FIELD(ARGUMENTS," ",3)
W_Periode = FIELD(ARGUMENTS," ",4)
W_NomFicGen = FIELD(ARGUMENTS," ",5)


***************************************************************************
***						Initialisation des variables					***
***************************************************************************
W_TabDonnees=""
W_Requete=""
W_Temp=""
W_Cle=""
W_NumLigne=""
W_Ligne=""
W_CleBrouiDetail=""
ENR_CIVILAIDE=""
ENR_ELTSFACTAIDE=""
ENR_BROUILLARDDETAIL=""
ENR_BROUILLARDTETE=""


***************************************************************************
***						    Dbut du traitement 						***
***************************************************************************
W_TabDonnees<1>="!"
***************************************************************************
***						 Traitement des brouillards						***
***************************************************************************
W_CodeJourn=W_CodeJourn "R%2"
W_Temp='SELECT BROUILLARDTETE  AVEC 0 ="[':W_CodeJourn:']"'

EXECUTE W_Temp
EXECUTE 'SAUVE-LISTE W_Requete'
EXECUTE "LISTE W_Requete" RETURNING MSGCODE



IF MSGCODE<1> # 209 THEN
	W_IncrEnreg = 0
	SELECT F.BROUILLARDTETE TO W_Requete
	
	W_Fini="FAUX"
	LOOP
		READNEXT W_Cle FROM W_Requete ELSE W_Fini="VRAI"
	WHILE W_Fini="FAUX" DO
		READ ENR_BROUILLARDTETE FROM F.BROUILLARDTETE,W_Cle THEN	
			FOR i = 1 TO ENR_BROUILLARDTETE<1>
				W_CompteGeneral=""
				W_NatureLigne=""
				W_AuxiSect=""
				W_RefMvtInt=""
				W_CodModPaie=""
				W_DateEcheanMvt=""
				W_SensMvt=""
				W_Montant=""
				W_NumPiece=""
				W_DateSyst=""
				W_MontPremQuant=""
				W_LibMvt=""
				
				W_NumLigne=i "R%5"
				W_CleBrouiDetail=W_Cle:W_NumLigne
				READ ENR_BROUILLARDDETAIL FROM F.BROUILLARDDETAIL,W_CleBrouiDetail THEN
					IF ENR_BROUILLARDDETAIL<4>[4,1]="6" THEN
						W_IncrEnreg = W_IncrEnreg + 1
						**********************************************
						***			Ligne ecriture principal       ***
						**********************************************
						W_DateOperation = "0101":W_Periode
						
						W_AuxiSect=ENR_BROUILLARDDETAIL<11> "L%3"
						W_AuxiSect=W_AuxiSect :"0"
						W_AuxiSect=W_AuxiSect "L#17"
						
						W_CompteGeneral=ENR_BROUILLARDDETAIL<4>[4,LEN(ENR_BROUILLARDDETAIL<4>)-3]
						READ ENR_PLANCOMPTABLE FROM F.PLANCOMPTABLE,ENR_BROUILLARDDETAIL<4> THEN
							W_LibMvt = ENR_PLANCOMPTABLE<1>
							IF LEN(W_LibMvt) > 35 THEN
								W_LibMvt = W_LibMvt[1,35]
							END
							W_LibMvt = W_LibMvt "L#35"
						END ELSE
							W_LibMvt = SPACE(35)
						END
						IF LEN(W_CompteGeneral) > 9 THEN
							W_CompteGeneral = W_CompteGeneral[1,9]
						END 
						W_CompteGeneral = W_CompteGeneral "L#17"
						W_NatureLigne="B"
						W_RefMvtInt="BUDGET ":W_Periode
						W_RefMvtInt = W_RefMvtInt "L#35"
						W_CodModPaie=SPACE(3)
						W_DateEcheanMvt=SPACE(8)
						
						
						IF ENR_BROUILLARDDETAIL<7> # "" THEN 
							W_SensMvt="D"
							W_Montant=ENR_BROUILLARDDETAIL<7>
						END ELSE
							W_Montant=ENR_BROUILLARDDETAIL<8>
							W_SensMvt="C"
						END
						IF W_Montant = 0 OR W_Montant = "" THEN
							W_Montant = 0 
						END
						IF W_Montant => 100 THEN
							W_Montant=W_Montant[1,LEN(W_Montant)-2]:".":W_Montant[LEN(W_Montant)-1,2]
						END ELSE
							IF W_Montant < 100 AND W_Montant >= 10 THEN
								W_Montant = "0.":W_Montant
							END ELSE
								IF W_Montant < 10 THEN
									W_Montant = "0.0":W_Montant
								END
							END
						END
						W_Montant=W_Montant "R#20"

						
						W_NumPiece=W_IncrEnreg "R#8"
						W_CodeJourn="C":W_Periode[3,2]
						
						
						*Ecriture de la ligne
						W_Ligne = W_CodeJourn:W_DateOperation:"C ":W_CompteGeneral:W_NatureLigne:W_AuxiSect:W_RefMvtInt:W_LibMvt:W_CodModPaie
						W_Ligne = W_Ligne:W_DateEcheanMvt:W_SensMvt:W_Montant:"N":W_NumPiece:"N  ":SPACE(10):"E--":SPACE(43):"A1":SPACE(45):W_DateOperation:SPACE(28):"INI":SPACE(289)
						
						*Ecriture final
						DELETE F.BROUILLARDDETAIL,W_CleBrouiDetail
						W_TabDonnees<-1>=W_Ligne
					END
				END
			NEXT i
			
			DELETE F.BROUILLARDTETE,W_Cle
		END
REPEAT
END

WRITE W_TabDonnees ON F.LIENCOMPTA,W_NomFicGen
W_Sortie="Le fichier ":W_NomFicGen:" a t gnr dans le rpertoire LIENCOMPTA."

EXECUTE 'EFFACER-LISTE W_Requete'

RETURN