DEFINITION C_PREF_SPORTABILITE_SRP_860026604 "842"
DEFINITION extraZLT_860026604 1
DEFINITION NUMTAB_860026604 1
DEFINITION ZONEMETRO_860026604 7
DEFINITION INST_45S_860026604 "45S"
DEFINITION national_860026604 1
DEFINITION international_860026604 2
DEFINITION special_860026604 3
DEFINITION C_Article_860026604 "Tta6dc"
DEFINITION C_InstCENTDC_860026604 "CENTAUREDC"
DEFINITION C_InstCENTVG_860026604 "CENTAUREVG"
DEFINITION C_InstTRAFIC_860026604 "TRAFIC"
DEFINITION C_InstFE_860026604 "FE"
DEFINITION C_InstFERPV_860026604 "FERPV"
DEFINITION C_InstARAVIS_860026604 "ARAVIS"
DEFINITION C_InstSYMP_860026604 "SYMP"
DEFINITION C_Tsymptta6dc_860026604 "Tsymptta6dc"
DEFINITION C_Ttrafic_860026604 "Ttrafic"
DEFINITION C_Tdelta_minute_860026604 "Tdelta_minute"
DEFINITION C_Tfe_860026604 "Tfe"
DEFINITION C_Tfe_rpvRG_860026604 "Tfe_rpvRG"
DEFINITION C_Taravis_860026604 "Taravis"
DEFINITION C_TcentDC_860026604 "TcentaureDC"
DEFINITION INST_ACLA_860026604 "ACLA"
DEFINITION C_TcentaureVG_860026604 "TcentaureVG"
DEFINITION TD_VGA1_860026604 7
DEFINITION TD_VGA2_860026604 2
DEFINITION INST_VGA_860026604 "VGA"
DEFINITION C_InstCENTDEA_860026604 "CENTAUREDEA"
DEFINITION C_TcentaureDEA_860026604 "TcentaureDEA"
DEFINITION C_InstCASPER_860026604 "CASPER"
DEFINITION C_Tcasper_860026604 "TcasperTta6dc"
DEFINITION T_PPORTA_860026604 "PPORTA"
DEFINITION PPORTA_CATEG_MOB_860026604 "01"
DEFINITION CCD_Internat_860026604 6
DEFINITION CPT_CPS_Loc_860026604 16
DEFINITION CPT_CPS_RI_860026604 17
DEFINITION C_DATCPS_860026604 "DATCPS" 
DEFINITION TD_SVA_860026604 9
DEFINITION C_INST_ALICE_860026604 "ALICE"
REGISTRE ENTIER bPortabilite_mobile_860026604
REGISTRE ENTIER bSRP_Sporta_SPN_860026604
REGISTRE ENTIER bSRP_Eporta_SPN_860026604
REGISTRE ENTIER comid_num_860026604
REGISTRE ENTIER EEC_audit_860026604
REGISTRE ENTIER bloc_audit_860026604
REGISTRE ENTIER DC_audit_860026604
REGISTRE ENTIER instSYMP_860026604
REGISTRE ENTIER instDM_860026604
REGISTRE ENTIER instCENT_860026604
REGISTRE ENTIER instFE_860026604
REGISTRE ENTIER instFERPV_860026604
REGISTRE ENTIER instARAVIS_860026604
REGISTRE ENTIER instTRAFIC_860026604
REGISTRE ENTIER instECCTRAFIC_860026604
REGISTRE ENTIER bFE_860026604
REGISTRE ENTIER bFERPV_860026604
REGISTRE ENTIER bARAVIS_860026604
REGISTRE ENTIER bTRAFIC_860026604
REGISTRE ENTIER bREDIST_860026604
REGISTRE ENTIER VTGRI_3BPQ_860026604
REGISTRE ENTIER VTGRI_CAX_860026604
REGISTRE ENTIER EPORTABILITE_860026604
REGISTRE ENTIER SRP_PORTE_860026604
REGISTRE ENTIER TAXE_CAL_860026604
REGISTRE ENTIER EPORTABILITE_SCP_860026604
REGISTRE ENTIER SPORTABILITE_SCP_860026604
REGISTRE ENTIER instACLA_860026604
REGISTRE ENTIER CCD_REEL_860026604
REGISTRE ENTIER CCD_REEL_FE_860026604
REGISTRE ENTIER bCONVERSION_860026604
REGISTRE ENTIER CAX_860026604
REGISTRE ENTIER TAP_860026604
REGISTRE ENTIER SUP_860026604
REGISTRE ENTIER ddebut_860026604
REGISTRE ENTIER dduree_860026604
REGISTRE ENTIER tax_860026604
REGISTRE ENTIER dpivot_860026604
REGISTRE ENTIER REJET_860026604
REGISTRE ENTIER ADO_860026604
REGISTRE ENTIER EFFICACE_860026604
REGISTRE ENTIER CCD_860026604
REGISTRE ENTIER TRANSGROUPE_860026604
REGISTRE ENTIER RPV_860026604
REGISTRE ENTIER IEZLT_860026604
REGISTRE ENTIER vE_860026604
REGISTRE ENTIER vTGPRI_860026604
REGISTRE ENTIER ICAR_ABS_860026604
REGISTRE ENTIER ICAR_REL_860026604
REGISTRE ENTIER bitBtap_860026604
REGISTRE ENTIER bitDinfdede_860026604
REGISTRE ENTIER STY_860026604
REGISTRE ENTIER ETSII_860026604
REGISTRE ENTIER ETSIN_860026604
REGISTRE ENTIER pref_860026604
REGISTRE ENTIER INF_DEDE_860026604
REGISTRE ENTIER VGA_SER_860026604
REGISTRE ENTIER VGTplus_SER_860026604
REGISTRE ENTIER crit_comm_860026604
REGISTRE ENTIER res_860026604
REGISTRE ENTIER erreur_860026604
REGISTRE ENTIER indice_860026604
REGISTRE ENTIER num_champ_860026604
REGISTRE ENTIER envoi_CENT_860026604
REGISTRE ENTIER ZA_860026604
REGISTRE ENTIER type_traf_860026604
REGISTRE ENTIER val_normal_860026604
REGISTRE ENTIER nb_digit_860026604
REGISTRE ENTIER trait_ok_860026604
REGISTRE ENTIER MINE_860026604
REGISTRE ENTIER ART_860026604
REGISTRE ENTIER APPLI_860026604
REGISTRE ENTIER DC_CAA_860026604
REGISTRE ENTIER comid_n1_860026604
REGISTRE ENTIER INF_DEDE_TRAF_860026604
REGISTRE ENTIER RPVI_DIRECT_860026604
REGISTRE ENTIER gmt_date_860026604
REGISTRE ENTIER L_NDR_860026604
REGISTRE ENTIER OPT_860026604
REGISTRE ENTIER GVPN_860026604
REGISTRE ENTIER NVU_860026604
REGISTRE ENTIER ROC_860026604
REGISTRE ENTIER code_errone_860026604
REGISTRE ENTIER dizaine_860026604
REGISTRE ENTIER unite_860026604
REGISTRE ENTIER cfr_860026604
REGISTRE ENTIER ENVELOPPE_NOK_860026604
REGISTRE ENTIER VGA_860026604
REGISTRE ENTIER bCENTVG_860026604
REGISTRE ENTIER instVGA_860026604
REGISTRE ENTIER instCENTAUREVG_860026604
REGISTRE ENTIER val_860026604
REGISTRE ENTIER EZA_860026604
REGISTRE ENTIER EZ_860026604
REGISTRE ENTIER NDE_Z_860026604
REGISTRE ENTIER critere_Hors_preselect_860026604
REGISTRE ENTIER act_desactVGT_860026604
REGISTRE ENTIER distri_symph_860026604
REGISTRE ENTIER val_INEF_860026604
REGISTRE ENTIER dede_inf_860026604
REGISTRE ENTIER dede_num1_860026604
REGISTRE ENTIER EVTPE_860026604
REGISTRE ENTIER b_DBETA_860026604
REGISTRE ENTIER b_DBETAV_860026604
REGISTRE ENTIER b_DBETA8FT_860026604
REGISTRE ENTIER b_DBETAV8FT_860026604
REGISTRE ENTIER bVGTplus_860026604
REGISTRE ENTIER SPORTABILITE_860026604
REGISTRE ENTIER typcom_860026604
REGISTRE ENTIER TYPCOM_FCT_860026604
REGISTRE ENTIER arretfct_centaure_860026604
REGISTRE ENTIER instCENTDEA_860026604
REGISTRE ENTIER bCENTAUREDEA_860026604
REGISTRE ENTIER b_FERPV_860026604
REGISTRE ENTIER b_OperNBE_860026604
REGISTRE ENTIER b_FERPV_NBE_860026604
REGISTRE ENTIER b_CodOperVG_860026604
REGISTRE ENTIER taille_860026604
REGISTRE ENTIER instCASPER_860026604
REGISTRE ENTIER b_NSUC_860026604
REGISTRE ENTIER longueur_860026604
REGISTRE ENTIER len_prefixe_portabilite_860026604
REGISTRE ENTIER Date_CPS_860026604
REGISTRE ENTIER instALICE_860026604 
REGISTRE ENTIER b_Fact_CPS_Loc_860026604
REGISTRE ENTIER b_Fact_CPS_RI_860026604
REGISTRE ENTIER bREDISTALICE_860026604
REGISTRE POINTEUR pt_marque_audit_860026604
REGISTRE POINTEUR pt_service_860026604
REGISTRE POINTEUR pt_COCA_860026604
REGISTRE POINTEUR pt_COCAV_860026604
REGISTRE POINTEUR pt_LIBELREDIST_860026604
REGISTRE POINTEUR pt_TCOMMUT_860026604
REGISTRE POINTEUR pt_INEF_STD_860026604
REGISTRE POINTEUR pt_INEF_COMMUT_860026604
REGISTRE POINTEUR pt_IDAV_DIST_N_860026604
REGISTRE POINTEUR pt_CODCIRDA_860026604
REGISTRE POINTEUR pt_CODCIRA_860026604
REGISTRE POINTEUR pt_nde_normal_860026604
REGISTRE POINTEUR pt_NUM_IDAV_860026604
REGISTRE POINTEUR pt_PREF_PORT_860026604
REGISTRE POINTEUR pt_NORM_860026604
REGISTRE POINTEUR pt_BUF_860026604
REGISTRE POINTEUR pt_BUF2_860026604
REGISTRE POINTEUR pt_InfoCompl_860026604
REGISTRE POINTEUR pt_inst_860026604
REGISTRE POINTEUR pt_DM_860026604
REGISTRE POINTEUR pt_eccfact_860026604
REGISTRE POINTEUR pt_eccCentaure_860026604
REGISTRE POINTEUR pt_CodeOp_860026604
REGISTRE POINTEUR pt_SGTQS_860026604
REGISTRE POINTEUR pt_BUF1_860026604
REGISTRE POINTEUR pt_CODESCP_860026604
REGISTRE POINTEUR pt_VGA_OP_860026604
REGISTRE POINTEUR pt_VGA_OF_860026604
REGISTRE POINTEUR pt_VGTplus_OP_860026604
REGISTRE POINTEUR pt_VGTplus_OF_860026604
REGISTRE POINTEUR pt_OFFRE_860026604
REGISTRE POINTEUR pt_OPERA_860026604
REGISTRE POINTEUR pt_RES1_860026604
REGISTRE POINTEUR pt_NDE_860026604
REGISTRE POINTEUR pt_NDE1_860026604
REGISTRE POINTEUR pt_NDEN_860026604
REGISTRE POINTEUR pt_NDE1N_860026604
REGISTRE POINTEUR pt_NUM_SER_860026604
REGISTRE POINTEUR pt_EVTPE_OP_860026604
REGISTRE POINTEUR pt_EVTPE_OF_860026604
REGISTRE POINTEUR pt_NIDAV_860026604
REGISTRE POINTEUR pt_TEMP_860026604
REGISTRE POINTEUR pt_CodOperVG_860026604
REGISTRE POINTEUR pt_CARACT_860026604
REGISTRE POINTEUR pt_NSUC_860026604
REGISTRE POINTEUR pt_len_prefixe_portabilite_860026604
REGISTRE POINTEUR pt_pporta_860026604
REGISTRE POINTEUR pt_PREF_PORT_FERPV_860026604
REGISTRE POINTEUR pt_MESSAGE_860026604
REGISTRE POINTEUR pt_CODE_TARIF_860026604 
REGISTRE POINTEUR pt_TYPE_EDIT_860026604 
# ---------------------------------------------------------------------------
# Version     :  DISTRIBUTION
# FICHIER     : Tta6dc.src
#
# VERSION     : %version: 11.5 %
#
# AUTEUR      : %created_by: loic %
#
# CREE le     : 13/03/02 15:05
#
# MODIFIE le  : %date_modified: 03/04/02 10:29 %
#
# DESCRIPTION :
#	Article detail de communication analogique
#	Tta6dc efficace et inefficace
#
# HISTORIQUE :
#	12/03/2002 - CMI : FOEX469 : Champ SUP pour FCT mise a jpur si CAB present
#	18/03/2002 - CMI : FO1360  : Champ ECC_FACT pour Symphonie (VTG_Valo)
#	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. variable VTGRI + Modif. criteres VTG_Valo
#	Ajout variable EPORTABILITE et criteres pour FCT
#	Alimentaion de symphonie et SC quand redistribution
#	05/08/2002 - RBE : FO20054 : envoie a DM quand VTGRI
#	15/10/2002 - PSA : FO18 et FO45 : modif format pour FOR
#	FO55 : appel a CodeOperateur uniquement en cas portabilite entrante potentielle
#	23/10/2002 - PSA : FO66 : correction initialisation VTGRI_CAX (supp condition vE==8)
#	FO68 : deplacement ajout suivi conso (liste ECC destinatrice)
#	28/10/2002 - RBE : specif.4.8 : modif. critere envoi SuiviConso
#	Modif. CCD en fonction de la portabilite
#	25/11/2002 - MCH : FO99 : modif critere distri VTG_VALO
#	24/09/2002 - RBE : Ajout de l'envoie a APACHE + initialisations des variables
#	20/11/2002 - RBE : FO115 + modif. alarme 8505 pour erreur table externe
#	06/12/2002 - NSA : FO132: initialisation des variables au dibut du pcode
#	21/01/2003 - MCH : GIR2C9 : FOR --> FORDC
#	07/02/3003 - RBE : Envoi a SC si envoi vers une appli. de facturation
#	10/02/2003 - RBE : 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 + i_EnvoiReqCon.. si EFFICACE
#	01/04/2003 - RBE : FO241 : envoie a Symphonie si pg acces distrib.
#	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
#	18/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 et codeoperateur
#	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
#	15/12/2003 - PSA - Cg : FO517
#	20/01/2004 - PSA - Cg' : FO534 : correction envoi a SC
#		FO535
#		FO536 : non envoi a FERPV si OPT
#		modification du type de calcul de ZA
#	03/02/2004 - PSA - Cg' : FO543 : modification des criteres pour ARAVIS
#	10/02/2004 - RBE - FO559 : COMID non unique pour ARAVIS
#	04/03/2004 - RBE - Cp : stockage en DIVERS des DC double facture et ALLO
#	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
#	18/03/2004 - RBE - FO586 : filter pour FE le dede=A5
#	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
#	11/06/2004 - NSA - G2R0Cl: integration des codes d erreurs
#	17/06/2004 - RBE - FO708 : Pour ROC envoi aussi 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
#	29/09/2004 - THE - G2R0Caa creation ECC Centaure en remplacement de ECC FOR
#	22/11/2004 - THE - FO938 et FO937
#	24/01/2005 - RBE - G2R0Cnn : fusion Cn + Caa
#	11/02/2005 - FAL - G2R0Cbbb :fusion avec Cnn
#		Identification des SCP entrant et sortant avec referentiel ACLA
#	FO1079 DC TELEPHONE evolution du CCD_REEL sur SCP
#	03/03/2005 - FAL - G2R0Cbbb :FO1136 retour arriere DC REJET telephone pour symphonie
#	21/03/2005 - FAL - FO1164 Appel ACLA uniquement si necessaire
#	21/03/2005 - FAL - FO1171 reprise FO1079
#	12/04/2005 - FAL - FO1228 CCD de FERPV et FE
#	30/05/2005 - JLG,THE - Ch REJET2 (REJET=2) fudion Ca
#	30/05/2005 - JLG,THE - FO1276 fusion Ca
#	30/05/2005 - JLG,THE - FO1320 1321
#	01/06/2005 - PKA - FO 1343
#	17/06/2005 - JLG DRE FO 1358
#	12/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.
#	06/09/2005 - FAL - FO1434 alimentation du champ TAX a 84 au lieu de 0
#	15/09/2005 - DRE - FO1406 Retour Fonction i_LireInfoECC (doit etre != et non >)
#	30/09/2005 - PSA - G2R1Co Envoi des doublons CAA du RI a Symphonie
#	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 du test d'inefficacite pour alimanter apache avec DC inf des urgences
#	13/12/2005 - PKH - G2R2Ca : Fusion G2R2Cr Offre Easy-Voice V2/TPE F01621
#	14/12/2005 - PKH - G2R2Ca : FO1632
#	23/12/2005 - PKH - G2R2Ca : FO1637
#	04/01/2006 - PKH - G2R2Ca : FO1664 Corrige le champ DEDE_INF pour Trafic
#	02/02/2006 - PKH - G2R2Ca : FO1704 *21* est eligible VGA
#	07/02/2006 - PKH - G2R2Ca : FO1708 *55* est eligible 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/04/2006 - FAL - G2R2Cd : FO1770 critere distribution CentVG
#	06/06/2006 - THE FAL - G2R2Cu VGTplus et table ext CodeOffre
#	30/06/2006 - FAL - G2R2Cu : FOFO1854 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"
#	22/12/2006 - FAL - G2R2Cv : FO2079 RDT si MAJ NOK
#	07/02/2007 - RHE - G3R0Ca lot 2
#	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 2235 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 Ajourt du REJET6=14 dans le cadre des appels 118 PTD & kiosque
#	03/01/2008 - PKH - G3R5 LOT2 arret FCT et besoin CENTAURE
#	15/01/2008 - PKH - G3R5 LOT2 FO2295 alimentation du champ NIDAV de centauredea cas SPORTABILITE vrai
#	05/02/2008 - PKH - G3R5 LOT2 FO2307 probleme avec CCD_REEL sortie trafic centaurevg deltaminute
#	06/02/2008 - PKH - G3R5 LOT2 FO2306 Correction sur l'alimentation du 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
#	05/04/2008 - JLG - G3R6 FO?? erreur traces due g_iartout8 au lieu de g_iartout10 pour article Conversion
#	28/04/2008 - JLG - G3R6 FO2378
#	15/05/2008 - JLG - G3R6 FO2393
#	16/05/2008 - DRE - G3R7 FO2375
#	28/05/2008 - DRE - G3R7 FO 2403 Retrait de la portabilite mobile pour EBILL
#	30/05/2008 - THE - G3R7 FO 2407 Champ L pour E_bill
#	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 - G3R17 lot2 Item NBE2 etape 2
#	10/05/2010 - PKH - QC362 Valorisation du champ SERVICE de FERPV a 8 si NBE
#	23/06/2010 - DRE/THE - QC 386 Pb VGA_OPE en sortie TRAFIC CENTVG SYMPH
#	30/06/2010 - THE - Param FTSA-G3R17Cy
#	27/09/2010 - THE - Param FTSA-G3R18 QC420 modif envoi NOCOMP pour FERPV
#	10/10/2010 - PKH - Param FTSA-G3R18Cy  ajout du champ INFDDE dans fe_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, ...)
#	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)
#	31/12/2011 - RHE - G3R23 DC SU en deprt pour CASPER avec DEDENSUC ou NDE (DC en rejet BNC)
#	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 )
#	19/06/2014 - DRE - G4R7 QC829
#	08/07/2014 - DRE - G4R7 lot2 reprise QC829 :  Recherche systematique des instances ECC
#	03/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
###########################################################################
# **** Constantes
# Portabilite Mobiles
#G3R23
# Type de trafic:
#Constantes pour message d alarme
# DECLARATION DE Constante pour VGA
# A voir : quand le binaire sera bon, retirer les constantes TD_VGA1 et TD_VGA2
# G3R23
#DRE QC677

#DRE G4R6 lot2
#\DRE G4R6 lot2


# **** Variables entieres
# VerifPcode
# Instances
# Flags de presence
# Marquage
# Champs des parametres T3cap1 et T3cab
# variables pour les metachamps obligatoires
# Variables fonctionnelles
# Divers
# G3R23
#DRE G4R6 lot2
#DRE - G4R7 QC829
#QC862


# **** Definition Pointeurs

# G3R23
# G3R23C7 QC581
# DRE G4R6 lot2

# -----------------------------------------
# Initialisations
# -----------------------------------------
# **** initialisation variables entieres
# Instances
instSYMP_860026604      = -1
instDM_860026604        = -1
instCENT_860026604      = -1
instFE_860026604        = -1
instFERPV_860026604     = -1
instARAVIS_860026604    = -1
instTRAFIC_860026604    = -1
#G4R3 instAPACHE    = -1
instECCTRAFIC_860026604 = 0
instCASPER_860026604    = -1
# Flags de presence
envoi_CENT_860026604  = 0
bFE_860026604         = 0
bFERPV_860026604      = 0
bARAVIS_860026604     = 0
bTRAFIC_860026604     = 0
type_traf_860026604   = 0
bREDIST_860026604	    = 0
code_errone_860026604 = 0
REJET_860026604    = 0
CCD_860026604      = 0xFF
IEZLT_860026604    = -1
EPORTABILITE_860026604 = 0
TAXE_CAL_860026604 = 0
EPORTABILITE_SCP_860026604 = 0
SPORTABILITE_SCP_860026604 = 0
EFFICACE_860026604=2
TRANSGROUPE_860026604=0
RPV_860026604=0
ADO_860026604=0
ETSII_860026604=0
ETSIN_860026604=0
VTGRI_3BPQ_860026604=0
VTGRI_CAX_860026604=0
ART_860026604=0xFFFFFFFF
MINE_860026604=0xFFFFFFFF
APPLI_860026604=0xFFFFFFFF
DC_CAA_860026604=0
SUP_860026604=0
RPVI_DIRECT_860026604=0
OPT_860026604 = 0
GVPN_860026604=0
NVU_860026604 = 0
ROC_860026604 = 0
val_normal_860026604=0xFF
ENVELOPPE_NOK_860026604 = -1
CCD_REEL_860026604    = 0
CCD_REEL_FE_860026604 = 0
bCONVERSION_860026604 = 0
distri_symph_860026604 = 0
instCENTAUREVG_860026604 = 0
VGA_860026604 = 0
EVTPE_860026604    = 0
bVGTplus_860026604 = 0
val_860026604 = 0
bCENTVG_860026604 = 0
EZA_860026604 = 0
NDE_Z_860026604 = 0
b_DBETA_860026604 = 0
b_DBETAV_860026604 = 0
act_desactVGT_860026604 = 0
b_DBETA8FT_860026604 = 0
b_DBETAV8FT_860026604 = 0
ZA_860026604 = 0
typcom_860026604   = 0
instCENTDEA_860026604   = 0
TYPCOM_FCT_860026604 = 0
arretfct_centaure_860026604 = 0
bCENTAUREDEA_860026604 = 0
val_INEF_860026604 = 0
SPORTABILITE_860026604 = 0
bSRP_Eporta_SPN_860026604 = 0
b_FERPV_860026604 = 0
b_OperNBE_860026604 = 0
b_FERPV_NBE_860026604 = 0
#b_Distr = 0
b_CodOperVG_860026604 = 0
taille_860026604 = 0
# G3R23
b_NSUC_860026604 = 0
#DRE G4R6 lot2
Date_CPS_860026604 = 0
instALICE_860026604 = -1
tax_860026604 = 0
#DRE - G4R7 QC829
b_Fact_CPS_Loc_860026604 = 0
b_Fact_CPS_RI_860026604 = 0
#QC862
bREDISTALICE_860026604 = 0

# **** Allocation de memoire pour le buffeur
#pt_SGTQS		 = "454545454545454545"
#G4R3 pt_URGENCE_APACHE	 = "0569587521589478585865"
pt_NORM_860026604		 = "389389389389389389996200258997115447999945899"
pt_BUF_860026604		 = "10101010101010101010101010101012345"
pt_BUF1_860026604		 = "32323232323232323232323232323232323"
pt_BUF2_860026604		 = "56757456345345657876846312345"
pt_marque_audit_860026604	 = "9876543210123456712345"
pt_InfoCompl_860026604	 = "33312345"
pt_inst_860026604		 = "46789512312345"
pt_DM_860026604		 = "987654321112345"
pt_eccfact_860026604	 = "5656565656565656"
pt_eccCentaure_860026604	 = "pt_eccCentaure44"
pt_CodeOp_860026604	 = "30303030303030303030303030303012345"
pt_service_860026604		 = "6534"
pt_COCA_860026604		 = "555512345"
pt_COCAV_860026604		 = "444412345"
pt_SGTQS_860026604	 = "123456789012123455"
#TEMP		 = "40404040404040404040404040404012345"
pt_TCOMMUT_860026604		 = "50505050505050505050505050505012345"
pt_INEF_STD_860026604	 = "60606060606060606060606060606012345"
#G4R3 pt_CODE_APACHE	 = "70707070707070707070707070707012345"
#G4R3 pt_INEF_APACHE	 = "80808080808080808080808080808012345"
pt_INEF_COMMUT_860026604	 = "90909090909090909090909090909012345"
pt_IDAV_DIST_N_860026604	 = "09876543210987654321098765432109876"
pt_CODCIRDA_860026604	 = "53453546"
pt_CODCIRA_860026604		 = "78474546"
pt_nde_normal_860026604	 = "1919143210123456712345343434"
pt_CODESCP_860026604	 = "15151515151515151515151515151515151515"
pt_VGA_OP_860026604	 = "035035035035035035035"
pt_VGA_OF_860026604	 = "907907907907907907907"
pt_VGTplus_OP_860026604	 = "504754564754564754564"
pt_VGTplus_OF_860026604	 = "464754564754564754564"
pt_OFFRE_860026604	 = "502350235023502350235023"
pt_OPERA_860026604	 = "879879879878978987789857"
pt_EVTPE_OF_860026604	 = "398925899890147855865658"
pt_EVTPE_OP_860026604	 = "1985830589702989250258956"
pt_RES1_860026604		 = "07895825648589989828989898"
pt_NDE_860026604		 = "3333333333333333333333333333333333333333"
pt_NDE1_860026604		 = "314314314314314314314314314314314"
pt_NDEN_860026604		 = "721721721721721721721721721721721721721"
pt_NDE1N_860026604	 = "891891891891891891891891891891"
pt_NUM_SER_860026604	 = "10254781025478102547"
pt_NIDAV_860026604	 = "79157915791579157915791579157915791579157915"
pt_TEMP_860026604		 = "pt_TEMP9179179179179179179179179179179179171917"
pt_CodOperVG_860026604	 = "pt_CodOperVG929292929292929292929292929292929292929292929292"
pt_CARACT_860026604	 = "pt-Caract"
pt_NUM_IDAV_860026604	 = "351254789523125468731589745681143597845213"
pt_PREF_PORT_860026604	 = "846579135"
#G3R23
pt_NSUC_860026604		 = "pt_NSUC1234567890123456789012345"
pt_len_prefixe_portabilite_860026604 = "pt_len_prefixe_portabilite123"
pt_pporta_860026604 = "pt_pporta01234567890123456789"
# G3R23C7 QC581
pt_PREF_PORT_FERPV_860026604 = "pt_PREF_PORT_FERPV"
# DRE G4R6 lot2
pt_MESSAGE_860026604 = "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_860026604	 = "pt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDIST"
pt_CODE_TARIF_860026604 	 = "pt_CODE_TARIFpt_CODE_TARIF"
pt_TYPE_EDIT_860026604	 = "pt_TYPE_EDIT"

# **** initialisation pointeurs
#G4R3 i_strcpy(pt_URGENCE_APACHE,"")
i_strcpy(pt_NORM_860026604,"")
i_strcpy(pt_VGA_OP_860026604,"")
i_strcpy(pt_VGA_OF_860026604,"")
i_strcpy(pt_VGTplus_OP_860026604,"")
i_strcpy(pt_VGTplus_OF_860026604,"")
i_strcpy(pt_TEMP_860026604,"")
i_strcpy(pt_CodOperVG_860026604,"")
i_strcpy(pt_OPERA_860026604,"")
i_strcpy(pt_OFFRE_860026604,"")
i_strcpy(pt_EVTPE_OP_860026604,"")
i_strcpy(pt_EVTPE_OF_860026604,"")
i_strcpy(pt_eccfact_860026604," ")
i_strcpy(pt_eccCentaure_860026604," ")
i_strcpy(pt_CODESCP_860026604,"")
i_strcpy(pt_RES1_860026604,"")
i_strcpy(pt_NDE_860026604,"")
i_strcpy(pt_NDE1_860026604,"")
i_strcpy(pt_NDEN_860026604,"")
i_strcpy(pt_NDE1N_860026604,"")
i_strcpy(pt_NUM_SER_860026604, " ")
i_strcpy(pt_NUM_IDAV_860026604, "")
i_strcpy(pt_PREF_PORT_860026604, " ")
i_strcpy(pt_NIDAV_860026604, "")
#i_strcpy(pt_SGTQS,"")
i_strcpy(pt_BUF_860026604,"")
i_strcpy(pt_BUF2_860026604,"")
i_strcpy(pt_marque_audit_860026604,"")
i_strcpy(pt_InfoCompl_860026604,"")
i_strcpy(pt_inst_860026604,"")
i_strcpy(pt_DM_860026604,"")
i_strcpy(pt_CodeOp_860026604,"")
i_strcpy(pt_service_860026604,"")
i_strcpy(pt_COCA_860026604,"")
i_strcpy(pt_COCAV_860026604,"")
i_strcpy(pt_SGTQS_860026604,"")
i_strcpy(pt_LIBELREDIST_860026604,"")
i_strcpy(pt_TCOMMUT_860026604,"")
i_strcpy(pt_INEF_STD_860026604,"")
#G4R3 i_strcpy(pt_CODE_APACHE,"")
#G4R3 i_strcpy(pt_INEF_APACHE,"")
i_strcpy(pt_INEF_COMMUT_860026604,"")
i_strcpy(pt_IDAV_DIST_N_860026604,"")
i_strcpy(pt_CODCIRDA_860026604,"")
i_strcpy(pt_CODCIRA_860026604,"")
i_strcpy(pt_nde_normal_860026604,"")
i_strcpy(pt_BUF1_860026604,"")
i_strcpy(pt_CARACT_860026604,"")
#G3R23
i_strcpy(pt_NSUC_860026604,"")
i_strcpy(pt_len_prefixe_portabilite_860026604," ")
i_strcpy(pt_pporta_860026604,"")
# G3R23C7 QC581
i_strcpy(pt_PREF_PORT_FERPV_860026604, " ")
# DRE G4R6 lot2
i_strcpy(pt_MESSAGE_860026604, "")
i_strcpy(pt_CODE_TARIF_860026604 , "    ")
i_strcpy(pt_TYPE_EDIT_860026604 , " ")


#IFDEF trace_niv2 = 1
trace( "__FILE__:__LINE__ - Pcode de distribution" )
#ENDIF

#IFDEF trace_niv3 = 1
# dump de l article en entree
erreur_860026604 = i_fdump_art( g_iartin )
#ENDIF


# ---------------------------------------------------
# Identification de la provenance de l'article
# ---------------------------------------------------
trait_ok_860026604 = -1
# trait_ok : nb de passage en redistribution
trait_ok_860026604 = i_LireRedistCpt()
SI ( trait_ok_860026604 > 0 )
ALORS
	ENVELOPPE_NOK_860026604 = 0
FINSI

#calcul date pivot
dpivot_860026604 = i_get_art_field(g_iartin,$dpivot)

#G3R23
# Ajout dpivot dans l'enveloppe
SI ( ENVELOPPE_NOK_860026604 )
ALORS
	ENVELOPPE_NOK_860026604 = i_add_opt( "E_Tta6dc" )
FINSI
erreur_860026604 = i_set_attr_val_n( $E_Tta6dc::DATE_P, dpivot_860026604)

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

ddebut_860026604 = i_get_art_field( g_iartin, $ddebut )
SI ( ddebut_860026604 == -1 )
ALORS
	code_errone_860026604 = 0xA080
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026604, C_Article_860026604, "i_get_art_field/ddebut" )
	SAUT DISTRI_ERR
FINSI
dduree_860026604 = i_get_art_field( g_iartin, $Tta6dc::dduree )
tax_860026604    = i_get_art_field( g_iartin, $Tta6dc::tax )
gmt_date_860026604 = i_DHgetCe2gTime(NUMTAB_860026604,ZONEMETRO_860026604,ddebut_860026604)

#DRE G4R6 lot2 Lignes remontees pour traitement CPS
SI (bCONVERSION_860026604 == 0 )
ALORS
	erreur_860026604 = i_cree_art("Conversion",g_iartout10)
	bCONVERSION_860026604 = 1
FINSI
#\DRE G4R6 lot2 Lignes remontees pour traitement CPS

## Variable fonctionnelle REJET:
SI (i_valid_field_n(g_iartin,$T4rejet))
ALORS
	REJET_860026604 = i_get_art_field(g_iartin,$REJET)
FINSI

#DRE - G4R7 QC829
SI REJET_860026604 == CPT_CPS_Loc_860026604
ALORS
	b_Fact_CPS_Loc_860026604 = 1
FINSI
SI REJET_860026604 == CPT_CPS_RI_860026604
ALORS
	b_Fact_CPS_RI_860026604 = 1
FINSI
#\DRE - G4R7 QC829


#trace1("Valeur de REJET = <%d>",REJET)

SI (i_valid_field_n(g_iartin,$NORMAL))
ALORS
	erreur_860026604=i_get_art_str(g_iartin,$NORMAL,pt_NORM_860026604)
SINON
	erreur_860026604=i_get_art_str(g_iartin,$NDE,pt_NORM_860026604)
FINSI

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


#####################################################################
# 	              Traitement C+S (CPS)
#DRE G4R6 lot2
#DRE - G4R7 QC829
#SI (REJET==CPT_CPS_Loc)
SI b_Fact_CPS_Loc_860026604 || b_Fact_CPS_RI_860026604
ALORS
	i_strcpy(pt_TEMP_860026604, i_get_tab_field( "TDATCPS", gmt_date_860026604, C_DATCPS_860026604 ))

	erreur_860026604 = i_set_art_str (g_iartout10,$Conversion::DATE_STR,pt_TEMP_860026604)
	Date_CPS_860026604 = i_get_art_field(g_iartout10, $Conversion::DATE_ASC)
			
	SI ddebut_860026604 < Date_CPS_860026604
	ALORS
		erreur_860026604 = i_format_str2(pt_MESSAGE_860026604," AR <%s> avec date DC inferieure a la date d'activation <%s> de la facturation CPS",pt_NORM_860026604,pt_TEMP_860026604)
		code_errone_860026604 = 0xA080
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre( 8599, 1, g_iartin,"", 3,code_errone_860026604, C_Article_860026604, pt_MESSAGE_860026604 )
		SAUT DISTRI_DIV
	SINON
		#######################################
		#  Soumission de la requete de consultation d'une table de distribution ALICE
		#######################################
		SI i_strplcmp (pt_NORM_860026604,"0",0,1) == 0
		ALORS
			i_get_sub_str(pt_NORM_860026604,1,-1,pt_NORM_860026604) 	
		FINSI
		longueur_860026604 = i_conv_ascii_dcb (pt_NORM_860026604, pt_TEMP_860026604)
		SI (i_EnvoiReqConsTabDist( TD_SVA_860026604,gmt_date_860026604,pt_TEMP_860026604,longueur_860026604,0,1) != 0)
		ALORS
			#trace("Erreur i_EnvoiReqConsTabDist ALICE")
#QC862
#			bREDIST = 1
			bREDISTALICE_860026604 = 1
			i_strcpy(pt_LIBELREDIST_860026604,"Echec sur i_EnvoiReqConsTabDistDouble ALICE ")
		FINSI
		
		#######################################
		# Recherche de l'instance ECC ALICE
		#######################################
		instALICE_860026604 = i_LireInstanceECC(C_INST_ALICE_860026604)
		SI (!instALICE_860026604)
		ALORS
			#trace("Pas d'instance pour ALICE !")
			erreur_860026604 = i_PlvMessEmettre(8501,1,g_iartin,"",3,C_INST_ALICE_860026604,C_Article_860026604,g_ieec)
			SAUT DISTRI_ERR
		FINSI
		#trace1("instALICE  =<%d>",instALICE)	

		#######################################
		# Lecture Resultat requete ALICE
		#######################################
		erreur_860026604 = i_LireReqConsTabDist()
		#trace1("RETOUR i_LireReqConsTabDist retour requette ALICE, erreur=<%d>",erreur)
		SI ( erreur_860026604 != 0 )
		ALORS
			#trace1( "Erreur i_LireReqConsTabDist ALICE: <%d>", erreur)
#QC862
#			bREDIST = 1
			bREDISTALICE_860026604 = 1
			i_strcpy(pt_LIBELREDIST_860026604,"Echec sur i_LireReqConsTabDistDouble ALICE ")
		FINSI
		val_860026604 = i_LireInfoECC( instALICE_860026604, 0 )
		
		SI (val_860026604 != 0)
		ALORS
			# AR present dans ALICE
			erreur_860026604 = i_LireChaineInfo( val_860026604, 0, 4, pt_BUF_860026604 )
			SI i_strcmp(pt_BUF_860026604,"") != 0
			ALORS
				i_strcpy(pt_CODE_TARIF_860026604,pt_BUF_860026604)
			SINON
				# info complementaire CODE_TARIF vide
#QC862
#				bREDIST = 1
				bREDISTALICE_860026604 = 1
				erreur_860026604 = i_format_str2(pt_LIBELREDIST_860026604," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NORM_860026604,0)
			FINSI
			
			erreur_860026604 = i_LireChaineInfo( val_860026604, 4, 1, pt_BUF_860026604 )
			SI i_strcmp(pt_BUF_860026604,"") != 0
			ALORS
				i_strcpy(pt_TYPE_EDIT_860026604,pt_BUF_860026604)
			SINON
				# info complementaire TYPE_EDIT vide
#QC862
#				bREDIST = 1
				bREDISTALICE_860026604 = 1
				erreur_860026604 = i_format_str2(pt_LIBELREDIST_860026604," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NORM_860026604,0)
			FINSI
		SINON
#QC862
#			bREDIST = 1
			bREDISTALICE_860026604 = 1
			erreur_860026604 = i_format_str2(pt_LIBELREDIST_860026604," AR <%s> non trouve dans ALICE",pt_NORM_860026604,0)
		FINSI
	FINSI
FINSI
#\DRE G4R6 lot2


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

res_860026604 = 0
SI i_valid_field_n(g_iartin,$Tta6dc::INF_IDAV)
ALORS
	res_860026604 = i_get_art_field(g_iartin, $Tta6dc::INF_IDAV)
FINSI
bPortabilite_mobile_860026604 = 0
bSRP_Sporta_SPN_860026604 = 0

SI i_valid_field_n(g_iartin,$Tta6dc::NUM_IDAV)
ALORS
	erreur_860026604 = i_get_art_str(g_iartin, $Tta6dc::NUM_IDAV, pt_NUM_IDAV_860026604)
	# 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
	#	i_get_sub_str(pt_NUM_IDAV, 0, 4, pt_PREF_PORT)
	#FINSI

	#trace(" ################## Recherche prefixe portabilite dans table PPORTA ###################")
	i_strcpy(pt_pporta_860026604, rechercheDicho_860026233(pt_NUM_IDAV_860026604, T_PPORTA_860026604, gmt_date_860026604))
	#trace2(" ################# Recherche prefixe portabilite dans table PPORTA : Cle passee = >%s<   resultat = >%s< ######", pt_NUM_IDAV, pt_pporta)
	SI(i_strcmp(pt_pporta_860026604,g_inull) != 0)
	ALORS
		longueur_860026604 = i_strlen(pt_pporta_860026604)
		erreur_860026604 = i_recupererValeur(pt_pporta_860026604, pt_len_prefixe_portabilite_860026604, longueur_860026604,'_')
		# 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_860026604, PPORTA_CATEG_MOB_860026604) == 0) && res_860026604 == 2)
		ALORS
			bPortabilite_mobile_860026604 = 1
			len_prefixe_portabilite_860026604 = CONV_ASCIINUMDEC_INT_860026233(pt_len_prefixe_portabilite_860026604)
			i_get_sub_str(pt_NUM_IDAV_860026604, 0, len_prefixe_portabilite_860026604-1, pt_PREF_PORT_860026604)
			# G3R23C7 QC581
			i_get_sub_str(pt_NUM_IDAV_860026604, 0, 4, pt_PREF_PORT_FERPV_860026604)
			#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 IDAV/NUM commence par 842XY (avec XY <> 08) alors SRP_Sporta_SPN vrai

	# Portabilite Entrante SVA 
	SI ( i_strplcmp(pt_NUM_IDAV_860026604, C_PREF_SPORTABILITE_SRP_860026604, 0, 3) == 0 )
	ALORS
		SI (i_strplcmp(pt_NUM_IDAV_860026604, "08", 3, 2) != 0 )
		ALORS
			bSRP_Sporta_SPN_860026604 = 1
		SINON
			bSRP_Eporta_SPN_860026604 = 1
		FINSI
	FINSI
FINSI

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

SI ( ICAR_REL_860026604 == -1 )
ALORS
	code_errone_860026604 = 0xA080
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026604, C_Article_860026604, "i_get_art_field/DATE" )
	SAUT DISTRI_ERR
FINSI
ICAR_ABS_860026604 = i_date_locale(g_ieec,g_iartin,ICAR_REL_860026604)

SI ( ICAR_ABS_860026604 == -1 )
ALORS
	code_errone_860026604 = 0xA080
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026604, C_Article_860026604, "i_date_locale/ICAR_REL" )
	SAUT DISTRI_ERR
FINSI

#
# Gestion des parametres cap1 et cab
# Recuperation des valeurs des champs
# CAX TAP et SUP.
#

SI ( i_valid_field_n( g_iartin, $Tta6dc::T3cap1 ) )
ALORS
	#trace("Parametre cap1 present !")
	CAX_860026604 = i_get_art_field( g_iartin, $Tta6dc::CAX:0 )
	TAP_860026604 = i_get_art_field( g_iartin, $Tta6dc::TAP:0 )
FINSI

SI ( i_valid_field_n( g_iartin, $Tta6dc::T3cab ) )
ALORS
	#trace( "Parametre cab present !")
	CAX_860026604 = i_get_art_field( g_iartin, $Tta6dc::CAX:1 )
	TAP_860026604 = i_get_art_field( g_iartin, $Tta6dc::TAP:1 )
	SUP_860026604 = i_get_art_field( g_iartin, $Tta6dc::SUP:1 )
FINSI
erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::INEF, pt_INEF_COMMUT_860026604 )

## Variable fonctionnelle EFFICACE:
#Recuperation du bit B de TAP:
bitBtap_860026604 = i_get_bit_val(TAP_860026604,7)

SI ( !bitBtap_860026604 )
ALORS
	EFFICACE_860026604 = 1
SINON
	EFFICACE_860026604 = 0
FINSI

#INEFF et la com est assuree par un CAA
SI (!EFFICACE_860026604)
ALORS
	# recuperation des champs APPLI MINE et ART de l'entete de bloc
	ART_860026604 = i_bloc_V1V2_recupererIdent(ART_BLOC_V1V2)
	SI (ART_860026604 == 4)
	ALORS
		MINE_860026604 = i_bloc_V1V2_recupererIdent(MINE_BLOC_V1V2)
		APPLI_860026604 = i_bloc_V1V2_recupererIdent(APPLI_BLOC_V1V2)
	FINSI

	#IFDEF trace_niv2 = 1
	trace1("champ ART : %x",ART_860026604)
	trace1("champ MINE : %x",MINE_860026604)
	trace1("champ APPLI : %x",APPLI_860026604)
	#ENDIF

	pt_TCOMMUT_860026604 = type_commut_860026233("APA1", pt_SGTQS_860026604, dpivot_860026604)

	SI (pt_TCOMMUT_860026604 == g_inull)
	ALORS
		erreur_860026604 = i_format_str2(pt_TEMP_860026604," %s",pt_SGTQS_860026604,0)
		erreur_860026604 = i_PlvMessEmettre(8505,2,g_iartin,"",3,"Tta6dc/type_commut",pt_TEMP_860026604,g_ieec)
	SINON
		pt_INEF_STD_860026604 = inef_std_860026233("APA2", pt_TCOMMUT_860026604, pt_INEF_COMMUT_860026604, dpivot_860026604)
		SI ( pt_INEF_STD_860026604 == g_inull)
		ALORS
			erreur_860026604 = i_format_str2(pt_TEMP_860026604," %s",pt_INEF_COMMUT_860026604,0)
			erreur_860026604 = i_PlvMessEmettre(8505,2,g_iartin,"",3,"Tta6dc/inef_std",pt_TEMP_860026604,g_ieec)
		SINON
			DC_CAA_860026604=1
		FINSI
	FINSI

	#trace2(" Type de commutateur <%s>", pt_TCOMMUT, "")
	#trace2(" Code inefficace standard <%s>", pt_INEF_STD, "")
FINSI

# Recuperation des 2 premiers digits du numero
# demande normalise 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_860026604 = 4
		act_desactVGT_860026604 = 1
	SINON
		indice_860026604 = 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_860026604 = i_get_art_str(g_iartin, $Tta6dc::NDE, pt_NDE_860026604)
		i_get_sub_str(pt_NDE_860026604, 0, 3, pt_NUM_SER_860026604)
		i_replace_str(pt_NUM_SER_860026604, "ABC", "A*#", pt_NUM_SER_860026604)
		#trace2(" ******** NUM_SER : <%s>", pt_NUM_SER, "")
	SINON
		i_strcpy(pt_NUM_SER_860026604, " ")
		#trace(" ******** NUM_SER : pas d'activation/desactivation")
	FINSI

	# VGA_SER , VGTplus_SER 
	SI i_strcmp(pt_NUM_SER_860026604, " ") != 0
	ALORS
		erreur_860026604 = i_format_str2(pt_TEMP_860026604, "%s%s", "INk", pt_NUM_SER_860026604)
		i_strcpy(pt_RES1_860026604, i_get_tab_field("Inter", gmt_date_860026604, pt_TEMP_860026604))
		#trace2(" ******** Retour de la table Inter (CLE INk) : <%s>", pt_RES1, "")
		SI (i_strcmp(pt_RES1_860026604, "VGA") == 0 || i_strcmp(pt_RES1_860026604, "VGAVGT+") == 0)
		ALORS
			VGA_SER_860026604 = 1
		SINON
			VGA_SER_860026604 = 0
		FINSI
		SI (i_strcmp(pt_RES1_860026604, "VGT+") == 0 || i_strcmp(pt_RES1_860026604, "VGAVGT+") == 0)
		ALORS
			VGTplus_SER_860026604 = 1
		SINON
			VGTplus_SER_860026604 = 0
		FINSI
	SINON
		VGA_SER_860026604 = 0
		VGTplus_SER_860026604 = 0
	FINSI
	#trace1(" ******** VGA_SER     : <%d>", VGA_SER)
	#trace1(" ******** VGTplus_SER : <%d>", VGTplus_SER)

	# pour les *21* eligibilite VGA
	# pour les *55* eligibilite VGA
	# pour #21# et #55* eligible VGA

	erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::NDE, pt_NDE_860026604 )
	i_get_sub_str(pt_NDE_860026604,0,3,pt_NDE1_860026604)
	i_replace_str(pt_NDE1_860026604,"ABC","A*#",pt_NDE1_860026604)

	dede_num1_860026604 = g_iartin.NDE[indice_860026604]
	NDE_Z_860026604 = i_get_art_fieldtab(g_iartin,$NDE,indice_860026604+1)
	EZ_860026604=10*(i_get_art_fieldtab(g_iartin,$NDE,indice_860026604))+i_get_art_fieldtab(g_iartin,$NDE,indice_860026604+1)
	ZA_860026604 = 10*( i_get_art_fieldtab( g_iartin, $NDE, indice_860026604 + 1 ) ) + i_get_art_fieldtab( g_iartin, $NDE, indice_860026604 + 2 )
	EZA_860026604 = (100*( i_get_art_fieldtab( g_iartin, $NDE, indice_860026604 ) )) + (10*i_get_art_fieldtab( g_iartin, $NDE, indice_860026604+1 ))+i_get_art_fieldtab( g_iartin, $NDE,indice_860026604+2 )
SINON
	#trace( "Inefficace, NDE absent => seulement SYMPHONIE !" )
	SAUT APRES_REQUETE
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_860026604 = 4
		act_desactVGT_860026604 = 1
	SINON
		indice_860026604 = 0
	FINSI


	# pour les *21* eligibilite VGA  	
	# pour les *55* eligibilite VGA 
	# pour #21# et #55* eligible VGA 

	erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::NORMAL, pt_NDEN_860026604 )
	i_get_sub_str(pt_NDEN_860026604,0,3,pt_NDE1N_860026604)
	i_replace_str(pt_NDE1N_860026604,"ABC","A*#",pt_NDE1N_860026604)

	dede_num1_860026604 = g_iartin.NORMAL[indice_860026604]
	NDE_Z_860026604 = i_get_art_fieldtab(g_iartin, $NORMAL, indice_860026604 + 1 )
	val_normal_860026604 = 10*( i_get_art_fieldtab( g_iartin, $NORMAL, indice_860026604 ) ) + i_get_art_fieldtab( g_iartin, $NORMAL,indice_860026604 + 1 )
	ZA_860026604 = 10*( i_get_art_fieldtab( g_iartin, $NORMAL, indice_860026604 + 1 ) ) + i_get_art_fieldtab( g_iartin, $NORMAL, indice_860026604 + 2 )
	EZA_860026604 = (100*( i_get_art_fieldtab( g_iartin, $NORMAL, indice_860026604 ) )) + (10*i_get_art_fieldtab( g_iartin, $NORMAL, indice_860026604+1 ))+i_get_art_fieldtab( g_iartin, $NORMAL,indice_860026604+2 )
FINSI
#trace1("val_normal=<%d>",val_normal) 
#trace1("ZA=<%d>",ZA) 

# Type de Trafic:
SI (val_normal_860026604 != 0xFF)
ALORS
	SI (!val_normal_860026604)
	ALORS
		# Le Num. Demande normalise commence par 00:
		type_traf_860026604 = international_860026604
		# 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_860026604 = 1
		FINSI
	SINON
		SI ((val_normal_860026604)&&(val_normal_860026604<10))
		ALORS
			# LE Num.Demande normalise commence par 0X
			# avec X non nul:
			type_traf_860026604 = national_860026604
		SINON
			type_traf_860026604 = special_860026604
		FINSI
	FINSI
FINSI
#trace1("Type de trafic = <%d>", type_traf)


#G3R23 deplace pour utilisation de gmt_date dans interrogation de PPORTA
# ---------------------------------------------------
# Initialisation des variables issues
# des metachamps ddebut dduree tax
# ---------------------------------------------------
#
#ddebut = i_get_art_field( g_iartin, $ddebut )
#SI ( ddebut == -1 )
#ALORS
#	code_errone = 0xA080
#	code_errone = code_errone + EFFICACE
#	erreur = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone, C_Article, "i_get_art_field/ddebut" )
#	SAUT DISTRI_ERR
#FINSI
#dduree = i_get_art_field( g_iartin, $Tta6dc::dduree )
#tax    = i_get_art_field( g_iartin, $Tta6dc::tax )
#gmt_date = i_DHgetCe2gTime(NUMTAB,ZONEMETRO,ddebut)

#G3R23 QC553
# NSUC
#SI(bPortabilite_mobile == 1)
#	ALORS
#	erreur = i_get_art_str(g_iartin, $Tta6dc::NUM_IDAV, pt_BUF)
#	trace2("Recherche NSUC / NUM_IDAV   : <%s>", pt_BUF, "")
#SINON
#	SI i_valid_field_n(g_iartin,$Tta6dc::NORMAL)
#		ALORS
#		erreur = i_get_art_str( g_iartin, $Tta6dc::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,$Tta6dc::DEDENSUC)
ALORS
	erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::DEDENSUC, pt_BUF_860026604 )
	SI (g_iartin.DEDENSUC[0] == 0x0)
	ALORS
		i_get_sub_str(pt_BUF_860026604, 1, -1, pt_BUF_860026604)
	FINSI
	#trace2("Recherche NSUC / DEDENSUC  : <%s>", pt_BUF, "")
SINON
	erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::NDE, pt_BUF_860026604 )
	#trace2("Recherche NSUC / NDE   : <%s>", pt_BUF, "")
FINSI

i_strcpy(pt_NSUC_860026604, i_get_tab_field("TNSUC", gmt_date_860026604, pt_BUF_860026604))
SI (i_strcmp(pt_NSUC_860026604,"") != 0 )
ALORS
	b_NSUC_860026604 = 1
	SI (i_strcmp(LCASE_860026233(pt_NSUC_860026604),"vide") == 0 )
	ALORS
		i_strcpy(pt_NSUC_860026604," ")
	FINSI
FINSI

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

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

## Variable fonctionnelle TRANSGROUPE:
STY_860026604 = i_get_art_field(g_iartin,$Tta6dc::STY)

SI ((STY_860026604 & 0x40) == 0x40)
ALORS
	TRANSGROUPE_860026604 = 1
SINON
	TRANSGROUPE_860026604 = 0
FINSI
#trace1("TRANSGROUPE=<%d>",TRANSGROUPE)

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

INF_DEDE_860026604=i_get_art_field(g_iartin,$INF_DEDE)
bitDinfdede_860026604 = i_get_bit_val(INF_DEDE_860026604,5)

###############################################################
#   DC INEF urgents
#  -code INEF >=100 (decimal)
#  DEDE normalise appartient ` la table externe inef_apache
#  Alimentation d'apache avec dc inefficaces des urgences
#


val_INEF_860026604=i_get_art_field(g_iartin, $Tta6dc::INEF)

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

SI (i_valid_field_n(g_iartin,$NUM_IDAV))
ALORS
	res_860026604=i_get_art_str(g_iartin,$NUM_IDAV,pt_IDAV_DIST_N_860026604)
	i_get_sub_str(pt_IDAV_DIST_N_860026604,0,4,pt_TEMP_860026604)

	SI ( ( i_strcmp(pt_TEMP_860026604,"07997") == 0 ) || ( i_strcmp(pt_TEMP_860026604,"07998") == 0 )
	|| ( i_strcmp(pt_TEMP_860026604,"07999") == 0 ) || ( i_strcmp(pt_TEMP_860026604,"06997") == 0 )
	|| ( i_strcmp(pt_TEMP_860026604,"06998") == 0 ) )
	ALORS
		RPVI_DIRECT_860026604 = 1
	FINSI
FINSI

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

## Variable fonctionnelle RPV:
SI ( type_traf_860026604 == national_860026604 )
ALORS
	SI ( ZA_860026604==85 )
	ALORS
		RPV_860026604 = 1
	SINON
		RPV_860026604 = 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_860026604 = 1
FINSI

## Variable fonctionnelle IEZLT:
# IEZLT=1 => extraZLT
# IEZLT=0 => intraZLT

SI (i_valid_field_n(g_iartin,$T4ZLT))
ALORS
	IEZLT_860026604=i_get_art_field(g_iartin,$ZLT)
FINSI
#trace1("IEZLT=<%d>",IEZLT)

#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
#trace1("Valeur de REJET = <%d>",REJET)
#\DRE G4R6 lot2


## Variable fonctionnelle vTGPRI:
# Appel vTTA6DC_TGPRI.src  
vTGPRI_860026604=i_get_art_field(g_iartin,$vTGPRI)
#trace1("vTGPRI=<%d>",vTGPRI)

## Variable fonctionnelle E:
# Appel a la fonction pcode Extraction_STP

# ETSI_I ou ETSI_N ? 
res_860026604=i_get_art_field(g_iartin,$INF_DEDE)
SI ((i_get_bit_val(res_860026604,8)==0x1)&&(i_get_bit_val(res_860026604,7)==0x0))
ALORS
	ETSIN_860026604=1
FINSI

SI ((i_get_bit_val(res_860026604,8)==0x1)&&(i_get_bit_val(res_860026604,7)==0x1))
ALORS
	ETSII_860026604=1
FINSI
#trace1("ETSIN=<%d>",ETSIN)
#trace1("ETSII=<%d>",ETSII)

## COCA ou COCAV ?
nb_digit_860026604=0
pref_860026604=-1

SI (i_valid_field_n(g_iartin,$BETA))
ALORS
	b_DBETA_860026604 = 1
	erreur_860026604=i_get_art_str(g_iartin,$BETA,pt_COCA_860026604)

	SI (i_strcmp (pt_COCA_860026604,"08")==0)
	ALORS
		b_DBETA8FT_860026604 = 1
	FINSI
FINSI

SI (i_valid_field_n(g_iartin,$BETAV))
ALORS
	b_DBETAV_860026604 = 1
	erreur_860026604=i_get_art_str(g_iartin,$BETAV,pt_COCAV_860026604)

	SI (i_strcmp (pt_COCAV_860026604,"08")==0)
	ALORS
		b_DBETAV8FT_860026604 = 1
	FINSI
FINSI

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

SI ((pref_860026604 != 8) && (pref_860026604 != -1))
ALORS
	OPT_860026604 = 1
FINSI

# Recuperation de E:
vE_860026604=-1
#trace("Appel Extraction_STP")
vE_860026604 = Extraction_STP_860026233( g_iartin, $NDE, TRANSGROUPE_860026604, ETSIN_860026604, ETSII_860026604, pref_860026604, $NDR)
#trace1("vE=<%d>",vE)

## Variable fonctionnelle ADO:
#trace1("TRANSGROUPE=<%d>",TRANSGROUPE)
#trace1("CAX=<%d>",CAX)
#trace1("vE=<%d>",vE)
#trace1(" Z=<%d>",( (ZA >>4 )& 0xF) )
SI ( (TRANSGROUPE_860026604==1)&&(CAX_860026604==6) && !vE_860026604 && !((ZA_860026604>>4) & 0xF) && (type_traf_860026604==international_860026604) )
ALORS
	ADO_860026604 = 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_860026604 = 0
	FINSI
	#trace1("Variable ADO: Z=<%d>",( (ZA >>4 )& 0xF) )
FINSI

## Variable fonctionnelle VTG RI:
# 2 marquages:  soit VTGRI_3BPQ
#               soit VTGRI_CAX
# Cas 3BPQ:

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_860026604=1
FINSI

SI ( ( (vE_860026604 != 8) || (CAX_860026604 != 7) ) && (IEZLT_860026604==extraZLT_860026604) && ( type_traf_860026604!=special_860026604 ) && (pref_860026604==8) && (CAX_860026604 == 1) )
ALORS
	VTGRI_CAX_860026604=1
FINSI
#trace1("VTGRI_CAX=<%d>",VTGRI_CAX)

###############
# DRE QC677 recuperation plus tot du CCD calcule dans le traitement

SI ( i_valid_field_n( g_iartin, $CCD ) )
ALORS
	CCD_860026604 = i_get_art_field( g_iartin, $CCD )
FINSI

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

#DRE QC677
SI CCD_860026604 != CCD_Internat_860026604
ALORS

	# Portabilite
	erreur_860026604=i_get_art_str(g_iartin,$NDE,pt_BUF_860026604)
	
#DRE G4R05 QC758
	SI i_get_art_fieldtab(g_iartin,$NDE,0) <= 9
	ALORS
		pt_CodeOp_860026604 = CodeOperateurTable6_860026233(gmt_date_860026604, pt_BUF_860026604,INST_45S_860026604)
	FINSI
#\DRE G4R05 QC758

	SI (!i_strcmp(pt_CodeOp_860026604, "84208"))
	ALORS
		EPORTABILITE_860026604 = 1
	SINON
		SI (i_strcmp(pt_CodeOp_860026604,g_inull)!=0)
		ALORS
			SPORTABILITE_860026604 = 1
		FINSI
	FINSI
	
	
	#trace1("EPORTABILITE=<%d>", EPORTABILITE)
	#trace1("CCD REEL = <%d>", CCD)
	
	######################## Portabilite Entrante ou Sortante SCP (referentiel ACLA)#################################################
	
	#trace("------------RECHERCHE INSTANCE ACLA-------------")
	instACLA_860026604 = i_LireInstanceECC(INST_ACLA_860026604)
	
	SI (!instACLA_860026604)
	ALORS
		trace ("---------------------Pas d'instance pour ACLA------------------------------")
		erreur_860026604 = i_PlvMessEmettre(8501,2,g_iartin,"",3,"ACLA",C_Article_860026604,g_ieec)
		SAUT DISTRI_ERR
	FINSI
	#trace1("-----------------------instACLA=<%d>-----------------------------",instACLA)
	
	##############################################################################
	# Envoi Requetes Table de Distribution ACLA
	##############################################################################
	
	erreur_860026604=i_get_art_str(g_iartin,$NDE,pt_BUF_860026604)

#DRE G4R05 QC758
	SI i_get_art_fieldtab(g_iartin,$NDE,0) <= 9
	ALORS
		pt_CODESCP_860026604 = CodeOperateurTable6_860026233(gmt_date_860026604,pt_BUF_860026604,"ACLA")
	FINSI
#\DRE G4R05 QC758
	
	#trace2("--------------------Tt6dc -resultat de pt_CODESCP : <%s>-------------------",pt_CODESCP,"")
	
	SI (!i_strcmp(pt_CODESCP_860026604, "84008"))
	ALORS
		EPORTABILITE_SCP_860026604 = 1
	SINON
		SI (i_strcmp(pt_CODESCP_860026604,"84008")!=0 && i_strcmp(pt_CODESCP_860026604,"")!=0)
		ALORS
			SPORTABILITE_SCP_860026604 = 1
		FINSI
	FINSI

FINSI
#FIN DRE QC677

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

SI (EPORTABILITE_860026604 == 1)
ALORS
	CCD_REEL_860026604 = 212
SINON
	SI (EPORTABILITE_SCP_860026604 == 1)
	ALORS
		CCD_REEL_860026604 = 218
	SINON
		SI (SPORTABILITE_860026604 == 1)
		ALORS
			CCD_REEL_860026604 = 213
		SINON
			SI (SPORTABILITE_SCP_860026604 == 1)
			ALORS
				CCD_REEL_860026604 = 219
			SINON
				CCD_REEL_860026604 = CCD_860026604
			FINSI
		FINSI
	FINSI
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)

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

SI ( val_normal_860026604 == 0 ) && ( NVU_860026604 == 0 )
ALORS
	GVPN_860026604=1
FINSI



# Elimination explicite: 
# ajout du REJET6 (REJET == 14)
# 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

SI ( ( (REJET_860026604 == 1 && !bSRP_Sporta_SPN_860026604) || REJET_860026604 == 2 || REJET_860026604 == 3 || REJET_860026604 == 14) && CAX_860026604 != 3 )
ALORS
	#trace("stockage explicite de l article en DIVERS")
	distri_symph_860026604 = 1
	SAUT DISTRI_SYMPH
FINSI

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

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

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

#---------------------Envoie requetes table VGA -----------------------#

L_NDR_860026604 = i_get_art_fieldlength(g_iartin,$NDR)
SI ( L_NDR_860026604 % 2 == 0 )
ALORS
	L_NDR_860026604 = L_NDR_860026604 / 2
SINON
	L_NDR_860026604 = L_NDR_860026604 / 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, $Tta6dc::INF_DEDE))
ALORS
	dede_inf_860026604 = i_get_art_field(g_iartin,$Tta6dc::INF_DEDE)
FINSI

SI (i_EnvoiReqConsTabDist( TD_VGA1_860026604,gmt_date_860026604,i_get_art_fieldptr(g_iartin,$Tta6dc::NDR),L_NDR_860026604,0,1) != 0)
ALORS
	#trace("Erreur i_EnvoiReqConsTabDist VGA1")
	bREDIST_860026604 = 1
	i_strcpy(pt_LIBELREDIST_860026604,"Echec sur i_EnvoiReqConsTabDistDouble")
FINSI

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

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

val_860026604 = i_LireInfoECC( instVGA_860026604, 0 )

#trace1(" G2R2Cd FO1720 Act_special <%d>",Act_special)
#trace1(" G2R2Cd FO1720 b_DBETA    <%d>",b_DBETA)
#trace1(" G2R2Cd FO1720 b_DBETAV   <%d>",b_DBETAV)
#trace1(" G2R2Cd FO1740 b_DBETA8FT    <%d>",b_DBETA8FT)
#trace1(" G2R2Cd FO1740 b_DBETAV8FT   <%d>",b_DBETAV8FT)
#trace1(" G2R2Cd FO1720 dede_inf <%d>",dede_inf)
#trace1(" G2R2Cd FO1720 dede_num1 <%d>",dede_num1)
#trace1(" G2R2Cd FO1720 EZ<%d>", EZ)
#trace1(" G2R2Cd Z9      Z <%d>", NDE_Z)

#trace1(" G2R2Cd FO1720 act_desactVGA <%d>",act_desactVGA)
#trace1(" G2R2Cd FO1720 CCD_REEL <%d> ", CCD_REEL)
#trace1(" G2R2Cd FO1720 val <%x> i_LireInfoECC instVGA", val)

SI (val_860026604 != 0)
ALORS
	erreur_860026604 = i_LireChaineInfo( val_860026604, 0, 6, pt_OFFRE_860026604 )
	#trace2("G2R2Cu pt_OFFRE de VGA1 <%s> pour appel table CodeOffre", pt_OFFRE,"")
	erreur_860026604 = i_format_str2( pt_TEMP_860026604, "%s%s", "INj", pt_OFFRE_860026604)
	i_strcpy(pt_RES1_860026604, i_get_tab_field("Inter", gmt_date_860026604, pt_TEMP_860026604))
	#trace2("G2R2Cu pt_RES1 table CodeOffre <%s> ", pt_RES1,"")
	
	# les Dedeur hors preselection sont eligible VGA si pt_OFFRE <> VGT
	critere_Hors_preselect_860026604 = 1

	# lorsque le NDE est porte le bit D de dede_inf est positionne
	res_860026604 = dede_inf_860026604 & 0xEF

	# Z=7 pour VGA
	SI ((res_860026604 == 0xC3) ||((res_860026604==0x82) && (dede_num1_860026604 < 8)) || ((res_860026604 == 0x00) && (EZ_860026604 < 8)))
	ALORS
		critere_Hors_preselect_860026604 = 0
	FINSI
	#trace1 ("G2R2Cd FO1720 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_860026604 == 1) 
	  || ( ( i_strcmp(pt_NUM_SER_860026604, " ") == 0 ) && ( ( CCD_REEL_860026604 == 14 ) || ( CCD_REEL_860026604 == 23 ) || ( b_DBETA_860026604==0 ) || ( b_DBETAV_860026604==0 ) ) ) )
	ALORS
		SI (i_strcmp(pt_RES1_860026604,"VGT+")==0)
		ALORS
			bVGTplus_860026604 =1
			VGA_860026604 = 0
			i_strcpy(pt_VGTplus_OF_860026604 ,pt_OFFRE_860026604)
		FINSI
	FINSI

	SI (bVGTplus_860026604 == 0 )
	ALORS
		# 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_860026604 == 1 )
		|| ( ( i_strcmp(pt_NUM_SER_860026604, " ") == 0 )
		&& ( ( b_DBETA_860026604==0 || b_DBETAV_860026604==0 ) && ( CCD_REEL_860026604 == 14 || CCD_REEL_860026604 == 23 || critere_Hors_preselect_860026604  == 1 ) ) ) )
		ALORS
			SI (i_strcmp(pt_RES1_860026604,"VGA") == 0)
			ALORS
				VGA_860026604 = 1
				i_strcpy(pt_VGA_OF_860026604, pt_OFFRE_860026604)
			FINSI
		SINON
			VGA_860026604 = 0
		FINSI
	FINSI

	EVTPE_860026604 = 0
	SI ( (EZA_860026604 < 80) && ( b_DBETA_860026604 == 0 || b_DBETAV_860026604 == 0 || b_DBETA8FT_860026604 == 1 || b_DBETAV8FT_860026604 == 1) && act_desactVGT_860026604 == 0)
	ALORS
		#trace("  G2R2Cd EVTPE condition OK avant etude info cplt table...")
		SI (i_strcmp(pt_RES1_860026604,"VGT")== 0)
		ALORS
			#trace("    G2R2Cd EVTPE  info cplt est bien VGT donc EVTPE = 1")
			EVTPE_860026604 = 1

			SI (bVGTplus_860026604 == 0)
			ALORS
				i_strcpy(pt_EVTPE_OF_860026604 ,pt_OFFRE_860026604)
			FINSI
			#trace("    G2R2Cd EVTPE  info cplt n est pas VGT donc EVTPE = 0")
		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_860026604,gmt_date_860026604,i_get_art_fieldptr(g_iartin,$Tta6dc::NDR),L_NDR_860026604,0,1) != 0)
ALORS
	#trace("Erreur i_EnvoiReqConsTabDist VGA2")
	bREDIST_860026604 = 1
	i_strcpy(pt_LIBELREDIST_860026604,"Echec sur i_EnvoiReqConsTabDistDouble")
FINSI
erreur_860026604 = i_LireReqConsTabDist()
	#trace1("RETOUR i_LireReqConsTabDist retour requette VGA2, erreur=<%d>",erreur)

SI ( erreur_860026604 != 0 )
ALORS
	#trace1( "Erreur i_LireReqConsTabDist VGA2: <%d>", erreur)
	bREDIST_860026604 = 1
	i_strcpy(pt_LIBELREDIST_860026604,"Echec sur i_LireReqConsTabDistDouble")
FINSI

val_860026604= 0
val_860026604 = i_LireInfoECC( instVGA_860026604, 0 )

SI (val_860026604 != 0)
ALORS
	erreur_860026604 = i_LireChaineInfo( val_860026604, 0, 6, pt_OPERA_860026604)
	SI i_strcmp(pt_OPERA_860026604, g_inull)
	ALORS
		i_strcpy(pt_CodOperVG_860026604,pt_OPERA_860026604)
		b_CodOperVG_860026604 = 1

		SI (bVGTplus_860026604)
		ALORS
			i_strcpy(pt_VGTplus_OP_860026604, pt_OPERA_860026604)
		SINON
			SI (VGA_860026604)
			ALORS
				i_strcpy(pt_VGA_OP_860026604, pt_OPERA_860026604)
			FINSI

			SI (EVTPE_860026604)
			ALORS
				i_strcpy(pt_EVTPE_OP_860026604,pt_OPERA_860026604)
			FINSI
		FINSI
	FINSI
FINSI

SI 	b_CodOperVG_860026604
ALORS
	erreur_860026604 = i_format_str2( pt_TEMP_860026604, "%s%s", "INm", pt_OPERA_860026604)
	SI ( i_strcmp( i_get_tab_field("Inter", gmt_date_860026604, pt_TEMP_860026604),g_inull) != 0 )
	ALORS
		b_OperNBE_860026604 = 1
	FINSI
FINSI
#trace1("<<<__LINE__b_OperNBE=<%d> Operateur eligible NBE ----", b_OperNBE)


#-------------Interrogation de la table VGA2----------------------

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

#LOT2 recuperation du typcom et du CCD

SI ( i_valid_field_n(g_iartin, $Tta6dc::typcom) == 1 )
ALORS
	typcom_860026604 = i_get_art_field(g_iartin, $Tta6dc::typcom)
	SI (typcom_860026604 == 83 || typcom_860026604 == 98)
	ALORS
		TYPCOM_FCT_860026604 = 1
	SINON
		TYPCOM_FCT_860026604 = 0
	FINSI
FINSI

## Variable fonctionnelle CCD:
# Le CCD est rajoute dans le pcode de traitement

SI ((TYPCOM_FCT_860026604 == 1 && CCD_860026604 == 24) || CCD_REEL_860026604 == 213)
ALORS
	arretfct_centaure_860026604 = 1
SINON
	arretfct_centaure_860026604 = 0
FINSI

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

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

SI (EFFICACE_860026604 && b_OperNBE_860026604 && (bVGTplus_860026604 || EVTPE_860026604))
ALORS
	trace1("<<<__LINE__<<< --b_FERPV_NBE=<%d> TRAFIC est application de faturation",b_FERPV_NBE_860026604)
	b_FERPV_NBE_860026604 = 1
FINSI

#----------------------------------------#
#  Criteres de distrib. vers CENTAUREDC  #
#----------------------------------------#

# Instance pour CENTAUREDC
instCENT_860026604 = i_LireInstanceECC(C_InstCENTDC_860026604)

SI (!instCENT_860026604)
ALORS
	#trace("Pas d'instance pour CENTAUREDC !")
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_InstCENTDC_860026604,C_Article_860026604)
	SAUT DISTRI_ERR
FINSI

#trace1("instCENT=<%d>",instCENT)

SI ( EFFICACE_860026604 && CAX_860026604==3 && instCENT_860026604>0 && REJET_860026604 != 2 && REJET_860026604 != 3 && REJET_860026604 != 14 && VGA_860026604 == 0 && EVTPE_860026604 == 0  && !bVGTplus_860026604 )
ALORS
	erreur_860026604=i_AjouterCouranteECC(instCENT_860026604)
	# Si article envoye vers l application
	# CENTAURE, pas d autre mise au format
	# excepte pour SYMPHONIE.
	envoi_CENT_860026604=1

	SAUT APRES_REQUETE
FINSI

##############################################################################
# Envoi Requetes Table de Distribution
##############################################################################
SI (EFFICACE_860026604)
ALORS
	erreur_860026604 = i_EnvoiReqConsTabDistDouble( TD_Fixe, TD_Inter, gmt_date_860026604,i_get_art_fieldptr(g_iartin,$NDR), L_NDR_860026604, L_NDR_860026604, 1, 0, 1)

	SI ( erreur_860026604 !=0 )
	ALORS
		#trace1("Erreur i_EnvoiReqConsTabDistDouble : %d", erreur)
		bREDIST_860026604 = 1
		i_strcpy(pt_LIBELREDIST_860026604,"Echec sur i_EnvoiReqConsTabDistDouble")
	FINSI
FINSI

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

#DRE QC829 G4R7 lot2 Recherche systematique des instances ECC
#SI (!bREDIST)
#ALORS
# TRAFIC
#############################
instTRAFIC_860026604 = i_LireInstanceECC(C_InstTRAFIC_860026604)

SI (!instTRAFIC_860026604)
ALORS
	#trace("Pas d'instance pour TRAFIC !")
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_InstTRAFIC_860026604,C_Article_860026604)
	SAUT DISTRI_ERR
FINSI
#trace1("instTRAFIC=<%d>",instTRAFIC)

# CENTAUREVG
#############################
instCENTAUREVG_860026604 = i_LireInstanceECC(C_InstCENTVG_860026604)

SI (!instCENTAUREVG_860026604)
ALORS
	#trace("Pas d'instance pour CENTAUREVG !")
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_TcentaureVG_860026604,C_Article_860026604)
	SAUT DISTRI_ERR
FINSI

# FE
#############################
instFE_860026604 = i_LireInstanceECC(C_InstFE_860026604)

SI (!instFE_860026604)
ALORS
	#trace("Pas d'instance pour FE !")
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_InstFE_860026604,C_Article_860026604)
	SAUT DISTRI_ERR
FINSI
#trace1("instFE=<%d>",instFE)

# FERPV
#############################
instFERPV_860026604 = i_LireInstanceECC(C_InstFERPV_860026604)

SI (!instFERPV_860026604)
ALORS
	#trace("Pas d'instance pour FERPV !")
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_InstFERPV_860026604,C_Article_860026604)
	SAUT DISTRI_ERR
FINSI
#trace1("instFERPV=<%d>",instFERPV)

# ARAVIS
#############################
instARAVIS_860026604 = i_LireInstanceECC(C_InstARAVIS_860026604)

SI (!instARAVIS_860026604)
ALORS
	#trace("Pas d'instance pour ARAVIS !")
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_InstARAVIS_860026604,C_Article_860026604)
	SAUT DISTRI_ERR
FINSI
#trace1("instARAVIS=<%d>",instARAVIS)

# suppression ECC : ALLOFACT
#############################

# FCT => Supprimee
#############################

# CENTAUREDEA
#############################
instCENTDEA_860026604 = i_LireInstanceECC(C_InstCENTDEA_860026604)

SI (!instCENTDEA_860026604)
ALORS
	trace("Pas d'instance pour CENTAUREDEA !")
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_TcentaureDEA_860026604,C_Article_860026604)
	SAUT DISTRI_ERR
SINON
	bCENTAUREDEA_860026604 = 1
FINSI

# suppression ECC : VTG
#############################

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

# Cas ou l article est envoye vers CENTAURE:

POINT APRES_REQUETE

POINT DISTRI_SYMPH

# G3R23
# CASPER
#############################
instCASPER_860026604 = i_LireInstanceECC(C_InstCASPER_860026604)

SI (!instCASPER_860026604)
ALORS
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_InstCASPER_860026604,C_Article_860026604)
	#trace("******************* __LINE__ Pas d'instance CASPER %***************************")
	SAUT DISTRI_ERR
FINSI
#trace1("instCASPER=<%d>",instCASPER)

#############################
# SYMP
instSYMP_860026604=i_LireInstanceECC(C_InstSYMP_860026604)

SI (!instSYMP_860026604)
ALORS
	#trace("Pas d'instance pour SYMP !")
	code_errone_860026604 = 0xA0B0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,C_InstSYMP_860026604,C_Article_860026604)
	SAUT DISTRI_ERR
FINSI
#trace1("instSYMP=<%d>",instSYMP)

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

#trace1("REJET=<%d>",REJET)
#trace1("CODCIRDR=<%d>",CODCIRDR)
#trace1("CODCIR=<%d>",CODCIR)

# Ajout de l ECC SYMPHONIE a la liste courante des ECC:
erreur_860026604=i_AjouterCouranteECC(instSYMP_860026604)

SI ( i_dup_art_id(g_iartin,g_iartout2) )
ALORS
	#trace("ERREUR de duplication vers SYMPHONIE")
	code_errone_860026604 = 0xA0D0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,"pour Symphonie",C_Article_860026604)
	SAUT DISTRI_ERR
FINSI

SI ( i_valid_field_n(g_iartout2,$Tta6dc::T3ce) )
ALORS
	#trace("Avant i_retrait_TLV T3ce - recup codes circonscription")
	# VerifPcode
	#CODCIRDR=i_get_art_field(g_iartout2, $Tta6dc::CODCIRDR)
	# VerifPcode
	#CODCIR=i_get_art_field(g_iartout2, $Tta6dc::CODCIR)
	erreur_860026604=i_get_art_str(g_iartout2, $Tta6dc::CODCIRDA,pt_CODCIRDA_860026604)

	SI (g_iartout2.CODCIRDA[2] > 9)
	ALORS
		i_get_sub_str(pt_CODCIRDA_860026604,2,5,pt_CODCIRDA_860026604)
	SINON
		i_get_sub_str(pt_CODCIRDA_860026604,1,5,pt_CODCIRDA_860026604)
	FINSI
	erreur_860026604=i_get_art_str(g_iartout2, $Tta6dc::CODCIRA,pt_CODCIRA_860026604)

	SI (g_iartout2.CODCIRA[2] > 9)
	ALORS
		i_get_sub_str(pt_CODCIRA_860026604,2,5,pt_CODCIRA_860026604)
	SINON
		i_get_sub_str(pt_CODCIRA_860026604,1,5,pt_CODCIRA_860026604)
	FINSI

	SI (i_valid_field_n(g_iartout2, $Tta6dc::NORMAL))
	ALORS
		erreur_860026604 = i_get_art_str(g_iartout2, $Tta6dc::NORMAL, pt_nde_normal_860026604)
		#trace2("recup de NDE normalise : %s",pt_nde_normal,"")
	FINSI
	erreur_860026604 = i_supprChamp(g_iartout2,"T3ce")
FINSI

# Duplication article en entree
#	trace("Mise au format SYMPHONIE")
#	trace(g_iartin!NOM[])

SI (i_dup_art_id(g_iartout2,g_iartout))
ALORS
	#trace("ERREUR de duplication vers SYMPHONIE") 
	code_errone_860026604 = 0xA0D0
	code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
	erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,"pour Symphonie",C_Article_860026604)
	SAUT DISTRI_ERR
FINSI

SI (EFFICACE_860026604)
ALORS
	# Renommage en Tsymptta6dc
	#trace("Renommage Tsymptta6dc")
	SI(i_rename_art(g_iartout,C_Tsymptta6dc_860026604))
	ALORS
		trace("ERREUR i_rename_art")
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_Tsymptta6dc_860026604,C_Article_860026604)
		SAUT DISTRI_ERR
	FINSI
SINON
	# Renommage en Tsymptta6Inef
	#trace("Renommage Tsymptta6Inef")

	SI (i_rename_art(g_iartout,"Tsymptta6Inef"))
	ALORS
		#trace("ERREUR i_rename_art") 
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_Tsymptta6dc_860026604,C_Article_860026604)
		SAUT DISTRI_ERR
	FINSI
	
	SAUT APRES_CRITERES
FINSI

SI (distri_symph_860026604)
ALORS
	SAUT APRES_CRITERES
FINSI

# Cas d'un article vers CENTAURE:
SI (envoi_CENT_860026604==1)
ALORS
	#trace("Saut des criteres de distribution (sauf CENTAURE et SYMP)")
	SAUT APRES_CRITERES
FINSI

##############################################################################
# Attente requete Table de Distribution
##############################################################################

SI (!bREDIST_860026604)
ALORS
	erreur_860026604 = i_LireReqConsTabDist()
	#trace1("RETOUR i_LireReqConsTabDist, erreur=<%d>",erreur)
	SI ( erreur_860026604 != 0 )
	ALORS
		bREDIST_860026604 = 1
		i_strcpy(pt_LIBELREDIST_860026604,"Echec sur i_LireReqConsTabDist")
		SAUT AVANT_REDIST
	FINSI
FINSI

## FE:
SI ( instFE_860026604 > 0 )
ALORS
	res_860026604 = i_LireInfoECC(instFE_860026604, 0)
	#trace1("Retour de i_LireInfoECC -  FE: <%d>",res)
	SI (res_860026604 != 0)
	ALORS
		#trace( "FE appartient a la table DISTRI")
		bFE_860026604=1
	FINSI
FINSI

## FERPV:
SI ( instFERPV_860026604 > 0 )
ALORS
	res_860026604 = i_LireInfoECC(instFERPV_860026604, 0)
	#trace1("Retour de i_LireInfoECC -  FERPV: <%d>",res)
	SI (res_860026604 != 0)
	ALORS
		#trace( "FERPV appartient a la table DISTRI")
		bFERPV_860026604=1
		erreur_860026604 = i_LireChaineInfo(res_860026604,0,1,pt_InfoCompl_860026604)
		SI (!i_strcmp(pt_InfoCompl_860026604,"1"))
		ALORS
			i_strcpy(pt_service_860026604,"1")
		SINON
			SI (!i_strcmp(pt_InfoCompl_860026604,"2"))
			ALORS
				i_strcpy(pt_service_860026604,"2")
			SINON
				i_strcpy(pt_service_860026604,"4")
			FINSI
		FINSI
	FINSI
FINSI

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

# suppression ECC : SC / ALLOFACT:

################################################################################
# Criteres de distribution (sauf CENTAURE)
################################################################################

#-------------------------------------------------------------------------------
# Criteres Communs (ARAVIS, FE, FERPV, TRAFIC, DELTA_MINUTE, ALLOFACT_FDE)
#-------------------------------------------------------------------------------

crit_comm_860026604=0
#DRE G4R6 Lot2
#SI ( EFFICACE && (REJET == 0 || (REJET == 1 &&  bSRP_Sporta_SPN)) && !ADO && !vTGPRI && CAX!=3 )
#DRE G4R7 QC829
#SI ( EFFICACE && (REJET == 0 || (REJET == 1 &&  bSRP_Sporta_SPN) || REJET == CPT_CPS_Loc ) && !ADO && !vTGPRI && CAX!=3 )
SI ( EFFICACE_860026604 && (REJET_860026604 != 1 || (REJET_860026604 == 1 &&  bSRP_Sporta_SPN_860026604)) && (!b_Fact_CPS_RI_860026604 || (b_Fact_CPS_RI_860026604 &&  bSRP_Sporta_SPN_860026604)) && !ADO_860026604 && !vTGPRI_860026604 && CAX_860026604!=3 )
ALORS
	crit_comm_860026604=1
FINSI
#trace1("crit_comm=<%d>",crit_comm)
#trace1("CCD=<%d>",CCD)

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

#-----------------------------------------------------------------------
# FCT => Supprimee
#-----------------------------------------------------------------------

#------------------------------------------------------------------------
# VTG_VALO => Supprimee
#------------------------------------------------------------------------

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

SI ( crit_comm_860026604 && bARAVIS_860026604 && ( GVPN_860026604==1 ) && !RPV_860026604 && !RPVI_DIRECT_860026604 && !( VTGRI_CAX_860026604 || VTGRI_3BPQ_860026604 ) 
  && !OPT_860026604 && !ROC_860026604 && !VGA_860026604 && !EVTPE_860026604 && !bVGTplus_860026604 )
ALORS
	erreur_860026604=i_AjouterCouranteECC(instARAVIS_860026604)

	SI ( ENVELOPPE_NOK_860026604 )
	ALORS
		#IFDEF trace_niv1 = 1
		trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/ARAVIS")
		#ENDIF
		ENVELOPPE_NOK_860026604 = i_add_opt( "E_Tta6dc" )
	FINSI
	erreur_860026604 = i_set_attr_val_n( $E_Tta6dc::DATE_M, ICAR_ABS_860026604)
	erreur_860026604 = i_set_attr_val_n( $E_Tta6dc::DATE_L, ICAR_REL_860026604)
	#IFDEF trace_niv1 = 1
	trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026604)
	#ENDIF
SINON
	bARAVIS_860026604=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 
#--------------------------------------------------------------------------------------

#Criteres nominaux
SI (crit_comm_860026604 && !RPV_860026604 && !RPVI_DIRECT_860026604 && !bARAVIS_860026604 && bFERPV_860026604 && !OPT_860026604 && !ROC_860026604 && !VGA_860026604 && !EVTPE_860026604  && !bVGTplus_860026604)
ALORS
	b_FERPV_860026604 = 1
FINSI

SI (b_FERPV_860026604 || b_FERPV_NBE_860026604)
ALORS
	erreur_860026604=i_AjouterCouranteECC(instFERPV_860026604)
	# Recup du code CFR
	res_860026604 = i_LireInfoECC( instTRAFIC_860026604, 0 )

	SI (res_860026604 != 0)
	ALORS
		dizaine_860026604 = i_LireEntierInfo(res_860026604,0,1)
		unite_860026604 = i_LireEntierInfo(res_860026604,1,1)
		cfr_860026604 = (dizaine_860026604 & 0x0F) * 10 + (unite_860026604 & 0x0F)

		SI ( ENVELOPPE_NOK_860026604 )
		ALORS
			#IFDEF trace_niv1 = 1
			trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/FERPV")
			#ENDIF
			ENVELOPPE_NOK_860026604 = i_add_opt( "E_Tta6dc" )
			# mise en conformite de la gestion de l'enveloppe
		FINSI
		erreur_860026604 = i_set_attr_val_n( $E_Tta6dc::CFR, cfr_860026604)
		erreur_860026604 = i_set_attr_val_n( $E_Tta6dc::DATE_M, ICAR_ABS_860026604)
		erreur_860026604 = i_set_attr_val_n( $E_Tta6dc::DATE_L, ICAR_REL_860026604)

		#IFDEF trace_niv1 = 1
		trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026604)
		trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026604)
		#ENDIF
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026604,"Indicatif inconnu de MAJ2G")
		bREDIST_860026604 = 1

		SAUT AVANT_REDIST
	FINSI
SINON
	bFERPV_860026604=0
FINSI
trace1("<<<__LINE__<<< ==b_FERPV= <%d> =======",b_FERPV_860026604)
trace1("<<<__LINE__<<< ==b_FERPV_NBE= <%d>====",b_FERPV_NBE_860026604)

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

SI (crit_comm_860026604 && !RPV_860026604 && !RPVI_DIRECT_860026604 && !bARAVIS_860026604 && !bFERPV_860026604 && bFE_860026604 && !OPT_860026604 && !ROC_860026604 && !VGA_860026604 && !EVTPE_860026604  && !bVGTplus_860026604)
ALORS
	erreur_860026604=i_AjouterCouranteECC(instFE_860026604)
SINON
	bFE_860026604=0
FINSI

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

#trace1("crit_comm=<%d>",crit_comm)
#trace1("RPV=<%d>",RPV)
#trace1("VTGRI_CAX=<%d>",VTGRI_CAX)
#trace1("VTGRI_3BPQ=<%d>",VTGRI_3BPQ)
#trace1("vTGPRI=<%d>",vTGPRI)


# Modification criteres de distri TRAFIC 
SI ( ( crit_comm_860026604 && !RPV_860026604 && !RPVI_DIRECT_860026604 && !bARAVIS_860026604 && !bFE_860026604 && !b_FERPV_860026604 && ( instTRAFIC_860026604>0 ) 
    && !( VTGRI_CAX_860026604 || VTGRI_3BPQ_860026604 ) && !OPT_860026604 && !ROC_860026604 ) || b_FERPV_NBE_860026604 )
ALORS
	# Gestion du code CFR:
	res_860026604=i_LireInfoECC(instTRAFIC_860026604, 0)
	SI (res_860026604 != 0)
	ALORS
		erreur_860026604 = i_LireChaineInfo( res_860026604, 0, 3, pt_InfoCompl_860026604)
		#trace2(" Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl, "")

		erreur_860026604 = i_format_str2(pt_inst_860026604, "TRAF%s", pt_InfoCompl_860026604,0)
		#trace2("Concatenation de TRAF avec info.compl: <%s>", pt_inst, "")

		instECCTRAFIC_860026604 = i_LireInstanceECC(pt_inst_860026604)
		#trace1("Instance de TRAFIC: instTRAFIC=<%d>",instECCTRAFIC)

		SI (!instECCTRAFIC_860026604)
		ALORS
			code_errone_860026604 = 0xA0B0
			code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
			erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,pt_inst_860026604,C_Article_860026604)
			SAUT DISTRI_ERR
		FINSI

		erreur_860026604=i_AjouterCouranteECC(instECCTRAFIC_860026604)
		bTRAFIC_860026604=1

# 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 

		SI (VGA_860026604 || EVTPE_860026604  || bVGTplus_860026604 )
		ALORS
			erreur_860026604 = i_AjouterCouranteECC(instCENTAUREVG_860026604)
			bCENTVG_860026604 = 1
			#trace("G2R2Cd bCENTVG mis a 1")
		FINSI
	SINON
		trace("Envoi en redistribution")
		i_strcpy(pt_LIBELREDIST_860026604,"Indicatif inconnu de MAJ2G")
		bREDIST_860026604 = 1
		SAUT AVANT_REDIST
	FINSI
FINSI

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

SI ( crit_comm_860026604  )
ALORS
	SI ( ( bFE_860026604 || RPV_860026604  || VTGRI_CAX_860026604 || VTGRI_3BPQ_860026604|| OPT_860026604 || ROC_860026604 ) && !VGA_860026604 && !EVTPE_860026604  && !bVGTplus_860026604)
	ALORS
		#Traitement du code CFR:
		res_860026604=i_LireInfoECC(instTRAFIC_860026604, 0)
		#trace1("Retour i_LireInfoECC(instTRAFIC, 0)= <%d>",res) 
		SI (res_860026604 != 0)
		ALORS
			erreur_860026604 = i_LireChaineInfo( res_860026604, 0, 3, pt_InfoCompl_860026604)
			#trace2(" Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl, "")

			erreur_860026604 = i_format_str2(pt_DM_860026604, "DM%s", pt_InfoCompl_860026604,0)
			#trace2("Concatenation de DM avec info.compl: <%s>", pt_DM, "")

			instDM_860026604 = i_LireInstanceECC(pt_DM_860026604)
			#trace1("Instance de DM: instDM=<%d>",instDM)

			SI (!instDM_860026604)
			ALORS
				code_errone_860026604 = 0xA0B0
				code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
				erreur_860026604 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026604,pt_DM_860026604,C_Article_860026604)
				SAUT DISTRI_ERR
			FINSI
			erreur_860026604=i_AjouterCouranteECC(instDM_860026604)

			SI (bFE_860026604)
			ALORS
				dizaine_860026604 = i_LireEntierInfo(res_860026604,0,1)
				unite_860026604 = i_LireEntierInfo(res_860026604,1,1)
				cfr_860026604 = (dizaine_860026604 & 0x0F) * 10 + (unite_860026604 & 0x0F)
				SI ( ENVELOPPE_NOK_860026604 )
				ALORS
					#IFDEF trace_niv1 = 1
					trace("__FILE__:__LINE__ ======> Creation enveloppe CFR/FE")
					#ENDIF

					ENVELOPPE_NOK_860026604 = i_add_opt("E_Tta6dc")
					# mise en conformit? de la gestion de lenveloppe
				FINSI
				erreur_860026604 = i_set_attr_val_n($E_Tta6dc::CFR,cfr_860026604)

				#IFDEF trace_niv1 = 1
				trace1("__FILE__:__LINE__ ======> code CFR : <%d> ", cfr_860026604)
				trace1("__FILE__:__LINE__ ======> ENVELOPPE_NOK : <%d> ", ENVELOPPE_NOK_860026604)
				#ENDIF
			FINSI
		SINON
			trace("Envoi en redistribution")
			i_strcpy(pt_LIBELREDIST_860026604,"Indicatif inconnu de MAJ2G")
			bREDIST_860026604 = 1
			SAUT AVANT_REDIST
		FINSI
	FINSI
FINSI

# Cas d'un article envoye vers CENTAURE ou inefficace:

POINT APRES_CRITERES

#################################################################################
##G4R3 Tests des criteres envoi a APACHE_DC
#################################################################################

#-------------------------------------------------------------------------
# suppression ECC / ALLOFACT / SC
#-------------------------------------------------------------------------


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

# Portabilite Entrante SVA
SI (EFFICACE_860026604 && arretfct_centaure_860026604 == 1 && CAX_860026604 != 3 && bSRP_Eporta_SPN_860026604 == 0)
ALORS
	SI (bCENTAUREDEA_860026604 == 1)
	ALORS
		erreur_860026604 = i_AjouterCouranteECC(instCENTDEA_860026604)
	FINSI
SINON
	bCENTAUREDEA_860026604 = 0
FINSI

#G3R23
#-------------------
#  CASPER
#-------------------
SI (b_NSUC_860026604 == 1)
ALORS
	erreur_860026604=i_AjouterCouranteECC(instCASPER_860026604)
FINSI

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

SI ( EFFICACE_860026604 && !OPT_860026604 && !ROC_860026604
  && ( !RPV_860026604 && !RPVI_DIRECT_860026604 && !VTGRI_CAX_860026604 && !VTGRI_3BPQ_860026604 && !ADO_860026604 && !vTGPRI_860026604 ) 
  && !envoi_CENT_860026604 && !bARAVIS_860026604 && !bFE_860026604 && !bTRAFIC_860026604 && !bREDIST_860026604 && !bFERPV_860026604 
  && (REJET_860026604 == 0 || ( REJET_860026604 == 1 &&  bSRP_Sporta_SPN_860026604 ) ) )
ALORS
	#trace("Controles en erreur !")
#DRE - G4R7 QC829
	SI (i_strcmp(pt_LIBELREDIST_860026604,"") == 0 )
	ALORS
		i_strcpy(pt_LIBELREDIST_860026604,"Incoherence sur les controles")
	FINSI
	bREDIST_860026604 = 1
	SAUT AVANT_REDIST
FINSI

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

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

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

SI (!i_ChercherCouranteECC(instECCTRAFIC_860026604) )
ALORS
	i_strcpy(pt_eccfact_860026604, pt_inst_860026604)
	#trace("Mise au format TRAFIC")	

	# Duplication de l article
	#trace("Duplication vers TRAFIC")
	SI (i_dup_art_dest(g_iartin,g_iartout2,C_Ttrafic_860026604))
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_Ttrafic_860026604,C_Article_860026604)
		SAUT  DISTRI_ERR
	FINSI

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

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

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

	#trace("initialisation de DOMAINE et SERVICE")

	# DOMAINE
	erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::DOMAINE, "05")

	# SERVICE
	erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::SERVICE, "00")

	# DATE
	erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::DATE,ICAR_REL_860026604)

	#champ CAX
	erreur_860026604=i_set_art_field(g_iartout2, $Ttrafic::CAX, CAX_860026604)

	#champ NDS_NUM
	SI ( i_valid_field_n(g_iartin, $Tta6dc::NUMNOS) )
	ALORS
		erreur_860026604=i_get_art_str(g_iartin, $NUMNOS, pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::NDS_NUM, pt_BUF_860026604)
	FINSI

	#champ SUP
	SI  (i_valid_field_n(g_iartin, $Tta6dc::T3cab))
	ALORS
		erreur_860026604=i_set_art_field(g_iartout2, $Ttrafic::SUP, SUP_860026604)
	FINSI

	#champ DUREE
	erreur_860026604=i_set_art_field(g_iartout2, $Ttrafic::DUREE, dduree_860026604)

	#champ TAX
#DRE G4R6 Lot2
#DRE - G4R7 QC829
#	SI (REJET==CPT_CPS_Loc)
	SI b_Fact_CPS_Loc_860026604
	ALORS
		erreur_860026604=i_set_art_field(g_iartout2, $Ttrafic::TAX, tax_860026604)
	SINON
		SI ( (SRP_PORTE_860026604 == 1) && (tax_860026604 == 0) )
		ALORS
			erreur_860026604=i_set_art_field(g_iartout2, $Ttrafic::TAX,TAXE_CAL_860026604)
		SINON
			erreur_860026604=i_set_art_field(g_iartout2, $Ttrafic::TAX, tax_860026604)
		FINSI
	FINSI
#\DRE G4R6 Lot2

	# Gestion des champ NB_CSV, C_CSVI et OP_CSVI
	#trace("Traitement des C_CSV et OP_CSV")
	indice_860026604=0
	erreur_860026604=i_set_art_field(g_iartout2, $Ttrafic::NB_CSV, indice_860026604)
	num_champ_860026604=$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)="T2"
	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_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout2,num_champ_860026604,"T2")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tta6dc::T3sidr)) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout2,num_champ_860026604,"C")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::T3cle))
	ALORS
		SI (g_iartin.CLE1==0x0b)
		ALORS
			indice_860026604=indice_860026604+1
			erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026604)
			erreur_860026604=i_set_art_str(g_iartout2,num_champ_860026604,"30")
			num_champ_860026604=num_champ_860026604+2
		FINSI
	FINSI

	SI (i_get_bit_val(TAP_860026604, 8)==1)
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout2,num_champ_860026604,"T")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_get_bit_val(TAP_860026604, 6)==1)
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout2,num_champ_860026604,"3")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 3)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout2,num_champ_860026604,"D")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 2)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout2,num_champ_860026604,"N")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 1)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout2,$Ttrafic::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout2,num_champ_860026604,"O")
	FINSI

	# Initialisation des champs OP_CSVI
	num_champ_860026604=$Ttrafic::NB_CSV+2
	res_860026604=0
	POINT DEB_BOUC1
	SI ( (res_860026604<indice_860026604) && (res_860026604<5) )
	ALORS
		res_860026604=res_860026604+1
		erreur_860026604=i_memset_field_n(g_iartout2,num_champ_860026604,0xE4)
		num_champ_860026604=num_champ_860026604+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_860026604=i_set_art_str(g_iartout2,$Ttrafic::OP_CSV1,"A")
	FINSI

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

	SI (i_valid_field_n(g_iartin, $Tta6dc::BETAV))
	ALORS
		erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::COCAV,pt_COCAV_860026604)
	SINON
		erreur_860026604=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, $Tta6dc::T3idav) )
	ALORS
		SI bPortabilite_mobile_860026604 == 1
		ALORS
			res_860026604 = 99
		SINON
			res_860026604 = i_get_art_field(g_iartin, $Tta6dc::INF_IDAV)
		FINSI
		erreur_860026604 =i_set_art_field(g_iartout2, $Ttrafic::IDAV_INF, res_860026604)
		erreur_860026604 = i_get_art_str(g_iartin, $Tta6dc::NUM_IDAV, pt_BUF_860026604)
		erreur_860026604 = i_set_art_str(g_iartout2, $Ttrafic::IDAV_NUM, pt_BUF_860026604)
	FINSI

	#champ MNEMO
	erreur_860026604=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

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

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

	#champ CLASSDEST Cbb desormais CCD_REEL
	erreur_860026604=i_set_art_field(g_iartout2, $Ttrafic::CLASSDEST, CCD_REEL_860026604)

	#Champ OFFRE et OPERATEUR
	SI (bVGTplus_860026604)
	ALORS
		#trace2("VGT+ OFFRE=<%s>",pt_VGTplus_OF,"")
		#trace2("VGT+ OPERATEUR=<%s>",pt_VGTplus_OP,"")
		erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::OFFRE, pt_VGTplus_OF_860026604)
		erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::OPERATEUR, pt_VGTplus_OP_860026604)
	SINON
		SI (VGA_860026604)
		ALORS
			#trace2("VGA OFFRE=<%s>",pt_VGA_OF,"")
			#trace2("VGA OPERATEUR=<%s>",pt_VGA_OP,"")
			erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::OFFRE, pt_VGA_OF_860026604)
			erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::OPERATEUR, pt_VGA_OP_860026604)
		SINON
			SI (EVTPE_860026604)
			ALORS
				#trace2("EVTE OFFRE=<%s>",pt_EVTPE_OF,"")
				#trace2("EVTPE OPERATEUR=<%s>",pt_EVTPE_OP,"")
				erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::OFFRE, pt_EVTPE_OF_860026604)
				erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::OPERATEUR, pt_EVTPE_OP_860026604)
			FINSI
		FINSI
	FINSI
	
# DRE G4R6 Lot2
	# TAG
	erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::TAG, " ")
	
	# TYPE_EDIT
	erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::TYPE_EDIT, pt_TYPE_EDIT_860026604)
	
	# CODE_TARIF
	erreur_860026604=i_set_art_str(g_iartout2, $Ttrafic::CODE_TARIF, pt_CODE_TARIF_860026604)
# \DRE G4R6 Lot2
		
	
FINSI

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

SI ( !i_ChercherCouranteECC(instDM_860026604) )
ALORS
	#trace("Mise au format DM")

	# Duplication de l article
	#trace("Duplication vers DM")
	SI (i_dup_art_dest(g_iartin,g_iartout4,C_Tdelta_minute_860026604))
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_Tdelta_minute_860026604,C_Article_860026604)
		SAUT  DISTRI_ERR
	FINSI

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

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

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

	#trace("initialisation de DOMAINE et SERVICE")

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

	SI (RPV_860026604==1)
	ALORS
		# marquage RPV
		#trace("Cas DM avec RPV")
		erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::DOMAINE, "95")
	FINSI

	SI (CCD_860026604 == 0x18 && EPORTABILITE_860026604 == 0)
	ALORS
		# marquage FCT
		#trace("Cas DM avec FCT")
		erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::DOMAINE, "96")
	FINSI

	#trace1("VTGRI_3BPQ=<%d>",VTGRI_3BPQ) 
	#trace1("VTGRI_CAX=<%d>",VTGRI_CAX) 

	SI ( (VTGRI_3BPQ_860026604==1)||(VTGRI_CAX_860026604==1) )
	ALORS
		# marquage VTG_RI
		#trace("Cas DM avec VTG_RI")
		erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::DOMAINE, "94")
	FINSI

	# SERVICE
	erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::SERVICE, "00")

	# DATE
	erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::DATE,ICAR_REL_860026604)

	#champ CAX
	erreur_860026604=i_set_art_field(g_iartout4, $Tdelta_minute::CAX, CAX_860026604)

	#champ NDS_NUM
	SI ( i_valid_field_n(g_iartin, $Tta6dc::NUMNOS) )
	ALORS
		erreur_860026604=i_get_art_str(g_iartin, $NUMNOS, pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::NDS_NUM, pt_BUF_860026604)
	FINSI

	#champ DUREE
	erreur_860026604=i_set_art_field(g_iartout4, $Tdelta_minute::DUREE, dduree_860026604)

	#champ TAX
	SI ( (SRP_PORTE_860026604 == 1) && (tax_860026604 == 0) )
	ALORS
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::TAX,TAXE_CAL_860026604)
	SINON
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::TAX,tax_860026604)
	FINSI

	# Gestion des champ NB_CSV, C_CSVI et OP_CSVI
	#trace("Traitement des C_CSV et OP_CSV")
	indice_860026604=0
	erreur_860026604=i_set_art_field(g_iartout4, $Tdelta_minute::NB_CSV, indice_860026604)
	num_champ_860026604=$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)="T2"
	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_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout4,num_champ_860026604,"T2")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::T3sidr))
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout4,num_champ_860026604,"C")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::T3cle))
	ALORS
		SI (g_iartin.CLE1==0x0b)
		ALORS
			indice_860026604=indice_860026604+1
			erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026604)
			erreur_860026604=i_set_art_str(g_iartout4,num_champ_860026604,"30")
			num_champ_860026604=num_champ_860026604+2
		FINSI
	FINSI

	SI (i_get_bit_val(TAP_860026604, 8)==1)
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout4,num_champ_860026604,"T")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_get_bit_val(TAP_860026604, 6)==1)
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout4,num_champ_860026604,"3")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 3)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout4,num_champ_860026604,"D")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 2)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout4,num_champ_860026604,"N")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 1)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout4,$Tdelta_minute::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout4,num_champ_860026604,"O")
	FINSI

	# Initialisation des champs OP_CSVI
	num_champ_860026604=$Tdelta_minute::NB_CSV+2
	res_860026604=0
	POINT DEB_BOUC2
	SI ( (res_860026604<indice_860026604)&&(res_860026604<5) )
	ALORS
		res_860026604=res_860026604+1
		erreur_860026604=i_memset_field_n(g_iartout4,num_champ_860026604,0xE4)
		num_champ_860026604=num_champ_860026604+2
		SAUT DEB_BOUC2
	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_860026604=i_set_art_str(g_iartout4,$Tdelta_minute::OP_CSV1,"A")
	FINSI

	#champ SUP
	SI  (i_valid_field_n(g_iartin, $Tta6dc::T3cab))
	ALORS
		erreur_860026604=i_set_art_field(g_iartout4, $Tdelta_minute::SUP, SUP_860026604)
	FINSI

	#champ COCA et COCAV
	SI (i_valid_field_n(g_iartin, $Tta6dc::BETA))
	ALORS
		erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::COCA,pt_COCA_860026604)
	SINON
		erreur_860026604=i_memset_field_n(g_iartout4,$Tdelta_minute::COCA,0x40)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::BETAV))
	ALORS
		erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::COCAV,pt_COCAV_860026604)
	SINON
		erreur_860026604=i_memset_field_n(g_iartout4,$Tdelta_minute::COCAV,0x40)
	FINSI

	#champ IDAV_INF et IDAV_NUM
	SI ( i_valid_field_n(g_iartin, $Tta6dc::INF_IDAV))
	ALORS
		res_860026604=i_get_art_field(g_iartin, $Tta6dc::INF_IDAV)
		erreur_860026604=i_set_art_field(g_iartout4, $Tdelta_minute::IDAV_INF, res_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::NUM_IDAV))
	ALORS
		erreur_860026604=i_get_art_str(g_iartin, $Tta6dc::NUM_IDAV,pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::IDAV_NUM,pt_BUF_860026604)
	FINSI

	#champ MNEMO
	erreur_860026604=i_set_art_str(g_iartout4,$Tdelta_minute::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

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

	#champ SGTQS
	#trace("Avant LireEECSGTQS")
	#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
	#trace2("Apres LireEECSGTQS=%s", pt_SGTQS, "")
	erreur_860026604=i_set_art_str(g_iartout4, $Tdelta_minute::SGTQS, pt_SGTQS_860026604)
	#trace("Apres set_art_str")

	#champ CLASSDEST Cbb desormais CCD_REEL
	erreur_860026604=i_set_art_field(g_iartout4, $Tdelta_minute::CLASSDEST, CCD_REEL_860026604)
FINSI

#---------------------------------------------------------------------------
# suppression ECC / VTG_VALO
#---------------------------------------------------------------------------

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

SI ( !i_ChercherCouranteECC(instFE_860026604) )
ALORS
	i_strcpy(pt_eccfact_860026604, "FE")
	#trace("Mise au format FE")

	#trace("Appel de la table de duplication")
	SI (i_dup_art_dest(g_iartin,g_iartout6,C_Tfe_860026604))
	ALORS
		trace("erreur de duplication de l'article")
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_Tfe_860026604,C_Article_860026604)
		SAUT DISTRI_ERR
	FINSI

	#SERVICE
	erreur_860026604=i_set_art_str(g_iartout6,$Tfe::SERVICE,"00")

	#NDR
	erreur_860026604=i_get_art_str(g_iartin,$NDR,pt_BUF_860026604)
	i_replace_str(pt_BUF_860026604,"BCDE","AJSC",pt_BUF_860026604)
	erreur_860026604=i_set_art_str(g_iartout6,$Tfe::IDUS_NUM,pt_BUF_860026604)

	# Champ NDEDE
	SI (TRANSGROUPE_860026604==0)
	ALORS
		#trace("Article NON TRANSGROUPE")

		# Recuperation du num demande
		erreur_860026604=i_get_art_str(g_iartin,$Tta6dc::NDE,pt_BUF_860026604)
		i_replace_str(pt_BUF_860026604,"ABC","A*#",pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,$Tfe::DEDE_NUM,pt_BUF_860026604)
	SINON
		#trace("Article TRANSGROUPE: formatage de DEDE")
		erreur_860026604=i_get_art_str(g_iartin,$Tta6dc::NDE,pt_BUF_860026604)
		#trace("AVANT formatage")
		#trace2("#NDE# <%s>",pt_BUF,"")

		SI ( ConvTransgrp_860026233($Tta6dc::NDE,g_iartout6,$Tfe::DEDE_NUM)!=0 )
		ALORS
			#trace("Retour NOK pour ConvTrangrp") 
			SAUT DISTRI_ERR
		FINSI
	FINSI
	#trace("FIN formatage DEDE_NUM")

	# Paliatif bit D DEDE_INF
	INF_DEDE_TRAF_860026604 = i_get_art_field(g_iartout6,$Tfe::DEDE_INF)
	INF_DEDE_TRAF_860026604 = INF_DEDE_TRAF_860026604 & 0xEF
	erreur_860026604 = i_set_art_field(g_iartout6,$Tfe::DEDE_INF,INF_DEDE_TRAF_860026604)

	# DATE
	erreur_860026604=i_set_art_field(g_iartout6,$Tfe::DATE,ICAR_REL_860026604)

	# NDS_INF
	SI ( i_valid_field_n(g_iartin, $Tta6dc::INFNOS) )
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::INFNOS)
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NDS_INF,res_860026604)
	FINSI

	# NDS_NUM
	SI ( i_valid_field_n(g_iartin, $Tta6dc::NUMNOS) )
	ALORS
		erreur_860026604=i_get_art_str(g_iartin,$Tta6dc::NUMNOS,pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,$Tfe::NDS_NUM,pt_BUF_860026604)
	FINSI

	# CAX
	erreur_860026604=i_set_art_field(g_iartout6,$Tfe::CAX,CAX_860026604)

	#champ DUREE
	erreur_860026604=i_set_art_field(g_iartout6,$Tfe::DUREE,dduree_860026604)

	#champ TAX
#DRE G4R6 Lot2
#DRE - G4R7 QC829
#	SI (REJET==CPT_CPS_Loc)
	SI b_Fact_CPS_Loc_860026604
	ALORS
		erreur_860026604=i_set_art_field(g_iartout6, $Tfe::TAX, tax_860026604)
	SINON
		SI ( (SRP_PORTE_860026604 == 1) && (tax_860026604 == 0) )
		ALORS
			erreur_860026604=i_set_art_field(g_iartout6,$Tfe::TAX,TAXE_CAL_860026604)
		SINON
			erreur_860026604=i_set_art_field(g_iartout6,$Tfe::TAX,tax_860026604)
		FINSI
	FINSI
#\DRE G4R6 Lot2

	#champ SUP
	SI (i_valid_field_n(g_iartin,$Tta6dc::T3cab))
	ALORS
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::SUP,SUP_860026604)
	FINSI

	# CCD Cbb desormais CCD_REEL
	erreur_860026604=i_set_art_field(g_iartout6,$Tfe::CLASSDEST, CCD_REEL_860026604)

	# Gestion des champ NB_CSV, C_CSVI et OP_CSVI
	#trace("Traitement des C_CSV et OP_CSV")
	indice_860026604=0
	erreur_860026604=i_set_art_field(g_iartout6, $Tfe::NB_CSV, indice_860026604)
	num_champ_860026604=$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)="T2"
	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_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,num_champ_860026604,"T2")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tta6dc::T3sidr)) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,num_champ_860026604,"C")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::T3cle))
	ALORS
		SI (g_iartin.CLE1==0x0b)
		ALORS
			indice_860026604=indice_860026604+1
			erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NB_CSV,indice_860026604)
			erreur_860026604=i_set_art_str(g_iartout6,num_champ_860026604,"30")
			num_champ_860026604=num_champ_860026604+2
		FINSI
	FINSI

	SI (i_get_bit_val(TAP_860026604, 8)==1)
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,num_champ_860026604,"T")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_get_bit_val(TAP_860026604, 6)==1)
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,num_champ_860026604,"3")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 3)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,num_champ_860026604,"D")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 2)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,num_champ_860026604,"N")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 1)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout6,$Tfe::NB_CSV,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout6,num_champ_860026604,"O")
	FINSI

	# Initialisation des champs OP_CSVI
	num_champ_860026604=$Tfe::NB_CSV+2
	res_860026604=0
	POINT DEB_BOUC4
	SI ( (res_860026604<indice_860026604)&&(res_860026604<5) )
	ALORS
		res_860026604=res_860026604+1
		erreur_860026604=i_memset_field_n(g_iartout6,num_champ_860026604,0xE4)
		num_champ_860026604=num_champ_860026604+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_860026604=i_set_art_str(g_iartout6,$Tfe::OP_CSV1,"A")
	FINSI

	#champ COCA et COCAV
	SI (i_valid_field_n(g_iartin, $Tta6dc::BETA))
	ALORS
		erreur_860026604=i_set_art_str(g_iartout6, $Tfe::COCA,pt_COCA_860026604 )
	FINSI
	SI (i_valid_field_n(g_iartin, $Tta6dc::BETAV))
	ALORS
		erreur_860026604=i_set_art_str(g_iartout6, $Tfe::COCAV,pt_COCAV_860026604)
	FINSI

	#champ IDAV_INF et IDAV_NUM
	# si Portabilite Mobiles alors IDAV/INF = 099
	SI ( i_valid_field_n(g_iartin, $Tta6dc::T3idav) )
	ALORS
		SI bPortabilite_mobile_860026604 == 1
		ALORS
			res_860026604 = 99
		SINON
			res_860026604 = i_get_art_field(g_iartin, $Tta6dc::INF_IDAV)
		FINSI
		erreur_860026604 = i_set_art_field(g_iartout6, $Tfe::IDAV_INF, res_860026604)
		erreur_860026604 = i_get_art_str(g_iartin, $Tta6dc::NUM_IDAV, pt_BUF_860026604)
		erreur_860026604 = i_set_art_str(g_iartout6, $Tfe::IDAV_NUM, pt_BUF_860026604)
	FINSI

# DRE G4R6 Lot2
	# TAG
	erreur_860026604=i_set_art_str(g_iartout6, $Tfe::TAG, " ")
	
	# TYPE_EDIT
	erreur_860026604=i_set_art_str(g_iartout6, $Tfe::TYPE_EDIT, pt_TYPE_EDIT_860026604)
	
	# CODE_TARIF
	erreur_860026604=i_set_art_str(g_iartout6, $Tfe::CODE_TARIF, pt_CODE_TARIF_860026604)
# \DRE G4R6 Lot2

	#champs MNEMO
	erreur_860026604=i_set_field_str(g_iartout6,"MNEMO","          ")
	#trace(g_iartin!NOM[])
	
FINSI

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

SI (!i_ChercherCouranteECC(instFERPV_860026604))
ALORS
	#trace("Stockage vers FERPV")
	SI b_FERPV_860026604
	ALORS
		i_strcpy(pt_eccfact_860026604, "FE")
	FINSI
	# Duplication article en entree
	SI (i_dup_art_dest( g_iartin, g_iartout11, C_Tfe_rpvRG_860026604 ))
	ALORS
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_Tfe_rpvRG_860026604,C_Article_860026604)
		SAUT DISTRI_ERR
	FINSI

	# SERVICE
	res_860026604 = i_LireInfoECC( instFERPV_860026604, 0 )
	SI (b_OperNBE_860026604 && (bVGTplus_860026604 || EVTPE_860026604))
	ALORS
		erreur_860026604 = i_set_art_str(g_iartout11,$Tfe_rpvRG::SERVICE,"8")
	SINON
		erreur_860026604 = i_set_art_str(g_iartout11,$Tfe_rpvRG::SERVICE,pt_service_860026604)
	FINSI

	# SOURCE
	SI (b_OperNBE_860026604 && (bVGTplus_860026604 || EVTPE_860026604))
	ALORS
		erreur_860026604 = i_set_art_str(g_iartout11,$Tfe_rpvRG::SOURCE,"19")
	SINON
		erreur_860026604 = i_set_art_str(g_iartout11,$Tfe_rpvRG::SOURCE,"03")
	FINSI

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

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

	# DEBUT
	erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::DEBUT,ICAR_REL_860026604)

	# DUREE
	erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::DUREE,dduree_860026604)

	# NBUT 
#DRE G4R6 Lot2
#DRE - G4R7 QC829
#	SI (REJET==CPT_CPS_Loc)
	SI b_Fact_CPS_Loc_860026604
	ALORS
		erreur_860026604=i_set_art_field(g_iartout11, $Tfe_rpvRG::NBUT, tax_860026604)
	SINON
		SI ( (SRP_PORTE_860026604 == 1) && (tax_860026604 == 0) )
		ALORS
			erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::NBUT,TAXE_CAL_860026604)
		SINON
			erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::NBUT,tax_860026604)
		FINSI
	FINSI
#\DRE G4R6 Lot2

	# Gestion des champ NBCOD, C_CSVI et OP_CSVI
	#trace("Traitement des C_CSV et OP_CSV")
	indice_860026604=0
	erreur_860026604=i_set_art_field(g_iartout11, $Tfe_rpvRG::NBCOD, indice_860026604)
	num_champ_860026604=$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_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout11,num_champ_860026604,"T2")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_valid_field_n(g_iartin, $Tta6dc::T3sidr)) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout11,num_champ_860026604,"C")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::T3cle))
	ALORS
		SI (g_iartin.CLE1==0x0b)
		ALORS
			indice_860026604=indice_860026604+1
			erreur_860026604=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026604)
			erreur_860026604=i_set_art_str(g_iartout11,num_champ_860026604,"30")
			num_champ_860026604=num_champ_860026604+2
		FINSI
	FINSI

	SI (i_get_bit_val(TAP_860026604, 8)==1)
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout11,num_champ_860026604,"T")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI (i_get_bit_val(TAP_860026604, 6)==1)
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout11,num_champ_860026604,"3")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 3)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout11,num_champ_860026604,"D")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 2)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout11,num_champ_860026604,"N")
		num_champ_860026604=num_champ_860026604+2
	FINSI

	SI ( (i_get_bit_val(TAP_860026604, 1)==1)&&(indice_860026604 < 5) )
	ALORS
		indice_860026604 = indice_860026604+1
		erreur_860026604=i_set_art_field(g_iartout11,$Tfe_rpvRG::NBCOD,indice_860026604)
		erreur_860026604=i_set_art_str(g_iartout11,num_champ_860026604,"O")
	FINSI

	# Initialisation des champs OP_CSVI
	num_champ_860026604=$Tfe_rpvRG::NBCOD+2
	res_860026604=0
	POINT DEB_BOUC6
	SI ( (res_860026604<indice_860026604)&&(res_860026604<5) )
	ALORS
		res_860026604=res_860026604+1
		erreur_860026604=i_memset_field_n(g_iartout11,num_champ_860026604,0xE4)
		num_champ_860026604=num_champ_860026604+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_860026604=i_set_art_str(g_iartout11,$Tfe_rpvRG::OP_CSV1,"A")
	FINSI

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

	# SUPPORT
	SI ( !i_valid_field_n(g_iartin,$Tta6dc::T3cab) )
	ALORS
		erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::SUPPORT,0)
	SINON
		SI ((SUP_860026604 == 0x01) || (SUP_860026604 == 0xFF))
		ALORS
			erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::SUPPORT,0)
		FINSI
		SI (SUP_860026604 == 0x02)
		ALORS
			erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::SUPPORT,2)
		FINSI
		SI (SUP_860026604 == 0x03)
		ALORS
			erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::SUPPORT,4)
		FINSI
	FINSI

	# NOCOMP
	erreur_860026604 = i_get_art_str(g_iartout11,$Tfe_rpvRG::TYPACCRI,pt_BUF_860026604)
	SI ( i_strcmp (pt_BUF_860026604, " ") == 0 )
	ALORS
		res_860026604 = i_get_art_field(g_iartin, $Tta6dc::INF_IDAV)

		SI ( ( res_860026604 & 0x0F ) == 1 )
		ALORS
			erreur_860026604 = i_get_art_str(g_iartin, $Tta6dc::NUM_IDAV, pt_BUF_860026604)
			erreur_860026604 = i_get_art_str(g_iartin, $Tta6dc::NDE, pt_TEMP_860026604)
			SI (i_strcmp(pt_BUF_860026604,pt_TEMP_860026604) != 0 )
			ALORS
				erreur_860026604 = i_get_art_str(g_iartout11,$Tfe_rpvRG::NUMDDE, pt_TEMP_860026604)
				taille_860026604 = i_strlen(pt_TEMP_860026604 )
				indice_860026604 = -1
				POINT CHERCHE
				indice_860026604 = indice_860026604 + 1

				SI (indice_860026604 < taille_860026604 )
				ALORS
					i_get_sub_str(pt_TEMP_860026604, indice_860026604, indice_860026604, pt_CARACT_860026604)
					SI i_strcmp(pt_CARACT_860026604," ") == 0
					ALORS
						i_get_sub_str(pt_TEMP_860026604, 0, indice_860026604-1, pt_BUF1_860026604)
						i_strcpy(pt_TEMP_860026604,pt_BUF1_860026604)
					SINON
						SAUT CHERCHE
					FINSI
				FINSI

				SI (i_strcmp(pt_BUF_860026604,pt_TEMP_860026604) != 0 )
				ALORS
					erreur_860026604 = i_set_art_str(g_iartout11,$Tfe_rpvRG::NOCOMP,pt_BUF_860026604)
				FINSI
			FINSI
		FINSI
	FINSI

	# NOORIG
	SI ( i_valid_field_n(g_iartin,$Tta6dc::NUMNOS) )
	ALORS
		erreur_860026604 = i_get_art_str(g_iartin,$NUMNOS, pt_BUF_860026604)
		erreur_860026604 = i_set_art_str(g_iartout11,$Tfe_rpvRG::NOORIG,pt_BUF_860026604)
	FINSI

	#CCD 
	CCD_REEL_FE_860026604 = CCD_REEL_860026604
	CCD_REEL_FE_860026604 = CCD_REEL_FE_860026604 + 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_860026604 = i_set_art_field(g_iartout10,$Conversion::CCD,CCD_REEL_FE_860026604 )
	erreur_860026604 = i_conv_field("CCD",g_iartout10, 2, g_iartout11, 4,0)
	erreur_860026604 = i_get_art_str(g_iartout11,$Tfe_rpvRG::CCD,pt_BUF1_860026604)
	i_get_sub_str(pt_BUF1_860026604,1,3,pt_BUF2_860026604)
	erreur_860026604 = i_set_art_str(g_iartout11,$Tfe_rpvRG::CCD,pt_BUF2_860026604)
	#trace2(" CCD_REEL_xx <%s> ", pt_BUF1, "")
	#trace2(" CCD_REEL_FE <%s> ", pt_BUF2, "")

	# PREF_PORT si Portabilite Mobiles
	SI bPortabilite_mobile_860026604 == 1
	ALORS
# G3R23C7 QC581
#		erreur = i_set_art_str(g_iartout11, $Tfe_rpvRG::PREF_PORT, pt_PREF_PORT)
		erreur_860026604 = i_set_art_str(g_iartout11, $Tfe_rpvRG::PREF_PORT, pt_PREF_PORT_FERPV_860026604)
	FINSI
	
	# ajout du champ INFDDE
	# Paliatif bit D DEDE_INF
	res_860026604=i_get_art_field(g_iartin,$INF_DEDE)
	res_860026604 = res_860026604 & 0xEF
	erreur_860026604 = i_set_art_field(g_iartout11,$Tfe_rpvRG::INFDDE,res_860026604)

# DRE G4R6 Lot2
	# TYPE_EDIT
	erreur_860026604=i_set_art_str(g_iartout11, $Tfe_rpvRG::TYPE_EDIT, pt_TYPE_EDIT_860026604)
	
	# CODE_TARIF
	erreur_860026604=i_set_art_str(g_iartout11, $Tfe_rpvRG::CODE_TARIF, pt_CODE_TARIF_860026604)
# \DRE G4R6 Lot2



FINSI

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

SI (!i_ChercherCouranteECC(instARAVIS_860026604))
ALORS
	#trace("Stockage vers ARAVIS")

	i_strcpy(pt_eccfact_860026604, C_Taravis_860026604)
	SI (i_cree_art("Taravis", g_iartout12 ))
	ALORS
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_Taravis_860026604,C_Article_860026604)
		SAUT DISTRI_ERR
	FINSI

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


	# NDDR
	erreur_860026604=i_get_art_str(g_iartin,$NDR,pt_BUF_860026604)
	i_replace_str(pt_BUF_860026604,"BCDE","AJSC",pt_BUF_860026604)
	erreur_860026604 = i_format_str2(pt_BUF2_860026604,"%s%s","0",pt_BUF_860026604)
	erreur_860026604 = i_set_art_str(g_iartout12,$Taravis::NDDR,pt_BUF2_860026604)

	# DEBCUM
	erreur_860026604 = i_set_art_field(g_iartout12,$Taravis::DEBCUM,ICAR_REL_860026604)

	# DUREE
	erreur_860026604 = i_set_art_field(g_iartout12,$Taravis::DUREE,dduree_860026604)

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

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

	# DEDE
	i_replace_str(pt_nde_normal_860026604,"ABC","A*#",pt_BUF_860026604)

	i_get_sub_str(pt_BUF_860026604,0,1,pt_TEMP_860026604)
	SI (i_strcmp(pt_TEMP_860026604, "00") == 0)
	ALORS
		i_get_sub_str(pt_BUF_860026604,2,-1,pt_BUF_860026604)
	FINSI
	erreur_860026604 = i_set_art_str(g_iartout12,$Taravis::DEDE,pt_BUF_860026604)

	#COMID_ID
	erreur_860026604 = 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_860026604=i_LireMarqueAudit()

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

	# Recuperation identifiant EEC (6eme octet) EEC
	# Masquage des 6 bits de poids faible
	EEC_audit_860026604 = i_strtab(pt_marque_audit_860026604, 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_860026604 =  ( ( i_strtab(pt_marque_audit_860026604, 6) * 256 ) + i_strtab(pt_marque_audit_860026604, 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_860026604 = ( ( i_strtab(pt_marque_audit_860026604, 10) * 256 ) + i_strtab(pt_marque_audit_860026604, 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_860026604 = (EEC_audit_860026604 * 33554432) + (bloc_audit_860026604 * 1024) + DC_audit_860026604
	trace1("comid_num : %u", comid_num_860026604)
	erreur_860026604 = i_set_art_field(g_iartout12, $Taravis::COMID_NUM, comid_num_860026604 )

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

#----------------------------------------------------------------------------
# FCT => Supprimee
#----------------------------------------------------------------------------

#-------------------------------------------------------------------------
# CENTAURE pt_eccCentaure
#-------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instCENT_860026604) )
ALORS
	i_strcpy(pt_eccCentaure_860026604, "CENTAURE")
	#trace("Mise au format CENTAUREDC")

	# Duplication de l article
	SI ( i_dup_art_dest(g_iartin,g_iartout8,C_TcentDC_860026604) )
	ALORS
		trace("erreur de duplication")
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_TcentDC_860026604,C_Article_860026604)
		SAUT DISTRI_ERR
	FINSI

	#NDR
	erreur_860026604=i_get_art_str(g_iartin,$NDR,pt_BUF_860026604)
	i_replace_str(pt_BUF_860026604,"BCDE","AJSC",pt_BUF_860026604)
	erreur_860026604=i_set_art_str(g_iartout8,$TcentaureDC::NIDUS,pt_BUF_860026604)

	#NDE
	erreur_860026604=i_get_art_str(g_iartin,$NDE,pt_BUF_860026604)
	i_replace_str(pt_BUF_860026604,"ABC","A*#",pt_BUF_860026604)
	erreur_860026604=i_set_art_str(g_iartout8,$TcentaureDC::NDEDE,pt_BUF_860026604)

	#T1
	erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::T1,0)

	#T2
	erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::T2,2)

	#champ SCT
	#trace("initialisation des SCT")
	SI (!i_valid_field_n(g_iartin,$Tta6dc::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_860026604)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::SCT,pt_BUF_860026604)

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

	SI (i_valid_field_n(g_iartin,$Tta6dc::T3cab))
	ALORS
		SI (i_transformer_bits(g_iartin,$Tta6dc::TAP:1,"FV",pt_BUF_860026604)!=0)
		ALORS
			#trace("Retour en erreur de i_transformer_bits")
			SAUT DISTRI_ERR
		FINSI
		erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::TAP,pt_BUF_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin,$Tta6dc::T3cap1))
	ALORS
		SI (i_transformer_bits(g_iartin,$Tta6dc::TAP:0,"FV",pt_BUF_860026604)!=0)
		ALORS
			#trace("Retour en erreur de i_transformer_bits")
			SAUT DISTRI_ERR
		FINSI
		erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::TAP,pt_BUF_860026604)
	FINSI

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

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

	# DATE
	erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::DATE,ICAR_REL_860026604)

	# CAX
	erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::CAX,CAX_860026604)

	#champ DUREE
	erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::DUREE,dduree_860026604)

	#champ TAX
	erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::TAX,tax_860026604)

	#champ CDSGTQS
	#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
	#trace2("SGTQS=<%s>",pt_SGTQS,"")
	erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::CDSGTQS, pt_SGTQS_860026604)

	#champ INDEX (en DCB)
	SI (i_valid_field_n(g_iartin, $Tta6dc::T3indx))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$INDEX)
		SI (res_860026604==-1)
		ALORS
			code_errone_860026604 = 0xA080
			code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
			erreur_860026604 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026604, C_Article_860026604, "i_get_art_field/INDEX" )
			SAUT DISTRI_ERR
		FINSI
		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::INDEX,res_860026604)
	FINSI

	#champs NOS
	SI (i_valid_field_n(g_iartin, $Tta6dc::INFNOS))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$INFNOS)
		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::INOS,res_860026604)
	FINSI

	#trace("Avant NUMNOS")
	SI (i_valid_field_n(g_iartin, $Tta6dc::NUMNOS))
	ALORS
		erreur_860026604=i_get_art_str(g_iartin, $NUMNOS, pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::NNOS, pt_BUF_860026604 )
	FINSI

	#champ DUSEL
	SI (i_valid_field_n(g_iartin, $Tta6dc::T3sel))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$DUSEL)
		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::DUSEL,res_860026604)
	FINSI

	#champ DUSON
	SI (i_valid_field_n(g_iartin, $Tta6dc::DUSON))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$DUSON)
		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::DUSON,res_860026604)
	FINSI

	#champ SIDR
	SI ( i_valid_field_n(g_iartin, $Tta6dc::T3sidr) )
	ALORS
		erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::SIDR, "V")
	SINON
		erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::SIDR, "F")
	FINSI

	#Champ INEF
	SI ( i_valid_field_n(g_iartin, $Tta6dc::INEF) )
	ALORS
		res_860026604=i_get_art_field(g_iartin, $Tta6dc::INEF)

		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::INEF,res_860026604)
		#trace1("Valeur de INEF = <%d>",res)
	FINSI

	#champs COCA et COCAV
	SI ( i_valid_field_n(g_iartin, $Tta6dc::BETA) )
	ALORS
		erreur_860026604=i_set_art_str(g_iartout8,$TcentaureDC::COCA,pt_COCA_860026604)
	SINON
		#trace("Initialisation par defaut de COCA")
		erreur_860026604=i_memset_field_n(g_iartout8,$TcentaureDC::COCA,0x20)
	FINSI

	SI ( i_valid_field_n(g_iartin, $Tta6dc::BETAV) )
	ALORS
		erreur_860026604=i_set_art_str(g_iartout8,$TcentaureDC::COCAV,pt_COCAV_860026604)
	SINON
		#trace("Initialisation par defaut de COCAV")
		erreur_860026604=i_memset_field_n(g_iartout8,$TcentaureDC::COCAV,0x20)
	FINSI

	#champ SUP
	SI (i_valid_field_n(g_iartin, $Tta6dc::T3cab))
	ALORS
		erreur_860026604=i_set_art_field(g_iartout8, $TcentaureDC::SUP, SUP_860026604)
	FINSI

	#CLEi
	SI (i_valid_field_n(g_iartin, $Tta6dc::CLE1))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::CLE1)
		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::CLE1,res_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::CLE2))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::CLE2)
		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::CLE2,res_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::CLE3))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::CLE3)
		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::CLE3,res_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::CLE4))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::CLE4)
		erreur_860026604=i_set_art_field(g_iartout8,$TcentaureDC::CLE4,res_860026604)
	FINSI

	#champ INVOCATION
	#trace("Avant INVOCATION")
	SI ( i_valid_field_n(g_iartin, $Tta6dc::INVOC) )
	ALORS
		res_860026604=i_get_art_field(g_iartin, $Tta6dc::INVOC)
		#trace1("Valeur de INVOCATION=<%d>",res)
		erreur_860026604=i_set_art_field(g_iartout8, $TcentaureDC::INVOCATION, res_860026604)
	FINSI

	# ajout URS
	#champ ALINK (<=> champ APPEL)
	SI( i_valid_field_n(g_iartin, $Tta6dc::APPEL) )
	ALORS
		erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::APPEL, pt_TEMP_860026604 )
		erreur_860026604 = i_set_art_str( g_iartout8,$TcentaureDC::ALINK, pt_TEMP_860026604 )
	FINSI

	#champ NLINK (<=> champ NOEUD)
	SI( i_valid_field_n(g_iartin, $Tta6dc::NOEUD) )
	ALORS
		erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::NOEUD, pt_TEMP_860026604 )
		erreur_860026604 = i_set_art_str( g_iartout8, $TcentaureDC::NLINK, pt_TEMP_860026604 )
	FINSI

	#champ CI (<=> champ CODE)
	SI( i_valid_field_n(g_iartin, $Tta6dc::CODE) )
	ALORS
		res_860026604 = i_get_art_field( g_iartin, $Tta6dc::CODE )
		erreur_860026604 = i_set_art_field( g_iartout8, $TcentaureDC::CI, res_860026604 )
	FINSI

# DRE G4R6 Lot2
	# TYPE_EDIT
	erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::TYPE_EDIT, pt_TYPE_EDIT_860026604)
	
	# CODE_TARIF
	erreur_860026604=i_set_art_str(g_iartout8, $TcentaureDC::CODE_TARIF, pt_CODE_TARIF_860026604)
# \DRE G4R6 Lot2

	#FIN
	erreur_860026604=i_set_art_field(g_iartout8, $TcentaureDC::FIN, 0x0A )
	#fin ajout URS
FINSI

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

SI bCENTVG_860026604
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_860026604) )
	ALORS
		trace("Erreur de i_dup_art_dest")
		code_errone_860026604 = 0xA0D1

		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_TcentaureVG_860026604,C_Article_860026604)
		SAUT  DISTRI_ERR
	FINSI
	# Mise au format
	#trace("initialisation de DOMAINE et SERVICE")

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

	# SERVICE
	erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::SERVICE, "00")

	# Champ IDUS_INF
	res_860026604=i_get_art_field(g_iartin, $Tta6dc::INF_IDUS)
	erreur_860026604 = i_set_art_field(g_iartout13, $TcentaureVG::IDUS_INF, res_860026604)

	#Champ IDUS_NUM
	erreur_860026604=i_get_art_str(g_iartin,$NDR,pt_BUF_860026604)
	i_replace_str(pt_BUF_860026604,"BCDE","AJSC",pt_BUF_860026604)
	i_get_sub_str(pt_BUF_860026604,0,8,pt_BUF_860026604)
	erreur_860026604 = i_set_art_str(g_iartout13, $TcentaureVG::IDUS_NUM, pt_BUF_860026604)

	# Champ DEDE_INF
	INF_DEDE_TRAF_860026604 = i_get_art_field(g_iartout2,$Ttrafic::DEDE_INF)
	INF_DEDE_TRAF_860026604 = INF_DEDE_TRAF_860026604 & 0xEF
	erreur_860026604 = i_set_art_field(g_iartout13, $TcentaureVG::DEDE_INF, INF_DEDE_TRAF_860026604)

	# Champ DEDE_NUM
	erreur_860026604=i_get_art_str(g_iartin,$Tta6dc::NDE,pt_BUF_860026604)
	i_replace_str(pt_BUF_860026604,"ABC","A*#",pt_BUF_860026604)
	erreur_860026604 = i_set_art_str(g_iartout13, $TcentaureVG::DEDE_NUM, pt_BUF_860026604)

	# Champ DATE
	erreur_860026604 = i_set_art_field(g_iartout13,$TcentaureVG::ICAR,ICAR_REL_860026604)

	# Champ DUREE
	erreur_860026604 = i_set_art_field(g_iartout13, $TcentaureVG::DUR, dduree_860026604)

	# Champ CAX
	erreur_860026604 = i_set_art_field(g_iartout13, $TcentaureVG::CAX, CAX_860026604)

	# 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_860026604
	ALORS
		erreur_860026604=i_set_art_field(g_iartout13, $TcentaureVG::TAX, tax_860026604)
	SINON
		SI ( (SRP_PORTE_860026604 == 1) && (tax_860026604 == 0) )
		ALORS
			erreur_860026604=i_set_art_field(g_iartout13, $TcentaureVG::TAX,TAXE_CAL_860026604)
		SINON
			erreur_860026604 = i_set_art_field(g_iartout13, $TcentaureVG::TAX, tax_860026604)
		FINSI
	FINSI
#\DRE G4R6 Lot2

	# Champ NDS_NUM
	SI (i_valid_field_n(g_iartin, $Tta6dc::NUMNOS))
	ALORS
		erreur_860026604=i_get_art_str(g_iartin, $Tta6dc::NUMNOS,pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::NDS_NUM,pt_BUF_860026604)
	FINSI

	# Champ SUP
	SI  (i_valid_field_n(g_iartin, $Tta6dc::T3cab))
	ALORS
		erreur_860026604 = i_set_art_field(g_iartout13, $TcentaureVG::SUP, SUP_860026604)
	FINSI

	# Champ REF
	erreur_860026604 = i_set_art_field(g_iartout13, $TcentaureVG::REF, 0)

	# 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_860026604=i_get_art_field(g_iartout2,$Ttrafic::NB_CSV)
	erreur_860026604 = i_set_art_field(g_iartout13, $TcentaureVG::nb_csv, res_860026604)

	indice_860026604 = 0

	POINT DEBUT_CSV
	SI res_860026604 > 0
	ALORS
		erreur_860026604=i_get_art_str(g_iartout2,$Ttrafic::C_CSV1+indice_860026604,pt_BUF_860026604)
		erreur_860026604 = i_set_art_str(g_iartout13,$TcentaureVG::C_CSV1+indice_860026604,pt_BUF_860026604)

		erreur_860026604=i_get_art_str(g_iartout2,$Ttrafic::OP_CSV1+indice_860026604,pt_BUF_860026604)
		erreur_860026604 = i_set_art_str(g_iartout13,$TcentaureVG::OP_CSV1+indice_860026604,pt_BUF_860026604)
	FINSI
	indice_860026604=indice_860026604+2

	SI res_860026604 > (indice_860026604/2)
	ALORS
		SAUT DEBUT_CSV
	FINSI

	#Champ STY
	SI ( i_transformer_bits(g_iartin,$Tta6dc::STY,"FV",pt_BUF_860026604)!=0 )
	ALORS
		#trace("Retour en erreur de i_transformer_bit")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026604=i_set_art_str(g_iartout13,$TcentaureVG::STY,pt_BUF_860026604)

	# Champ COCA
	SI ( i_valid_field_n( g_iartin, $Tta6dc::BETA) )
	ALORS
		erreur_860026604 = i_get_art_str(g_iartin, $Tta6dc::BETA,pt_BUF_860026604)
		erreur_860026604 = i_set_art_str(g_iartout13, $TcentaureVG::COCA,pt_BUF_860026604  )
	FINSI

	#champ IDAV_INF et IDAV_NUM
	SI ( i_valid_field_n(g_iartin, $Tta6dc::T3idav) )
	ALORS
		res_860026604=i_get_art_field(g_iartin, $Tta6dc::INF_IDAV)
		erreur_860026604=i_set_art_field(g_iartout13, $TcentaureVG::IDAV_INF, res_860026604)
		erreur_860026604=i_get_art_str(g_iartin, $Tta6dc::NUM_IDAV,pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::IDAV_NUM,pt_BUF_860026604)
	FINSI

	# Champ SGTQS
	erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::SGTQS, pt_SGTQS_860026604)

	#champ CLASSDEST
	erreur_860026604=i_set_art_field(g_iartout13, $TcentaureVG::CLASSDEST, CCD_REEL_860026604)

	SI (bVGTplus_860026604)
	ALORS
		#trace2("VGT+ OFFRE=<%s>",pt_VGTplus_OF,"")
		#trace2("VGT+ OPERATEUR=<%s>",pt_VGTplus_OP,"")
		erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::OFFRE, pt_VGTplus_OF_860026604)
		erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::OPERATEUR, pt_VGTplus_OP_860026604)
	SINON
		SI (VGA_860026604)
		ALORS
			#trace2("VGA OFFRE=<%s>",pt_VGA_OF,"")
			#trace2("VGA OPERATEUR=<%s>",pt_VGA_OP,"")
			erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::OFFRE, pt_VGA_OF_860026604)
			erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::OPERATEUR, pt_VGA_OP_860026604)
		SINON
			SI (EVTPE_860026604)
			ALORS
				#trace2("EVTPE OFFRE=<%s>",pt_EVTPE_OF,"")
				#trace2("EVTPE OPERATEUR=<%s>",pt_EVTPE_OP,"")
				erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::OFFRE, pt_EVTPE_OF_860026604)
				erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::OPERATEUR, pt_EVTPE_OP_860026604)
			FINSI
		FINSI
	FINSI

# DRE G4R6 Lot2
	# TYPE_EDIT
	erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::TYPE_EDIT, pt_TYPE_EDIT_860026604)
	
	# CODE_TARIF
	erreur_860026604=i_set_art_str(g_iartout13, $TcentaureVG::CODE_TARIF, pt_CODE_TARIF_860026604)
# \DRE G4R6 Lot2

FINSI

#--------------------------
# CENTAUDEDEA
#-------------------------

SI ( !i_ChercherCouranteECC(instCENTDEA_860026604) )
ALORS
	i_strcpy(pt_eccCentaure_860026604,"CENTAUREDEA")
	#trace("Mise au format CENTAUREDEA")

	# Duplication de l article
	SI ( i_dup_art_dest(g_iartin,g_iartout14,C_TcentaureDEA_860026604) )
	ALORS
		trace("erreur de duplication")
		code_errone_860026604 = 0xA0D0
		code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
		erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_TcentaureDEA_860026604,C_Article_860026604)
		SAUT DISTRI_ERR
	FINSI

	# Champ IIDUS
	res_860026604=i_get_art_field(g_iartin, $Tta6dc::INF_IDUS)
	erreur_860026604 = i_set_art_field(g_iartout14, $TcentaureDEA::IIDUS, res_860026604)

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

	# Champ IDEDE

	# Champ IDEDE
	erreur_860026604 = i_set_art_field(g_iartout14, $TcentaureDEA::IDEDE, dede_inf_860026604)

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

	#champ SCT
	#trace("initialisation des SCT")
	SI (!i_valid_field_n(g_iartin,$Tta6dc::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_860026604)!=0)
	ALORS
		#trace("Retour en erreur de i_transformer_bits")
		SAUT DISTRI_ERR
	FINSI
	erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::SCT,pt_BUF_860026604)

	#champs TAP
	#trace("initialisation des TAP")
	SI (i_valid_field_n(g_iartin,$Tta6dc::T3cab))
	ALORS
		SI (i_transformer_bits(g_iartin,$Tta6dc::TAP:1,"FV",pt_BUF_860026604)!=0)
		ALORS
			#trace("Retour en erreur de i_transformer_bits")
			SAUT DISTRI_ERR
		FINSI
		erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::TAP,pt_BUF_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin,$Tta6dc::T3cap1))
	ALORS
		SI (i_transformer_bits(g_iartin,$Tta6dc::TAP:0,"FV",pt_BUF_860026604)!=0)
		ALORS
			#trace("Retour en erreur de i_transformer_bits")
			SAUT DISTRI_ERR
		FINSI
		erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::TAP,pt_BUF_860026604)
	FINSI

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

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

	# champ DATE
	erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::DATE,ICAR_REL_860026604)

	#champ DUREE
	erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::DUREE,dduree_860026604)

	#champ TAX
	erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::TAX,tax_860026604)

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


	#champ INDEX (en DCB)
	SI (i_valid_field_n(g_iartin, $Tta6dc::T3indx))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$INDEX)
		SI (res_860026604==-1)
		ALORS
			code_errone_860026604 = 0xA080
			code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
			erreur_860026604 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026604, C_Article_860026604, "i_get_art_field/INDEX" )
			SAUT DISTRI_ERR
		FINSI
		erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::INDEX,res_860026604)
	FINSI

	#champ NIDAV
	SI (SPORTABILITE_860026604 == 1)
	ALORS
		erreur_860026604=i_get_art_str(g_iartin,$NDE,pt_BUF_860026604)
		SI (i_strplcmp(pt_BUF_860026604 ,"842",0,3)!= 0)
		ALORS
			erreur_860026604= i_format_str2( pt_NIDAV_860026604, "%s%s", pt_CodeOp_860026604, pt_BUF_860026604)
			erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::NIDAV, pt_NIDAV_860026604 )
		SINON
			erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::NIDAV,pt_BUF_860026604)
		FINSI
	SINON
		erreur_860026604=i_get_art_str(g_iartin,$NDE,pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::NIDAV,pt_BUF_860026604)
	FINSI

	#champs INOS
	SI (i_valid_field_n(g_iartin, $Tta6dc::INFNOS))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$INFNOS)
		erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::INOS,res_860026604)
	FINSI

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

	#Champ NNOS
	#trace("Avant NUMNOS")
	SI (i_valid_field_n(g_iartin, $Tta6dc::NUMNOS))
	ALORS
		erreur_860026604=i_get_art_str(g_iartin, $NUMNOS, pt_BUF_860026604)
		erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::NNOS, pt_BUF_860026604 )
	FINSI

	#champ DUSEL
	SI (i_valid_field_n(g_iartin, $Tta6dc::T3sel))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$DUSEL)
		erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::DUSEL,res_860026604)
	FINSI

	#champ DUSON
	SI (i_valid_field_n(g_iartin, $Tta6dc::DUSON))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$DUSON)
		erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::DUSON,res_860026604)
	FINSI

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

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

	#champs COCA et COCAV
	SI ( i_valid_field_n(g_iartin, $Tta6dc::BETA) )
	ALORS
		erreur_860026604=i_set_art_str(g_iartout14,$TcentaureDEA::COCA,pt_COCA_860026604)
	FINSI

	SI ( i_valid_field_n(g_iartin, $Tta6dc::BETAV) )
	ALORS
		erreur_860026604=i_set_art_str(g_iartout14,$TcentaureDEA::COCAV,pt_COCAV_860026604)
	FINSI

	#champ SUP
	SI (i_valid_field_n(g_iartin, $Tta6dc::T3cab))
	ALORS
		erreur_860026604=i_set_art_field(g_iartout14, $TcentaureDEA::SUP, SUP_860026604)
	FINSI

	#CLEi
	SI (i_valid_field_n(g_iartin, $Tta6dc::CLE1))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::CLE1)
		erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::CLE1,res_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::CLE2))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::CLE2)
		erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::CLE2,res_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::CLE3))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::CLE3)
		erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::CLE3,res_860026604)
	FINSI

	SI (i_valid_field_n(g_iartin, $Tta6dc::CLE4))
	ALORS
		res_860026604=i_get_art_field(g_iartin,$Tta6dc::CLE4)
		erreur_860026604=i_set_art_field(g_iartout14,$TcentaureDEA::CLE4,res_860026604)
	FINSI

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

	# ajout URS
	#champ ALINK (<=> champ APPEL)
	SI( i_valid_field_n(g_iartin, $Tta6dc::APPEL) )
	ALORS
		erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::APPEL, pt_TEMP_860026604 )
		erreur_860026604 = i_set_art_str( g_iartout14,$TcentaureDEA::ALINK, pt_TEMP_860026604 )
	FINSI

	#champ NLINK (<=> champ NOEUD)
	SI( i_valid_field_n(g_iartin, $Tta6dc::NOEUD) )
	ALORS
		erreur_860026604 = i_get_art_str( g_iartin, $Tta6dc::NOEUD, pt_TEMP_860026604 )
		erreur_860026604 = i_set_art_str( g_iartout14, $TcentaureDEA::NLINK, pt_TEMP_860026604 )
	FINSI

	#champ CI (<=> champ CODE)
	SI( i_valid_field_n(g_iartin, $Tta6dc::CODE) )
	ALORS
		res_860026604 = i_get_art_field( g_iartin, $Tta6dc::CODE )
		erreur_860026604 = i_set_art_field( g_iartout14, $TcentaureDEA::CI, res_860026604 )
	FINSI

# DRE G4R6 Lot2
	# TYPE_EDIT
	erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::TYPE_EDIT, pt_TYPE_EDIT_860026604)
	
	# CODE_TARIF
	erreur_860026604=i_set_art_str(g_iartout14, $TcentaureDEA::CODE_TARIF, pt_CODE_TARIF_860026604)
# \DRE G4R6 Lot2
	
	
	
	# fin ajout URS
FINSI

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


#---------------------------------------------------------------------------
# suppression ECC / ALLOFACT / SC 
#---------------------------------------------------------------------------

#QC862 test remonte pour prendre en compte CASPER
POINT AVANT_REDIST

SI (trait_ok_860026604 == 0)
ALORS

	#G3R23
	#-----------------------------------------------------------------------
	# CASPER
	#-----------------------------------------------------------------------
	
	SI ( !i_ChercherCouranteECC(instCASPER_860026604) )
	ALORS
		trace("Stockage vers CASPER")
		SI ( i_dup_art_id(g_iartin,g_iartout5) )
		ALORS
			code_errone_860026604 = 0xA0D0
			code_errone_860026604 = code_errone_860026604 + EFFICACE_860026604
			erreur_860026604 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026604,C_Tcasper_860026604,C_Article_860026604)
			SAUT DISTRI_ERR
		FINSI
	
		SI ( i_valid_field_n(g_iartout5,$Tta6dc::T3ce) )
		ALORS
			erreur_860026604 = i_supprChamp(g_iartout5,"T3ce")
		FINSI
	
		res_860026604 = i_rename_art(g_iartout5, C_Tcasper_860026604)
	
		# COMPLEMENTS CASPER (SGTQS NSUC)
	
		#champ SGTQS
		erreur_860026604 = i_ajoutChampNum(g_iartout5,$TcasperTta6dc::T4sgtqs,$TcasperTta6dc::SGTQS,0)
		#i_strcpy(pt_SGTQS,i_LireEECSGTQS(g_ieec))
		#trace2("SGTQS=<%s>",pt_SGTQS,"")
		erreur_860026604 = i_set_art_str(g_iartout5, $TcasperTta6dc::SGTQS, pt_SGTQS_860026604)
	
		#champ NSUC
		erreur_860026604 = i_ajoutChampNum(g_iartout5,$TcasperTta6dc::T4nsuc,$TcasperTta6dc::NSUC,0)
		erreur_860026604 = i_set_art_str(g_iartout5,$TcasperTta6dc::NSUC,pt_NSUC_860026604)
		res_860026604 = i_strlen(pt_NSUC_860026604)
		erreur_860026604 = i_resize_tlv(g_iartout5, "T4nsuc", "NSUC", res_860026604)
	FINSI
	
#-----------------------------------------------------------------------

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

	SI( !i_ChercherCouranteECC(instSYMP_860026604) )
	ALORS
		SI (EFFICACE_860026604)
		ALORS
			# Article efficace:

			#champ CCD:
			erreur_860026604=i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4ccd,$Tsymptta6dc::CCD,0)
			#Cbb desormais  CCD_REEL
			erreur_860026604=i_set_art_field(g_iartout,$Tsymptta6dc::CCD, CCD_REEL_860026604)

			#champ SGTQS
			erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4sgtqs,$Tsymptta6dc::SGTQS,0)
			#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
			#trace2("SGTQS=<%s>",pt_SGTQS,"")
			erreur_860026604=i_set_art_str(g_iartout,$Tsymptta6dc::SGTQS, pt_SGTQS_860026604)

			# ECC_FACT
			erreur_860026604=i_ajoutChampNum( g_iartout, $Tsymptta6dc::T4eccfact, $Tsymptta6dc::ECC_FACT, 0 )
		#QC862
			erreur_860026604=i_set_art_str(g_iartout,$Tsymptta6dc::ECC_FACT," ")
			SI bREDISTALICE_860026604 == 0
			ALORS
				SI (REJET_860026604 != 2 || REJET_860026604 != 3 || REJET_860026604 != 14)
				ALORS
					SI (i_strcmp(pt_eccfact_860026604," ") != 0)
					ALORS
						erreur_860026604=i_set_art_str( g_iartout, $Tsymptta6dc::ECC_FACT, pt_eccfact_860026604 )
					SINON
						SI (i_strcmp(pt_eccCentaure_860026604," ") != 0)
						ALORS
							erreur_860026604=i_set_art_str(g_iartout, $Tsymptta6dc::ECC_FACT,pt_eccCentaure_860026604)
						SINON
							erreur_860026604=i_set_art_str(g_iartout, $Tsymptta6dc::ECC_FACT, " ")
						FINSI
					FINSI
		#		SINON
		#			erreur=i_set_art_str( g_iartout, $Tsymptta6dc::ECC_FACT, " ")
				FINSI
			FINSI

			# IEZLT
			# (si Transgroupe onnet, IEZLT est sans objet) Test de presence de IEZLT car si absent, pas de IEZLT en sortie
			SI (IEZLT_860026604 != -1)
			ALORS
				erreur_860026604=i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4iezlt,$Tsymptta6dc::IEZLT,0)
				erreur_860026604=i_set_art_field(g_iartout,$Tsymptta6dc::IEZLT,IEZLT_860026604)
			FINSI

			# CODCIRDR
			erreur_860026604=i_ajoutChampNum( g_iartout, $Tsymptta6dc::T4codcirdr, $Tsymptta6dc::CODCIRDR, 0 )
			erreur_860026604=i_set_art_str( g_iartout, $Tsymptta6dc::CODCIRDR, pt_CODCIRDA_860026604 )

			# CODCIR
			erreur_860026604=i_ajoutChampNum( g_iartout, $Tsymptta6dc::T4codcir, $Tsymptta6dc::CODCIR, 0 )
			erreur_860026604=i_set_art_str( g_iartout, $Tsymptta6dc::CODCIR, pt_CODCIRA_860026604 )

			SI (envoi_CENT_860026604==0)
			ALORS
				SI ( (SRP_PORTE_860026604 == 1) && (tax_860026604 == 0) )
				ALORS
					tax_860026604 = TAXE_CAL_860026604
				FINSI

				SI (i_valid_field_n(g_iartin,$Tta6dc::T3cap1))
				ALORS

					erreur_860026604=i_set_art_field(g_iartout, $Tsymptta6dc::TAXE:0, tax_860026604)
				SINON
					erreur_860026604=i_set_art_field(g_iartout, $Tsymptta6dc::TAXE:1, tax_860026604)
				FINSI
			FINSI

			#Champs optionnels OPE_VGA et OFF_VGA
			SI (bVGTplus_860026604)
			ALORS
				erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4OPEVGA,$Tsymptta6dc::OPE_VGA,0)
				erreur_860026604 = i_set_art_str(g_iartout,$Tsymptta6dc::OPE_VGA,pt_VGTplus_OP_860026604)

				# Champ OFF_VGA
				erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4OFFVGA,$Tsymptta6dc::OFF_VGA,0)
				erreur_860026604 = i_set_art_str(g_iartout,$Tsymptta6dc::OFF_VGA,pt_VGTplus_OF_860026604)
			SINON
				SI (VGA_860026604)
				ALORS
					# Champ OPE_VGA
					erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4OPEVGA,$Tsymptta6dc::OPE_VGA,0)
					erreur_860026604 = i_set_art_str(g_iartout,$Tsymptta6dc::OPE_VGA,pt_VGA_OP_860026604)

					# Champ OFF_VGA
					erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4OFFVGA,$Tsymptta6dc::OFF_VGA,0)
					erreur_860026604 = i_set_art_str(g_iartout,$Tsymptta6dc::OFF_VGA,pt_VGA_OF_860026604)
				SINON
					SI (EVTPE_860026604)
					ALORS
						# Champ OPE_VGA
						erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4OPEVGA,$Tsymptta6dc::OPE_VGA,0)
						erreur_860026604 = i_set_art_str(g_iartout,$Tsymptta6dc::OPE_VGA,pt_EVTPE_OP_860026604)

						# Champ OFF_VGA
						erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4OFFVGA,$Tsymptta6dc::OFF_VGA,0)
						erreur_860026604 = i_set_art_str(g_iartout,$Tsymptta6dc::OFF_VGA,pt_EVTPE_OF_860026604)
					FINSI
				FINSI
			FINSI
			
# DRE G4R6 Lot2
			# TYPE_EDIT
			SI i_strcmp(pt_TYPE_EDIT_860026604," ") != 0
			ALORS
				erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4type_edit,$Tsymptta6dc::TYPE_EDIT,0)
				erreur_860026604=i_set_art_str(g_iartout, $Tsymptta6dc::TYPE_EDIT, pt_TYPE_EDIT_860026604)
			FINSI
		
			# CODE_TARIF
			SI i_strcmp(pt_CODE_TARIF_860026604,"    ") != 0
			ALORS
				erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6dc::T4code_tarif,$Tsymptta6dc::CODE_TARIF,0)
				erreur_860026604=i_set_art_str(g_iartout, $Tsymptta6dc::CODE_TARIF, pt_CODE_TARIF_860026604)
			FINSI
# \DRE G4R6 Lot2
			

		SINON
			# Cas d'un article inefficace:

			# Champ CCD
			erreur_860026604=i_ajoutChampNum(g_iartout,$Tsymptta6Inef::T4ccd,$Tsymptta6Inef::CCD,0)
			erreur_860026604=i_set_art_field(g_iartout,$Tsymptta6Inef::CCD, 0xFF)

			# Champ SGTQS
			erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6Inef::T4sgtqs,$Tsymptta6Inef::SGTQS,0)
			#i_strcpy(pt_SGTQS,i_LireEECSGTQS( g_ieec ))
			#trace2("SGTQS=<%s>",pt_SGTQS,"")
			erreur_860026604=i_set_art_str(g_iartout,$Tsymptta6Inef::SGTQS, pt_SGTQS_860026604)

			# Champ ECC_FACT
			erreur_860026604=i_ajoutChampNum(g_iartout,$Tsymptta6Inef::T4eccfact,$Tsymptta6Inef::ECC_FACT,0)
		#QC862
			erreur_860026604=i_set_art_str(g_iartout,$Tsymptta6Inef::ECC_FACT," ")
			SI bREDISTALICE_860026604 == 0
			ALORS
				erreur_860026604=i_set_art_str(g_iartout,$Tsymptta6Inef::ECC_FACT,pt_eccfact_860026604)
			FINSI
		#\QC862
# DRE G4R6 Lot2
			# TYPE_EDIT
			SI i_strcmp(pt_TYPE_EDIT_860026604," ") != 0
			ALORS
				erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6Inef::T4type_edit,$Tsymptta6Inef::TYPE_EDIT,0)
				erreur_860026604=i_set_art_str(g_iartout, $Tsymptta6Inef::TYPE_EDIT, pt_TYPE_EDIT_860026604)
			FINSI
		
			# CODE_TARIF
			SI i_strcmp(pt_CODE_TARIF_860026604,"    ") != 0
			ALORS
				erreur_860026604 = i_ajoutChampNum(g_iartout,$Tsymptta6Inef::T4code_tarif,$Tsymptta6Inef::CODE_TARIF,0)
				erreur_860026604=i_set_art_str(g_iartout, $Tsymptta6Inef::CODE_TARIF, pt_CODE_TARIF_860026604)
			FINSI
# \DRE G4R6 Lot2

			# Le champ IEZLT n est plus ajoute pour les articles inefficaces FO1193.
		FINSI
	FINSI

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

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

	SI( !i_ChercherCouranteECC( instSYMP_860026604 ) )
	ALORS
		#IFDEF trace_niv1 = 1
		trace( "__FILE__: Emission vers SYMPHONIE" )
		#ENDIF
		res_860026604 = i_stocke_art_iecc(g_iartout, instSYMP_860026604)
	FINSI


	#G4R8 QC862
	#-------------------------------------------------------------------------
	# CASPER
	#-------------------------------------------------------------------------
	SI ( !i_ChercherCouranteECC(instCASPER_860026604) )
	ALORS
		trace( "Emission vers CASPER" )
		res_860026604 = i_stocke_art_iecc(g_iartout5, instCASPER_860026604)
	FINSI
	

FINSI


#QC862
#SI (bREDIST == 1 )
SI (bREDIST_860026604 == 1 || bREDISTALICE_860026604 == 1)
ALORS
	SAUT DISTRI_REDIST
FINSI

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

SI (!i_ChercherCouranteECC(instECCTRAFIC_860026604))
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers TRAFIC" )
	#ENDIF	
	res_860026604 = i_stocke_art_iecc(g_iartout2, instECCTRAFIC_860026604)
FINSI

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

SI ( !i_ChercherCouranteECC(instDM_860026604) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers DELTAMINUTE" )
	#ENDIF	
	res_860026604 = i_stocke_art_iecc(g_iartout4, instDM_860026604)
FINSI

#-------------------------------------------------------------------------
# suppression ECC / VTG_VALO
#-------------------------------------------------------------------------

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

SI ( !i_ChercherCouranteECC(instFE_860026604) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "__FILE__: Emission vers FE" )
	#ENDIF
	res_860026604 = i_stocke_art_iecc(g_iartout6, instFE_860026604)
FINSI

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

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

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

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

#-------------------------------------------------------------------------
# FCT => Supprimee
#-------------------------------------------------------------------------

#-------------------------------------------------------------------------
# suppression ECC / ALLOFACT / SC
#-------------------------------------------------------------------------

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

SI ( !i_ChercherCouranteECC(instCENT_860026604) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "<<<__LINE__<<< Emission vers CENTAUREDC" )
	#ENDIF	
	res_860026604 = i_stocke_art_iecc(g_iartout8, instCENT_860026604)
FINSI

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

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

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

SI ( !i_ChercherCouranteECC(instCENTDEA_860026604) )
ALORS
	#IFDEF trace_niv1 = 1
	trace( "<<<__LINE__<<<  Emission vers CENTAUREDEA" )
	#ENDIF	
	res_860026604 = i_stocke_art_iecc(g_iartout14, instCENTDEA_860026604)
FINSI

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

#SI ( !i_ChercherCouranteECC(instAPACHE) )
#ALORS
#	#trace( "Emission vers APACHE" )
#	res = i_stocke_art_iecc(g_iartout9, instAPACHE)
#FINSI

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution" )
#ENDIF

#G4R8 QC862
##G3R23
##-------------------------------------------------------------------------
## CASPER
##-------------------------------------------------------------------------
#SI ( !i_ChercherCouranteECC(instCASPER) )
#ALORS
#	trace( "Emission vers CASPER" )
#	res = i_stocke_art_iecc(g_iartout5, instCASPER)
#FINSI

RETOUR TRAIT_OK

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

POINT DISTRI_ERR

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en ERRONE" )
#ENDIF

res_860026604=i_make_art_rej(g_iartin, g_iartout, code_errone_860026604)
res_860026604=i_stocke_art(g_iartout,0,PT_ERRONE,0)

RETOUR TRAIT_OK

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

POINT DISTRI_DIV

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en DIVERS" )
#ENDIF

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

RETOUR TRAIT_OK

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

POINT DISTRI_REDIST

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Fin du Pcode de distribution : Stockage en REDISTRIBUTION" )
#ENDIF

SI (trait_ok_860026604 == 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_860026604 )
	ALORS
		#IFDEF trace_niv1 = 1
		trace("__FILE__:__LINE__ =====> Creation enveloppe REDISTRI")
		#ENDIF
		ENVELOPPE_NOK_860026604 = i_add_opt( "E_Tta6dc" )
		# mise en conformite de la gestion de lenveloppe
	FINSI

	#i_strcpy(pt_SGTQS, i_LireEECSGTQS(g_ieec))
	res_860026604 = i_set_attr_str_n($E_Tta6dc::Nom_EEC, pt_SGTQS_860026604)
	res_860026604 = i_get_attr_str_n($E_Tta6dc::Nom_EEC, pt_SGTQS_860026604)
	erreur_860026604 = i_PlvMessEmettre(8503,2,g_iartin,"",3,pt_LIBELREDIST_860026604,C_Article_860026604,pt_SGTQS_860026604)
FINSI

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

RETOUR TRAIT_OK

# fin de fichier --------------- Tta6dc_dis.src --------------------------------------------
