DEFINITION CCD_860026286 0xD9
DEFINITION NUMTAB_860026286 1
DEFINITION ZONEMETRO_860026286 7
DEFINITION TD_VGA1_860026286 7
DEFINITION TD_VGA2_860026286 2
DEFINITION INST_VGA_860026286 "VGA"
DEFINITION C_Article_860026286 "Tmbmma7dc"
DEFINITION C_InstSYMP_860026286 "SYMP"
DEFINITION C_InstTRAFIC_860026286 "TRAFIC"
DEFINITION C_InstFE_860026286 "FE"
DEFINITION C_InstCENTVG_860026286 "CENTAUREVG"
DEFINITION C_InstFERPV_860026286 "FERPV"
DEFINITION C_Tsymtmbmm_860026286 "Tsymtmbmm"
DEFINITION C_Ttrafic_MBMM_860026286 "Ttrafic_MBMM"
DEFINITION C_Tdelta_min_MBMM_860026286 "Tdelta_min_MBMM"
DEFINITION C_Tfe_MBMM_860026286 "Tfe_MBMM"
DEFINITION C_TfeRPV_MBMM_860026286 "Tfe_rpv"
DEFINITION C_TcentaureVG_860026286 "TcentaureVG"
REGISTRE ENTIER instCENTAUREVG_860026286
REGISTRE ENTIER instSYMP_860026286
REGISTRE ENTIER instDM_860026286
REGISTRE ENTIER instFE_860026286
REGISTRE ENTIER instVGA_860026286
REGISTRE ENTIER instFERPV_860026286
REGISTRE ENTIER instTRAFIC_860026286
REGISTRE ENTIER bFE_860026286
REGISTRE ENTIER bFERPV_860026286
REGISTRE ENTIER bTRAFIC_860026286
REGISTRE ENTIER bREDIST_860026286
REGISTRE ENTIER MEDIA_DESTI_FS_860026286
REGISTRE ENTIER bCENTVG_860026286
REGISTRE ENTIER EFFICACE_860026286
REGISTRE ENTIER date_locale_860026286
REGISTRE ENTIER date_platine_860026286
REGISTRE ENTIER trait_ok_860026286
REGISTRE ENTIER VALEUR_860026286
REGISTRE ENTIER erreur_860026286
REGISTRE ENTIER res_860026286
REGISTRE ENTIER ddebut_860026286
REGISTRE ENTIER duree_860026286
REGISTRE ENTIER numzone_860026286
REGISTRE ENTIER DATE_GMT_860026286
REGISTRE ENTIER lg_IDUS_NUM_860026286
REGISTRE ENTIER code_errone_860026286
REGISTRE ENTIER VGA_860026286
REGISTRE ENTIER val_860026286
REGISTRE ENTIER dizaine_860026286
REGISTRE ENTIER unite_860026286
REGISTRE ENTIER cfr_860026286
REGISTRE ENTIER ENVELOPPE_NOK_860026286
REGISTRE ENTIER bCSV_860026286
REGISTRE ENTIER dede_inf_860026286
REGISTRE ENTIER dede_num1_860026286
REGISTRE ENTIER dede_num2_860026286
REGISTRE ENTIER EZ_860026286
REGISTRE POINTEUR pt_SGTQS_860026286
REGISTRE POINTEUR pt_BUF_860026286
REGISTRE POINTEUR pt_InfoCompl_860026286
REGISTRE POINTEUR pt_inst_860026286
REGISTRE POINTEUR pt_DM_860026286
REGISTRE POINTEUR pt_eccfact_860026286
REGISTRE POINTEUR pt_ETAP_860026286
REGISTRE POINTEUR pt_TREC_860026286
REGISTRE POINTEUR pt_CLE_860026286
REGISTRE POINTEUR pt_OP_CSV1_860026286
REGISTRE POINTEUR pt_C_CSV1_860026286
REGISTRE POINTEUR pt_IDUS_N_860026286
REGISTRE POINTEUR pt_DEDE_N_860026286
REGISTRE POINTEUR pt_LIBELREDIST_860026286
REGISTRE POINTEUR pt_buffer1_860026286
REGISTRE POINTEUR pt_VGA_OP_860026286
REGISTRE POINTEUR pt_VGA_OF_860026286
REGISTRE POINTEUR pt_OFFRE_860026286
REGISTRE POINTEUR pt_OPERA_860026286
REGISTRE POINTEUR pt_RES1_860026286
REGISTRE POINTEUR pt_service_860026286
REGISTRE POINTEUR pt_temp_860026286
REGISTRE POINTEUR pt_temp2_860026286
######################################################################Cv V54
# DISTRIBUTION
#	Tmbmma7dc : DC de facturation MBMM
#
######################################################################
#	HISTORIQUE
# 01/07/03 -DRE- Creation
# 18/08/03 -RBE- FO361 : ajout de T4hlahm1 pour Symphonie
# 02/09/03 -RBE- FO392 : Initialisation des variables Pcode
# 12/12/03 - MCH - G2R0Ca : modif enveloppe - recup cfr pour c_libre de FE
# 08/06/2004 - NSA - G2R0Cl: integration des codes d erreurs
# 14/01/05 -RBE- G2R0Cn : Modif. format TallofactMBMM avec ajout CS1
# 26/01/05 -FAL- G2R0Cbb : NBcod et SC pour symphonie
# 18/02/05 -FAL- G2R0Cbb : FO736 alimentation FERPV
# 12/04/05 -FAL- FO1237 pas de NBCOD et CS pour symphonie si INEF
# 20/04/05 -PSA- FO1245 : modif alimentation NBCOD et CSV
# 30/06/05 -FAL- FO1373 correction lotissement pour FERPV
# 02/08/05 -PKH- G2R1Cq: facturation du trafic hors preselection par l'opirateur VGA
# 12/09/05 -PKH- G2R1Cq: MODIFICATION de spec Creation des 2 tables de distributions VGA1->table8 (VGA_OFF), VGA3->table3(VGA_OPE)
# 20/09/05 -PKH- G2R1Cq: Modification de l appel des tables VGA et renommage en VGA1(table8) et VGA2(table3)
# 28/09/05 -PSA- G2R1Co : fusion Cj sur Cq (prise en compte de la FO1406 sur la Cq)
# 02/12/05 -PSA- G2R2Co : FO 1608 (eligibilite VGA)
# 28/12/02 -PKH- G2R2Ca : FO1628 Evolution eligibilite VGA
# 17/01/06 -DRE- G2R2Ca : FO1680
# 01/02/07 -FAL- G3R0Ca : FO2109 evolution pour IDUS RPVRG avec service = 4
# 26/04/07 - FAL- G3R0Cu Tfe_rpv Tfe_rpv SUPPORT alpha
# 31/12/08 - RHE- G3R11  Z=7 pour offre VGA
# 01/02/2010 - DRE - G3R16 Menage e-bill (Allofact)
# 12/10/2010 - PKH- G3R18Cy ajout champ PREF_PORT INFDDE,TAG,FILLER et PREF_PORT pour FERPV
# 16/11/2010 - PKH - QC428 correction valorisation de INFDDE pour FERPV
# 30/09/2011 - THE - VerifPcode
#
#####################################################################

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

# Constantes
#Constantes pour message d alarme


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


# Pointeurs
# Libelle contenant la cause de l'envoi en redistribution

# -----------------------------------------
# Initialisations
# -----------------------------------------

VALEUR_860026286 = 0

# Instances
instSYMP_860026286      = -1
instDM_860026286        = -1
instFE_860026286        = -1
instCENTAUREVG_860026286 = -1
instFERPV_860026286     = -1
instTRAFIC_860026286    = -1

# Flags de presence
bFE_860026286 = 0
VGA_860026286 = 0
val_860026286 = 0
bCENTVG_860026286 = 0
bFERPV_860026286      = 0
bTRAFIC_860026286     = 0
bREDIST_860026286	    = 0
bCSV_860026286	    = 0

ENVELOPPE_NOK_860026286 = -1
dede_inf_860026286 = 0
dede_num1_860026286 = 0
dede_num2_860026286 = 0
EZ_860026286 = 0

# Allocation memoire pour buffer:
pt_BUF_860026286		= "10101010101010101010101010101012345"
pt_InfoCompl_860026286	= "33312345"
pt_inst_860026286		= "46789512312345"
pt_DM_860026286		= "987654321112345"
pt_eccfact_860026286	= "67676767676767"
pt_LIBELREDIST_860026286	= "20202020202020202020202020202012345"
pt_SGTQS_860026286	= "12345678901212345"
#SGTQS		= "23456789012123456"
pt_ETAP_860026286		= "777777"
pt_CLE_860026286		= "5555555555"
pt_TREC_860026286		= "66666666"
pt_OP_CSV1_860026286		= "44444444444444444"
pt_C_CSV1_860026286		= "33333333333333333"
pt_IDUS_N_860026286		= "88888888888888888888888888888888888"
pt_DEDE_N_860026286		= "99999999999999999999999999999999999"
pt_buffer1_860026286		= "534534534534534534534534534534534534534534534534534534"
pt_VGA_OP_860026286		= "035035035035035035035"
pt_VGA_OF_860026286		= "907907907907907907907"
pt_OFFRE_860026286	= "502350235023502350235023"
pt_OPERA_860026286	= "879879879878978987789857"
pt_RES1_860026286		= "1982896349021609872056827309"
pt_service_860026286	= "6534"
pt_temp_860026286		= "392392392392392392392392392392392392392392392392"
pt_temp2_860026286	= "1781781781781787187187187187181781718718171817"

# Initialisation Pointeurs
i_strcpy(pt_eccfact_860026286, "")
i_strcpy(pt_OP_CSV1_860026286, "")
i_strcpy(pt_C_CSV1_860026286, "")
i_strcpy(pt_OFFRE_860026286,"")
i_strcpy(pt_VGA_OF_860026286,"")
i_strcpy(pt_OPERA_860026286,"")
i_strcpy(pt_VGA_OP_860026286,"")
i_strcpy(pt_RES1_860026286,"")
i_strcpy(pt_service_860026286,"4")
i_strcpy(pt_SGTQS_860026286,"")
#i_strcpy(SGTQS,"")
i_strcpy(pt_BUF_860026286,"")
i_strcpy(pt_InfoCompl_860026286,"")
i_strcpy(pt_inst_860026286,"")
i_strcpy(pt_DM_860026286,"")
i_strcpy(pt_ETAP_860026286,"")
i_strcpy(pt_TREC_860026286,"")
i_strcpy(pt_CLE_860026286,"")
i_strcpy(pt_IDUS_N_860026286,"")
i_strcpy(pt_DEDE_N_860026286,"")
i_strcpy(pt_LIBELREDIST_860026286,"")
i_strcpy(pt_buffer1_860026286,"")
i_strcpy(pt_service_860026286,"")
i_strcpy(pt_temp_860026286,"")
i_strcpy(pt_temp2_860026286,"")


# ---------------------------------------------------
# Identification de la provenance de l'article
# ---------------------------------------------------

trait_ok_860026286 = -1
# trait_ok : nb de passage en redistribution
trait_ok_860026286 = i_LireRedistCpt()

SI ( trait_ok_860026286 > 0 )
ALORS
	ENVELOPPE_NOK_860026286 = 0
FINSI

#ETAP = i_get_art_field( g_iartin, $Tmbmma7dc::ETAP)
ddebut_860026286 = i_get_art_field( g_iartin, $Tmbmma7dc::ddebut)
duree_860026286 = i_get_art_field( g_iartin, $Tmbmma7dc::DUR)

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

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

# EFFICACE

SI ( (i_get_art_field( g_iartin, $Tmbmma7dc::INEF )) == 0 )
ALORS
	EFFICACE_860026286 = 1
SINON
	EFFICACE_860026286 = 0
FINSI

#DATE_PLATINE
date_platine_860026286 = i_get_art_field(g_iartin, $Tmbmma7dc::DATE)
trace1("======== date_platine = %d ========",date_platine_860026286)

#DATE_LOCALE
date_locale_860026286 = i_date_locale(g_ieec,g_iartin,date_platine_860026286)

SI( date_locale_860026286 == -1 )
ALORS
	code_errone_860026286 = 0xA080
	code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
	erreur_860026286 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026286, C_Article_860026286, "i_date_locale/DATE" )
	SAUT DISTRI_ERR
FINSI
trace1("======== date_locale = %d ========",date_locale_860026286)

#DATE_GMT
numzone_860026286 = ZONEMETRO_860026286
DATE_GMT_860026286 = i_DHgetCe2gTime(NUMTAB_860026286,numzone_860026286,ddebut_860026286)
trace1("======== DATE_GMT = %d ========",DATE_GMT_860026286)

#MEDIA_DESTI_FS
# Boolien qui indique si le destinataire du message est un fournisseur de service MEX+ (envoi ` une boite jeux).
MEDIA_DESTI_FS_860026286 = 0

SI (i_get_art_field( g_iartin, $Tmbmma7dc::TREC ) == 0x07)
ALORS
	MEDIA_DESTI_FS_860026286 = 1
FINSI

# C_CSV1 OP_CSV1
# FO635 : appel aux tables externes si TREC <> 7 (donc MEDIA_DESTI_FS a 0)

SI ( MEDIA_DESTI_FS_860026286 == 0 )
ALORS
	bCSV_860026286 = 1
	erreur_860026286 = i_get_art_str(g_iartin, $Tmbmma7dc::ETAP, pt_ETAP_860026286)

	SI ( i_valid_field_n(g_iartin, $Tmbmma7dc::TREC) )
	ALORS
		erreur_860026286 = i_get_art_str( g_iartin, $Tmbmma7dc::TREC,pt_TREC_860026286)
	SINON
		i_strcpy(pt_TREC_860026286, "0")
	FINSI

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

	erreur_860026286=i_format_str2(pt_BUF_860026286,"%s%s", "0000", pt_ETAP_860026286)
	i_get_sub_str(pt_BUF_860026286, -3, -1, pt_ETAP_860026286)

	erreur_860026286=i_format_str2(pt_BUF_860026286,"%s%s", "00", pt_TREC_860026286)
	i_get_sub_str(pt_BUF_860026286, -3, -1, pt_TREC_860026286)

# Concatenation des 2 champs bourres pour produire la cle
	erreur_860026286=i_format_str2(pt_CLE_860026286, "%s%s", pt_ETAP_860026286, pt_TREC_860026286)
	trace2("===== Valeur pt_CLE = %s ====",pt_CLE_860026286,"")

	pt_OP_CSV1_860026286 = OP_CSV_860026233( "BM", pt_CLE_860026286, i_get_art_field( g_iartin, $Tmbmma7dc::dpivot ) )

	SI( pt_OP_CSV1_860026286 == g_inull )
	ALORS
		erreur_860026286 = i_format_str2(pt_BUF_860026286,"%s%s", "table externe OP_CSV CLE=BM",pt_CLE_860026286)
		code_errone_860026286 = 0xA0A0
		code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
		erreur_860026286 = i_PlvMessEmettre( 8605, 2, g_iartin,"", 3,code_errone_860026286, "Tmbmma7dc/OP_CSV", pt_CLE_860026286 )
		SAUT DISTRI_ERR
	FINSI

	pt_C_CSV1_860026286 = C_CSV_860026233( "BM", pt_CLE_860026286, i_get_art_field( g_iartin, $Tmbmma7dc::dpivot ) )

	SI( pt_C_CSV1_860026286 == g_inull )
	ALORS
		erreur_860026286 = i_format_str2(pt_BUF_860026286,"%s%s", "table externe C_CSV CLE=BM",pt_CLE_860026286)
		code_errone_860026286 = 0xA0A0
		code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
		erreur_860026286 = i_PlvMessEmettre( 8605, 2, g_iartin,"", 3,code_errone_860026286, "Tmbmma7dc/OP_CSV", pt_CLE_860026286 )
		SAUT DISTRI_ERR
	FINSI
FINSI

# IDUS_N

erreur_860026286=i_get_art_str(g_iartin,$Tmbmma7dc::IDUS_NUM,pt_IDUS_N_860026286)
i_replace_str(pt_IDUS_N_860026286,"BCDE","AJSC",pt_IDUS_N_860026286)

# DEDE_N

erreur_860026286=i_get_art_str(g_iartin,$Tmbmma7dc::DEDE_NUM,pt_DEDE_N_860026286)
i_replace_str(pt_DEDE_N_860026286,"ABC","A*#",pt_DEDE_N_860026286)

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

# SYMP
instSYMP_860026286=i_LireInstanceECC(C_InstSYMP_860026286)

SI (!instSYMP_860026286)
ALORS
	#trace("Pas d'instance pour SYMP !")
	code_errone_860026286 = 0xA0B0
	code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
	erreur_860026286 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026286,C_InstSYMP_860026286,C_Article_860026286)
	SAUT DISTRI_ERR
FINSI
#trace1("instSYMP=<%d>",instSYMP)

SI !EFFICACE_860026286
ALORS
	SAUT APRES_REQ
FINSI

#lg_IDUS_NUM
lg_IDUS_NUM_860026286 = (i_get_art_fieldlength(g_iartin, $Tmbmma7dc::IDUS_NUM) + 1) / 2

############################################################################
#Envoi Requetes Table VGA
##############################################################################

instVGA_860026286 = i_LireInstanceECC(INST_VGA_860026286)

SI (!instVGA_860026286)
ALORS
	code_errone_860026286 = 0xA0C1
	erreur_860026286 = i_PlvMessEmettre(8607,2,g_iartin,"",3,code_errone_860026286,"VGA",C_Article_860026286)
	trace("Pas d'instance pour VGA ")
	SAUT DISTRI_ERR
FINSI
trace1("Instance VGA =<%d>",instVGA_860026286)

##############################################################################
# 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

# Z=7 pour offre VGA
# - DEDE_INF a 0x82 et 1er digit de DEDE_NUM entre 1 et 7
# - DEDE_INF a 0x00 et les 2 premiers digits de DEDE_NUM entre 00 et 07

SI (i_valid_field_n(g_iartin, $Tmbmma7dc::DEDE_INF))
ALORS
	dede_inf_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::DEDE_INF)
FINSI

SI (i_valid_field_n(g_iartin, $Tmbmma7dc::DEDE_NUM))
ALORS
	dede_num1_860026286 = g_iartin.DEDE_NUM[0]
	dede_num2_860026286 = g_iartin.DEDE_NUM[1]
	EZ_860026286 = (dede_num1_860026286 * 10) + dede_num2_860026286
FINSI

SI (dede_inf_860026286 == 0xC3) || ( (dede_inf_860026286 == 0x82) && (dede_num1_860026286 < 8) ) || ( (dede_inf_860026286 == 0x00) && (EZ_860026286 < 8) )
ALORS
	SAUT FIN_VGA
FINSI

SI (i_EnvoiReqConsTabDist( TD_VGA1_860026286, DATE_GMT_860026286,i_get_art_fieldptr(g_iartin,$Tmbmma7dc::IDUS_NUM), lg_IDUS_NUM_860026286, 0, 1)!=0)
ALORS
	code_errone_860026286 = 0xA0C1
	erreur_860026286 = i_PlvMessEmettre(8607,2,g_iartin,"",3,code_errone_860026286,"VGA1",C_Article_860026286)
	trace("Erreur i_EnvoiReqConsTabDist pour  VGA1")
	SAUT DISTRI_ERR
FINSI

#-------------Interrogation de la table VGA----------------------

erreur_860026286 = i_LireReqConsTabDist()
trace1("RETOUR i_LireReqConsTabDist retour requette VGA1, erreur=<%d>",erreur_860026286)

SI ( erreur_860026286 != 0 )
ALORS
	trace1( "Erreur i_LireReqConsTabDist VGA1 : <%d>", erreur_860026286)
	code_errone_860026286 = 0xA0C1
	erreur_860026286 = i_PlvMessEmettre(8607,2,g_iartin,"",3,code_errone_860026286,"VGA1",C_Article_860026286)
	SAUT DISTRI_ERR
FINSI

val_860026286 = i_LireInfoECC( instVGA_860026286, 0 )

SI ( val_860026286 != 0)
ALORS
	erreur_860026286 = i_LireChaineInfo(val_860026286,0,6,pt_OFFRE_860026286)
	i_get_sub_str(pt_OFFRE_860026286,0,2,pt_RES1_860026286)
	SI(i_strcmp(pt_RES1_860026286,"VGT"))
	ALORS
		VGA_860026286 = 1
	FINSI
FINSI

SI (VGA_860026286 == 1)
ALORS
	SI (i_strcmp(pt_OFFRE_860026286,g_inull))
	ALORS
		i_strcpy(pt_VGA_OF_860026286,pt_OFFRE_860026286)
	SINON
		i_strcpy(pt_VGA_OF_860026286," ")
		#trace2(" Resultat de i_LireImsiInfo : <%s>", pt_OFFRE, "")
	FINSI
	trace2("Resultat de i_LireChaineInfo pour VGA1 (table8) : <%s>", pt_OFFRE_860026286, "")

	SI (i_EnvoiReqConsTabDist( TD_VGA2_860026286,DATE_GMT_860026286,i_get_art_fieldptr(g_iartin,$Tmbmma7dc::IDUS_NUM), lg_IDUS_NUM_860026286, 0, 1) != 0)
	ALORS
		trace("Erreur i_EnvoiReqConsTabDist VGA2")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026286 = i_LireReqConsTabDist()
	trace1("RETOUR i_LireReqConsTabDist retour requette VGA2, erreur=<%d>",erreur_860026286)

	SI ( erreur_860026286 != 0 )
	ALORS
		trace1( "Erreur i_LireReqConsTabDist VGA2: <%d>", erreur_860026286)
		SAUT DISTRI_ERR
	FINSI
	val_860026286= 0
	val_860026286 = i_LireInfoECC( instVGA_860026286, 0 )

	SI (val_860026286 != 0)
	ALORS
		erreur_860026286 = i_LireChaineInfo( val_860026286, 0, 6, pt_OPERA_860026286 )
		SI (i_strcmp(pt_OPERA_860026286,g_inull))
		ALORS
			i_strcpy(pt_VGA_OP_860026286,pt_OPERA_860026286)
		SINON
			i_strcpy(pt_VGA_OP_860026286," ")
		FINSI
	FINSI
FINSI
trace2("Resultat de i_LireChaineInfo pour VGA2 (table3) : <%s>", pt_OPERA_860026286, "")

POINT FIN_VGA

#######################Fin interrogation de la table VGA #############################################

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

SI (i_EnvoiReqConsTabDistDouble( TD_Fixe, TD_Inter, DATE_GMT_860026286,i_get_art_fieldptr(g_iartin,$Tmbmma7dc::IDUS_NUM), lg_IDUS_NUM_860026286, lg_IDUS_NUM_860026286, 1, 0, 1)!=0)
ALORS
	trace("Erreur i_EnvoiReqConsTabDistDouble")
	SAUT DISTRI_ERR
FINSI

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

# TRAFIC
instTRAFIC_860026286 = i_LireInstanceECC(C_InstTRAFIC_860026286)

SI (!instTRAFIC_860026286)
ALORS
	#trace("Pas d'instance pour TRAFIC !")
	code_errone_860026286 = 0xA0B0
	code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
	erreur_860026286 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026286,C_InstTRAFIC_860026286,C_Article_860026286)
	SAUT DISTRI_ERR
FINSI
#trace1("instTRAFIC=<%d>",instTRAFIC)

# FE
instFE_860026286 = i_LireInstanceECC(C_InstFE_860026286)

SI (!instFE_860026286)
ALORS
	#trace("Pas d'instance pour FE !")
	code_errone_860026286 = 0xA0B0
	code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
	erreur_860026286 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026286,C_InstFE_860026286,C_Article_860026286)
	SAUT DISTRI_ERR
FINSI
#trace1("instFE=<%d>",instFE)

# FERPV
instFERPV_860026286 = i_LireInstanceECC(C_InstFERPV_860026286)

SI (!instFERPV_860026286)
ALORS
#	trace("Pas d'instance pour FERPV !")
	code_errone_860026286 = 0xA0B0
	code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
	erreur_860026286 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026286,C_InstFERPV_860026286,C_Article_860026286)
	SAUT DISTRI_ERR
FINSI
#trace1("instFERPV=<%d>",instFERPV)

# G3R16 suppression ECC ALLOFACT

# DM
# meme instance que pour Trafic

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

SI VGA_860026286
ALORS
	instCENTAUREVG_860026286 = i_LireInstanceECC(C_InstCENTVG_860026286)
	trace1("instCENTAUREVG=<%d>",instCENTAUREVG_860026286)
	SI (!instCENTAUREVG_860026286)
	ALORS
		trace("Pas d'instance pour CENTAUREVG!")
		bCENTVG_860026286=0
		code_errone_860026286 = 0xA0B0
		code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
		erreur_860026286 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026286,C_InstCENTVG_860026286,C_Article_860026286)
		SAUT DISTRI_ERR
	SINON
		bCENTVG_860026286=1
	FINSI
FINSI

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

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

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

## FE:
SI ( instFE_860026286 > 0 )
ALORS
	res_860026286 = i_LireInfoECC(instFE_860026286, 0)
	#trace1("Retour de i_LireInfoECC -  FE: <%d>",res)
	SI (res_860026286 != 0)
	ALORS
		#trace( "FE appartient a la table DISTRI")
		bFE_860026286=1
	FINSI
FINSI

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

	SI (res_860026286 != 0)
	ALORS
		#trace( "FERPV appartient a la table DISTRI")
		bFERPV_860026286=1
		erreur_860026286 = i_LireChaineInfo(res_860026286,0,1,pt_InfoCompl_860026286)

		SI (!i_strcmp(pt_InfoCompl_860026286,"1"))
		ALORS
			i_strcpy(pt_service_860026286,"1")
		SINON
			SI (!i_strcmp(pt_InfoCompl_860026286,"2"))
			ALORS
				i_strcpy(pt_service_860026286,"2")
			SINON
				i_strcpy(pt_service_860026286,"4")
			FINSI
		FINSI
	FINSI
FINSI

# G3R16 suppression ECC	 SC / ALLOFACT:

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

#-------------------------------------------------------------------------
# G3R16 suppression ECC
# ALLOFACT / SC
#-------------------------------------------------------------------------

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

SI ( bFE_860026286 &&!bFERPV_860026286 && MEDIA_DESTI_FS_860026286 == 0 && VGA_860026286 == 0)
ALORS
	erreur_860026286=i_AjouterCouranteECC(instFE_860026286)
FINSI

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

SI ( bFERPV_860026286 && MEDIA_DESTI_FS_860026286 == 0 && VGA_860026286 == 0)
ALORS
	#Traitement du code CFR:
	res_860026286=i_LireInfoECC(instTRAFIC_860026286, 0)
	#trace1("Retour i_LireInfoECC(instTRAFIC, 0)= <%d>",res)

	SI (res_860026286 != 0)
	ALORS
		# Recuperation du code CFR pour meta c_libre de FE
		dizaine_860026286 = i_LireEntierInfo(res_860026286,0,1)
		unite_860026286 = i_LireEntierInfo(res_860026286,1,1)
		cfr_860026286 = (dizaine_860026286 & 0x0F) * 10 + (unite_860026286 & 0x0F)

		SI ( ENVELOPPE_NOK_860026286 )
		ALORS
			#IFDEF trace_niv1 = 1
			trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/FE")
			#ENDIF
			ENVELOPPE_NOK_860026286 = i_add_opt("E_Tmbmma7dc")
			
			#DREY G3R16 mise en conformite de la gestion de l'enveloppe
		FINSI
		erreur_860026286 = i_set_attr_val_n($E_Tmbmma7dc::CFR,cfr_860026286)
		erreur_860026286 = i_set_attr_val_n($E_Tmbmma7dc::DATE_M,date_locale_860026286)
		#IFDEF trace_niv1 = 1
		trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026286)
		trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026286)
		#ENDIF
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026286,"Indicatif inconnu de MAJ2G")
		bREDIST_860026286 = 1
		SAUT AVANT_REDIST
	FINSI

	erreur_860026286=i_AjouterCouranteECC(instFERPV_860026286)
FINSI

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

#trace1("crit_comm=<%d>",crit_comm)
SI (  MEDIA_DESTI_FS_860026286 == 0 && (!bFE_860026286 || (bFE_860026286 && VGA_860026286)) && (!bFERPV_860026286 || (bFERPV_860026286 && VGA_860026286))  )
ALORS
	# Gestion du code CFR:
	res_860026286=i_LireInfoECC(instTRAFIC_860026286, 0)

	SI (res_860026286 != 0)
	ALORS
		erreur_860026286 = i_LireChaineInfo( res_860026286, 0, 3, pt_InfoCompl_860026286)
		#trace2(" Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl, "")

		erreur_860026286 = i_format_str2(pt_inst_860026286, "TRAF%s", pt_InfoCompl_860026286,0)
		#trace2("Concatenation de TRAF avec info.compl: <%s>", pt_inst, "")

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

		SI (!instTRAFIC_860026286 && MEDIA_DESTI_FS_860026286 == 0)
		ALORS
			code_errone_860026286 = 0xA0B0
			code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
			erreur_860026286 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026286,pt_inst_860026286,C_Article_860026286)
			SAUT DISTRI_ERR
		FINSI

		erreur_860026286=i_AjouterCouranteECC(instTRAFIC_860026286)
		bTRAFIC_860026286=1
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026286,"Indicatif inconnu de MAJ2G")
		bREDIST_860026286 = 1
		SAUT AVANT_REDIST
	FINSI
FINSI

#--------------------------------------
#	AJOUT DE CENTAUREVG
#--------------------------------------

SI ( (VGA_860026286 == 1) && (bTRAFIC_860026286 == 1) )
ALORS
	SI (i_AjouterCouranteECC(instCENTAUREVG_860026286) < 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_860026286 && MEDIA_DESTI_FS_860026286 == 0 && VGA_860026286 == 0 )
ALORS
	#Traitement du code CFR:
	res_860026286=i_LireInfoECC(instTRAFIC_860026286, 0)
	#trace1("Retour i_LireInfoECC(instTRAFIC, 0)= <%d>",res)
	SI (res_860026286 != 0)
	ALORS
		erreur_860026286 = i_LireChaineInfo( res_860026286, 0, 3, pt_InfoCompl_860026286)
		#trace2(" Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl, "")

		erreur_860026286 = i_format_str2(pt_DM_860026286, "DM%s", pt_InfoCompl_860026286,0)
		#trace2("Concatenation de DM avec info.compl: <%s>", pt_DM, "")

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

		SI (!instDM_860026286)
		ALORS
			code_errone_860026286 = 0xA0B0
			code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
			erreur_860026286 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026286,pt_DM_860026286,C_Article_860026286)
			SAUT DISTRI_ERR
		FINSI

		# Recuperation du code CFR pour meta c_libre de FE
		dizaine_860026286 = i_LireEntierInfo(res_860026286,0,1)
		unite_860026286 = i_LireEntierInfo(res_860026286,1,1)
		cfr_860026286 = (dizaine_860026286 & 0x0F) * 10 + (unite_860026286 & 0x0F)

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

		erreur_860026286 = i_set_attr_val_n($E_Tmbmma7dc::CFR,cfr_860026286)
		erreur_860026286 = i_set_attr_val_n($E_Tmbmma7dc::DATE_M,date_locale_860026286)
		#IFDEF trace_niv1 = 1
		trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026286)
		trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026286)
		#ENDIF
		erreur_860026286=i_AjouterCouranteECC(instDM_860026286)
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026286,"Indicatif inconnu de MAJ2G")
		bREDIST_860026286 = 1
		SAUT AVANT_REDIST
	FINSI
FINSI

#######################################################################
# Duplication Symphonie
#######################################################################

POINT APRES_REQ

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

# 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_860026286 = 0xA0D0
	code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
	erreur_860026286 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026286,C_Tsymtmbmm_860026286,C_Article_860026286)
	SAUT DISTRI_ERR
FINSI

SI(i_rename_art(g_iartout,C_Tsymtmbmm_860026286))
ALORS
	trace("ERREUR i_rename_art")
	code_errone_860026286 = 0xA0D0
	code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
	erreur_860026286 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026286,C_Tsymtmbmm_860026286,C_Article_860026286)
	SAUT DISTRI_ERR
FINSI

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

erreur_860026286=i_ValiderListeECC( 0, 0, 0, 0)

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

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

SI ( !i_ChercherCouranteECC(instTRAFIC_860026286) )
ALORS
	i_strcpy(pt_eccfact_860026286,pt_inst_860026286)
	#trace("Mise au format TRAFIC")

	# Duplication de l article
	#trace("Duplication vers TRAFIC")
	SI (i_dup_art_dest(g_iartin,g_iartout2,C_Ttrafic_MBMM_860026286))
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026286 = 0xA0D0
		code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
		erreur_860026286 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026286,C_Ttrafic_MBMM_860026286,C_Article_860026286)
		SAUT  DISTRI_ERR
	FINSI

	#champ DATE
	erreur_860026286 = i_set_art_field(g_iartout2, $Ttrafic_MBMM::DATE, date_locale_860026286 )

	# DOMAINE
	erreur_860026286=i_set_art_str(g_iartout2, $Ttrafic_MBMM::DOMAINE, "05")

	# SERVICE
	erreur_860026286=i_set_art_str(g_iartout2, $Ttrafic_MBMM::SERVICE, "68")

	#IDUS_INF
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::IDUS_INF)
	erreur_860026286 = i_set_art_field(g_iartout2,$Ttrafic_MBMM::IDUS_INF, VALEUR_860026286)

	# E
	erreur_860026286=i_set_art_str(g_iartout2, $Ttrafic_MBMM::E, "0")

	#IDUS_NUM
	erreur_860026286=i_set_art_str(g_iartout2,$Ttrafic_MBMM::IDUS_NUM,pt_IDUS_N_860026286)

	#DEDE_INF
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::DEDE_INF)
	erreur_860026286 = i_set_art_field(g_iartout2,$Ttrafic_MBMM::DEDE_INF, VALEUR_860026286)

	#DEDE_NUM
	erreur_860026286=i_set_art_str(g_iartout2,$Ttrafic_MBMM::DEDE_NUM,pt_DEDE_N_860026286)

	#NDS_NUM
	SI (i_valid_field_n(g_iartin, $Tmbmma7dc::NUMNOS))
	ALORS
		erreur_860026286=i_get_art_str(g_iartin,$Tmbmma7dc::NUMNOS,pt_BUF_860026286)
		erreur_860026286=i_set_art_str(g_iartout2,$Ttrafic_MBMM::NDS_NUM,pt_BUF_860026286)
	SINON
		erreur_860026286=i_memset_field_n(g_iartout2,$Ttrafic_MBMM::NDS_NUM,0x40)
	FINSI

	#C_CSVI
	erreur_860026286 = i_set_art_str(g_iartout2,$Ttrafic_MBMM::C_CSV1,pt_C_CSV1_860026286)

	#OP_CSVI
	erreur_860026286 = i_set_art_str(g_iartout2,$Ttrafic_MBMM::OP_CSV1,pt_OP_CSV1_860026286)

	#STY
	erreur_860026286 = i_transformer_bits(g_iartin,$Tmbmma7dc::STY,"FV",pt_BUF_860026286)
	i_get_sub_str(pt_BUF_860026286, 0, 1, pt_BUF_860026286)
	erreur_860026286 = i_set_art_str(g_iartout2,$Ttrafic_MBMM::STY, pt_BUF_860026286)

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

	# champ OFFRE
	trace2("OFFRE=<%s>",pt_VGA_OF_860026286,"")
	erreur_860026286=i_set_art_str(g_iartout2, $Ttrafic_MBMM::OFFRE, pt_VGA_OF_860026286)

	# champ OPERATEUR
	trace2("OPERATEUR=<%s>",pt_VGA_OP_860026286,"")
	erreur_860026286=i_set_art_str(g_iartout2, $Ttrafic_MBMM::OPERATEUR, pt_VGA_OP_860026286)
FINSI

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

SI ( !i_ChercherCouranteECC(instCENTAUREVG_860026286))
ALORS
	trace("Stockage vers CENTAUREVG")

	# Duplication de l article
	#-----------------------------
	trace("Duplication vers CENTAUREVG")
	SI ( i_dup_art_dest(g_iartin,g_iartout9,C_TcentaureVG_860026286) )
	ALORS
		trace("Erreur de i_dup_art_dest")
		code_errone_860026286 = 0xA0D0
		code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
		erreur_860026286 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026286,C_TcentaureVG_860026286,C_Article_860026286)
		SAUT  DISTRI_ERR
	FINSI
	# Mise au format
	#------------------------------
	trace("initialisation de DOMAINE et SERVICE")

	# DOMAINE
	erreur_860026286=i_set_art_str(g_iartout9, $TcentaureVG::DOMAINE, "05")

	# SERVICE
	erreur_860026286=i_set_art_str(g_iartout9, $TcentaureVG::SERVICE, "68")

	#IDUS_INF
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::IDUS_INF)
	erreur_860026286 = i_set_art_field(g_iartout9,$TcentaureVG::IDUS_INF, VALEUR_860026286)

	#---------------------------------------
	#IDUS_NUM
	erreur_860026286=i_set_art_str(g_iartout9,$TcentaureVG::IDUS_NUM,pt_IDUS_N_860026286)

	#DEDE_INF
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::DEDE_INF)
	erreur_860026286 = i_set_art_field(g_iartout9,$TcentaureVG::DEDE_INF, VALEUR_860026286)

	#DEDE_NUM
	erreur_860026286=i_set_art_str(g_iartout9,$TcentaureVG::DEDE_NUM,pt_DEDE_N_860026286)

	#NDS_NUM
	SI (i_valid_field_n(g_iartin, $Tmbmma7dc::NUMNOS))
	ALORS
		erreur_860026286=i_get_art_str(g_iartin,$Tmbmma7dc::NUMNOS,pt_BUF_860026286)
		erreur_860026286=i_set_art_str(g_iartout9,$TcentaureVG::NDS_NUM,pt_BUF_860026286)
	SINON
		erreur_860026286=i_memset_field_n(g_iartout9,$TcentaureVG::NDS_NUM,0x20)
	FINSI

	#C_CSVI
	erreur_860026286 = i_set_art_str(g_iartout9,$TcentaureVG::C_CSV1,pt_C_CSV1_860026286)

	#OP_CSVI
	erreur_860026286 = i_set_art_str(g_iartout9,$TcentaureVG::OP_CSV1,pt_OP_CSV1_860026286)

	#STY
	erreur_860026286 = i_transformer_bits(g_iartin,$Tmbmma7dc::STY,"FV",pt_BUF_860026286)
	i_get_sub_str(pt_BUF_860026286, 0, 1, pt_BUF_860026286)
	erreur_860026286 = i_set_art_str(g_iartout9,$TcentaureVG::STY, pt_BUF_860026286)

	#champ SGTQS
	#trace("Avant LireEECSGTQS")
	i_strcpy(pt_SGTQS_860026286,i_LireEECSGTQS( g_ieec ))
	#trace2("Apres LireEECSGTQS=%s", pt_SGTQS, "")
	erreur_860026286=i_set_art_str(g_iartout9, $TcentaureVG::SGTQS, pt_SGTQS_860026286)
	#trace("Apres set_art_str")

	# champ OFFRE
	trace2("OFFRE=<%s>",pt_VGA_OF_860026286,"")
	erreur_860026286=i_set_art_str(g_iartout9, $TcentaureVG::OFFRE, pt_VGA_OF_860026286)

	# champ OPERATEUR
	trace2("OPERATEUR=<%s>",pt_VGA_OP_860026286,"")
	erreur_860026286=i_set_art_str(g_iartout9, $TcentaureVG::OPERATEUR, pt_VGA_OP_860026286)
FINSI

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

SI ( !i_ChercherCouranteECC(instDM_860026286) )
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_min_MBMM_860026286))
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026286 = 0xA0D0
		code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
		erreur_860026286 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026286,C_Tdelta_min_MBMM_860026286,C_Article_860026286)
		SAUT  DISTRI_ERR
	FINSI

	#champ DATE
	erreur_860026286 = i_set_art_field(g_iartout4, $Tdelta_min_MBMM::DATE, date_locale_860026286 )

	#DOMAINE
	erreur_860026286=i_set_art_str(g_iartout4,$Tdelta_min_MBMM::DOMAINE,"05")

	#SERVICE
	erreur_860026286=i_set_art_str(g_iartout4,$Tdelta_min_MBMM::SERVICE,"68")

	#E
	erreur_860026286=i_set_art_str(g_iartout4,$Tdelta_min_MBMM::E,"0")

	#IDUS_INF
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::IDUS_INF)
	erreur_860026286 = i_set_art_field(g_iartout4,$Tdelta_min_MBMM::IDUS_INF, VALEUR_860026286)

	#IDUS_NUM
	erreur_860026286=i_set_art_str(g_iartout4,$Tdelta_min_MBMM::IDUS_NUM,pt_IDUS_N_860026286)

	#DEDE_INF
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::DEDE_INF)
	erreur_860026286 = i_set_art_field(g_iartout4,$Tdelta_min_MBMM::DEDE_INF, VALEUR_860026286)

	#DEDE_NUM
	erreur_860026286=i_set_art_str(g_iartout4,$Tdelta_min_MBMM::DEDE_NUM,pt_DEDE_N_860026286)

	#NDS_NUM
	SI (i_valid_field_n(g_iartin, $Tmbmma7dc::NUMNOS))
	ALORS
		erreur_860026286=i_get_art_str(g_iartin,$Tmbmma7dc::NUMNOS,pt_BUF_860026286)
		erreur_860026286=i_set_art_str(g_iartout4,$Tdelta_min_MBMM::NDS_NUM,pt_BUF_860026286)
	SINON
		erreur_860026286=i_memset_field_n(g_iartout4,$Tdelta_min_MBMM::NDS_NUM,0x40)
	FINSI

	#C_CSVI
	erreur_860026286 = i_set_art_str(g_iartout4,$Tdelta_min_MBMM::C_CSV1,pt_C_CSV1_860026286)

	#OP_CSVI
	erreur_860026286 = i_set_art_str(g_iartout4,$Tdelta_min_MBMM::OP_CSV1,pt_OP_CSV1_860026286)

	#STY
	erreur_860026286 = i_transformer_bits(g_iartin,$Tmbmma7dc::STY,"FV",pt_BUF_860026286)
	i_get_sub_str(pt_BUF_860026286, 0, 1, pt_BUF_860026286)
	erreur_860026286 = i_set_art_str(g_iartout4,$Tdelta_min_MBMM::STY, pt_BUF_860026286)

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

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

SI ( !i_ChercherCouranteECC(instFE_860026286) )
ALORS
	i_strcpy(pt_eccfact_860026286,"FE")
	trace("Mise au format FE")

	#trace("Appel de la table de duplication")
	SI (i_dup_art_dest(g_iartin,g_iartout6,C_Tfe_MBMM_860026286))
	ALORS
		trace("erreur de duplication de l'article")
		code_errone_860026286 = 0xA0D0
		code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
		erreur_860026286 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026286,C_Tfe_MBMM_860026286,C_Article_860026286)
		SAUT DISTRI_ERR
	FINSI

	#SERVICE
	erreur_860026286=i_set_art_str(g_iartout6,$Tfe_MBMM::SERVICE,"68")

	#E
	erreur_860026286=i_set_art_str(g_iartout6,$Tfe_MBMM::E,"0")

	#champ DATE
	erreur_860026286 = i_set_art_field(g_iartout6, $Tfe_MBMM::DATE, date_locale_860026286 )

	#IDUS_INF
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::IDUS_INF)
	erreur_860026286 = i_set_art_field(g_iartout6,$Tfe_MBMM::IDUS_INF, VALEUR_860026286)

	#IDUS_NUM
	erreur_860026286=i_set_art_str(g_iartout6,$Tfe_MBMM::IDUS_NUM,pt_IDUS_N_860026286)

	#DEDE_INF
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::DEDE_INF)
	erreur_860026286 = i_set_art_field(g_iartout6,$Tfe_MBMM::DEDE_INF, VALEUR_860026286)

	#DEDE_NUM
	erreur_860026286=i_set_art_str(g_iartout6,$Tfe_MBMM::DEDE_NUM,pt_DEDE_N_860026286)

	#NDS_INF
	SI (i_valid_field_n(g_iartin, $Tmbmma7dc::INFNOS))
	ALORS
		VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::INFNOS)
		erreur_860026286 = i_set_art_field(g_iartout6,$Tfe_MBMM::NDS_INF, VALEUR_860026286)
	SINON
		erreur_860026286=i_memset_field_n(g_iartout6,$Tfe_MBMM::NDS_INF,0xF0)
	FINSI

	#NDS_NUM
	SI (i_valid_field_n(g_iartin, $Tmbmma7dc::NUMNOS))
	ALORS
		erreur_860026286=i_get_art_str(g_iartin,$Tmbmma7dc::NUMNOS,pt_BUF_860026286)
		erreur_860026286=i_set_art_str(g_iartout6,$Tfe_MBMM::NDS_NUM,pt_BUF_860026286)
	SINON
		erreur_860026286=i_memset_field_n(g_iartout6,$Tfe_MBMM::NDS_NUM,0x40)
	FINSI

	#C_CSVI
	erreur_860026286 = i_set_art_str(g_iartout6,$Tfe_MBMM::C_CSV1,pt_C_CSV1_860026286)

	#OP_CSVI
	erreur_860026286 = i_set_art_str(g_iartout6,$Tfe_MBMM::OP_CSV1,pt_OP_CSV1_860026286)
FINSI

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

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

	i_strcpy(pt_eccfact_860026286,"FE")
	#pt_eccfact = "FE"

	# Duplication article en entree
	SI (i_dup_art_dest( g_iartin, g_iartout7, C_TfeRPV_MBMM_860026286 ))
	ALORS
		code_errone_860026286 = 0xA0D0
		code_errone_860026286 = code_errone_860026286 + EFFICACE_860026286
		erreur_860026286 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026286,C_TfeRPV_MBMM_860026286,C_Article_860026286)
		SAUT DISTRI_ERR
	FINSI

	# SERVICE 1 octet  alpha EBCDIC (def=F2)
	erreur_860026286 = i_set_art_str(g_iartout7,$Tfe_rpv::SERVICE,pt_service_860026286)

	# SOURCE  2 octets alpha EBCDIC (def=F0F5)
	erreur_860026286 = i_set_art_str(g_iartout7,$Tfe_rpv::SOURCE,"03")

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

	# NUMDDR 10 octets alpha EBCDIC (def=40)
	erreur_860026286 = i_format_str2(pt_BUF_860026286,"%s%s", "0", pt_IDUS_N_860026286)
	erreur_860026286 = i_set_art_str(g_iartout7,$Tfe_rpv::NUMDDR,pt_BUF_860026286)

	# NUMDDE 20 octets alpha EBCDIC (def=40)
	erreur_860026286 = i_set_art_str(g_iartout7,$Tfe_rpv::NUMDDE,pt_DEDE_N_860026286)

	# DEBUT
	erreur_860026286 = i_set_art_field(g_iartout7,$Tfe_rpv::DEBUT,date_locale_860026286)

	# DUREE
	erreur_860026286 = i_set_art_field(g_iartout7,$Tfe_rpv::DUREE,duree_860026286)

	# NBUT
	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::TAX)
	erreur_860026286 = i_set_art_field(g_iartout7,$Tfe_rpv::NBUT,VALEUR_860026286)

	#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_860026286 = 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_860026286=i_set_art_field(g_iartout7, $Tfe_rpv::NBCOD, 1)

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

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

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

	# SUPPORT G3R0Cu alpha
	erreur_860026286 = 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
	SI ( i_valid_field_n(g_iartin,$Tmbmma7dc::NUMNOS) )
	ALORS
		erreur_860026286 = i_get_art_str(g_iartin,$NUMNOS, pt_BUF_860026286)
		erreur_860026286 = i_set_art_str(g_iartout7,$Tfe_rpv::NOORIG,pt_BUF_860026286)
	FINSI

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

	#DDR_RMTA 10 octets alphanum EBCDIC def 40

	#PREF_PORT 1 octets alpha EBCDIC def 40

	#INFDDE
	erreur_860026286 = i_cree_art("Conversion",g_iartout5)

	VALEUR_860026286 = i_get_art_field(g_iartin,$Tmbmma7dc::DEDE_INF)
	erreur_860026286 = i_set_art_field(g_iartout5, $Conversion::INF, VALEUR_860026286)
	erreur_860026286 = i_get_art_str( g_iartout5, $Conversion::INF, pt_temp_860026286)

	erreur_860026286 = i_format_str2( pt_temp2_860026286, "%s%s", "000", pt_temp_860026286)
	i_get_sub_str (pt_temp2_860026286, -3, -1,pt_temp2_860026286)
	erreur_860026286 = i_set_art_str( g_iartout7, $Tfe_rpv::INFDDE, pt_temp2_860026286)

	#--------------------------------------------------------------------------

	#TAG    10 octets alpha EBCDIC def 40

	#FILLER   14 octets alpha EBCDIC def 40
FINSI

POINT AVANT_REDIST

SI (trait_ok_860026286 == 0)
ALORS
	# G3R16 suppression ECC ALLOFACT / SC

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

	SI( !i_ChercherCouranteECC(instSYMP_860026286) )
	ALORS
		# Champ CCD
		erreur_860026286=i_ajoutChampNum(g_iartout,$Tsymtmbmm::T4ccd,$Tsymtmbmm::CCD,0)
		erreur_860026286=i_set_art_field(g_iartout,$Tsymtmbmm::CCD, CCD_860026286)

		# Champ SGTQS
		erreur_860026286 = i_ajoutChampNum(g_iartout,$Tsymtmbmm::T4sgtqs,$Tsymtmbmm::SGTQS,0)
		i_strcpy(pt_SGTQS_860026286,i_LireEECSGTQS( g_ieec ))
		erreur_860026286=i_set_art_str(g_iartout,$Tsymtmbmm::SGTQS, pt_SGTQS_860026286)

		# Champ ECC_FACT
		erreur_860026286=i_ajoutChampNum(g_iartout,$Tsymtmbmm::T4eccfact,$Tsymtmbmm::ECC_FACT,0)
		erreur_860026286=i_set_art_str(g_iartout,$Tsymtmbmm::ECC_FACT,pt_eccfact_860026286)

		# Champ HLAHM1
		SI (date_locale_860026286 != date_platine_860026286)
		ALORS
			erreur_860026286=i_ajoutChampNum(g_iartout,$Tsymtmbmm::T4hlahm1,$Tsymtmbmm::HLAHM1,0)
			erreur_860026286=i_set_art_field(g_iartout,$Tsymtmbmm::HLAHM1,date_locale_860026286)
		FINSI

		SI (EFFICACE_860026286 == 1 )
		ALORS
			#NBCOD=1

			#Champ NBCOD
			erreur_860026286=i_ajoutChampNum(g_iartout,$Tsymtmbmm::T4NBCOD,$Tsymtmbmm::NBCOD,0)
			erreur_860026286=i_set_art_field(g_iartout,$Tsymtmbmm::NBCOD,bCSV_860026286)

			# CHAMP CSV
			erreur_860026286 = i_ajoutChamp(g_iartout,"T4CSV","CSV",0x00)
			erreur_860026286 = i_format_str2(pt_buffer1_860026286,"%s%s",pt_C_CSV1_860026286 ,pt_OP_CSV1_860026286)
			erreur_860026286 = i_set_art_str( g_iartout,$Tsymtmbmm::CSV,pt_buffer1_860026286)

			SI (VGA_860026286)
			ALORS
				# Champ OPE_VGA
				erreur_860026286 = i_ajoutChampNum(g_iartout,$Tsymtmbmm::T4OPEVGA,$Tsymtmbmm::OPE_VGA,0)
				erreur_860026286 = i_set_art_str(g_iartout,$Tsymtmbmm::OPE_VGA,pt_VGA_OP_860026286)

				# Champ OFF_VGA
				erreur_860026286 = i_ajoutChampNum(g_iartout,$Tsymtmbmm::T4OFFVGA,$Tsymtmbmm::OFF_VGA,0)
				erreur_860026286 = i_set_art_str(g_iartout,$Tsymtmbmm::OFF_VGA,pt_VGA_OF_860026286)
			FINSI
		FINSI
	FINSI
	#########################################################################
	# Envoi vers IECC
	#########################################################################

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

	# G3R16 suppression ECC ALLOFACT / SC
FINSI

SI (bREDIST_860026286 == 1)
ALORS
	SAUT DISTRI_REDIST
FINSI

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

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

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

SI ( !i_ChercherCouranteECC(instCENTAUREVG_860026286) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers CENTAUREVG" )
	#ENDIF
	res_860026286 = i_stocke_art_iecc(g_iartout9, instCENTAUREVG_860026286)
FINSI

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

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

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

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

#-------------------------------------------------------------------------
# FERPV Cbb2 FO736
#-------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instFERPV_860026286) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers FERPV" )
	#ENDIF
	res_860026286 = i_stocke_art_iecc(g_iartout7, instFERPV_860026286)
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_860026286 = i_make_art_rej(g_iartin, g_iartout, code_errone_860026286)
res_860026286=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_860026286 = 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_860026286 == 0)
ALORS
	#---------------------
	#  Creation de l'ENVELOPPE Optionelle:
	# Contient le nom de l'EEC necessaire au message d'erreur de la redistribution
	# Creation de l'enveloppe
	# ICI G2R0CA
	SI ( ENVELOPPE_NOK_860026286 )
	ALORS
		#IFDEF trace_niv1 = 1
		trace("__FILE__:__LINE__ =====> Creation enveloppe REDISTRI")
		#ENDIF
		ENVELOPPE_NOK_860026286 = i_add_opt( "E_Tmbmma7dc" )
		#DREY G3R16 mise en conformite de la gestion de l'enveloppe
		# champ T1 (=>  0x14 pour la reconnaissance de l'enveloppe,
		# par l'arbre de reconnaissance Dopt )
		#res = i_set_attr_val_n( $E_Tmbmma7dc::T1, 0x14 )

		# Champ L1
		#res = i_set_attr_val_n( $E_Tmbmma7dc::L1, 0x0C )
	FINSI

	i_strcpy(pt_SGTQS_860026286,i_LireEECSGTQS(g_ieec))
	res_860026286 = i_set_attr_str_n( $E_Tmbmma7dc::Nom_EEC, pt_SGTQS_860026286)
	res_860026286 = i_get_attr_str_n($E_Tmbmma7dc::Nom_EEC, pt_SGTQS_860026286)
	res_860026286 = i_set_attr_val_n($E_Tmbmma7dc::DATE_M,date_locale_860026286)

	erreur_860026286 = i_PlvMessEmettre(8503,2,g_iartin,"",3,pt_LIBELREDIST_860026286,"Tmbmma7dc",pt_SGTQS_860026286)
FINSI

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

RETOUR TRAIT_OK

# fin de fichier
