DEFINITION UN_ZERO_860026392 "0"
DEFINITION DEUX_ZERO_860026392 "00"
DEFINITION VALEUR_UT_860026392 103
DEFINITION C_str_FF_860026392 "FF"
DEFINITION C_str_1_860026392 "1"
DEFINITION C_str_3_860026392 "3"
DEFINITION C_str_001_860026392 "001"
DEFINITION C_str_004_860026392 "004"
DEFINITION C_str_005_860026392 "005"
DEFINITION C_str_006_860026392 "006"
DEFINITION C_str_star1_860026392 "B1"
DEFINITION C_str_star2_860026392 "B2"
DEFINITION C_str_AAP_860026392 "AAP"
DEFINITION C_str_AFT_860026392 "AFT"
DEFINITION C_str_CAT_860026392 "CAT"
DEFINITION C_str_CFT_860026392 "CFT"
DEFINITION C_str_CAA_860026392 "CAA"
DEFINITION C_str_CIN_860026392 "CIN"
DEFINITION C_str_CNA_860026392 "CNA"
DEFINITION C_str_ILASdef_860026392 "000000000FFFFFFF"
DEFINITION C_Article_860026392 "TcarteOSA"
DEFINITION C_InstSYMP_860026392 "SYMP"
DEFINITION C_InstSSCC_860026392 "SSCC"
DEFINITION C_InstSSCCS_860026392 "SSCCS"
DEFINITION C_InstENTRCA_860026392 "ENTRCA"
DEFINITION C_TsymTcp4dcOSA_860026392 "TsymTcp4dcOSA"
DEFINITION C_Tsscc_860026392 "Tsscc_OSA"
DEFINITION C_Tssccs_860026392 "Tssccs_OSA"
DEFINITION C_Tentr28_860026392 "Tentr28"
DEFINITION TYPCTR_Fact_Loc_860026392 16
DEFINITION TYPCTR_Fact_RI_860026392 17
DEFINITION C_DATCPS_860026392 "DATCPS"
DEFINITION TD_SVA_860026392 9
DEFINITION C_INST_ALICE_860026392 "ALICE"
DEFINITION C_REFMAJ2G_860026392 "MAJ2G"
DEFINITION C_InstTRAFIC_860026392 "TRAFIC"
DEFINITION C_TtraficN_860026392 "TtraficN"
DEFINITION NUMTAB_GMT_860026392 1
DEFINITION NUMTAB_METRO_860026392 0
DEFINITION ZONE_METRO_860026392 7
REGISTRE ENTIER instSYMPH_860026392
REGISTRE ENTIER instEBILL_860026392
REGISTRE ENTIER instALLEGRO_860026392
REGISTRE ENTIER instSSCC_860026392
REGISTRE ENTIER instSSCCS_860026392
REGISTRE ENTIER instENTRCA_860026392
REGISTRE ENTIER erreur_860026392
REGISTRE ENTIER res_860026392
REGISTRE ENTIER bitA_860026392
REGISTRE ENTIER bitB_860026392
REGISTRE ENTIER VCP1_860026392
REGISTRE ENTIER VCDR2_860026392
REGISTRE ENTIER ARRONDI_860026392
REGISTRE ENTIER CODCIRDR_860026392
REGISTRE ENTIER CODCIR_860026392
REGISTRE ENTIER bCODCIR_860026392
REGISTRE ENTIER bCODCIRDR_860026392
REGISTRE ENTIER DUREE_860026392
REGISTRE ENTIER code_errone_860026392
REGISTRE ENTIER TYPCTR_860026392
REGISTRE ENTIER b_SCOM_CFT_860026392
REGISTRE ENTIER b_SCOM_AFT_860026392
REGISTRE ENTIER b_SCOM_CAT_860026392
REGISTRE ENTIER b_SCOM_AAP_860026392
REGISTRE ENTIER b_Fact_CPS_Loc_860026392
REGISTRE ENTIER Date_CPS_860026392
REGISTRE ENTIER longueur_860026392
REGISTRE ENTIER b_ALICE_860026392
REGISTRE ENTIER bREDIST_ALICE_860026392
REGISTRE ENTIER val_860026392
REGISTRE ENTIER bREDIST_MAJ2G_860026392
REGISTRE ENTIER HLAHM1_860026392
REGISTRE ENTIER ddebut_860026392
REGISTRE ENTIER EFFICACE_860026392
REGISTRE ENTIER instALICE_860026392
REGISTRE ENTIER CDEUR_old_860026392
REGISTRE ENTIER cpt_RDT_860026392
REGISTRE ENTIER ICAR_METRO_FIN_860026392
REGISTRE ENTIER ICAR_METRO_860026392
REGISTRE ENTIER ICAR_UTC_860026392
REGISTRE ENTIER DEDE_INF_860026392
REGISTRE ENTIER instTRAFIC_860026392
REGISTRE ENTIER b_Fact_CPS_RI_860026392
REGISTRE POINTEUR pt_SGTQS_860026392
REGISTRE POINTEUR pt_NomEccFact_860026392
REGISTRE POINTEUR pt_BUF40_860026392
REGISTRE POINTEUR pt_buffer_860026392
REGISTRE POINTEUR pt_CODCIRDA_860026392
REGISTRE POINTEUR pt_CODCIRA_860026392
REGISTRE POINTEUR pt_TEMP1_860026392
REGISTRE POINTEUR pt_TYPE_EDIT_860026392
REGISTRE POINTEUR pt_CODE_TARIF_860026392
REGISTRE POINTEUR pt_MESSAGE_860026392
REGISTRE POINTEUR pt_NDE_860026392
REGISTRE POINTEUR pt_LIBELREDIST_860026392
REGISTRE POINTEUR pt_InfoCompl_860026392
REGISTRE POINTEUR pt_adr_NDRTC_860026392
############################################################################
#
# FICHIER     : TcarteOSA.src
#
# Distribution
#
# VERSION     :
#
# AUTEUR      :DRE
#
# CREE le     : 23/02/07
#
# MODIFIE le  :
#
# DESCRIPTION : Communication emise par le RI OSA-PARLAY Carte FT
#
# HISTORIQUE  :
#	      Reprise du pcode Tcp4dc du RI CARTE
#
# EN ENTREE :
#    Article : Tcp4dcOSA
#    Header: Tcp4dcOSA   (domaine )
#
# EN SORTIE:
#    TRAFIC	g_iartout2
#    SYMPHONIE
#    SSCC
#    SSCCS
#    ENTROPI
#
#   04/07/14 - THE - Creation G4R7 lot2 CplusS + Envoi a TRAFIC 
#
############################################################################
#
#A savoir :
# artilce Conversion : construit uniquement lors de la mise au format ALLEGRO
# Tcp4dcOSA::TYPCTR est interne au programme
# les T4codcirdr et T4codcir sont calcules dans ma mise au format SYMPHONIE
#      mais il sont aussi utilises par ALLEGRO
#
############################################################################
# Declarations
############################################################################

#Constantes pour message d alarme
#G4R7 Lot2


#########################################################
# Variables fonctionnelles
# Numeros instances
#divers
#G4R7 Lot2


#########################################################
# DECLARATION POINTEUR
#G4R7 Lot2


#########################################################
#Affectation
pt_SGTQS_860026392 	= "222222222222222222"
pt_BUF40_860026392	= "4040404040404040404040404040404040404040"
pt_NomEccFact_860026392	= "777777777777777777777"
pt_buffer_860026392	= "6666666666666666666666666"
#pt_res		= "555555555555"
#NUM_DE 		= "3333333333333333333333333"
#NUM_LA 		= "4444444444444444444444444"
pt_CODCIRDA_860026392 	= "53453546"
pt_CODCIRA_860026392 	= "78474546"
#G4R7 Lot2
pt_TEMP1_860026392	 = "pt_TEMP101234567890123456789"
pt_TYPE_EDIT_860026392 = "pt_TYPE_EDIT"
pt_CODE_TARIF_860026392= "pt_CODE_TARIF"
pt_MESSAGE_860026392	 = "pt_MESSAGE123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
pt_NDE_860026392		 = "pt_NDE54321098765432109876"
pt_LIBELREDIST_860026392 = "pt_LIBELREDIST5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
pt_InfoCompl_860026392 = "pt_InfoCompl3210987654"
pt_adr_NDRTC_860026392 = "pt_adr_NDRTC6543210987"


#########################################################
# Initialisation
instSYMPH_860026392=0
instEBILL_860026392=0
instALLEGRO_860026392=0
instSSCC_860026392=0
instSSCCS_860026392=0
instENTRCA_860026392=0
CODCIRDR_860026392 = 0xFF
CODCIR_860026392 = 0xFF
VCP1_860026392=0
VCDR2_860026392=0
ARRONDI_860026392=0
TYPCTR_860026392 = 0
b_SCOM_AAP_860026392 = 0
b_SCOM_AFT_860026392 = 0
b_SCOM_CAT_860026392 = 0
b_SCOM_CFT_860026392 = 0
bCODCIR_860026392 = 0
bCODCIRDR_860026392 = 0
#G4R7 Lot2
b_Fact_CPS_Loc_860026392 = 0
b_Fact_CPS_RI_860026392  = 0
Date_CPS_860026392       = 0
longueur_860026392       = 0
b_ALICE_860026392        = 0
bREDIST_ALICE_860026392  = 0
val_860026392            = 0
bREDIST_MAJ2G_860026392  = 0
HLAHM1_860026392         = 0
ddebut_860026392         = 0
EFFICACE_860026392       = 1
instALICE_860026392      =-1
CDEUR_old_860026392      = 0
ICAR_METRO_FIN_860026392 = 0
ICAR_METRO_860026392     = 0
ICAR_UTC_860026392       = 0
DEDE_INF_860026392       = 0


# VerifPcode
i_strcpy(pt_SGTQS_860026392, "")
i_strcpy(pt_NomEccFact_860026392, "")
i_strcpy(pt_BUF40_860026392, "")
i_strcpy(pt_buffer_860026392, "")
i_strcpy(pt_CODCIRDA_860026392, "")
i_strcpy(pt_CODCIRA_860026392, "")
#G4R7 Lot2
i_strcpy(pt_TEMP1_860026392, "")
i_strcpy(pt_TYPE_EDIT_860026392, "")
i_strcpy(pt_CODE_TARIF_860026392, "")
i_strcpy(pt_MESSAGE_860026392, "")
i_strcpy(pt_NDE_860026392, "")
i_strcpy(pt_LIBELREDIST_860026392, "")
i_strcpy(pt_InfoCompl_860026392, "")


###########################################################################################
#============================================================
trace("## Debut Pcode Distribution - [ __FILE__ ] ")
#============================================================

erreur_860026392 = i_dup_art_id(g_iartin, g_iartout)

############################################################################
#       Envoi en Recyclage
############################################################################

SI (g_ipt==PT_RECYCLE)
ALORS
	trace("==== Envoi en recyclage ====")
	res_860026392 = i_stocke_art( g_iartin, 0, PT_RECYCLE, 0 )
	RETOUR TRAIT_OK
FINSI

############################################################################
# Test redistribution
############################################################################

cpt_RDT_860026392 = i_LireRedistCpt()


############################################################################
# Test redistribution
############################################################################

ICAR_METRO_FIN_860026392 = i_get_attr_val_n($Ecarte::Hdfin)
DUREE_860026392 = i_get_attr_val_n($Ecarte::Hduree)
HLAHM1_860026392 = i_get_art_field( g_iartout, $Tcp4dcOSA::HLAHM1)
ddebut_860026392 = i_get_art_field( g_iartout, $Tcp4dcOSA::ddebut)

ICAR_METRO_860026392 = ICAR_METRO_FIN_860026392 - DUREE_860026392

ICAR_UTC_860026392 = i_DHgetCe2gTime(NUMTAB_GMT_860026392, ZONE_METRO_860026392, ICAR_METRO_860026392)


SI (i_valid_field_n(g_iartout,$Tcp4dcOSA::TYPCTR))
ALORS
	TYPCTR_860026392 = i_get_art_field( g_iartout, $Tcp4dcOSA::TYPCTR)
	erreur_860026392 = i_supprChamp(g_iartout, "T4typctr")
FINSI

SI TYPCTR_860026392 == TYPCTR_Fact_Loc_860026392
ALORS
	b_Fact_CPS_Loc_860026392 = 1
FINSI

SI TYPCTR_860026392 == TYPCTR_Fact_RI_860026392
ALORS
	b_Fact_CPS_RI_860026392  = 1
FINSI

SI b_Fact_CPS_Loc_860026392 || b_Fact_CPS_RI_860026392
ALORS
	i_strcpy(pt_TEMP1_860026392, i_get_tab_field( "TDATCPS", ICAR_UTC_860026392, C_DATCPS_860026392 ))

	erreur_860026392 = i_cree_art("Conversion",g_iartout13)
	erreur_860026392 = i_set_art_str (g_iartout13,$Conversion::DATE_STR,pt_TEMP1_860026392)
	Date_CPS_860026392 = i_get_art_field(g_iartout13, $Conversion::DATE_ASC)

	SI ddebut_860026392 < Date_CPS_860026392
	ALORS
		erreur_860026392 = i_format_str2(pt_MESSAGE_860026392," AR <%s> avec date DC inferieure a la date d'activation <%s> de la facturation CPS",pt_NDE_860026392,pt_TEMP1_860026392)
		code_errone_860026392 = 0xA080
		code_errone_860026392 = code_errone_860026392 + EFFICACE_860026392
		erreur_860026392 = i_PlvMessEmettre( 8599, 1, g_iartout,"", 3,code_errone_860026392, C_Article_860026392, pt_MESSAGE_860026392 )
		SAUT DISTRI_ELM
	SINON
		#######################################
		#  Soumission de la requete de consultation d'une table de distribution ALICE
		#######################################

		erreur_860026392 = i_get_art_str( g_iartout, $Tcp4dcOSA::DECO_NUM,pt_NDE_860026392)

		SI i_strplcmp (pt_NDE_860026392,"0",0,1) == 0
		ALORS
			i_get_sub_str(pt_NDE_860026392,1,-1,pt_NDE_860026392)
		FINSI
		longueur_860026392 = i_conv_ascii_dcb (pt_NDE_860026392, pt_TEMP1_860026392)

		SI (i_EnvoiReqConsTabDist( TD_SVA_860026392,ICAR_UTC_860026392,pt_TEMP1_860026392,longueur_860026392,0,1) != 0)
		ALORS
			#trace("Erreur i_EnvoiReqConsTabDist ALICE")
			bREDIST_ALICE_860026392 = 1
			i_strcpy(pt_LIBELREDIST_860026392,"Echec sur i_EnvoiReqConsTabDistDouble ALICE ")
		FINSI

		#######################################
		# Recherche de l'instance ECC ALICE
		#######################################
		instALICE_860026392 = i_LireInstanceECC(C_INST_ALICE_860026392)
		SI (!instALICE_860026392)
		ALORS
			#trace("Pas d'instance pour ALICE !")
			erreur_860026392 = i_PlvMessEmettre(8501,1,g_iartout,"",3,C_INST_ALICE_860026392,C_Article_860026392,g_ieec)
			SAUT DISTRI_ERR
		FINSI

		#######################################
		# Lecture Resultat requete ALICE
		#######################################
		erreur_860026392 = i_LireReqConsTabDist()
		SI ( erreur_860026392 != 0 )
		ALORS
			#trace1( "Erreur i_LireReqConsTabDist ALICE: <%d>", erreur)
			bREDIST_ALICE_860026392 = 1
			i_strcpy(pt_LIBELREDIST_860026392,"Echec sur i_LireReqConsTabDistDouble ALICE ")
		FINSI
		val_860026392 = i_LireInfoECC( instALICE_860026392, 0 )

		SI (val_860026392 != 0)
		ALORS
			# AR present dans ALICE
			erreur_860026392 = i_LireChaineInfo( val_860026392, 0, 4, pt_buffer_860026392 )
			SI i_strcmp(pt_buffer_860026392,"") != 0
			ALORS
				i_strcpy(pt_CODE_TARIF_860026392,pt_buffer_860026392 )
				b_ALICE_860026392 = 1
			SINON
				# info complementaire CODE_TARIF vide
				bREDIST_ALICE_860026392 = 1
				erreur_860026392 = i_format_str2(pt_LIBELREDIST_860026392," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NDE_860026392,0)
			FINSI

			erreur_860026392 = i_LireChaineInfo( val_860026392, 4, 1, pt_buffer_860026392 )
			SI i_strcmp(pt_buffer_860026392,"") != 0
			ALORS
				i_strcpy(pt_TYPE_EDIT_860026392,pt_buffer_860026392)
				b_ALICE_860026392 = 1
			SINON
				# info complementaire TYPE_EDIT vide
				bREDIST_ALICE_860026392 = 1
				erreur_860026392 = i_format_str2(pt_LIBELREDIST_860026392," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NDE_860026392,0)
			FINSI
		SINON
			bREDIST_ALICE_860026392 = 1
			erreur_860026392 = i_format_str2(pt_LIBELREDIST_860026392," AR <%s> non trouve dans ALICE",pt_NDE_860026392,0)
		FINSI
	FINSI
FINSI


SI ( i_valid_field_n(g_iartout,$Tcp4dcOSA::SCOM_VAL) )
ALORS
	SI g_iartout.SCOM_VAL!NELEM > 7
	ALORS
		SI ( (g_iartout.SCOM_VAL[7] & 0x04) == 0 )
		ALORS
			SI ( (g_iartout.SCOM_VAL[2] & 0x02) == 0 )
			ALORS
				b_SCOM_CFT_860026392 = 1
			SINON
				b_SCOM_AFT_860026392 = 1
			FINSI
		SINON
			SI ( (g_iartout.SCOM_VAL[2] & 0x02) == 0 )
			ALORS
				b_SCOM_CAT_860026392 = 1
			SINON
				b_SCOM_AAP_860026392 = 1
			FINSI
		FINSI
	FINSI
FINSI


############################################################################
# Variables Fonctionnelles Globales
############################################################################

#----------------------------------------------------------------------------------------------------
# Variable fonctionnelle VCP1(Valorisation en UTC entiere) et VCDR2 (Valorisation en millieme d'Euro)
#----------------------------------------------------------------------------------------------------
#
#UNITE en UTC entiere
SI ( ( (i_get_art_field( g_iartout, $Tcp4dcOSA::UNITE1) ) == 0 ) || ( (i_get_art_field( g_iartout, $Tcp4dcOSA::UNITE1) ) == 100 ) )
ALORS
	#VPC1 UTC entiere
	VCP1_860026392= i_get_art_field( g_iartout, $Tcp4dcOSA::TAX1)
	#VCDR2 millieme d'Euros
	VCDR2_860026392=i_get_art_field( g_iartout, $Tcp4dcOSA::TAX1) *VALEUR_UT_860026392
FINSI

#UNITE en en millieme d'Euros
SI ( ( (i_get_art_field( g_iartout, $Tcp4dcOSA::UNITE1) ) == 10 ) || ( (i_get_art_field( g_iartout, $Tcp4dcOSA::UNITE1) ) == 110 ) )
ALORS
	#VCDR2 millieme d'Euros
	VCDR2_860026392=i_get_art_field( g_iartout, $Tcp4dcOSA::TAX1)

	#VPC1 UTC entiere ; valeur de l'UT en Euro=103
	VCP1_860026392=VCDR2_860026392/VALEUR_UT_860026392

	ARRONDI_860026392 = ((VCDR2_860026392*10)/VALEUR_UT_860026392) - (VCP1_860026392 * 10)
	SI (ARRONDI_860026392>0)
	ALORS
		VCP1_860026392=VCP1_860026392+1
	FINSI
FINSI

#UNITE en en millieme d'UT
SI ( ( (i_get_art_field( g_iartout, $Tcp4dcOSA::UNITE1) ) == 8 ) || ( (i_get_art_field( g_iartout, $Tcp4dcOSA::UNITE1) ) == 108 ) )
ALORS
	#VCDR2 millieme d'Euros
	VCDR2_860026392=i_get_art_field( g_iartout, $Tcp4dcOSA::TAX1) *VALEUR_UT_860026392 / 1000
	ARRONDI_860026392 = (i_get_art_field( g_iartout, $Tcp4dcOSA::TAX1) *VALEUR_UT_860026392 / 100) - (VCDR2_860026392 * 10)
	SI (ARRONDI_860026392>4)
	ALORS
		VCDR2_860026392=VCDR2_860026392+1
	FINSI

	#VPC1 UTC entiere
	VCP1_860026392= i_get_art_field( g_iartout, $Tcp4dcOSA::TAX1) / 1000
	ARRONDI_860026392 = (i_get_art_field( g_iartout, $Tcp4dcOSA::TAX1) / 100) - (VCP1_860026392 * 10)
	SI (ARRONDI_860026392>0)
	ALORS
		VCP1_860026392=VCP1_860026392+1
	FINSI
FINSI

# CODCIR et CODCIRA
SI ( i_valid_field_n(g_iartout,$Tcp4dcOSA::CODCIR) )
ALORS
	CODCIR_860026392=i_get_art_field(g_iartout, $Tcp4dcOSA::CODCIR)
	bCODCIR_860026392 = 1
	erreur_860026392=i_get_art_str(g_iartout, $Tcp4dcOSA::CODCIRA,pt_CODCIRA_860026392)
	SI (g_iartout.CODCIRA[2] > 9)
	ALORS
		i_get_sub_str(pt_CODCIRA_860026392,2,5,pt_CODCIRA_860026392)
	SINON
		i_get_sub_str(pt_CODCIRA_860026392,1,5,pt_CODCIRA_860026392)
	FINSI
FINSI

# CODCIRDR et CODCIRDA
SI ( i_valid_field_n(g_iartout,$Tcp4dcOSA::CODCIRDR) )
ALORS
	CODCIRDR_860026392=i_get_art_field(g_iartout, $Tcp4dcOSA::CODCIRDR)
	bCODCIRDR_860026392 = 1

	erreur_860026392=i_get_art_str(g_iartout, $Tcp4dcOSA::CODCIRDA,pt_CODCIRDA_860026392)
	SI (g_iartout.CODCIRDA[2] > 9)
	ALORS
		i_get_sub_str(pt_CODCIRDA_860026392,2,5,pt_CODCIRDA_860026392)
	SINON
		i_get_sub_str(pt_CODCIRDA_860026392,1,5,pt_CODCIRDA_860026392)
	FINSI
FINSI


############################################################################
# Recherche Instances des ECC et Critere de distribution
############################################################################
#Tous les DC sont envoyis a VATEL, SYMPHONIE, SSCC, SSCC Secours, Suivi Conso Fil de l eau
#Sont envoyes a ENTROPI uniquement les dc internationaux

#---------------------------------------------------------------------------
# Symphonie
#---------------------------------------------------------------------------

instSYMPH_860026392=i_LireInstanceECC(C_InstSYMP_860026392)
SI (!instSYMPH_860026392)
ALORS
	code_errone_860026392 = 0xA0B1
	erreur_860026392 = i_PlvMessEmettre(8601,2,g_iartout,"",3,code_errone_860026392,C_InstSYMP_860026392,C_Article_860026392)
	SAUT DISTRI_ERR
FINSI


#---------------------------------------------------------------------------
#G3R6Cy ALLEGRO remplace VATEL	Suppression G4R7C1
#---------------------------------------------------------------------------


#---------------------------------------------------------------------------
#	TRAFIC remplace ALLEGRO	
#---------------------------------------------------------------------------
SI !bREDIST_ALICE_860026392
ALORS
	# Interrogation de MAJ2G avec IDUS_NDRTC
	erreur_860026392= i_get_art_str( g_iartout, $Tcp4dcOSA::ILAS_NUM,pt_buffer_860026392)
	longueur_860026392 = i_conv_ascii_dcb(pt_buffer_860026392, pt_adr_NDRTC_860026392)
	erreur_860026392 = i_EnvoiReqConsTabDist(TD_Inter, ICAR_UTC_860026392, pt_adr_NDRTC_860026392, longueur_860026392, 0, 1)

	SI ( erreur_860026392 !=0 )
	ALORS
		#trace1("erreur i_EnvoiReqConsTabDist (TD_Inter): %d", erreur)
		code_errone_860026392 = 0xA0C1
		erreur_860026392 = i_PlvMessEmettre(8607, 2, g_iartout, "", 3, code_errone_860026392, C_REFMAJ2G_860026392, C_Article_860026392)
		SAUT DISTRI_ERR
	FINSI

	instTRAFIC_860026392 = i_LireInstanceECC(C_InstTRAFIC_860026392)

	SI (!instTRAFIC_860026392)
	ALORS
		#trace(">>>__LINE__>>> Pas d'instance pour TRAFIC !")
		erreur_860026392 = i_PlvMessEmettre(8501,2,g_iartout,"",3,"TRAFIC",C_Article_860026392,g_ieec)
		SAUT DISTRI_ERR
	FINSI

	erreur_860026392 = i_LireReqConsTabDist()
	#trace1("RETOUR i_LireReqConsTabDist (TD_Inter), erreur=<%d>",erreur)
	SI (erreur_860026392 != 0)
	ALORS
		code_errone_860026392 = 0xA0C1
		erreur_860026392 = i_PlvMessEmettre(8607, 2, g_iartout, "", 3, code_errone_860026392, C_REFMAJ2G_860026392, C_Article_860026392)
		SAUT DISTRI_ERR
	FINSI

	val_860026392 = i_LireInfoECC(instTRAFIC_860026392, 0)

	SI ( val_860026392 != 0)
	ALORS
		erreur_860026392 = i_LireChaineInfo(  val_860026392, 0,3, pt_InfoCompl_860026392)
		erreur_860026392 = i_format_str2(pt_buffer_860026392, "TRAF%s", pt_InfoCompl_860026392,0)
		instTRAFIC_860026392 = i_LireInstanceECC(pt_buffer_860026392)

		SI (!instTRAFIC_860026392)
		ALORS
			erreur_860026392 = i_PlvMessEmettre(8501,2,g_iartout,"",3,pt_buffer_860026392,C_Article_860026392,g_ieec)
			SAUT DISTRI_ERR
		FINSI
		i_strcpy(pt_NomEccFact_860026392, pt_buffer_860026392)
		erreur_860026392 =  i_AjouterCouranteECC(instTRAFIC_860026392)
	SINON
		bREDIST_MAJ2G_860026392 = 1
		erreur_860026392 = i_format_str2(pt_LIBELREDIST_860026392,"Indicatif inconnu dans la table DISTRI MAJ2G",pt_buffer_860026392,0)
	FINSI
FINSI


#---------------------------------------------------------------------------
# SSCC
#---------------------------------------------------------------------------

instSSCC_860026392 = i_LireInstanceECC( C_InstSSCC_860026392 )
SI ( !instSSCC_860026392 )
ALORS
	code_errone_860026392 = 0xA0B1
	erreur_860026392 = i_PlvMessEmettre(8601,2,g_iartout,"",3,code_errone_860026392,C_InstSSCC_860026392,C_Article_860026392)
	SAUT DISTRI_ERR
SINON
	SI ( !bREDIST_ALICE_860026392 && !bREDIST_MAJ2G_860026392 ) || cpt_RDT_860026392 == 0 
	ALORS
		#trace( "SSCC repond aux criteres de distribution")
		erreur_860026392 =  i_AjouterCouranteECC(instSSCC_860026392)
	FINSI
FINSI


#---------------------------------------------------------------------------
# SSCCS
#---------------------------------------------------------------------------

instSSCCS_860026392 = i_LireInstanceECC( C_InstSSCCS_860026392 )

SI ( !instSSCCS_860026392 )
ALORS
	code_errone_860026392 = 0xA0B1
	erreur_860026392 = i_PlvMessEmettre(8601,2,g_iartout,"",3,code_errone_860026392,C_InstSSCCS_860026392,C_Article_860026392)
	SAUT DISTRI_ERR
SINON
	SI ( !bREDIST_ALICE_860026392 && !bREDIST_MAJ2G_860026392 ) || cpt_RDT_860026392 == 0 
	ALORS
		#trace( "SSCCS repond aux criteres de distribution")
		erreur_860026392 =  i_AjouterCouranteECC(instSSCCS_860026392)
	FINSI
FINSI


#---------------------------------------------------------------------------
#G4R4 lot2  ENTROPI remplace SAFIRE
#---------------------------------------------------------------------------


# ----------------------------------------------------------------------------------
# Controles pour envoi vers Entropi : FD/TCP_old/DUR <> 0  ET
# FD/PREF/NUM 5 chiffres et commence par 9 (FranceDirect)
# ----------------------------------------------------------------------------------

DUREE_860026392 = i_get_art_field( g_iartout, $Tcp4dcOSA::DUREE)
erreur_860026392= i_get_art_str(g_iartout, $Tcp4dcOSA::PREF_NUM, pt_buffer_860026392)

SI ( (DUREE_860026392 != 0) && (i_strlen(pt_buffer_860026392)==5) && (!i_strplcmp(pt_buffer_860026392,"9",0,1)) )
ALORS
	instENTRCA_860026392 = i_LireInstanceECC( C_InstENTRCA_860026392)
	SI ( !instENTRCA_860026392 )
	ALORS
		code_errone_860026392 = 0xA0B1
		erreur_860026392 = i_PlvMessEmettre(8601,2,g_iartout,"",3,code_errone_860026392,C_InstENTRCA_860026392,C_Article_860026392)
		SAUT DISTRI_ERR
	FINSI
	SI ( !bREDIST_ALICE_860026392 && !bREDIST_MAJ2G_860026392 ) || cpt_RDT_860026392 == 0 
	ALORS
		#trace("ENTROPI repond aux criteres de distribution")
		erreur_860026392 =  i_AjouterCouranteECC(instENTRCA_860026392)
	FINSI
FINSI


#---------------------------------------------------------------------------
# E-BILL (SUIVI CONSO FDE)	Suppression G4R7C1
#---------------------------------------------------------------------------


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

#---------------------------------------------------------------------------
# Valeurs communes
#---------------------------------------------------------------------------

# Sans objet


#---------------------------------------------------------------------------
# ALLEGRO creation G3R6Cy	Suppression G4R7C1
#---------------------------------------------------------------------------


#---------------------------------------------------------------------------
# TRAFIC creation G4R7C1
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instTRAFIC_860026392) )
ALORS
	#trace(" ##__LINE__## Duplication vers TRAFIC")
	SI (i_dup_art_dest(g_iartout,g_iartout2,"TtraficN"))
	ALORS
		#trace(" ##__LINE__## erreur de i_dup_art_dest")
		erreur_860026392 = i_PlvMessEmettre(8502, 2, g_iartout, "", 3, "TtraficN", C_Article_860026392, g_ieec)
		SAUT  DISTRI_ERR
	FINSI

	# DOMAINE
	erreur_860026392=i_set_art_str(g_iartout2,$TtraficN::DOMAINE, "28" )

	# SERVICE
	CDEUR_old_860026392 = i_get_art_field( g_iartout, $Tcp4dcOSA::CDEUR_old )
	SI CODCIR_860026392 == 20
	ALORS
		erreur_860026392=i_set_art_str(g_iartout2,$TtraficN::SERVICE, "73" )
	SINON
		SI CODCIRDR_860026392 == 00
		ALORS
			erreur_860026392=i_set_art_str(g_iartout2,$TtraficN::SERVICE, "74" )
		SINON
			SI CDEUR_old_860026392 == 0x0F
			ALORS
				erreur_860026392=i_set_art_str(g_iartout2,$TtraficN::SERVICE, "72" )
			SINON
				erreur_860026392=i_set_art_str(g_iartout2,$TtraficN::SERVICE, "71" )
			FINSI
		FINSI
	FINSI

	# IDUS_INF
	# table de duplication : 6:F0:3:$IDUS_INF # "000" -> IDUS_INF

	# E
	# table de duplication : 6:F0:1:$E # "0" -> E

	# IDUS_NUM
	SI (i_valid_field_n(g_iartout,$Tcp4dcOSA::T3idus))
	ALORS
		res_860026392 = i_get_art_str(g_iartout,$Tcp4dcOSA::IDUS_NUM,pt_buffer_860026392)
		erreur_860026392 = i_format_str2(pt_BUF40_860026392,"%s%s",UN_ZERO_860026392,pt_buffer_860026392)
		erreur_860026392=i_set_art_str(g_iartout2,$TtraficN::IDUS_NUM, pt_BUF40_860026392 )
	FINSI

	# DEDE_INF
	# table de duplication : 6:F0:3:$DEDE_INF # "000" -> DEDE_INF
	DEDE_INF_860026392 = i_get_art_field(g_iartout,$Tcp4dcOSA::DEDE_INF )
	erreur_860026392 = i_set_art_field(g_iartout2,$TtraficN::DEDE_INF, DEDE_INF_860026392 )

	# DEDE_NUM
	erreur_860026392 = i_get_art_str( g_iartout, $Tcp4dcOSA::DEDE_NUM, pt_buffer_860026392 )
	erreur_860026392=i_set_art_str(g_iartout2,$TtraficN::DEDE_NUM, pt_buffer_860026392 )

	# DATE
	erreur_860026392 = i_set_art_field(g_iartout2,$TtraficN::DATE, ICAR_METRO_860026392 )

	# DUREE
	erreur_860026392 = i_set_art_field(g_iartout2,$TtraficN::DUREE,DUREE_860026392 )

	# CAX
	# table de duplication : 6:F0:1:$CAX # "0" -> CAX

	# TAX
	erreur_860026392 = i_set_art_field(g_iartout2,$TtraficN::TAX, VCDR2_860026392 )

	# NDS_NUM
	# table de duplication : 6:40:10:$NDS_NUM # "          " -> NDS_NUM
	#NUM_LA	Numero de ligne appelante normalise	74-83,10	EBCDIC alpha
	SI (i_valid_field_n(g_iartout,$Tcp4dcOSA::T3idus))
	ALORS
		res_860026392 = i_get_art_str(g_iartout,$Tcp4dcOSA::IDUS_NUM,pt_buffer_860026392)
		erreur_860026392 = i_format_str2(pt_BUF40_860026392,"%s%s",UN_ZERO_860026392,pt_buffer_860026392)
		erreur_860026392 = i_set_art_str(g_iartout2,$TtraficN::NDS_NUM, pt_BUF40_860026392)
	FINSI

	# SUP
	# table de duplication : 6:F0: 1:$SUP # "0" -> SUP

	# REF, MES1, MES2, ...
	# table de duplication :
	# 6:F0:3:$REF		# "000"   -> REF
	# 5:255:$MES1		# "255" -> MES1
	# 5:255:$MES2		# "255" -> MES2
	# 6:40:1:$NB_CSV
	# 6:40:2:$C_CSV1
	# 6:40:1:$OP_CSV1
	# 6:40:2:$C_CSV2
	# 6:40:1:$OP_CSV2
	# 6:40:2:$C_CSV3
	# 6:40:1:$OP_CSV3
	# 6:40:2:$C_CSV4
	# 6:40:1:$OP_CSV4
	# 6:40:2:$C_CSV5
	# 6:40:1:$OP_CSV5
	# 6:C6:2:$STY		# "FF"     -> STY
	# 6:40:4:$COCA		# "    "   -> COCA
	# 6:40:4:$COCAV		# "    "   -> COCAV
	# 6:F0:3:$IDAV_INF	# "000"   -> IDAV_INF
	# 6:40:20:$IDAV_NUM	# "                    "   -> IDAV_NUM

	#champ SGTQS
	i_strcpy(pt_SGTQS_860026392,i_LireEECSGTQS( g_ieec ))
	erreur_860026392=i_set_art_str(g_iartout2, $TtraficN::SGTQS, pt_SGTQS_860026392)

	#champ MNEMO
	# 6:40:10:$MNEMO	# " "   -> MNEMO

	#champ CLASSDEST
	SI ( i_valid_field_n(g_iartout, $Tcp4dcOSA::CCD) )
	ALORS
		val_860026392= i_get_art_field( g_iartout, $Tcp4dcOSA::CCD)
		erreur_860026392 = i_set_art_field(g_iartout2, $TtraficN::CLASSDEST,val_860026392  )
	FINSI

	#champ OFFRE	
	# OFFRE	Code Offre 	EBCD Alpha	6	157-162	espace  

	# Champ OPERATEUR
	# OPERATEUR	Code Op?rateur	EBCD Alpha	6	163-168	espace  
	
	#champ TAG
	# 6:40:1:$TAG		# " "   -> TAG

	#G4R6 Lot2 
	#TYPE_EDIT
	erreur_860026392 = i_set_art_str(g_iartout2, $TtraficN::TYPE_EDIT,pt_TYPE_EDIT_860026392 )

	#CODE_TARIF
	erreur_860026392 = i_set_art_str(g_iartout2, $TtraficN::CODE_TARIF,pt_CODE_TARIF_860026392 )
	
	# Champ IPAS
	erreur_860026392= i_get_art_str( g_iartout, $Tcp4dcOSA::IPAS_NUM,pt_buffer_860026392)
	erreur_860026392 = i_set_art_str( g_iartout2, $TtraficN::IPAS,pt_buffer_860026392 )
FINSI


#---------------------------------------------------------------------------
# SSCC
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC( instSSCC_860026392 ) )
ALORS

	############################################################################
	#trace("__FILE__:__LINE__ - Duplication vers SSCC")
	SI ( i_dup_art(g_iartout,C_Tsscc_860026392, g_iartout4) )
	ALORS
		#trace("ERREUR de duplication vers SSCC")
		code_errone_860026392 = 0xA0D1
		erreur_860026392 = i_PlvMessEmettre(8602,2,g_iartout,"",3,code_errone_860026392,C_Tsscc_860026392,C_Article_860026392)
		SAUT DISTRI_ERR
	FINSI
	############################################################################
	# Suppression des champs de l'ajout CE inutiles pour SSCC
	erreur_860026392 = i_supprChamp(g_iartout4,"T4tax1")
	###########################################################################"

	#DATE
	res_860026392 = i_get_art_field( g_iartout, $Tcp4dcOSA::ddebut )
	erreur_860026392=i_set_art_field(g_iartout4, $Tsscc_OSA::DATE,res_860026392)

	#IDUS_INF
	SI (!i_valid_field_n(g_iartout,$Tcp4dcOSA::IDUS_INF))
	ALORS
		erreur_860026392=i_set_art_field(g_iartout4, $Tsscc_OSA::IDUS_INF,i_get_art_field( g_iartout, $Tcp4dcOSA::IDUS_INF ))
	FINSI

	#trace("__FILE__:__LINE__ - Ajout de champs manquants")

	# ILAS
	SI (!i_valid_field_n(g_iartout,$Tcp4dcOSA::ILAS))
	ALORS
		erreur_860026392=i_ajoutChampNum(g_iartout4,$Tsscc_OSA::T3ilas,$Tsscc_OSA::ILAS,0x06)
		erreur_860026392=i_memset_field(g_iartout4, "ILAS",0000000000000)
	FINSI

	# Champ VCP1 et VCDR2 FO2385
	erreur_860026392=i_ajoutChampNum(g_iartout4,$Tsscc_OSA::T4vcp1,$Tsscc_OSA::VCP1,0x08)
	erreur_860026392=i_ajoutChampNum(g_iartout4,$Tsscc_OSA::T4vcdr2,$Tsscc_OSA::VCDR2,0x08)

	SI ( (TYPCTR_860026392 == 15) && ((b_SCOM_AFT_860026392==1) || (b_SCOM_AAP_860026392==1)) )
	ALORS
		erreur_860026392=i_set_art_field(g_iartout4,$Tsscc_OSA::VCP1, 0)
		erreur_860026392=i_set_art_field(g_iartout4,$Tsscc_OSA::VCDR2, 0)
	SINON
		erreur_860026392=i_set_art_field(g_iartout4,$Tsscc_OSA::VCP1, VCP1_860026392)
		erreur_860026392=i_set_art_field(g_iartout4,$Tsscc_OSA::VCDR2, VCDR2_860026392)
	FINSI
FINSI


#---------------------------------------------------------------------------
# SSCCS
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC( instSSCCS_860026392)  )
ALORS

	############################################################################
	#trace("__FILE__:__LINE__ - Duplication vers SSCCS")
	SI ( i_dup_art(g_iartout,C_Tssccs_860026392, g_iartout8) )
	ALORS
		#trace("ERREUR de duplication vers SSCCS")
		code_errone_860026392 = 0xA0D1
		erreur_860026392 = i_PlvMessEmettre(8602,2,g_iartout,"",3,code_errone_860026392,C_Tssccs_860026392,C_Article_860026392)
		SAUT DISTRI_ERR
	FINSI

	############################################################################
	# Suppression des champs de l'ajout CE inutiles pour SSCCS
	erreur_860026392 = i_supprChamp(g_iartout8,"T4tax1")
	###########################################################################"
	#trace (" mise au format de certains champs pour SSCCS")

	#DATE
	res_860026392 = i_get_art_field( g_iartout, $Tcp4dcOSA::ddebut )
	erreur_860026392=i_set_art_field(g_iartout8, $Tssccs_OSA::DATE,res_860026392)

	#IDUS_INF
	SI (!i_valid_field_n(g_iartout,$Tcp4dcOSA::IDUS_INF))
	ALORS
		erreur_860026392=i_set_art_field(g_iartout8, $Tssccs_OSA::IDUS_INF,i_get_art_field( g_iartout, $Tcp4dcOSA::IDUS_INF ))
	FINSI

	#trace("__FILE__:__LINE__ - Ajout de champs manquants")

	# ILAS
	SI (!i_valid_field_n(g_iartout,$Tcp4dcOSA::ILAS))
	ALORS
		erreur_860026392=i_ajoutChampNum(g_iartout8,$Tssccs_OSA::T3ilas,$Tssccs_OSA::ILAS,0x06)
		erreur_860026392=i_memset_field(g_iartout8, "ILAS",0000000000000)
	FINSI

	# Champ VCP1 et VCDR2 FO2385
	erreur_860026392=i_ajoutChampNum(g_iartout8,$Tssccs_OSA::T4vcp1,$Tssccs_OSA::VCP1,0x08)
	erreur_860026392=i_ajoutChampNum(g_iartout8,$Tssccs_OSA::T4vcdr2,$Tssccs_OSA::VCDR2,0x08)
	SI ( (TYPCTR_860026392 == 15) && ((b_SCOM_AFT_860026392==1) || (b_SCOM_AAP_860026392==1)) )
	ALORS
		erreur_860026392=i_set_art_field(g_iartout8,$Tssccs_OSA::VCP1, 0)
		erreur_860026392=i_set_art_field(g_iartout8,$Tssccs_OSA::VCDR2, 0)
	SINON
		erreur_860026392=i_set_art_field(g_iartout8,$Tssccs_OSA::VCP1, VCP1_860026392)
		erreur_860026392=i_set_art_field(g_iartout8,$Tssccs_OSA::VCDR2, VCDR2_860026392)
	FINSI
FINSI


#---------------------------------------------------------------------------
#G4R4 lot2  ENTROPI remplace SAFIRE
#---------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instENTRCA_860026392))
ALORS
	#trace("__FILE__:__LINE__ - Stockage vers ENTROPI")

	# Duplication article en entree
	SI (i_dup_art_dest( g_iartout, g_iartout5,C_Tentr28_860026392 ))
	ALORS
		code_errone_860026392 = 0xA0D1
		erreur_860026392 = i_PlvMessEmettre(8602,2,g_iartout,"",3,code_errone_860026392,C_Tentr28_860026392,C_Article_860026392)
		SAUT DISTRI_ERR
	FINSI
	#T1
	erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::T1, 28 )

	#T2
	erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::T2, 2 )

	#APSV
	res_860026392 = i_get_art_field(g_iartout, $Tcp4dcOSA::APSV)
	erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::APSV,res_860026392 )

	# STY
	#trace("Appel de i_transformer_bits")
	SI (i_transformer_bits(g_iartout, $Tcp4dcOSA::STY,"FV",pt_buffer_860026392)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026392=i_set_art_str(g_iartout5, $Tentr28::STY,pt_buffer_860026392)

	# SCT
	SI (i_transformer_bits(g_iartout, $Tcp4dcOSA::SCT,"FV",pt_buffer_860026392)!=0)
	ALORS
		SAUT DISTRI_ERR
	FINSI
	erreur_860026392=i_set_art_str(g_iartout5, $Tentr28::SCT,pt_buffer_860026392)

	# DATE
	SI ( i_valid_field_n(g_iartout, $Tcp4dcOSA::ddebut) )
	ALORS
		res_860026392= i_get_art_field( g_iartout, $Tcp4dcOSA::DATE)
		erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::DATE,res_860026392  )
	FINSI

	#INFDEDE
	SI (i_transformer_bits(g_iartout, $Tcp4dcOSA::DEDE_INF,"FV",pt_buffer_860026392)!=0)
	ALORS
		SAUT DISTRI_ERR
	FINSI
	erreur_860026392=i_set_art_str(g_iartout5, $Tentr28::INFDEDE,pt_buffer_860026392)

	#NUM_DEDE
	erreur_860026392= i_get_art_str( g_iartout, $Tcp4dcOSA::DEDE_NUM,pt_buffer_860026392)
	erreur_860026392 = i_set_art_str( g_iartout5, $Tentr28::NUMDEDE,pt_buffer_860026392 )

	# INF_IDUSA (valeur decimale des bits  A et B de IDUS_INF)
	SI ( i_valid_field_n(g_iartout, $Tcp4dcOSA::IDUS_INF) )
	ALORS
		res_860026392 = i_get_art_field(g_iartout, $Tcp4dcOSA::IDUS_INF)
		bitA_860026392 = i_get_bit_val(res_860026392,8)
		bitB_860026392 = i_get_bit_val(res_860026392,7)
		res_860026392 = (bitA_860026392 * 2) + bitB_860026392
		erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::INFDUSA, res_860026392 )
	FINSI

	# NUM_IDUS ()
	SI (i_valid_field_n(g_iartout,$Tcp4dcOSA::T3idus))
	ALORS
		erreur_860026392= i_get_art_str( g_iartout, $Tcp4dcOSA::IDUS_NUM,pt_buffer_860026392)
		erreur_860026392 = i_set_art_str( g_iartout5, $Tentr28::NUMIDUS,pt_buffer_860026392 )
	FINSI

	# DATE2
	SI ( i_valid_field_n(g_iartout, $Tcp4dcOSA::T3rdip) )
	ALORS
		res_860026392= i_get_art_field( g_iartout, $Tcp4dcOSA::DATE2)
		erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::DATE2,res_860026392  )
	FINSI

	#INFIPAS
	SI (i_transformer_bits(g_iartout, $Tcp4dcOSA::IPAS_INF,"FV",pt_buffer_860026392)!=0)
	ALORS
		SAUT DISTRI_ERR
	FINSI
	erreur_860026392=i_set_art_str(g_iartout5, $Tentr28::INFIPAS,pt_buffer_860026392)

	#NUMILAS
	SI ( i_valid_field_n(g_iartout, $Tcp4dcOSA::ILAS_NUM) )
	ALORS
		erreur_860026392 = i_get_art_str( g_iartout, $Tcp4dcOSA::ILAS_NUM,pt_buffer_860026392)
		erreur_860026392 = i_set_art_str(g_iartout5, $Tentr28::NUMILAS, pt_buffer_860026392 )
	FINSI

	#INFDECO
	#Recuperation des bits A,B et C de DECO_INF.
	# La division par 0x20 hexa (<=> 1000000 en binaire) permet d eliminer les bits DEFGH du champ DECO_INF
	erreur_860026392 = i_get_art_field( g_iartout,$Tcp4dcOSA::DECO_INF)
	res_860026392 = erreur_860026392/0x20
	erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::INFDECO,res_860026392  )

	#USER
	SI ( i_valid_field_n(g_iartout, $Tcp4dcOSA::T3user) )
	ALORS
		erreur_860026392= i_get_art_str( g_iartout, $Tcp4dcOSA::USER ,pt_buffer_860026392)
		erreur_860026392 = i_set_art_str(g_iartout5, $Tentr28::USER,pt_buffer_860026392)
	FINSI

	#TAP
	SI (i_transformer_bits(g_iartout, $Tcp4dcOSA::TAP_old,"FV",pt_buffer_860026392)!=0)
	ALORS
		SAUT DISTRI_ERR
	FINSI
	erreur_860026392=i_set_art_str(g_iartout5, $Tentr28::TAP,pt_buffer_860026392)

	#CCD
	SI ( i_valid_field_n(g_iartout, $Tcp4dcOSA::CCD) )
	ALORS
		res_860026392= i_get_art_field( g_iartout, $Tcp4dcOSA::CCD)
		erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::CCD,res_860026392  )
	FINSI

	#NB_UT
	erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::NB_UT, VCP1_860026392 )

	#VCDR2
	erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::VCDR2, VCDR2_860026392 )

	#HLAHM1
	SI ( i_valid_field_n(g_iartout, $Tcp4dcOSA::HLAHM1) )
	ALORS
		res_860026392= i_get_art_field( g_iartout, $Tcp4dcOSA::HLAHM1)
		erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::HLAHM1,res_860026392  )
	FINSI

	#FIN
	erreur_860026392 = i_set_art_field(g_iartout5, $Tentr28::FIN, 0x0A )
FINSI


#---------------------------------------------------------------------------
#  E-BILL  (Suivi Conso)	Suppression G4R7C1
#---------------------------------------------------------------------------


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

SI ( instSYMPH_860026392 ) && ( ( !bREDIST_ALICE_860026392 && !bREDIST_MAJ2G_860026392 ) || cpt_RDT_860026392 == 0 )
ALORS
	# Article fourni a Symphonie sous son format d'origine enrichi d'ajouts
	# => Duplication article en entree + renommage

	# Retrait tlv
	SI ( i_valid_field_n(g_iartout,$Tcp4dcOSA::CODCIR) )
	ALORS
		erreur_860026392 = i_supprChamp(g_iartout, "T4codcir")
	FINSI
	SI ( i_valid_field_n(g_iartout,$Tcp4dcOSA::CODCIRDR) )
	ALORS
		erreur_860026392 = i_supprChamp(g_iartout, "T4codcirdr")
	FINSI

	# Duplication article en entree
	#trace("Stockage vers SYMPHONIE")

	SI (i_dup_art(g_iartout,C_TsymTcp4dcOSA_860026392,g_iartout6))
	ALORS
		code_errone_860026392 = 0xA0D1
		erreur_860026392 = i_PlvMessEmettre(8602,2,g_iartout,"",3,code_errone_860026392,C_TsymTcp4dcOSA_860026392,C_Article_860026392)
		SAUT DISTRI_ERR
	FINSI

#---------------------------------------------------------------------------
# Complements Symphonie
#---------------------------------------------------------------------------

	#trace("ajout des complements Symphonie")
	# Champ CODCIRDR
	SI (CODCIRDR_860026392 != 0xFF)
	ALORS
		erreur_860026392=i_ajoutChampNum( g_iartout6, $TsymTcp4dcOSA::T4codcirdr, $TsymTcp4dcOSA::CODCIRDR, 0 )
		erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::CODCIRDR,pt_CODCIRDA_860026392)
	FINSI

	# Champ CODCIR
	SI (CODCIR_860026392 != 0xFF)
	ALORS
		erreur_860026392=i_ajoutChampNum( g_iartout6, $TsymTcp4dcOSA::T4codcir, $TsymTcp4dcOSA::CODCIR, 0 )
		erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::CODCIR,pt_CODCIRA_860026392)
	FINSI

	# Champ SGTQS
	erreur_860026392 = i_ajoutChampNum(g_iartout6,$TsymTcp4dcOSA::T4sgtqs,$TsymTcp4dcOSA::SGTQS,0)
	i_strcpy(pt_SGTQS_860026392,i_LireEECSGTQS( g_ieec ))
	erreur_860026392 = i_set_art_str(g_iartout6, $TsymTcp4dcOSA::SGTQS, pt_SGTQS_860026392)

	# Champ ECC_FACT
	erreur_860026392=i_ajoutChampNum( g_iartout6, $TsymTcp4dcOSA::T4eccfact, $TsymTcp4dcOSA::ECC_FACT, 0 )
	#trace2("__FILE__:__LINE__ : ECC de facturation: %s",pt_NomEccFact,"")
	erreur_860026392 = i_set_art_str(g_iartout6, $TsymTcp4dcOSA::ECC_FACT,pt_NomEccFact_860026392 )

	# SCOM	Code produit
	erreur_860026392=i_ajoutChampNum( g_iartout6, $TsymTcp4dcOSA::T4scom, $TsymTcp4dcOSA::SCOM, 0 )
	SI ( b_SCOM_CFT_860026392 )
	ALORS
		erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::SCOM,C_str_CFT_860026392)
	SINON
		SI ( b_SCOM_AFT_860026392 )
		ALORS
			erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::SCOM,C_str_AFT_860026392)
		SINON
			SI ( b_SCOM_CAT_860026392 )
			ALORS
				erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::SCOM,C_str_CAT_860026392)
			SINON
				SI ( b_SCOM_AAP_860026392 )
				ALORS
					erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::SCOM,C_str_AAP_860026392)
				FINSI
			FINSI
		FINSI
	FINSI

	erreur_860026392=i_ajoutChampNum( g_iartout6, $TsymTcp4dcOSA::T4serv, $TsymTcp4dcOSA::SERV, 0 )
	SI ( CODCIRDR_860026392 == 0xF0020 )
	ALORS
		erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::SERV,C_str_005_860026392)
	SINON
		SI ( CODCIRDR_860026392 == 0xF0000 )
		ALORS
			erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::SERV,C_str_006_860026392)
		SINON
			res_860026392 = i_get_art_field( g_iartout, $Tcp4dcOSA::CDEUR_old )
			SI ( res_860026392 == 0x0A )
			ALORS
				erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::SERV,C_str_001_860026392)
			SINON
				SI ( res_860026392 == 0x0F )
				ALORS
					erreur_860026392 = i_set_art_str(g_iartout6,$TsymTcp4dcOSA::SERV,C_str_004_860026392)
				FINSI
			FINSI
		FINSI
	FINSI

	SI b_ALICE_860026392
	ALORS
		erreur_860026392 = i_ajoutChampNum(g_iartout6,$TsymTcp4dcOSA::T4type_edit,$TsymTcp4dcOSA::TYPE_EDIT,0)
		erreur_860026392 = i_set_art_str(g_iartout6, $TsymTcp4dcOSA::TYPE_EDIT,pt_TYPE_EDIT_860026392 )
		erreur_860026392 = i_ajoutChampNum(g_iartout6,$TsymTcp4dcOSA::T4code_tarif,$TsymTcp4dcOSA::CODE_TARIF,0)
		erreur_860026392 = i_set_art_str(g_iartout6, $TsymTcp4dcOSA::CODE_TARIF,pt_CODE_TARIF_860026392 )
	FINSI
FINSI


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

SI ( instSYMPH_860026392 ) && ( ( !bREDIST_ALICE_860026392 && !bREDIST_MAJ2G_860026392 ) || cpt_RDT_860026392 == 0 )
ALORS
	res_860026392 = i_stocke_art_iecc(g_iartout6, instSYMPH_860026392)
	trace("Emission vers SYMPHONIE")
FINSI

#G3R6Cy ALLEGRO remplace VATEL
#SI (!i_ChercherCouranteECC(instALLEGRO))
#ALORS
#	res = i_stocke_art_iecc( g_iartout2, instALLEGRO )
#	trace( "Emission vers ALLEGRO" )
#FINSI

SI (!i_ChercherCouranteECC(instTRAFIC_860026392))
ALORS
	res_860026392 = i_stocke_art_iecc(g_iartout2, instTRAFIC_860026392)
	trace("Emission vers TRAFIC")
FINSI

SI (!i_ChercherCouranteECC(instSSCC_860026392))
ALORS
	res_860026392 = i_stocke_art_iecc(g_iartout4, instSSCC_860026392)
	trace("Emission vers SSCC")
FINSI

SI (!i_ChercherCouranteECC(instSSCCS_860026392))
ALORS
	res_860026392 = i_stocke_art_iecc(g_iartout8, instSSCCS_860026392)
	trace("Emission vers SSCCS")
FINSI

#G4R4 lot2
SI (!i_ChercherCouranteECC(instENTRCA_860026392))
ALORS
	res_860026392 = i_stocke_art_iecc(g_iartout5, instENTRCA_860026392)
	trace("Emission vers ENTROPI")
FINSI

#SI (!i_ChercherCouranteECC(instEBILL))
#ALORS
#	res = i_stocke_art_iecc(g_iartout6, instEBILL)
#	trace("Emission vers Suivi Conso")
#FINSI

SI ( bREDIST_ALICE_860026392 == 1 ) || ( bREDIST_MAJ2G_860026392 == 1 )  
ALORS
	SAUT DISTRI_REDIST
FINSI

trace( "__FILE__: Fin du Pcode de distribution" )

RETOUR TRAIT_OK


############################################################################
# Stockage en Errone
############################################################################

POINT DISTRI_ERR

trace( "Tcp4dcOSA: Anomalie de distribution ==> ERRONE" )
erreur_860026392 = i_make_art_rej(g_iartin, g_iartout, code_errone_860026392)

res_860026392 = i_stocke_art( g_iartout, 0, PT_ERRONE, 0 )

RETOUR TRAIT_OK

# fin de fichier


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

POINT DISTRI_ELM

trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en ELIMINE" )

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

RETOUR TRAIT_OK


############################################################################
# Stockage en Redistribution
############################################################################

POINT DISTRI_REDIST

trace( "__FILE__:__LINE__ - STOCKAGE EN REDISTRIBUTION" )

# On emet le message d erreur uniquement au 1er passage
SI ((cpt_RDT_860026392 == 0) && ( bREDIST_MAJ2G_860026392 == 1 || bREDIST_ALICE_860026392 == 1 ))
ALORS
	erreur_860026392 = i_PlvMessEmettre(8503, 2, g_iartin, "", 3, pt_LIBELREDIST_860026392, C_Article_860026392, pt_SGTQS_860026392)
FINSI

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

RETOUR TRAIT_OK
