DEFINITION CCD_860026308 0xD6
DEFINITION DEDE_N_ASCII_860026308 "0809101000"
DEFINITION NUMTAB_860026308 1
DEFINITION TD_VGA1_860026308 7
DEFINITION TD_VGA2_860026308 2
DEFINITION INST_VGA_860026308 "VGA"
DEFINITION C_Conversion_860026308 "Conversion"
DEFINITION NUMTABSEL_860026308 0
DEFINITION NUMTAB2_860026308 2
DEFINITION ZONEMETRO_860026308 7
DEFINITION C_Article_860026308 "Tsmsf1c7dc"
DEFINITION C_InstSYMP_860026308 "SYMP"
DEFINITION C_InstTRAFIC_860026308 "TRAFIC"
DEFINITION C_InstFE_860026308 "FE"
DEFINITION C_InstCENTVG_860026308 "CENTAUREVG"
DEFINITION C_TcentaureVG_860026308 "TcentaureVG"
DEFINITION C_InstFERPV_860026308 "FERPV"
DEFINITION C_Tsymtsmsf1c_860026308 "Tsymtsmsf1c"
DEFINITION C_Ttrafic_860026308 "Ttrafic"
DEFINITION C_Tdelta_minute_860026308 "Tdelta_minute"
DEFINITION C_Tfe_860026308 "Tfe"
DEFINITION C_TfeRPV_860026308 "Tfe_rpv"
REGISTRE ENTIER instSYMP_860026308
REGISTRE ENTIER instDM_860026308
REGISTRE ENTIER instFE_860026308
REGISTRE ENTIER instFERPV_860026308
REGISTRE ENTIER instTRAFIC_860026308
REGISTRE ENTIER instCENTAUREVG_860026308
REGISTRE ENTIER instVGA_860026308
REGISTRE ENTIER bFE_860026308
REGISTRE ENTIER bCENTVG_860026308
REGISTRE ENTIER VGA_860026308
REGISTRE ENTIER val_860026308
REGISTRE ENTIER EZA_860026308
REGISTRE ENTIER EZ_860026308
REGISTRE ENTIER dede_inf_860026308
REGISTRE ENTIER dede_num1_860026308
REGISTRE ENTIER dede_num2_860026308
REGISTRE ENTIER bFERPV_860026308
REGISTRE ENTIER bTRAFIC_860026308
REGISTRE ENTIER bREDIST_860026308
REGISTRE ENTIER FACTURABLE_860026308
REGISTRE ENTIER EFFICACE_860026308
REGISTRE ENTIER TREC_ADISTRIBTFE_860026308
REGISTRE ENTIER trait_ok_860026308
REGISTRE ENTIER VALEUR_860026308
REGISTRE ENTIER CAX_860026308
REGISTRE ENTIER erreur_860026308
REGISTRE ENTIER res_860026308
REGISTRE ENTIER ddebut_860026308
REGISTRE ENTIER duree_860026308
REGISTRE ENTIER gmt_date_860026308
REGISTRE ENTIER lg_IDUS_NUM_860026308
REGISTRE ENTIER code_errone_860026308
REGISTRE ENTIER NBCOD_860026308
REGISTRE ENTIER dizaine_860026308
REGISTRE ENTIER unite_860026308
REGISTRE ENTIER cfr_860026308
REGISTRE ENTIER ENVELOPPE_NOK_860026308
REGISTRE ENTIER numzone_860026308
REGISTRE ENTIER locale_date_860026308
REGISTRE ENTIER bAppelCSV_860026308
REGISTRE ENTIER bVGTplus_860026308
REGISTRE ENTIER b_CodOperVG_860026308
REGISTRE ENTIER b_OperNBE_860026308
REGISTRE ENTIER b_FERPV_860026308
REGISTRE ENTIER b_FERPV_NBE_860026308
REGISTRE POINTEUR pt_Op_csv_860026308
REGISTRE POINTEUR pt_C_csv_860026308
REGISTRE POINTEUR pt_LIBELREDIST_860026308
REGISTRE POINTEUR pt_buffer1_860026308
REGISTRE POINTEUR pt_VGA_OP_860026308
REGISTRE POINTEUR pt_VGA_OF_860026308
REGISTRE POINTEUR pt_VGTplus_OP_860026308
REGISTRE POINTEUR pt_VGTplus_OF_860026308
REGISTRE POINTEUR pt_BUF_860026308
REGISTRE POINTEUR pt_InfoCompl_860026308
REGISTRE POINTEUR pt_inst_860026308
REGISTRE POINTEUR pt_DM_860026308
REGISTRE POINTEUR pt_eccfact_860026308
REGISTRE POINTEUR pt_T2_860026308
REGISTRE POINTEUR pt_CAX_860026308
REGISTRE POINTEUR pt_TREC_860026308
REGISTRE POINTEUR pt_CLE_860026308
REGISTRE POINTEUR pt_SGTQS_860026308
REGISTRE POINTEUR pt_temp_860026308
REGISTRE POINTEUR pt_temp2_860026308
REGISTRE POINTEUR pt_OFFRE_860026308
REGISTRE POINTEUR pt_OPERA_860026308
REGISTRE POINTEUR pt_RES1_860026308
REGISTRE POINTEUR pt_service_860026308
REGISTRE POINTEUR pt_CodOperVG_860026308
REGISTRE POINTEUR pt_TEMP1_860026308
######################################################################
#
#	Tsmsf1c7dc : DC de facturation accuse de reception SMS fixe
#
# HISTORIQUE
# 03/09/2003 - DRE - FO392 : Initialisation des variables Pcode
# 12/12/2003 - MCH - G2R0Ca : modif enveloppe - recup cfr pour c_libre de FE
# 19/05/2004 - NSA - G2R0C50: integration des codes d erreurs
# 14/01/2005 - RBE - G2R0Cn : Modif. format TallofactNodes avec ajout CS1
# 07/02/2005 - RBE - G2R0Cn : FO1104 : CAX a 3 entraine CS-1 a blanc pour SC
# 11/02/2005 - PKH - G2R0Cbb : fusion Cbb + Cnn
# 15/02/2005 - RBE - G2R0Cn : FO1118 : Modif. MAJ chp CS-1 pour SC
# 18/02/2005 - RBE - FO1119 : c_csv cadre a gauche et op_csv cadre a droite
# 25/02/2005 - FAL - Cbb Modification regles complements de service Sympho et SC ajout FE_rpv
# 08/03/2005 - FAL - FO1154 correction appel a la table externe csv creation bAppelCSV
# 24/03/2005 - FAL - FO1191 correction CS1 pour SC
# 31/03/2005 - FAL - FO1216 CSV symphonie comme SC
# 12/04/2005 - FAL - FO1237 pas de NBCOD et CS pour symphonie si INEF
# 30/06/2005 - FAL - FO1373 correction lotissement pour FERPV test a faire
# 02/08/2005 - PKH - G2R0Cq: facturation par opirateurs VGA
# 06/08/2005 - PKH - G2R1CQ : MODIFICATION de spec Creation des 2 tables de distributions VGA1->table8 (VGA_OFF), VGA3->table3(VGA_OPE)
# 20/09/2005 - PKH - G2R1Cq : MODIFICATION appel des tables VGA VGA1->table8 VGA2->table3
# 28/09/2005 - PSA - G2R1Co : fusion Cj sur Cq (prise en compte de la FO1406 sur la Cq)
# 21/10/2005 - PSA - G2R2Co : FO 1530
# 07/11/2005 - PKH - G2R1Cr : Co + Offre Easy-Voice V2/TPE modification Version 9.2
# 30/11/2005 - PKH - G2R2Cr : FO 1606
# 02/12/2005 - PKH - G2R2Cr : F0 1621
# 14/12/2005 - PKH - G2R2Ca : F01623 F01624
# 03/01/2006 - PKH - G2R2Ca : F01659 Correction distribution CentaureVG
# 09/01/2006 - PKH - G2R2Ca FO1669 Suppression de l'offre EVTPE
# 26/04/2007 - FAL - G3R0Cu Tfe_rpv Tfe_rpv SUPPORT alpha
# 26/04/2007 - FAL - Fusion ParamFTSA-G3R2 FO 2198 SERVICE FERPV avec valeur 4
# 31/12/2008 - RHE - G3R11  Z=7 pour offre VGA
# 01/02/2010 - DRE - G3R16 Menage e-bill (Allofact)
# 03/05/2010 - PKH - G3R17lot2 Item NBE2 2etape
#10/05/2010  - PKH - QC362 Valorisation du champ SERVICE de FERPV a 8 si NBE vrai
#02/06/2010 - PKH - QC371 suppression de b_FERPV_NBE = 'vrai' dans les criteres de distribution TRAFIC
# 13/10/2010 - PKH - G3R18Cy Ajout de INFDDE dans FERPV
# 3/11/2010 - PKH - G3R18Cy -QC428- correction format INFDDE de FERPV
# 12/10/2011 - THE - VerifPcode
#
######################################################################

###########################################################################
# Declarations
###########################################################################

# Constantes
#Constantes pour message d alarme


# Variables entieres
# VerifPcode
# Instances
# Flags de presence
# Variables fonctionnelles
# Divers


# Variables Pointeurs
# VerifPcode



# -----------------------------------------
# Initialisations
# -----------------------------------------
VALEUR_860026308		 = 0
NBCOD_860026308		 = 0
val_860026308		 = 0
VGA_860026308		 = 0
EZA_860026308		 = 0
EZ_860026308		 = 0
dede_inf_860026308	 = 0
dede_num1_860026308	 = 0
dede_num2_860026308	 = 0
# Instances
instSYMP_860026308	 = -1
instDM_860026308		 = -1
instFE_860026308		 = -1
instFERPV_860026308	 = -1
instTRAFIC_860026308	 = -1
instCENTAUREVG_860026308	 = 0
# Flags de presence
bFE_860026308		 = 0
bCENTVG_860026308		 = 0
bFERPV_860026308		 = 0
bTRAFIC_860026308		 = 0
bREDIST_860026308		 = 0
ENVELOPPE_NOK_860026308	 = -1
bAppelCSV_860026308	 = 0
bVGTplus_860026308	 = 0
b_CodOperVG_860026308	 = 0
b_OperNBE_860026308	 = 0
b_FERPV_860026308		 = 0
b_FERPV_NBE_860026308	 = 0


# Allocation memoire pour buffer:
#SGTQS		 = "999999999999"
pt_VGTplus_OP_860026308	 = "504754564754564754564"
pt_VGTplus_OF_860026308	 = "464754564754564754564"
pt_BUF_860026308		 = "10101010101010101010101010101012345"
pt_InfoCompl_860026308	 = "33312345"
pt_inst_860026308		 = "46789512312345"
pt_DM_860026308		 = "987654321112345"
pt_eccfact_860026308	 = "67676767676767"
pt_LIBELREDIST_860026308	 = "20202020202020202020202020202012345"
pt_SGTQS_860026308	 = "12345678901212345"
pt_T2_860026308		 = "888888"
pt_CAX_860026308		 = "777777"
pt_CLE_860026308		 = "5555555555"
pt_TREC_860026308		 = "66666666"
pt_Op_csv_860026308		 = "44444444444444444"
pt_C_csv_860026308		 = "33333333333333333"
pt_buffer1_860026308		 = "8948948948948948948948948948894894894894"
#pt_temp		 = "45454545454545454545454545454545454545454545"
pt_OFFRE_860026308	 = "02350235023502356959552325"
pt_VGA_OF_860026308		 = "265265265265256745825852"
pt_OPERA_860026308	 = "69696969695218978145875814265"
pt_VGA_OP_860026308		 = "8268268826826826826826826828628"
pt_RES1_860026308		 = "359369789689"
pt_service_860026308	 = "6534"
pt_CodOperVG_860026308	 = "pt_CodOperVG732457324573245732457324573245732457324573245"
pt_TEMP1_860026308	 = "pt_TEMP1923459234592345923459234592345923459234592345923459234592345923459234"
pt_temp_860026308		 = "pt_temp73432743274357534377"
pt_temp2_860026308	 = "pt_temp2905954976978923987"


# Initialisations
#i_strcpy(SGTQS,"")
#i_strcpy(pt_temp,"")
i_strcpy(pt_eccfact_860026308,"")
i_strcpy(pt_service_860026308,"")
i_strcpy(pt_OFFRE_860026308,"")
i_strcpy(pt_VGA_OF_860026308," ")
i_strcpy(pt_OPERA_860026308,"")
i_strcpy(pt_VGA_OP_860026308," ")
i_strcpy(pt_RES1_860026308,"")
i_strcpy(pt_VGTplus_OF_860026308," ")
i_strcpy(pt_VGTplus_OP_860026308," ")
i_strcpy(pt_LIBELREDIST_860026308,"")
i_strcpy(pt_BUF_860026308,"")
i_strcpy(pt_InfoCompl_860026308,"")
i_strcpy(pt_inst_860026308,"")
i_strcpy(pt_DM_860026308,"")
i_strcpy(pt_T2_860026308,"")
i_strcpy(pt_CAX_860026308,"")
i_strcpy(pt_TREC_860026308,"")
i_strcpy(pt_CLE_860026308,"")
i_strcpy(pt_Op_csv_860026308,"")
i_strcpy(pt_C_csv_860026308,"")
i_strcpy(pt_SGTQS_860026308,"")
i_strcpy(pt_buffer1_860026308,"")
i_strcpy(pt_CodOperVG_860026308,"")
i_strcpy(pt_TEMP1_860026308,"")
i_strcpy(pt_temp_860026308,"")
i_strcpy(pt_temp2_860026308,"")


# ---------------------------------------------------
# Identification de la provenance de l'article
# ---------------------------------------------------
trait_ok_860026308 = -1
# trait_ok : nb de passage en redistribution
trait_ok_860026308 = i_LireRedistCpt()

SI ( trait_ok_860026308 > 0 )
ALORS
	ENVELOPPE_NOK_860026308 = 0
FINSI

CAX_860026308 = i_get_art_field( g_iartin, $Tsmsf1c7dc::CAX)
# VerifPcode
#STY = i_get_art_field( g_iartin, $Tsmsf1c7dc::STY)
ddebut_860026308 = i_get_art_field( g_iartin, $Tsmsf1c7dc::ddebut)
duree_860026308 = i_get_art_field( g_iartin, $Tsmsf1c7dc::DUR)

i_strcpy(pt_SGTQS_860026308,i_LireEECSGTQS( g_ieec ))
#trace2("Apres LireEECSGTQS=%s", pt_SGTQS, "")

# creation enveloppe modif taille et ajout DATE_M
#   Remarque pour cfr ajout ulterieur
SI ( ENVELOPPE_NOK_860026308 )
ALORS
	#IFDEF trace_niv1 = 1
	trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/FE")
	#ENDIF
	ENVELOPPE_NOK_860026308 = i_add_opt("E_Tsmsf1c7dc")
	# mise en conformite de la gestion de l'enveloppe
FINSI
erreur_860026308 = i_set_attr_val_n($E_Tsmsf1c7dc::DATE_M,ddebut_860026308)

#IFDEF trace_niv1 = 1
trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026308)
trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026308)
#ENDIF

#trace("************** relecture DATE_M ")
erreur_860026308 = i_get_attr_val("L1")
#trace1(" relecture L1 <%d>", erreur)
erreur_860026308 = i_get_attr_val("DATE_M")
#trace1(" relecture DATE_M <%d>", erreur)

##############################################################################
# Variables fonctionnelles
##############################################################################

# FACTURABLE
FACTURABLE_860026308 = i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_NUM)

# EFFICACE
SI  ((i_get_art_field( g_iartin, $Tsmsf1c7dc::INEF )) == 0)
ALORS
	EFFICACE_860026308 = 1
SINON
	EFFICACE_860026308 = 0
FINSI

# TREC_ADISTRIBTFE
SI ( CAX_860026308 == 5 )
ALORS
	TREC_ADISTRIBTFE_860026308 = 1
SINON
	TREC_ADISTRIBTFE_860026308 = 0
FINSI

# Pour EZ etb EZA on ne regarde que le demande
#EZ=10*(i_get_art_fieldtab(g_iartin,$DEDE_NUM,0)) + i_get_art_fieldtab(g_iartin,$DEDE_NUM,1)
EZA_860026308=100*(i_get_art_fieldtab(g_iartin,$DEDE_NUM,0)) + 10*(i_get_art_fieldtab(g_iartin,$DEDE_NUM,1)) + i_get_art_fieldtab(g_iartin,$DEDE_NUM,2)

##########################################################################
# Recherche instance Symphonie
##########################################################################

# SYMP
instSYMP_860026308=i_LireInstanceECC(C_InstSYMP_860026308)
SI (!instSYMP_860026308)
ALORS
	#trace("Pas d'instance pour SYMP !")
	code_errone_860026308 = 0xA0B0
	code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
	erreur_860026308 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026308,C_InstSYMP_860026308,C_Article_860026308)
	SAUT DISTRI_ERR
FINSI
#trace1("instSYMP=<%d>",instSYMP)

SI (!EFFICACE_860026308) || (!FACTURABLE_860026308)
ALORS
	SAUT APRES_REQ
FINSI

numzone_860026308 = i_DHgetZoneID(NUMTABSEL_860026308, g_iartin)
locale_date_860026308 = i_DHgetLocalTime(NUMTAB2_860026308, numzone_860026308, ddebut_860026308)

##############################################################################
# Envoi Requetes Table de Distribution
##############################################################################

lg_IDUS_NUM_860026308 = (i_get_art_fieldlength(g_iartin, $Tsmsf1c7dc::IDUS_NUM) + 1) / 2
gmt_date_860026308 = i_DHgetCe2gTime(NUMTAB_860026308,ZONEMETRO_860026308,ddebut_860026308)

#------------------------------------------------------------------------------------------------------
#Appel table VGA
#-------------------------------------------------------------------------------------------------------

instVGA_860026308 = i_LireInstanceECC(INST_VGA_860026308)
SI (!instVGA_860026308)
ALORS
	trace("Pas d'instance pour VGA !")
	erreur_860026308 = i_PlvMessEmettre(8501,2,g_iartin,"",3,"VGA",C_Article_860026308,g_ieec)
	SAUT DISTRI_ERR
FINSI
#trace1("instVGA=<%d>",instVGA)

##############################################################################
# Envoi Requetes Table de Distribution VGA
#############################################################################
# VGA reste nul si appel en preselection c-a-d
# - DEDE_INF a 0xC3 -> format international
# - DEDE_INF a 0x82 et 1er digit de DEDE_NUM entre 1 et 6
# - DEDE_INF a 0x00 et les 2 premiers digits de DEDE_NUM entre 00 et 06

SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_INF))
ALORS
	dede_inf_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::DEDE_INF)
FINSI

SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_NUM))
ALORS
	dede_num1_860026308 = g_iartin.DEDE_NUM[0]
	dede_num2_860026308 = g_iartin.DEDE_NUM[1]
	EZ_860026308 = (dede_num1_860026308 * 10) + dede_num2_860026308
FINSI

SI (i_EnvoiReqConsTabDist( TD_VGA1_860026308,gmt_date_860026308,i_get_art_fieldptr(g_iartin,$Tsmsf1c7dc::IDUS_NUM),lg_IDUS_NUM_860026308,0,1) != 0)
ALORS
	trace("Erreur i_EnvoiReqConsTabDist VGA1")
	SAUT DISTRI_ERR
FINSI
erreur_860026308 = i_LireReqConsTabDist()
trace1("RETOUR i_LireReqConsTabDist retour requette VGA1, erreur=<%d>",erreur_860026308)

SI ( erreur_860026308 != 0 )
ALORS
	trace1( "Erreur i_LireReqConsTabDist  VGA1: <%d>", erreur_860026308)
	SAUT DISTRI_ERR
FINSI

val_860026308 = i_LireInfoECC( instVGA_860026308, 0 )
SI (val_860026308 != 0)
ALORS
	# Evolution sont eligibles VGA que les DDe hors preselection (hors EZ=00 a 06) et pt_OFFRE <> VGT
	SI (dede_inf_860026308 == 0xC3) ||((dede_inf_860026308==0x82) && (dede_num1_860026308 < 8)) || ((dede_inf_860026308 == 0x00)&& (EZ_860026308 < 8))
	ALORS
		VGA_860026308 = 0
		bVGTplus_860026308 = 0
	SINON
		erreur_860026308 = i_LireChaineInfo( val_860026308, 0, 6, pt_OFFRE_860026308 )
		#trace2(" pt_OFFRE <%s> ", pt_OFFRE,"")
		erreur_860026308 = i_format_str2( pt_temp_860026308, "%s%s", "INj", pt_OFFRE_860026308)
		i_strcpy(pt_RES1_860026308, i_get_tab_field("Inter", gmt_date_860026308, pt_temp_860026308))
		#trace2(" pt_RES1  <%s> ", pt_RES1,"")

		SI (i_strcmp(pt_RES1_860026308,"VGT+")==0)
		ALORS
			bVGTplus_860026308 =1
			VGA_860026308 = 0
			i_strcpy(pt_VGTplus_OF_860026308 ,pt_OFFRE_860026308)
		SINON
			SI (i_strcmp(pt_RES1_860026308,"VGA")==0)
			ALORS
				VGA_860026308 = 1
				i_strcpy(pt_VGA_OF_860026308 ,pt_OFFRE_860026308)
			FINSI
		FINSI
	FINSI
FINSI
#trace1("Valeur de EVV2=<%d>",EVV2)
#trace2(" Resultat de  i_LireChaineInfo pour la table VGA1(table 8) : <%s>", pt_OFFRE, "")

SI (i_EnvoiReqConsTabDist( TD_VGA2_860026308,gmt_date_860026308,i_get_art_fieldptr(g_iartin,$Tsmsf1c7dc::IDUS_NUM),lg_IDUS_NUM_860026308,0,1) != 0)
ALORS
	trace("Erreur i_EnvoiReqConsTabDist VGA2")
	SAUT DISTRI_ERR
FINSI

erreur_860026308 = i_LireReqConsTabDist()
#trace1("RETOUR i_LireReqConsTabDist retour requette VGA2, erreur=<%d>",erreur)

SI ( erreur_860026308 != 0 )
ALORS
	#trace1( "Erreur i_LireReqConsTabDist VGA2: <%d>", erreur)
	SAUT DISTRI_ERR
FINSI

val_860026308= 0
val_860026308 = i_LireInfoECC( instVGA_860026308, 0 )

SI (val_860026308 != 0)
ALORS
	erreur_860026308 = i_LireChaineInfo( val_860026308, 0, 6, pt_OPERA_860026308)
	i_strcpy (pt_CodOperVG_860026308,pt_OPERA_860026308)

	SI (i_strcmp(pt_CodOperVG_860026308,g_inull))
	ALORS
		b_CodOperVG_860026308 = 1
	FINSI

	SI b_CodOperVG_860026308
	ALORS
		erreur_860026308 = i_format_str2( pt_TEMP1_860026308, "%s%s", "INm", pt_CodOperVG_860026308)
		SI ( i_strcmp( i_get_tab_field("Inter", gmt_date_860026308, pt_TEMP1_860026308),g_inull) !=  0 )
		ALORS
			b_OperNBE_860026308 = 1
		FINSI
	FINSI

	SI ( VGA_860026308 || bVGTplus_860026308 )
	ALORS
		SI (i_strcmp(pt_OPERA_860026308,g_inull))
		ALORS
			SI (bVGTplus_860026308)
			ALORS
				i_strcpy(pt_VGTplus_OP_860026308, pt_OPERA_860026308)
			SINON
				SI (VGA_860026308)
				ALORS
					i_strcpy(pt_VGA_OP_860026308,pt_OPERA_860026308)
				FINSI
			FINSI
		FINSI
	FINSI
FINSI
#trace2(" Resultat de i_LireChaineInfo pour la table VGA2 (table 3): <%s>", pt_OPERA, "")

SI (i_EnvoiReqConsTabDistDouble( TD_Fixe, TD_Inter, gmt_date_860026308,i_get_art_fieldptr(g_iartin,$Tsmsf1c7dc::IDUS_NUM), lg_IDUS_NUM_860026308, lg_IDUS_NUM_860026308, 1, 0, 1)!=0)
ALORS
	#trace("Erreur i_EnvoiReqConsTabDistDouble")
	SAUT DISTRI_ERR
FINSI

##########################################################################
# Recherche des instances des ECC
##########################################################################

# TRAFIC
instTRAFIC_860026308 = i_LireInstanceECC(C_InstTRAFIC_860026308)

SI (!instTRAFIC_860026308)
ALORS
	#trace("Pas d'instance pour TRAFIC !")
	code_errone_860026308 = 0xA0B0
	code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
	erreur_860026308 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026308,C_InstTRAFIC_860026308,C_Article_860026308)
	SAUT DISTRI_ERR
FINSI
#trace1("instTRAFIC=<%d>",instTRAFIC)

# FE
instFE_860026308 = i_LireInstanceECC(C_InstFE_860026308)

SI (!instFE_860026308)
ALORS
	#trace("Pas d'instance pour FE !")
	code_errone_860026308 = 0xA0B0
	code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
	erreur_860026308 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026308,C_InstFE_860026308,C_Article_860026308)
	SAUT DISTRI_ERR
FINSI
#trace1("instFE=<%d>",instFE)

instFERPV_860026308 = i_LireInstanceECC(C_InstFERPV_860026308)

SI (!instFERPV_860026308)
ALORS
	#trace("Pas d'instance pour FERPV !")
	code_errone_860026308 = 0xA0B0
	code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
	erreur_860026308 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026308,C_InstFERPV_860026308,C_Article_860026308)
	SAUT DISTRI_ERR
FINSI
#trace1("instFERPV=<%d>",instFERPV)

# suppression ECC : ALLOFACT

#CENTAUREVG
SI ( VGA_860026308 || bVGTplus_860026308 )
ALORS
	instCENTAUREVG_860026308= i_LireInstanceECC(C_InstCENTVG_860026308)
	trace1("instCENTAUREVG=<%d>",instCENTAUREVG_860026308)

	SI (!instCENTAUREVG_860026308)
	ALORS
		trace("Pas d'instance pour CENTAUREVG!")
		bCENTVG_860026308=0
		code_errone_860026308 = 0xA0B0
		code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
		erreur_860026308 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026308,C_InstCENTVG_860026308,C_Article_860026308)
		SAUT DISTRI_ERR
	SINON
		bCENTVG_860026308=1
	FINSI
FINSI

# DM
# meme instance que pour Trafic

##############################################################################
# Attente requete Table de Distribution
##############################################################################

erreur_860026308 = i_LireReqConsTabDist()
#trace1("RETOUR i_LireReqConsTabDist, erreur=<%d>",erreur)

SI ( erreur_860026308 != 0 )
ALORS
	#trace1( "Erreur i_LireReqConsTabDist: <%d>", erreur)
	SAUT DISTRI_ERR
FINSI

## FE:
SI ( instFE_860026308 > 0 )
ALORS
	res_860026308 = i_LireInfoECC(instFE_860026308, 0)
	#trace1("Retour de i_LireInfoECC -  FE: <%d>",res)

	SI (res_860026308 != 0)
	ALORS
		#trace( "FE appartient a la table DISTRI")
		bFE_860026308=1
	FINSI
FINSI

SI ( instFERPV_860026308 > 0 )
ALORS
	res_860026308 = i_LireInfoECC(instFERPV_860026308, 0)
	#trace1("Retour de i_LireInfoECC -  FERPV: <%d>",res)

	SI (res_860026308 != 0)
	ALORS
		trace( "FERPV appartient a la table DISTRI")
		bFERPV_860026308=1
		erreur_860026308 = i_LireChaineInfo(res_860026308,0,1,pt_InfoCompl_860026308)
		SI (!i_strcmp(pt_InfoCompl_860026308,"1"))
		ALORS
			i_strcpy(pt_service_860026308,"1")
		SINON
			SI (!i_strcmp(pt_InfoCompl_860026308,"2"))
			ALORS
				i_strcpy(pt_service_860026308,"2")
			SINON
				i_strcpy(pt_service_860026308,"4")
			FINSI
		FINSI
	FINSI
	#trace2("service = <%s>" ,pt_service, "")
FINSI

# suppression ECC : SC / ALLOFACT

################################################################################
# Criteres de distribution
################################################################################

# suppression ECC : ALLOFACT / SC

#-------------------------------------------------------------------------
#FERPV 
#-------------------------------------------------------------------------

SI ( bFERPV_860026308 && TREC_ADISTRIBTFE_860026308 && EFFICACE_860026308 && FACTURABLE_860026308  && !VGA_860026308 && !bVGTplus_860026308 )
ALORS
	b_FERPV_860026308 = 1
FINSI

SI (EFFICACE_860026308 && b_OperNBE_860026308 && bVGTplus_860026308)
ALORS
	b_FERPV_NBE_860026308 = 1
FINSI

SI (b_FERPV_860026308 || b_FERPV_NBE_860026308)
ALORS

	erreur_860026308=i_AjouterCouranteECC(instFERPV_860026308)
	bAppelCSV_860026308 = 1

	#Traitement du code CFR: FO1373
	#Traitement du code CFR:
	res_860026308=i_LireInfoECC(instTRAFIC_860026308, 0)
	#trace1("Retour i_LireInfoECC(instTRAFIC, 0)= <%d>",res)

	SI (res_860026308 != 0)
	ALORS
		# Recuperation du code CFR pour meta c_libre de FE
		dizaine_860026308 = i_LireEntierInfo(res_860026308,0,1)
		unite_860026308 = i_LireEntierInfo(res_860026308,1,1)
		cfr_860026308 = (dizaine_860026308 & 0x0F) * 10 + (unite_860026308 & 0x0F)

		SI ( ENVELOPPE_NOK_860026308 )
		ALORS
			#IFDEF trace_niv1 = 1
			trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/FE")
			#ENDIF
			ENVELOPPE_NOK_860026308 = i_add_opt("E_Tsmsf1c7dc")
			# mise en conformite de la gestion de l'enveloppe
		FINSI

		erreur_860026308 = i_set_attr_val_n($E_Tsmsf1c7dc::CFR,cfr_860026308)
		erreur_860026308 = i_set_attr_val_n($E_Tsmsf1c7dc::DATE_M, ddebut_860026308)
		#IFDEF trace_niv1 = 1
		trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026308)
		trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026308)
		#ENDIF
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026308,"Indicatif inconnu de MAJ2G")
		bREDIST_860026308 = 1
		SAUT AVANT_REDIST
	FINSI
FINSI

#---------------------------------------------------------------------------
# FE
#---------------------------------------------------------------------------

SI (  bFE_860026308 && !bFERPV_860026308 && TREC_ADISTRIBTFE_860026308 && EFFICACE_860026308 && FACTURABLE_860026308  && !VGA_860026308 && !bVGTplus_860026308 )
ALORS
	erreur_860026308=i_AjouterCouranteECC(instFE_860026308)
	bAppelCSV_860026308 = 1
FINSI

#----------------------------------------------------------------------------
# TRAFIC
#----------------------------------------------------------------------------

#trace1("crit_comm=<%d>",crit_comm)
SI ( !bFE_860026308 || ( bFE_860026308 && ( VGA_860026308 || bVGTplus_860026308 ) ) ) &&
( !bFERPV_860026308 || ( bFERPV_860026308 && ( VGA_860026308 || bVGTplus_860026308 ) ) ) &&
( TREC_ADISTRIBTFE_860026308 && EFFICACE_860026308 && FACTURABLE_860026308 )
ALORS
	# Gestion du code CFR:
	res_860026308=i_LireInfoECC(instTRAFIC_860026308, 0)

	SI (res_860026308 != 0)
	ALORS
		erreur_860026308 = i_LireChaineInfo( res_860026308, 0, 3, pt_InfoCompl_860026308)
		#trace2(" Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl, "")

		erreur_860026308 = i_format_str2(pt_inst_860026308, "TRAF%s", pt_InfoCompl_860026308,0)
		#trace2("Concatenation de TRAF avec info.compl: <%s>", pt_inst, "")

		instTRAFIC_860026308 = i_LireInstanceECC(pt_inst_860026308)
		#trace1("Instance de TRAFIC: instTRAFIC=<%d>",instTRAFIC)

		SI (!instTRAFIC_860026308)
		ALORS
			code_errone_860026308 = 0xA0B0
			code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
			erreur_860026308 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026308,pt_inst_860026308,C_Article_860026308)
			SAUT DISTRI_ERR
		FINSI

		erreur_860026308=i_AjouterCouranteECC(instTRAFIC_860026308)
		bTRAFIC_860026308=1
		bAppelCSV_860026308 = 1
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026308,"Indicatif inconnu de MAJ2G")
		bREDIST_860026308 = 1
		SAUT AVANT_REDIST
	FINSI
FINSI

#----------------------------------------------------------------------------
# Ajout de CENTAUREVG
#----------------------------------------------------------------------------

SI ( bTRAFIC_860026308 == 1 && (VGA_860026308 == 1 || bVGTplus_860026308 == 1) )
ALORS
	SI (i_AjouterCouranteECC(instCENTAUREVG_860026308)<0)
	ALORS
		trace("Retour de i_AjouterCouranteECC en erreur pour CENTAUREVG!")
		SAUT DISTRI_ERR
	FINSI
FINSI

#-----------------------------------------------------------------------------
# DELTAMINUTE (on reprend les criteres de FE)
#-----------------------------------------------------------------------------

SI ( bFE_860026308 && !bFERPV_860026308 && TREC_ADISTRIBTFE_860026308 && EFFICACE_860026308 && FACTURABLE_860026308  && !VGA_860026308 && !bVGTplus_860026308 )
ALORS
	#Traitement du code CFR:
	res_860026308=i_LireInfoECC(instTRAFIC_860026308, 0)
	#trace1("Retour i_LireInfoECC(instTRAFIC, 0)= <%d>",res)

	SI (res_860026308 != 0)
	ALORS
		erreur_860026308 = i_LireChaineInfo( res_860026308, 0, 3, pt_InfoCompl_860026308)
		#trace2(" Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl, "")

		erreur_860026308 = i_format_str2(pt_DM_860026308, "DM%s", pt_InfoCompl_860026308,0)
		#trace2("Concatenation de DM avec info.compl: <%s>", pt_DM, "")

		instDM_860026308 = i_LireInstanceECC(pt_DM_860026308)
		#trace1("Instance de DM: instDM=<%d>",instDM)

		SI (!instDM_860026308)
		ALORS
			code_errone_860026308 = 0xA0B0
			code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
			erreur_860026308 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026308,pt_DM_860026308,C_Article_860026308)
			SAUT DISTRI_ERR
		FINSI
		erreur_860026308=i_AjouterCouranteECC(instDM_860026308)
		bAppelCSV_860026308 = 1

		# Recuperation du code CFR pour meta c_libre de FE
		dizaine_860026308 = i_LireEntierInfo(res_860026308,0,1)
		unite_860026308 = i_LireEntierInfo(res_860026308,1,1)
		cfr_860026308 = (dizaine_860026308 & 0x0F) * 10 + (unite_860026308 & 0x0F)

		SI ( ENVELOPPE_NOK_860026308 )
		ALORS
			#IFDEF trace_niv1 = 1
			trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/FE")
			#ENDIF
			ENVELOPPE_NOK_860026308 = i_add_opt("E_Tsmsf1c7dc")
			# mise en conformite de la gestion de l'enveloppe
		FINSI
		erreur_860026308 = i_set_attr_val_n($E_Tsmsf1c7dc::CFR,cfr_860026308)
		erreur_860026308 = i_set_attr_val_n($E_Tsmsf1c7dc::DATE_M, ddebut_860026308)

		#IFDEF trace_niv1 = 1
		trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026308)
		trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026308)
		#ENDIF
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026308,"Indicatif inconnu de MAJ2G")
		bREDIST_860026308 = 1
		SAUT AVANT_REDIST
	FINSI
FINSI

#######################################################################
# Duplication Symphonie
#######################################################################
POINT APRES_REQ

# Ajout de l ECC SYMPHONIE a la liste courante des ECC:
erreur_860026308=i_AjouterCouranteECC(instSYMP_860026308)

# Duplication article en entree
#trace("Mise au format SYMPHONIE")
#trace(g_iartin!NOM[])

SI (i_dup_art_id(g_iartin,g_iartout))
ALORS
	#trace("ERREUR de duplication vers SYMPHONIE")
	code_errone_860026308 = 0xA0D0
	code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
	erreur_860026308 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026308,C_Tsymtsmsf1c_860026308,C_Article_860026308)
	SAUT DISTRI_ERR
FINSI

SI(i_rename_art(g_iartout,C_Tsymtsmsf1c_860026308))
ALORS
	trace("ERREUR i_rename_art")
	code_errone_860026308 = 0xA0D0
	code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
	erreur_860026308 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026308,C_Tsymtsmsf1c_860026308,C_Article_860026308)
	SAUT DISTRI_ERR
FINSI

##################################################################################
# Validation de la liste des ECCs destinataires
##################################################################################

erreur_860026308=i_ValiderListeECC( 0, 0, 0, 0)

##################################################################################
# Mise au format
##################################################################################

# Gestion des champ C_CSVI et OP_CSVI ce code est commun pour de nombreuses ECC donc deplace ici
# appel table CSV uniquement si necessaire

SI (bAppelCSV_860026308 == 1 )
ALORS
	erreur_860026308=i_get_art_str(g_iartin, $Tsmsf1c7dc::T2, pt_T2_860026308)
	erreur_860026308=i_get_art_str(g_iartin, $Tsmsf1c7dc::CAX, pt_CAX_860026308)
	i_strcpy(pt_TREC_860026308, "0")

	# Pour positionner le ou les zero(s) de bourrage, on ajoute 2 zeros a la chaine puis on extrait les 2 caracteres
	# de droite de la chaine obtenue

	erreur_860026308=i_format_str2(pt_CLE_860026308,"%s%s", "00", pt_T2_860026308)
	i_get_sub_str(pt_CLE_860026308, -2, -1, pt_T2_860026308)

	erreur_860026308=i_format_str2(pt_CLE_860026308,"%s%s", "00", pt_CAX_860026308)
	i_get_sub_str(pt_CLE_860026308, -2, -1, pt_CAX_860026308)

	erreur_860026308=i_format_str2(pt_CLE_860026308,"%s%s", "00", pt_TREC_860026308)
	i_get_sub_str(pt_CLE_860026308, -2, -1, pt_TREC_860026308)

	# Concatenation des 3 champs bourres pour produire la cle
	erreur_860026308=i_format_str2(pt_BUF_860026308, "%s%s", pt_T2_860026308, pt_CAX_860026308)
	erreur_860026308=i_format_str2(pt_CLE_860026308, "%s%s", pt_BUF_860026308, "00")

	pt_Op_csv_860026308 = OP_CSV_860026233( "SM", pt_CLE_860026308, i_get_art_field( g_iartin, $Tsmsf1c7dc::dpivot ) )
	SI( pt_Op_csv_860026308 == g_inull )
	ALORS
		code_errone_860026308 = 0xA0A0
		code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
		erreur_860026308 = i_PlvMessEmettre(8605,2,g_iartin,"",3,code_errone_860026308,"Tsmsf1c7dc/OP_CSV/SM",pt_CLE_860026308)
		SAUT DISTRI_ERR
	FINSI

	pt_C_csv_860026308 = C_CSV_860026233( "SM", pt_CLE_860026308, i_get_art_field( g_iartin, $Tsmsf1c7dc::dpivot ) )
	SI( pt_C_csv_860026308 == g_inull )
	ALORS
		code_errone_860026308 = 0xA0A0
		code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
		erreur_860026308 = i_PlvMessEmettre(8605,2,g_iartin,"",3,code_errone_860026308,"Tsmsf1c7dc/C_CSV/SM",pt_CLE_860026308)
		SAUT DISTRI_ERR
	FINSI

	#trace2(" Cbb C_CSV1  <%s> ", pt_C_csv, "")
	#trace2(" Cbb OP_CSV1 <%s>", pt_Op_csv, "")
FINSI

#------------------------------------------------------------------------------
# TRAFIC
#------------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instTRAFIC_860026308) )
ALORS
	i_strcpy(pt_eccfact_860026308,pt_inst_860026308)
	#trace("Mise au format TRAFIC")

	# Duplication de l article
	#trace("Duplication vers TRAFIC")
	SI (i_dup_art_dest(g_iartin,g_iartout2,C_Ttrafic_860026308))
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026308 = 0xA0D0
		code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
		erreur_860026308 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026308,C_Ttrafic_860026308,C_Article_860026308)
		SAUT  DISTRI_ERR
	FINSI

	# DOMAINE
	erreur_860026308=i_set_art_str(g_iartout2, $Ttrafic::DOMAINE, "05")

	# SERVICE
	erreur_860026308=i_set_art_str(g_iartout2, $Ttrafic::SERVICE, "62")

	#IDUS_INF
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_INF))
	ALORS
		VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::IDUS_INF)
	SINON
		VALEUR_860026308 = 0
	FINSI
	erreur_860026308 = i_set_art_field(g_iartout2,$Ttrafic::IDUS_INF, VALEUR_860026308)

	# E
	erreur_860026308=i_set_art_str(g_iartout2, $Ttrafic::E, "0")

	#IDUS_NUM
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::IDUS_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"BCDE","AJSC",pt_BUF_860026308)
		erreur_860026308=i_set_art_str(g_iartout2,$Ttrafic::IDUS_NUM,pt_BUF_860026308)
	SINON
		erreur_860026308=i_memset_field_n(g_iartout2,$Ttrafic::IDUS_NUM,0x40)
	FINSI

	#DEDE_INF
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_INF))
	ALORS
		VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::DEDE_INF)
	SINON
		VALEUR_860026308 = 0
	FINSI
	erreur_860026308 = i_set_art_field(g_iartout2,$Ttrafic::DEDE_INF, VALEUR_860026308)

	#DEDE_NUM
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::DEDE_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"ABC","A*#",pt_BUF_860026308)
		erreur_860026308=i_set_art_str(g_iartout2,$Ttrafic::DEDE_NUM,pt_BUF_860026308)
	SINON
		erreur_860026308=i_set_art_str(g_iartout2,$Ttrafic::DEDE_NUM,DEDE_N_ASCII_860026308)
	FINSI

	#NDS_NUM
	erreur_860026308=i_memset_field_n(g_iartout2,$Ttrafic::NDS_NUM,0x40)

	# Gestion des champ C_CSVI et OP_CSVI
	# se trouvait le calcul de C_csv et Op_csv
	erreur_860026308 = i_set_art_str(g_iartout2,$Ttrafic::C_CSV1,pt_C_csv_860026308)
	erreur_860026308 = i_set_art_str(g_iartout2,$Ttrafic::OP_CSV1,pt_Op_csv_860026308)

	#STY
	erreur_860026308 = i_transformer_bits(g_iartin,$Tsmsf1c7dc::STY,"FV",pt_BUF_860026308)
	i_get_sub_str(pt_BUF_860026308, 0, 1, pt_BUF_860026308)
	erreur_860026308 = i_set_art_str(g_iartout2,$Ttrafic::STY, pt_BUF_860026308)

	#champ SGTQS
	#trace("Avant LireEECSGTQS")
	i_strcpy(pt_SGTQS_860026308,i_LireEECSGTQS( g_ieec ))
	#trace2("Apres LireEECSGTQS=%s", pt_SGTQS, "")
	erreur_860026308=i_set_art_str(g_iartout2, $Ttrafic::SGTQS, pt_SGTQS_860026308)
	#trace("Apres set_art_str")

	#Champ OFFRE et OPERATEUR
	SI (bVGTplus_860026308)
	ALORS
		#trace2("VGT+ OFFRE=<%s>",pt_VGTplus_OF,"")
		#trace2("VGT+ OPERATEUR=<%s>",pt_VGTplus_OP,"")
		erreur_860026308=i_set_art_str(g_iartout2, $Ttrafic::OFFRE, pt_VGTplus_OF_860026308)
		erreur_860026308=i_set_art_str(g_iartout2, $Ttrafic::OPERATEUR, pt_VGTplus_OP_860026308)
	SINON
		SI (VGA_860026308)
		ALORS
			#trace2("VGA OFFRE=<%s>",pt_VGA_OF,"")
			#trace2("VGA OPERATEUR=<%s>",pt_VGA_OP,"")
			erreur_860026308=i_set_art_str(g_iartout2, $Ttrafic::OFFRE, pt_VGA_OF_860026308)
			erreur_860026308=i_set_art_str(g_iartout2, $Ttrafic::OPERATEUR, pt_VGA_OP_860026308)
		FINSI
	FINSI

	#champ CLASSDEST
	erreur_860026308=i_set_art_field(g_iartout2, $Ttrafic::CLASSDEST, 0)
FINSI

#------------------------------------
#	CENTAUREVG
#------------------------------------

SI ( !i_ChercherCouranteECC(instCENTAUREVG_860026308))
ALORS
	#trace("Stockage vers CENTAUREVG")

	# Duplication de l article
	#-----------------------------
	trace("Duplication vers CENTAUREVG")

	SI ( i_dup_art_dest(g_iartin,g_iartout9,C_TcentaureVG_860026308) )
	ALORS
		trace("Erreur de i_dup_art_dest")
		code_errone_860026308 = 0xA0D0
		code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
		erreur_860026308 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026308,C_TcentaureVG_860026308,C_Article_860026308)
		SAUT  DISTRI_ERR
	FINSI

	# Mise au format
	#------------------------------
	#trace("initialisation de DOMAINE et SERVICE")
	# DOMAINE
	erreur_860026308=i_set_art_str(g_iartout9, $TcentaureVG::DOMAINE, "05")

	# SERVICE
	erreur_860026308=i_set_art_str(g_iartout9, $TcentaureVG::SERVICE, "62")

	# IDUS_INF
	#trace1( "initialisation de INF_IDUS a <%d>",  i_get_art_field( g_iartin, $IDUS_INF ) )
	erreur_860026308=i_set_art_field( g_iartout9, $TcentaureVG::IDUS_INF, i_get_art_field( g_iartin, $IDUS_INF ) )

	#IDUS_NUM
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::IDUS_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"BCDE","AJSC",pt_BUF_860026308)
		erreur_860026308=i_set_art_str(g_iartout9,$TcentaureVG::IDUS_NUM,pt_BUF_860026308)
	SINON
		erreur_860026308=i_memset_field_n(g_iartout9,$TcentaureVG::IDUS_NUM,0x20)
	FINSI

	#DEDE_INF
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_INF))
	ALORS
		VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::DEDE_INF)
	SINON
		VALEUR_860026308 = 0
	FINSI
	erreur_860026308 = i_set_art_field(g_iartout9,$TcentaureVG::DEDE_INF, VALEUR_860026308)

	#DEDE_NUM
	erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::DEDE_NUM,pt_BUF_860026308)
	erreur_860026308=i_set_art_str(g_iartout9,$TcentaureVG::DEDE_NUM,pt_BUF_860026308)

	#DUR
	erreur_860026308=i_set_art_field(g_iartout9,$TcentaureVG::DUR,duree_860026308)

	#TAX
	VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::TAX)
	erreur_860026308 = i_set_art_field(g_iartout9,$TcentaureVG::TAX,VALEUR_860026308)

	#NDS_NUM
	erreur_860026308=i_memset_field_n(g_iartout9,$TcentaureVG::NDS_NUM,0x20)

	#C_CSV OP_CSV
	erreur_860026308 = i_set_art_str(g_iartout9,$TcentaureVG::C_CSV1,pt_C_csv_860026308)
	erreur_860026308 = i_set_art_str(g_iartout9,$TcentaureVG::OP_CSV1,pt_Op_csv_860026308)

	#STY
	erreur_860026308 = i_transformer_bits(g_iartin,$Tsmsf1c7dc::STY,"FV",pt_BUF_860026308)
	i_get_sub_str(pt_BUF_860026308, 0, 1, pt_BUF_860026308)
	erreur_860026308 = i_set_art_str(g_iartout9,$TcentaureVG::STY, pt_BUF_860026308)

	#SGTQS
	i_strcpy(pt_SGTQS_860026308,i_LireEECSGTQS( g_ieec ))
	erreur_860026308=i_set_art_str(g_iartout9, $TcentaureVG::SGTQS, pt_SGTQS_860026308)

	#Champ OFFRE et OPERATEUR
	SI (bVGTplus_860026308)
	ALORS
		#trace2("VGT+ OFFRE=<%s>",pt_VGTplus_OF,"")
		#trace2("VGT+ OPERATEUR=<%s>",pt_VGTplus_OP,"")
		erreur_860026308=i_set_art_str(g_iartout9, $TcentaureVG::OFFRE, pt_VGTplus_OF_860026308)
		erreur_860026308=i_set_art_str(g_iartout9, $TcentaureVG::OPERATEUR, pt_VGTplus_OP_860026308)
	SINON
		SI (VGA_860026308)
		ALORS
			#trace2("VGA OFFRE=<%s>",pt_VGA_OF,"")
			#trace2("VGA OPERATEUR=<%s>",pt_VGA_OP,"")
			erreur_860026308=i_set_art_str(g_iartout9, $TcentaureVG::OFFRE, pt_VGA_OF_860026308)
			erreur_860026308=i_set_art_str(g_iartout9, $TcentaureVG::OPERATEUR, pt_VGA_OP_860026308)
		FINSI
	FINSI
FINSI

#--------------------------------------------------------------------------
# DELTAMINUTE
#--------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instDM_860026308) )
ALORS
	#trace("Mise au format DM")

	# Duplication de l article
	#trace("Duplication vers DM")
	SI (i_dup_art_dest(g_iartin,g_iartout4,C_Tdelta_minute_860026308))
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026308 = 0xA0D0
		code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
		erreur_860026308 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026308,C_Tdelta_minute_860026308,C_Article_860026308)
		SAUT  DISTRI_ERR
	FINSI

	#DOMAINE
	erreur_860026308=i_set_art_str(g_iartout4,$Tdelta_minute::DOMAINE,"05")

	#SERVICE
	erreur_860026308=i_set_art_str(g_iartout4,$Tdelta_minute::SERVICE,"62")

	#E
	erreur_860026308=i_set_art_str(g_iartout4,$Tdelta_minute::E,"0")

	#IDUS_INF
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_INF))
	ALORS
		VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::IDUS_INF)
	SINON
		VALEUR_860026308 = 0
	FINSI
	erreur_860026308 = i_set_art_field(g_iartout4,$Tdelta_minute::IDUS_INF, VALEUR_860026308)

	#IDUS_NUM
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::IDUS_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"BCDE","AJSC",pt_BUF_860026308)
		erreur_860026308=i_set_art_str(g_iartout4,$Tdelta_minute::IDUS_NUM,pt_BUF_860026308)
	SINON
		erreur_860026308=i_memset_field_n(g_iartout4,$Tdelta_minute::IDUS_NUM,0x40)
	FINSI

	#DEDE_INF
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_INF))
	ALORS
		VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::DEDE_INF)
	SINON
		VALEUR_860026308 = 0
	FINSI
	erreur_860026308 = i_set_art_field(g_iartout4,$Tdelta_minute::DEDE_INF, VALEUR_860026308)

	#DEDE_NUM
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::DEDE_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"ABC","A*#",pt_BUF_860026308)
		erreur_860026308=i_set_art_str(g_iartout4,$Tdelta_minute::DEDE_NUM,pt_BUF_860026308)
	SINON
		erreur_860026308=i_set_art_str(g_iartout4,$Tdelta_minute::DEDE_NUM,DEDE_N_ASCII_860026308)
	FINSI

	#champ NDS_NUM
	erreur_860026308=i_memset_field_n(g_iartout4,$Tdelta_minute::NDS_NUM,0x40)

	# Gestion des champ C_CSVI et OP_CSVI
	# se trouvait ici le calcul de C_csv et Op_csv
	erreur_860026308 = i_set_art_str(g_iartout4,$Tdelta_minute::C_CSV1,pt_C_csv_860026308)
	erreur_860026308 = i_set_art_str(g_iartout4,$Tdelta_minute::OP_CSV1,pt_Op_csv_860026308)

	#STY
	erreur_860026308 = i_transformer_bits(g_iartin,$Tsmsf1c7dc::STY,"FV",pt_BUF_860026308)
	i_get_sub_str(pt_BUF_860026308, 0, 1, pt_BUF_860026308)
	erreur_860026308 = i_set_art_str(g_iartout4,$Tdelta_minute::STY, pt_BUF_860026308)

	#champ SGTQS
	#trace("Avant LireEECSGTQS")
	i_strcpy(pt_SGTQS_860026308,i_LireEECSGTQS( g_ieec ))
	#trace2("Apres LireEECSGTQS=%s", pt_SGTQS, "")
	erreur_860026308=i_set_art_str(g_iartout4, $Tdelta_minute::SGTQS, pt_SGTQS_860026308)
	#trace("Apres set_art_str")
FINSI

#---------------------------------------------------------------------------
#  FE
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instFE_860026308) )
ALORS
	i_strcpy(pt_eccfact_860026308,"FE")
	#trace("Mise au format FE")

	#trace("Appel de la table de duplication")
	SI (i_dup_art_dest(g_iartin,g_iartout6,C_Tfe_860026308))
	ALORS
		trace("erreur de duplication de l'article")
		code_errone_860026308 = 0xA0D0
		code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
		erreur_860026308 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026308,C_Tfe_860026308,C_Article_860026308)
		SAUT DISTRI_ERR
	FINSI

	#SERVICE
	erreur_860026308=i_set_art_str(g_iartout6,$Tfe::SERVICE,"62")

	#E
	erreur_860026308=i_set_art_str(g_iartout6,$Tfe::E,"0")

	#IDUS_INF
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_INF))
	ALORS
		VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::IDUS_INF)
	SINON
		VALEUR_860026308 = 0
	FINSI
	erreur_860026308 = i_set_art_field(g_iartout6,$Tfe::IDUS_INF, VALEUR_860026308)

	#IDUS_NUM
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::IDUS_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"BCDE","AJSC",pt_BUF_860026308)
		erreur_860026308=i_set_art_str(g_iartout6,$Tfe::IDUS_NUM,pt_BUF_860026308)
	SINON
		erreur_860026308=i_memset_field_n(g_iartout6, $Tfe::IDUS_NUM, 0x40)
	FINSI

	#DEDE_INF
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_INF))
	ALORS
		VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::DEDE_INF)
	SINON
		VALEUR_860026308 = 0
	FINSI
	erreur_860026308 = i_set_art_field(g_iartout6,$Tfe::DEDE_INF, VALEUR_860026308)

	#DEDE_NUM
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::DEDE_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"ABC","A*#",pt_BUF_860026308)
		erreur_860026308=i_set_art_str(g_iartout6,$Tfe::DEDE_NUM,pt_BUF_860026308)
	SINON
		erreur_860026308=i_set_art_str(g_iartout6,$Tfe::DEDE_NUM,DEDE_N_ASCII_860026308)
	FINSI

	#champ NDS_INF
	erreur_860026308 = i_set_art_field(g_iartout6,$Tfe::NDS_INF, 0)

	#champ NDS_NUM
	erreur_860026308=i_memset_field_n(g_iartout6, $Tfe::NDS_NUM, 0x40)

	# Gestion des champs C_CSVI et OP_CSVI
	# L appel a la table externe a deja ete realise lors de l envoi a DM
	erreur_860026308 = i_set_art_str(g_iartout6,$Tfe::C_CSV1,pt_C_csv_860026308)
	erreur_860026308 = i_set_art_str(g_iartout6,$Tfe::OP_CSV1,pt_Op_csv_860026308)
FINSI

#---------------------------------------------------------------------------
# FERPV
#---------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instFERPV_860026308))
ALORS
	#trace("Stockage vers FERPV")

	SI b_FERPV_860026308
	ALORS
		i_strcpy(pt_eccfact_860026308,"FE")
	FINSI

	# Duplication article en entree
	SI (i_dup_art_dest( g_iartin, g_iartout7, C_TfeRPV_860026308 ))
	ALORS
		code_errone_860026308 = 0xA0D0
		code_errone_860026308 = code_errone_860026308 + EFFICACE_860026308
		erreur_860026308 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026308,C_TfeRPV_860026308,C_Article_860026308)
		SAUT DISTRI_ERR
	FINSI

	# SERVICE 1 octet  alpha EBCDIC (def=F2)
	SI(b_OperNBE_860026308 && bVGTplus_860026308)
	ALORS
		erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::SERVICE,"8")
	SINON
		erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::SERVICE,pt_service_860026308)
	FINSI

	# SOURCE  2 octets alpha EBCDIC (def=F0F5)
	SI (b_OperNBE_860026308 && bVGTplus_860026308)
	ALORS
		erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::SOURCE,"19")
	SINON
		erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::SOURCE,"03")
	FINSI

	#TYPCOM   1 octet  alpha EBCDIC (def=F0)
	erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::TYPCOM," ")

	# NUMDDR 10 octets alpha EBCDIC (def=40)
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::IDUS_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::IDUS_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"BCDE","AJSC",pt_BUF_860026308)
		erreur_860026308 = i_format_str2(pt_buffer1_860026308,"%s%s", "0", pt_BUF_860026308)
		erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::NUMDDR,pt_buffer1_860026308)
	SINON
		erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::NUMDDR," ")
	FINSI

	# NUMDDE 20 octets alpha EBCDIC (def=40)
	SI (i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_NUM))
	ALORS
		erreur_860026308=i_get_art_str(g_iartin,$Tsmsf1c7dc::DEDE_NUM,pt_BUF_860026308)
		i_replace_str(pt_BUF_860026308,"ABC","A*#",pt_BUF_860026308)
		erreur_860026308=i_set_art_str(g_iartout7,$Tfe_rpv::NUMDDE,pt_BUF_860026308)
	SINON
		erreur_860026308=i_set_art_str(g_iartout7,$Tfe_rpv::NUMDDE,DEDE_N_ASCII_860026308)
	FINSI

	# DEBUT
	erreur_860026308 = i_set_art_field(g_iartout7,$Tfe_rpv::DEBUT,locale_date_860026308)

	# DUREE
	erreur_860026308 = i_set_art_field(g_iartout7,$Tfe_rpv::DUREE,duree_860026308)

	# NBUT
	VALEUR_860026308 = i_get_art_field(g_iartin,$Tsmsf1c7dc::TAX)
	erreur_860026308 = i_set_art_field(g_iartout7,$Tfe_rpv::NBUT,VALEUR_860026308)

	#MTHSTD 12  octets alpha EBCDIC (def=40)              "0" 40 EBCDIC par defaut

	#CANAL  3 octets  num EBCDIC (def=F0)    "0" F0 EBCDIC par defaut
	erreur_860026308 = i_set_art_field(g_iartout7,$Tfe_rpv::CANAL,0)

	# Gestion des champ NBCOD, C_CSVI et OP_CSVI
	#NBCOD 1 octet num EBCDIC def 0
	erreur_860026308=i_set_art_field(g_iartout7, $Tfe_rpv::NBCOD, 1)

	#C_CSV1 2 octets Alpha EBCDIC def 40
	erreur_860026308=i_set_art_str(g_iartout7,$Tfe_rpv::C_CSV1, pt_C_csv_860026308)

	#OP_CSV1 1 octet Alphanum EBCDIC def F0
	erreur_860026308=i_set_art_str(g_iartout7,$Tfe_rpv::OP_CSV1, pt_Op_csv_860026308)

	# TYPACCRI
	erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::TYPACCRI," ")

	# SUPPORT G3R0Cu alpha
	erreur_860026308 = i_set_art_str(g_iartout7,$Tfe_rpv::SUPPORT,"0")

	#NOCOMP 20 octets alphanum EBCDIC def 40

	# NOORIG 10 octets alpha_num EBCDIC del 40

	#NATAPPRI

	#CCD " 0"
	erreur_860026308 = i_set_art_field(g_iartout7,$Tfe_rpv::CCD,0)

	#DDR_RMTA 10 octets alphanum EBCDIC def 40

	#INFDDE
	erreur_860026308 = i_cree_art(C_Conversion_860026308, g_iartout5)
	erreur_860026308 = i_set_art_field(g_iartout5, $Conversion::INF, dede_inf_860026308)
	erreur_860026308 = i_get_art_str( g_iartout5, $Conversion::INF, pt_temp_860026308 )
	#trace2("__LINE__ INF ASCII  <%s>",pt_temp_800008482, "")
	erreur_860026308 = i_format_str2( pt_temp2_860026308, "%s%s", "000", pt_temp_860026308)
	#trace2("__LINE__ 000INF ASCII  <%s>",pt_temp2, "")
	i_get_sub_str (pt_temp2_860026308, -3, -1,pt_temp2_860026308)
	#trace2("__LINE__ INF ASCII 3 dig  <%s>",pt_temp2_800008482, "")
	erreur_860026308 = i_set_art_str(g_iartout7, $Tfe_rpv::INFDDE, pt_temp2_860026308)

	#FILLER 14 octets alphanum EBCDIC def 40
FINSI

POINT AVANT_REDIST

SI (trait_ok_860026308 == 0)
ALORS
	# suppression ECC : ALLOFACT / SC

	#---------------------------------------------------------------------------------
	# Complements SYMPHONIE
	#---------------------------------------------------------------------------------

	SI( !i_ChercherCouranteECC(instSYMP_860026308) )
	ALORS
		#Traitement si DEDE absent

		SI !(i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_INF))
		ALORS
			erreur_860026308=i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T3dede,$Tsymtsmsf1c::DEDE_INF,0)
			erreur_860026308 = i_set_art_field(g_iartout,$Tsymtsmsf1c::DEDE_INF, 0)
		FINSI

		SI !(i_valid_field_n(g_iartin, $Tsmsf1c7dc::DEDE_NUM))
		ALORS
			erreur_860026308 = i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T3dede,$Tsymtsmsf1c::DEDE_NUM,0)
			erreur_860026308 = i_resize_tlv(g_iartout,"T3dede","DEDE_NUM",40)
			g_iartout.DEDE_NUM[0]=0
			g_iartout.DEDE_NUM[1]=8
			g_iartout.DEDE_NUM[2]=0
			g_iartout.DEDE_NUM[3]=9
			g_iartout.DEDE_NUM[4]=1
			g_iartout.DEDE_NUM[5]=0
			g_iartout.DEDE_NUM[6]=1
			g_iartout.DEDE_NUM[7]=0
			g_iartout.DEDE_NUM[8]=0
			g_iartout.DEDE_NUM[9]=0
		FINSI

		# Champ CCD
		erreur_860026308=i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4ccd,$Tsymtsmsf1c::CCD,0)
		erreur_860026308=i_set_art_field(g_iartout,$Tsymtsmsf1c::CCD, CCD_860026308)

		# Champ SGTQS
		erreur_860026308 = i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4sgtqs,$Tsymtsmsf1c::SGTQS,0)
		i_strcpy(pt_SGTQS_860026308,i_LireEECSGTQS( g_ieec ))
		erreur_860026308=i_set_art_str(g_iartout,$Tsymtsmsf1c::SGTQS, pt_SGTQS_860026308)

		# Champ ECC_FACT
		erreur_860026308=i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4eccfact,$Tsymtsmsf1c::ECC_FACT,0)
		erreur_860026308=i_set_art_str(g_iartout,$Tsymtsmsf1c::ECC_FACT,pt_eccfact_860026308)

		#Champ NBCOD 
		SI (EFFICACE_860026308 == 1 )
		ALORS
			erreur_860026308 =i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4NBCOD,$Tsymtsmsf1c::NBCOD,0)
			# appel table CSV uniquement si necessaire (TRAFIC ou FE ou FERPV ou/et DM)

			SI (bAppelCSV_860026308 == 1 )
			ALORS
				NBCOD_860026308 = 1
				erreur_860026308 =i_set_art_field(g_iartout,$Tsymtsmsf1c::NBCOD,1 )
			SINON
				NBCOD_860026308 = 0
				erreur_860026308 =i_set_art_field(g_iartout,$Tsymtsmsf1c::NBCOD,0 )
			FINSI

			# Champs optionnels OPE_VGA et OFF_VGA
			SI (bVGTplus_860026308)
			ALORS
				erreur_860026308 = i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4OPEVGA,$Tsymtsmsf1c::OPE_VGA,0)
				erreur_860026308 = i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4OFFVGA,$Tsymtsmsf1c::OFF_VGA,0)
				erreur_860026308=i_set_art_str(g_iartout, $Tsymtsmsf1c::OFF_VGA, pt_VGTplus_OF_860026308)
				erreur_860026308=i_set_art_str(g_iartout, $Tsymtsmsf1c::OPE_VGA, pt_VGTplus_OP_860026308)
			SINON
				SI (VGA_860026308)
				ALORS
					erreur_860026308 = i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4OPEVGA,$Tsymtsmsf1c::OPE_VGA,0)
					erreur_860026308 = i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4OFFVGA,$Tsymtsmsf1c::OFF_VGA,0)
					erreur_860026308=i_set_art_str(g_iartout, $Tsymtsmsf1c::OFF_VGA, pt_VGA_OF_860026308)
					erreur_860026308=i_set_art_str(g_iartout, $Tsymtsmsf1c::OPE_VGA, pt_VGA_OP_860026308)
				FINSI
			FINSI

			# Champ CSV 
			erreur_860026308  = i_ajoutChampNum(g_iartout,$Tsymtsmsf1c::T4CSV,$Tsymtsmsf1c::CSV,0)
			SI (NBCOD_860026308 == 0)
			ALORS
				erreur_860026308  = i_set_art_str( g_iartout,$Tsymtsmsf1c::CSV," " )
			SINON
				#CSV symphonie comme SC : on veut c_csv cadre a gauche et op_csv cadre a droite
				erreur_860026308 = i_format_str2(pt_temp_860026308,"%s%s",pt_C_csv_860026308, "  ")
				i_get_sub_str(pt_temp_860026308, 0, 1, pt_temp_860026308)
				erreur_860026308 = i_format_str2(pt_buffer1_860026308,"%s%s",pt_temp_860026308 ,pt_Op_csv_860026308)
				erreur_860026308  = i_set_art_str( g_iartout,$Tsymtsmsf1c::CSV,pt_buffer1_860026308 )
			FINSI
		FINSI
	FINSI

	#########################################################################
	# Envoi vers IECC
	#########################################################################

	#-------------------------------------------------------------------------
	# SYMPHONIE
	#-------------------------------------------------------------------------

	SI( !i_ChercherCouranteECC( instSYMP_860026308 ) )
	ALORS
		#IFDEF trace_niv1 = 1
		trace( "__FILE__: Emission vers SYMPHONIE" )
		#ENDIF
		res_860026308 = i_stocke_art_iecc(g_iartout, instSYMP_860026308)
	FINSI

	# suppression ECC : ALLOFACT / SC
FINSI

SI (bREDIST_860026308 == 1)
ALORS
	SAUT DISTRI_REDIST
FINSI

#-------------------------------------------------------------------------
# TRAFIC
#-------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instTRAFIC_860026308) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers TRAFIC" )
	#ENDIF
	res_860026308 = i_stocke_art_iecc(g_iartout2, instTRAFIC_860026308)
FINSI

#-------------------------------------------------------------------------
# DELTAMINUTE
#-------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instDM_860026308) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers DELTAMINUTE" )
	#ENDIF
	res_860026308 = i_stocke_art_iecc(g_iartout4, instDM_860026308)
FINSI

#-------------------------------------------------------------------------
# FE
#-------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instFE_860026308) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers FE" )
	#ENDIF
	res_860026308 = i_stocke_art_iecc(g_iartout6, instFE_860026308)
FINSI

#--------------------------------------------------------
# Envoi sur CENTAUREVG
#-------------------------------------------------------

SI (!i_ChercherCouranteECC(instCENTAUREVG_860026308) )
ALORS
	res_860026308 = i_stocke_art_iecc(g_iartout9, instCENTAUREVG_860026308)
	trace ("Emission vers CENTAUREVG")
FINSI

#-------------------------------------------------------------------------
# FERPV 
#-------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instFERPV_860026308) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers FERPV" )
	#ENDIF
	res_860026308 = i_stocke_art_iecc(g_iartout7, instFERPV_860026308)
FINSI

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution" )
#ENDIF

RETOUR TRAIT_OK

###########################################################################
# Stockage en errone
###########################################################################

POINT DISTRI_ERR

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en ERRONE" )
#ENDIF

res_860026308=i_make_art_rej(g_iartin, g_iartout, code_errone_860026308)
res_860026308=i_stocke_art(g_iartout,0,PT_ERRONE,0)

RETOUR TRAIT_OK

###########################################################################
# Stockage en elimine
###########################################################################

POINT DISTRI_ELM

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en ELIMINE" )
#ENDIF

res_860026308 = i_stocke_art( g_iartin, 0, PT_ELIMINE, 0 )

RETOUR TRAIT_OK

###########################################################################
# Stockage pour redistribution
###########################################################################

POINT DISTRI_REDIST

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en REDISTRIBUTION" )
#ENDIF

SI (trait_ok_860026308 == 0)
ALORS
	#---------------------
	#  Creation de l'ENVELOPPE Optionelle:
	# Contient le nom de l'EEC necessaire au message d'erreur de la redistribution
	# Nom_EEC
	# Creation de l'enveloppe
	SI ( ENVELOPPE_NOK_860026308 )
	ALORS
		#IFDEF trace_niv1 = 1
		trace("__FILE__:__LINE__ =====> Creation enveloppe REDISTRI")
		#ENDIF
		ENVELOPPE_NOK_860026308 = i_add_opt( "E_Tsmsf1c7dc" )
		# mise en conformite de la gestion de l'enveloppe
	FINSI

	i_strcpy(pt_SGTQS_860026308,i_LireEECSGTQS(g_ieec))
	res_860026308 = i_set_attr_str_n( $E_Tsmsf1c7dc::Nom_EEC, pt_SGTQS_860026308)
	res_860026308 = i_get_attr_str_n($E_Tsmsf1c7dc::Nom_EEC, pt_SGTQS_860026308)
	res_860026308 = i_set_attr_val_n( $E_Tsmsf1c7dc::DATE_M, ddebut_860026308)

	erreur_860026308 = i_PlvMessEmettre(8503,2,g_iartin,"",3,pt_LIBELREDIST_860026308,"Tsmsf1c7dc",pt_SGTQS_860026308)
FINSI

res_860026308 = i_stocke_art( g_iartin, 0, PT_REDIST|RD_TABLE5, 0 )

RETOUR TRAIT_OK

# fin de fichier
