DEFINITION extraZLT_860026603 1
DEFINITION NUMTAB_860026603 1
DEFINITION ZONEMETRO_860026603 7
DEFINITION INST_45S_860026603 "45S"
DEFINITION INST_ACLA_860026603 "ACLA"
DEFINITION national_860026603 1
DEFINITION international_860026603 2
DEFINITION special_860026603 3
DEFINITION CPT_REJET4_860026603 13
DEFINITION CPT_REJET6_860026603 14
DEFINITION C_PREF_SPORTABILITE_SRP_860026603 "842"
DEFINITION C_Article_860026603 "Tns6dc"
DEFINITION C_InstCENTAUREDC_860026603 "CENTAUREDC"
DEFINITION C_InstCENTVG_860026603 "CENTAUREVG"
DEFINITION C_InstTRAFIC_860026603 "TRAFIC"
DEFINITION C_InstFE_860026603 "FE"
DEFINITION C_InstFERPV_860026603 "FERPV"
DEFINITION C_InstARAVIS_860026603 "ARAVIS"
DEFINITION C_InstSYMP_860026603 "SYMP"
DEFINITION C_Tsymphoniedc_860026603 "Tsymphoniedc"
DEFINITION C_Tsymptns6Inef_860026603 "Tsymptns6Inef"
DEFINITION C_TcentaureDC_860026603 "TcentaureDC"
DEFINITION C_Tfe_860026603 "Tfe"
DEFINITION C_Tfe_rpvRG_860026603 "Tfe_rpvRG"
DEFINITION C_Taravis_860026603 "Taravis"
DEFINITION C_Tdelta_minute_860026603 "Tdelta_minute"
DEFINITION C_Ttrafic_860026603 "Ttrafic"
DEFINITION C_TcentaureVG_860026603 "TcentaureVG"
DEFINITION TD_VGA1_860026603 7
DEFINITION TD_VGA2_860026603 2
DEFINITION INST_VGA_860026603 "VGA"
DEFINITION C_InstCENTDEA_860026603 "CENTAUREDEA"
DEFINITION C_TcentaureDEA_860026603 "TcentaureDEA"
DEFINITION C_InstCASPER_860026603 "CASPER"
DEFINITION C_Tcasper_860026603 "TcasperTns6dc"
DEFINITION T_PPORTA_860026603 "PPORTA"
DEFINITION PPORTA_CATEG_MOB_860026603 "01"
DEFINITION CCD_Internat_860026603 6
DEFINITION CPT_CPS_Loc_860026603 16
DEFINITION CPT_CPS_RI_860026603 17
DEFINITION C_DATCPS_860026603 "DATCPS" 
DEFINITION TD_SVA_860026603 9
DEFINITION C_INST_ALICE_860026603 "ALICE"
REGISTRE ENTIER comid_num_860026603
REGISTRE ENTIER EEC_audit_860026603
REGISTRE ENTIER bloc_audit_860026603
REGISTRE ENTIER DC_audit_860026603
REGISTRE ENTIER REJET_860026603
REGISTRE ENTIER ADO_860026603
REGISTRE ENTIER EFFICACE_860026603
REGISTRE ENTIER CCD_860026603
REGISTRE ENTIER TRANSGROUPE_860026603
REGISTRE ENTIER RPV_860026603
REGISTRE ENTIER IEZLT_860026603
REGISTRE ENTIER ETSII_860026603
REGISTRE ENTIER ETSIN_860026603
REGISTRE ENTIER INEFF_CS_860026603
REGISTRE ENTIER vE_860026603
REGISTRE ENTIER ICAR_REL_860026603
REGISTRE ENTIER ICAR_ABS_860026603
REGISTRE ENTIER EPORTABILITE_860026603
REGISTRE ENTIER SRP_PORTE_860026603
REGISTRE ENTIER TAXE_CAL_860026603
REGISTRE ENTIER bCENTAURE_860026603
REGISTRE ENTIER bFE_860026603
REGISTRE ENTIER bFERPV_860026603
REGISTRE ENTIER bARAVIS_860026603
REGISTRE ENTIER bDELMIN_860026603
REGISTRE ENTIER bSYMPH_860026603
REGISTRE ENTIER bTRAFIC_860026603
REGISTRE ENTIER bREDIST_860026603
REGISTRE ENTIER EPORTABILITE_SCP_860026603
REGISTRE ENTIER SPORTABILITE_SCP_860026603
REGISTRE ENTIER instACLA_860026603
REGISTRE ENTIER CCD_REEL_860026603
REGISTRE ENTIER CCD_REEL_FE_860026603
REGISTRE ENTIER bCONVERSION_860026603
REGISTRE ENTIER VTGRI_CAX_860026603
REGISTRE ENTIER VTGRI_3BPQ_860026603
REGISTRE ENTIER instSYMPH_860026603
REGISTRE ENTIER instCENTAURE_860026603
REGISTRE ENTIER instFE_860026603
REGISTRE ENTIER instFERPV_860026603
REGISTRE ENTIER instARAVIS_860026603
REGISTRE ENTIER instTRAFIC_860026603
REGISTRE ENTIER instECCTRAFIC_860026603
REGISTRE ENTIER instDM_860026603
REGISTRE ENTIER erreur_860026603
REGISTRE ENTIER res_860026603
REGISTRE ENTIER indice_860026603
REGISTRE ENTIER num_champ_860026603
REGISTRE ENTIER bit_860026603
REGISTRE ENTIER bitAinfdede_860026603
REGISTRE ENTIER bitBinfdede_860026603
REGISTRE ENTIER bitDinfdede_860026603
REGISTRE ENTIER CAX_860026603
REGISTRE ENTIER TAP_860026603
REGISTRE ENTIER SUP_860026603
REGISTRE ENTIER INF_DEDE_860026603
REGISTRE ENTIER ZA_860026603
REGISTRE ENTIER VGA_SER_860026603
REGISTRE ENTIER VGTplus_SER_860026603
REGISTRE ENTIER pref_860026603
REGISTRE ENTIER crit_comm1_860026603
REGISTRE ENTIER crit_comm2_860026603
REGISTRE ENTIER ddebut_860026603
REGISTRE ENTIER dduree_860026603
REGISTRE ENTIER tax_860026603
REGISTRE ENTIER type_traf_860026603
REGISTRE ENTIER val_normal_860026603
REGISTRE ENTIER nb_digit_860026603
REGISTRE ENTIER trait_ok_860026603
REGISTRE ENTIER NVU_860026603
REGISTRE ENTIER dpivot_860026603
REGISTRE ENTIER MINE_860026603
REGISTRE ENTIER ART_860026603
REGISTRE ENTIER APPLI_860026603
REGISTRE ENTIER DC_CAA_860026603
REGISTRE ENTIER gmt_date_860026603
REGISTRE ENTIER L_NDR_860026603
REGISTRE ENTIER comid_n1_860026603
REGISTRE ENTIER GVPN_860026603
REGISTRE ENTIER INF_DEDE_TRAF_860026603
REGISTRE ENTIER RPVI_DIRECT_860026603
REGISTRE ENTIER OPT_860026603
REGISTRE ENTIER ROC_860026603
REGISTRE ENTIER code_errone_860026603
REGISTRE ENTIER dizaine_860026603
REGISTRE ENTIER unite_860026603
REGISTRE ENTIER cfr_860026603
REGISTRE ENTIER ENVELOPPE_NOK_860026603
REGISTRE ENTIER VGA_860026603
REGISTRE ENTIER bCENTVG_860026603
REGISTRE ENTIER instVGA_860026603
REGISTRE ENTIER instCENTAUREVG_860026603
REGISTRE ENTIER val_860026603
REGISTRE ENTIER EZA_860026603
REGISTRE ENTIER EZ_860026603
REGISTRE ENTIER NDE_Z_860026603
REGISTRE ENTIER critere_Hors_preselect_860026603
REGISTRE ENTIER act_desactVGT_860026603
REGISTRE ENTIER dede_num1_860026603
REGISTRE ENTIER dede_inf_860026603
REGISTRE ENTIER dede_infD0_860026603
REGISTRE ENTIER EVTPE_860026603
REGISTRE ENTIER b_DBETA_860026603
REGISTRE ENTIER b_DBETAV_860026603
REGISTRE ENTIER b_DBETA8FT_860026603
REGISTRE ENTIER b_DBETAV8FT_860026603
REGISTRE ENTIER distri_symph_860026603
REGISTRE ENTIER INEF_SPECIAUX_860026603
REGISTRE ENTIER val_INEF_860026603
REGISTRE ENTIER bVGTplus_860026603
REGISTRE ENTIER SPORTABILITE_860026603
REGISTRE ENTIER TYPCOM_FCT_860026603
REGISTRE ENTIER arretfct_centaure_860026603
REGISTRE ENTIER instCENTDEA_860026603
REGISTRE ENTIER bCENTAUREDEA_860026603
REGISTRE ENTIER typcom_860026603
REGISTRE ENTIER b_OperNBE_860026603
REGISTRE ENTIER b_FERPV_NBE_860026603
REGISTRE ENTIER b_FERPV_860026603
REGISTRE ENTIER b_CodOperVG_860026603
REGISTRE ENTIER taille_860026603
REGISTRE ENTIER bPortabilite_mobile_860026603
REGISTRE ENTIER bSRP_Sporta_SPN_860026603
REGISTRE ENTIER bSRP_Eporta_SPN_860026603
REGISTRE ENTIER instCASPER_860026603
REGISTRE ENTIER b_NSUC_860026603
REGISTRE ENTIER longueur_860026603
REGISTRE ENTIER len_prefixe_portabilite_860026603
REGISTRE ENTIER Date_CPS_860026603
REGISTRE ENTIER instALICE_860026603 
REGISTRE ENTIER b_Fact_CPS_Loc_860026603
REGISTRE ENTIER b_Fact_CPS_RI_860026603
REGISTRE ENTIER bREDISTALICE_860026603
REGISTRE POINTEUR pt_marque_audit_860026603
REGISTRE POINTEUR pt_COCA_860026603
REGISTRE POINTEUR pt_COCAV_860026603
REGISTRE POINTEUR pt_service_860026603
REGISTRE POINTEUR pt_TCOMMUT_860026603
REGISTRE POINTEUR pt_INEF_STD_860026603
REGISTRE POINTEUR pt_INEF_COMMUT_860026603
REGISTRE POINTEUR pt_LIBELREDIST_860026603
REGISTRE POINTEUR pt_TEMP_860026603
REGISTRE POINTEUR pt_IDAV_DIST_N_860026603
REGISTRE POINTEUR pt_CODCIRDA_860026603
REGISTRE POINTEUR pt_CODCIRA_860026603
REGISTRE POINTEUR pt_nde_normal_860026603
REGISTRE POINTEUR pt_VGA_OP_860026603
REGISTRE POINTEUR pt_VGA_OF_860026603
REGISTRE POINTEUR pt_EVTPE_OP_860026603
REGISTRE POINTEUR pt_EVTPE_OF_860026603
REGISTRE POINTEUR pt_NORM_860026603
REGISTRE POINTEUR pt_BUF_860026603
REGISTRE POINTEUR pt_BUF1_860026603
REGISTRE POINTEUR pt_BUF2_860026603
REGISTRE POINTEUR pt_CODESCP_860026603
REGISTRE POINTEUR pt_InfoCompl_860026603
REGISTRE POINTEUR pt_inst_860026603
REGISTRE POINTEUR pt_DM_860026603
REGISTRE POINTEUR pt_eccfact_860026603
REGISTRE POINTEUR pt_eccCentaure_860026603
REGISTRE POINTEUR pt_CodeOp_860026603
REGISTRE POINTEUR pt_SGTQS_860026603
REGISTRE POINTEUR pt_OFFRE_860026603
REGISTRE POINTEUR pt_OPERA_860026603
REGISTRE POINTEUR pt_RES1_860026603
REGISTRE POINTEUR pt_NDE_860026603
REGISTRE POINTEUR pt_NDE1_860026603
REGISTRE POINTEUR pt_NDEN_860026603
REGISTRE POINTEUR pt_NDE1N_860026603
REGISTRE POINTEUR pt_NUM_SER_860026603
REGISTRE POINTEUR pt_VGTplus_OP_860026603
REGISTRE POINTEUR pt_VGTplus_OF_860026603
REGISTRE POINTEUR pt_NIDAV_860026603
REGISTRE POINTEUR pt_CodOperVG_860026603
REGISTRE POINTEUR pt_CARACT_860026603
REGISTRE POINTEUR pt_NUM_IDAV_860026603
REGISTRE POINTEUR pt_PREF_PORT_860026603
REGISTRE POINTEUR pt_NSUC_860026603
REGISTRE POINTEUR pt_len_prefixe_portabilite_860026603
REGISTRE POINTEUR pt_pporta_860026603
REGISTRE POINTEUR pt_PREF_PORT_FERPV_860026603
REGISTRE POINTEUR pt_MESSAGE_860026603
REGISTRE POINTEUR pt_CODE_TARIF_860026603 
REGISTRE POINTEUR pt_TYPE_EDIT_860026603 
# ---------------------------------------------------------------------------
# Pcode de DISTRIBUTION
# FICHIER     : Tns6dc.src
#
# VERSION     : %version: 9.3 %
#
# AUTEUR      : %created_by: claude %
#
# CREE le     : 28/03/02 14:52
#
# MODIFIE le  : %date_modified: 04/04/02 11:59 %
#
# DESCRIPTION :
#	Article detail de communication numeris
#	Tns6dc efficace et inefficace
#
# En entree:
# 	Article: Tns6dc.art
#
# En sortie:
#	DELTAMINUTE
#	FCT
#	FE
#	FERPV
#	CENTAUREDC
#	SYMPHONIE
#	SUIVI DE CONSO
#	TRAFIC
#	VTG
#
# HISTORIQUE :
#	18/03/2002 - CMI : FO1360 : Champ ECC_FACT pour Symphonie (VTG_Valo)
#	02/04/2002 - CMI : FOEX528 : Aguillage vers FCT des Inef avec CS
#	17/06/2002 - PSA - FO1510  : Encapsulation pour le stockage en errone
#	19/06/2002 - PSA : FO1515  : Dump des articles pour MSGA + integration de la redistribution
#	25/06/2002 - PSA : FE1095  : Modif du calcul pour ALLO
#	28/06/2002 - PSA : FOPROD36 : Modif du stockage en elimine (REJET et CAX <> 3)
#	16/07/2002 - RBE : Modif. variables VTGRI + VTG_Valo
#		Ajout variable EPORTABILITE + modif. aiguillage FCT
#		Restrictions filtre INEFF_CS
#		Alimentaion de symphonie et SC quand redistribution
#	10/10/2002 - MCH : FO 36 : VTG_VALO, domaine errone pour DM
#	15/10/2002 - PSA : FO18 et FO45 : modif format pour FOR
#		FO55 : appel a CodeOperateur uniquement en cas portabilite entrante potentielle
#		FO68 : deplacement ajout suivi conso (liste ECC destinatrice)
#	28/10/2002 - RBE : FO70 : test critere envoi a VTG avant suivi conso
#	28/10/2002 - RBE : specif.4.8 : modif. critere envoi SuiviConso
#		Modif. CCD en fonction de la portabilite
#	19/11/2002 - MCH : FO70 : test critere envoi a SC en premier
#	25/11/2002 - MCH : FO99 : modif critere distri VTG_VALO
#	14/10/2002 - RBE : Ajout de l'envoie a APACHE
#	06/12/2002 - NSA : FO132: initialisation des variables au debut du pcode
#	21/01/2003 - MCH : GIR2C9 : FOR --> FORDC FO 166 a 170
#	07/02/3003 - RBE : Envoi a SC si envoi vers une appli. de facturation
#		Envoi en redistrib. si pb acces fichiers de distrib.
#	11/02/2003 - MCH : GIR2C10 : bit d de INF_DEDE = 0 pour TRAFIC, FE, VTG_valo & DM
#	17/02/2003 - MCH : G1R2C10 : 11/02 + pas de  i_EnvoiReqCons... si EFFICACE ou INEFF_CS
#	01/04/2003 - RBE : FO241 : envoi a Symp. si pb acces distri.
#	07/04/2003 - RBE : FO245 : recup. de MINE et APPLI si VN8(ART=4)
#	07/04/2003 - RBE : FO258 : modif. variable ADO
#	05/05/2003 - RBE : FO910 : Ajout de la variable RPVI_DIRECT pour aiguillage
#	10/04/2003 - MCH - requete distri; date gmt + calcul longueur cle
#	19/06/2003 - MCH - Ajout FERPV
#	30/06/2003 - RBE : Suppression de la variable FCPV2
#		ICAR_ABS:date platine et ICAR_REL:date locale ou date article
#	16/07/2003 - MCH - FO 339 FERPV: SOURCE E NATAPPRI CANAL
#	16/07/2003 - MCH - FO 340 FERPV: EEC_FACT / symph
#	18/07/2003 - MCH - FO 341 FERPV: CFR de c_libre en ASCII
#	18/07/2003 - MCH - FO 342 FERPV: TYPEOFFRE en ASCII
#	22/07/2003 - DRE - Modif calcul gmt_date
#	25/07/2003 - MCH - Ajout ARAVIS
#	18/08/2003 - RBE - FO359 : init. de ACCEID en alpha ASCII
#	29/08/2003 - RBE - FO381 : FE et ARAVIS sont exclusives
#	08/09/2003 - MCH - G2R0CO: OPT + CODCIR
#	16/09/2003 - RBE - F0412 : modif variable GVPN
#	30/09/2003 - RBE - FO427 : NUMDDE a normaliser pour FERPV
#	21/10/2003 - RBE - FO437 : dede normalise pour aravis
#	04/12/2003 - PSA - Prise en compte offre DIAL (Cg)
#	15/12/2003 - PSA - Cg : FO517
#	23/12/2003 - NSA - Cg : FO525
#	20/01/2004 - PSA - Cg' : FO534 : correction envoi a SC
#		FO535
#		FO536 : non envoi a FERPV si OPT
#	28/01/2004 - PSA - Cg' : modification du type de calcul de ZA
#	03/02/2004 - PSA - Cg' : FO543 : modification criteres vers ARAVIS
#	10/02/2004 - RBE - FO559 : COMID non unique pour ARAVIS
#	18/02/2004 - RBE - FO574 : modif. de MAJ de NB_CSV et OP_CSV pour FERPV
#	04/03/2004 - RBE - Cp : stockage en DIVERS des DC double facture et ALLO
#	30/01/2004 - RBE - Ci : filtrer vers FE les dede=A5(Rappel sur OCcupation)
#	18/03/2004 - RBE - FO568 : Pour FOR garder le champ tax d entree
#	18/03/2004 - RBE - FO585 : pas de MAJ de tax si AR appartient pas a 45S
#	23/03/2004 - RBE - FO591:si dede=A5 et si AR appartient a FE DC va pas a TRAFIC
#	22/12/2003 - MCH - G2R0Ca : modif enveloppe - recup cfr pour c_libre de FE
#	05/01/2004 - MCH - Modif dupli SYMPH pour ajoutCE en redistri
#	17/05/2004 - RBE - FO655 : CCD a 0 pour DC inefficace
#	27/05/2004 - RBE - FO688 : si ROC envoi a Symphonie et delta minute seulement
#	10/06/2004 - NSA - G2R0Cl: integration des codes d erreurs
#	17/06/2004 - RBE - FO708 : Pour ROC envoi au a SC et correction pour DM
#	09/07/2004 - PSA - FO750 : gestion du controle rejet a 4 pour appel vers 3001
#	10/11/2004 - JLG - G2R0Cn : fusion Cm(G2R0C475) et Cr(G2R0C506) Modif:RPVI_DIRECT + champ service pour FERPV
#	25/11/2004 - THE - G2R0Cn : suppression service @llo
#	04/10/2004 - JLG - G2R0Caa : FORDC --> CENTAUREDC
#	24/01/2005 - RBE - G2R0Cnn : fusion Cn + Ca
#	10/02/2005 - PKH-  G2R0Cbb :Identification des SCP entrant et sortant a partir du referentiel ACLA
#	10/02/2005 - PKH-  G2R0Cbb :FO1067 CCD_REEL pour DELTA minute
#	10/02/2005 - PKH-  FO1079 DC TELEPHONE evolution du CCD_REEL sur SCP
#	03/03/2005 - FAL - G2R0Cbbb :FO1136 retour arriere DC REJET telephone pour symphonie
#	17/03/2005 - FAL - G2R0Cbbb :FO1171 CCD_REEL incorrect pour SPORTABILITE_SCP
#	21/03/2005 - FAL - FO1164 Appel ACLA uniquement si necessaire
#	12/04/2005 - FAL - FO1228 CCD de FERPV et FE
#	27/04/2005 - JLG - Ch REJET2 (REJET=2)
#	06/05/2005 - JLG - FO1276
#	30/05/2005 - JLG,THE - FO1320 1321
#	01/06/2005 - PKA - FO 1343
#	17/06/2005 - JLG DRE FO 1358
#	11/07/2005 - THE DRE FO 1385
#	21/07/2005 - PSA - Cj : inef speciaux
#		DC_MAYOTTE_EXPE : le DC est stocke en divers au traitement. Les criteres de distri ne sont donc pas impactes.
#	15/09/2005 - DRE - FO1406 Retour Fonction i_LireInfoECC (doit etre != et non >)
#	03/10/2005 - PSA - G2R1Co : distribution a CentaureVG
#	21/10/2005 - PSA - G2R2Co : FO 1530, 1536, 1538
#	03/11/2005 - PSA - G2R2Co : FO 1545, 1548, 1549
#	21/11/2005 - PSA - G2R2Co : FO 1581
#	25/11/2005 - PKH - G2R2Ca : Modification Apache alimente par les dc inefficaces des DC N0 URGENTS
#	13/12/2005 - PKH - G232Ca : fusion G2R2Cr Offre Easy-Voice V2/TPE FO 1621
#	19/12/2005 - FAL - G2R2Co : FO 1638 mise en errone a tort
#	02/02/2006 - PKH - G2R2Ca : FO1704 *21* est eligible VGA
#	07/02/2006 - PKH - G2R2Ca : FO1708 *55* est eligibe VGA
#	22/02/2006 - PKH - G2R2Ca : FO1722 Correction dans le cadre des services VGT pour activation et desavtivation de service.
#	27/02/2006 - PKH - G2R2Ca : FO1723 si idus VGA alors si activation/desactivation = *21*,*55*,#21#,#55* marque VGA
#	02/03/2006 - FAL - G2R2Cd : FO1720 RMU dans calcul VGA
#	13/03/2006 - FAL - G2R2Cd : repport depuis G2R2Ca FO1740 FO1742
#	16/03/2006 - FAL - G2R2Cd : FO1740 retour de i_strcmp
#	17/03/2006 - FAL - G2R2Cd : Z9
#	06/06/2006 - THE FAL - G2R2Cu VGTplus et table ext
#	30/06/2006 - FAL - G2R2Cu : FO1854 CENTVG meme si VGT+
#	12/07/2006 - FAL - G2R2Cu : FO1885 Modification critere VGT+
#	19/07/2006 - FAL - G2R2Cu : FO1891 Modification critere VGT sans 087 et Z=9
#	20/07/2006 - FAL - G2R2Cu : FO1893 Modification eligibilite VGA si NDE porte
#	27/09/2006 - JLG - G2R2Cv : REJET3 (REJET=3) 12 "numero 119 enfance maltraitee"
#	05/11/2006 - JLG - G2R2Cv : REJET4 service Entraide 3212
#	08/01/2007 - RHE - G3R0Ca : FO2083 redistribution si AR FERPV absent de MAJ2G
#	07/02/2007 - RHE - G3R0Ca : identifier les services RTC associis aux offres VGA et VGT+ par une table externe
#	15/03/2007 - RHE - G3R0Ca : FO2134 retirer le critere TYPCOM = 31 sur la variable VGA
#	19/03/2007 - RHE - G3R0Cb : fusion G3R0Cp Portabilite Mobiles (prefixe 600 dans IDAV/NUM)
#	23/03/2007 - FAL - G3R0Ca : FO2138 GVA VGT+ et services RTC
#	07/08/2007 - JLG - ParamFTSA-G3R2C0 FO2206 : regression telephone sur ligne SDA (ivolution spec)
#	08/08/2007 - JLG - ParamFTSA-G3R3 lot2 Arret de FCT pour RTC
#	01/10/2007 - FAL - ParamFTSA-G3R3 lot2 FO2234 2236
#	08/10/2007 - FAL - ParamFTSA-G3R3 lot2 FO2239 TAX de TRAFIC FE RPV DM ALLOFACT et CentaureVG
#	15/10/2007 - FAL - ParamFTSA-G3R3 lot2 FO2241 TAX de CentaureVG
#	06/11/2007 - PKH - G3R3Cv ajout REJET6 dans le cadre des appels 118 PTD & kiosque
#	07/01/2008 - PKH - G3R5 LOT2 arret FCT et besoin FCT
#	15/01/2008 - PKH - G3R5 LOT2 FO2295 alimentation du champ NIDAV de centauredea cas SPORTABILITE vrai
#	06/02/2008 - PKH - G3R5 LOT2 FO2306 correction alimentation champ IDEDE de CentaureDEA
#	17/03/2008 - JLG - G3R6 FO2351 IDEDE de CentaureDEA
#	25/03/2008 - DRE - G3R7 Portabilite mobile pour ebill ajout champ IDAV
#	28/04/2008 - JLG - G3R6 FO2378
#	16/05/2008 - DRE - G3R7 FO2376
#	28/05/2008 - DRE - G3R7 FO 2403 Retrait de la portabilite mobile pour EBILL
#	30/05/2008 - THE - G3R7 FO 2408
#	31/12/2008 - RHE - G3R11 Z=7 pour offre VGA
#	02/03/2009 - RHE - G3R12 suppression ECC
#	27/04/2009 - RHE - G3R13 QC236 code offre et code operateur si VGT+ pour Symphonie
#	19/06/2009 - JLG - G3R13Cy Portabilite Sortante SVA Z=8
#	01/02/2010 - DRE - G3R16 Portabilite entrante SVA + Menage e-bill (Allofact)
#	10/05/2010 - PKH - G3R17lot2 Item NBE2 etape2
#	10/05/2010 - PKH - QC362 Valorisation du champ SERVICE de FERPV a 8 si NBE
#	23/06/2010 - DRE - QC387 Inversion OPE et OFF VGT+ pour SYMPH
#	29/06/2010 - PKH - QC390 Correction valorisation du champ OPERATEUR en sortie
#	30/06/2010 - THE - Param FTSA-G3R17Cy
#	27/09/2010 - THE - Param FTSA-G3R18 QC420 modif envoi NOCOMP pour FERPV
#	11/10/2010 - PKH - Param FTSA- G3R18Cy pk G3R18Cy ajout du champ INFDDE dans Tfe_rpvRG
#	11/07/2011 - THE - Correction QC 490( VGT + Z=7)
#	05/09/2011 - DRE - G3R21C8 QC517 Ajout test sur C_PREF_PORTABILITE_MOBILE2 (509P)
# 08/11/2011 - RHE - G3R23 DC SU en deprt pour CASPER
# 18/11/2011 - RHE - G3R23 lot2 gestion en table PPORTA des prefixxes de porta mobile (600P, 509P, ...)
# 28/11/2011 - RHE - G3R23 QC553 DC SU en deprt pour CASPER avec DEDE_N
# 07/12/2011 - RHE - G3R23 QC553 DC SU en deprt pour CASPER avec DEDENSUC ou NDE
# 16/12/2011 - RHE - G3R23 DC SU en deprt pour CASPER avec DEDENSUC ou NDE (detection 0 sur DEDENSUC)
# 23/01/2012 - THE - VerifPcode
# 16/03/2012 - DRE - G3R23C7 QC581 : PREF_PORT pour FERPV sur les 5 premiers digits de IDAV_NUM
# 11/02/2013 - DRE - G4R02 : QC677, rechercher SCP-SRP uniquement si Dde non international
#	28/05/2013 - THE - G4R3 suppression envoi vers APACHE
#	02/09/2013 - DRE - G4R3 QC741 prise en compte CCD = 23 idem CCD = 14
#	06/01/2014 - DRE - G4R05 : QC758: Ne pas interroger un referentiel avec un Num contenant un DTMF
#	25/03/2014 - DRE - G4R6 : Lot2 prise en compte des nouveaux Type Control envoy?s par la base (C+S )
#	24/04/2014 - DRE - G4R6 QC807
#	13/05/2014 - DRE - G4R6 QC817
#	24/06/2014 - DRE - G4R7 QC829
#	04/12/2014 - DRE - G4R8 QC862 : pb d'affichage du champ ECC_FACT sur l'ECC SYMPHONIE + envoi a CASPER au 1er tour de Redistribution 
#
#---------------------------------------------------------------------------

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

# Type de Trafic:
# Portabilite Mobiles
#Constantes pour message d alarme
# DECLARATION DE Constante pour VGA
# G3R23
#DRE QC677

#DRE G4R6 lot2
#\DRE G4R6 lot2


# Variables fonctionnelles
# VerifPcode
# Flags de presence
# Marquage
# Numeros des instances
#divers
# DECLARATION Entiers pour VGA
# DECARATION Entier pour EVTPE
# Portabilite Mobiles
# G3R23
#DRE G4R6 lot2
#DRE - G4R7 QC829
#QC862

# Pointeurs
# VerifPcode
#DECLARATION de pointeur pour VGA
#DECLARATION DE POINTEUR pour Easy-Voice
# G3R23
# G3R23C7 QC581
# DRE G4R6 lot2

#Initialisations
bCENTAURE_860026603	 = 0
bFE_860026603		 = 0
bFERPV_860026603		 = 0
bARAVIS_860026603		 = 0
bDELMIN_860026603		 = 0
bSYMPH_860026603		 = 0
bTRAFIC_860026603		 = 0
bREDIST_860026603		 = 0
type_traf_860026603	 = 0
instSYMPH_860026603	 = 0
instCENTAURE_860026603	 = 0
instFE_860026603		 = 0
instFERPV_860026603	 = 0
instARAVIS_860026603	 = 0
instTRAFIC_860026603	 = 0
instDM_860026603		 = 0
#G4R3 instAPACHE	 = 0
EFFICACE_860026603	 = 0
INEFF_CS_860026603	 = 0
REJET_860026603		 = 0
CCD_860026603		 = 0xFF
CCD_REEL_860026603	 = 0
CCD_REEL_FE_860026603	 = 0
bCONVERSION_860026603	 = 0
IEZLT_860026603		 = -1
EPORTABILITE_860026603	 = 0
TAXE_CAL_860026603	 = 0
RPV_860026603		 = 0
ADO_860026603		 = 0
VTGRI_3BPQ_860026603	 = 0
VTGRI_CAX_860026603	 = 0
TRANSGROUPE_860026603	 = 0
ETSII_860026603		 = 0
ETSIN_860026603		 = 0
ART_860026603		 = 0xFFFFFFFF
MINE_860026603		 = 0xFFFFFFFF
APPLI_860026603		 = 0xFFFFFFFF
DC_CAA_860026603		 = 0
SUP_860026603		 = 0
RPVI_DIRECT_860026603	 = 0
OPT_860026603		 = 0
GVPN_860026603		 = 0
val_normal_860026603	 = 0xFF
NVU_860026603		 = 0
ROC_860026603		 = 0
ENVELOPPE_NOK_860026603	 = -1
distri_symph_860026603	 = 0
instCENTAUREVG_860026603	 = 0
VGA_860026603		 = 0
EVTPE_860026603		 = 0
bVGTplus_860026603	 = 0
val_860026603		 = 0
bCENTVG_860026603		 = 0
b_DBETA_860026603		 = 0
b_DBETA8FT_860026603	 = 0
b_DBETAV_860026603	 = 0
b_DBETAV8FT_860026603	 = 0
NDE_Z_860026603		 = 0
EZ_860026603		 = 0
ZA_860026603		 = 0
EZA_860026603		 = 0
act_desactVGT_860026603	 = 0
INEF_SPECIAUX_860026603	 = 0
val_INEF_860026603	 = 0
SPORTABILITE_860026603	 = 0
instECCTRAFIC_860026603	 = 0
arretfct_centaure_860026603 = 0
TYPCOM_FCT_860026603	 = 0
instCENTDEA_860026603	 = 0
typcom_860026603		 = 0
bCENTAUREDEA_860026603	 = 0
bSRP_Eporta_SPN_860026603	 = 0
b_OperNBE_860026603	 = 0
b_FERPV_NBE_860026603	 = 0
b_FERPV_860026603		 = 0
#b_Distr	 = 0
b_CodOperVG_860026603	 = 0
taille_860026603		 = 0
# G3R23
b_NSUC_860026603		 = 0
longueur_860026603	 = 0
len_prefixe_portabilite_860026603 = 0
EPORTABILITE_SCP_860026603 = 0
SPORTABILITE_SCP_860026603 = 0
#DRE G4R6 lot2
Date_CPS_860026603 = 0
instALICE_860026603 = -1
tax_860026603 = 0
#DRE - G4R7 QC829
b_Fact_CPS_Loc_860026603 = 0
b_Fact_CPS_RI_860026603 = 0
#QC862
bREDISTALICE_860026603 = 0


# Allocation memoire pour buffer:
pt_BUF_860026603		 = "04567890123456781239012345678912345"
pt_BUF1_860026603		 = "27272727272727272727272727272"
pt_BUF2_860026603		 = "56757456345345657876846312345"
pt_marque_audit_860026603	 = "9876543210123456712345"
pt_InfoCompl_860026603	 = "32112345"
pt_inst_860026603		 = "034567812912345"
pt_DM_860026603		 = "987654321112345"
pt_eccfact_860026603	 = "56565656565656565656"
pt_eccCentaure_860026603	 = "pt_eccCentaure444444"
pt_COCA_860026603		 = "432112345"
pt_COCAV_860026603	 = "123412345"
pt_CodeOp_860026603	 = "99999999999999999999999999999912345"
pt_service_860026603	 = "6534"
pt_SGTQS_860026603	 = "123456789012123455"
pt_TCOMMUT_860026603	 = "20202020202020202020202020202012345"
pt_INEF_STD_860026603	 = "60606060606060606060606060606012345"
pt_INEF_COMMUT_860026603	 = "90909090909090909090909090909012345"
pt_IDAV_DIST_N_860026603 	 = "09876543210987654321098765432109876"
pt_CODCIRDA_860026603	 = "53453546"
pt_CODCIRA_860026603	 = "78474546"
pt_nde_normal_860026603	 = "1919143210123456712345343434"
pt_CODESCP_860026603	 = "1313131313131313131313131313"
pt_VGA_OP_860026603	 = "035035035035035035035"
pt_VGA_OF_860026603	 = "907907907907907907907"
pt_OFFRE_860026603	 = "502350235023502350235023"
pt_OPERA_860026603	 = "879879879878978987789857"
pt_EVTPE_OP_860026603	 = "196519651965196519651965"
pt_EVTPE_OF_860026603	 = "910891089108910891089108"
pt_RES1_860026603		 = "39581296895947"
pt_NDE_860026603		 = "3333333333333333333333333333333333333333"
pt_NDE1_860026603		 = "314314314314314314314314314314314"
pt_NDEN_860026603		 = "721721721721721721721721721721721721721"
pt_NDE1N_860026603	 = "891891891891891891891891891891"
# 2 x 4 digits plus fin  et possibilite conversion donc encore X2
pt_NUM_SER_860026603	 = "10254781025478102547"
pt_VGTplus_OP_860026603	 = "504754564754564754564"
pt_VGTplus_OF_860026603	 = "464754564754564754564"
pt_NIDAV_860026603	 = "73215732157321573215732157321473215732157321573215"
pt_TEMP_860026603		 = "pt_TEMP95439495493995439594939944995999593995959499599995993995993"
pt_CodOperVG_860026603	 = "pt_CodOperVG7777777777777777777777777777777777777777777777777"
pt_CARACT_860026603	 = "pt-Caract"
pt_NORM_860026603		 = "389389389389389389389389389389389389389389389389389389"
pt_NUM_IDAV_860026603	 = "351254789523125468731589745681143597845213"
pt_PREF_PORT_860026603	 = "846579135"
# G3R23
pt_NSUC_860026603		 = "pt_NSUC1234567890123456789012345"
pt_len_prefixe_portabilite_860026603 = "pt_len_prefixe_portabilite123"
pt_pporta_860026603	 = "pt_pporta01234567890123456789"
# G3R23C7 QC581
pt_PREF_PORT_FERPV_860026603	 = "pt_PREF_PORT_FERPV"
# DRE G4R6 lot2
pt_MESSAGE_860026603 = "pt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGEpt_MESSAGE"
pt_LIBELREDIST_860026603	 = "pt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDIST"
pt_CODE_TARIF_860026603 	 = "pt_CODE_TARIFpt_CODE_TARIF"
pt_TYPE_EDIT_860026603	 = "pt_TYPE_EDIT"


# initialisation
i_strcpy(pt_NIDAV_860026603,"")
i_strcpy(pt_NORM_860026603,"")
i_strcpy(pt_eccfact_860026603,"")
i_strcpy(pt_eccCentaure_860026603,"")
i_strcpy(pt_CODESCP_860026603  ,"")
i_strcpy(pt_VGA_OP_860026603,"")
i_strcpy(pt_VGA_OF_860026603,"")
i_strcpy(pt_OPERA_860026603,"")
i_strcpy(pt_OFFRE_860026603,"")
i_strcpy(pt_EVTPE_OP_860026603,"")
i_strcpy(pt_EVTPE_OF_860026603,"")
i_strcpy(pt_RES1_860026603,"")
i_strcpy(pt_NDE_860026603,"")
i_strcpy(pt_NDE1_860026603,"")
i_strcpy(pt_NDEN_860026603,"")
i_strcpy(pt_NDE1N_860026603,"")
i_strcpy(pt_NUM_SER_860026603, " ")
i_strcpy(pt_VGTplus_OP_860026603," ")
i_strcpy(pt_VGTplus_OF_860026603," ")
i_strcpy(pt_NUM_IDAV_860026603, "")
i_strcpy(pt_PREF_PORT_860026603, " ")
i_strcpy(pt_BUF_860026603,"")
i_strcpy(pt_BUF1_860026603,"")
i_strcpy(pt_BUF2_860026603,"")
i_strcpy(pt_marque_audit_860026603,"")
i_strcpy(pt_InfoCompl_860026603,"")
i_strcpy(pt_inst_860026603,"")
i_strcpy(pt_DM_860026603,"")
i_strcpy(pt_COCA_860026603,"")
i_strcpy(pt_COCAV_860026603,"")
i_strcpy(pt_CodeOp_860026603,"")
i_strcpy(pt_service_860026603,"")
i_strcpy(pt_SGTQS_860026603,"")
i_strcpy(pt_TCOMMUT_860026603,"")
i_strcpy(pt_INEF_STD_860026603,"")
i_strcpy(pt_INEF_COMMUT_860026603,"")
i_strcpy(pt_LIBELREDIST_860026603,"")
i_strcpy(pt_IDAV_DIST_N_860026603,"")
i_strcpy(pt_CODCIRDA_860026603,"")
i_strcpy(pt_CODCIRA_860026603,"")
i_strcpy(pt_nde_normal_860026603,"")
i_strcpy(pt_TEMP_860026603,"")
i_strcpy(pt_CodOperVG_860026603,"")
i_strcpy(pt_CARACT_860026603,"")
# G3R23
i_strcpy(pt_NSUC_860026603,"")
i_strcpy (pt_len_prefixe_portabilite_860026603," ")
i_strcpy(pt_pporta_860026603,"")
# G3R23C7 QC581
i_strcpy(pt_PREF_PORT_FERPV_860026603, " ")
# DRE G4R6 lot2
i_strcpy(pt_MESSAGE_860026603, "")
i_strcpy(pt_CODE_TARIF_860026603 , "    ")
i_strcpy(pt_TYPE_EDIT_860026603 , " ")


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

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ - *** Debut du pcode de distribution ***" )
#ENDIF

# ICAR_ABS (date platine) et ICAR_REL (date locale=date de article)
ICAR_REL_860026603 = i_get_art_field(g_iartin,$DATE)

SI ( ICAR_REL_860026603 == -1 )
ALORS
	code_errone_860026603 = 0xA080
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026603, C_Article_860026603, "i_get_art_field/DATE" )
	SAUT DISTRI_ERR
FINSI
ICAR_ABS_860026603 = i_date_platine(g_ieec,g_iartin,ICAR_REL_860026603)

SI ( ICAR_ABS_860026603 == -1 )
ALORS
	code_errone_860026603 = 0xA080
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026603, C_Article_860026603, "i_date_platine/ICAR_REL" )
	SAUT DISTRI_ERR
FINSI

dduree_860026603 = i_get_art_field( g_iartin, $Tns6dc::dduree )
tax_860026603    = i_get_art_field( g_iartin, $Tns6dc::tax )
dpivot_860026603 = i_get_art_field( g_iartin, $Tns6dc::dpivot)

# ---------------------------------------------------
# Identification de la provenance de l'article
# ---------------------------------------------------
trait_ok_860026603 = -1
# trait_ok : nb de passage en redistribution
trait_ok_860026603 = i_LireRedistCpt()

SI ( trait_ok_860026603 > 0 )
ALORS
	ENVELOPPE_NOK_860026603 = 0
FINSI

#G3R23
# Ajout dpivot dans l'enveloppe
SI ( ENVELOPPE_NOK_860026603 )
ALORS
	ENVELOPPE_NOK_860026603 = i_add_opt( "E_Tns6dc" )
FINSI
erreur_860026603 = i_set_attr_val_n( $E_Tns6dc::DATE_P, dpivot_860026603)

#G3R23 deplace ici pour utilisation de gmt_date dans interrogation de PPORTA
# Initialisation des variables
# issues des metachamps ddebut dduree tax:

ddebut_860026603=i_get_art_field(g_iartin,$ddebut)
SI (ddebut_860026603==-1)
ALORS
	code_errone_860026603 = 0xA080
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026603, C_Article_860026603, "i_get_art_field/ddebut" )
	SAUT DISTRI_ERR
FINSI

gmt_date_860026603 = i_DHgetCe2gTime(NUMTAB_860026603,ZONEMETRO_860026603,ddebut_860026603)
#dduree=i_get_art_field(g_iartin,$Tns6dc::dduree)
#tax=i_get_art_field(g_iartin,$Tns6dc::tax)

#DRE G4R6 lot2 Lignes remontees
SI (bCONVERSION_860026603 == 0 )
ALORS
	erreur_860026603 = i_cree_art("Conversion",g_iartout10)
	bCONVERSION_860026603 = 1
FINSI
#\DRE G4R6 lot2

#DRE G4R6 lot2 Lignes remontees
## Variable fonctionnelle REJET:
SI ( i_valid_field_n( g_iartin, $T4rejet ) )
ALORS
	REJET_860026603 = i_get_art_field(g_iartin,$REJET)
FINSI

#DRE - G4R7 QC829
SI REJET_860026603 == CPT_CPS_Loc_860026603
ALORS
	b_Fact_CPS_Loc_860026603 = 1
FINSI
SI REJET_860026603 == CPT_CPS_RI_860026603
ALORS
	b_Fact_CPS_RI_860026603 = 1
FINSI
#\DRE - G4R7 QC829

#IFDEF trace_niv3 = 1
trace1( "Valeur de REJET = <%d>", REJET_860026603 )
#ENDIF

SI (i_valid_field_n(g_iartin,$NORMAL))
ALORS
	erreur_860026603=i_get_art_str(g_iartin,$NORMAL,pt_NORM_860026603)
	#trace2("URGENCE recup NORMAL <%s>",pt_NORM, "")
SINON
	erreur_860026603=i_get_art_str(g_iartin,$NDE,pt_NORM_860026603)
	#trace2("URGENCE recup NDE <%s>",pt_NORM, "")
FINSI

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


#\DRE G4R6 lot2


#####################################################################
# 	              Traitement C+S (CPS)
#DRE G4R6 lot2
#DRE - G4R7 QC829
#SI (REJET==CPT_CPS_Loc || REJET==CPT_CPS_RI)
SI b_Fact_CPS_Loc_860026603 || b_Fact_CPS_RI_860026603
ALORS
	i_strcpy(pt_TEMP_860026603, i_get_tab_field( "TDATCPS", gmt_date_860026603, C_DATCPS_860026603 ))

	erreur_860026603 = i_set_art_str (g_iartout10,$Conversion::DATE_STR,pt_TEMP_860026603)
	Date_CPS_860026603 = i_get_art_field(g_iartout10, $Conversion::DATE_ASC)
			
	SI ddebut_860026603 < Date_CPS_860026603
	ALORS
		erreur_860026603 = i_format_str2(pt_MESSAGE_860026603," AR <%s> avec date DC inferieure a la date d'activation <%s> de la facturation CPS",pt_NORM_860026603,pt_TEMP_860026603)
		code_errone_860026603 = 0xA080
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre( 8599, 1, g_iartin,"", 3,code_errone_860026603, C_Article_860026603, pt_MESSAGE_860026603 )
		SAUT DISTRI_DIV
	SINON
		#######################################
		#  Soumission de la requete de consultation d'une table de distribution ALICE
		#######################################
#DRE G4R6 QC807 pt_NDE Remplace par pt_NORM
#		i_strcpy(pt_NDE,pt_NORM)
		SI i_strplcmp (pt_NORM_860026603,"0",0,1) == 0
		ALORS
			i_get_sub_str(pt_NORM_860026603,1,-1,pt_NORM_860026603) 	
		FINSI
		longueur_860026603 = i_conv_ascii_dcb (pt_NORM_860026603, pt_TEMP_860026603)
		SI (i_EnvoiReqConsTabDist( TD_SVA_860026603,gmt_date_860026603,pt_TEMP_860026603,longueur_860026603,0,1) != 0)
		ALORS
			#trace("Erreur i_EnvoiReqConsTabDist ALICE")
#QC862
#			bREDIST = 1
			bREDISTALICE_860026603 = 1
			i_strcpy(pt_LIBELREDIST_860026603,"Echec sur i_EnvoiReqConsTabDistDouble ALICE ")
		FINSI
		
		#######################################
		# Recherche de l'instance ECC ALICE
		#######################################
		instALICE_860026603 = i_LireInstanceECC(C_INST_ALICE_860026603)
		SI (!instALICE_860026603)
		ALORS
			#trace("Pas d'instance pour ALICE !")
			erreur_860026603 = i_PlvMessEmettre(8501,1,g_iartin,"",3,C_INST_ALICE_860026603,C_Article_860026603,g_ieec)
			SAUT DISTRI_ERR
		FINSI
		#trace1("instALICE  =<%d>",instALICE)	

		#######################################
		# Lecture Resultat requete ALICE
		#######################################
		erreur_860026603 = i_LireReqConsTabDist()
		#trace1("RETOUR i_LireReqConsTabDist retour requette ALICE, erreur=<%d>",erreur)
		SI ( erreur_860026603 != 0 )
		ALORS
			#trace1( "Erreur i_LireReqConsTabDist ALICE: <%d>", erreur)
#QC862
#			bREDIST = 1
			bREDISTALICE_860026603 = 1
			i_strcpy(pt_LIBELREDIST_860026603,"Echec sur i_LireReqConsTabDistDouble ALICE ")
		FINSI
		val_860026603 = i_LireInfoECC( instALICE_860026603, 0 )
		
		SI (val_860026603 != 0)
		ALORS
			# AR present dans ALICE
			erreur_860026603 = i_LireChaineInfo( val_860026603, 0, 4, pt_BUF_860026603 )
			SI i_strcmp(pt_BUF_860026603,"") != 0
			ALORS
				i_strcpy(pt_CODE_TARIF_860026603,pt_BUF_860026603)
			SINON
				# info complementaire CODE_TARIF vide
#QC862
#				bREDIST = 1
				bREDISTALICE_860026603 = 1
				erreur_860026603 = i_format_str2(pt_LIBELREDIST_860026603," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NORM_860026603,0)
			FINSI
			
			erreur_860026603 = i_LireChaineInfo( val_860026603, 4, 1, pt_BUF_860026603 )
			SI i_strcmp(pt_BUF_860026603,"") != 0
			ALORS
				i_strcpy(pt_TYPE_EDIT_860026603,pt_BUF_860026603)
			SINON
				# info complementaire TYPE_EDIT vide
#QC862
#				bREDIST = 1
				bREDISTALICE_860026603 = 1
				erreur_860026603 = i_format_str2(pt_LIBELREDIST_860026603," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NORM_860026603,0)
			FINSI
		SINON
#QC862
#			bREDIST = 1
			bREDISTALICE_860026603 = 1
			erreur_860026603 = i_format_str2(pt_LIBELREDIST_860026603," AR <%s> non trouve dans ALICE",pt_NORM_860026603,0)
		FINSI
	FINSI
FINSI
#\DRE G4R6 lot2

#####################################################################
#			 Portabilite Mobiles
#  SI IDAV/NUM commence par 600
#  Envoi de l'IDAV/NUM complet (sans normalisation) a la BNC
#  pour recuperer le CCD de l'operateur mobile demande

res_860026603 = 0
SI i_valid_field_n(g_iartin,$Tns6dc::INF_IDAV)
ALORS
	res_860026603 = i_get_art_field(g_iartin, $Tns6dc::INF_IDAV)
FINSI
bPortabilite_mobile_860026603 = 0
bSRP_Sporta_SPN_860026603 = 0

SI i_valid_field_n(g_iartin,$Tns6dc::NUM_IDAV)
ALORS
	erreur_860026603 = i_get_art_str(g_iartin, $Tns6dc::NUM_IDAV, pt_NUM_IDAV_860026603)
	# prefixes sur 3 digits
	#SI ( i_strplcmp(pt_NUM_IDAV, C_PREF_PORTABILITE_MOBILE, 0, 3) == 0  && res == 2 )

	#G3R23
	#SI ( ( i_strplcmp(pt_NUM_IDAV, C_PREF_PORTABILITE_MOBILE, 0, 3) == 0 || i_strplcmp(pt_NUM_IDAV, C_PREF_PORTABILITE_MOBILE2, 0, 3) == 0 )  && res == 2 )
	#ALORS
	#	bPortabilite_mobile = 1
	#FINSI

	#trace(" ################## Recherche prefixe portabilite dans table PPORTA ###################")
	i_strcpy(pt_pporta_860026603, rechercheDicho_860026233(pt_NUM_IDAV_860026603, T_PPORTA_860026603, gmt_date_860026603))
	#trace2(" ################# Recherche prefixe portabilite dans table PPORTA : Cle passee = >%s<   resultat = >%s< ######", pt_NUM_IDAV, pt_pporta)
	SI(i_strcmp(pt_pporta_860026603,g_inull) != 0)
	ALORS
		longueur_860026603 = i_strlen(pt_pporta_860026603)
		erreur_860026603 = i_recupererValeur(pt_pporta_860026603, pt_len_prefixe_portabilite_860026603, longueur_860026603,'_')
		# resultat de i_recupererValeur: . longueur du prefixe -> partie avant "_" dans pt_len_prefixe_portabilite
		#                                . categorie           -> partie apres "_" dans pt_pporta
		#trace2(" ################# Recherche prefixe portabilite dans table PPORTA : longueur du prefixe = >%s<   categorie = >%s< ######", pt_len_prefixe_portabilite, pt_pporta)
		SI ((i_strcmp(pt_pporta_860026603, PPORTA_CATEG_MOB_860026603) == 0) && res_860026603 == 2)
		ALORS
			bPortabilite_mobile_860026603 = 1
			len_prefixe_portabilite_860026603 = CONV_ASCIINUMDEC_INT_860026233(pt_len_prefixe_portabilite_860026603)
			i_get_sub_str(pt_NUM_IDAV_860026603, 0, len_prefixe_portabilite_860026603-1, pt_PREF_PORT_860026603)
			# G3R23C7 QC581
			i_get_sub_str(pt_NUM_IDAV_860026603, 0, 4, pt_PREF_PORT_FERPV_860026603)
			#trace("bPortabilite_mobile = 1")
			#trace1(" ################# Recherche prefixe portabilite dans table PPORTA : longueur du prefixe de portabilite    = >%d<  ######", len_prefixe_portabilite)
			#trace2(" ################# Recherche prefixe portabilite dans table PPORTA : prefixe de portabilite (pt_PREF_PORT) = >%s<  ######", pt_PREF_PORT, "")
			#trace2(" ################# Recherche prefixe portabilite pour FERPV : pt_PREF_PORT_FERPV = >%s<  ######", pt_PREF_PORT_FERPV, "")
		FINSI
	FINSI
	#/G3R23

	SI ( i_strplcmp(pt_NUM_IDAV_860026603, C_PREF_SPORTABILITE_SRP_860026603, 0, 3) == 0 )
	ALORS
		SI ( i_strplcmp(pt_NUM_IDAV_860026603, "08", 3, 2) != 0 )
		ALORS
			bSRP_Sporta_SPN_860026603 = 1
		SINON
			bSRP_Eporta_SPN_860026603 = 1
		FINSI
	FINSI
FINSI

# ---------------------------------------------------
# Gestion des parametres cap2 et cab:
# Recuperation des valeurs des champs
# CAX TAP et SUP.
# ---------------------------------------------------

SI ( i_valid_field_n( g_iartin, $Tns6dc::T3cap2 ) )
ALORS
	CAX_860026603=i_get_art_field( g_iartin, $Tns6dc::CAX:0 )
	TAP_860026603=i_get_art_field( g_iartin, $Tns6dc::TAP:0 )
	SUP_860026603=i_get_art_field( g_iartin, $Tns6dc::SUP:0 )
FINSI

SI (i_valid_field_n(g_iartin,$Tns6dc::T3cab))
ALORS
	CAX_860026603=i_get_art_field( g_iartin, $Tns6dc::CAX:1 )
	TAP_860026603=i_get_art_field( g_iartin, $Tns6dc::TAP:1 )
	SUP_860026603=i_get_art_field( g_iartin, $Tns6dc::SUP:1 )
FINSI
#IFDEF trace_niv2 = 1
#trace1( "__FILE__:__LINE__: CAX=%d", CAX )
#ENDIF
erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::INEF, pt_INEF_COMMUT_860026603 )

# Recuperation de la valeur normalisee DEDE_DIST_N
# pour type_trafic:
# Recuperation du ZA pour RPV et ADO:
# Ajout condition inefficace sans NDE - FO1295 - LRA 31/01/2002
SI (i_valid_field_n(g_iartin, $NDE))
ALORS
	# Attention : on initialise ZA avec les valeurs du NDE (comme en G2R0C8)
	# Ce type d'initialisation est valable dans la plupart des cas (seuls les cas avec prefixe ne seront pas corrects)
	# Pour couvrir aussi ces cas particuliers, on recalcule si possible ZA et EZA avec NORMAL juste apres.
	# on verifie au prealable si on a un numero de type *..* ou #..#
	# si on detecte une activation/desactivation de service, on inhibera l appel au referentiel VGA

	SI ( (i_get_art_fieldtab(g_iartin,$NDE,0) == 0xB) || (i_get_art_fieldtab(g_iartin,$NDE,0) == 0xC) )
	&& ( (i_get_art_fieldtab(g_iartin,$NDE,3) == 0xB) || (i_get_art_fieldtab(g_iartin,$NDE,3) == 0xC) )
	ALORS
		indice_860026603 = 4
		act_desactVGT_860026603 = 1
	SINON
		indice_860026603 = 0
	FINSI

	# NUM_SER
	SI ((i_get_art_fieldtab(g_iartin, $NDE,0) == 0xB) || (i_get_art_fieldtab(g_iartin, $NDE, 0) == 0xC))
	ALORS
		erreur_860026603 = i_get_art_str(g_iartin, $Tns6dc::NDE, pt_NDE_860026603)
		i_get_sub_str(pt_NDE_860026603, 0, 3, pt_NUM_SER_860026603)
		i_replace_str(pt_NUM_SER_860026603, "ABC", "A*#", pt_NUM_SER_860026603)
		#trace2(" ******** NUM_SER : <%s>", pt_NUM_SER, "")
	SINON
		i_strcpy(pt_NUM_SER_860026603, " ")
		#trace(" ******** NUM_SER : pas d'activation/desactivation")
	FINSI

	# VGA_SER , VGTplus_SER (G3R0Ca)
	erreur_860026603 = i_format_str2(pt_TEMP_860026603, "%s%s", "INk", pt_NUM_SER_860026603)
	i_strcpy(pt_RES1_860026603, i_get_tab_field("Inter", gmt_date_860026603, pt_TEMP_860026603))

	SI (i_strcmp(pt_RES1_860026603, "VGA") == 0 || i_strcmp(pt_RES1_860026603, "VGAVGT+") == 0)
	ALORS
		VGA_SER_860026603 = 1
	SINON
		VGA_SER_860026603 = 0
	FINSI

	SI (i_strcmp(pt_RES1_860026603, "VGT+")== 0 || i_strcmp(pt_RES1_860026603, "VGAVGT+")== 0)
	ALORS
		VGTplus_SER_860026603 = 1
	SINON
		VGTplus_SER_860026603 = 0
	FINSI

	#  pour *21* eligibilite VGA
	#  pour *55* eligibilite VGA
	#  pour #21# et #55* eligible VGA
	erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::NDE, pt_NDE_860026603 )
	i_get_sub_str(pt_NDE_860026603,0,3,pt_NDE1_860026603)
	i_replace_str(pt_NDE1_860026603,"ABC","A*#",pt_NDE1_860026603)

	dede_num1_860026603 = g_iartin.NDE[indice_860026603]
	NDE_Z_860026603 = i_get_art_fieldtab(g_iartin,$NDE,indice_860026603+1)
	EZ_860026603=10*(i_get_art_fieldtab(g_iartin,$NDE,indice_860026603))+i_get_art_fieldtab(g_iartin,$NDE,indice_860026603+1)
	ZA_860026603=10*(i_get_art_fieldtab(g_iartin,$NDE,indice_860026603 + 1))+i_get_art_fieldtab(g_iartin,$NDE,indice_860026603 + 2)
	EZA_860026603=(100*(i_get_art_fieldtab(g_iartin,$NDE,indice_860026603)))+(10*i_get_art_fieldtab(g_iartin,$NDE,indice_860026603+1))+i_get_art_fieldtab(g_iartin,$NDE,indice_860026603+2)
SINON
	#trace("Inefficace, NDE absent => seulement SYMPHONIE !")
	SAUT DEV_SYMPHONIE
FINSI

SI (i_valid_field_n(g_iartin, $NORMAL))
ALORS
	SI ((i_get_art_fieldtab(g_iartin,$NORMAL,0) == 0xB) || (i_get_art_fieldtab(g_iartin,$NORMAL,0) == 0xC))
	&& ((i_get_art_fieldtab(g_iartin,$NORMAL,3) == 0xB) || (i_get_art_fieldtab(g_iartin,$NORMAL,3) == 0xC))
	ALORS
		indice_860026603 = 4
		act_desactVGT_860026603 = 1
	SINON
		indice_860026603 = 0
	FINSI

	# pour *21* eligibilite VGA
	# pour *55* eligibilite VGA
	erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::NORMAL, pt_NDEN_860026603 )
	i_get_sub_str(pt_NDEN_860026603,0,3,pt_NDE1N_860026603)
	i_replace_str(pt_NDE1N_860026603,"ABC","A*#",pt_NDE1N_860026603)

	dede_num1_860026603 = g_iartin.NORMAL[indice_860026603]
	NDE_Z_860026603 = i_get_art_fieldtab(g_iartin, $NORMAL, indice_860026603 + 1 )
	EZ_860026603=10*(i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603))+i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603+1)
	val_normal_860026603=10*(i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603))+i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603 + 1)
	ZA_860026603=10*(i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603 + 1))+i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603 + 2)
	EZA_860026603=(100*(i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603)))+(10*i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603+1))+i_get_art_fieldtab(g_iartin,$NORMAL,indice_860026603+2)
	#trace1("ZA=<%d>",ZA)
FINSI
#trace1("val_normal=<%d>",val_normal)
#trace1("ZA=<%d>",ZA)

# Type de Trafic:
SI (val_normal_860026603 != 0xFF)
ALORS
	SI (!val_normal_860026603)
	ALORS
		# Le Num. Demande normalise commence par 00:
		type_traf_860026603 = international_860026603
		# On verifie si c est un numero vert universel (NVU)
		SI ( (i_get_art_fieldtab( g_iartin, $NORMAL, 2 ) == 8)
		&& (i_get_art_fieldtab( g_iartin, $NORMAL, 3 ) == 0)
		&& (i_get_art_fieldtab( g_iartin, $NORMAL, 4 ) == 0) )
		ALORS
			NVU_860026603 = 1
		FINSI
	SINON
		SI ((val_normal_860026603)&&(val_normal_860026603<10))
		ALORS
			# LE Num.Demande normalise commence par 0X
			# avec X non nul:
			type_traf_860026603 = national_860026603
		SINON
			type_traf_860026603 = special_860026603
		FINSI
	FINSI
FINSI
#trace1("Type de trafic = <%d>", type_traf)

# Variable fonctionnelle EFFICACE:
# Recuperation du bit B de TAP:
SI ( !i_get_bit_val( TAP_860026603, 7 ) )
ALORS
	EFFICACE_860026603 = 1
SINON
	EFFICACE_860026603 = 0
FINSI
#IFDEF trace_niv2 = 1
trace1( "__FILE__:__LINE__: EFFICACE = <%d>", EFFICACE_860026603 )
#ENDIF

# IL FAUT SAVOIR SI INEF_SPECIAUX AVANT APPEL inef_std
##############################################################
#	 Article Inef speciaux : variable INEF_SPECIAUX
#		- code INEF > 100 (decimal)
#		- DEDE_INF vaut 0
##############################################################
#  DC  INEF urgents
#  -code INEF >=100 (decimal)
#  DEDE normalise appartient ` la table externe inef_apache
#  Alimentation d'apache avec dc inefficaces des urgences

#trace2("verif SGTQS  apres pt_NORM=%s", pt_SGTQS, "")

val_INEF_860026603=i_get_art_field(g_iartin, $Tns6dc::INEF)
#trace1("URGENCE recup INEF   <%d>",val_INEF)
#trace1("URGENCE EFFICACE     <%d>",EFFICACE)

SI (!EFFICACE_860026603)
ALORS
	# recuperation des champs APPLI MINE et ART de l'entete de bloc
	ART_860026603 = i_bloc_V1V2_recupererIdent(ART_BLOC_V1V2)
	SI (ART_860026603 == 4)
	ALORS
		MINE_860026603 = i_bloc_V1V2_recupererIdent(MINE_BLOC_V1V2)
		APPLI_860026603 = i_bloc_V1V2_recupererIdent(APPLI_BLOC_V1V2)
	FINSI

	#IFDEF trace_niv1 = 1
	trace1("champ MINE : %x",MINE_860026603)
	trace1("champ ART : %x",ART_860026603)
	trace1("champ APPLI : %x",APPLI_860026603)
	#ENDIF

	pt_TCOMMUT_860026603 = type_commut_860026233("APA1", pt_SGTQS_860026603, dpivot_860026603)
	SI (pt_TCOMMUT_860026603 == g_inull)
	ALORS
		#trace2("SGTQS pour appel type_commut cle APA1 <%s>", pt_SGTQS,"")
		erreur_860026603 = i_format_str2(pt_TEMP_860026603," %s",pt_SGTQS_860026603,0)
		erreur_860026603 = i_PlvMessEmettre(8505,2,g_iartin,"",3,"Tns6dc/type_commut",pt_TEMP_860026603,g_ieec)
	SINON
		#trace2(" Type de commutateur OK <%s>", pt_SGTQS, "")
		#trace1(" INEF_SPECIAUX <%d>", INEF_SPECIAUX)
		#trace2(" pt_TCOMMUT       <%s>", pt_TCOMMUT, "")
		#trace2(" pt_INEF_COMMUT   <%s>", pt_INEF_COMMUT, "")
		#trace(" appel inef_std cle APA2 et pt_TCOMMUT et pt_INEF_COMMUT")

		pt_INEF_STD_860026603 = inef_std_860026233("APA2", pt_TCOMMUT_860026603, pt_INEF_COMMUT_860026603, dpivot_860026603)
		SI ( pt_INEF_STD_860026603 == g_inull)
		ALORS
			#trace("Code inef absent dans la table")
			erreur_860026603 = i_format_str2(pt_TEMP_860026603," %s",pt_INEF_COMMUT_860026603,0)
			erreur_860026603 = i_PlvMessEmettre(8505,2,g_iartin,"",3,"Tns6dc/inef_std",pt_TEMP_860026603,g_ieec)
		SINON
			DC_CAA_860026603=1
		FINSI
	FINSI
	#trace2(" Type de commutateur <%s>", pt_TCOMMUT, "")
	#trace2(" Code inefficace standard <%s>", pt_INEF_STD, "")
FINSI

#G3R23 deplace pour utilisation de gmt_date dans interrogation de PPORTA
# Initialisation des variables
# issues des metachamps ddebut dduree tax:

#G3R23 QC553
# NSUC
#SI(bPortabilite_mobile == 1)
#	ALORS
#	erreur = i_get_art_str(g_iartin, $Tns6dc::NUM_IDAV, pt_BUF)
#	trace2("Recherche NSUC / NUM_IDAV   : <%s>", pt_BUF, "")
#SINON
#	SI i_valid_field_n(g_iartin,$Tns6dc::NORMAL)
#		ALORS
#		erreur = i_get_art_str( g_iartin, $Tns6dc::NORMAL, pt_BUF )
#		i_get_sub_str(pt_BUF, 1, -1, pt_BUF)
#		trace2("Recherche NSUC / NORMAL   : <%s>", pt_BUF, "")
#	SINON
#		erreur = i_get_art_str( g_iartin, $NDE, pt_BUF )
#		trace2("Recherche NSUC / NDE   : <%s>", pt_BUF, "")
#	FINSI
#FINSI

SI i_valid_field_n(g_iartin,$Tns6dc::DEDENSUC)
ALORS
	erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::DEDENSUC, pt_BUF_860026603 )
	SI (g_iartin.DEDENSUC[0] == 0x0)
	ALORS
		i_get_sub_str(pt_BUF_860026603, 1, -1, pt_BUF_860026603)
	FINSI
	#trace2("Recherche NSUC / DEDENSUC  : <%s>", pt_BUF, "")
SINON
	erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::NDE, pt_BUF_860026603 )
	#trace2("Recherche NSUC / NDE   : <%s>", pt_BUF, "")
FINSI

i_strcpy(pt_NSUC_860026603, i_get_tab_field("TNSUC", gmt_date_860026603, pt_BUF_860026603))
SI (i_strcmp(pt_NSUC_860026603,"") != 0 )
ALORS
	b_NSUC_860026603 = 1
	SI (i_strcmp(LCASE_860026233(pt_NSUC_860026603),"vide") == 0 )
	ALORS
		i_strcpy(pt_NSUC_860026603," ")
	FINSI
FINSI

#trace2("Recherche NSUC - Dede   : <%s>", pt_BUF, "")
#trace1("Recherche NSUC - b_NSUC : %x",b_NSUC)

######################################################################
# Variables Fonctionnelles
######################################################################

## Variable fonctionnelle TRANSGROUPE:
SI (( (i_get_art_field(g_iartin,$Tns6dc::STY)) & 0x40) == 0x40)
ALORS
	TRANSGROUPE_860026603 = 1
SINON
	TRANSGROUPE_860026603 = 0
FINSI

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

## Variable fonctionnelle ETSIN:
INF_DEDE_860026603 = i_get_art_field(g_iartin,$Tns6dc::INF_DEDE)
bitAinfdede_860026603 = i_get_bit_val(INF_DEDE_860026603,8)
bitBinfdede_860026603 = i_get_bit_val(INF_DEDE_860026603,7)

SI ( bitAinfdede_860026603 && !bitBinfdede_860026603 )
ALORS
	ETSIN_860026603 = 1
SINON
	ETSIN_860026603 = 0
FINSI

## Variable fonctionnelle ETSII:
SI ( bitAinfdede_860026603 && bitBinfdede_860026603 )
ALORS
	ETSII_860026603 = 1
SINON
	ETSII_860026603 = 0
FINSI
bitDinfdede_860026603 = i_get_bit_val(INF_DEDE_860026603,5)

## Variable fonctionnelle ALLO:
#cle = i_verify_value( g_iartin, "T3cle", 0x18 )

SI (i_valid_field_n(g_iartin,$NUM_IDAV))
ALORS
	res_860026603=i_get_art_str(g_iartin,$NUM_IDAV,pt_IDAV_DIST_N_860026603)
	i_get_sub_str(pt_IDAV_DIST_N_860026603,0,4,pt_TEMP_860026603)
	SI ( (i_strcmp(pt_TEMP_860026603,"07997") == 0) || (i_strcmp(pt_TEMP_860026603,"07998") == 0) || (i_strcmp(pt_TEMP_860026603,"07999") == 0)
	|| (i_strcmp(pt_TEMP_860026603,"06997") == 0) || (i_strcmp(pt_TEMP_860026603,"06998") == 0) )
	ALORS
		RPVI_DIRECT_860026603 = 1
	FINSI
FINSI

SI ( (i_verify_value( g_iartin, "T3cle", 0x47 )) && bitDinfdede_860026603 )
ALORS
	RPVI_DIRECT_860026603 = 1
FINSI
#trace1("RPVI_DIRECT : %d",RPVI_DIRECT)

## Variable fonctionnelle RPV:
#Initialisation de RPV
SI ( type_traf_860026603 == national_860026603 )
ALORS
	SI ( ZA_860026603==85 )
	ALORS
		RPV_860026603 = 1
	SINON
		RPV_860026603 = 0
	FINSI
FINSI

#--------------------------
# ROC Rappel sur OCcupation DEDE=A5
#--------------------------
SI ((10*(i_get_art_fieldtab(g_iartin,$NDE,0))+i_get_art_fieldtab(g_iartin,$NDE,1)) == 105 )
ALORS
	ROC_860026603 = 1
FINSI

## Variable fonctionnelle IEZLT:
#Recuperation de la valeur de ZLT
SI (i_valid_field_n(g_iartin,$T4ZLT))
ALORS
	IEZLT_860026603 = i_get_art_field(g_iartin,$ZLT)
FINSI
#trace1("IEZLT=<%d>",IEZLT)

## Variable fonctionnelle CCD:
#Code Classe de Destination
SI (i_valid_field_n(g_iartin,$Tns6dc::CCD))
ALORS
	CCD_860026603 = i_get_art_field(g_iartin,$Tns6dc::CCD)
FINSI
#IFDEF trace_niv2 = 1
trace1( "__FILE__:__LINE__: Variable fonctionnelle : CCD=<%d>", CCD_860026603 )
#ENDIF

#DRE G4R6 lot2 Lignes remontees plus haut
## Variable fonctionnelle REJET:
#SI ( i_valid_field_n( g_iartin, $T4rejet ) )
#ALORS
#	REJET = i_get_art_field(g_iartin,$REJET)
#FINSI
##IFDEF trace_niv3 = 1
#trace1( "Valeur de REJET = <%d>", REJET )
##ENDIF
#\DRE G4R6 lot2

SI ( val_normal_860026603 == 0 ) && ( NVU_860026603 == 0 )
ALORS
	GVPN_860026603=1
FINSI

# -----------------------------------------------------------------------
# Variable fonctionnelle INEF_CS:
# Communication inefficace, de duree nulle avec complement de service
# EV4.1 : nouvelle definiton de INEF_CS suite a la FO983
# -----------------------------------------------------------------------

SI ( !EFFICACE_860026603 && !dduree_860026603 )
ALORS
	SI ( ( i_valid_field_n( g_iartin, $Tns6dc::T3cha) &&
	( (g_iartin.MES1 != 0xFF) || (g_iartin.MES2 != 0xFF) ) ) )
	ALORS
		INEFF_CS_860026603=1
	FINSI
FINSI
#IFDEF trace_niv2 = 1
trace1( "__FILE__:__LINE__: dduree   = <%d>", dduree_860026603 )
trace1( "__FILE__:__LINE__: INEFF_CS = <%d>", INEFF_CS_860026603 )
#ENDIF

## Variable fonctionnelle E:
# COCA ou COCAV ?
nb_digit_860026603=0
pref_860026603=-1

SI (i_valid_field_n(g_iartin,$BETA))
ALORS
	b_DBETA_860026603 = 1
	erreur_860026603=i_get_art_str(g_iartin,$BETA,pt_COCA_860026603)
	SI (i_strcmp (pt_COCA_860026603,"08")==0)
	ALORS
		b_DBETA8FT_860026603 = 1
	FINSI
FINSI

SI (i_valid_field_n(g_iartin,$BETAV))
ALORS
	b_DBETAV_860026603 = 1
	erreur_860026603=i_get_art_str(g_iartin,$BETAV,pt_COCAV_860026603)
	SI (i_strcmp (pt_COCAV_860026603,"08")==0)
	ALORS
		b_DBETAV8FT_860026603 = 1
	FINSI
FINSI

SI ( (pref_860026603==-1)&&(i_valid_field_n(g_iartin,$BETAV) ) )
ALORS
	nb_digit_860026603=i_strlen(pt_COCAV_860026603)
	SI (nb_digit_860026603>0)
	ALORS
		pref_860026603 = g_iartin.BETAV[nb_digit_860026603-1]
		SI (nb_digit_860026603>1)
		ALORS
			pref_860026603 = ( 10*(g_iartin.BETAV[nb_digit_860026603-2]) + pref_860026603 )
			SI (nb_digit_860026603>2)
			ALORS
				pref_860026603 = ( 100*(g_iartin.BETAV[nb_digit_860026603-3]) + pref_860026603 )
				SI (nb_digit_860026603>3)
				ALORS
					pref_860026603 = ( 1000*(g_iartin.BETAV[nb_digit_860026603-4]) + pref_860026603 )
				FINSI
			FINSI
		FINSI
	FINSI
FINSI
#trace1("prefixe transport.=<%d>",pref)

SI ((pref_860026603 != 8) && (pref_860026603 != -1))
ALORS
	OPT_860026603 = 1
FINSI
#Fin COCA / COCAV##

# Recuperation de E:
vE_860026603=-1
#trace("Appel Extraction_STP")
vE_860026603 = Extraction_STP_860026233( g_iartin, $NDE, TRANSGROUPE_860026603, ETSIN_860026603, ETSII_860026603, pref_860026603, $NDR)
#trace1("vE=<%d>",vE)

# Variable fonctionnelle ADO:
#trace1("TRANSGROUPE=<%d>",TRANSGROUPE)
#trace1("CAX=<%d>",CAX)
#trace1("vE=<%d>",vE)

ADO_860026603=0
SI ( (TRANSGROUPE_860026603==1)&&(CAX_860026603==6) && !vE_860026603 && !((ZA_860026603>>4) & 0xF) && (type_traf_860026603==international_860026603) )
ALORS
	ADO_860026603 = 1
	SI ( !i_get_art_fieldtab(g_iartin,$NDE,0)&&!i_get_art_fieldtab(g_iartin,$NDE,1)&&(i_get_art_fieldtab(g_iartin,$NDE,2)==8)&&
	!i_get_art_fieldtab(g_iartin,$NDE,3) && !i_get_art_fieldtab(g_iartin,$NDE,4) )
	ALORS
		ADO_860026603 = 0
	FINSI
	#trace1("Variable ADO: Z=<%d>",( (ZA >>4 )& 0xF) )
FINSI

## Variable fonctionnelle VTG RI:
# 2 marquages:  soit VTGRI_3BPQ
#               soit VTGRI_CAX
VTGRI_3BPQ_860026603=0
VTGRI_CAX_860026603=0

# Cas 3BPQ:
# 1 seul numero pour l'instant: 3048
SI ( i_get_art_fieldtab(g_iartin,$NDE,0)==3 &&
i_get_art_fieldtab(g_iartin,$NDE,1)==0 &&
i_get_art_fieldtab(g_iartin,$NDE,2)==4 &&
i_get_art_fieldtab(g_iartin,$NDE,3)==8 )
ALORS
	#trace("Cas 3BPQ VTGRI")
	VTGRI_3BPQ_860026603=1
FINSI

# Cas CAX:
SI ( ( (vE_860026603!=8) || (CAX_860026603!=7) ) && ( IEZLT_860026603==extraZLT_860026603 ) && ( type_traf_860026603!=special_860026603 ) && (pref_860026603==8) && (CAX_860026603 == 1) )
ALORS
	VTGRI_CAX_860026603=1
FINSI
#trace1("VTGRI_CAX=<%d>",VTGRI_CAX)
erreur_860026603 =i_get_art_str(g_iartin,$NDE,pt_BUF_860026603 )

# DRE QC677 recuperation plus tot de TAXCAL calcule dans le traitement
SRP_PORTE_860026603 = 0
SI ( i_valid_field_n(g_iartin, $TAXCAL) )
ALORS
	SRP_PORTE_860026603 = 1
	TAXE_CAL_860026603 = i_get_art_field( g_iartin, $Tns6dc::TAXCAL )
FINSI


#DRE QC677
SI CCD_860026603 != CCD_Internat_860026603
ALORS

	# Portabilite
#DRE G4R05 QC758
	SI i_get_art_fieldtab(g_iartin,$NDE,0) <= 9
	ALORS
		pt_CodeOp_860026603 = CodeOperateurTable6_860026233(gmt_date_860026603, pt_BUF_860026603,INST_45S_860026603)
	FINSI
#\DRE G4R05 QC758

	SI (!i_strcmp(pt_CodeOp_860026603, "84208"))
	ALORS
		EPORTABILITE_860026603 = 1
	SINON
		SI (i_strcmp(pt_CodeOp_860026603,g_inull)!=0)
		ALORS
			SPORTABILITE_860026603 = 1
		FINSI
	FINSI
	
	#trace1("EPORTABILITE=<%d>", EPORTABILITE)
	#trace1("CCD REEL = <%d>", CCD)
	
	######################## Portabilite Entrante ou Sortante SCP (referentiel ACLA)#################################################
	
	#trace("------------RECHERCHE INSTANCE ACLA-------------")
	instACLA_860026603  = i_LireInstanceECC(INST_ACLA_860026603 )
	
	SI (!instACLA_860026603 )
	ALORS
		trace ("---------------------Pas d'instance pour ACLA------------------------------")
		erreur_860026603  = i_PlvMessEmettre(8501,2,g_iartin,"",3,"ACLA",C_Article_860026603 ,g_ieec)
		SAUT DISTRI_ERR
	FINSI
	#trace1("-----------------------instACLA=<%d>-----------------------------",instACLA )
	
	##############################################################################
	# Envoi Requetes Table de Distribution ACLA
	##############################################################################
	
	erreur_860026603 =i_get_art_str(g_iartin,$NDE,pt_BUF_860026603 )
#DRE G4R05 QC758
	SI i_get_art_fieldtab(g_iartin,$NDE,0) <= 9
	ALORS
		pt_CODESCP_860026603= CodeOperateurTable6_860026233(gmt_date_860026603 ,pt_BUF_860026603,"ACLA")
	FINSI
#\DRE G4R05 QC758
	
	#trace2("-------------Tns6dc -resultat de pt_CODESCP : <%s>------------------",pt_CODESCP  ,"")
	
	SI (!i_strcmp(pt_CODESCP_860026603 , "84008"))
	ALORS
		EPORTABILITE_SCP_860026603  = 1
	SINON
		SI (i_strcmp(pt_CODESCP_860026603 ,"84008")!=0 && i_strcmp(pt_CODESCP_860026603 ,"")!=0)
		ALORS
			SPORTABILITE_SCP_860026603  = 1
		FINSI
	FINSI
FINSI
#FIN DRE QC677

#---------------------------------------------------------------------------
# Variable fonctionnelle CCD_REEL (FO 1079)
#---------------------------------------------------------------------------

SI (EPORTABILITE_860026603  == 1)
ALORS
	CCD_REEL_860026603  = 212
SINON
	SI (EPORTABILITE_SCP_860026603  == 1)
	ALORS
		CCD_REEL_860026603  = 218
	SINON
		SI (SPORTABILITE_860026603 == 1)
		ALORS
			CCD_REEL_860026603 = 213
		SINON
			SI (SPORTABILITE_SCP_860026603  == 1)
			ALORS
				CCD_REEL_860026603  = 219
			SINON
				CCD_REEL_860026603  = CCD_860026603
			FINSI
		FINSI
	FINSI
FINSI

#DRE G4R6 QC807
SI ( bREDIST_860026603 == 1 )
ALORS
	distri_symph_860026603 = 1
	SAUT DEV_SYMPHONIE
FINSI

#trace1("-Valeur de EPORTABILITE     =<%d>----",EPORTABILITE)
#trace1("-Valeur de EPORTABILITE_SCP =<%d>----",EPORTABILITE_SCP)
#trace1("-Valeur de SPORTABILITE_SCP =<%d>----",SPORTABILITE_SCP)
#trace1("-Valeur de CCD              =<%d>----",CCD)
#trace1("-Valeur de CCD_REEL         =<%d>----",CCD_REEL)

# Stockage elimine explicite
# la condition sur le REJET ne provoque plus l envoi en ELIMINE mais une distribution a Symphonie
# Rappel : les DC Mayotte Expe sont elimines explicitement au traitement
# REJET4 (3212 retour BNC = 13) REJET6 (118 TPD & kiosque BNC = 14)
SI ( ( (REJET_860026603 == 1 && !bSRP_Sporta_SPN_860026603) || REJET_860026603 == 2 || REJET_860026603 == 3 || REJET_860026603 == CPT_REJET4_860026603 || REJET_860026603 == CPT_REJET6_860026603) && CAX_860026603 != 3 )
ALORS
	distri_symph_860026603 = 1
	SAUT DEV_SYMPHONIE
FINSI

##################### Debut VGA #####################

#-----------------------------Controle presence et recuperation de l'instance du referentiel VGA
instVGA_860026603 = i_LireInstanceECC(INST_VGA_860026603)

SI (!instVGA_860026603)
ALORS
	#trace("Pas d'instance pour VGA !")
	erreur_860026603 = i_PlvMessEmettre(8501,2,g_iartin,"",3,"VGA",C_Article_860026603,g_ieec)
	SAUT DISTRI_ERR
FINSI
#trace1("instVGA8  =<%d>",instVGA)

#---------------------Envoi requetes table VGA -----------------------#
L_NDR_860026603 = i_get_art_fieldlength(g_iartin,$NDR)
SI ( L_NDR_860026603 % 2 == 0 )
ALORS
	L_NDR_860026603 = L_NDR_860026603 / 2
SINON
	L_NDR_860026603 = L_NDR_860026603 / 2 + 1
FINSI

# Remarque : le test pour VGA n est sans doute pas optimise (ex, BETA/COCA est toujours la pour un VGA car les demandeurs VGA ont forcement la preselection)
# On le laisse quand meme en l etat pour suivre au plus pres la specification
# VGA reste nul si appel en preselection c-a-d
# - DEDE_INF a 0xC3 -> format international
# - DEDE_INF a 0x82 et 1er digit de DEDE_NUM entre 1 et 6
# - DEDE_INF a 0x00 et les 2 premiers digits de DEDE_NUM entre 00 et 06

SI (i_valid_field_n(g_iartin, $Tns6dc::INF_DEDE))
ALORS
	dede_inf_860026603 = i_get_art_field(g_iartin,$Tns6dc::INF_DEDE)
	dede_infD0_860026603=dede_inf_860026603 & 0xEF
FINSI

SI (i_EnvoiReqConsTabDist( TD_VGA1_860026603,gmt_date_860026603,i_get_art_fieldptr(g_iartin,$Tns6dc::NDR),L_NDR_860026603,0,1) != 0)
ALORS
	#trace("Erreur i_EnvoiReqConsTabDist VGA1")
	bREDIST_860026603 = 1
	i_strcpy(pt_LIBELREDIST_860026603,"Echec sur i_EnvoiReqConsTabDistDouble")
FINSI

#-------------Interrogation de la table VGA1----------------------
erreur_860026603 = i_LireReqConsTabDist()
#trace1("RETOUR i_LireReqConsTabDist retour requette VGA1, erreur=<%d>",erreur)

SI ( erreur_860026603 != 0 )
ALORS
	#trace1( "Erreur i_LireReqConsTabDist VGA1: <%d>", erreur)
	bREDIST_860026603 = 1
	i_strcpy(pt_LIBELREDIST_860026603,"Echec sur i_LireReqConsTabDistDouble")
FINSI

val_860026603 = i_LireInfoECC( instVGA_860026603, 0 )
# Evolution les Dedeur hors preselection sont eligible VGA si pt_OFFRE <> VGT
#trace1(" ##### Act_special <%d>",Act_special)
#trace1(" ##### b_DBETA    <%d>",b_DBETA)
#trace1(" ##### b_DBETAV   <%d>",b_DBETAV)
#trace1(" ##### b_DBETA8FT    <%d>",b_DBETA8FT)
#trace1(" ##### b_DBETAV8FT   <%d>",b_DBETAV8FT)
#trace1(" ##### dede_inf <%d>",dede_inf)
#trace1(" ##### dede_num1 <%d>",dede_num1)
#trace1(" ##### EZ<%d>", EZ)
#trace1(" ##### Z9      Z <%d>", NDE_Z)
#trace1(" ##### act_desactVGA <%d>",act_desactVGA)
#trace1(" ##### CCD_REEL <%d> ", CCD_REEL)
#trace1(" ##### val <%x> i_LireInfoECC instVGA", val)

SI (val_860026603 != 0)
ALORS
	erreur_860026603 = i_LireChaineInfo( val_860026603, 0, 6, pt_OFFRE_860026603 )
	#trace2(" pt_OFFRE de VGA1 <%s> pour appel table CodeOffre", pt_OFFRE,"")
	#trace2("     pt_RES1  <%s> ", pt_RES1,"")

	erreur_860026603 = i_format_str2( pt_TEMP_860026603, "%s%s", "INj", pt_OFFRE_860026603)
	i_strcpy(pt_RES1_860026603, i_get_tab_field("Inter", gmt_date_860026603, pt_TEMP_860026603))
	#trace2(" pt_RES1 table CodeOffre <%s> ", pt_RES1,"")
	#trace2("     pt_RES1  <%s> ", pt_RES1,"")
	critere_Hors_preselect_860026603 = 1

	# lorsque le NDE est porte le bit D de dede_inf est positionne
	# Z=7 pour offre VGA
	SI ((dede_infD0_860026603 == 0xC3) ||((dede_infD0_860026603==0x82) && (dede_num1_860026603 < 8)) || ((dede_infD0_860026603 == 0x00) && (EZ_860026603 < 8)))
	ALORS
		critere_Hors_preselect_860026603 = 0
	FINSI
	#trace1 ("  critere_Hors_preselect <%d>",critere_Hors_preselect)

	# ajout VGT+ et typcom
	# prise en comte de VGTplus_SER et NUM_SER
#02/09/2013 - DRE - G4R3 QC741 prise en compte CCD = 23 idem CCD = 14
#	SI ( (VGTplus_SER == 1)	|| ( (i_strcmp(pt_NUM_SER, " ") == 0)	&& ( (CCD_REEL == 14) || (b_DBETA==0) || (b_DBETAV==0) ) ) )
	SI ( (VGTplus_SER_860026603 == 1)
	|| ( (i_strcmp(pt_NUM_SER_860026603, " ") == 0)
	&& ( (CCD_REEL_860026603 == 14) || (CCD_REEL_860026603 == 23) || (b_DBETA_860026603==0) || (b_DBETAV_860026603==0) ) ) )
	ALORS
		SI (i_strcmp(pt_RES1_860026603,"VGT+")==0)
		ALORS
			bVGTplus_860026603 =1
			VGA_860026603 = 0
			i_strcpy(pt_VGTplus_OF_860026603 ,pt_OFFRE_860026603)
		FINSI
	FINSI
	SI (bVGTplus_860026603 == 0 )
	ALORS

		# act/desact de service (*21*, *55*, ... compris), n'est plus un critere pour VGA
		# retirer le critere TYPCOM = 31 sur la variable VGA
		# prise en compte de VGA_SER et NUM_SER
#02/09/2013 - DRE - G4R3 QC741 prise en compte CCD = 23 idem CCD = 14
#		SI ( (VGA_SER == 1) || ((i_strcmp(pt_NUM_SER, " ") == 0) && ( (b_DBETA==0 || b_DBETAV==0) && (CCD_REEL == 14 || critere_Hors_preselect==1) )) )
		SI ( (VGA_SER_860026603 == 1)
		|| ((i_strcmp(pt_NUM_SER_860026603, " ") == 0)
		&& ( (b_DBETA_860026603==0 || b_DBETAV_860026603==0) && (CCD_REEL_860026603 == 14 || CCD_REEL_860026603 == 23 || critere_Hors_preselect_860026603==1) )) )
		ALORS
			SI (i_strcmp(pt_RES1_860026603,"VGA")==0)
			ALORS
				VGA_860026603 = 1
				i_strcpy(pt_VGA_OF_860026603 ,pt_OFFRE_860026603)
			FINSI
		SINON
			VGA_860026603 = 0
		FINSI
	FINSI

	#G3R21C5 QC490
	EVTPE_860026603 = 0
	SI ((EZA_860026603 < 80) && ( b_DBETA_860026603 == 0 || b_DBETAV_860026603 == 0 || b_DBETA8FT_860026603 == 1 || b_DBETAV8FT_860026603 == 1 ) && act_desactVGT_860026603 == 0)
	ALORS
		#trace("   EVTPE condition OK avant etude info cplt table...")
		SI (i_strcmp(pt_RES1_860026603,"VGT")== 0)
		ALORS
			#trace("     EVTPE  info cplt est bien VGT donc EVTPE = 1")
			EVTPE_860026603 = 1
			SI (bVGTplus_860026603 == 0)
			ALORS
				i_strcpy(pt_EVTPE_OF_860026603 ,pt_OFFRE_860026603)
			FINSI
		FINSI
	FINSI
FINSI
#trace1("Valeur de VGA=<%d>",VGA)
#trace1("Valeur de EVTPE=<%d>",EVTPE)
#trace2(" Resultat OFFRE VGA1 : <%s>", pt_OFFRE, "")

#debut Interrogation de VGA2
SI (i_EnvoiReqConsTabDist( TD_VGA2_860026603,gmt_date_860026603,i_get_art_fieldptr(g_iartin,$Tns6dc::NDR),L_NDR_860026603,0,1) != 0)
ALORS
	#trace("Erreur i_EnvoiReqConsTabDist VGA2")
	bREDIST_860026603 = 1
	i_strcpy(pt_LIBELREDIST_860026603,"Echec sur i_EnvoiReqConsTabDistDouble")
FINSI
erreur_860026603 = i_LireReqConsTabDist()
#trace1("RETOUR i_LireReqConsTabDist retour requette VGA2, erreur=<%d>",erreur)

SI ( erreur_860026603 != 0 )
ALORS
	#trace1( "Erreur i_LireReqConsTabDist VGA2: <%d>", erreur)
	bREDIST_860026603 = 1
	i_strcpy(pt_LIBELREDIST_860026603,"Echec sur i_LireReqConsTabDistDouble")
FINSI
val_860026603= 0
val_860026603 = i_LireInfoECC( instVGA_860026603, 0 )

SI (val_860026603 != 0)
ALORS
	# - NBE valorisation de pt_CodOperVG	et 	b_CodOperVG
	erreur_860026603 = i_LireChaineInfo( val_860026603, 0, 6, pt_OPERA_860026603)

	SI i_strcmp(pt_OPERA_860026603, g_inull)
	ALORS
		i_strcpy(pt_CodOperVG_860026603,pt_OPERA_860026603)
		b_CodOperVG_860026603 = 1

		SI (VGA_860026603 || EVTPE_860026603 || bVGTplus_860026603)
		ALORS
			SI (bVGTplus_860026603)
			ALORS
				i_strcpy(pt_VGTplus_OP_860026603, pt_OPERA_860026603)
			SINON
				SI (VGA_860026603)
				ALORS
					i_strcpy(pt_VGA_OP_860026603, pt_OPERA_860026603)
				SINON
					SI (EVTPE_860026603)
					ALORS
						i_strcpy(pt_EVTPE_OP_860026603,pt_OPERA_860026603)
					SINON
						i_strcpy(pt_EVTPE_OP_860026603,"")
					FINSI
				FINSI
			FINSI
		FINSI
	FINSI
FINSI

# NBE valorisation de b_OperNBE si operateur est eligible pour NBE
SI 	b_CodOperVG_860026603
ALORS
	erreur_860026603 = i_format_str2( pt_TEMP_860026603, "%s%s", "INm", pt_CodOperVG_860026603)
	SI ( i_strcmp( i_get_tab_field("Inter", gmt_date_860026603, pt_TEMP_860026603),g_inull) != 0 )
	ALORS
		b_OperNBE_860026603 = 1
	FINSI
FINSI

#trace1("__LINE__ b_OperNBE=<%d> =====",b_OperNBE)

#fin
#trace2(" ##### NDR : <%s>", pt_BUF, "")
#trace2(" ##### de i_LireChaineInfo pour VGA1 (table8) : <%s>", pt_OFFRE, "")
#trace2(" ##### pt_RES1 resultat table ext CodeOffre  <%s>", pt_RES1, "")
#trace2(" ##### de i_LireChaineInfo pour VGA2 (table3) : <%s>", pt_OPERA, "")
#trace1(" ##### bVGTplus <%d>", bVGTplus)
#trace1(" ##### VGA      <%d>", VGA)
#trace1(" ##### EVTPE    <%d>", EVTPE)
#trace2(" ##### pt_VGTplus_OF : <%s>", pt_VGTplus_OF, "")
#trace2(" ##### pt_VGA_OF     : <%s>", pt_VGA_OF, "")
#trace2(" ##### pt_EVTPE_OF   : <%s>", pt_EVTPE_OF, "")
#trace2(" ##### pt_VGTplus_OP : <%s>", pt_VGTplus_OP, "")
#trace2(" ##### pt_VGA_OP     : <%s>", pt_VGA_OP, "")
#trace2(" ##### pt_EVTPE_OP   : <%s>", pt_EVTPE_OP, "")

##################### FIN VGA #####################

SI ( i_valid_field_n(g_iartin, $Tns6dc::typcom) == 1 )
ALORS
	typcom_860026603 = i_get_art_field(g_iartin, $Tns6dc::typcom)
	SI (typcom_860026603 == 83 || typcom_860026603 == 98)
	ALORS
		TYPCOM_FCT_860026603 = 1
	SINON
		TYPCOM_FCT_860026603 = 0
	FINSI
FINSI

SI (i_valid_field_n(g_iartin,$Tns6dc::CCD))
ALORS
	CCD_860026603 = i_get_art_field(g_iartin,$Tns6dc::CCD)
	SI ( (TYPCOM_FCT_860026603 == 1 && CCD_860026603 == 24) || CCD_REEL_860026603 == 213)
	ALORS
		arretfct_centaure_860026603 = 1
	SINON
		arretfct_centaure_860026603 = 0
	FINSI
FINSI

#--------------------------------#
#Critere de distribution FERPV
#specifique ? NBE
#--------------------------------#

SI (EFFICACE_860026603 && b_OperNBE_860026603 && (bVGTplus_860026603 || EVTPE_860026603))
ALORS
	b_FERPV_NBE_860026603 = 1
FINSI
#trace1 ("__LINE__  ==== b_FERPV_NBE = <%d> =====",b_FERPV_NBE)

#----------------------------------------------------------------------
#  Criteres de distribution pour CENTAUREDC
#----------------------------------------------------------------------
instCENTAURE_860026603 = i_LireInstanceECC(C_InstCENTAUREDC_860026603)

SI (!instCENTAURE_860026603)
ALORS
	#trace("Pas d'instance pour CENTAUREDC !")
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_InstCENTAUREDC_860026603,C_Article_860026603)
	SAUT DISTRI_ERR
SINON
	bCENTAURE_860026603=1
FINSI

SI ( (EFFICACE_860026603 || INEFF_CS_860026603) && (CAX_860026603==3) && (REJET_860026603 != 2) && (REJET_860026603 != 3) && (REJET_860026603 != CPT_REJET4_860026603) && (REJET_860026603 != CPT_REJET6_860026603) && (VGA_860026603 == 0) && (EVTPE_860026603 == 0 && !bVGTplus_860026603) )
ALORS
	SI (bCENTAURE_860026603 == 1)
	ALORS
		# Ajout CENTAURE a la liste courante des ECC:
		erreur_860026603=i_AjouterCouranteECC(instCENTAURE_860026603)
		# Saut vers les criteres et la mise au format de symphonie
		# sans requete de consultation a la table de distribution:
		SAUT DEV_SYMPHONIE
	FINSI
SINON
	bCENTAURE_860026603=0
	#trace("Pas de mise au format CENTAURE"")
FINSI

#-------------------------------------------------------------
# Criteres de distribution pour CENTAUREDEA
#-------------------------------------------------------------
instCENTDEA_860026603 = i_LireInstanceECC(C_InstCENTDEA_860026603)

SI (!instCENTDEA_860026603)
ALORS
	trace("Pas d'instance pour CENTAUREDEA !")
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_InstCENTDEA_860026603,C_Article_860026603)
	SAUT DISTRI_ERR

FINSI

SI (EFFICACE_860026603 && arretfct_centaure_860026603 == 1 && CAX_860026603 != 3 && bSRP_Eporta_SPN_860026603 == 0)
ALORS
	bCENTAUREDEA_860026603 = 1
SINON
	bCENTAUREDEA_860026603 = 0
FINSI

#########################################################################
# Envoi requetes Table de distribution
#########################################################################

SI ( INEFF_CS_860026603 || EFFICACE_860026603 )
ALORS
	erreur_860026603 = i_EnvoiReqConsTabDistDouble( TD_Fixe, TD_Inter, gmt_date_860026603, i_get_art_fieldptr(g_iartin, $NDR), L_NDR_860026603, L_NDR_860026603, 1, 0, 1)
	SI ( erreur_860026603 !=0 )
	ALORS
		bREDIST_860026603 = 1
		i_strcpy(pt_LIBELREDIST_860026603,"i_EnvoiReqConsTabDistDouble")
		SAUT DEV_SYMPHONIE
	FINSI
FINSI
#trace1("Retour de i_EnvoiReqConsTabDistDouble = <%d>",erreur)

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

## TRAFIC:
#---------------------------
instTRAFIC_860026603 = i_LireInstanceECC(C_InstTRAFIC_860026603)
#trace1("instTRAFIC=<%d>",instTRAFIC)

SI (!instTRAFIC_860026603)
ALORS
	#trace("Pas d'instance pour TRAFIC !")
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_InstTRAFIC_860026603,C_Article_860026603)
	SAUT DISTRI_ERR
SINON
	bTRAFIC_860026603=1
FINSI

## CENTAUREVG
#---------------------------
instCENTAUREVG_860026603 = i_LireInstanceECC(C_InstCENTVG_860026603)

SI (!instCENTAUREVG_860026603)
ALORS
	#trace("Pas d'instance pour CENTAUREVG !")
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_TcentaureVG_860026603,C_Article_860026603)
	SAUT DISTRI_ERR
FINSI

## FE:
#---------------------------
instFE_860026603 = i_LireInstanceECC("FE")
#trace1("instFE=<%d>",instFE)

SI (!instFE_860026603)
ALORS
	#trace("Pas d'instance pour FE !")
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_InstFE_860026603,C_Article_860026603)
	SAUT DISTRI_ERR
SINON
	bFE_860026603=1
FINSI

## FERPV
#---------------------------
instFERPV_860026603 = i_LireInstanceECC(C_InstFERPV_860026603)

SI (!instFERPV_860026603)
ALORS
	#trace("Pas d'instance pour FERPV !")
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_InstFERPV_860026603,C_Article_860026603)
	SAUT DISTRI_ERR
FINSI
#trace1("instFERPV=<%d>",instFERPV)

## ARAVIS
#---------------------------
instARAVIS_860026603 = i_LireInstanceECC(C_InstARAVIS_860026603)

SI (!instARAVIS_860026603)
ALORS
	#trace("Pas d'instance pour ARAVIS !")
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_InstARAVIS_860026603,C_Article_860026603)
	SAUT DISTRI_ERR
FINSI
#trace1("instARAVIS=<%d>",instARAVIS)

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

# DM : meme instance que pour TRAFIC
#---------------------------

POINT DEV_SYMPHONIE

## SYMP:
#---------------------------
instSYMPH_860026603=i_LireInstanceECC(C_InstSYMP_860026603)
#trace1("instSYMPH=<%d>",instSYMPH)

SI (!instSYMPH_860026603)
ALORS
	#trace("Pas d'instance pour SYMP !")
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_InstSYMP_860026603,C_Article_860026603)
	SAUT DISTRI_ERR
SINON
	bSYMPH_860026603=1
FINSI

#G3R23
# CASPER
instCASPER_860026603 = i_LireInstanceECC(C_InstCASPER_860026603)
SI (!instCASPER_860026603)
ALORS
	code_errone_860026603 = 0xA0B0
	code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
	erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,C_InstCASPER_860026603,C_Article_860026603)
	trace("******************* __LINE__ Pas d'instance CASPER %***************************")
	SAUT DISTRI_ERR
FINSI

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

SI (bSYMPH_860026603 )
ALORS
	# Ajout de SYMPHONIE a la liste courante des ECC:
	erreur_860026603=i_AjouterCouranteECC(instSYMPH_860026603)

	SI ( i_dup_art_id(g_iartin,g_iartout2) )
	ALORS
		#trace("ERREUR de duplication vers SYMPHONIE")
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,"pour Symphonie",C_Article_860026603)
		SAUT DISTRI_ERR
	FINSI
	SI ( i_valid_field_n(g_iartout2,$Tns6dc::T3ce) )
	ALORS
		#trace("Avant i_retrait_TLV T3ce - recup codes circonscription")
		#CODCIRDR=i_get_art_field(g_iartout2, $Tns6dc::CODCIRDR)
		#CODCIR=i_get_art_field(g_iartout2, $Tns6dc::CODCIR)
		erreur_860026603=i_get_art_str(g_iartout2, $Tns6dc::CODCIRDA,pt_CODCIRDA_860026603)
		SI (g_iartout2.CODCIRDA[2] > 9)
		ALORS
			i_get_sub_str(pt_CODCIRDA_860026603,2,5,pt_CODCIRDA_860026603)
		SINON
			i_get_sub_str(pt_CODCIRDA_860026603,1,5,pt_CODCIRDA_860026603)
		FINSI
		erreur_860026603=i_get_art_str(g_iartout2, $Tns6dc::CODCIRA,pt_CODCIRA_860026603)
		SI (g_iartout2.CODCIRA[2] > 9)
		ALORS
			i_get_sub_str(pt_CODCIRA_860026603,2,5,pt_CODCIRA_860026603)
		SINON
			i_get_sub_str(pt_CODCIRA_860026603,1,5,pt_CODCIRA_860026603)
		FINSI

		SI (i_valid_field_n(g_iartout2, $NORMAL))
		ALORS
			erreur_860026603 = i_get_art_str(g_iartout2, $Tns6dc::NORMAL, pt_nde_normal_860026603)
			#trace2("recup de NDE normalise : %s",pt_nde_normal,"")
		FINSI

		#erreur = i_retrait_tlv(g_iartout2,"T3ce","")
		erreur_860026603 = i_supprChamp(g_iartout2,"T3ce")
	FINSI

	# Duplication article en entree
	SI ( i_dup_art_id(g_iartout2,g_iartout) )
	ALORS
		#trace("ERREUR de duplication vers SYMPHONIE")
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,"pour Symphonie",C_Article_860026603)
		SAUT DISTRI_ERR
	FINSI

	SI (EFFICACE_860026603 || INEFF_CS_860026603)
	ALORS
		#trace("Renommage Tsymphoniedc")
		SI ( i_rename_art(g_iartout,C_Tsymphoniedc_860026603)  )
		ALORS
			#trace1("ERREUR de renommage, erreur=<%d>",erreur)
			code_errone_860026603 = 0xA0D0
			code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
			erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_Tsymphoniedc_860026603,C_Article_860026603)
			SAUT DISTRI_ERR
		FINSI
	SINON
		#trace("Renommage Tsymptns6Inef")
		SI (i_rename_art(g_iartout,C_Tsymptns6Inef_860026603))
		ALORS
			#trace("ERREUR de renommage")
			code_errone_860026603 = 0xA0D0
			code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
			erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_Tsymptns6Inef_860026603,C_Article_860026603)
			SAUT DISTRI_ERR
		FINSI
		SAUT APRES_CRITERES
	FINSI
FINSI

SI (distri_symph_860026603==1)
ALORS
	SAUT APRES_CRITERES
FINSI

# Cas ou CENTAURE est present dans la liste courante des ECC:
#trace1("bCENTAURE=<%d>",bCENTAURE)
SI(bCENTAURE_860026603==1)
ALORS
	SAUT APRES_CRITERES
FINSI

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

SI (!bREDIST_860026603)
ALORS
	erreur_860026603 = i_LireReqConsTabDist()
	#trace1("RETOUR i_LireReqConsTabDist, erreur=<%d>",erreur)
	SI ( erreur_860026603 != 0 )
	ALORS
		bREDIST_860026603 = 1
		i_strcpy(pt_LIBELREDIST_860026603,"i_LireReqConsTabDist")
		SAUT AVANT_REDIST
	FINSI
FINSI

## FERPV:
SI ( instFERPV_860026603 > 0 )
ALORS
	res_860026603 = i_LireInfoECC(instFERPV_860026603, 0)
	#trace1("Retour de i_LireInfoECC -  FERPV: <%d>",res)
	SI (res_860026603 != 0)
	ALORS
		#trace( "FERPV appartient a la table DISTRI")
		bFERPV_860026603=1
		erreur_860026603 = i_LireChaineInfo(res_860026603,0,1,pt_InfoCompl_860026603)
		SI (!i_strcmp(pt_InfoCompl_860026603,"1"))
		ALORS
			i_strcpy(pt_service_860026603,"1")
		SINON
			SI (!i_strcmp(pt_InfoCompl_860026603,"2"))
			ALORS
				i_strcpy(pt_service_860026603,"2")
			SINON
				i_strcpy(pt_service_860026603,"4")
			FINSI
		FINSI
	SINON
		bFERPV_860026603=0
	FINSI
FINSI

## ARAVIS
SI ( instARAVIS_860026603 > 0 )
ALORS
	res_860026603 = i_LireInfoECC(instARAVIS_860026603, 0)
	#trace1("Retour de i_LireInfoECC -  ARAVIS: <%d>",res)
	SI (res_860026603 != 0)
	ALORS
		#trace( "ARAVIS appartient a la table DISTRI")
		bARAVIS_860026603=1
	SINON
		#trace( "ARAVIS n'est pas dans la table DISTRI")
		bARAVIS_860026603=0
	FINSI
FINSI
#trace1("bARAVIS=%d",bARAVIS)

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

#-----------------------------------------------------------------------
# Criteres communs sauf pour CENTAUREDC
#-----------------------------------------------------------------------
crit_comm1_860026603 = 0
crit_comm2_860026603 = 0

#DRE G4R6 Lot2
#SI ( ( EFFICACE || INEFF_CS ) && (REJET == 0 || (REJET == 1 &&  bSRP_Sporta_SPN)) && !bCENTAURE && CAX!=9)
#SI ( ( EFFICACE || INEFF_CS ) && (REJET == 0 || (REJET == 1 &&  bSRP_Sporta_SPN) || REJET == CPT_CPS_Loc ) && !bCENTAURE && CAX!=9)
#DRE G4R6 QC817
#SI ( ( EFFICACE || INEFF_CS ) && (REJET == 0 || (REJET == 1 &&  bSRP_Sporta_SPN)) && (REJET != CPT_CPS_RI || (REJET == CPT_CPS_RI &&  bSRP_Sporta_SPN)) && !bCENTAURE && CAX!=9)
#DRE - G4R7 QC829
SI ( ( EFFICACE_860026603 || INEFF_CS_860026603 ) && (REJET_860026603 != 1 || (REJET_860026603 == 1 &&  bSRP_Sporta_SPN_860026603)) && (!b_Fact_CPS_RI_860026603 || (b_Fact_CPS_RI_860026603 &&  bSRP_Sporta_SPN_860026603)) && !bCENTAURE_860026603 && CAX_860026603!=9)
ALORS
	crit_comm1_860026603 = 1
FINSI

SI ( crit_comm1_860026603 && !ADO_860026603 && !RPV_860026603  && !RPVI_DIRECT_860026603 && !i_get_art_field( g_iartin, $vTGPRI ))
ALORS
	crit_comm2_860026603 = 1
FINSI

#--------------------------------------------------------------------
#Verification de l'exclsivite de la distribition
#pour les cas suivants :!!!
#-------------------------------------------------------------------

#IFDEF trace_niv2 = 1
trace1( "__FILE__:__LINE__: crit_comm1 = <%d>", crit_comm1_860026603 )
trace1( "__FILE__:__LINE__: crit_comm2 = <%d>", crit_comm2_860026603 )
#ENDIF

#---------------------------------------------------------------------------
# ARAVIS
#---------------------------------------------------------------------------

SI ( crit_comm2_860026603 && bARAVIS_860026603 && !(VTGRI_CAX_860026603 || VTGRI_3BPQ_860026603) && !OPT_860026603 && (GVPN_860026603==1) && !ROC_860026603 && !VGA_860026603 && !EVTPE_860026603 && !bVGTplus_860026603 )
ALORS
	erreur_860026603=i_AjouterCouranteECC(instARAVIS_860026603)

	SI ( ENVELOPPE_NOK_860026603 )
	ALORS
		#IFDEF trace_niv1 = 1
		trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/ARAVIS")
		#ENDIF
		ENVELOPPE_NOK_860026603 = i_add_opt( "E_Tns6dc" )
		# mise en conformite de la gestion de l'enveloppe
	FINSI
	erreur_860026603 = i_set_attr_val_n( $E_Tns6dc::DATE_M, ICAR_ABS_860026603)
	erreur_860026603 = i_set_attr_val_n( $E_Tns6dc::DATE_L, ICAR_REL_860026603)
	#IFDEF trace_niv1 = 1
	trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026603)
	#ENDIF
SINON
	bARAVIS_860026603 = 0
FINSI

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

#--------------------------------------------------------------------------------------
# - Modification des criteres de distribution
#pour FERPV pour integrer les offres convergents FFMv2 et v3 (Forfait Fixe et mobile)
# avec boolen b_FERPV_NBE
#--------------------------------------------------------------------------------------

SI ( crit_comm2_860026603 && !RPV_860026603 && !RPVI_DIRECT_860026603 && !bARAVIS_860026603 && bFERPV_860026603 && !OPT_860026603 && !ROC_860026603 && !VGA_860026603 && !EVTPE_860026603 && !bVGTplus_860026603 )
ALORS
	b_FERPV_860026603 = 1
FINSI

SI (b_FERPV_860026603 || b_FERPV_NBE_860026603)
ALORS
	erreur_860026603=i_AjouterCouranteECC(instFERPV_860026603)
	# Recup du code CFR
	res_860026603 = i_LireInfoECC( instTRAFIC_860026603, 0 )

	SI (res_860026603 != 0)
	ALORS
		dizaine_860026603 = i_LireEntierInfo(res_860026603,0,1)
		unite_860026603 = i_LireEntierInfo(res_860026603,1,1)
		cfr_860026603 = (dizaine_860026603 & 0x0F) * 10 + (unite_860026603 & 0x0F)
		SI ( ENVELOPPE_NOK_860026603 )
		ALORS
			#IFDEF trace_niv1 = 1
			trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/FERPV")
			#ENDIF
			ENVELOPPE_NOK_860026603 = i_add_opt( "E_Tns6dc" )
			# mise en conformite de la gestion de l'enveloppe
		FINSI
		erreur_860026603 = i_set_attr_val_n( $E_Tns6dc::CFR, cfr_860026603)
		erreur_860026603 = i_set_attr_val_n( $E_Tns6dc::DATE_M, ICAR_ABS_860026603)
		erreur_860026603 = i_set_attr_val_n( $E_Tns6dc::DATE_L, ICAR_REL_860026603)
		#IFDEF trace_niv1 = 1
		trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026603)
		trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026603)
		#ENDIF
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026603, "Indicatif inconnu de MAJ2G")
		bREDIST_860026603 = 1
		SAUT AVANT_REDIST
	FINSI
SINON
	bFERPV_860026603=0
FINSI
#trace1("<<<<__LINE__ b_FERPV = <%d> -----",b_FERPV)
#trace1("<<<__LINE__ b_FERPV_NBE = <%d> ----",b_FERPV_NBE)

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

SI ( crit_comm2_860026603 && (i_LireInfoECC(instFE_860026603, 0) != 0) )
ALORS
	SI ( bFE_860026603 && !bFERPV_860026603 && !bARAVIS_860026603 && !OPT_860026603 && !ROC_860026603 && !VGA_860026603 && !EVTPE_860026603 && !bVGTplus_860026603)
	ALORS
		erreur_860026603=i_AjouterCouranteECC(instFE_860026603)
	SINON
		bFE_860026603=0
	FINSI
SINON
	bFE_860026603=0
FINSI

#-----------------------------------------------------------------------
# TRAFIC - CENTAUREVG
#-----------------------------------------------------------------------

# modification criteres de distribution de trafic remplacement de !bFERPV par ! b_FERPV + b_FERPV_NBE
SI (( crit_comm2_860026603 && bTRAFIC_860026603 && !bARAVIS_860026603 && !bFE_860026603 && !(VTGRI_CAX_860026603 || VTGRI_3BPQ_860026603) && !b_FERPV_860026603 && !OPT_860026603 && !ROC_860026603) || (b_FERPV_NBE_860026603))
ALORS
	#Traitement du code CFR:
	res_860026603=i_LireInfoECC(instTRAFIC_860026603, 0)
	#trace1("Retour i_LireInfoECC(instTRAFIC, 0)= <%d>",res)

	SI (res_860026603 != 0)
	ALORS
		erreur_860026603 = i_LireChaineInfo( res_860026603, 0, 3, pt_InfoCompl_860026603)
		#trace2(" Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl, "")
		erreur_860026603 = i_format_str2(pt_inst_860026603, "TRAF%s", pt_InfoCompl_860026603,0)
		#trace2("Concatenation de TRAF avec info.compl: <%s>", pt_inst, "")
		instECCTRAFIC_860026603 = i_LireInstanceECC(pt_inst_860026603)
		#trace1("Instance de TRAFIC: instTRAFIC=<%d>",instECCTRAFIC)

		SI (!instECCTRAFIC_860026603)
		ALORS
			code_errone_860026603 = 0xA0B0
			code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
			erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,pt_inst_860026603,C_Article_860026603)
			SAUT DISTRI_ERR
		FINSI
		erreur_860026603=i_AjouterCouranteECC(instECCTRAFIC_860026603)

		# modification des criteres d envoi a CENTAUREVG
		# Remarque : le test n est sans doute pas optimise (ex, EPORTABILITE ne peut etre vrai que si CCD vaut 0x18)
		# On le laisse quand meme en l etat pour suivre au plus pres la specification
		# avec VGTplus
		#trace1(" ********* VGA          =  %d", VGA)
		#trace1(" ********* EVTPE        =  %d", EVTPE)
		#trace1(" ********* bVGTplus     =  %d", bVGTplus)
		#trace1(" ********* EPORTABILITE =  %d", EPORTABILITE)
		#trace1(" ********* SRP_PORTE    =  %d", SRP_PORTE)
		#trace1(" ********* CCD          =  %d", CCD)

		SI (VGA_860026603 || EVTPE_860026603 || bVGTplus_860026603)
		ALORS
			erreur_860026603 = i_AjouterCouranteECC(instCENTAUREVG_860026603)
			bCENTVG_860026603 = 1
			#trace(" ******* i_AjouterCouranteECC(instCENTAUREVG) et bCENTVG = 1")
		FINSI
	SINON
		bTRAFIC_860026603=0
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026603,"Indicatif inconnu de MAJ2G")
		bREDIST_860026603 = 1
		SAUT AVANT_REDIST
	FINSI
SINON
	#trace("ECC Trafic non destinataire")
	bTRAFIC_860026603=0
FINSI

#---------------------
# CENTAUREDEA
#---------------------

SI (bCENTAUREDEA_860026603 == 1)
ALORS
	erreur_860026603=i_AjouterCouranteECC(instCENTDEA_860026603)
FINSI

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

SI ( crit_comm1_860026603 && !i_get_art_field( g_iartin, $vTGPRI ) && !VGA_860026603 && !EVTPE_860026603 && !bVGTplus_860026603 )
ALORS
	# FCT supprimee

	# Cas DM marquage RPV:
	SI ( RPV_860026603 &&(bDELMIN_860026603!=2) )
	ALORS
		#trace("DELTA MINUTE marquageRPV")
		bDELMIN_860026603=2
	FINSI

	# Cas DM marquage VTGRI:
	SI ( ( VTGRI_CAX_860026603 || VTGRI_3BPQ_860026603 ) && !RPV_860026603 && ( bDELMIN_860026603!=2 ) )
	ALORS
		#trace("DELTA MINUTE marquage VTGRI")
		bDELMIN_860026603=2
	FINSI

	# Cas DM avec FE:
	SI ( bFE_860026603 && (bDELMIN_860026603!=2) )
	ALORS
		#trace("DELTA MINUTE avec FE")
		bDELMIN_860026603=2
	FINSI

	# Cas  COCAV <> 8
	SI ( OPT_860026603 && (bDELMIN_860026603!=2) )
	ALORS
		#trace("COCAV <> 8")
		bDELMIN_860026603=2
	FINSI

	# Cas  ROC
	SI ( ROC_860026603 && (bDELMIN_860026603!=2) )
	ALORS
		#trace("ROC")
		bDELMIN_860026603=2
	FINSI
FINSI

SI (bDELMIN_860026603==2)
ALORS
	#Traitement du code CFR:
	res_860026603=i_LireInfoECC(instTRAFIC_860026603, 0)
	#trace1("Retour i_LireInfoECC(instTRAFIC, 0)= <%d>",res)
	SI (res_860026603 != 0)
	ALORS
		erreur_860026603 = i_LireChaineInfo( res_860026603, 0, 3, pt_InfoCompl_860026603)
		#trace2(" Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl, "")
		erreur_860026603 = i_format_str2(pt_DM_860026603, "DM%s", pt_InfoCompl_860026603,0)
		#trace2("Concatenation de DM avec info.compl: <%s>", pt_DM, "")
		instDM_860026603 = i_LireInstanceECC(pt_DM_860026603)
		#trace1("Instance de DM: instDM=<%d>",instDM)

		SI (!instDM_860026603)
		ALORS
			code_errone_860026603 = 0xA0B0
			code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
			erreur_860026603 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026603,pt_DM_860026603,C_Article_860026603)
			SAUT DISTRI_ERR
		FINSI
		erreur_860026603=i_AjouterCouranteECC(instDM_860026603)

		SI (bFE_860026603)
		ALORS
			dizaine_860026603 = i_LireEntierInfo(res_860026603,0,1)
			unite_860026603 = i_LireEntierInfo(res_860026603,1,1)
			cfr_860026603 = (dizaine_860026603 & 0x0F) * 10 + (unite_860026603 & 0x0F)
			SI ( ENVELOPPE_NOK_860026603 )
			ALORS
				#IFDEF trace_niv1 = 1
				trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/FE")
				#ENDIF
				ENVELOPPE_NOK_860026603 = i_add_opt("E_Tns6dc")
				# mise en conformite de la gestion de l'enveloppe
			FINSI
			erreur_860026603 = i_set_attr_val_n($E_Tns6dc::CFR,cfr_860026603)
			#IFDEF trace_niv1 = 1
			trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026603)
			trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026603)
			#ENDIF
		FINSI
	SINON
		bDELMIN_860026603=0
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026603,"Indicatif inconnu de MAJ2G")
		bREDIST_860026603 = 1
		SAUT AVANT_REDIST
	FINSI
SINON
	bDELMIN_860026603=0
FINSI

# Pour eviter les appels a la table de distrib.
# dans le cas ou CENTAURE est present:

POINT APRES_CRITERES



#G3R23
#-------------------
#  CASPER
#-------------------
#DRE G4R6 QC807
#SI (b_NSUC == 1)
#DRE G4R8 QC862
#SI (b_NSUC == 1 && bREDIST == 0)
SI (b_NSUC_860026603 == 1)
ALORS
	erreur_860026603=i_AjouterCouranteECC(instCASPER_860026603)
FINSI

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


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

SI ( ( EFFICACE_860026603 || INEFF_CS_860026603 )
&& CAX_860026603!=9 && !OPT_860026603 && !ROC_860026603
&& ( !RPV_860026603 && !RPVI_DIRECT_860026603 && !ADO_860026603 && !VTGRI_CAX_860026603 && !VTGRI_3BPQ_860026603 && !i_get_art_field(g_iartin,$vTGPRI) )
&& !bCENTAURE_860026603 && !bARAVIS_860026603 && !bFE_860026603 && !bTRAFIC_860026603 && !bFERPV_860026603 && (REJET_860026603 == 0 || (REJET_860026603 == 1 &&  bSRP_Sporta_SPN_860026603)) )
ALORS
	#trace("Controles en erreur !")
#DRE - G4R7 QC829
	SI (i_strcmp(pt_LIBELREDIST_860026603,"") == 0 )
	ALORS
		i_strcpy(pt_LIBELREDIST_860026603,"Incoherence sur les controles")
	FINSI
	bREDIST_860026603 = 1
	SAUT AVANT_REDIST
FINSI

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

erreur_860026603=i_ValiderListeECC( 0, 0, 0, 0)

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

#---------------------------------------------------------------------------
# CENTAUREDC
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instCENTAURE_860026603) )
ALORS
	i_strcpy(pt_eccCentaure_860026603,"CENTAURE")
	#trace("Mise au format CENTAUREDC")
	# Duplication de l'article
	#trace1("Appel i_dup_art_dest: res=<%d>",res)
	SI ( i_dup_art_dest(g_iartin,g_iartout2,C_TcentaureDC_860026603) )
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_TcentaureDC_860026603,C_Article_860026603)
		SAUT  DISTRI_ERR
	FINSI

	#NDR
	erreur_860026603=i_get_art_str(g_iartin,$NDR,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"BCDE","AJSC",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout2,$TcentaureDC::NIDUS,pt_BUF_860026603)

	#NDE
	erreur_860026603=i_get_art_str(g_iartin,$NDE,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"ABC","A*#",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout2,$TcentaureDC::NDEDE,pt_BUF_860026603)

	#T1
	erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::T1,2)
	#T2
	erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::T2,2)

	#champ SCT
	#trace("initialisation des SCT")
	SI (!i_valid_field_n(g_iartin,$Tns6dc::SCT))
	ALORS
		#trace("Champs SCT absent !")
		SAUT DISTRI_ERR
	FINSI
	#trace("Appel de i_transformer_bits")
	SI (i_transformer_bits(g_iartin,$SCT,"FV",pt_BUF_860026603)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::SCT,pt_BUF_860026603)

	#champs TAP
	SI (i_valid_field_n(g_iartin,$Tns6dc::T3cab))
	ALORS
		SI (i_transformer_bits(g_iartin,$Tns6dc::TAP:1,"FV",pt_BUF_860026603)!=0)
		ALORS
			#trace("Retour en erreur de i_transformer_bits")
			SAUT DISTRI_ERR
		FINSI
		erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::TAP,pt_BUF_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin,$Tns6dc::T3cap2))
	ALORS
		SI (i_transformer_bits(g_iartin,$Tns6dc::TAP:0,"FV",pt_BUF_860026603)!=0)
		ALORS
			#trace("Retour en erreur de i_transformer_bits")
			SAUT DISTRI_ERR
		FINSI
		erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::TAP,pt_BUF_860026603)
	FINSI

	#champ STY
	#trace("initialisation des STYi")
	SI (!i_valid_field_n(g_iartin,$Tns6dc::STY))
	ALORS
		#trace("Champs STY absent en entree !")
		SAUT DISTRI_ERR
	FINSI

	SI (i_transformer_bits(g_iartin,$STY,"FV",pt_BUF_860026603)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::STY,pt_BUF_860026603)

	# DATE
	erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::DATE,ICAR_REL_860026603)

	#champ DUREE
	erreur_860026603=i_set_art_field(g_iartout2, $TcentaureDC::DUREE,dduree_860026603)

	#champ TAX
	erreur_860026603=i_set_art_field(g_iartout2, $TcentaureDC::TAX,tax_860026603)

	#champ SGTQS
	#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
	#trace2("SGTQS=<%s>",pt_SGTQS,"")
	erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::CDSGTQS, pt_SGTQS_860026603)

	#champ INDEX (DCB)
	SI (i_valid_field_n(g_iartin, $Tns6dc::T3indx))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$INDEX)
		SI (res_860026603==-1)
		ALORS
			code_errone_860026603 = 0xA080
			code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
			erreur_860026603 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026603, C_Article_860026603, "i_get_art_field/INDEX" )
			SAUT DISTRI_ERR
		FINSI
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::INDEX,res_860026603)
	FINSI

	#champs IIDAV et NIDAV
	SI (i_valid_field_n(g_iartin, $Tns6dc::INF_IDAV))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$INF_IDAV)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::IIDAV,res_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::NUM_IDAV))
	ALORS
		erreur_860026603=i_get_art_str(g_iartin, $Tns6dc::NUM_IDAV,pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::NIDAV,pt_BUF_860026603)
	FINSI

	#champs NOS
	SI (i_valid_field_n(g_iartin, $Tns6dc::INFNOS))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$INFNOS)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::INOS,res_860026603)
	FINSI

	#trace("Avant NUMNOS")
	SI (i_valid_field_n(g_iartin, $Tns6dc::NUMNOS))
	ALORS
		erreur_860026603=i_get_art_str(g_iartin, $Tns6dc::NUMNOS,pt_BUF_860026603)
		#trace1("NNOS=<%d>",res)
		erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::NNOS,pt_BUF_860026603)
	FINSI

	#champ REF
	SI (i_valid_field_n(g_iartin, $Tns6dc::REF))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$REF)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::REF,res_860026603)
	FINSI

	#champ DUSEL
	SI (i_valid_field_n(g_iartin, $Tns6dc::DUSEL))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$DUSEL)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::DUSEL,res_860026603)
	FINSI

	#champ DUSON
	SI (i_valid_field_n(g_iartin, $Tns6dc::DUSON))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$DUSON)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::DUSON,res_860026603)
	FINSI

	#champ TTX et SIDR
	SI ( i_valid_field_n(g_iartin, $Tns6dc::T3ttx) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::TTX, "V")
	SINON
		erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::TTX, "F")
	FINSI

	SI ( i_valid_field_n(g_iartin, $Tns6dc::T3sidr) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::SIDR, "V")
	SINON
		erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::SIDR, "F")
	FINSI

	#champ MES1 et MES2
	SI ( i_valid_field_n(g_iartin, $Tns6dc::MES1) )
	ALORS
		res_860026603=i_get_art_field(g_iartin, $MES1)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::MES1,res_860026603)
	FINSI

	SI ( i_valid_field_n(g_iartin, $Tns6dc::MES2) )
	ALORS
		res_860026603=i_get_art_field(g_iartin, $MES2)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::MES2,res_860026603)
	FINSI

	#Champ INEF
	SI ( i_valid_field_n(g_iartin, $Tns6dc::INEF) )
	ALORS
		res_860026603=i_get_art_field(g_iartin, $Tns6dc::INEF)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::INEF,res_860026603)
		#trace1("Valeur de INEF = <%d>",res)
	FINSI

	#champs COCA et COCAV
	SI ( i_valid_field_n(g_iartin, $Tns6dc::BETA) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2,$TcentaureDC::COCA,pt_COCA_860026603)
	FINSI

	SI ( i_valid_field_n(g_iartin, $Tns6dc::BETAV) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2,$TcentaureDC::COCAV,pt_COCAV_860026603)
	FINSI

	#champ SUP
	erreur_860026603=i_set_art_field(g_iartout2, $TcentaureDC::SUP, SUP_860026603)

	#CLEi
	SI (i_valid_field_n(g_iartin, $Tns6dc::CLE1))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::CLE1)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::CLE1,res_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::CLE2))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::CLE2)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::CLE2,res_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::CLE3))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::CLE3)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::CLE3,res_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::CLE4))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::CLE4)
		erreur_860026603=i_set_art_field(g_iartout2,$TcentaureDC::CLE4,res_860026603)
	FINSI

	#champ INVOCATION
	#trace("Avant INVOCATION")
	SI ( i_valid_field_n(g_iartin, $Tns6dc::INVOC) )
	ALORS
		res_860026603=i_get_art_field(g_iartin, $Tns6dc::INVOC)
		#trace1("Valeur de INVOCATION=<%d>",res)
		erreur_860026603=i_set_art_field(g_iartout2, $TcentaureDC::INVOCATION, res_860026603)
	FINSI

	#champ MERE, MENV et ECHO
	SI ( i_valid_field_n(g_iartin, $Tns6dc::MERE) )
	ALORS
		res_860026603=i_get_art_field(g_iartin,$MERE)
		erreur_860026603=i_set_art_field(g_iartout2, $TcentaureDC::MERE, res_860026603)
	FINSI
	SI ( i_valid_field_n(g_iartin, $Tns6dc::MENV) )
	ALORS
		res_860026603=i_get_art_field(g_iartin,$MENV)
		erreur_860026603=i_set_art_field(g_iartout2, $TcentaureDC::MENV, res_860026603)
	FINSI
	SI ( i_valid_field_n(g_iartin, $Tns6dc::ECHO) )
	ALORS
		res_860026603=i_get_art_field(g_iartin,$ECHO)
		erreur_860026603=i_set_art_field(g_iartout2, $TcentaureDC::ECHO, res_860026603)
	FINSI

	#FIN
	erreur_860026603=i_set_art_field(g_iartout2, $TcentaureDC::FIN, 0x0A )

	#champ ALINK (<=> champ APPEL)
	SI( i_valid_field_n(g_iartin, $Tns6dc::APPEL) )
	ALORS
		erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::APPEL, pt_TEMP_860026603 )
		erreur_860026603 = i_set_art_str( g_iartout2,$TcentaureDC::ALINK, pt_TEMP_860026603 )
	FINSI

	#champ NLINK (<=> champ NOEUD)
	SI( i_valid_field_n(g_iartin, $Tns6dc::NOEUD) )
	ALORS
		erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::NOEUD, pt_TEMP_860026603 )
		erreur_860026603 = i_set_art_str( g_iartout2, $TcentaureDC::NLINK, pt_TEMP_860026603 )
	FINSI

	#champ CI (<=> champ CODE)
	SI( i_valid_field_n(g_iartin, $Tns6dc::CODE) )
	ALORS
		res_860026603 = i_get_art_field( g_iartin, $Tns6dc::CODE )
		erreur_860026603 = i_set_art_field( g_iartout2, $TcentaureDC::CI, res_860026603 )
	FINSI
	
# DRE G4R6 Lot2
	# TYPE_EDIT
	erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::TYPE_EDIT, pt_TYPE_EDIT_860026603)
	
	# CODE_TARIF
	erreur_860026603=i_set_art_str(g_iartout2, $TcentaureDC::CODE_TARIF, pt_CODE_TARIF_860026603)
# \DRE G4R6 Lot2

FINSI

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

SI ( !i_ChercherCouranteECC(instFE_860026603) )
ALORS
	i_strcpy(pt_eccfact_860026603,"FE")
	#trace("Mise au format FE")

	#trace("Appel de la table de duplication")
	SI (i_dup_art_dest(g_iartin,g_iartout2,C_Tfe_860026603))
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_Tfe_860026603,C_Article_860026603)
		SAUT  DISTRI_ERR
	FINSI

	#NDR
	erreur_860026603=i_get_art_str(g_iartin,$NDR,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"BCDE","AJSC",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout2,$Tfe::IDUS_NUM,pt_BUF_860026603)

	#SERVICE
	erreur_860026603=i_set_art_str(g_iartout2,$Tfe::SERVICE,"02")

	# Champ NDEDE
	SI (!TRANSGROUPE_860026603)
	ALORS
		#trace("Article NON TRANSGROUPE")
		# Recuperation du num demande
		erreur_860026603=i_get_art_str(g_iartin,$Tns6dc::NDE,pt_BUF_860026603)
		i_replace_str(pt_BUF_860026603,"ABC","A*#",pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,$Tfe::DEDE_NUM,pt_BUF_860026603)
	SINON
		#trace("Article TRANSGROUPE: formatage de DEDE")
		erreur_860026603=i_get_art_str(g_iartin,$Tns6dc::NDE,pt_BUF_860026603)
		#trace("AVANT formatage")
		#trace2("#NDE# <%s>",pt_BUF,"")
		SI ( ConvTransgrp_860026233($Tns6dc::NDE,g_iartout2,$Tfe::DEDE_NUM)!=0 )
		ALORS
			#trace("Retour NOK pour ConvTrangrp")
			SAUT DISTRI_ERR
		FINSI
	FINSI

	# Paliatif bit D DEDE_INF
	INF_DEDE_TRAF_860026603 = i_get_art_field(g_iartout2,$Tfe::DEDE_INF)
	INF_DEDE_TRAF_860026603 = INF_DEDE_TRAF_860026603 & 0xEF
	erreur_860026603 = i_set_art_field(g_iartout2,$Tfe::DEDE_INF,INF_DEDE_TRAF_860026603)

	# DATE
	erreur_860026603=i_set_art_field(g_iartout2,$Tfe::DATE,ICAR_REL_860026603)

	# NDS_INF
	SI ( i_valid_field_n(g_iartin, $Tns6dc::INFNOS) )
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::INFNOS)
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NDS_INF,res_860026603)
	FINSI

	# NDS_NUM
	SI ( i_valid_field_n(g_iartin, $Tns6dc::NUMNOS) )
	ALORS
		erreur_860026603=i_get_art_str(g_iartin,$Tns6dc::NUMNOS,pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,$Tfe::NDS_NUM,pt_BUF_860026603)
	FINSI

	# CAX
	erreur_860026603=i_set_art_field(g_iartout2,$Tfe::CAX,CAX_860026603)

	#champ DUR
	erreur_860026603=i_set_art_field(g_iartout2,$Tfe::DUREE,dduree_860026603)

	#champ TAX
#DRE G4R6 Lot2#DRE - G4R7 QC829
#	SI (REJET==CPT_CPS_Loc)
	SI b_Fact_CPS_Loc_860026603

	ALORS
		erreur_860026603=i_set_art_field(g_iartout2, $Tfe::TAX, tax_860026603)
	SINON
		SI ( (SRP_PORTE_860026603 == 1) && (tax_860026603 == 0) )
		ALORS
			erreur_860026603=i_set_art_field(g_iartout2,$Tfe::TAX,TAXE_CAL_860026603)
		SINON
			erreur_860026603=i_set_art_field(g_iartout2,$Tfe::TAX,tax_860026603)
		FINSI
	FINSI
#\DRE G4R6 Lot2

	#champ SUP
	erreur_860026603=i_set_art_field(g_iartout2,$Tfe::SUP,SUP_860026603)

	# CCD
	erreur_860026603=i_set_art_field(g_iartout2,$Tfe::CLASSDEST, CCD_REEL_860026603)

	# MES1 et MES2
	SI ( i_valid_field_n(g_iartin, $Tns6dc::MES1) )
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::MES1)
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::MES1,res_860026603)
	FINSI

	SI ( i_valid_field_n(g_iartin, $Tns6dc::MES2))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::MES2)
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::MES2,res_860026603)
	FINSI

	#
	# Gestion des champ NB_CSV, C_CSVI et OP_CSVI
	#

	#trace("Traitement des CSV")
	indice_860026603=0
	erreur_860026603=i_set_art_field(g_iartout2, $Tfe::NB_CSV, indice_860026603)
	num_champ_860026603=$Tfe::NB_CSV+1
	#trace1("numero du champ C_CSV1=<%d>",num_champ)

	#EV114, specs 4.0 : Si NDE==*21*, alors C_CSV(nb_csv)="T1"
	SI ( i_get_art_fieldtab(g_iartin,$NDE,0)==0xB &&
	i_get_art_fieldtab(g_iartin,$NDE,1)==0x2 &&
	i_get_art_fieldtab(g_iartin,$NDE,2)==0x1 &&
	i_get_art_fieldtab(g_iartin,$NDE,3)==0xB )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"T1")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::MES1))&&(i_valid_field_n(g_iartin, $Tns6dc::MES2)) )
	ALORS
		SI ( (g_iartin.MES1==0x00)&&(g_iartin.MES2==0x00) )
		ALORS
			indice_860026603=indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"F")
			num_champ_860026603=num_champ_860026603+2
		FINSI
		# EV4.1 : C_CSV="P" si MES1 ou MES2 different de FF
		SI ( (g_iartin.MES1 != 0xFF) || (g_iartin.MES2 != 0xFF) )
		ALORS
			indice_860026603 = indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"P")
			num_champ_860026603=num_champ_860026603+2
		FINSI
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::T3ttx)) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"X")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::T3sidr))==1 )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"C")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::T3cle))
	ALORS
		SI (g_iartin.CLE1==0x0b)
		ALORS
			indice_860026603=indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"30")
			num_champ_860026603=num_champ_860026603+2
		FINSI
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 8)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"T")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 6)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"3")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 3)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"D")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 2)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"N")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 1)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Tfe::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"O")
	FINSI

	# Initialisation des champs OP_CSVI
	num_champ_860026603=$Tfe::NB_CSV+2
	res_860026603=0
	POINT DEB_BOUC4
	SI ( (res_860026603<indice_860026603)&&(res_860026603<5) )
	ALORS
		res_860026603=res_860026603+1
		erreur_860026603=i_memset_field_n(g_iartout2,num_champ_860026603,0xE4)
		num_champ_860026603=num_champ_860026603+2
		SAUT DEB_BOUC4
	FINSI

	# EV114, specs 4.0 : Si NDE==*21*, alors OP_CSV(nb_csv)="A"
	# ( apres la boucle, on reecrit "A" par dessus OP_CSV1 )
	SI ( i_get_art_fieldtab(g_iartin,$NDE,0)==0xB &&
	i_get_art_fieldtab(g_iartin,$NDE,1)==0x2 &&
	i_get_art_fieldtab(g_iartin,$NDE,2)==0x1 &&
	i_get_art_fieldtab(g_iartin,$NDE,3)==0xB )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2,$Tfe::OP_CSV1,"A")
	FINSI
	#trace("Fin CSV")

	#champ COCA et COCAV
	SI (i_valid_field_n(g_iartin, $Tns6dc::BETA))
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2, $Tfe::COCA,pt_COCA_860026603 )
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::BETAV))
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2, $Tfe::COCAV,pt_COCAV_860026603)
	FINSI

	#champ IDAV_INF et IDAV_NUM
	# si Portabilite Mobiles alors IDAV/INF = 099
	SI ( i_valid_field_n(g_iartin, $Tns6dc::T3idav) )
	ALORS
		SI bPortabilite_mobile_860026603 == 1
		ALORS
			res_860026603 = 99
		SINON
			res_860026603 = i_get_art_field(g_iartin, $Tns6dc::INF_IDAV)
		FINSI
		erreur_860026603 =i_set_art_field(g_iartout2, $Tfe::IDAV_INF, res_860026603)
		erreur_860026603 = i_get_art_str(g_iartin, $Tns6dc::NUM_IDAV, pt_BUF_860026603)
		erreur_860026603 = i_set_art_str(g_iartout2, $Tfe::IDAV_NUM, pt_BUF_860026603)
	FINSI

# DRE G4R6 Lot2
	# TAG
	erreur_860026603=i_set_art_str(g_iartout2, $Tfe::TAG, " ")
	
	# TYPE_EDIT
	erreur_860026603=i_set_art_str(g_iartout2, $Tfe::TYPE_EDIT, pt_TYPE_EDIT_860026603)
	
	# CODE_TARIF
	erreur_860026603=i_set_art_str(g_iartout2, $Tfe::CODE_TARIF, pt_CODE_TARIF_860026603)
# \DRE G4R6 Lot2

	#champs MNEMO
	erreur_860026603=i_set_field_str(g_iartout2,"MNEMO","          ")
FINSI

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

SI (!i_ChercherCouranteECC(instFERPV_860026603))
ALORS
	#trace("Stockage vers FERPV")
	SI b_FERPV_860026603
	ALORS
		i_strcpy(pt_eccfact_860026603, "FE")
	FINSI
	# Duplication article en entree
	SI (i_dup_art_dest( g_iartin, g_iartout11, C_Tfe_rpvRG_860026603))
	ALORS
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_Tfe_rpvRG_860026603,C_Article_860026603)
		SAUT DISTRI_ERR
	FINSI

	# SERVICE
	res_860026603 = i_LireInfoECC( instFERPV_860026603, 0 )
	SI (b_OperNBE_860026603 && (bVGTplus_860026603 || EVTPE_860026603))
	ALORS
		erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::SERVICE,"8")
	SINON
		erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::SERVICE,pt_service_860026603)
	FINSI

	# SOURCE
	SI (b_OperNBE_860026603 && (bVGTplus_860026603 || EVTPE_860026603))
	ALORS
		erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::SOURCE,"19")
	SINON
		erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::SOURCE,"03")
	FINSI

	# NUMDDR
	erreur_860026603=i_get_art_str(g_iartin,$NDR,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"BCDE","AJSC",pt_BUF_860026603)
	erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::NUMDDR,pt_BUF_860026603)

	# NUMDDE
	SI ( !TRANSGROUPE_860026603 )
	ALORS
		#trace("Article NON TRANSGROUPE")
		erreur_860026603=i_get_art_str(g_iartin,$Tns6dc::NDE, pt_TEMP_860026603)
		i_replace_str(pt_TEMP_860026603,"ABC","A*#",pt_TEMP_860026603)
		erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::NUMDDE,pt_TEMP_860026603)
	SINON
		#trace("CONVERSION TRANSGROUPE: formatage de DEDE_NUM")
		erreur_860026603=i_get_art_str(g_iartin,$Tns6dc::NDE, pt_TEMP_860026603)
		i_replace_str(pt_TEMP_860026603,"ABC","A*#",pt_TEMP_860026603)
		#trace2("NDE= <%s>", pt_TEMP,"")
		SI ( ConvTransgrp_860026233($Tns6dc::NDE,g_iartout11,$Tfe_rpvRG::NUMDDE) )
		ALORS
			#trace("Retour NOK pour ConvTransgrp")
			SAUT DISTRI_ERR
		FINSI
	FINSI

	# DEBUT
	erreur_860026603 = i_set_art_field(g_iartout11,$Tfe_rpvRG::DEBUT,ICAR_REL_860026603)

	# DUREE
	erreur_860026603 = i_set_art_field(g_iartout11,$Tfe_rpvRG::DUREE,dduree_860026603)

	# NBUT 
#DRE G4R6 Lot2
#DRE - G4R7 QC829
#	SI (REJET==CPT_CPS_Loc)
	SI b_Fact_CPS_Loc_860026603
	ALORS
		erreur_860026603=i_set_art_field(g_iartout11, $Tfe_rpvRG::NBUT, tax_860026603)
	SINON
		SI ( (SRP_PORTE_860026603 == 1) && (tax_860026603 == 0) )
		ALORS
			erreur_860026603 = i_set_art_field(g_iartout11,$Tfe_rpvRG::NBUT,TAXE_CAL_860026603)
		SINON
			erreur_860026603 = i_set_art_field(g_iartout11,$Tfe_rpvRG::NBUT,tax_860026603)
		FINSI
	FINSI
#\DRE G4R6 Lot2
	
	# CANAL
	SI (i_valid_field_n(g_iartin, $Tns6dc::REF))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$REF)
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::CANAL,res_860026603)
	FINSI

	# Gestion des champ NBCOD, C_CSVI et OP_CSVI
	#trace("Traitement des C_CSV et OP_CSV")
	indice_860026603=0
	erreur_860026603=i_set_art_field(g_iartout11, $Tfe_rpvRG::NBCOD, indice_860026603)
	num_champ_860026603=$Tfe_rpvRG::NBCOD+1
	#trace1("numero du champ C_CSV1=<%d>",num_champ)

	SI ( i_get_art_fieldtab(g_iartin,$NDE,0)==0xB &&
	i_get_art_fieldtab(g_iartin,$NDE,1)==0x2 &&
	i_get_art_fieldtab(g_iartin,$NDE,2)==0x1 &&
	i_get_art_fieldtab(g_iartin,$NDE,3)==0xB )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"T2")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::T3sidr)) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"C")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::MES1))&&(i_valid_field_n(g_iartin, $Tns6dc::MES2)) )
	ALORS
		SI ( (g_iartin.MES1==0x00)&&(g_iartin.MES2==0x00) )
		ALORS
			indice_860026603=indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"F")
			num_champ_860026603=num_champ_860026603+2
		FINSI
		# EV4.1 : C_CSV="P" si MES1 ou MES2 different de FF
		SI ( (g_iartin.MES1 != 0xFF) || (g_iartin.MES2 != 0xFF) )
		ALORS
			indice_860026603 = indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"P")
			num_champ_860026603=num_champ_860026603+2
		FINSI
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::T3ttx)) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"X")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::T3cle))
	ALORS
		SI (g_iartin.CLE1==0x0b)
		ALORS
			indice_860026603=indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"30")
			num_champ_860026603=num_champ_860026603+2
		FINSI
	FINSI

	SI (i_get_bit_val(TAP_860026603, 8)==1)
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"T")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI (i_get_bit_val(TAP_860026603, 6)==1)
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"3")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026603, 3)==1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"D")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026603, 2)==1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"N")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026603, 1)==1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout11,num_champ_860026603,"O")
	FINSI

	# Initialisation des champs OP_CSVI
	num_champ_860026603=$Tfe_rpvRG::NBCOD+2
	res_860026603=0
	POINT DEB_BOUC6
	SI ( (res_860026603<indice_860026603) && (res_860026603<5) )
	ALORS
		res_860026603=res_860026603+1
		erreur_860026603=i_memset_field_n(g_iartout11,num_champ_860026603,0xE4)
		num_champ_860026603=num_champ_860026603+2
		SAUT DEB_BOUC6
	FINSI

	SI ( i_get_art_fieldtab(g_iartin,$NDE,0)==0xB &&
	i_get_art_fieldtab(g_iartin,$NDE,1)==0x2 &&
	i_get_art_fieldtab(g_iartin,$NDE,2)==0x1 &&
	i_get_art_fieldtab(g_iartin,$NDE,3)==0xB )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout11,$Tfe_rpvRG::OP_CSV1,"A")
	FINSI
	#trace("Fin CSV")

	# TYPACCRI
	erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::TYPACCRI," ")

	# SUPPORT
	SI ((SUP_860026603 == 0x01) || (SUP_860026603 == 0xFF))
	ALORS
		erreur_860026603 = i_set_art_field(g_iartout11,$Tfe_rpvRG::SUPPORT,0)
	FINSI

	SI (SUP_860026603 == 0x02)
	ALORS
		erreur_860026603 = i_set_art_field(g_iartout11,$Tfe_rpvRG::SUPPORT,2)
	FINSI

	SI (SUP_860026603 == 0x03)
	ALORS
		erreur_860026603 = i_set_art_field(g_iartout11,$Tfe_rpvRG::SUPPORT,4)
	FINSI

	# NOCOMP
	erreur_860026603 = i_get_art_str(g_iartout11,$Tfe_rpvRG::TYPACCRI,pt_BUF_860026603)
	SI ( i_strcmp (pt_BUF_860026603, " ") == 0 )
	ALORS
		res_860026603 = i_get_art_field(g_iartin, $Tns6dc::INF_IDAV)

		SI ( ( res_860026603 & 0x0F ) == 1 )
		ALORS
			erreur_860026603 = i_get_art_str(g_iartin, $Tns6dc::NUM_IDAV, pt_BUF_860026603)
			erreur_860026603 = i_get_art_str(g_iartin,$Tns6dc::NDE, pt_TEMP_860026603)
			SI (i_strcmp(pt_BUF_860026603,pt_TEMP_860026603) != 0 )
			ALORS
				# G3R18 QC420
				erreur_860026603 = i_get_art_str(g_iartout11,$Tfe_rpvRG::NUMDDE, pt_TEMP_860026603)
				taille_860026603 = i_strlen(pt_TEMP_860026603 )
				indice_860026603 = -1
				POINT CHERCHE
				indice_860026603 = indice_860026603 + 1

				SI (indice_860026603 < taille_860026603 )
				ALORS
					i_get_sub_str(pt_TEMP_860026603, indice_860026603, indice_860026603, pt_CARACT_860026603)
					SI i_strcmp(pt_CARACT_860026603," ") == 0
					ALORS
						i_get_sub_str(pt_TEMP_860026603, 0, indice_860026603-1, pt_BUF1_860026603)
						i_strcpy(pt_TEMP_860026603,pt_BUF1_860026603)
					SINON
						SAUT CHERCHE
					FINSI
				FINSI

				SI (i_strcmp(pt_BUF_860026603,pt_TEMP_860026603) != 0 )
				ALORS
					erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::NOCOMP,pt_BUF_860026603)
				FINSI
			FINSI
		FINSI
	FINSI

	# NOORIG
	SI ( i_valid_field_n(g_iartin,$Tns6dc::NUMNOS) )
	ALORS
		erreur_860026603 = i_get_art_str(g_iartin,$NUMNOS, pt_BUF_860026603)
		erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::NOORIG,pt_BUF_860026603)
	FINSI

	#CCD avec CCD alphanum
	CCD_REEL_FE_860026603 = CCD_REEL_860026603
	CCD_REEL_FE_860026603 = CCD_REEL_FE_860026603 + 1000
#DRE G4R6 lot2 Lignes remontees plus haut
#	SI (bCONVERSION == 0 )
#	ALORS
#		erreur = i_cree_art("Conversion",g_iartout10)
#		bCONVERSION = 1
#	FINSI
#\DRE G4R6 lot2
	erreur_860026603 = i_set_art_field(g_iartout10,$Conversion::CCD,CCD_REEL_FE_860026603 )
	erreur_860026603 = i_conv_field("CCD",g_iartout10, 2, g_iartout11, 4,0)
	erreur_860026603 = i_get_art_str(g_iartout11,$Tfe_rpvRG::CCD,pt_BUF1_860026603)
	i_get_sub_str(pt_BUF1_860026603,1,3,pt_BUF2_860026603)
	erreur_860026603 = i_set_art_str(g_iartout11,$Tfe_rpvRG::CCD,pt_BUF2_860026603)
	#trace2(" CCD_REEL_xx <%s> ", pt_BUF1, "")
	#trace2(" CCD_REEL_FE <%s> ", pt_BUF2, "")

	# PREF_PORT si Portabilite Mobiles
	SI bPortabilite_mobile_860026603 == 1
	ALORS
# G3R23C7 QC581
#		erreur = i_set_art_str(g_iartout11, $Tfe_rpvRG::PREF_PORT, pt_PREF_PORT)
		erreur_860026603 = i_set_art_str(g_iartout11, $Tfe_rpvRG::PREF_PORT, pt_PREF_PORT_FERPV_860026603)
	FINSI

	#pk G3R18Cy ajout du champ INFDDE
	# Paliatif bit D DEDE_INF
	INF_DEDE_TRAF_860026603 = i_get_art_field(g_iartout11,$Tfe_rpvRG::INFDDE)
	INF_DEDE_TRAF_860026603 = INF_DEDE_TRAF_860026603 & 0xEF
	erreur_860026603 = i_set_art_field(g_iartout11,$Tfe_rpvRG::INFDDE,INF_DEDE_TRAF_860026603)

# DRE G4R6 Lot2
	# TYPE_EDIT
	erreur_860026603=i_set_art_str(g_iartout11, $Tfe_rpvRG::TYPE_EDIT, pt_TYPE_EDIT_860026603)
	
	# CODE_TARIF
	erreur_860026603=i_set_art_str(g_iartout11, $Tfe_rpvRG::CODE_TARIF, pt_CODE_TARIF_860026603)
# \DRE G4R6 Lot2

FINSI

#---------------------------------------------------------------------------
# ARAVIS
#---------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instARAVIS_860026603))
ALORS
	#trace("Stockage vers ARAVIS")
	i_strcpy(pt_eccfact_860026603, "ARAVIS")
	SI (i_cree_art(C_Taravis_860026603, g_iartout12 ))
	ALORS
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_Taravis_860026603,C_Article_860026603)
		SAUT DISTRI_ERR
	FINSI

	# ACCEID
	erreur_860026603 = i_memset_field_n(g_iartout12,$Taravis::ACCEID,0x30)

	# NDDR
	erreur_860026603=i_get_art_str(g_iartin,$NDR,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"BCDE","AJSC",pt_BUF_860026603)
	erreur_860026603 = i_format_str2(pt_BUF2_860026603,"%s%s","0",pt_BUF_860026603)
	erreur_860026603 = i_set_art_str(g_iartout12,$Taravis::NDDR,pt_BUF2_860026603)

	# DEBCUM
	erreur_860026603 = i_set_art_field(g_iartout12,$Taravis::DEBCUM,ICAR_REL_860026603)

	# DUREE
	erreur_860026603 = i_set_art_field(g_iartout12,$Taravis::DUREE,dduree_860026603)

	# TYPE
	erreur_860026603 = i_set_art_str(g_iartout12,$Taravis::TYPE,"2")

	# SUPPORT
	erreur_860026603 = i_set_art_str(g_iartout12,$Taravis::SUPPORT,"1")

	# DEDE
	i_replace_str(pt_nde_normal_860026603,"ABC","A*#",pt_BUF_860026603)

	i_get_sub_str(pt_BUF_860026603,0,1,pt_TEMP_860026603)
	SI (i_strcmp(pt_TEMP_860026603, "00") == 0)
	ALORS
		i_get_sub_str(pt_BUF_860026603,2,-1,pt_BUF_860026603)
	FINSI
	erreur_860026603 = i_set_art_str(g_iartout12,$Taravis::DEDE,pt_BUF_860026603)

	#COMID_ID
	erreur_860026603 = i_set_art_field(g_iartout12, $Taravis::COMID_ID,2)

	# COMID_NUM
	# Remarque : etant donne que le processing travaille en entier signe, on ne peut travailler
	# que sur des valeurs numeriques codees sur 31 bits. En consequence, on se limite a 15 bits
	# (soit 32767 max) pour le codage du numero de bloc

	# Recuperation de l identifiant d audit (voir ME_PCODE pour le detail de sa structure)
	pt_marque_audit_860026603=i_LireMarqueAudit()

	# Recuperation de l'horadatage
	comid_n1_860026603 = (i_strtab(pt_marque_audit_860026603,2)*256 + i_strtab(pt_marque_audit_860026603,3)) & 0x1FFF
	#trace1("comid_n1 : %d",comid_n1)
	erreur_860026603 = i_set_art_field(g_iartout12, $Taravis::COMID_N1, comid_n1_860026603 )

	# Recuperation identifiant EEC (6eme octet) EEC
	# Masquage des 6 bits de poids faible
	EEC_audit_860026603 = i_strtab(pt_marque_audit_860026603, 5) & 0x3f
	#trace1("EEC_audit : %d", EEC_audit)

	# Recuperation identifiant de bloc (7 et 8eme octet)
	# Masquage des 15 bits de poids faible
	bloc_audit_860026603 =  ( ( i_strtab(pt_marque_audit_860026603, 6) * 256 ) + i_strtab(pt_marque_audit_860026603, 7) ) & 0x7fff
	# trace1("bloc_audit : %d", bloc_audit)

	# Recuperation identifiant du DC (11 et 12eme octet)
	# Masquage des 10 bits de poids faible
	DC_audit_860026603 = ( ( i_strtab(pt_marque_audit_860026603, 10) * 256 ) + i_strtab(pt_marque_audit_860026603, 11) ) & 0x3ff
	#trace1("DC_audit : %d", DC_audit)

	# Mise en forme pour ARAVIS COMID_NUM
	# On realise les masquages/concatenation par multiplication
	# Coefficients : 00000010000000000000000000000000 soit 2e25 soit 33554432
	#                00000000000000000000010000000000 soit 2e10 soit 1024
	comid_num_860026603 = (EEC_audit_860026603 * 33554432) + (bloc_audit_860026603 * 1024) + DC_audit_860026603
	#trace1("comid_num : %u", comid_num)

	erreur_860026603 = i_set_art_field(g_iartout12, $Taravis::COMID_NUM, comid_num_860026603 )

	# TYPSRV
	erreur_860026603 = i_set_art_field(g_iartout12,$Taravis::TYPSRV, 1)
FINSI

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

SI ( !i_ChercherCouranteECC(instDM_860026603) )
ALORS
	#trace("Mise au format DELTA MINUTE")
	SI ( i_dup_art_dest(g_iartin,g_iartout4,C_Tdelta_minute_860026603) )
	ALORS
		trace("Erreur de i_dup_art_dest")
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_Tdelta_minute_860026603,C_Article_860026603)
		SAUT  DISTRI_ERR
	FINSI

	#NDR
	erreur_860026603=i_get_art_str(g_iartin,$NDR,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"BCDE","AJSC",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::IDUS_NUM,pt_BUF_860026603)

	#NDE
	erreur_860026603=i_get_art_str(g_iartin,$NDE,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"ABC","A*#",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::DEDE_NUM,pt_BUF_860026603)

	# Paliatif bit D DEDE_INF
	INF_DEDE_TRAF_860026603 = i_get_art_field(g_iartout4,$Tdelta_minute::DEDE_INF)
	INF_DEDE_TRAF_860026603 = INF_DEDE_TRAF_860026603 & 0xEF
	erreur_860026603 = i_set_art_field(g_iartout4,$Tdelta_minute::DEDE_INF,INF_DEDE_TRAF_860026603)

	#champ DOMAINE
	erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::DOMAINE,"05")

	SI (RPV_860026603)
	ALORS
		erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::DOMAINE,"95")
	FINSI

	SI (CCD_860026603 == 0x18 && EPORTABILITE_860026603 == 0)
	ALORS
		erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::DOMAINE,"96")
	FINSI
	SI ( VTGRI_CAX_860026603 || VTGRI_3BPQ_860026603 )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::DOMAINE,"94")
	FINSI

	# SERVICE
	erreur_860026603=i_set_art_str(g_iartout4, $Tdelta_minute::SERVICE, "02")

	# DATE
	erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::DATE,ICAR_REL_860026603)

	#champ DUREE
	erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::DUREE,dduree_860026603)

	#champ CAX
	erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::CAX,CAX_860026603)

	#champ TAX
	SI ( (SRP_PORTE_860026603 == 1) && (tax_860026603 == 0) )
	ALORS
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::TAX,TAXE_CAL_860026603)
	SINON
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::TAX,tax_860026603)
	FINSI

	#champ NDS_NUM
	SI ( i_valid_field_n(g_iartin, $Tns6dc::NUMNOS) )
	ALORS
		erreur_860026603=i_get_art_str(g_iartin,$Tns6dc::NUMNOS,pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::NDS_NUM,pt_BUF_860026603)
	SINON
		erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::NDS_NUM,"          ")
	FINSI

	#champ SUP
	erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::SUP,SUP_860026603)

	#champs MES1 et MES2
	SI ( i_valid_field_n(g_iartin, $Tns6dc::MES1) )
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::MES1)
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::MES1,res_860026603)
	FINSI
	SI ( i_valid_field_n(g_iartin, $Tns6dc::MES2))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::MES2)
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::MES2,res_860026603)
	FINSI

	#
	# Gestion des champ NB_CSV, C_CSVI et OP_CSVI
	#

	#trace("Traitement des CSV")
	indice_860026603=0
	erreur_860026603=i_set_art_field(g_iartout4, $Tdelta_minute::NB_CSV, indice_860026603)
	num_champ_860026603=$Tdelta_minute::NB_CSV+1
	#trace1("numero du champ C_CSV1=<%d>",num_champ)

	#EV114, specs 4.0 : Si NDE==*21*, alors C_CSV(nb_csv)="T1"
	SI ( i_get_art_fieldtab(g_iartin,$NDE,0)==0xB &&
	i_get_art_fieldtab(g_iartin,$NDE,1)==0x2 &&
	i_get_art_fieldtab(g_iartin,$NDE,2)==0x1 &&
	i_get_art_fieldtab(g_iartin,$NDE,3)==0xB )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"T1")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::MES1))&&(i_valid_field_n(g_iartin, $Tns6dc::MES2)) )
	ALORS
		SI ( (g_iartin.MES1==0x00)&&(g_iartin.MES2==0x00) )
		ALORS
			indice_860026603=indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"F")
			num_champ_860026603=num_champ_860026603+2
		FINSI
		# EV4.1 : C_CSV="P" si MES1 ou MES2 different de FF
		SI ( (g_iartin.MES1 != 0xFF) || (g_iartin.MES2 != 0xFF) )
		ALORS
			indice_860026603 = indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"P")
			num_champ_860026603=num_champ_860026603+2
		FINSI
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::T3ttx)) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"X")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::T3sidr)))
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"C")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::T3cle))
	ALORS
		SI (g_iartin.CLE1==0x0b)
		ALORS
			indice_860026603=indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"30")
			num_champ_860026603=num_champ_860026603+2
		FINSI
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 8)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"T")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 6)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"3")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 3)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"D")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 2)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"N")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	bit_860026603 = i_get_bit_val(TAP_860026603, 1)
	SI ( (bit_860026603 == 1)&&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout4,num_champ_860026603,"O")
	FINSI

	# Initialisation des champs OP_CSVI
	num_champ_860026603=$Tdelta_minute::NB_CSV+2
	res_860026603=0
	POINT DEB_BOUC1
	SI ( (res_860026603<indice_860026603)&&(res_860026603<5) )
	ALORS
		res_860026603=res_860026603+1
		erreur_860026603=i_memset_field_n(g_iartout4,num_champ_860026603,0xE4)
		num_champ_860026603=num_champ_860026603+2
		SAUT DEB_BOUC1
	FINSI

	# EV114, specs 4.0 : Si NDE==*21*, alors OP_CSV(nb_csv)="A"
	# ( apres la boucle, on reecrit "A" par dessus OP_CSV1 )
	SI ( i_get_art_fieldtab(g_iartin,$NDE,0)==0xB &&
	i_get_art_fieldtab(g_iartin,$NDE,1)==0x2 &&
	i_get_art_fieldtab(g_iartin,$NDE,2)==0x1 &&
	i_get_art_fieldtab(g_iartin,$NDE,3)==0xB )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::OP_CSV1,"A")
	FINSI
	#trace("Fin CSV")

	# # #
	#champ STY
	#trace("DM Initialisation de STY")

	SI (!i_valid_field_n(g_iartin,$STY))
	ALORS
		#trace("Champs STY absent en entree !")
		SAUT DISTRI_ERR
	FINSI

	#trace("Appel de i_transformer_bits")
	SI (i_transformer_bits(g_iartin,$STY,"FV",pt_BUF_860026603)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026603=i_set_art_str(g_iartout4, $Tdelta_minute::STY,pt_BUF_860026603)

	#champ COCA et COCAV
	SI ( i_valid_field_n(g_iartin, $Tns6dc::BETA) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::COCA,pt_COCA_860026603)
	FINSI

	SI ( i_valid_field_n(g_iartin, $Tns6dc::BETAV) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::COCAV,pt_COCAV_860026603)
	FINSI

	#champ IDAV_INF et IDAV_NUM
	SI ( i_valid_field_n(g_iartin, $Tns6dc::INF_IDAV) )
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::INF_IDAV)
		erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::IDAV_INF,res_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::NUM_IDAV))
	ALORS
		erreur_860026603=i_get_art_str(g_iartin, $Tns6dc::NUM_IDAV,pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout4, $Tdelta_minute::IDAV_NUM,pt_BUF_860026603)
	FINSI

	#champ SGTQS
	#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
	#trace2("SGTQS=<%s>",pt_SGTQS,"")
	erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::SGTQS,pt_SGTQS_860026603)

	#champ MNEMO
	erreur_860026603=i_set_art_str(g_iartout4,$Tdelta_minute::MNEMO,"          ")

	#champ CLASSDEST
	erreur_860026603=i_set_art_field(g_iartout4,$Tdelta_minute::CLASSDEST,CCD_REEL_860026603)
FINSI

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

SI ( !i_ChercherCouranteECC(instECCTRAFIC_860026603)  )
ALORS
	i_strcpy(pt_eccfact_860026603,pt_inst_860026603)
	#trace("Mise au format TRAFIC")

	# Duplication de l'article
	#trace("Duplication vers TRAFIC")
	SI ( i_dup_art_dest(g_iartin,g_iartout2,C_Ttrafic_860026603) )
	ALORS
		trace("Erreur de i_dup_art_dest")
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_Ttrafic_860026603,C_Article_860026603)
		SAUT  DISTRI_ERR
	FINSI

	#NDR
	erreur_860026603=i_get_art_str(g_iartin,$NDR,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"BCDE","AJSC",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout2,$Ttrafic::IDUS_NUM,pt_BUF_860026603)

	#NDE
	erreur_860026603=i_get_art_str(g_iartin,$NDE,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"ABC","A*#",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout2,$Ttrafic::DEDE_NUM,pt_BUF_860026603)

	# Paliatif bit D DEDE_INF
	INF_DEDE_TRAF_860026603 = i_get_art_field(g_iartout2,$Ttrafic::DEDE_INF)
	INF_DEDE_TRAF_860026603 = INF_DEDE_TRAF_860026603 & 0xEF
	erreur_860026603 = i_set_art_field(g_iartout2,$Ttrafic::DEDE_INF,INF_DEDE_TRAF_860026603)

	#trace("initialisation de DOMAINE et SERVICE")
	# DOMAINE
	erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::DOMAINE, "05")

	# SERVICE
	erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::SERVICE, "02")

	# DATE
	erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::DATE,ICAR_REL_860026603)

	#champ CAX
	erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::CAX, CAX_860026603)

	#champ NDS_NUM
	SI ( i_valid_field_n(g_iartin, $Tns6dc::NUMNOS) )
	ALORS
		erreur_860026603=i_get_art_str(g_iartin, $NUMNOS, pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::NDS_NUM, pt_BUF_860026603)
	FINSI

	#champ DUREE
	erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::DUREE, dduree_860026603)

	#champ TAX
#DRE G4R6 Lot2
#DRE - G4R7 QC829
#	SI (REJET==CPT_CPS_Loc)
	SI b_Fact_CPS_Loc_860026603
	ALORS
		erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::TAX, tax_860026603)
	SINON
		SI ( (SRP_PORTE_860026603 == 1) && (tax_860026603 == 0) )
		ALORS
			erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::TAX,TAXE_CAL_860026603)
		SINON
			erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::TAX, tax_860026603)
		FINSI
	FINSI
#\DRE G4R6 Lot2

	# Gestion des champ NB_CSV, C_CSVI et OP_CSVI
	#trace("Traitement des CSV")

	#
	# Gestion des champ NB_CSV, C_CSVI et OP_CSVI
	#

	indice_860026603=0
	erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::NB_CSV, indice_860026603)
	num_champ_860026603=$Ttrafic::NB_CSV+1
	#trace1("numero du champ C_CSV1=<%d>",num_champ)

	#EV114, specs 4.0 : Si NDE==*21*, alors C_CSV(nb_csv)="T1"
	SI ( i_get_art_fieldtab(g_iartin,$NDE,0)==0xB &&
	i_get_art_fieldtab(g_iartin,$NDE,1)==0x2 &&
	i_get_art_fieldtab(g_iartin,$NDE,2)==0x1 &&
	i_get_art_fieldtab(g_iartin,$NDE,3)==0xB )
	ALORS
		indice_860026603=indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"T1")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::MES1))&&(i_valid_field_n(g_iartin, $Tns6dc::MES2)) )
	ALORS
		SI ( (g_iartin.MES1==0x00)&&(g_iartin.MES2==0x00) )
		ALORS
			indice_860026603=indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"F")
			num_champ_860026603=num_champ_860026603+2
		FINSI
		# EV4.1 : C_CSV="P" si MES1 ou MES2 different de FF
		SI ( (g_iartin.MES1 != 0xFF) || (g_iartin.MES2 != 0xFF) )
		ALORS
			indice_860026603 = indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"P")
			num_champ_860026603=num_champ_860026603+2
		FINSI
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::T3ttx)) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"X")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tns6dc::T3sidr)))
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"C")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::T3cle))
	ALORS
		SI (g_iartin.CLE1==0x0b)
		ALORS
			indice_860026603=indice_860026603+1
			erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
			erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"30")
			num_champ_860026603=num_champ_860026603+2
		FINSI
	FINSI

	SI ( i_get_bit_val(TAP_860026603, 8) &&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"T")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( i_get_bit_val(TAP_860026603, 6) &&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"3")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( i_get_bit_val(TAP_860026603, 3) &&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"D")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( i_get_bit_val(TAP_860026603, 2) &&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"N")
		num_champ_860026603=num_champ_860026603+2
	FINSI

	SI ( i_get_bit_val(TAP_860026603, 1) &&(indice_860026603 < 5) )
	ALORS
		indice_860026603 = indice_860026603+1
		erreur_860026603=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026603)
		erreur_860026603=i_set_art_str(g_iartout2,num_champ_860026603,"O")
	FINSI

	# Initialisation des champs OP_CSVI
	num_champ_860026603=$Ttrafic::NB_CSV+2
	res_860026603=0
	POINT DEB_BOUC3
	SI ( (res_860026603<indice_860026603)&&(res_860026603<5) )
	ALORS
		res_860026603=res_860026603+1
		erreur_860026603=i_memset_field_n(g_iartout2,num_champ_860026603,0xE4)
		num_champ_860026603=num_champ_860026603+2
		SAUT DEB_BOUC3
	FINSI

	# EV114, specs 4.0 : Si NDE==*21*, alors OP_CSV(nb_csv)="A"
	# ( apres la boucle, on reecrit "A" par dessus OP_CSV1 )
	SI (    i_get_art_fieldtab(g_iartin,$NDE,0)==0xB &&
	i_get_art_fieldtab(g_iartin,$NDE,1)==0x2 &&
	i_get_art_fieldtab(g_iartin,$NDE,2)==0x1 &&
	i_get_art_fieldtab(g_iartin,$NDE,3)==0xB )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2,$Ttrafic::OP_CSV1,"A")
	FINSI
	#trace("Fin CSV")

	#champ SUP
	erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::SUP, SUP_860026603)

	#champ COCA et COCAV
	SI (i_valid_field_n(g_iartin, $Tns6dc::BETA))
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::COCA,pt_COCA_860026603)
	SINON
		erreur_860026603=i_memset_field_n(g_iartout2,$Ttrafic::COCA,0x40)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::BETAV))
	ALORS
		erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::COCAV,pt_COCAV_860026603)
	SINON
		erreur_860026603=i_memset_field_n(g_iartout2,$Ttrafic::COCAV,0x40)
	FINSI

	#champ IDAV_INF et IDAV_NUM
	# si Portabilite Mobiles alors IDAV/INF = 099
	SI ( i_valid_field_n(g_iartin, $Tns6dc::T3idav) )
	ALORS
		SI bPortabilite_mobile_860026603 == 1
		ALORS
			res_860026603 = 99
		SINON
			res_860026603 = i_get_art_field(g_iartin, $Tns6dc::INF_IDAV)
		FINSI
		erreur_860026603 =i_set_art_field(g_iartout2, $Ttrafic::IDAV_INF, res_860026603)
		erreur_860026603 = i_get_art_str(g_iartin, $Tns6dc::NUM_IDAV, pt_BUF_860026603)
		erreur_860026603 = i_set_art_str(g_iartout2, $Ttrafic::IDAV_NUM, pt_BUF_860026603)
	FINSI

	#champ MNEMO
	erreur_860026603=i_set_art_str(g_iartout2,$Ttrafic::MNEMO,"          ")

	#champ STY
	#trace("Initialisation STY")
	SI (!i_valid_field_n(g_iartin,$STY))
	ALORS
		#trace("Champs STY absent en entree !")
		SAUT DISTRI_ERR
	FINSI

	#trace("Appel de i_transformer_bits")
	SI (i_transformer_bits(g_iartin,$STY,"FV",pt_BUF_860026603)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::STY,pt_BUF_860026603)

	#MESSAGES
	SI (i_valid_field_n(g_iartin,$T3cha))
	ALORS
		res_860026603=i_get_art_field(g_iartin, $Tns6dc::MES1)
		erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::MES1, res_860026603)
		res_860026603=i_get_art_field(g_iartin, $Tns6dc::MES2)
		erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::MES2, res_860026603)
	FINSI

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

	#champ CLASSDEST
	erreur_860026603=i_set_art_field(g_iartout2, $Ttrafic::CLASSDEST, CCD_REEL_860026603)

	#Champ OFFRE et OPERATEUR
	SI (bVGTplus_860026603)
	ALORS
		#trace2("VGT+ OFFRE=<%s>",pt_VGTplus_OF,"")
		#trace2("VGT+ OPERATEUR=<%s>",pt_VGTplus_OP,"")
		erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::OFFRE, pt_VGTplus_OF_860026603)
		erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::OPERATEUR, pt_VGTplus_OP_860026603)
	SINON
		SI (VGA_860026603)
		ALORS
			#trace2("VGA OFFRE=<%s>",pt_VGA_OF,"")
			#trace2("VGA OPERATEUR=<%s>",pt_VGA_OP,"")
			erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::OFFRE, pt_VGA_OF_860026603)
			erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::OPERATEUR, pt_VGA_OP_860026603)
		SINON
			SI (EVTPE_860026603)
			ALORS
				#trace2("EVTE OFFRE=<%s>",pt_EVTPE_OF,"")
				#trace2("EVTPE OPERATEUR=<%s>",pt_EVTPE_OP,"")
				erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::OFFRE, pt_EVTPE_OF_860026603)
				erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::OPERATEUR, pt_EVTPE_OP_860026603)
			FINSI
		FINSI
	FINSI
# DRE G4R6 Lot2
	# TAG
	erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::TAG, " ")
	
	# TYPE_EDIT
	erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::TYPE_EDIT, pt_TYPE_EDIT_860026603)
	
	# CODE_TARIF
	erreur_860026603=i_set_art_str(g_iartout2, $Ttrafic::CODE_TARIF, pt_CODE_TARIF_860026603)
# \DRE G4R6 Lot2
FINSI

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

SI ( !i_ChercherCouranteECC(instCENTAUREVG_860026603)  )
ALORS
	#trace1("MISE AU FORMAT POUR CENTAURE)

	# Duplication de l article
	#-----------------------------
	trace("Duplication vers CENTAUREVG")
	SI ( i_dup_art_dest(g_iartin,g_iartout13,C_TcentaureVG_860026603) )
	ALORS
		trace("Erreur de i_dup_art_dest")
		code_errone_860026603 = 0xA0D1
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_TcentaureVG_860026603,C_Article_860026603)
		SAUT  DISTRI_ERR
	FINSI
	# Mise au format
	#trace("initialisation de DOMAINE et SERVICE")

	# DOMAINE
	erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::DOMAINE, "05")

	# SERVICE
	erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::SERVICE, "02")

	# Champ IDUS_INF
	res_860026603=i_get_art_field(g_iartin, $Tns6dc::INF_IDUS)
	erreur_860026603 = i_set_art_field(g_iartout13, $TcentaureVG::IDUS_INF, res_860026603)

	#Champ IDUS_NUM
	erreur_860026603=i_get_art_str(g_iartin,$NDR,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"BCDE","AJSC",pt_BUF_860026603)
	erreur_860026603 = i_set_art_str(g_iartout13, $TcentaureVG::IDUS_NUM, pt_BUF_860026603)

	# Champ DEDE_INF
	erreur_860026603 = i_set_art_field(g_iartout13, $TcentaureVG::DEDE_INF, INF_DEDE_TRAF_860026603)

	# Champ DEDE_NUM
	erreur_860026603=i_get_art_str(g_iartin,$Tns6dc::NDE,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"ABC","A*#",pt_BUF_860026603)
	erreur_860026603 = i_set_art_str(g_iartout13, $TcentaureVG::DEDE_NUM, pt_BUF_860026603)

	# Champ DATE
	erreur_860026603 = i_set_art_field(g_iartout13,$TcentaureVG::ICAR,ICAR_REL_860026603)
	# Champ DUREE
	erreur_860026603 = i_set_art_field(g_iartout13, $TcentaureVG::DUR, dduree_860026603)

	# Champ CAX
	erreur_860026603 = i_set_art_field(g_iartout13, $TcentaureVG::CAX, CAX_860026603)

	# Champ TAX La FO2239 etait contraire a la FO2241
#DRE G4R6 Lot2
#DRE - G4R7 QC829
#	SI (REJET==CPT_CPS_Loc)
	SI b_Fact_CPS_Loc_860026603
	ALORS
		erreur_860026603=i_set_art_field(g_iartout13, $TcentaureVG::TAX, tax_860026603)
	SINON
		SI ( (SRP_PORTE_860026603 == 1) && (tax_860026603 == 0) )
		ALORS
			erreur_860026603 = i_set_art_field(g_iartout13, $TcentaureVG::TAX, TAXE_CAL_860026603)
		SINON
			erreur_860026603 = i_set_art_field(g_iartout13, $TcentaureVG::TAX, tax_860026603)
		FINSI
	FINSI
#\DRE G4R6 Lot2

	# Champ NDS_NUM
	SI (i_valid_field_n(g_iartin, $Tns6dc::NUMNOS))
	ALORS
		erreur_860026603=i_get_art_str(g_iartin, $Tns6dc::NUMNOS,pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::NDS_NUM,pt_BUF_860026603)
	FINSI

	# Champ SUP
	erreur_860026603 = i_set_art_field(g_iartout13, $TcentaureVG::SUP, SUP_860026603)

	# Champ NB_CSV, C_CSVi et OP_CSVi:
	# si i>1, initialisation avec espace (table de duplication).
	# Remarque : si on arrive ici, c est que Trafic est forcement aussi destinataire : on recupere donc la valeur des champs equivalents de Trafic
	res_860026603=i_get_art_field(g_iartout2,$Ttrafic::NB_CSV)
	erreur_860026603 = i_set_art_field(g_iartout13, $TcentaureVG::nb_csv, res_860026603)

	indice_860026603 = 0
	POINT DEBUT_CSV
	SI res_860026603 > 0
	ALORS
		erreur_860026603=i_get_art_str(g_iartout2,$Ttrafic::C_CSV1+indice_860026603,pt_BUF_860026603)
		erreur_860026603 = i_set_art_str(g_iartout13,$TcentaureVG::C_CSV1+indice_860026603,pt_BUF_860026603)

		erreur_860026603=i_get_art_str(g_iartout2,$Ttrafic::OP_CSV1+indice_860026603,pt_BUF_860026603)
		erreur_860026603 = i_set_art_str(g_iartout13,$TcentaureVG::OP_CSV1+indice_860026603,pt_BUF_860026603)
	FINSI
	indice_860026603=indice_860026603+2

	SI res_860026603 > (indice_860026603/2)
	ALORS
		SAUT DEBUT_CSV
	FINSI

	#Champ STY
	#trace("Appel de i_transformer_bits")
	SI (i_transformer_bits(g_iartin,$Tns6dc::STY,"FV",pt_BUF_860026603)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::STY,pt_BUF_860026603)

	# Champ COCA
	SI ( i_valid_field_n( g_iartin, $Tns6dc::BETA) )
	ALORS
		erreur_860026603 = i_set_art_str(g_iartout13, $TcentaureVG::COCA,pt_COCA_860026603  )
	FINSI

	# Champ COCAV
	SI ( i_valid_field_n( g_iartin, $Tns6dc::BETAV) )
	ALORS
		erreur_860026603 = i_set_art_str(g_iartout13, $TcentaureVG::COCA,pt_COCAV_860026603  )
	FINSI

	#champ IDAV_INF et IDAV_NUM
	SI ( i_valid_field_n(g_iartin, $Tns6dc::T3idav) )
	ALORS
		res_860026603=i_get_art_field(g_iartin, $Tns6dc::INF_IDAV)
		erreur_860026603=i_set_art_field(g_iartout13, $TcentaureVG::IDAV_INF, res_860026603)

		erreur_860026603=i_get_art_str(g_iartin, $Tns6dc::NUM_IDAV,pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::IDAV_NUM,pt_BUF_860026603)
	FINSI

	# Champ SGTQS
	erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::SGTQS, pt_SGTQS_860026603)

	#champ CLASSDEST
	erreur_860026603=i_set_art_field(g_iartout13, $TcentaureVG::CLASSDEST, CCD_REEL_860026603)

	#Champ OFFRE et OPERATEUR
	SI (bVGTplus_860026603)
	ALORS
		#trace2("VGT+ OFFRE=<%s>",pt_VGTplus_OF,"")
		#trace2("VGT+ OPERATEUR=<%s>",pt_VGTplus_OP,"")
		erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::OFFRE, pt_VGTplus_OF_860026603)
		erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::OPERATEUR, pt_VGTplus_OP_860026603)
	SINON
		SI (VGA_860026603)
		ALORS
			#trace2("VGA OFFRE=<%s>",pt_VGA_OF,"")
			#trace2("VGA OPERATEUR=<%s>",pt_VGA_OP,"")
			erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::OFFRE, pt_VGA_OF_860026603)
			erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::OPERATEUR, pt_VGA_OP_860026603)
		SINON
			SI (EVTPE_860026603)
			ALORS
				#trace2("EVTPE OFFRE=<%s>",pt_EVTPE_OF,"")
				#trace2("EVTPE OPERATEUR=<%s>",pt_EVTPE_OP,"")
				erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::OFFRE, pt_EVTPE_OF_860026603)
				erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::OPERATEUR, pt_EVTPE_OP_860026603)
			FINSI
		FINSI
	FINSI
# DRE G4R6 Lot2
	# TYPE_EDIT
	erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::TYPE_EDIT, pt_TYPE_EDIT_860026603)
	
	# CODE_TARIF
	erreur_860026603=i_set_art_str(g_iartout13, $TcentaureVG::CODE_TARIF, pt_CODE_TARIF_860026603)
# \DRE G4R6 Lot2

FINSI

#-----------------------------------------------------------------------------
# FCT supprimee
#-----------------------------------------------------------------------------

#------------------------------------------------------------------
# CENTAUREDEA
#------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instCENTDEA_860026603) )
ALORS
	i_strcpy(pt_eccCentaure_860026603, "CENTAUREDEA")
	#trace("Mise au format CENTAUREDEA")

	# Duplication de l article
	SI ( i_dup_art_dest(g_iartin,g_iartout14,C_TcentaureDEA_860026603) )
	ALORS
		trace("erreur de duplication")
		code_errone_860026603 = 0xA0D0
		code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
		erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_TcentaureDEA_860026603,C_Article_860026603)
		SAUT DISTRI_ERR
	FINSI

	# Champ IIDUS
	res_860026603=i_get_art_field(g_iartin, $Tns6dc::INF_IDUS)
	erreur_860026603 = i_set_art_field(g_iartout14, $TcentaureDEA::IIDUS, res_860026603)

	#Champ NIDUS
	erreur_860026603=i_get_art_str(g_iartin,$NDR,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"BCDE","AJSC",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout14,$TcentaureDEA::NIDUS,pt_BUF_860026603)

	# Champ IDEDE
	erreur_860026603 = i_set_art_field(g_iartout14, $TcentaureDEA::IDEDE, dede_inf_860026603)

	#Champ NDEDE
	erreur_860026603=i_get_art_str(g_iartin,$NDE,pt_BUF_860026603)
	i_replace_str(pt_BUF_860026603,"ABC","A*#",pt_BUF_860026603)
	erreur_860026603=i_set_art_str(g_iartout14,$TcentaureDEA::NDEDE,pt_BUF_860026603)

	#champ SCT
	# trace("initialisation des SCT")
	SI (!i_valid_field_n(g_iartin,$Tns6dc::SCT))
	ALORS
		# trace("Champs SCT absent !")
		SAUT DISTRI_ERR
	FINSI
	#trace("Appel de i_transformer_bits")

	SI (i_transformer_bits(g_iartin,$SCT,"FV",pt_BUF_860026603)!=0)
	ALORS
		# trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::SCT,pt_BUF_860026603)

	#champs TAP
	#trace("initialisation des TAP")

	SI (i_valid_field_n(g_iartin,$Tns6dc::T3cab))
	ALORS
		SI (i_transformer_bits(g_iartin,$Tns6dc::TAP:1,"FV",pt_BUF_860026603)!=0)
		ALORS
			#trace("Retour en erreur de i_transformer_bits")
			SAUT DISTRI_ERR
		FINSI
		erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::TAP,pt_BUF_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin,$Tns6dc::T3cap2))
	ALORS
		SI (i_transformer_bits(g_iartin,$Tns6dc::TAP:0,"FV",pt_BUF_860026603)!=0)
		ALORS
			#trace("Retour en erreur de i_transformer_bits")
			SAUT DISTRI_ERR
		FINSI
		erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::TAP,pt_BUF_860026603)
	FINSI

	#champ STY
	# trace("initialisation des STYi")
	SI (!i_valid_field_n(g_iartin,$Tns6dc::STY))
	ALORS
		#trace("Champs STY absent en entree !")
		SAUT DISTRI_ERR
	FINSI

	SI (i_transformer_bits(g_iartin,$STY,"FV",pt_BUF_860026603)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::STY,pt_BUF_860026603)

	# champ DATE
	erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::DATE,ICAR_REL_860026603)

	#champ DUREE
	erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::DUREE,dduree_860026603)

	#champ TAX
	erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::TAX,tax_860026603)

	#champ CDSGTQS
	#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
	#trace2("SGTQS=<%s>",pt_SGTQS,"")
	erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::CDSGTQS, pt_SGTQS_860026603)

	#champ INDEX (en DCB)
	SI (i_valid_field_n(g_iartin, $Tns6dc::T3indx))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$INDEX)
		SI (res_860026603==-1)
		ALORS
			code_errone_860026603 = 0xA080
			code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
			erreur_860026603 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026603, C_Article_860026603, "i_get_art_field/INDEX" )
			SAUT DISTRI_ERR
		FINSI
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::INDEX,res_860026603)
	FINSI

	#champ NIDAV
	SI (SPORTABILITE_860026603 == 1)
	ALORS
		erreur_860026603=i_get_art_str(g_iartin,$NDE,pt_BUF_860026603)
		SI (i_strplcmp(pt_BUF_860026603 ,"842",0,3)!=0)
		ALORS
			erreur_860026603= i_format_str2( pt_NIDAV_860026603, "%s%s", pt_CodeOp_860026603, pt_BUF_860026603)
			erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::NIDAV, pt_NIDAV_860026603 )
		SINON
			erreur_860026603 = i_set_art_str(g_iartout14, $TcentaureDEA::NIDAV,pt_BUF_860026603)
		FINSI
	SINON
		erreur_860026603=i_get_art_str(g_iartin,$NDE,pt_BUF_860026603)
		erreur_860026603 = i_set_art_str(g_iartout14, $TcentaureDEA::NIDAV,pt_BUF_860026603)
	FINSI

	#champs INOS
	SI (i_valid_field_n(g_iartin, $Tns6dc::INFNOS))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$INFNOS)
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::INOS,res_860026603)
	FINSI

	#champ NICOM
	erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::NICOM, "SVAITX" )

	#Champ NNOS
	#trace("Avant NUMNOS")
	SI (i_valid_field_n(g_iartin, $Tns6dc::NUMNOS))
	ALORS
		erreur_860026603=i_get_art_str(g_iartin, $NUMNOS, pt_BUF_860026603)
		erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::NNOS, pt_BUF_860026603 )
	FINSI

	#champ DUSEL
	SI (i_valid_field_n(g_iartin, $Tns6dc::T3sel))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$DUSEL)
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::DUSEL,res_860026603)
	FINSI

	#champ DUSON
	SI (i_valid_field_n(g_iartin, $Tns6dc::DUSON))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$DUSON)
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::DUSON,res_860026603)
	FINSI

	#champ SIDR
	SI ( i_valid_field_n(g_iartin, $Tns6dc::T3sidr) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::SIDR, "V")
	SINON
		erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::SIDR, "F")
	FINSI

	#Champ INEF
	SI ( i_valid_field_n(g_iartin, $Tns6dc::INEF) )
	ALORS
		res_860026603=i_get_art_field(g_iartin, $Tns6dc::INEF)
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::INEF,res_860026603)
		#trace1("Valeur de INEF = <%d>",res)
	FINSI

	#champs COCA et COCAV
	SI ( i_valid_field_n(g_iartin, $Tns6dc::BETA) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout14,$TcentaureDEA::COCA,pt_COCA_860026603)
	FINSI

	SI ( i_valid_field_n(g_iartin, $Tns6dc::BETAV) )
	ALORS
		erreur_860026603=i_set_art_str(g_iartout14,$TcentaureDEA::COCAV,pt_COCAV_860026603)
	FINSI

	#champ SUP
	SI (i_valid_field_n(g_iartin, $Tns6dc::T3cab))
	ALORS
		erreur_860026603=i_set_art_field(g_iartout14, $TcentaureDEA::SUP, SUP_860026603)
	FINSI

	#CLEi
	SI (i_valid_field_n(g_iartin, $Tns6dc::CLE1))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::CLE1)
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::CLE1,res_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::CLE2))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::CLE2)
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::CLE2,res_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::CLE3))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::CLE3)
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::CLE3,res_860026603)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tns6dc::CLE4))
	ALORS
		res_860026603=i_get_art_field(g_iartin,$Tns6dc::CLE4)
		erreur_860026603=i_set_art_field(g_iartout14,$TcentaureDEA::CLE4,res_860026603)
	FINSI

	#champ INVOCATION
	#trace("Avant INVOCATION")
	SI ( i_valid_field_n(g_iartin, $Tns6dc::INVOC) )
	ALORS
		res_860026603=i_get_art_field(g_iartin, $Tns6dc::INVOC)
		#trace1("Valeur de INVOCATION=<%d>",res)
		erreur_860026603=i_set_art_field(g_iartout14, $TcentaureDEA::INVOCATION, res_860026603)
	FINSI

	#champ ALINK (<=> champ APPEL)
	SI( i_valid_field_n(g_iartin, $Tns6dc::APPEL) )
	ALORS
		erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::APPEL, pt_TEMP_860026603 )
		erreur_860026603 = i_set_art_str( g_iartout14,$TcentaureDEA::ALINK, pt_TEMP_860026603 )
	FINSI

	#champ NLINK (<=> champ NOEUD)
	SI( i_valid_field_n(g_iartin, $Tns6dc::NOEUD) )
	ALORS
		erreur_860026603 = i_get_art_str( g_iartin, $Tns6dc::NOEUD, pt_TEMP_860026603 )
		erreur_860026603 = i_set_art_str( g_iartout14, $TcentaureDEA::NLINK, pt_TEMP_860026603 )
	FINSI

	#champ CI (<=> champ CODE)
	SI( i_valid_field_n(g_iartin, $Tns6dc::CODE) )
	ALORS
		res_860026603 = i_get_art_field( g_iartin, $Tns6dc::CODE )
		erreur_860026603 = i_set_art_field( g_iartout14, $TcentaureDEA::CI, res_860026603 )
	FINSI
# DRE G4R6 Lot2
	# TYPE_EDIT
	erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::TYPE_EDIT, pt_TYPE_EDIT_860026603)
	
	# CODE_TARIF
	erreur_860026603=i_set_art_str(g_iartout14, $TcentaureDEA::CODE_TARIF, pt_CODE_TARIF_860026603)
# \DRE G4R6 Lot2
FINSI

#------------------------------------------------------------------------
# #G4R3  APACHE_DC
#-----------------------------------------------------------------------
# Supprime

#QC862 test remonte pour prendre en compte CASPER
POINT AVANT_REDIST
SI (trait_ok_860026603 == 0)
ALORS

	#G3R23
	#-----------------------------------------------------------------------
	# CASPER
	#-----------------------------------------------------------------------
	
	SI ( !i_ChercherCouranteECC(instCASPER_860026603) )
	ALORS
		trace("Stockage vers CASPER")
		SI ( i_dup_art_id(g_iartin,g_iartout5) )
		ALORS
			code_errone_860026603 = 0xA0D0
			code_errone_860026603 = code_errone_860026603 + EFFICACE_860026603
			erreur_860026603 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026603,C_Tcasper_860026603,C_Article_860026603)
			SAUT DISTRI_ERR
		FINSI
	
		SI ( i_valid_field_n(g_iartout5,$Tns6dc::T3ce) )
		ALORS
			erreur_860026603 = i_supprChamp(g_iartout5,"T3ce")
		FINSI
	
		res_860026603 = i_rename_art(g_iartout5, C_Tcasper_860026603)
	
		# COMPLEMENTS CASPER (SGTQS NSUC)
	
		#champ SGTQS
		erreur_860026603 = i_ajoutChampNum(g_iartout5,$TcasperTns6dc::T4sgtqs,$TcasperTns6dc::SGTQS,0)
		#i_strcpy(pt_SGTQS,i_LireEECSGTQS(g_ieec))
		erreur_860026603 = i_set_art_str(g_iartout5, $TcasperTns6dc::SGTQS, pt_SGTQS_860026603)
	
		#champ NSUC
		erreur_860026603 = i_ajoutChampNum(g_iartout5,$TcasperTns6dc::T4nsuc,$TcasperTns6dc::NSUC,0)
		erreur_860026603 = i_set_art_str(g_iartout5,$TcasperTns6dc::NSUC,pt_NSUC_860026603)
		res_860026603 = i_strlen(pt_NSUC_860026603)
		erreur_860026603 = i_resize_tlv(g_iartout5, "T4nsuc", "NSUC", res_860026603)
	FINSI
	
	#---------------------------------------------------------------------------
	# G3R16 suppression ECC : ALLOFACT / SC
	#---------------------------------------------------------------------------

#QC862 test remonte pour prendre en compte CASPER
#POINT AVANT_REDIST
#SI (trait_ok == 0)
#ALORS
	#----------------------------------------------------------------------
	# Complements Symphonie
	#----------------------------------------------------------------------

	SI( !i_ChercherCouranteECC(instSYMPH_860026603) )
	ALORS
		SI (EFFICACE_860026603 || INEFF_CS_860026603)
		ALORS
			#trace(g_iartout!NOM[])

			#champ CCD:
			erreur_860026603= i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4ccd,$Tsymphoniedc::CCD,0)
			erreur_860026603=i_set_art_field(g_iartout,$Tsymphoniedc::CCD, CCD_REEL_860026603)

			#champ SGTQS
			erreur_860026603=i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4sgtqs,$Tsymphoniedc::SGTQS,0)
			#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
			erreur_860026603=i_set_art_str(g_iartout,$Tsymphoniedc::SGTQS, pt_SGTQS_860026603)

			# ECC_FACT
			erreur_860026603=i_ajoutChampNum( g_iartout, $Tsymphoniedc::T4eccfact, $Tsymphoniedc::ECC_FACT, 0 )
			erreur_860026603=i_set_art_str( g_iartout, $Tsymphoniedc::ECC_FACT, " ")

		#QC862
			SI bREDISTALICE_860026603 == 0
			ALORS
				SI (REJET_860026603 != 2 || REJET_860026603 != 3 || REJET_860026603 != CPT_REJET4_860026603 || REJET_860026603 != CPT_REJET6_860026603)
				ALORS
					SI (i_strcmp(pt_eccfact_860026603,"") != 0)
					ALORS
						erreur_860026603=i_set_art_str(g_iartout, $Tsymphoniedc::ECC_FACT,pt_eccfact_860026603)
					SINON
						SI (i_strcmp(pt_eccCentaure_860026603,"") != 0)
						ALORS
							erreur_860026603=i_set_art_str(g_iartout, $Tsymphoniedc::ECC_FACT,pt_eccCentaure_860026603)
						SINON
							erreur_860026603=i_set_art_str( g_iartout, $Tsymphoniedc::ECC_FACT, " ")
						FINSI
					FINSI
#				SINON
#					erreur=i_set_art_str( g_iartout, $Tsymphoniedc::ECC_FACT, " ")
				FINSI
			FINSI
		#\QC862
			# IEZLT
			# (si Transgroupe onnet, IEZLT est sans objet) Test de presence de IEZLT car si absent, pas de IEZLT en sortie
			SI (IEZLT_860026603 != -1)
			ALORS
				erreur_860026603=i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4iezlt,$Tsymphoniedc::IEZLT,0)
				erreur_860026603=i_set_art_field(g_iartout,$Tsymphoniedc::IEZLT, IEZLT_860026603)
			FINSI

			SI (CAX_860026603!=9)
			ALORS
				# CODCIRDR
				erreur_860026603=i_ajoutChampNum( g_iartout, $Tsymphoniedc::T4codcirdr, $Tsymphoniedc::CODCIRDR, 0 )
				erreur_860026603=i_set_art_str( g_iartout, $Tsymphoniedc::CODCIRDR, pt_CODCIRDA_860026603 )

				# CODCIR
				erreur_860026603=i_ajoutChampNum( g_iartout, $Tsymphoniedc::T4codcir, $Tsymphoniedc::CODCIR, 0 )
				erreur_860026603=i_set_art_str( g_iartout, $Tsymphoniedc::CODCIR, pt_CODCIRA_860026603 )
			FINSI

			SI (!bCENTAURE_860026603)
			ALORS
				SI ( (SRP_PORTE_860026603 == 1) && (tax_860026603 == 0) )
				ALORS
					tax_860026603 = TAXE_CAL_860026603
				FINSI
				SI (i_valid_field_n(g_iartin,$Tns6dc::T3cap2))
				ALORS
					erreur_860026603=i_set_art_field(g_iartout, $Tsymphoniedc::TAXE:0, tax_860026603)
				SINON
					erreur_860026603=i_set_art_field(g_iartout, $Tsymphoniedc::TAXE:1, tax_860026603)
				FINSI
			FINSI

			#Champs optionnels OPE_VGA et OFF_VGA
			SI (bVGTplus_860026603)
			ALORS
				# Champ OPE_VGA
				erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4OPEVGA,$Tsymphoniedc::OPE_VGA,0)
				#erreur = i_set_art_str(g_iartout,$Tsymphoniedc::OPE_VGA, pt_VGTplus_OF)
				erreur_860026603 = i_set_art_str(g_iartout,$Tsymphoniedc::OPE_VGA, pt_VGTplus_OP_860026603)

				# Champ OFF_VGA
				erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4OFFVGA,$Tsymphoniedc::OFF_VGA,0)
				#erreur = i_set_art_str(g_iartout,$Tsymphoniedc::OFF_VGA, pt_VGTplus_OP)
				erreur_860026603 = i_set_art_str(g_iartout,$Tsymphoniedc::OFF_VGA, pt_VGTplus_OF_860026603)
			SINON
				SI (VGA_860026603)
				ALORS
					# Champ OPE_VGA
					erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4OPEVGA,$Tsymphoniedc::OPE_VGA,0)
					erreur_860026603 = i_set_art_str(g_iartout,$Tsymphoniedc::OPE_VGA,pt_VGA_OP_860026603)
					# Champ OFF_VGA
					erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4OFFVGA,$Tsymphoniedc::OFF_VGA,0)
					erreur_860026603 = i_set_art_str(g_iartout,$Tsymphoniedc::OFF_VGA,pt_VGA_OF_860026603)
				SINON
					SI (EVTPE_860026603)
					ALORS
						# Champ OPE_VGA
						erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4OPEVGA,$Tsymphoniedc::OPE_VGA,0)
						erreur_860026603 = i_set_art_str(g_iartout,$Tsymphoniedc::OPE_VGA,pt_EVTPE_OP_860026603)
						# Champ OFF_VGA
						erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4OFFVGA,$Tsymphoniedc::OFF_VGA,0)
						erreur_860026603 = i_set_art_str(g_iartout,$Tsymphoniedc::OFF_VGA,pt_EVTPE_OF_860026603)
					FINSI
				FINSI
			FINSI
# DRE G4R6 Lot2
			# TYPE_EDIT
			SI i_strcmp(pt_TYPE_EDIT_860026603," ") != 0
			ALORS
				erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4type_edit,$Tsymphoniedc::TYPE_EDIT,0)
				erreur_860026603=i_set_art_str(g_iartout, $Tsymphoniedc::TYPE_EDIT, pt_TYPE_EDIT_860026603)
			FINSI
		
			# CODE_TARIF
			SI i_strcmp(pt_CODE_TARIF_860026603,"    ") != 0
			ALORS
				erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymphoniedc::T4code_tarif,$Tsymphoniedc::CODE_TARIF,0)
				erreur_860026603=i_set_art_str(g_iartout, $Tsymphoniedc::CODE_TARIF, pt_CODE_TARIF_860026603)
			FINSI
# \DRE G4R6 Lot2
		SINON

			# Cas d'un article inefficace:
			#champ CCD:
			erreur_860026603= i_ajoutChampNum(g_iartout,$Tsymptns6Inef::T4ccd,$Tsymptns6Inef::CCD,0)
			erreur_860026603=i_set_art_field(g_iartout,$Tsymptns6Inef::CCD, 0xFF)

			#champ SGTQS
			erreur_860026603=i_ajoutChampNum(g_iartout,$Tsymptns6Inef::T4sgtqs,$Tsymptns6Inef::SGTQS,0)
			#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
			erreur_860026603=i_set_art_str(g_iartout,$Tsymptns6Inef::SGTQS, pt_SGTQS_860026603)

			# ECC_FACT
			erreur_860026603=i_ajoutChampNum(g_iartout,$Tsymptns6Inef::T4eccfact,$Tsymptns6Inef::ECC_FACT,0) 
		#QC862
			erreur_860026603=i_set_art_str(g_iartout, $Tsymptns6Inef::ECC_FACT, " ")
			SI bREDISTALICE_860026603 == 0
			ALORS
				SI (i_strcmp(pt_eccfact_860026603,"") != 0)
				ALORS
					erreur_860026603=i_set_art_str(g_iartout, $Tsymptns6Inef::ECC_FACT,pt_eccfact_860026603)
				SINON
					SI (i_strcmp(pt_eccCentaure_860026603,"") != 0)
					ALORS
						erreur_860026603=i_set_art_str(g_iartout, $Tsymptns6Inef::ECC_FACT,pt_eccCentaure_860026603)
					SINON
						erreur_860026603=i_set_art_str(g_iartout, $Tsymptns6Inef::ECC_FACT, " ")
					FINSI
				FINSI
			FINSI
		#\QC862
			## Le champs IEZLT n est plus ajoute pour les articles inefficaces FO1193.
# DRE G4R6 Lot2
			# TYPE_EDIT
			SI i_strcmp(pt_TYPE_EDIT_860026603," ") != 0
			ALORS
				erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymptns6Inef::T4type_edit,$Tsymptns6Inef::TYPE_EDIT,0)
				erreur_860026603=i_set_art_str(g_iartout, $Tsymptns6Inef::TYPE_EDIT, pt_TYPE_EDIT_860026603)
			FINSI
		
			# CODE_TARIF
			SI i_strcmp(pt_CODE_TARIF_860026603,"    ") != 0
			ALORS
				erreur_860026603 = i_ajoutChampNum(g_iartout,$Tsymptns6Inef::T4code_tarif,$Tsymptns6Inef::CODE_TARIF,0)
				erreur_860026603=i_set_art_str(g_iartout, $Tsymptns6Inef::CODE_TARIF, pt_CODE_TARIF_860026603)
			FINSI
# \DRE G4R6 Lot2
		FINSI
	FINSI

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

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

	SI( !i_ChercherCouranteECC(instSYMPH_860026603) )
	ALORS
		res_860026603 = i_stocke_art_iecc(g_iartout, instSYMPH_860026603)
		#trace("Emission vers SYMPHONIE")
	FINSI


	#G4R8 QC862 Paragraphe remonte pour envoi a casper au 1er tour de redistribution
	#-------------------------------------------------------------------------
	# CASPER
	#-------------------------------------------------------------------------
	SI ( !i_ChercherCouranteECC(instCASPER_860026603) )
	ALORS
	#	trace( "Emission vers CASPER" )
		res_860026603 = i_stocke_art_iecc(g_iartout5, instCASPER_860026603)
	FINSI
	


FINSI

#QC862
#SI (bREDIST == 1 )
SI (bREDIST_860026603 == 1 || bREDISTALICE_860026603 == 1)
ALORS
	SAUT DISTRI_REDIST
FINSI

#----------------------------------------------------------------------------
# CENTAUREDC
#----------------------------------------------------------------------------

SI( !i_ChercherCouranteECC(instCENTAURE_860026603) )
ALORS
	res_860026603 = i_stocke_art_iecc(g_iartout2, instCENTAURE_860026603)
	trace("<<<__LINE__<<<Emission vers CENTAUREDC")
FINSI

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

SI( !i_ChercherCouranteECC(instFE_860026603) )
ALORS
	res_860026603 = i_stocke_art_iecc(g_iartout2, instFE_860026603)
	trace("<<<__LINE__<<<Emission vers FE")
FINSI

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

SI ( !i_ChercherCouranteECC(instFERPV_860026603) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers FERPV" )
	#ENDIF
	res_860026603 = i_stocke_art_iecc(g_iartout11, instFERPV_860026603)
FINSI

#-------------------------------------------------------------------------
# ARAVIS
#-------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instARAVIS_860026603) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers ARAVIS" )
	#ENDIF
	res_860026603 = i_stocke_art_iecc(g_iartout12, instARAVIS_860026603)
FINSI

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

SI( !i_ChercherCouranteECC(instDM_860026603) )
ALORS
	res_860026603 = i_stocke_art_iecc(g_iartout4, instDM_860026603)
	trace("<<<__LINE__<<<Emission vers DELTAMINUTE")
FINSI

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

SI( !i_ChercherCouranteECC(instECCTRAFIC_860026603) )
ALORS
	res_860026603 = i_stocke_art_iecc(g_iartout2, instECCTRAFIC_860026603)
	trace("<<<__LINE__<<<Emission vers TRAFIC")
FINSI

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

SI ( !i_ChercherCouranteECC(instCENTAUREVG_860026603) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "<<<__LINE__<<<Emission vers CENTAUREVG" )
	#ENDIF
	res_860026603 = i_stocke_art_iecc(g_iartout13, instCENTAUREVG_860026603)
FINSI

#------------------------------------------------
# CENTAUREDEA
#------------------------------------------------

SI (!i_ChercherCouranteECC(instCENTDEA_860026603) )
ALORS
	trace ("<<<__LINE__<<<Emission vers CENTAUREDEA")
	res_860026603 = i_stocke_art_iecc(g_iartout14, instCENTDEA_860026603)
FINSI

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

#-------------------------------------------------------------------------
# #G4R3 APACHE
#-------------------------------------------------------------------------
# Supprime

#G4R8 QC862 Paragraphe remonte pour envoi a casper au 1er tour de redistribution
##-------------------------------------------------------------------------
## CASPER
##-------------------------------------------------------------------------
#SI ( !i_ChercherCouranteECC(instCASPER) )
#ALORS
##	trace( "Emission vers CASPER" )
#	res = i_stocke_art_iecc(g_iartout5, instCASPER)
#FINSI
#
#trace("Fin du Pcode de distribution")

RETOUR TRAIT_OK

############################################################################
# Stockage en errone
############################################################################

POINT DISTRI_ERR

trace( "Stockage en errone")

res_860026603 = i_make_art_rej(g_iartin, g_iartout, 0)
res_860026603 = i_stocke_art( g_iartout, 0, PT_ERRONE, 0)

RETOUR TRAIT_OK

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

POINT DISTRI_DIV

trace( "Stockage en divers")

res_860026603 = i_stocke_art( g_iartin, 0, PT_DIVERS, 0)

RETOUR TRAIT_OK

###########################################################################
# Stockage pour redistribution
###########################################################################

POINT DISTRI_REDIST

trace("Stockage pour redistribution")

SI (trait_ok_860026603 == 0)
ALORS
	#---------------------
	#  Creation de l'ENVELOPPE Optionelle:
	# Contient le nom de l'EEC necessaire au message d'erreur de la redistribution
	# Nom_EEC
	# Creation de l'enveloppe
	SI ( ENVELOPPE_NOK_860026603 )
	ALORS
		#IFDEF trace_niv1 = 1
		trace("__FILE__:__LINE__ =====> Creation enveloppe REDISTRI")
		#ENDIF
		ENVELOPPE_NOK_860026603 = i_add_opt( "E_Tns6dc" )
		# mise en conformite de la gestion de l'enveloppe
	FINSI
	#i_strcpy(pt_SGTQS, i_LireEECSGTQS(g_ieec))
	res_860026603 = i_set_attr_str_n( $E_Tns6dc::Nom_EEC, pt_SGTQS_860026603)
	res_860026603 = i_get_attr_str_n($E_Tns6dc::Nom_EEC, pt_SGTQS_860026603)
	erreur_860026603 = i_PlvMessEmettre(8503,2,g_iartin,"",3,pt_LIBELREDIST_860026603,C_Article_860026603,pt_SGTQS_860026603)
FINSI

res_860026603 = i_stocke_art(g_iartin, 0, PT_REDIST|RD_TABLE5, 0)
RETOUR TRAIT_OK

# ------------------------- fin de fichier Tns6dc_dis.src ------------------------------------------
