DEFINITION C_Article_860026277 "Tmesplus"
DEFINITION C_InstSYMP_860026277 "SYMP"
DEFINITION C_TsymTmesplus_860026277 "TsymTmesplus"
DEFINITION C_InstTRAFIC_860026277 "TRAFIC"
DEFINITION C_Ttrafic_860026277 "TtraficN"
DEFINITION C_InstFE_860026277 "FE"
DEFINITION C_Tfe_860026277 "Tfe"
DEFINITION C_Tdelta_minute_860026277 "Tdelta_minute"
DEFINITION C_CCD_860026277 0xCA
DEFINITION NUMTABSEL_860026277 0
DEFINITION NUMTAB_860026277 2
DEFINITION ZONEMETRO_860026277 7
REGISTRE ENTIER erreur_860026277
REGISTRE ENTIER EFFICACE_860026277
REGISTRE ENTIER code_errone_860026277
REGISTRE ENTIER DATE_GMT_860026277
REGISTRE ENTIER ICAR_REL_860026277
REGISTRE ENTIER ICAR_ABS_860026277
REGISTRE ENTIER L_NDR_860026277
REGISTRE ENTIER IDUS_INF_860026277
REGISTRE ENTIER DEDE_INF_860026277
REGISTRE ENTIER cpt_redist_860026277
REGISTRE ENTIER bFE_860026277
REGISTRE ENTIER bTRAFIC_860026277
REGISTRE ENTIER res_860026277
REGISTRE ENTIER bAppelCSV_860026277
REGISTRE ENTIER bREDIST_860026277
REGISTRE ENTIER numzone_860026277
REGISTRE ENTIER TAP_860026277
REGISTRE ENTIER dizaine_860026277
REGISTRE ENTIER unite_860026277
REGISTRE ENTIER cfr_860026277
REGISTRE ENTIER instSYMP_860026277
REGISTRE ENTIER instTRAFIC_860026277
REGISTRE ENTIER instFE_860026277
REGISTRE ENTIER instDM_860026277
REGISTRE POINTEUR pt_BUF_860026277
REGISTRE POINTEUR pt_BUF1_860026277
REGISTRE POINTEUR pt_EccFact_860026277
REGISTRE POINTEUR pt_InfoCompl_860026277
REGISTRE POINTEUR pt_inst_860026277
REGISTRE POINTEUR pt_LIBELREDIST_860026277
REGISTRE POINTEUR pt_SGTQS_860026277
REGISTRE POINTEUR pt_Op_csv_860026277
REGISTRE POINTEUR pt_C_csv_860026277
REGISTRE POINTEUR pt_DEDE_NUM_860026277
REGISTRE POINTEUR pt_IDUS_NUM_860026277
REGISTRE POINTEUR pt_NOS_NUM_860026277
REGISTRE POINTEUR pt_DM_860026277
############################################################################
#
# Fichier : Dist_Tmesplus.src
#
#
# Distribution :  DC Mesplus
#
#
# En sortie :
#	SYMPHONIE	- TsymTmesplus	- g_iartout2
#	TRAFIC		- TtraficN	- g_iartout4
#	FE		- Tfe		- g_iartout6
#	DM		- Tdelta_minute	- g_iartout5
#	SC		- TscTmesplus	- g_iartout3  Supprime en G3R16
#
# HISTORIQUE :
# 10/02/2006 rhe Creation
# 21/02/2006 rhe c_libre dans l'enveloppe pour FE
# 01/02/2010 - DRE - G3R16 Menage e-bill (Allofact)
#
############################################################################
#
#
#---------------------------------------------------------------------------
# Declarations
#---------------------------------------------------------------------------
#Constantes
# G3R16 suppression ECC
# G3R16 suppression ECC



#Variables
# G3R16 suppression ECC
# G3R16 suppression ECC

#	Instances
# G3R16 suppression ECC

#Pointeurs

#---------------------------------------------------------------------------
# Allocation  Pointeurs
#---------------------------------------------------------------------------
pt_BUF_860026277 		= "123456789123456789123456123451234567891234567891234561234512345678912345678912345612345123456789123456789123456123451234567891234567891234561234512345678912345678912345612345123456789123456789123456123451234567891234567891234561234512345678912345678912345612345"
pt_BUF1_860026277		= "555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555"
pt_EccFact_860026277 	= "11111111111111112222222222222222222"
pt_InfoCompl_860026277 	= "3333333333333333333333333333333333333333333333333333"
pt_inst_860026277 	= "44444444444444444444444444444"
pt_SGTQS_860026277 	= "66666666666666666666"
pt_Op_csv_860026277 	= "99999999999999999"
pt_C_csv_860026277 	= "21212121212121212"
pt_DEDE_NUM_860026277	= "123123123123123123123123123123123123123123123123"
pt_IDUS_NUM_860026277 = "1234567898765432123456789123456789876543211234567898765432123456789876543"
pt_NOS_NUM_860026277	= "1540157631032154015763103215401576310321540157631032154015763103215401576"
pt_LIBELREDIST_860026277	= "987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987987"
pt_DM_860026277 		= "876876876876"

#---------------------------------------------------------------------------
# INITIALISATION
#---------------------------------------------------------------------------
#Variables
erreur_860026277 = 0
code_errone_860026277=0
EFFICACE_860026277=0
DATE_GMT_860026277 = -1
ICAR_REL_860026277 = -1
ICAR_ABS_860026277 = -1
L_NDR_860026277 = 0
IDUS_INF_860026277 = 0
DEDE_INF_860026277 = 0
cpt_redist_860026277 = 0
bFE_860026277 = 0
# G3R16 suppression ECC
#bALLOFACT = 0
bTRAFIC_860026277 = 0
res_860026277 = 0
bAppelCSV_860026277 = 0
# G3R16 suppression ECC
#DUREE = 1
bREDIST_860026277 = 0
numzone_860026277 = 0
TAP_860026277 = 0
dizaine_860026277 = 0
unite_860026277 = 0
cfr_860026277 = 0


#	Instances
instSYMP_860026277 = 0
instTRAFIC_860026277 = 0
instFE_860026277 = 0
# G3R16 suppression ECC
#instSC = 0
instDM_860026277 = 0

#Pointeurs
i_strcpy(pt_BUF_860026277," ")
i_strcpy(pt_BUF1_860026277," ")
i_strcpy(pt_EccFact_860026277," ")
i_strcpy(pt_InfoCompl_860026277," ")
i_strcpy(pt_inst_860026277," ")
i_strcpy(pt_SGTQS_860026277," ")
i_strcpy(pt_Op_csv_860026277,"")
i_strcpy(pt_C_csv_860026277,"")
i_strcpy(pt_DEDE_NUM_860026277,"")
i_strcpy(pt_IDUS_NUM_860026277,"")
i_strcpy(pt_NOS_NUM_860026277," ")
i_strcpy(pt_LIBELREDIST_860026277," ")
i_strcpy(pt_DM_860026277,"")

############################################################################
trace2("==== DISTRIBUTION - MESPLUS - Article : %s ",C_Article_860026277," ")

cpt_redist_860026277 = i_LireRedistCpt()

erreur_860026277 = i_dup_art_id(g_iartin,g_iartout)

############################################################################

#SGTQS
i_strcpy(pt_SGTQS_860026277,i_LireEECSGTQS(g_ieec))

#ICAR_ABS = ddebut
ICAR_ABS_860026277 = i_get_art_field( g_iartout, $ddebut )
SI ( ICAR_ABS_860026277 == -1 )
ALORS
	code_errone_860026277 = 0xA080
	code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
	erreur_860026277 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026277, C_Article_860026277, "i_get_art_field/ICAR_ABS" )
	SAUT DISTRI_ERR
FINSI

############################################################################
# Variables Fonctionnelles Globales (2.1)
############################################################################
#EFFICACE : Bit B du champ TAP : 0 : efficace, 1: inefficace
TAP_860026277 = i_get_art_field(g_iartin,$Tmesplus::TAP)
SI ((TAP_860026277 & 0x40) == 0x40)
ALORS
   EFFICACE_860026277 = 0
SINON
   EFFICACE_860026277 = 1
FINSI

#IDUS_N
erreur_860026277 = i_get_art_str(g_iartout, $Tmesplus::IDUS_NUM, pt_IDUS_NUM_860026277)

#IDUS_INF
IDUS_INF_860026277 = i_get_art_field(g_iartin,$Tmesplus::IDUS_INF)

#DEDE_INF
DEDE_INF_860026277 = i_get_art_field(g_iartin,$Tmesplus::DEDE_INF)

#ICAR_REL
numzone_860026277 = i_DHgetZoneID(NUMTABSEL_860026277, g_iartout)
ICAR_REL_860026277 = i_DHgetLocalTime(NUMTAB_860026277, numzone_860026277, ICAR_ABS_860026277)

#NOS_NUM
SI i_valid_field_n(g_iartin, $Tmesplus::NOS_NUM)
ALORS
	erreur_860026277 = i_get_art_str(g_iartout, $Tmesplus::NOS_NUM, pt_NOS_NUM_860026277)
FINSI

#
############################################################################
# Variables Fonctionnelles du Module Distribution  (2.3.1)
############################################################################

#DEDE_DIST_N
erreur_860026277 = i_get_art_str(g_iartout, $Tmesplus::DEDE_NUM, pt_DEDE_NUM_860026277)

#OP_CSV
erreur_860026277 = i_get_art_str(g_iartout,$Tmesplus::ETAP,pt_BUF_860026277)
pt_Op_csv_860026277 = OP_CSV_860026233( "MP", pt_BUF_860026277, i_get_art_field( g_iartin, $Tmesplus::dpivot ) )
    SI( pt_Op_csv_860026277 == g_inull )
    ALORS
    	code_errone_860026277 = 0xA0A0
    	code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
    	erreur_860026277 = i_PlvMessEmettre(8605,2,g_iartin,"",3,code_errone_860026277,"Tmesplus/pt_Op_csv/MP",pt_BUF_860026277)
    	SAUT DISTRI_ERR
    FINSI
#trace2(" pt_Op_csv  <%s> ", pt_Op_csv, "")

#C_CSV
pt_C_csv_860026277 = C_CSV_860026233( "MP", pt_BUF_860026277, i_get_art_field( g_iartin, $Tmesplus::dpivot ) )
    SI( pt_C_csv_860026277 == g_inull )
    ALORS
    	code_errone_860026277 = 0xA0A0
    	code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
    	erreur_860026277 = i_PlvMessEmettre(8605,2,g_iartin,"",3,code_errone_860026277,"Tmesplus/pt_C_csv/MP",pt_BUF_860026277)
    	SAUT DISTRI_ERR
    FINSI
#trace2(" pt_C_csv <%s>", pt_C_csv, "")

#DATE_GMT
DATE_GMT_860026277 = i_DHgetCe2gTime(NUMTAB_860026277,ZONEMETRO_860026277,ICAR_ABS_860026277)

############################################################################
# Controles
############################################################################

#---------------------------------------------------------------------------
#  SYMPHONIE
#---------------------------------------------------------------------------
instSYMP_860026277=i_LireInstanceECC(C_InstSYMP_860026277)
#trace1("instSYMP=<%d>",instSYMP)
SI (!instSYMP_860026277 )
ALORS
	trace("pas d instance SYMPHONIE")
	code_errone_860026277 = 0xA0B0
#	10:distribution, Pas d instance ECC:	0B
	code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
	erreur_860026277 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026277,C_InstSYMP_860026277,C_Article_860026277)
        SAUT DISTRI_ERR
FINSI

SI cpt_redist_860026277 == 0
ALORS
	erreur_860026277 = i_AjouterCouranteECC(instSYMP_860026277)
FINSI

SI !EFFICACE_860026277
ALORS
	SAUT ENVOI_SYMP
FINSI

##############################################################################
# Envoi Requetes Table de Distribution
##############################################################################
L_NDR_860026277 = (g_iartout.IDUS_NUM!NELEM + 1) / 2
trace1("======================== Longueur IDUS_NUM: <%d> ", L_NDR_860026277)
erreur_860026277 = i_EnvoiReqConsTabDistDouble( TD_Fixe, TD_Inter, DATE_GMT_860026277,i_get_art_fieldptr(g_iartout,$Tmesplus::IDUS_NUM), L_NDR_860026277, L_NDR_860026277, 1, 0, 1)
SI erreur_860026277 !=0
ALORS
#	trace("Erreur i_EnvoiReqConsTabDistDouble")
	SAUT DISTRI_ERR
FINSI

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


#---------TRAFIC---------
instTRAFIC_860026277 = i_LireInstanceECC(C_InstTRAFIC_860026277)
SI (!instTRAFIC_860026277)
ALORS
	trace("pas d instance TRAFIC")
	code_errone_860026277 = 0xA0B0
	code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
	erreur_860026277 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026277,C_InstTRAFIC_860026277,C_Article_860026277)
	SAUT DISTRI_ERR
FINSI


#---------FE---------
instFE_860026277 = i_LireInstanceECC(C_InstFE_860026277)
SI (!instFE_860026277)
ALORS
	trace("pas d instance FE")
	code_errone_860026277 = 0xA0B0
	code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
	erreur_860026277 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026277,C_InstFE_860026277,C_Article_860026277)
	SAUT DISTRI_ERR
FINSI


# G3R16 suppression ECC
##---------SC/ALLOFACT---------
#instSC = i_LireInstanceECC(C_InstSC)
#SI (!instSC)
#ALORS
#	trace("pas d instance SC")
#	code_errone = 0xA0B0
#	code_errone = code_errone + EFFICACE
#	erreur = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone,C_InstSC,C_Article)
#	SAUT DISTRI_ERR
#FINSI

#---------DM---------
# DM
# meme instance que pour Trafic


############################################################################
# Attente requetes Table de Distribution
############################################################################

erreur_860026277 = i_LireReqConsTabDist()
SI ( erreur_860026277 != 0 )
ALORS
	SAUT DISTRI_ERR
FINSI

## FE:
SI ( instFE_860026277 > 0 )
ALORS
  res_860026277 = i_LireInfoECC(instFE_860026277, 0)
	SI (res_860026277 != 0)
	ALORS
		bFE_860026277=1
	FINSI
FINSI

# G3R16 suppression ECC
### SC / ALLOFACT:
#SI ( instSC> 0 )
#ALORS
#	res = i_LireInfoECC(instSC, 0)
#	SI (res != 0)
#	ALORS
#		bALLOFACT=1
#	FINSI
#FINSI

############################################################################
# Critere de distribution
############################################################################

# G3R16 suppression ECC
##-------------------------------------------------------------------------
## ALLOFACT / SC
##-------------------------------------------------------------------------
#SI bALLOFACT
#ALORS
#	SI cpt_redist == 0
#	ALORS
#		erreur=i_AjouterCouranteECC(instSC)
#	FINSI
#FINSI

#---------------------------------------------------------------------------
# FE
#---------------------------------------------------------------------------
SI bFE_860026277
ALORS
	erreur_860026277=i_AjouterCouranteECC(instFE_860026277)
FINSI

#----------------------------------------------------------------------------
# TRAFIC
#----------------------------------------------------------------------------
SI !bFE_860026277
ALORS
	res_860026277=i_LireInfoECC(instTRAFIC_860026277, 0)
	SI (res_860026277 != 0)
	ALORS
  	erreur_860026277 = i_LireChaineInfo( res_860026277, 0, 3, pt_InfoCompl_860026277)
   	erreur_860026277 = i_format_str2(pt_inst_860026277, "TRAF%s", pt_InfoCompl_860026277,0)
		instTRAFIC_860026277 = i_LireInstanceECC(pt_inst_860026277)
		SI (!instTRAFIC_860026277)
    ALORS
			code_errone_860026277 = 0xA0B0
			code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
			erreur_860026277 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026277,pt_inst_860026277,C_Article_860026277)
      SAUT DISTRI_ERR
    FINSI
	  erreur_860026277=i_AjouterCouranteECC(instTRAFIC_860026277)
		bAppelCSV_860026277 = 1
		bTRAFIC_860026277=1
	SINON
		i_strcpy(pt_LIBELREDIST_860026277,"Indicatif inconnu de MAJ2G")
		#pt_LIBELREDIST = "Indicatif inconnu de MAJ2G"
		bREDIST_860026277 = 1
		SAUT AVANT_REDIST
	FINSI
FINSI

#---------------------------------------------------------------------------
# DELTA MINUTES
#---------------------------------------------------------------------------
SI bFE_860026277
ALORS
	res_860026277=i_LireInfoECC(instTRAFIC_860026277, 0)
	SI (res_860026277 != 0)
	ALORS

		# recuperation du code CFR
		dizaine_860026277 = i_LireEntierInfo(res_860026277, 0, 1)
		unite_860026277 = i_LireEntierInfo(res_860026277, 1, 1)
		cfr_860026277 = (dizaine_860026277 & 0x0F) * 10 + (unite_860026277 & 0x0F)

  	erreur_860026277 = i_LireChaineInfo( res_860026277, 0, 3, pt_InfoCompl_860026277)
		erreur_860026277 = i_format_str2(pt_DM_860026277, "DM%s", pt_InfoCompl_860026277,0)
		instDM_860026277 = i_LireInstanceECC(pt_DM_860026277)
		SI (!instDM_860026277)
    ALORS
			code_errone_860026277 = 0xA0B0
			code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
			erreur_860026277 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026277,pt_DM_860026277,C_Article_860026277)
      SAUT DISTRI_ERR
    SINON
    	erreur_860026277=i_AjouterCouranteECC(instDM_860026277)
    FINSI
	SINON
			trace("Envoi en redistribution")
			i_strcpy(pt_LIBELREDIST_860026277,"Indicatif inconnu de MAJ2G")
			#pt_LIBELREDIST = "Indicatif inconnu de MAJ2G"
			bREDIST_860026277 = 1
			SAUT AVANT_REDIST
	FINSI
FINSI


##################################################################################
# Validation de la liste des ECCs destinataires
##################################################################################
erreur_860026277=i_ValiderListeECC( 0, 0, 0, 0)

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

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

SI ( !i_ChercherCouranteECC(instTRAFIC_860026277) )
ALORS
	i_strcpy(pt_EccFact_860026277,pt_inst_860026277)
	SI (i_dup_art_dest(g_iartin,g_iartout4,C_Ttrafic_860026277))
	ALORS
		code_errone_860026277 = 0xA0D0
		code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
		erreur_860026277 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026277,C_Ttrafic_860026277,C_Article_860026277)
		SAUT  DISTRI_ERR
	FINSI

	# DOMAINE
	erreur_860026277=i_set_art_str(g_iartout4, $TtraficN::DOMAINE, "05")

	# SERVICE
	erreur_860026277=i_set_art_str(g_iartout4, $TtraficN::SERVICE, "47")

	#IDUS_INF
	erreur_860026277 = i_set_art_field(g_iartout4,$TtraficN::IDUS_INF, IDUS_INF_860026277)

	#IDUS_NUM
	erreur_860026277=i_get_art_str(g_iartout,$Tmesplus::IDUS_NUM,pt_BUF_860026277)
	i_replace_str(pt_BUF_860026277,"BCDE","AJSC",pt_BUF_860026277)
	erreur_860026277=i_set_art_str(g_iartout4,$TtraficN::IDUS_NUM,pt_BUF_860026277)

	#DEDE_INF
	erreur_860026277 = i_set_art_field(g_iartout4,$TtraficN::DEDE_INF, DEDE_INF_860026277)

	#DEDE_NUM
	i_replace_str(pt_DEDE_NUM_860026277,"ABC","A*#",pt_BUF_860026277)
	erreur_860026277=i_set_art_str(g_iartout4,$TtraficN::DEDE_NUM,pt_BUF_860026277)

	#DATE
	erreur_860026277=i_set_art_field(g_iartout4, $TtraficN::DATE, ICAR_REL_860026277)

	#NDS_NUM
	SI i_valid_field_n(g_iartin, $Tmesplus::NOS_NUM)
	ALORS
		erreur_860026277 = i_set_art_str(g_iartout4,$TtraficN::NDS_NUM, pt_NOS_NUM_860026277)
	FINSI

	# C_csvI et Op_csvI
	erreur_860026277 = i_set_art_str(g_iartout4,$TtraficN::C_CSV1,pt_C_csv_860026277)
	erreur_860026277 = i_set_art_str(g_iartout4,$TtraficN::OP_CSV1,pt_Op_csv_860026277)

	#STY
	erreur_860026277 = i_transformer_bits(g_iartin,$Tmesplus::STY,"FV",pt_BUF_860026277)
	i_get_sub_str(pt_BUF_860026277, 0, 1, pt_BUF_860026277)
	erreur_860026277 = i_set_art_str(g_iartout4,$TtraficN::STY, pt_BUF_860026277)

	#champ SGTQS
	erreur_860026277=i_set_art_str(g_iartout4, $TtraficN::SGTQS, pt_SGTQS_860026277)

FINSI

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

SI ( !i_ChercherCouranteECC(instFE_860026277) )
ALORS
	i_strcpy(pt_EccFact_860026277,"FE")
	SI (i_dup_art_dest(g_iartin,g_iartout6,C_Tfe_860026277))
	ALORS
		trace("erreur de duplication de l'article")
		code_errone_860026277 = 0xA0D0
		code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
		erreur_860026277 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026277,C_Tfe_860026277,C_Article_860026277)
		SAUT DISTRI_ERR
	FINSI

	#SERVICE
	erreur_860026277=i_set_art_str(g_iartout6,$Tfe::SERVICE,"47")

	#IDUS_INF
	erreur_860026277 = i_set_art_field(g_iartout6,$Tfe::IDUS_INF, IDUS_INF_860026277)

	#IDUS_NUM
	erreur_860026277=i_get_art_str(g_iartout,$Tmesplus::IDUS_NUM,pt_BUF_860026277)
	i_replace_str(pt_BUF_860026277,"BCDE","AJSC",pt_BUF_860026277)
	erreur_860026277=i_set_art_str(g_iartout6,$Tfe::IDUS_NUM,pt_BUF_860026277)

	#DEDE_NUM
	i_replace_str(pt_DEDE_NUM_860026277,"ABC","A*#",pt_BUF_860026277)
	erreur_860026277=i_set_art_str(g_iartout6,$Tfe::DEDE_NUM,pt_BUF_860026277)

	#DATE
	erreur_860026277=i_set_art_field(g_iartout6, $Tfe::DATE, ICAR_REL_860026277)

	#NDS_INF
	SI i_valid_field_n(g_iartin, $Tmesplus::NOS_INF)
	ALORS
		res_860026277 = i_get_art_field(g_iartin,$Tmesplus::NOS_INF)
		erreur_860026277 = i_set_art_field(g_iartout6,$Tfe::NDS_INF, res_860026277)
	FINSI

	#NDS_NUM
	SI i_valid_field_n(g_iartin, $Tmesplus::NOS_NUM)
	ALORS
		erreur_860026277 = i_set_art_str(g_iartout6,$Tfe::NDS_NUM, pt_NOS_NUM_860026277)
	FINSI

	# Gestion des champs C_CSVI et OP_CSVI
	erreur_860026277 = i_set_art_str(g_iartout6,$Tfe::C_CSV1,pt_C_csv_860026277)
	erreur_860026277 = i_set_art_str(g_iartout6,$Tfe::OP_CSV1,pt_Op_csv_860026277)

	# creation de l'enveloppe pour c_libre
	SI ( cpt_redist_860026277 == 0 )
	ALORS
		erreur_860026277 = i_add_opt( "E_FE" )
		erreur_860026277 = i_set_attr_val( "CFR", cfr_860026277)
	FINSI

FINSI

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

SI ( !i_ChercherCouranteECC(instDM_860026277) )
ALORS
	SI (i_dup_art_dest(g_iartin,g_iartout5,C_Tdelta_minute_860026277))
	ALORS
		code_errone_860026277 = 0xA0D0
		code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
		erreur_860026277 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026277,C_Tdelta_minute_860026277,C_Article_860026277)
		SAUT  DISTRI_ERR
	FINSI

	#DOMAINE
	erreur_860026277=i_set_art_str(g_iartout5,$Tdelta_minute::DOMAINE,"05")

	#SERVICE
	erreur_860026277=i_set_art_str(g_iartout5,$Tdelta_minute::SERVICE,"47")

	#IDUS_INF
	erreur_860026277=i_set_art_field(g_iartout5,$Tdelta_minute::IDUS_INF,IDUS_INF_860026277)

	#IDUS_NUM
	erreur_860026277=i_get_art_str(g_iartout,$Tmesplus::IDUS_NUM,pt_BUF_860026277)
	i_replace_str(pt_BUF_860026277,"BCDE","AJSC",pt_BUF_860026277)
	erreur_860026277=i_set_art_str(g_iartout5,$Tdelta_minute::IDUS_NUM,pt_BUF_860026277)

	#DEDE_NUM
	i_replace_str(pt_DEDE_NUM_860026277,"ABC","A*#",pt_BUF_860026277)
	erreur_860026277=i_set_art_str(g_iartout5,$Tdelta_minute::DEDE_NUM,pt_BUF_860026277)

	#DATE
	erreur_860026277=i_set_art_field(g_iartout5, $Tdelta_minute::DATE, ICAR_REL_860026277)

	#NDS_NUM
	SI i_valid_field_n(g_iartin, $Tmesplus::NOS_NUM)
	ALORS
		erreur_860026277 = i_set_art_str(g_iartout5,$Tdelta_minute::NDS_NUM, pt_NOS_NUM_860026277)
	FINSI

	# Gestion des champ C_CSV1 et OP_CSV1
	erreur_860026277 = i_set_art_str(g_iartout5,$Tdelta_minute::C_CSV1,pt_C_csv_860026277)
	erreur_860026277 = i_set_art_str(g_iartout5,$Tdelta_minute::OP_CSV1,pt_Op_csv_860026277)

	#STY
	erreur_860026277 = i_transformer_bits(g_iartin,$Tmesplus::STY,"FV",pt_BUF_860026277)
	i_get_sub_str(pt_BUF_860026277, 0, 1, pt_BUF_860026277)
	erreur_860026277 = i_set_art_str(g_iartout5,$Tdelta_minute::STY, pt_BUF_860026277)

	#champ SGTQS
	erreur_860026277=i_set_art_str(g_iartout5, $Tdelta_minute::SGTQS, pt_SGTQS_860026277)
FINSI


POINT AVANT_REDIST
#SI ( cpt_redist == 0 )
#ALORS
# G3R16 suppression ECC
#	#---------------------------------------------------------------------------
#	# Alimentation de ALLOFACT / SC
#	#---------------------------------------------------------------------------
#
#	SI ( !i_ChercherCouranteECC(instSC) )
#	ALORS
#		SI (i_dup_art_dest(g_iartin,g_iartout3,C_TscTmesplus))
#		ALORS
#			trace("erreur de duplication de l'article")
#			code_errone = 0xA0D0
#			code_errone = code_errone + EFFICACE
#			erreur = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone,C_TscTmesplus,C_Article)
#			SAUT DISTRI_ERR
#		FINSI
#
#		#IDUS_NUM
#		erreur=i_get_art_str(g_iartout,$Tmesplus::IDUS_NUM,pt_BUF)
#		i_replace_str(pt_BUF,"BCDE","AJSC",pt_BUF)
#		erreur=i_set_art_str(g_iartout3,$TscTmesplus::IDUS_NUM,pt_BUF)
#
#		#DUREE
#		DUREE = i_get_art_field(g_iartout,$Tmesplus::DUREE)
#		erreur=i_set_art_field(g_iartout3,$TscTmesplus::DUREE,DUREE)
#
#	  #DEDE_NUM
#		erreur=i_get_art_str(g_iartout,$Tmesplus::DEDE_NUM,pt_BUF)
#		i_replace_str(pt_DEDE_NUM,"ABC","A*#",pt_BUF)
#	        erreur=i_set_art_str(g_iartout3,$TscTmesplus::DEDE_NUM,pt_BUF)
#
#		#CHAMP ETAP
#        	erreur=i_get_art_str(g_iartout,$Tmesplus::ETAPE,pt_BUF)
#         	erreur=i_set_art_str(g_iartout3,$TscTmesplus::ETAP,pt_BUF)
#
#		#CHAMP DATE
#		erreur = i_set_art_field(g_iartout3,$TscTmesplus::DATE,ICAR_ABS)
#
#	        # champ CS1
#		# SI (bAppelCSV == 0 )
#		SI ( !bTRAFIC && !bFE )
#	        ALORS
#	                erreur = i_set_art_str( g_iartout3,$TscTmesplus::CS1,"   ")
#	        SINON
#		        # on veut c_csv cadre a gauche et op_csv cadre a droite
#	        	erreur = i_format_str2(pt_BUF,"%s%s",pt_C_csv, "  ")
#	        	i_get_sub_str(pt_BUF, 0, 1, pt_BUF)
#	        	erreur = i_format_str2(pt_BUF1,"%s%s",pt_BUF,pt_Op_csv)
#	                erreur = i_set_art_str( g_iartout3,$TscTmesplus::CS1,pt_BUF1)
#	        FINSI
#
#    	FINSI
#FINSI

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

POINT ENVOI_SYMP
SI ( cpt_redist_860026277 == 0 )
ALORS
	SI ( i_ChercherCouranteECC(instSYMP_860026277) == 0)
	ALORS
		SI ( i_dup_art_id(g_iartin,g_iartout2) )
		ALORS
			trace("Erreur de i_dup_art")
			code_errone_860026277 = 0xA0D0
			code_errone_860026277 = code_errone_860026277 + EFFICACE_860026277
			erreur_860026277 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026277,C_TsymTmesplus_860026277,C_Article_860026277)
			SAUT  DISTRI_ERR
		FINSI
		erreur_860026277 = i_rename_art(g_iartout2, C_TsymTmesplus_860026277)

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

		#*** Ajout Champs obligatoires *** (Source CI Symphonie)
		# Avec flag = 0, i_ajoutChampNum cree tous les champs obligatoires
		erreur_860026277 = i_ajoutChampNum(g_iartout2, $TsymTmesplus::T4eccfact,$TsymTmesplus::ECC_FACT,0)
		# ECC FACT
		erreur_860026277 = i_set_art_str(g_iartout2, $TsymTmesplus::ECC_FACT, pt_EccFact_860026277)

		# SGTQS
		erreur_860026277=i_set_art_str(g_iartout2,$TsymTmesplus::SGTQS,pt_SGTQS_860026277)

		# CCD
		erreur_860026277=i_set_art_field(g_iartout2,$TsymTmesplus::CCD, C_CCD_860026277)

		#*** Ajout Champs facultatifs ***
		SI (EFFICACE_860026277 == 1)
		ALORS

			# NBCOD
			erreur_860026277 = i_ajoutChampNum(g_iartout2, $TsymTmesplus::T4nbcod,$TsymTmesplus::NBCOD,0)
			SI ( !bTRAFIC_860026277 && !bFE_860026277)
		        ALORS
		                erreur_860026277 = i_set_art_field( g_iartout2,$TsymTmesplus::NBCOD,0)
		        SINON
		                erreur_860026277 = i_set_art_field( g_iartout2,$TsymTmesplus::NBCOD,1)
		        FINSI

			# CSV
			erreur_860026277 = i_ajoutChampNum(g_iartout2, $TsymTmesplus::T4csv,$TsymTmesplus::CSV,0)
			SI ( !bTRAFIC_860026277 && !bFE_860026277)
		  ALORS
				erreur_860026277 = i_set_art_str( g_iartout2,$TsymTmesplus::CSV," ")
			SINON
				# on veut c_csv cadre a gauche et op_csv cadre a droite
				erreur_860026277 = i_format_str2(pt_BUF_860026277,"%s%s",pt_C_csv_860026277, "  ")
				i_get_sub_str(pt_BUF_860026277, 0, 1, pt_BUF_860026277)
				erreur_860026277 = i_format_str2(pt_BUF1_860026277,"%s%s",pt_BUF_860026277,pt_Op_csv_860026277)
				erreur_860026277 = i_set_art_str( g_iartout2,$TsymTmesplus::CSV,pt_BUF1_860026277)
			FINSI

			# DATE LOCALE si IDUS DOM
			SI (numzone_860026277 != 7)
			ALORS
				erreur_860026277 = i_ajoutChampNum(g_iartout2, $TsymTmesplus::T4hlahm1,$TsymTmesplus::HLAHM1,0)
				erreur_860026277=i_set_art_field(g_iartout2,$TsymTmesplus::HLAHM1, ICAR_REL_860026277)
			FINSI
		FINSI

	FINSI
FINSI


############################################################################
# Envoi vers IECC
############################################################################
#---------- ENVOI A SYMPHONIE ET ALLOFACT AU PREMIER PASSAGE ----------------
#----------------------------------------------------------------------------
# SYMPHONIE
#----------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instSYMP_860026277) )
ALORS
	erreur_860026277=i_stocke_art_iecc(g_iartout2, instSYMP_860026277)
	trace("Emission vers SYMPHONIE reussie")
FINSI

# G3R16 suppression ECC
##-------------------------------------------------------------------------
## ALLOFACT / SC
##-------------------------------------------------------------------------
#SI ( !i_ChercherCouranteECC(instSC)  )
#ALORS
#	trace( "__FILE__: Emission vers ALLOFACT / SC" )
#	res = i_stocke_art_iecc(g_iartout3, instSC)
#FINSI


#--------- test si envoi en redistribution -------------------------------
SI (bREDIST_860026277 == 1)
ALORS
	SAUT DISTRI_REDIST
FINSI
#-------------------------------------------------------------------------


#-------------------------------------------------------------------------
# TRAFIC
#-------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instTRAFIC_860026277) )
ALORS
	trace( "__FILE__: Emission vers TRAFIC" )
	res_860026277 = i_stocke_art_iecc(g_iartout4, instTRAFIC_860026277)
FINSI

#-------------------------------------------------------------------------
# DELTAMINUTE
#-------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instDM_860026277) )
ALORS
	trace( "__FILE__: Emission vers DELTAMINUTE" )
	res_860026277 = i_stocke_art_iecc(g_iartout5, instDM_860026277)
FINSI

#-------------------------------------------------------------------------
# FE
#-------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instFE_860026277) )
ALORS
	trace( "__FILE__: Emission vers FE" )
	res_860026277 = i_stocke_art_iecc(g_iartout6, instFE_860026277)
FINSI

SAUT DISTRI_FIN

############################################################################
# Stockage en Errone
############################################################################
POINT DISTRI_ERR

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

erreur_860026277 = i_make_art_rej(g_iartin, g_iartout, code_errone_860026277)
erreur_860026277 = i_stocke_art(g_iartout,0,PT_ERRONE,0)

SAUT DISTRI_FIN


###########################################################################
# Stockage en elimine
###########################################################################
#POINT DISTRI_ELM
#
#trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en ELIMINE" )
#
#erreur = i_stocke_art( g_iartin, 0, PT_ELIMINE, 0 )
#
#SAUT DISTRI_FIN

############################################################################
# Stockage en Redistribution
############################################################################
POINT DISTRI_REDIST
SI (cpt_redist_860026277 == 0)
ALORS
	erreur_860026277 = i_PlvMessEmettre(8503,2,g_iartin,"",3,pt_LIBELREDIST_860026277,C_Article_860026277,pt_SGTQS_860026277)
FINSI

trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en REDISTRIBUTION" )
res_860026277 = i_stocke_art( g_iartin, 0, PT_REDIST|RD_TABLE5, 0 )

SAUT DISTRI_FIN

# Fin fichier distribution
POINT DISTRI_FIN
trace("Fin du Pcode de distribution Tmesplus ")
RETOUR TRAIT_OK
