DEFINITION NUMTAB_860026254 1
DEFINITION ZONEMETRO_860026254 7
DEFINITION CODE_NUMERIS_860026254 3
DEFINITION CATEG_860026254 8
DEFINITION BASE_TELEPHONE_860026254 1
DEFINITION RES_CLDEST_860026254 1
DEFINITION RES_TYPCTR_860026254 2
DEFINITION CPT_REJET3_860026254 12
DEFINITION C_Article_860026254 "Tch6dea"
DEFINITION C_84008_860026254 "84008"
DEFINITION TYPCTR_Fact_Loc_860026254 16
DEFINITION TYPCTR_Fact_RI_860026254 17
DEFINITION C_DATCPS_860026254 "DATCPS"
DEFINITION TD_SVA_860026254 9
DEFINITION C_INST_ALICE_860026254 "ALICE"
REGISTRE ENTIER APPLI_860026254
REGISTRE ENTIER ART_860026254
REGISTRE ENTIER bCENT_860026254
REGISTRE ENTIER bFOR_860026254
REGISTRE ENTIER bREDIST_860026254
REGISTRE ENTIER CCD_860026254
REGISTRE ENTIER CCD_REEL_860026254
REGISTRE ENTIER CentDestOK_860026254
REGISTRE ENTIER code_errone_860026254
REGISTRE ENTIER CORR_OK_860026254
REGISTRE ENTIER DC_CAA_860026254
REGISTRE ENTIER DC_MAYOTTE_EXPE_860026254
REGISTRE ENTIER ddebut_860026254
REGISTRE ENTIER dduree_860026254
REGISTRE ENTIER dpivot_860026254
REGISTRE ENTIER EFFICACE_860026254
REGISTRE ENTIER EPORTABILITE_860026254
REGISTRE ENTIER EPORTABILITE_SCP_860026254
REGISTRE ENTIER erreur_860026254
REGISTRE ENTIER gmt_date_860026254
REGISTRE ENTIER ICAR_ABS_860026254
REGISTRE ENTIER ICAR_REL_860026254
REGISTRE ENTIER id_corr_860026254
REGISTRE ENTIER INEF_SPECIAUX_860026254
REGISTRE ENTIER INF_860026254
REGISTRE ENTIER instCENTDEA_860026254
REGISTRE ENTIER instSYMP_860026254
REGISTRE ENTIER L_pt_DEDE_NORM_860026254
REGISTRE ENTIER lgr_860026254
REGISTRE ENTIER longueur_860026254
REGISTRE ENTIER MINE_860026254
REGISTRE ENTIER module_corr_ok_860026254
REGISTRE ENTIER res_860026254
REGISTRE ENTIER sdate_860026254
REGISTRE ENTIER SPORTABILITE_860026254
REGISTRE ENTIER SPORTABILITE_SCP_860026254
REGISTRE ENTIER STY_860026254
REGISTRE ENTIER tax_860026254
REGISTRE ENTIER TIDAV_860026254
REGISTRE ENTIER trait_ok_860026254
REGISTRE ENTIER typ_ctr_860026254
REGISTRE ENTIER val_INEF_860026254
REGISTRE ENTIER valA_860026254
REGISTRE ENTIER valB_860026254
REGISTRE ENTIER valC_860026254
REGISTRE ENTIER valD_860026254
REGISTRE ENTIER valE_860026254
REGISTRE ENTIER valF_860026254
REGISTRE ENTIER valG_860026254
REGISTRE ENTIER valH_860026254
REGISTRE ENTIER valI_860026254
REGISTRE ENTIER b_Fact_CPS_Loc_860026254
REGISTRE ENTIER b_Fact_CPS_RI_860026254
REGISTRE ENTIER Date_CPS_860026254
REGISTRE ENTIER instALICE_860026254
REGISTRE ENTIER val_860026254
REGISTRE POINTEUR pt_cas_corr_860026254
REGISTRE POINTEUR pt_DEDE_DIST_N_860026254
REGISTRE POINTEUR pt_DEDE_NORM_860026254
REGISTRE POINTEUR pt_IDAV_860026254
REGISTRE POINTEUR pt_IDAV_DIST_N_860026254
REGISTRE POINTEUR pt_INEF_COMMUT_860026254
REGISTRE POINTEUR pt_INEF_STD_860026254
REGISTRE POINTEUR pt_NNOS_860026254
REGISTRE POINTEUR pt_BUF_860026254
REGISTRE POINTEUR pt_CodeOp_860026254
REGISTRE POINTEUR pt_debNIDAV_860026254
REGISTRE POINTEUR pt_LIBELREDIST_860026254
REGISTRE POINTEUR pt_NORM_860026254
REGISTRE POINTEUR pt_PREF_HERISSON_860026254
REGISTRE POINTEUR pt_SGTQS_860026254
REGISTRE POINTEUR pt_TCOMMUT_860026254
REGISTRE POINTEUR pt_TEMP_860026254
REGISTRE POINTEUR pt_TEMP2_860026254
REGISTRE POINTEUR pt_MESSAGE_860026254
REGISTRE POINTEUR pt_CODE_TARIF_860026254
REGISTRE POINTEUR pt_TYPE_EDIT_860026254
REGISTRE POINTEUR pt_NDE_860026254
############################################################################
#
# Fichier : Tch6dea.src
#
# Version : %version: 19 %
#
# Date    : %date_modified: 29/04/02 17:51 %
#
# Distribution :
#    Article DEA efficace et inefficace sur acheminement non GSM
#
# En entree :
#	Article : Tch6dea
#
# En sortie :
#	SYMPHONIE		g_iartout
#	COMPTIDEA		g_iartout4	Suppression version G3R22
#	CENTAUREDEA		g_iartout2
#	NOFOR			g_iartout2
#	ALLOFACT_LOTS		g_iartout3	Suppression version G3R22
#	APACHE_DEA		g_iartout9
#	Conversion		g_iartout10
#
# FOEX594 - Prise en compte du parametre NOS en entree - 29/04/2002 - LRA.
#	17/06/2002 - PSA : FO1510  : Encapsulation pour le stockage en errone
#	16/07/2002 - RBE : Ajout variables EPORTABILITE et SPORTABILITE
#		           et Modif. mise au format NDEDE
#	25/09/2002 - MCH - V4.7    : IDAV_DIST_N pt_DEDE_DIST_N = 3622 ou 083601
#				     ---> Elimines explicite
#	21/10/2002 - PSA - FO50 : traduction du B et C pour le demande
#	24/10/2002 - PSA - FO34 : affectation de IDAV a DEDE pour FOR
#	28/10/2002 - RBE - FO34 : NDEDE=NDE si IDAV present
#	28/10/2002 - RBE : specif.4.8 : Modif. CCD en fonction de la portabilite
#	14/10/2002 - RBE : Ajout de l'envoi a APACHE
#	21/11/2002 - RBE : FO115 + Modif. alarme tables externes
#	02/12/2002 - NSA - Les DC envoyis en redist auparavant iront vers une
#	nouvelle instance du mjme type que FOR pour iviter l'engorgement de FOR
#	10/02/2003 - RBE : Envoi a SC si envoi vers une appli. de facturation
#			   Envoi en redistrib. si pb acces fichiers de distrib.
#	28/03/2003 - RBE - FO240 : envoi a symphonie si redist.
#	07/04/2003 - RBE : FO245 : recup. de MINE et APPLI si VN8(ART=4)
#	10/04/2003 - RBE : FO265 : ajout initialisation de MINE et APPLI
#	10/04/2003 - MCH - requete distri; date gmt
#	22/07/2003 - DRE - Modif calcul gmt_date
#	30/07/2003 - MCH - G2R0CJ SCP Correlation avec ajout CE
#	16/09/2003 - MCH - FO410 : pas de correl si pas d'IDAV
#	16/09/2003 - MCH - FO411 : envoi NOFOR apres correl
#	24/09/2003 - MCH - FO419 : envoi FOR apres correl
#	07/10/2003 - RBE - FO426 : manque test presence champ IDAV
#	22/10/2003 - MCH - FO424 : paliatif pour bug de lireChpCdc
#	18/12/2003 - RBE : FO528 : Modif. initialisation de pointeurs
#	06/01/2004 - PSA - FO529 : inhibition envoi correlation
#	07/01/2004 - PSA - FO530 : uniquement cas 2 : modification envoi a NOFOR
#	30/01/2004 - RBE - Ci:Modif.champs IDEDE NDEDE et NIDUS pour suiviConso
#	25/03/2004 - RBE - FO588 : traces erreurs a tort
#	05/01/2004 - MCH - Modif dupli SYMPH pour ajoutCE en redistri
#	01/05/2004 - MCH - G2R0Cl : Efficace si duree <> 0
#	13/06/2004 - PSA - FO869 : champ NIDUS pour suiviConso
#	12/10/2004 - THE - G2R0Caa creation centaure
#	24/01/2005 - RBE - G2R0Cnn : fusion Cn + Caa
#	21/02/2005 - RBE - FO1132 : erreur mise au format allofact + symphonie
#	15/04/2005 - FAL - FO1243 et FO1248 evolution HERISSON
#	09/05/2005 - FAL - FO1273 evol HERISSON avec Z = 6
#	12/05/2005 - FAL - FO1293 ECC_FACT contenu aleatoire NOFOR
#	02/05/2005 - FAL - G2R1Ck ajout COMPTISSIMO modification criteres distribution
#	09/06/2005 - THE - 1329
#	08/06/2005 - THE - FO1331 TIDAV
#	07/07/2005 - FAL - G2R1Cj fusion G2R1Ca G2R1Ck MAYOTTE et INEF speciaux APACHE
#	22/07/2005 - PSA - FO1390 : evolution HERISSON
#	14/09/2005 - DRE - FO1406 Retour Fonction i_LireInfoECC (doit etre != et non >)
#	25/10/2005 - PSA - G2R2Co : FO 1538
#	25/11/2005 - PKH - G2R2Ca Evolution  envoie des DC inefficaces N0 URGENCE a Apache
#	08/12/2005 - FAL - FO1379 utilisation IDAV si pas de NDE
#	29/12/2005 - PKH - G2R2Ca FO1641
#	05/01/2006 - DRE - FO1666 G2R2Ca Remplacement de i_retrait_tlv() par i_supprChamp()
#	05/01/2006 - FAL - FO1630 champ DEDE de COMPTISSIMO : partielle car 7860888080 NOK dans Norm_NDE_DEA
#	06/01/2006 - FAL - FO1673 evolution HERISSON modf FO1390
#	02/06/2006 - DRE THE FAL - G2R2Cw FO1811 evolution ANDROMEDE
#	02/06/2006 - DRE THE FAL - G2R2Cu FO1839 TIDAV
#	20/07/2006 - FAL - G2R2Cu FO1892 interrogation LAR BSS pour tout num IP
#	03/08/2006 - FAL - G2R2Cu FO1907 NDE court pour BDC FO1911 critere ANDROMEDE
#	04/08/2006 - FAL - G2R2Cu FO1914 NDIP PORTE GEO  FO1915 IICOM et NICOM FO1916 NIDAV ANDROMEDE
#	27/09/2006 - JLG - G2R2Cv evol critere ANDROMEDE : ajout CCD==0x1B
#	27/09/2006 - JLG - G2R2Cv evol critere distri : exclusion si REJET3 (119)
#	16/10/2006 - JLG - G2R2Cv report FO1997 (CENTDEA champ CI peut comporter T3G)
#	20/10/2006 - JLG - G2R2Cv FO2013 : trop de messages 7719
#	25/10/2006 - JLG - G2R2Cv modif pt_NORM car trop court
#	27/10/2006 - JLG - G2R2Cv report correction FO2018 G2R2Cq identification du demandeur T3G non Tetris
#	27/10/2006 - JLG - G2R2Cv FO2034 la valeur du CCD passe de 20 a 17 SCP tiers fourni a andromede
#	27/10/2006 - JLG - G2R2Cv FO2045 annule FO2034 (pas de SCP pour andromede)
#	27/11/2006 - RHE - G3R0Cy: ajout SIP premiere ligne (G3R0Cz)
#	27/11/2006 - RHE - G3R0Cy: envoi a ANDROMEDE pour les clients TETRIS & V1S
#	01/12/2006 - JLG - G2R2Cv FO2059 evol spec sortie Centaure
#	10/01/2007 - FAL RHE - G3R0Ca
#	30/01/2007 - RHE - G3ROCa lot2
#	16/02/2007 - PKH - G3R0CW
#	09/03/2007 - FAL - G3R0Cw FO2124 critere Andromede
#	28/05/2007 - THE - ParamFTSA-G3R2 report version G3R0Cw
#	08/06/2007 - THE - ParamFTSA-G3R2 FO 2175
#	19/11/2007 - FAL - G3R3Lot2 : FO2266 modif sortie vers CENTAURE
# 19/03/2009 - RHE - G3R12 QC200 suppression ECC
#	21/07/2011 - THE - G3R22 suppression envoi vers COMPTIDEA et ALLOFACT_LOTS
#	26/09/2011 - THE - VerifPcode
#	28/05/2013 - THE - G4R3 suppression envoi vers APACHE
#	28/05/2013 - THE - G4R3 suppression envoi vers NOFOR
# 	02/04/2014 - PSA - G4R6 lot 2 : mise en place C+S appelant
#	24/06/2014 - DRE - G4R7 QC829
#
############################################################################
# Declarations
############################################################################

#Constante

# G4R6 Lot2

# /G4R6 Lot2

#Entier


# G4R6 Lot2

# /G4R6 Lot2

#Pointeurs

# G4R6 Lot2
# /G4R6 Lot2


# Allocation de memoire pour le buffeur
pt_TEMP_860026254		 = "12345678912345678912345678123451234"
pt_TEMP2_860026254	 = "56757567886756565645645678123451234"
pt_DEDE_DIST_N_860026254	 = "20202020202020202020202020123451234"
pt_IDAV_DIST_N_860026254	 = "30303030303030303030303012399451234"
pt_DEDE_NORM_860026254	 = "12345678900000000000000000023451234"
pt_NNOS_860026254		 = "40404040404040404040404040404012345"
pt_SGTQS_860026254 	 = "60606060606012345"
pt_BUF_860026254		 = "11111111189123456789123456123451234"
pt_CodeOp_860026254	 = "04567890123456789012345678912312345"
pt_TCOMMUT_860026254	 = "21212121212121212121212121212112345"
pt_INEF_STD_860026254	 = "60606060606060606060606060606012345"
pt_INEF_COMMUT_860026254	 = "90909090909090909090909090909012345"
pt_LIBELREDIST_860026254	 = "pt_LIBELREDIST789012345678901234567890123456123457890123456789012345678901234561234578901234567890123456789012345612345789012345678901234567890123456123457890123456789012345678901234561234578901234567890123456789012345612345789012345678901234567890123456123"
pt_IDAV_860026254		 = "46564786674576789675464646464646464"
pt_cas_corr_860026254	 = "66666666666666666666"
pt_PREF_HERISSON_860026254 = "4447852141444785214144478521414447852141"
pt_debNIDAV_860026254	 = "222222222222"
pt_NORM_860026254		 = "389389389389389389389389389389389389389389389389389389"

# G4R6 Lot2
pt_MESSAGE_860026254 = "pt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGE"
pt_CODE_TARIF_860026254 	 = "pt_CODE_TARIFpt_CODE_TARIF"
pt_TYPE_EDIT_860026254	 = "pt_TYPE_EDIT"
pt_NDE_860026254		 = "pt_NDE3333333333333333333333333333333333333333"
# /G4R6 Lot2

# Initialisation Variables
TIDAV_860026254			= 0
longueur_860026254		= 0
EPORTABILITE_860026254		= 0
SPORTABILITE_860026254		= 0
CCD_860026254			= 255
instCENTDEA_860026254		= 0
instSYMP_860026254		= 0
DC_MAYOTTE_EXPE_860026254		= 0
ART_860026254			= 0xFFFFFFFF
MINE_860026254			= 0xFFFFFFFF
APPLI_860026254			= 0xFFFFFFFF
DC_CAA_860026254			= 0
EFFICACE_860026254 		= 0
bREDIST_860026254 		= 0
CORR_OK_860026254 		= 0
INEF_SPECIAUX_860026254		= 0
val_INEF_860026254 		= 0
module_corr_ok_860026254		= 0
EPORTABILITE_SCP_860026254	= 0
SPORTABILITE_SCP_860026254	= 0
CentDestOK_860026254		= 0
sdate_860026254			= -1

# G4R6 Lot2
b_Fact_CPS_Loc_860026254 = 0
b_Fact_CPS_RI_860026254 = 0

Date_CPS_860026254 = 0
instALICE_860026254 = -1
val_860026254 = 0
# /G4R6 Lot2


#Initialisation Pointeurs
i_strcpy(pt_NORM_860026254, "")
i_strcpy(pt_CodeOp_860026254, "")
i_strcpy(pt_DEDE_DIST_N_860026254, "")

# VerifPcode
i_strcpy(pt_cas_corr_860026254, "")
i_strcpy(pt_DEDE_NORM_860026254,"")
i_strcpy(pt_IDAV_860026254,"")
i_strcpy(pt_IDAV_DIST_N_860026254,"")
i_strcpy(pt_INEF_COMMUT_860026254,"")
i_strcpy(pt_INEF_STD_860026254,"")
i_strcpy(pt_NNOS_860026254,"")
i_strcpy(pt_BUF_860026254,"")
i_strcpy(pt_debNIDAV_860026254,"")
i_strcpy(pt_LIBELREDIST_860026254,"")
i_strcpy(pt_PREF_HERISSON_860026254,"")
i_strcpy(pt_SGTQS_860026254,"")
i_strcpy(pt_TCOMMUT_860026254,"")
i_strcpy(pt_TEMP_860026254,"")

# G4R6 Lot2
i_strcpy(pt_MESSAGE_860026254, "")
i_strcpy(pt_CODE_TARIF_860026254 , "    ")
i_strcpy(pt_TYPE_EDIT_860026254 , " ")
i_strcpy(pt_NDE_860026254,"")
# /G4R6 Lot2




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

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

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

# code SGTQS
i_strcpy(pt_SGTQS_860026254, i_LireEECSGTQS(g_ieec))

#gmt_date
ddebut_860026254 = i_get_art_field(g_iartin, $Tch6dea::ddebut)
SI (ddebut_860026254 == -1)
ALORS
	erreur_860026254 = i_PlvMessEmettre(8500, 2, g_iartin, "", 3, "Tch6dea:pas de ddebut", "i_get_art_field", g_ieec)
	SAUT DISTRI_ERR
FINSI
gmt_date_860026254 = i_DHgetCe2gTime(NUMTAB_860026254, ZONEMETRO_860026254, ddebut_860026254)

# date locale de debut pour BNC
sdate_860026254 = i_date_locale(g_ieec, g_iartin, ddebut_860026254)
SI (sdate_860026254 == -1)
ALORS
	erreur_860026254 = i_PlvMessEmettre(8500, 2, g_iartin, "",3, "Tch6dea", "i_date_locale sdate", g_ieec)
	SAUT DISTRI_ERR
FINSI

# article efficace si duree <> 0
dduree_860026254 = i_get_art_field(g_iartin, $Tch6dea::dduree)
#trace1(" INEF=<%d>", res )
SI (dduree_860026254 != 0)
ALORS
	EFFICACE_860026254 = 1
SINON
	EFFICACE_860026254 = 0
FINSI

SI (i_valid_field_n(g_iartin, $NDE )== 0)
ALORS
	INF_860026254 = i_get_art_field(g_iartin, $INF_IDAV)
SINON
	INF_860026254 = i_get_art_field(g_iartin, $INF_DEDE)
FINSI

STY_860026254 = i_get_art_field(g_iartin, $STY)

# TIDAV
########################################
SI (i_valid_field_n(g_iartin, $Tch6dea::NUM_IDAV))
ALORS
	longueur_860026254 = i_get_art_fieldlength(g_iartin, $Tch6dea::NUM_IDAV)
	SI longueur_860026254 > 8
	ALORS
		TIDAV_860026254 = 1
	FINSI
FINSI

dpivot_860026254 = i_get_art_field(g_iartin, $Tch6dea::dpivot)

# INEF_SPECIAUX
########################################
SI (i_valid_field_n(g_iartin, $NDE) == 0)
ALORS
	erreur_860026254 = i_get_art_str(g_iartin, $Tch6dea::NUM_IDAV, pt_NORM_860026254)
SINON
	erreur_860026254 = i_get_art_str(g_iartin, $Tch6dea::NDE, pt_NORM_860026254)
FINSI

val_INEF_860026254 = i_get_art_field(g_iartin, $Tch6dea::INEF)

# Article Mayotte expe : NDR commence par 269
########################################
SI i_valid_field_n(g_iartin, $Tch6dea::NDE)
ALORS
	erreur_860026254 = i_get_art_str(g_iartin, $Tch6dea::NDE, pt_BUF_860026254)
	longueur_860026254 = i_strlen(pt_BUF_860026254)

	SI ((g_iartin.NDR[0] == 0x2) && (g_iartin.NDR[1] == 0x6) && (g_iartin.NDR[2] == 0x9)) &&
	(longueur_860026254 == 6) && (g_iartin.NDE[0] == 0x6)
	ALORS
		DC_MAYOTTE_EXPE_860026254 = 1
	FINSI
FINSI

SI (DC_MAYOTTE_EXPE_860026254 == 1)
ALORS
	SAUT DISTRI_DIV
FINSI

# pt_DEDE_DIST_N
########################################
SI (i_valid_field_n(g_iartin, $NDE) == 0)
ALORS
	res_860026254 = i_get_art_str(g_iartin, $NUM_IDAV, pt_DEDE_DIST_N_860026254)
SINON
	res_860026254 = i_get_art_str(g_iartin, $NDE, pt_DEDE_DIST_N_860026254)
FINSI
i_get_sub_str(pt_DEDE_DIST_N_860026254, 5, 5, pt_TEMP2_860026254)

SI (i_valid_field_n(g_iartin, $Tch6dea::INF_IDAV))
ALORS
	INF_860026254 = i_get_art_field(g_iartin, $INF_IDAV)
FINSI

SI (( INF_860026254 & 0x04 ) != 0x04 )
ALORS
	SI ((i_strcmp(pt_TEMP2_860026254, "6")) == 0)
	ALORS
		i_get_sub_str(pt_DEDE_DIST_N_860026254, 0, 3, pt_TEMP_860026254)

		SI ((i_strcmp(pt_TEMP_860026254, "0996")) == 0 )
		ALORS
			i_get_sub_str(pt_DEDE_DIST_N_860026254, 4, 4, pt_TEMP_860026254)

			SI (((i_strcmp(pt_TEMP_860026254, "5")) == 0) || ((i_strcmp(pt_TEMP_860026254, "6")) == 0) || ((i_strcmp(pt_TEMP_860026254, "7")) == 0))
			ALORS
				i_get_sub_str(pt_DEDE_DIST_N_860026254, 5, -1, pt_DEDE_DIST_N_860026254)
			SINON
				i_get_sub_str(pt_DEDE_DIST_N_860026254, 0, 4, pt_PREF_HERISSON_860026254)
				code_errone_860026254 = 0xA0B0
				code_errone_860026254 = code_errone_860026254 + EFFICACE_860026254
				erreur_860026254 = i_PlvMessEmettre(6938, 2, g_iartin, "", 3, code_errone_860026254, C_Article_860026254, pt_PREF_HERISSON_860026254)
				SAUT DISTRI_ERR
			FINSI
		FINSI
	SINON
		i_get_sub_str(pt_DEDE_DIST_N_860026254, 4, 4, pt_TEMP2_860026254)
		SI ((i_strcmp(pt_TEMP2_860026254, "6")) == 0)
		ALORS
			i_get_sub_str(pt_DEDE_DIST_N_860026254, 0, 2, pt_TEMP_860026254)
			SI ((i_strcmp(pt_TEMP_860026254, "996")) == 0 )
			ALORS
				i_get_sub_str(pt_DEDE_DIST_N_860026254, 3, 3, pt_TEMP_860026254)
				SI (((i_strcmp(pt_TEMP_860026254, "5")) == 0) || ((i_strcmp(pt_TEMP_860026254, "6")) == 0) || ((i_strcmp(pt_TEMP_860026254, "7")) == 0))
				ALORS
					i_get_sub_str(pt_DEDE_DIST_N_860026254, 4, -1, pt_DEDE_DIST_N_860026254)
				SINON
					i_get_sub_str(pt_DEDE_DIST_N_860026254, 0, 3,pt_PREF_HERISSON_860026254)
					code_errone_860026254 = 0xA0B0
					code_errone_860026254 = code_errone_860026254 + EFFICACE_860026254
					erreur_860026254 = i_PlvMessEmettre(6938, 2, g_iartin, "", 3, code_errone_860026254, C_Article_860026254, pt_PREF_HERISSON_860026254 )
					SAUT DISTRI_ERR
				FINSI
			FINSI
		FINSI
	FINSI
FINSI

i_strcpy(pt_TEMP_860026254, pt_DEDE_DIST_N_860026254)
i_strcpy( pt_DEDE_DIST_N_860026254, Norm_NDE_DEA_860026233(pt_TEMP_860026254, STY_860026254,INF_860026254) )

# IDAV_DIST_N
########################################
SI (i_valid_field_n(g_iartin, $NUM_IDAV))
ALORS
	INF_860026254 = i_get_art_field(g_iartin, $INF_IDAV)
	res_860026254 = i_get_art_str(g_iartin, $NUM_IDAV, pt_IDAV_DIST_N_860026254)
	res_860026254 = i_set_art_str(g_iartin, $CORR_IDAV, pt_IDAV_DIST_N_860026254)
	i_strcpy(pt_TEMP_860026254, pt_IDAV_DIST_N_860026254)
	i_strcpy(pt_IDAV_DIST_N_860026254, Norm_NDE_DEA_860026233(pt_TEMP_860026254, STY_860026254,INF_860026254) )
FINSI

############################################################################
# Envoi en Correlation CORR
#  rajout de "&& typ_ctr != CPT_REJET3"
############################################################################
SI (i_valid_field_n(g_iartin, $NUM_IDAV))
ALORS
	erreur_860026254=i_get_art_str(g_iartin, $NUM_IDAV, pt_IDAV_860026254)
	res_860026254 = i_strlen(pt_IDAV_860026254)
	res_860026254 = res_860026254 - 9
	i_get_sub_str(pt_IDAV_860026254, res_860026254, -1, pt_IDAV_DIST_N_860026254)
FINSI

# Inhibition de la correlation
########################################
SI ( (module_corr_ok_860026254) && (g_ipt == PT_OK) && EFFICACE_860026254 && ( !i_strplcmp(pt_IDAV_860026254, "840", 0, 3 )
  || !i_strplcmp(pt_IDAV_DIST_N_860026254, "81", 0, 2) || !i_strplcmp(pt_IDAV_DIST_N_860026254, "82", 0, 2) ) 
  && i_valid_field_n(g_iartin, $NUM_IDAV) )
ALORS
	#trace("===== DIST: Article mis en CORRELE =====")
	erreur_860026254 = i_initialiserPrmCorr(g_iartin)
	#trace1("CORR_DIST - code retour i_initialiserPrmCorr %d", erreur)
	#trace("CORR_DIST - Ajout cas correlation")
	i_strcpy(pt_cas_corr_860026254, "SCP_1")

	# Calcul de id_corr : NDR
	lgr_860026254 = i_get_art_fieldlength(g_iartin, $NDR)
	SI (lgr_860026254 >= 1)
	ALORS
		valI_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-1)
	SINON
		valI_860026254 = 0
	FINSI
	SI (lgr_860026254 >= 2)
	ALORS
		valH_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-2)
	SINON
		valH_860026254 = 0
	FINSI
	SI (lgr_860026254 >= 3)
	ALORS
		valG_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-3)
	SINON
		valG_860026254 = 0
	FINSI
	SI (lgr_860026254 >= 4)
	ALORS
		valF_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-4)
	SINON
		valF_860026254 = 0
	FINSI
	SI (lgr_860026254 >= 5)
	ALORS
		valE_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-5)
	SINON
		valE_860026254 = 0
	FINSI
	SI (lgr_860026254 >= 6)
	ALORS
		valD_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-6)
	SINON
		valD_860026254 = 0
	FINSI
	SI (lgr_860026254 >= 7)
	ALORS
		valC_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-7)
	SINON
		valC_860026254 = 0
	FINSI
	SI (lgr_860026254 >= 8)
	ALORS
		valB_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-8)
	SINON
		valB_860026254 = 0
	FINSI
	SI (lgr_860026254 >= 9)
	ALORS
		valA_860026254 = i_get_art_fieldtab(g_iartin, $NDR, lgr_860026254-9)
	SINON
		valA_860026254 = 0
	FINSI
	SI ((valA_860026254 < 0) || (valA_860026254 > 9))
	ALORS
		valA_860026254 = 0
	FINSI
	SI ((valB_860026254 < 0) || (valB_860026254 > 9))
	ALORS
		valB_860026254 = 0
	FINSI
	SI ((valC_860026254 < 0) || (valC_860026254 > 9))
	ALORS
		valC_860026254 = 0
	FINSI
	SI ((valD_860026254 < 0) || (valD_860026254 > 9))
	ALORS
		valD_860026254 = 0
	FINSI
	SI ((valE_860026254 < 0) || (valE_860026254 > 9))
	ALORS
		valE_860026254 = 0
	FINSI
	SI ((valF_860026254 < 0) || (valF_860026254 > 9))
	ALORS
		valF_860026254 = 0
	FINSI
	SI ((valG_860026254 < 0) || (valG_860026254 > 9))
	ALORS
		valG_860026254 = 0
	FINSI
	SI ((valH_860026254 < 0) || (valH_860026254 > 9))
	ALORS
		valH_860026254 = 0
	FINSI
	SI ((valI_860026254 < 0) || (valI_860026254 > 9))
	ALORS
		valI_860026254 = 0
	FINSI
	id_corr_860026254 = (valA_860026254*100000000) + (valB_860026254*10000000) + (valC_860026254*1000000) + (valD_860026254*100000) + (valE_860026254*10000) + (valF_860026254*1000) + (valG_860026254*100) + (valH_860026254*10) + valI_860026254
	#trace2("CORR_DIST - cas: %s", pt_cas_corr, "")
	#trace1("CORR_DIST - id: %d", id_corr)
	erreur_860026254 = i_ajouterPrmCorr(g_iartin, pt_cas_corr_860026254, id_corr_860026254)
	#trace1("CORR_DIST - code retour i_ajouterPrmCorr %d", erreur)
	erreur_860026254 = i_stocke_art(g_iartin, 0, PT_CORRELE, 0)
FINSI

SI ( g_ipt == PT_CORRELE )
ALORS
	CORR_OK_860026254 = 1
FINSI

erreur_860026254 = i_get_art_str(g_iartin, $Tch6dea::INEF, pt_INEF_COMMUT_860026254)

# ICAR_ABS et ICAR_REL
########################################
ICAR_ABS_860026254 = i_get_art_field(g_iartin, $DATE)
SI (ICAR_ABS_860026254 == -1 )
ALORS
	erreur_860026254 = i_PlvMessEmettre(8500, 2, g_iartin, "", 3,"Tch6dea:pas de champ DATE", "i_get_art_field", g_ieec)
	SAUT DISTRI_ERR
FINSI
ICAR_REL_860026254 = i_date_locale(g_ieec, g_iartin, ICAR_ABS_860026254)

SI (ICAR_REL_860026254 == -1)
ALORS
	erreur_860026254 = i_PlvMessEmettre(8500, 2, g_iartin, "", 3,"Tch6dea", "i_date_locale", g_ieec)
	SAUT DISTRI_ERR
FINSI

tax_860026254 = i_get_art_field(g_iartin, $Tch6dea::tax)

#trace2("SGTQS=<%s>", pt_SGTQS, "")

# INEFF et la com est assurree par un CAA
########################################
SI (!EFFICACE_860026254)
ALORS
	ART_860026254 = i_bloc_V1V2_recupererIdent(ART_BLOC_V1V2)
	SI (ART_860026254 == 4)
	ALORS
		MINE_860026254 = i_bloc_V1V2_recupererIdent(MINE_BLOC_V1V2)
		APPLI_860026254 = i_bloc_V1V2_recupererIdent(APPLI_BLOC_V1V2)
	FINSI
	#trace1("champ ART : %x",ART)
	#trace1("champ MINE : %x",MINE)
	#trace1("champ APPLI : %x",APPLI)

	pt_TCOMMUT_860026254 = type_commut_860026233("APA1", pt_SGTQS_860026254, dpivot_860026254)
	SI (pt_TCOMMUT_860026254 == g_inull)
	ALORS
		erreur_860026254 = i_format_str2(pt_TEMP_860026254, " %s", pt_SGTQS_860026254, 0)
		erreur_860026254 = i_PlvMessEmettre(8505, 2, g_iartin, "", 3, "Tch6dea/type_commut", pt_TEMP_860026254, g_ieec)
	SINON
		pt_INEF_STD_860026254 = inef_std_860026233("APA2", pt_TCOMMUT_860026254, pt_INEF_COMMUT_860026254, dpivot_860026254)
		SI (pt_INEF_STD_860026254 == g_inull)
		ALORS
			#trace("Code inef absent dans la table")
			erreur_860026254 = i_format_str2(pt_TEMP_860026254, " %s", pt_INEF_COMMUT_860026254, 0)
			erreur_860026254 = i_PlvMessEmettre(8505, 2, g_iartin, "", 3, "Tch6dea/inef_std", pt_TEMP_860026254, g_ieec)
		SINON
			DC_CAA_860026254 = 1
		FINSI
	FINSI
	#trace2(" Type de commutateur <%s>", pt_TCOMMUT, "")
	#trace2(" Code inefficace standard <%s>", pt_INEF_STD, "")
	#trace1(" DC_CAA <%d>", DC_CAA)
FINSI

# Portabilite
########################################
SI (i_valid_field_n(g_iartin,$NDE) == 0)
ALORS
	erreur_860026254 = i_get_art_str(g_iartin, $NUM_IDAV, pt_BUF_860026254)
SINON
	erreur_860026254 = i_get_art_str(g_iartin, $NDE, pt_BUF_860026254)
FINSI

pt_CodeOp_860026254 = CodeOperateur_860026233(gmt_date_860026254, pt_BUF_860026254)
#trace2("  resultat CodeOperateur <%s>",pt_CodeOp,"")

SI (!i_strcmp(pt_CodeOp_860026254, "84208"))
ALORS
	EPORTABILITE_860026254 = 1
SINON
	SI (pt_CodeOp_860026254 != g_inull)
	ALORS
		SPORTABILITE_860026254 = 1
	FINSI
FINSI
#trace1("PORTABILITE ENTRANTE =<%d>", EPORTABILITE)
#trace1("PORTABILITE SORTANTE =<%d>", SPORTABILITE)
#trace1("CCD REEL = <%d>", CCD)

# EPORTABILITE_SCP et SPORTABILITE_SCP
i_strcpy(pt_TEMP_860026254, pt_DEDE_DIST_N_860026254)
#trace2(" appel CodeOperateur ACLA <%s> ",pt_TEMP,"")
pt_CodeOp_860026254 = CodeOperateurTable6_860026233(gmt_date_860026254, pt_TEMP_860026254, "ACLA")
#trace2(" Result CodeOperateurTable6 ACLA <%s>", pt_CodeOp, "")

SI (i_strcmp(pt_CodeOp_860026254, C_84008_860026254) == 0)
ALORS
	EPORTABILITE_SCP_860026254 = 1
SINON
	SI (pt_CodeOp_860026254 != g_inull)
	ALORS
		SPORTABILITE_SCP_860026254 = 1
	FINSI
FINSI
#trace1("EPORTABILITE_SCP <%d>", EPORTABILITE_SCP)
#trace1("SPORTABILITE_SCP <%d>", SPORTABILITE_SCP)

CCD_REEL_860026254 = 255

# Normalisation Demandeur
########################################
i_strcpy(pt_BUF_860026254, "**00")
erreur_860026254 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDR, pt_BUF_860026254, 5)
i_get_sub_str(pt_DEDE_DIST_N_860026254, 0, 0, pt_TEMP2_860026254)

SI ((i_strcmp(pt_TEMP2_860026254, "0") != 0) && (i_strlen(pt_DEDE_DIST_N_860026254) > 6))
ALORS
	erreur_860026254 = i_format_str2(pt_TEMP_860026254, "%s%s", "0", pt_DEDE_DIST_N_860026254)
SINON
	i_strcpy(pt_TEMP_860026254, pt_DEDE_DIST_N_860026254)
FINSI
res_860026254 = i_strlen(pt_TEMP_860026254)

SI(res_860026254>10)
ALORS
	i_get_sub_str(pt_TEMP_860026254, 0, 9, pt_BUF_860026254)
	erreur_860026254 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDE, pt_BUF_860026254, 11)
SINON
	erreur_860026254 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDE,pt_TEMP_860026254, res_860026254 + 1)
FINSI

#################################### Appel Base de comptage ################################

g_icopo.TAXE   = 0
g_icopo.CREDIT = 0
erreur_860026254 = i_set_art_date(g_icopo, sdate_860026254)
g_icopo.DUREE  = 0
g_icopo.CODE   = CODE_NUMERIS_860026254
g_icopo.CATEG  = CATEG_860026254
g_icopo.SUP[0] = 0
g_icopo.SUP[1] = 0
g_icopo.SUP[2] = 0
g_icopo.SUP[3] = 0
g_icopo.SUP[4] = 0
g_icopo.SUP[RES_CLDEST_860026254] = 0xff
erreur_860026254 = i_comptage(g_icopo, BASE_TELEPHONE_860026254, sdate_860026254)
SI (erreur_860026254 == 0)
ALORS
	CCD_860026254 = g_icopo.SUP[RES_CLDEST_860026254]
FINSI

# CCD_REEL
########################################
SI EPORTABILITE_860026254 == 1
ALORS
	CCD_REEL_860026254 = 212
SINON
	SI EPORTABILITE_SCP_860026254 == 1
	ALORS
		CCD_REEL_860026254 = 218
	SINON
		SI SPORTABILITE_SCP_860026254 == 1
		ALORS
			CCD_REEL_860026254 = 219
		SINON
			CCD_REEL_860026254 = CCD_860026254
		FINSI
	FINSI
FINSI

#####################################
# Controle sur  le type de controle #
#####################################
typ_ctr_860026254 = g_icopo.SUP[RES_TYPCTR_860026254]
#trace1(" *** typ_ctr   <%d>", typ_ctr)

# G4R6 Lot2

SI ( typ_ctr_860026254 == TYPCTR_Fact_Loc_860026254)
	ALORS
	b_Fact_CPS_Loc_860026254 =1
FINSI

SI ( typ_ctr_860026254 == TYPCTR_Fact_RI_860026254)
	ALORS
	b_Fact_CPS_RI_860026254 =1
FINSI


SI (b_Fact_CPS_Loc_860026254 == 1) || (b_Fact_CPS_RI_860026254 == 1)
	ALORS
	erreur_860026254=i_cree_art("Conversion",g_iartout10)
	i_strcpy(pt_TEMP_860026254, i_get_tab_field( "TDATCPS", gmt_date_860026254, C_DATCPS_860026254 ))

	erreur_860026254 = i_set_art_str (g_iartout10,$Conversion::DATE_STR,pt_TEMP_860026254)
	Date_CPS_860026254 = i_get_art_field(g_iartout10, $Conversion::DATE_ASC)

	SI ddebut_860026254 < Date_CPS_860026254
		ALORS
		erreur_860026254 = i_format_str2(pt_MESSAGE_860026254," AR <%s> avec date DC inferieure a la date d'activation <%s> de la facturation CPS",pt_DEDE_DIST_N_860026254,pt_TEMP_860026254)
		code_errone_860026254 = 0xA080
		code_errone_860026254 = code_errone_860026254 + EFFICACE_860026254
		erreur_860026254 = i_PlvMessEmettre( 8599, 1, g_iartin,"", 3,code_errone_860026254, C_Article_860026254, pt_MESSAGE_860026254 )
		SAUT DISTRI_DIV
	SINON
		#######################################
		#  Soumission de la requete de consultation d'une table de distribution ALICE
		#######################################
		i_strcpy(pt_NDE_860026254,pt_DEDE_DIST_N_860026254)
		SI i_strplcmp (pt_NDE_860026254,"0",0,1) == 0
			ALORS
			i_get_sub_str(pt_NDE_860026254,1,-1,pt_NDE_860026254)
		FINSI
		longueur_860026254 = i_conv_ascii_dcb (pt_NDE_860026254, pt_TEMP_860026254)
		SI (i_EnvoiReqConsTabDist( TD_SVA_860026254,gmt_date_860026254,pt_TEMP_860026254,longueur_860026254,0,1) != 0)
			ALORS
			#trace("Erreur i_EnvoiReqConsTabDist ALICE")
			bREDIST_860026254 = 1
			i_strcpy(pt_LIBELREDIST_860026254,"Echec sur i_EnvoiReqConsTabDistDouble ALICE ")
		FINSI

		#######################################
		# Recherche de l'instance ECC ALICE
		#######################################
		instALICE_860026254 = i_LireInstanceECC(C_INST_ALICE_860026254)
		SI (!instALICE_860026254)
			ALORS
			#trace("Pas d'instance pour ALICE !")
			erreur_860026254 = i_PlvMessEmettre(8501,1,g_iartin,"",3,C_INST_ALICE_860026254,C_Article_860026254,g_ieec)
			SAUT DISTRI_ERR
		FINSI
		#trace1("instALICE  =<%d>",instALICE)

		#######################################
		# Lecture Resultat requete ALICE
		#######################################
		erreur_860026254 = i_LireReqConsTabDist()
		#trace1("RETOUR i_LireReqConsTabDist retour requette ALICE, erreur=<%d>",erreur)
		SI ( erreur_860026254 != 0 )
			ALORS
			#trace1( "Erreur i_LireReqConsTabDist ALICE: <%d>", erreur)
			bREDIST_860026254 = 1
			i_strcpy(pt_LIBELREDIST_860026254,"Echec sur i_LireReqConsTabDistDouble ALICE ")
		FINSI
		val_860026254 = i_LireInfoECC( instALICE_860026254, 0 )

		SI (val_860026254 != 0)
			ALORS
			# AR present dans ALICE
			erreur_860026254 = i_LireChaineInfo( val_860026254, 0, 4, pt_BUF_860026254 )
			SI i_strcmp(pt_BUF_860026254,"") != 0
				ALORS
				i_strcpy(pt_CODE_TARIF_860026254,pt_BUF_860026254)
			SINON
				# info complementaire CODE_TARIF vide
				bREDIST_860026254 = 1
				erreur_860026254 = i_format_str2(pt_LIBELREDIST_860026254," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NDE_860026254,0)
			FINSI

			erreur_860026254 = i_LireChaineInfo( val_860026254, 4, 1, pt_BUF_860026254 )
			SI i_strcmp(pt_BUF_860026254,"") != 0
				ALORS
				i_strcpy(pt_TYPE_EDIT_860026254,pt_BUF_860026254)
			SINON
				# info complementaire TYPE_EDIT vide
				bREDIST_860026254 = 1
				erreur_860026254 = i_format_str2(pt_LIBELREDIST_860026254," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NDE_860026254,0)
			FINSI
		SINON
			bREDIST_860026254 = 1
			erreur_860026254 = i_format_str2(pt_LIBELREDIST_860026254," AR <%s> non trouve dans ALICE",pt_NDE_860026254,0)
		FINSI
	FINSI
FINSI

# /G4R6 Lot2

############################################################################
# Envoi requetes Table de Distribution
############################################################################
bFOR_860026254 = 0
SI (EFFICACE_860026254)
ALORS
	SI (i_valid_field_n(g_iartin, $NUM_IDAV))
	ALORS
		bFOR_860026254 = 1
		L_pt_DEDE_NORM_860026254 = i_conv_ascii_dcb(pt_IDAV_DIST_N_860026254, pt_DEDE_NORM_860026254)
		res_860026254 = i_EnvoiReqConsTabDist(TD_DEA, gmt_date_860026254, pt_DEDE_NORM_860026254, L_pt_DEDE_NORM_860026254, 0, 1)
		SI (res_860026254 != 0)
		ALORS
			#trace1("Erreur i_EnvoiReqConsTabDist %d", res)
			i_strcpy(pt_LIBELREDIST_860026254, "i_EnvoiReqConsTabDistDouble")
			bREDIST_860026254 = 1
		FINSI
	SINON
		SI (i_valid_field_n(g_iartin, $NDE))
		ALORS
			bFOR_860026254 = 2
			L_pt_DEDE_NORM_860026254 = i_conv_ascii_dcb(pt_DEDE_DIST_N_860026254, pt_DEDE_NORM_860026254)
			res_860026254 = i_EnvoiReqConsTabDist(TD_DEA, gmt_date_860026254, pt_DEDE_NORM_860026254, L_pt_DEDE_NORM_860026254, 0, 1)
			SI (res_860026254 !=0)
			ALORS
				#trace1("Erreur i_EnvoiReqConsTabDist %d", res)
				i_strcpy(pt_LIBELREDIST_860026254, "i_EnvoiReqConsTabDistDouble")
				bREDIST_860026254 = 1
			FINSI
		SINON
			bFOR_860026254 = 0
			SI (i_valid_field_n(g_iartin, $NUM_ICOM))
			ALORS
				bCENT_860026254 = 3
			FINSI
		FINSI
	FINSI
SINON
	bFOR_860026254 = 0
FINSI
#trace1("= apres NUM_IDAV NDE ===bFOR    <%d>" , bFOR )
#trace1("= apres NUM_IDAV NDE ===bCENT   <%d>" , bCENT )

############################################################################
# Recherche Instances des ECC
############################################################################

# CENTAUREDEA
instCENTDEA_860026254 = i_LireInstanceECC("CENTAUREDEA")
SI (!instCENTDEA_860026254)
ALORS
	erreur_860026254 = i_PlvMessEmettre(8501, 2, g_iartin, "", 3, "CENTAUREDEA", "Tch6dea", g_ieec)
	SAUT DISTRI_ERR
FINSI

# SYMPHONIE
# si l article provient du traitement et non de la redistribution alors trait_ok=0, dans le cas contraire il ne faut pas renvoyer vers SYMPHONIE
SI (!trait_ok_860026254 && !CORR_OK_860026254)
ALORS
	instSYMP_860026254 = i_LireInstanceECC("SYMP")
	SI (!instSYMP_860026254)
	ALORS
		erreur_860026254 = i_PlvMessEmettre(8501, 2, g_iartin, "",3, "SYMP", "Tch6dea", g_ieec)
		SAUT DISTRI_ERR
	SINON
		res_860026254 = i_AjouterCouranteECC(instSYMP_860026254)
	FINSI

	# Duplication Symphonie
	SI (i_dup_art_id(g_iartin, g_iartout2))
	ALORS
		#trace("ERREUR de duplication vers SYMPHONIE")
		erreur_860026254 = i_PlvMessEmettre(8502, 2, g_iartin, "", 3, "pour Symphonie", "Tch6dea", g_ieec)
		SAUT DISTRI_ERR
	FINSI

	SI (i_valid_field_n(g_iartout2, $Tch6dea::T3ce))
	ALORS
		erreur_860026254 = i_supprChamp(g_iartout2, "T3ce")
	FINSI

	SI (i_dup_art_id(g_iartout2, g_iartout))
	ALORS
		erreur_860026254 = i_PlvMessEmettre(8502, 2, g_iartin, "", 3, "pour Symphonie", "Tch6dea", g_ieec)
		SAUT DISTRI_ERR
	FINSI
	res_860026254 = i_rename_art(g_iartout, "Tsymtch6dea")
FINSI

############################################################################
# Attente requetes Table de Distribution
############################################################################
SI (bFOR_860026254 == 1 && !bREDIST_860026254)
ALORS
	res_860026254 = i_LireReqConsTabDist()

	#trace1("RETOUR i_LireReqConsTabDist, res=<%d>",res)
	SI (res_860026254 != 0)
	ALORS
		i_strcpy(pt_LIBELREDIST_860026254, "i_LireReqConsTabDist")
		bREDIST_860026254 = 1
	FINSI

	SI (i_LireInfoECC(instCENTDEA_860026254, 0) != 0)
	ALORS
		bCENT_860026254 = 1
	FINSI

	bFOR_860026254=2
	L_pt_DEDE_NORM_860026254 = i_conv_ascii_dcb(pt_DEDE_DIST_N_860026254, pt_DEDE_NORM_860026254)
	res_860026254 = i_EnvoiReqConsTabDist(TD_DEA, gmt_date_860026254, pt_DEDE_NORM_860026254, L_pt_DEDE_NORM_860026254, 0, 1)
	SI (res_860026254 != 0)
	ALORS
		#trace1("Erreur i_EnvoiReqConsTabDist %d", res)
		i_strcpy(pt_LIBELREDIST_860026254, "i_LireReqConsTabDist")
		bREDIST_860026254 = 1
	FINSI
FINSI
#trace1("= apres BFOR 1 ===bFOR    <%d>" , bFOR )
#trace1("= apres BFOR 1 ===bCENT   <%d>" , bCENT )

SI (bFOR_860026254 == 2 && !bREDIST_860026254)
ALORS
	res_860026254 = i_LireReqConsTabDist()
	#trace1("RETOUR i_LireReqConsTabDist, res=<%d>", res)
	SI (res_860026254 != 0)
	ALORS
		i_strcpy(pt_LIBELREDIST_860026254, "i_LireReqConsTabDist")
		bREDIST_860026254 = 1
	FINSI

	SI (i_valid_field_n(g_iartin, $NUM_ICOM))
	ALORS
		bCENT_860026254 = 3
		bFOR_860026254 = 0
	SINON
		SI ((bCENT_860026254 == 1) ||(i_LireInfoECC(instCENTDEA_860026254, 0) != 0))
		ALORS
			bCENT_860026254 = 3
			bFOR_860026254 = 0
		SINON
			bCENT_860026254 = 0
			bFOR_860026254 = 0
		FINSI
	FINSI
FINSI
#trace1("= apres BFOR 2 ===bCENT   <%d>" , bCENT )


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

#trace1(" Criteres EFFICACE <%d>", EFFICACE)
#trace1(" Criteres bREDIST <%d>", bREDIST)
#trace1(" Criteres CORR_OK <%d>", CORR_OK)
#trace1(" Criteres CCD 0x<%x>", CCD)
#trace1(" Criteres bFOR <%d>", bFOR)
#trace1(" Criteres bCENT <%d>", bCENT)
#trace1(" Criteres bCOMPTI <%d>", bCOMPTI)
#trace1(" Criteres CentDestOK <%d>", CentDestOK)
#trace1(" Criteres EPORTABILITE <%d>", EPORTABILITE)
#trace1(" Criteres SPORTABILITE <%d>", SPORTABILITE)
#trace1(" Criteres EPORTABILITE_SCP <%d>", EPORTABILITE_SCP)
#trace1(" Criteres SPORTABILITE_SCP <%d>", SPORTABILITE_SCP)
#trace1(" Criteres ICOM present <%d>", (i_valid_field_n(g_iartin, $NUM_ICOM)))

#---------------------------------------------------------------------------
# CENTAUREDEA
#---------------------------------------------------------------------------
#trace1("========bCENT : <%d>" , bCENT )
SI ( !bREDIST_860026254 && (bCENT_860026254 == 3) )
ALORS
	CentDestOK_860026254 = 1
	res_860026254 = i_AjouterCouranteECC(instCENTDEA_860026254)
FINSI

############################################################################
# Validation de la liste des ECCs destinatrices
############################################################################

erreur_860026254 = i_ValiderListeECC( 0, 0, 0, 0)

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

#---------------------------------------------------------------------------
# CENTAUREDEA
#---------------------------------------------------------------------------
SI (!i_ChercherCouranteECC(instCENTDEA_860026254) && !bREDIST_860026254)
ALORS
	#trace("Duplication vers CENTDEA")
	SI (i_dup_art_dest(g_iartin, g_iartout2, "TcentaureDEA"))
	ALORS
		erreur_860026254 = i_PlvMessEmettre(8502, 2, g_iartin, "", 3, "TcentaureDEA", "Tch6dea", g_ieec)
		#trace1("Erreur de i_dup_art_dest: <%d>", res)
		SAUT DISTRI_ERR
	FINSI

	# T1: Service '014'-> dans fichier de duplication 5:014:0
	# T2: Type d'article '024'-> dans fichier de duplication 5:024:1

	# champs SCT
	#trace("initialisation des SCT")
	res_860026254 = i_transformer_bits(g_iartin, $SCT,"FV", pt_TEMP_860026254)
	erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::SCT, pt_TEMP_860026254)

	# CAX : '000'-> dans fichier de duplication 6:30:3:3
	# TAP : 'FFFFFFFF'-> dans fichier de duplication 6:46:8:4

	# champs STY
	#trace("initialisation des STY")
	res_860026254 = i_transformer_bits(g_iartin, $STY, "FV", pt_TEMP_860026254)
	erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::STY, pt_TEMP_860026254)

	# INDEX : '0000'-> dans fichier de duplication 6:30:4:6

	# champ ICAR
	erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::DATE, ICAR_REL_860026254)

	# ALINK : '00000000'-> dans fichier de duplication 6:30:8:8
	# NLINK : '00000'-> dans fichier de duplication 6:30:5:9

	# champ ILOCUS
	#trace("affecter valeur au champ ILOCUS")
	SI (i_valid_field_n(g_iartin, $Tch6dea::INFLOCUS) == 1)
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $INFLOCUS)
		#trace1("Test de la valeur de INFLOCUS=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::ILOCUS, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::ILOCUS, 0x30)
	FINSI

	# champ NLOCUS
	#trace("affecter valeur au champ NLOCUS")
	SI (i_valid_field_n(g_iartin, $Tch6dea::NUMLOCUS) == 1)
	ALORS
		erreur_860026254 = i_get_art_str(g_iartin, $NUMLOCUS, pt_TEMP_860026254)
		#trace2("NUMLOCUS=<%s>", pt_TEMP, "")
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::NLOCUS, pt_TEMP_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::NLOCUS, 0x20)
	FINSI

	# IIDUS
	SI (i_valid_field_n(g_iartin, $INF_IDUS))
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $INF_IDUS)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::IIDUS, res_860026254)
	FINSI

	# champ NIDUS
	#trace("affecter valeur au champ NIDUS")
	SI (i_valid_field_n(g_iartin, $NDR))
	ALORS
		erreur_860026254 = i_get_art_str(g_iartin, $NDR, pt_TEMP_860026254)
		#trace2("NDR=<%s>", pt_TEMP, "")
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::NIDUS, pt_TEMP_860026254)
	FINSI

	# champ IIPRV
	#trace("affecter valeur au champ IIPRV")
	SI (i_valid_field_n(g_iartin, $Tch6dea::INFIPRV) == 1)
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $INFIPRV)
		#trace1("Test de la valeur de INFIPRV=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::IIPRV, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::IIPRV, 0x30)
	FINSI

	# champ NIPRV
	#trace("affecter valeur au champ NIPRV")
	SI (i_valid_field_n(g_iartin, $Tch6dea::NUMIPRV) == 1)
	ALORS
		erreur_860026254 = i_get_art_str(g_iartin, $NUMIPRV, pt_TEMP_860026254)
		#trace2("NUMIPRV=<%s>", pt_TEMP, "")
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::NIPRV, pt_TEMP_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::NIPRV, 0x20)
	FINSI

	# champ IIDRV
	#trace("affecter valeur au champ IIDRV")
	SI (i_valid_field_n(g_iartin, $Tch6dea::INF_IDRV) == 1)
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $INF_IDRV)
		#trace1("Test de la valeur de IIDRV=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::IIDRV, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::IIDRV, 0x30)
	FINSI

	# champ NIDRV
	#trace("affecter valeur au champ NIDRV")
	SI (i_valid_field_n(g_iartin, $Tch6dea::NUM_IDRV) == 1)
	ALORS
		erreur_860026254 = i_get_art_str(g_iartin, $NUM_IDRV, pt_TEMP_860026254)
		#trace2("NUM_IDRV=<%s>", pt_TEMP, "")
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::NIDRV, pt_TEMP_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::NIDRV, 0x20)
	FINSI

	# champ IDEDE
	# FO2266
	SI (i_valid_field_n(g_iartin, $Tch6dea::INF_DEDE))
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $INF_DEDE)
		#trace1("Test de la valeur de INF_DEDE=<%d>" , res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::IDEDE, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::IDEDE, 0x30)
	FINSI

	# champ NDEDE
	# FO2266
	SI (i_valid_field_n(g_iartin,$NDE))
	ALORS
		res_860026254 = i_get_art_str(g_iartin, $NDE, pt_TEMP2_860026254)
		i_replace_str(pt_TEMP2_860026254, "BCDE", "AJSC", pt_TEMP2_860026254)
	SINON
		i_strcpy(pt_TEMP2_860026254, "")
	FINSI
	erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::NDEDE, pt_TEMP2_860026254)

	# champ IIDAV
	#trace("affecter valeur au champ IIDAV")
	SI (i_valid_field_n(g_iartin, $Tch6dea::INF_IDAV) == 1)
	ALORS
		res_860026254=i_get_art_field(g_iartin, $INF_IDAV)
		#trace1("Test de la valeur de INF_IDAV=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::IIDAV, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::IIDAV, 0x30)
	FINSI

	# champ NIDAV
	#trace("affecter valeur au champ NIDAV")
	SI (i_valid_field_n(g_iartin, $Tch6dea::NUM_IDAV))
	ALORS
		erreur_860026254 = i_get_art_str(g_iartin, $NUM_IDAV, pt_TEMP_860026254)
		#trace2("NUM_IDAV=<%s>", pt_TEMP, "")
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::NIDAV, pt_TEMP_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::NIDAV, 0x20)
	FINSI

	# champ INOS
	SI (i_valid_field_n(g_iartin, $INFNOS))
	ALORS
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::INOS, i_get_art_field(g_iartin, $INFNOS))
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::INOS, 0x30)
	FINSI

	# champ NNOS
	SI (i_valid_field_n( g_iartin, $NUMNOS))
	ALORS
		erreur_860026254 = i_get_art_str(g_iartin, $NUMNOS, pt_NNOS_860026254)
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::NNOS, pt_NNOS_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::NNOS, 0x20)
	FINSI

	# champ IICOM
	SI (i_valid_field_n(g_iartin, $Tch6dea::INF_ICOM))
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $INF_ICOM)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::IICOM, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::IICOM, 0x30)
	FINSI

	# champ IICOM
	#trace("affecter valeur au champ IICOM")
	SI (i_valid_field_n(g_iartin, $Tch6dea::INF_ICOM) == 1)
	ALORS
		res_860026254=i_get_art_field(g_iartin, $INF_ICOM)
		#trace1("Test de la valeur de INF_ICOM=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::IICOM, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::IICOM, 0x30)
	FINSI

	# champ NICOM
	#trace("affecter valeur au champ NICOM")
	SI ((i_get_art_fieldtab(g_iartin, $NUM_ICOM, 0) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 0) <= 9) &&
	(i_get_art_fieldtab(g_iartin, $NUM_ICOM, 1) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 1) <= 9) &&
	(i_get_art_fieldtab(g_iartin, $NUM_ICOM, 2) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 2) <= 9) &&
	(i_get_art_fieldtab(g_iartin, $NUM_ICOM, 3) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 3) <= 9) &&
	(i_get_art_fieldtab(g_iartin, $NUM_ICOM, 4) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 4) <= 9) &&
	(i_get_art_fieldtab(g_iartin, $NUM_ICOM, 5) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 5) <= 9) &&
	(i_get_art_fieldtab(g_iartin, $NUM_ICOM, 6) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 6) <= 9) &&
	(i_get_art_fieldtab(g_iartin, $NUM_ICOM, 7) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 7) <= 9) &&
	(i_get_art_fieldtab(g_iartin, $NUM_ICOM, 8) >= 0) && (i_get_art_fieldtab(g_iartin, $NUM_ICOM, 8) <= 9))
	ALORS
		#trace2("NUM_ICOM avant affectation=<%s>", pt_TEMP, "")
		erreur_860026254 = i_get_art_str(g_iartin, $NUM_ICOM, pt_TEMP_860026254)
		#trace2("NUM_ICOM=<%s>", pt_TEMP, "")
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::NICOM, pt_TEMP_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::NICOM, 0x20)
	FINSI

	# REF : DEA/G4/REF-> dans fichier de duplication 1:10:26

	# champ NBRV
	#trace("affecter valeur au champ NBRV")
	SI (i_valid_field_n(g_iartin, $Tch6dea::NRENV) == 1)
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $NRENV)
		#trace1("Test de la valeur de NRENV=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::NBRV, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::NBRV, 0x30)
	FINSI

	# champ DUR
	res_860026254 = i_get_art_field(g_iartin, $dduree)
	#trace1("Test de la valeur du metachamp dduree=<%d>", res)
	erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::DUREE, res_860026254)

	# champ TAX
	#trace("affecter valeur au champ TAX")
	SI (i_valid_field_n(g_iartin, $Tch6dea::TAXE) == 1)
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $tax)
		#trace1("Test de la valeur du metachamp tax=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::TAX, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::TAX, 0x30)
	FINSI

	# champ DUSEL
	#trace("affecter valeur au champ DUSEL")
	SI (i_valid_field_n(g_iartin, $Tch6dea::DUSEL) == 1)
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $DUSEL)
		#trace1("Test de la valeur de DUSEL=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::DUSEL, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::DUSEL, 0x30)
	FINSI

	# champ DUSON
	#trace("affecter valeur au champ DUSON")
	SI (i_valid_field_n(g_iartin, $Tch6dea::DUSON) == 1)
	ALORS
		res_860026254 = i_get_art_field(g_iartin, $DUSON)
		#trace1("Test de la valeur de DUSON=<%d>", res)
		erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::DUSON, res_860026254)
	SINON
		erreur_860026254 = i_memset_field_n(g_iartout2, $TcentaureDEA::DUSON, 0x30)
	FINSI

	# TTX : 'F'-> dans fichier de duplication 6:46:1:32
	# SIDR : 'F'-> dans fichier de duplication 6:46:1:33
	# MES1 : '255'-> dans fichier de duplication 5:255:34
	# MES2 : '255'-> dans fichier de duplication 5:255:35
	# INEF : DEA/G4/INEF-> dans fichier de duplication 1:9:36

	# CI : '000000'-> dans fichier de duplication 6:30:6:37
	# champ CI
	# CLE1 : '000'-> dans fichier de duplication 6:30:3:38
	# CLE2 : '000'-> dans fichier de duplication 6:30:3:39
	# CLE3 : '000'-> dans fichier de duplication 6:30:3:40
	# CLE4 : '000'-> dans fichier de duplication 6:30:3:41

	# champ COCA
	SI i_valid_field_n(g_iartin, $BETA)
	ALORS
		erreur_860026254 = i_get_art_str(g_iartin, $BETA, pt_TEMP_860026254)
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::COCA, pt_TEMP_860026254)
	FINSI

	# champ COCAV
	SI i_valid_field_n(g_iartin, $BETAV)
	ALORS
		erreur_860026254 = i_get_art_str(g_iartin, $BETAV, pt_TEMP_860026254)
		erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::COCAV, pt_TEMP_860026254)
	FINSI

	# NUMLOT : '000000'-> dans fichier de duplication 6:30:6:44

	# champ CDSGTQS
#	pt_SGTQS = i_LireEECSGTQS(g_ieec)
	#trace2("SGTQS=<%s>",pt_SGTQS, "")
	erreur_860026254 = i_set_art_str(g_iartout2, $TcentaureDEA::CDSGTQS, pt_SGTQS_860026254)

	# NOS (FO2266 -> deplace apres IIDAV)
	
	# G4R6 Lot2
	# TYPE_EDIT
	erreur_860026254=i_set_art_str(g_iartout2, $TcentaureDEA::TYPE_EDIT, pt_TYPE_EDIT_860026254)

	# CODE_TARIF
	erreur_860026254=i_set_art_str(g_iartout2, $TcentaureDEA::CODE_TARIF, pt_CODE_TARIF_860026254)
	# /G4R6 Lot2

	# champ FIN
	erreur_860026254 = i_set_art_field(g_iartout2, $TcentaureDEA::FIN, 0x0A)
FINSI

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

POINT AVANT_REDIST

SI (trait_ok_860026254 == 0)
ALORS

	#---------------------------------------------------------------------------
	# Complements Symphonie (SGTQS + CCD)
	#---------------------------------------------------------------------------
	SI (!i_ChercherCouranteECC(instSYMP_860026254) )
	ALORS
		# champ CCD
		erreur_860026254 = i_ajoutChampNum(g_iartout, $Tsymtch6dea::T4ccd, $Tsymtch6dea::CCD, 0)
		erreur_860026254 = i_set_art_field(g_iartout, $Tsymtch6dea::CCD, CCD_REEL_860026254)

		# champ SGTQS
		erreur_860026254 = i_ajoutChampNum(g_iartout, $Tsymtch6dea::T4sgtqs, $Tsymtch6dea::SGTQS, 0)
#		pt_SGTQS = i_LireEECSGTQS(g_ieec)
		#trace2("SGTQS=<%s>", pt_SGTQS, "")
		erreur_860026254 = i_set_art_str(g_iartout, $Tsymtch6dea::SGTQS, pt_SGTQS_860026254)

		# champ ECC_FACT
		erreur_860026254 = i_ajoutChampNum(g_iartout, $Tsymtch6dea::T4eccfact, $Tsymtch6dea::ECC_FACT, 0)
		erreur_860026254 = i_set_art_str(g_iartout, $Tsymtch6dea::ECC_FACT, " ")

		SI EFFICACE_860026254
		ALORS
			SI (bCENT_860026254 == 3)
			ALORS
				erreur_860026254 = i_set_art_str(g_iartout, $Tsymtch6dea::ECC_FACT, "CENTAURE")
			FINSI
		FINSI
		
		# G4R6 Lot2
		# TYPE_EDIT
		SI i_strcmp(pt_TYPE_EDIT_860026254," ") != 0
			ALORS
			erreur_860026254 = i_ajoutChampNum(g_iartout,$Tsymtch6dea::T4type_edit,$Tsymtch6dea::TYPE_EDIT,0)
			erreur_860026254=i_set_art_str(g_iartout, $Tsymtch6dea::TYPE_EDIT, pt_TYPE_EDIT_860026254)
		FINSI

		# CODE_TARIF
		SI i_strcmp(pt_CODE_TARIF_860026254,"    ") != 0
			ALORS
			erreur_860026254 = i_ajoutChampNum(g_iartout,$Tsymtch6dea::T4code_tarif,$Tsymtch6dea::CODE_TARIF,0)
			erreur_860026254=i_set_art_str(g_iartout, $Tsymtch6dea::CODE_TARIF, pt_CODE_TARIF_860026254)
		FINSI
		# /G4R6 Lot2
	FINSI

	#---------------------------------------------------------------------------
	# Symphonie
	#---------------------------------------------------------------------------
	SI (!i_ChercherCouranteECC(instSYMP_860026254))
	ALORS
		res_860026254 = i_stocke_art_iecc(g_iartout, instSYMP_860026254)
		#trace("Emission vers SYMPHONIE reussie")
	FINSI
FINSI

SI (bREDIST_860026254 == 1)
ALORS
	SAUT DISTRI_RDT
FINSI

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

#---------------------------------------------------------------------------
# CENTAUREDEA
#---------------------------------------------------------------------------
SI (!i_ChercherCouranteECC(instCENTDEA_860026254))
ALORS
	res_860026254 = i_stocke_art_iecc(g_iartout2, instCENTDEA_860026254)
	#trace("Emission vers CENTDEA reussie")
FINSI

SAUT DISTRI_FIN

############################################################################
# Envoi vers Recyclage
############################################################################

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

POINT DISTRI_ERR
#trace( "anomalie de distribution")
res_860026254 = i_make_art_rej(g_iartin, g_iartout, 0)
res_860026254 = i_stocke_art(g_iartout, 0, PT_ERRONE, 0)

RETOUR TRAIT_OK

###########################################################################
# Stockage en elimine DIVERS
###########################################################################
POINT DISTRI_DIV
#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en DIVERS" )
#ENDIF
res_860026254 = i_stocke_art(g_iartin, 0, PT_DIVERS, 0)

RETOUR TRAIT_OK

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

POINT DISTRI_RDT
#trace( "envoi en redistribution")
SI (trait_ok_860026254 == 0)
	ALORS
#	res = i_get_attr_str_n($E_SC_lot::Nom_EEC, pt_SGTQS)
	erreur_860026254 = i_PlvMessEmettre(8503,2,g_iartin,"",3,pt_LIBELREDIST_860026254,"Tch6dea",pt_SGTQS_860026254)
FINSI
res_860026254 = i_stocke_art( g_iartin, 0, PT_REDIST|RD_TABLE2, 0)
RETOUR TRAIT_OK

POINT DISTRI_FIN
#trace("Fin du Pcode de distribution Tch6dea")
RETOUR TRAIT_OK
#------------------------------------------- Fin Tch6dea_dis.src --------------------
