EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","AIDANTSARCHIVEBULL" TO F.AIDANTSARCHIVEBULL ELSE STOP
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "","DETAILINDEM" TO F.DETAILINDEM ELSE STOP
OPEN "","HISTORCUMUL" TO F.HISTORCUMUL ELSE STOP
OPEN "","HISTORINDEM" TO F.HISTORINDEM ELSE STOP

W_RESULTAT = ""
W_Ind=1
W_Tab=""

PRINT "Code aidant  supprimer: "
INPUT W_CodeVieux

PRINT "Nouveau code aidant : "
INPUT W_CodeNew

READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CodeNew ELSE ENR_CIVILAIDANT = ""
W_Contrat=ENR_CIVILAIDANT<41>

* CONTRAT

EXECUTE 'SSELECT CONTRAT AVEC 0 = "':W_CodeVieux:']" PAR 0'
EXECUTE 'SAUVE-LISTE W_RESULTAT'
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN

	W_FINI = "FAUX"
	
	SELECT F.CONTRAT TO W_RESULTAT
	
	LOOP
		READNEXT CLE FROM W_RESULTAT ELSE W_FINI="VRAI"
	WHILE W_FINI = "FAUX"
		READ ENR_CONTRAT FROM F.CONTRAT,CLE ELSE ENR_CONTRAT = ""
		
		W_Contrat=W_Contrat+1 "R%3"
		ENR_CIVILAIDANT<41>=W_Contrat

		WRITE ENR_CONTRAT ON F.CONTRAT,W_CodeNew:W_Contrat

		W_Tab<W_Ind,1>=CLE
		W_Tab<W_Ind,2>=W_CodeNew:W_Contrat
		W_Ind=W_Ind+1

		ENR_CONTRAT<65>="O"
		WRITE ENR_CONTRAT ON F.CONTRAT,CLE

	REPEAT

	WRITE ENR_CIVILAIDANT ON F.CIVILAIDANT,W_CodeNew

END

* DETAILCALCUL

W_RESULTAT = ""
EXECUTE 'SSELECT DETAILCALCUL AVEC 0 = "':W_CodeVieux:']" PAR 0'
EXECUTE 'SAUVE-LISTE W_RESULTAT'
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN

	W_FINI = "FAUX"
	
	SELECT F.DETAILCALCUL TO W_RESULTAT
	
	LOOP
		READNEXT CLE FROM W_RESULTAT ELSE W_FINI="VRAI"
	WHILE W_FINI = "FAUX"
		READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,CLE ELSE ENR_DETAILCALCUL = ""
		
		W_Contrat=CLE[1,8]
		W_Periode=CLE[9,6]

		i=1
		LOOP
		UNTIL W_Contrat=W_Tab<i,1> OR W_Tab<i,1>=""
			i=i+1
		REPEAT

		IF W_Tab<i,1> # "" THEN
			W_NewContrat=W_Tab<i,2>
			WRITE ENR_DETAILCALCUL ON F.DETAILCALCUL,W_NewContrat:W_Periode
      			DELETE F.DETAILCALCUL,CLE
		END

	REPEAT
	
END

* AIDANTSARCHIVEBULL

W_RESULTAT = ""
EXECUTE 'SSELECT AIDANTSARCHIVEBULL AVEC 0 = "':W_CodeVieux:']" PAR 0'
EXECUTE 'SAUVE-LISTE W_RESULTAT'
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN

	W_FINI = "FAUX"
	
	SELECT F.AIDANTSARCHIVEBULL TO W_RESULTAT
	
	LOOP
		READNEXT CLE FROM W_RESULTAT ELSE W_FINI="VRAI"
	WHILE W_FINI = "FAUX"
		READ ENR_AIDANTSARCHIVEBULL FROM F.AIDANTSARCHIVEBULL,CLE ELSE ENR_AIDANTSARCHIVEBULL = ""

		READ ENR_AIDANTSARCHIVEBULLNOUV FROM F.AIDANTSARCHIVEBULL,W_CodeNew:CLE[6,4] ELSE ENR_AIDANTSARCHIVEBULLNOUV = ""

		FOR i = 1 TO 12

			W_CountNouv=DCOUNT(ENR_AIDANTSARCHIVEBULLNOUV<i>,CHAR(253))
			W_Count=DCOUNT(ENR_AIDANTSARCHIVEBULL<i>,CHAR(253))
			FOR j = 1 TO W_Count
				ENR_AIDANTSARCHIVEBULLNOUV<i,W_CountNouv+j>=ENR_AIDANTSARCHIVEBULL<i,j>
			NEXT j

		NEXT i

		WRITE ENR_AIDANTSARCHIVEBULLNOUV ON F.AIDANTSARCHIVEBULL,W_CodeNew:CLE[6,4]

      		DELETE F.AIDANTSARCHIVEBULL,CLE

	REPEAT
	
END

* DETAILINDEM

W_RESULTAT = ""
EXECUTE 'SSELECT DETAILINDEM AVEC 0 = "':W_CodeVieux:']" PAR 0'
EXECUTE 'SAUVE-LISTE W_RESULTAT'
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN

	W_FINI = "FAUX"
	
	SELECT F.DETAILINDEM TO W_RESULTAT
	
	LOOP
		READNEXT CLE FROM W_RESULTAT ELSE W_FINI="VRAI"
	WHILE W_FINI = "FAUX"
		READ ENR_DETAILINDEM FROM F.DETAILINDEM,CLE ELSE ENR_DETAILINDEM = ""
		
		W_Contrat=CLE[1,8]
		W_Periode=CLE[9,13]

		i=1
		LOOP
		UNTIL W_Contrat=W_Tab<i,1> OR W_Tab<i,1>=""
			i=i+1
		REPEAT

		IF W_Tab<i,1> # "" THEN
			W_NewContrat=W_Tab<i,2>
			WRITE ENR_DETAILINDEM ON F.DETAILINDEM,W_NewContrat:W_Periode
      			DELETE F.DETAILINDEM,CLE
		END

	REPEAT
	
END

* HISTORCUMUL

W_RESULTAT = ""
EXECUTE 'SSELECT HISTORCUMUL AVEC 0 = "':W_CodeVieux:']" PAR 0'
EXECUTE 'SAUVE-LISTE W_RESULTAT'
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN

	W_FINI = "FAUX"
	
	SELECT F.HISTORCUMUL TO W_RESULTAT
	
	LOOP
		READNEXT CLE FROM W_RESULTAT ELSE W_FINI="VRAI"
	WHILE W_FINI = "FAUX"
		READ ENR_HISTORCUMUL FROM F.HISTORCUMUL,CLE ELSE ENR_HISTORCUMUL = ""
		
		WRITE ENR_HISTORCUMUL ON F.HISTORCUMUL,W_CodeNew:CLE[6,9]
      		DELETE F.HISTORCUMUL,CLE

	REPEAT
	
END

* HISTORINDEM

W_RESULTAT = ""
EXECUTE 'SSELECT HISTORINDEM AVEC 0 = "':W_CodeVieux:']" PAR 0'
EXECUTE 'SAUVE-LISTE W_RESULTAT'
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN

	W_FINI = "FAUX"
	
	SELECT F.HISTORINDEM TO W_RESULTAT
	
	LOOP
		READNEXT CLE FROM W_RESULTAT ELSE W_FINI="VRAI"
	WHILE W_FINI = "FAUX"
		READ ENR_HISTORINDEM FROM F.HISTORINDEM,CLE ELSE ENR_HISTORINDEM = ""
		
		i=1
		LOOP
		UNTIL CLE=W_Tab<i,1> OR W_Tab<i,1>=""
			i=i+1
		REPEAT

		IF W_Tab<i,1> # "" THEN
			W_NewContrat=W_Tab<i,2>
			WRITE ENR_HISTORINDEM ON F.HISTORINDEM,W_NewContrat
      			DELETE F.HISTORINDEM,CLE
		END

	REPEAT
	
END

STOP
