************
*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		             	  *
*                     Mars 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 BROUILLARDTETE"
OPEN "","ELTSFACTAIDE" TO F.ELTSFACTAIDE ELSE W_Sortie="ERREUR OUVERTURE ELTSFACTAIDE"

***************************************************************************
***						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
	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
					**********************************************
					***			Ligne ecriture principal       ***
					**********************************************
					W_DateOperation = OCONV(ENR_BROUILLARDDETAIL<2>,"D4/")
					W_DateOperation = W_DateOperation[1,2]:W_DateOperation[4,2]:W_DateOperation[7,4]
					
					IF ENR_BROUILLARDDETAIL<3> = "" AND ( ENR_BROUILLARDDETAIL<4>[4,1]="6" OR ENR_BROUILLARDDETAIL<4>[4,1]="7") THEN
						W_CompteGeneral=ENR_BROUILLARDDETAIL<4>[4,LEN(ENR_BROUILLARDDETAIL<4>)-3] 
						IF LEN(W_CompteGeneral) > 9 THEN
							W_CompteGeneral = W_CompteGeneral[1,9]
						END 
						W_CompteGeneral = W_CompteGeneral "L#17"
						W_NatureLigne="H"
						W_AuxiSect=ENR_BROUILLARDDETAIL<11> "L%3"
						W_AuxiSect=W_AuxiSect "L#17"
					END ELSE	
						W_CompteGeneral=ENR_BROUILLARDDETAIL<4>[4,LEN(ENR_BROUILLARDDETAIL<4>)-3]
						IF LEN(W_CompteGeneral) > 9 THEN
							W_CompteGeneral = W_CompteGeneral[1,9]
						END 
						W_CompteGeneral = W_CompteGeneral "L#17"
						W_NatureLigne=" "
						W_AuxiSect=SPACE(17)
					END
					
					W_RefMvtInt=SPACE(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=SPACE(8)
					W_CodeJourn=W_CodeJourn "R%3"
					W_LibMvt = ENR_BROUILLARDDETAIL<5> "L#35"
					
					*Ecriture de la ligne
					W_Ligne = W_CodeJourn:W_DateOperation:"OD":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:"EUR":SPACE(10):"E--":SPACE(43):"A1":SPACE(2)
					**********************************************
					***		Ligne ecriture Complementaire #1   ***
					**********************************************
					W_DateSyst = OCONV(ENR_BROUILLARDDETAIL<2>, "D4/")
					W_DateSyst = W_DateSyst[1,2]:W_DateSyst[4,2]:W_DateSyst[7,4]
					
					W_MontPremQuant=ENR_BROUILLARDDETAIL<10>*100
					IF W_MontPremQuant=0 OR W_MontPremQuant = "" THEN
						W_MontPremQuant=0
						W_MontPremQuant=W_MontPremQuant "R#20"
					END ELSE
						W_MontPremQuant=W_MontPremQuant[1,LEN(W_MontPremQuant)-4]:".":W_MontPremQuant[LEN(W_MontPremQuant)-3,4]
						IF LEN(W_MontPremQuant) = 4 THEN ;* Type .600
							W_MontPremQuant= "0":W_MontPremQuant[1,1]:"0":W_MontPremQuant[2,3] ;* Type 0.0600
						END
						IF LEN(W_MontPremQuant) = 5 THEN ;* Type .6000
							W_MontPremQuant= "0" : W_MontPremQuant ;*Type 0.6000
						END
						W_MontPremQuant=W_MontPremQuant "R#20"
					END
					
					*Ecriture de la ligne
					W_Ligne = W_Ligne:SPACE(43):W_DateSyst:SPACE(31):W_MontPremQuant:SPACE(20):"THC":SPACE(933) ;* Ligne Complmentaire #2 est vide et comptabilise dans le SPACE(933)
					
					*Ecriture final
					DELETE F.BROUILLARDDETAIL,W_CleBrouiDetail
					W_TabDonnees<-1>=W_Ligne
				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
