FVERS = 2
REFOBJET : ID = 860027519 ; ID_INIT = 860026729 ; NOM = TwhaContact ; VERSION = V8 ; DATE = 17/04/15-07:41:42 ( 1429256502 ) ; CAT = 8 ; ETAT = 0 ; NB_FILS =1 ; ID_FILS = 860026233
ID_EST = 860000155
COMMENT = "#   15/04/2015 - DRE - G4R9C4 QC895 Maj des criteres de valorisation de LibZ1,LibZ2 + Maj valorisation de Z3 de BSS ---13/02/2015 - DRE - Creation"
CREATEUR = tire5420
# DEBUT_CORPS
PCODE_PERE=Pdistribution
############################################################################
#	Pcode de Distribution TwhaContact.src
#
# En entree :
#	Article : TwhaContact 	DC ISSU DE LA PFS WHA Orange Select
#
# En sortie :
#    		SYMPHONIE	- g_iartout6	- TsymTwhaContact
#		ALLEGRO_NEW	- g_iartout2	- TallegroUP_UR
#		BSS_PDZ		- g_iartout5	- TbssTwha
#
# Historique
#
#	13/02/2015 - DRE - Creation
#   09/03/2015 - THE - G4R9C2 QC888 champ duree pour Allegro_new
#   15/04/2015 - DRE - G4R9C4 QC895 Maj des criteres de valorisation de LibZ1,LibZ2 + Maj valorisation de Z3 de BSS
#
############################################################################
# Constantes
DEFINITION	C_ARTICLE		"TwhaContact"
DEFINITION	C_NUMTAB		1
DEFINITION	C_NUMTAB2		2
DEFINITION	C_ZONEMETRO		7
DEFINITION	C_NUMTABSEL		4
DEFINITION	C_InstBSS1		"BSS1_PDZ"
DEFINITION	C_InstBSS2		"BSS2_PDZ"
DEFINITION	C_TbssPresDiv		"TbssPresDiv"
DEFINITION	C_InstALLEGRO_NEW	"ALLEGRO_NEW"
DEFINITION	C_TsymTwhaContact 	"TsymTwhaContact"
DEFINITION 	C_InstSYMPH 		"SYMP"

DEFINITION 	C_CodEmet		"N57P"
DEFINITION	C_TallegroPE_PO		"TallegroPE_PO"
DEFINITION	C_TallegroUP_UR		"TallegroUP_UR"
DEFINITION	C_REFTRI		"/service/minitel"


# Variables fonctionnelles globales
REGISTRE	ENTIER		erreur
REGISTRE	ENTIER		code_errone 
REGISTRE	ENTIER		code_rejet
REGISTRE	ENTIER		ICAR_METRO
REGISTRE	ENTIER		ICAR_LOCAL
REGISTRE	ENTIER		ICAR_UTC
REGISTRE	ENTIER		NUMZONE
REGISTRE	ENTIER		EFFICACE
REGISTRE	ENTIER		instBSS
REGISTRE	ENTIER		b_distri_Allegro
REGISTRE	ENTIER		b_distri_BSS
REGISTRE	ENTIER		duree
REGISTRE 	ENTIER 		date_locale_fin
REGISTRE 	ENTIER 		ddebut
REGISTRE 	ENTIER 		dfin
REGISTRE	ENTIER		instALLEGRO_NEW
REGISTRE 	ENTIER 		b_PE_PO
REGISTRE 	ENTIER 		b_UP_UR
REGISTRE	ENTIER		instSYMPH

# Pointeurs
REGISTRE	POINTEUR	pt_temp
REGISTRE	POINTEUR	pt_IDUS_NUM
REGISTRE 	POINTEUR 	pt_MONTANT_HT
REGISTRE 	POINTEUR 	pt_ICAR_LOCAL
REGISTRE 	POINTEUR 	pt_TIME
REGISTRE 	POINTEUR 	pt_GEOGRAPHIC_ZONE
REGISTRE 	POINTEUR 	pt_ZONE_GEO
REGISTRE	POINTEUR	pt_CODPRES
REGISTRE	POINTEUR	pt_TYPPRES
REGISTRE	POINTEUR	pt_DEBCRED
REGISTRE 	POINTEUR 	pt_TypeOpServ
REGISTRE 	POINTEUR 	pt_LibZ1
REGISTRE 	POINTEUR 	pt_LibZ2
#QC895
#REGISTRE 	POINTEUR 	pt_LibZ3
REGISTRE 	POINTEUR 	pt_LibZ5
REGISTRE 	POINTEUR 	pt_LibZ6
REGISTRE 	POINTEUR 	pt_Devise

REGISTRE 	POINTEUR 	pt_DurAppServ
REGISTRE 	POINTEUR 	pt_CodEmet
REGISTRE	POINTEUR	pt_sgtqs
REGISTRE	POINTEUR	pt_ECCFACT


############################
# Affectation Pointeurs    #
############################
pt_temp			= "pt_temp111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
pt_IDUS_NUM		= "pt_IDUS_NUM11111111111111111111111111111111"
pt_MONTANT_HT		= "pt_MONTANT_HT6666666666666666666666666666666"
pt_ICAR_LOCAL		= "pt_ICAR_LOCAL7777777777777777777777777"
pt_TIME			= "pt_TIME8888888888888888888888888888888"
pt_GEOGRAPHIC_ZONE	= "pt_GEOGRAPHIC_ZONE888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888"
pt_ZONE_GEO		= "pt_ZONE_GEO9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"
pt_CODPRES		= "pt_CODPRES2222222222222222222"
pt_TYPPRES		= "pt_TYPPRES3333333333333333"
pt_DEBCRED		= "pt_DEBCRED44444444444444"
pt_TypeOpServ		= "pt_TypeOpServ"
pt_LibZ1		= "pt_LibZ1pt_LibZ1"
pt_LibZ2             	= "pt_LibZ2pt_LibZ2"
#QC895
#pt_LibZ3             	= "pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3pt_LibZ3"
pt_LibZ5             	= "pt_LibZ5pt_LibZ5pt_LibZ5pt_LibZ5"
pt_LibZ6             	= "pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6pt_LibZ6"
pt_Devise		= "pt_Devise"

pt_DurAppServ		= "pt_DurAppServ"
pt_CodEmet		= "pt_CodEmet"
pt_sgtqs		= "pt_sgtqspt_sgtqspt_sgtqs"
pt_ECCFACT		= "pt_ECCFACTpt_ECCFACT"


############################
# Initialisation Variables #
############################
instBSS			= 0
NUMZONE			= 0
b_distri_Allegro 	= 0
b_distri_BSS 		= 0
duree 			= 0
date_locale_fin 	= 0
ddebut 			= 0
dfin 			= 0
b_PE_PO			= 0
b_UP_UR			= 0
instSYMPH		= 0
instALLEGRO_NEW		= 0


############################
# Initialisation Pointeurs #
############################
i_strcpy(pt_temp,"")
i_strcpy(pt_IDUS_NUM,"")
i_strcpy(pt_MONTANT_HT,"")
i_strcpy(pt_ICAR_LOCAL,"")
i_strcpy(pt_TIME,"")
i_strcpy(pt_GEOGRAPHIC_ZONE,"")
i_strcpy(pt_ZONE_GEO,"")
i_strcpy(pt_CODPRES,"")
i_strcpy(pt_TYPPRES,"")
i_strcpy(pt_DEBCRED,"")
i_strcpy(pt_TypeOpServ,"")
i_strcpy(pt_LibZ1,"")
i_strcpy(pt_LibZ2,"")
#QC895
#i_strcpy(pt_LibZ3,"")
i_strcpy(pt_LibZ5,"")
i_strcpy(pt_LibZ6,"")        
i_strcpy(pt_Devise,"") 

i_strcpy(pt_DurAppServ,"") 
i_strcpy(pt_CodEmet,"N57P")       
i_strcpy(pt_sgtqs,"") 
i_strcpy(pt_ECCFACT,"")       


##################################################################
# Debut Distribution
##################################################################

# Duplication article entree 
erreur = i_dup_art_id(g_iartin, g_iartout)
erreur = i_cree_art("Conversion",g_iartout10)

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

EFFICACE = 2

##################################################################
# Recuperation des champs
##################################################################

# SGTQS
i_strcpy(pt_sgtqs,i_LireEECSGTQS( g_ieec ))

erreur = i_get_art_str(g_iartout,$TwhaContact::CodPres,pt_CODPRES)
erreur = i_get_art_str(g_iartout,$TwhaContact::TypPres,pt_TYPPRES)
erreur = i_get_art_str(g_iartout,$TwhaContact::DebCre,pt_DEBCRED)

erreur = i_get_art_str(g_iartout,$TwhaContact::MontantHT,pt_MONTANT_HT)
erreur = i_get_art_str(g_iartout,$TwhaContact::Devise,pt_Devise)


#DUREE
SI (i_valid_field_n(g_iartout, $TwhaContact::DurAppServ) == 1)
ALORS
	erreur = i_get_art_str(g_iartout,$TwhaContact::DurAppServ,pt_DurAppServ)
FINSI

#CodEmet
SI (i_valid_field_n(g_iartout, $TwhaContact::CodEmet) == 1)
ALORS
	erreur = i_get_art_str(g_iartout,$TwhaContact::CodEmet,pt_CodEmet)
FINSI


# creation et remplissage de l'enveloppe
erreur = i_add_opt( "EnomEEC" )
ddebut = i_get_art_field(g_iartout,$TwhaContact::ddebut)
erreur = i_set_attr_val( "date_Metro_deb", ddebut)

dfin = i_get_art_field(g_iartout,$TwhaContact::dfin)
erreur = i_set_attr_val( "date_Metro_fin", dfin)

#pt_IDUS_NUM, b_distri_Allegro, b_distri_BSS
SI (i_valid_field_n(g_iartout, $TwhaContact::AID_NBH) == 1)
ALORS
	erreur = i_get_art_str(g_iartout,$TwhaContact::AID_NBH,pt_IDUS_NUM)
	b_distri_Allegro = 1
SINON
	SI (i_valid_field_n(g_iartout, $TwhaContact::AID_BSS) == 1)
	ALORS
		erreur = i_get_art_str(g_iartout,$TwhaContact::AID_BSS,pt_IDUS_NUM)
		b_distri_BSS = 1
	FINSI
FINSI

#TypeOpServ
SI (i_valid_field_n(g_iartout, $TwhaContact::TypeOpServ) == 1)
ALORS
	erreur = i_get_art_str(g_iartout,$TwhaContact::TypeOpServ,pt_TypeOpServ)
FINSI


#QC895
SI i_strcmp(pt_TYPPRES,"UR") == 0
ALORS
	#LibZ1
	SI i_valid_field_n(g_iartout,$TwhaContact::startPeriod)
	ALORS
		erreur = i_get_art_str(g_iartout,$TwhaContact::startPeriod,pt_LibZ1)
	FINSI

	#LibZ2
	SI i_valid_field_n(g_iartout,$TwhaContact::endPeriod)
	ALORS
		erreur = i_get_art_str(g_iartout,$TwhaContact::endPeriod,pt_LibZ2)
	FINSI
FINSI
#\QC895


#LibZ6
SI i_valid_field_n(g_iartout,$TwhaContact::LibProdServ)
ALORS
	erreur = i_get_art_str(g_iartout,$TwhaContact::LibProdServ,pt_LibZ6)
#QC895
#	erreur = i_get_art_str(g_iartout,$TwhaContact::LibProdServ,pt_LibZ3)
#	SI i_strlen(pt_LibZ3) > 21
#	ALORS
#		i_get_sub_str( pt_LibZ3, 0, 20, pt_LibZ3 )
#	FINSI	
FINSI

#LibZ5
SI i_valid_field_n(g_iartout,$TwhaContact::EdiProdServ)
ALORS
	erreur = i_get_art_str(g_iartout,$TwhaContact::EdiProdServ,pt_LibZ5)
FINSI


#DATES
ICAR_METRO = i_get_attr_val("date_Metro_deb" )
ICAR_UTC = i_DHgetCe2gTime(C_NUMTAB,C_ZONEMETRO,ICAR_METRO)
duree = i_get_art_field(g_iartout,$TwhaContact::dduree)

erreur = i_get_art_str(g_iartout,$TwhaContact::TimeZone,pt_GEOGRAPHIC_ZONE)
erreur = i_recupererValeur(pt_GEOGRAPHIC_ZONE, pt_temp, i_strlen(pt_GEOGRAPHIC_ZONE),'/')
i_strcpy(pt_ZONE_GEO,UCASE(pt_GEOGRAPHIC_ZONE))
i_replace_str(pt_ZONE_GEO," ","_",pt_ZONE_GEO)

erreur = i_set_art_str(g_iartout10, $Conversion::ZONE_GEO,pt_ZONE_GEO)

NUMZONE = i_DHgetZoneID(C_NUMTABSEL, g_iartout10)

SI NUMZONE == 0
ALORS
	#trace("##### Zone Grographique inconnue ########")
	code_rejet = 0xA080
	erreur = i_format_str2( pt_temp , " La zone geographique <%s> est inconnue dans la Table de Selection des Decalages Horaires <%s>",pt_ZONE_GEO,"zones.4")
	erreur = i_PlvMessEmettre( 8612, 2, g_iartin,"", 3,code_rejet, C_ARTICLE, pt_temp)
	SAUT DISTRI_ERR
FINSI
#trace1("################## NUMZONE = >%d< ####################",NUMZONE)

ICAR_LOCAL = i_DHgetLocalTime(C_NUMTAB2,NUMZONE, ICAR_METRO)

date_locale_fin = ICAR_LOCAL + duree

erreur = i_set_attr_val("date_Locale_fin", date_locale_fin)

##################################################################
# Recherche des instances des ECC  
##################################################################
#---------------------------------------------------------------------------
#  SYMPHONIE
#---------------------------------------------------------------------------

instSYMPH=i_LireInstanceECC(C_InstSYMPH)
#trace1("instSYMPH=<%d>",instSYMPH)
SI (!instSYMPH )
ALORS
	trace("pas d instance SYMPHONIE")
	code_errone = 0xA0B0
	code_errone = code_errone + EFFICACE
	erreur = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone,C_InstSYMPH,C_ARTICLE)
	SAUT DISTRI_ERR
FINSI

#ALLEGRO_NEW
instALLEGRO_NEW = i_LireInstanceECC(C_InstALLEGRO_NEW)

SI (!instALLEGRO_NEW)
ALORS
	#trace("Pas d'instance pour ALLEGRO_NEW !")
	erreur = i_PlvMessEmettre(8501,2,g_iartin,"",3,C_InstALLEGRO_NEW,C_ARTICLE,g_ieec)
	SAUT DISTRI_ERR
FINSI	
#trace1("__FILE__:__LINE__ : instALLEGRO_NEW=<%d>",instALLEGRO_NEW)

#BSS_PDZ
SI b_distri_BSS  == 1
ALORS
	SI i_strplcmp(pt_IDUS_NUM,"1",0,1) == 0
	ALORS
		instBSS = i_LireInstanceECC(C_InstBSS1)
		i_strcpy(pt_ECCFACT, C_InstBSS1)
		SI (!instBSS)
		ALORS
			#trace("Pas d'instance pour BSS_PDZ !")
			erreur = i_PlvMessEmettre(8501,2,g_iartin,"",3,C_InstBSS1,C_ARTICLE,g_ieec)
			SAUT DISTRI_ERR
		FINSI
	SINON
		SI i_strplcmp(pt_IDUS_NUM,"2",0,1) == 0
		ALORS
			instBSS = i_LireInstanceECC(C_InstBSS2)
			i_strcpy(pt_ECCFACT, C_InstBSS2)
			SI (!instBSS)
			ALORS
				#trace("Pas d'instance pour BSS_PDZ !")
				erreur = i_PlvMessEmettre(8501,2,g_iartin,"",3,C_InstBSS2,C_ARTICLE,g_ieec)
				SAUT DISTRI_ERR
			FINSI
		FINSI
	FINSI
FINSI

#trace1("__FILE__:__LINE__ : instBSS = <%d>",instBSS)

##################################################################
# CRITERES DE DISTRIBUTION
##################################################################

# ALLEGRO_PDZ

SI b_distri_Allegro
ALORS
	i_strcpy(pt_ECCFACT,"ALLEGRO")
	erreur = i_AjouterCouranteECC(instALLEGRO_NEW)
FINSI 

SI b_distri_BSS
ALORS
	erreur = i_AjouterCouranteECC(instBSS)
FINSI 

# Ajout de SYMPHONIE a la liste (tous les DC)
# Tous les appels sont pour SYMPHONIE

erreur = i_AjouterCouranteECC(instSYMPH)


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

erreur=i_ValiderListeECC( 0, 0, 0, 0)

##################################################################
# Mises au format
##################################################################


#---------------------------------------------------------------------------
# Mises au format ECC SYMPHONIE
#---------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instSYMPH) )
ALORS
	#trace("[Tpppwl2_dis] ppp lot2 duplication vers symphonie")
	# si i_dup_art_id echoue, cad  retour != 0
	SI (i_dup_art_id(g_iartout,g_iartout6))
	ALORS
		#trace("[Tpppwl2_dis]ERREUR envoi distri errone i_dup_art_id g_iartout6")
		erreur = i_PlvMessEmettre(8502,2,g_iartin,"",3,"pour Symphonie",C_ARTICLE,g_ieec)
		SAUT DISTRI_ERR
	FINSI

	
	# si i_rename_art echoue, cad  retour != 0
	SI (i_rename_art(g_iartout6,C_TsymTwhaContact))
	ALORS
		#trace("[Tpppwl2_dis]ERREUR envoi distri errone i_rename_art g_iartout6 ")
		erreur = i_PlvMessEmettre(8502,2,g_iartin,"",3,"pour Symphonie",C_ARTICLE,g_ieec)
		SAUT DISTRI_ERR
	FINSI

	#champ en ajout
	erreur=  i_ajoutChamp(g_iartout6,"T4sgtqs","SGTQS" ,0)
	erreur=  i_ajoutChamp(g_iartout6,"T4eccfact","ECC_FACT" ,0)

	# SGTQS
	erreur = i_set_art_str(g_iartout6, $TsymTwhaContact::SGTQS, pt_sgtqs)

	# ECC FACT
	erreur = i_set_art_str(g_iartout6, $TsymTwhaContact::ECC_FACT, pt_ECCFACT)

	# sup des champs non demandes par symphonie
	erreur = i_supprChamp(g_iartout6, "T4date")
	

FINSI


#--------------------------------------------------------------------------
# ALLEGRO_NEW
#--------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instALLEGRO_NEW) )
ALORS

	#mise au format TallegroUP_UR
	SI ( i_dup_art( g_iartout, C_TallegroUP_UR, g_iartout2 ) )
	ALORS
		code_errone = 0xA0D1
		erreur = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone,C_TallegroUP_UR,C_ARTICLE)
		SAUT DISTRI_ERR
	FINSI
	#CODART
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::CODART,"E1")
	
	#AID
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::AID,pt_IDUS_NUM)
	
	#INDAID
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::INDAID,"1")
		
	#CODPRES
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::CODPRES,pt_CODPRES)
	
	#DEBCRED
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::DEBCRED,pt_DEBCRED)

	#DATPREST
	erreur = i_set_art_field(g_iartout2,$TallegroUP_UR::DATPREST,ICAR_LOCAL)

	#CODEMET
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::CODEMET,pt_CodEmet)

	#MONTANT
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::MONTANT,pt_MONTANT_HT)

	#DEVISE
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::DEVISE,pt_Devise)
	
	#DUREE 
	erreur = i_format_str2(pt_temp,"%s%s","0000000",pt_DurAppServ)
#G4R9C2 QC888
	i_strcpy(pt_DurAppServ, pt_temp )
	i_get_sub_str(pt_DurAppServ,-7,-1,pt_DurAppServ)
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::DUREE,pt_DurAppServ)

	#HEURE
	erreur = i_set_art_field(g_iartout10,$Conversion::DATE_ASC,ICAR_LOCAL)

	erreur = i_get_art_str(g_iartout10, $Conversion::DATE_STR,pt_ICAR_LOCAL)
	i_get_sub_str(pt_ICAR_LOCAL,8,11,pt_TIME)
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::HEURE,pt_TIME)
	
	#Z1
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::Z1,pt_LibZ1)

	#Z2
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::Z2,pt_LibZ2)
			
	#Z5
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::Z5,pt_LibZ5)

	#Z6
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::Z6,pt_LibZ6)
	
	#TYP_OP
	erreur = i_set_art_str(g_iartout2,$TallegroUP_UR::TYP_OP,pt_TypeOpServ)

	#FILLER filler de 2 caracteres a espace
	

FINSI


#-----------------------------------------------------------------
# BSS_NEW
#-----------------------------------------------------------------

#trace("Stockage vers BSS_PDZ")

SI !i_ChercherCouranteECC(instBSS)
ALORS
	SI ( i_dup_art( g_iartout, C_TbssPresDiv, g_iartout5 ) )
	ALORS
		code_errone = 0xA0D1
		erreur = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone,C_TbssPresDiv,C_ARTICLE)
		SAUT DISTRI_ERR
	FINSI

	#CODART
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::CODART,"E1")

	#NOLIG

	#CODPRES
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::CODPRES,pt_CODPRES)

	#DEBCRED
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::DEBCRED,pt_DEBCRED)

	#DATPREST
	erreur = i_set_art_field(g_iartout5,$TbssPresDiv::DATPREST,ICAR_LOCAL)

	#CODEMET
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::CODEMET,C_CodEmet)

	#MONTANT
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::MONTANT,pt_MONTANT_HT)

	#DEVISE
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::DEVISE,pt_Devise)

	#HEURE Heure locale (HHMM)
	erreur = i_set_art_field(g_iartout10,$Conversion::DATE_ASC,ICAR_LOCAL)

	erreur = i_get_art_str(g_iartout10, $Conversion::DATE_STR,pt_ICAR_LOCAL)
	i_get_sub_str(pt_ICAR_LOCAL,8,11,pt_TIME)
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::HEURE,pt_TIME)

	#Z1 
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::Z1,pt_LibZ1)
	
	#Z2 
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::Z2,pt_LibZ2)

#QC895
#	#Z3 
#	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::Z3,pt_LibZ3)

	#Z4 ";;", cadre a gauche et complete par des espaces.
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::Z4,";;")

	#REFEMET 
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::REFEMET,pt_IDUS_NUM)

	#REFTRI "/service/ip/fti", cadre a gauche et complete par des espaces.
	erreur = i_set_art_str(g_iartout5,$TbssPresDiv::REFTRI,C_REFTRI)

	#IDENT

	#NUMPREST
FINSI

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

#---------------------------------------------------------------------------
# SYMPHONIE ENVOIE (g_iartout6)
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instSYMPH) )
ALORS
	erreur = i_stocke_art_iecc(g_iartout6,instSYMPH)
	trace("Emission TwhaContact vers SYMPHONIE")
FINSI


#-----------------------------------------------------------------
# ALLEGRO_NEW
#-----------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instALLEGRO_NEW) )
ALORS
	erreur=i_stocke_art_iecc(g_iartout2, instALLEGRO_NEW)
	trace("Emission vers ALLEGRO_NEW reussie")
FINSI

#-----------------------------------------------------------------
# BSS_PDZ
#-----------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instBSS) )
ALORS
	erreur=i_stocke_art_iecc(g_iartout5, instBSS)
	trace("Emission vers BSS_PDZ reussie")
FINSI

#=======================================================================================
# FIN DISTRIBUTION
#=======================================================================================

#trace2( "Fin du Pcode de distribution %s ",C_ARTICLE,"" )

RETOUR TRAIT_OK

##################################################################
# POINT de branchement : stockage PT_ERRONE
##################################################################

POINT DISTRI_ERR

#IFDEF trace_niv1 = 1
trace2( "Stockage de l'article %s en ERRONE",C_ARTICLE,"" )
#ENDIF

erreur = i_make_art_rej(g_iartin, g_iartout7, code_rejet)
erreur = i_stocke_art(g_iartout7,0,PT_ERRONE,0)

RETOUR TRAIT_OK

# FIN_CORPS
