DEFINITION CATEG_860026357 16
DEFINITION BASE_860026357 1
DEFINITION CODE_ARTICLE_860026357 1
DEFINITION CPT_REJET3_860026357 12
DEFINITION CPT_REJET5_860026357 9
DEFINITION CPT_REJET_860026357 11
DEFINITION CPT_REJET2_860026357 10
DEFINITION RES_TYPCOM_860026357 0
DEFINITION RES_CLDEST_860026357 1
DEFINITION RES_TYPCPT_860026357 2
DEFINITION RES_CODCIR_860026357 3
DEFINITION RES_CODCIRDR_860026357 5
DEFINITION TD_NPF_860026357 3
DEFINITION C_InstPERIBSS1_860026357 "PERIBSS1"
DEFINITION C_InstPERIBSS2_860026357 "PERIBSS2"
DEFINITION C_InstTRAFBSS1_860026357 "TRAFBSS1"
DEFINITION C_InstTRAFBSS2_860026357 "TRAFBSS2"
DEFINITION C_InstSC_860026357 "SC"
DEFINITION C_InstSYMP_860026357 "SYMP"
DEFINITION C_InstSPOT_860026357 "SPOT_ETEL"
DEFINITION C_InstNPF_860026357 "NPF"
DEFINITION C_Article_860026357 "Tvoicewfr"
DEFINITION C_TperiBSS_860026357 "TperiBSS"
DEFINITION C_TtrafBSS_860026357 "TtrafBSS"
DEFINITION C_TscTvoicewfr_860026357 "TscTvoicewfr"
DEFINITION C_Conversion_860026357 "Conversion"
DEFINITION C_TsymTvoicewfr_860026357 "TsymTvoicewfr"
DEFINITION C_TspotTvoicewfr_860026357 "TspotTvoicewfr"
DEFINITION C_TtraficN_860026357 "TtraficN"
DEFINITION C_FU_860026357 "U"
DEFINITION C_pref_cle_860026357 "INi"
DEFINITION C_InstACLA_860026357 "ACLA"
DEFINITION NUMTAB_860026357 1
DEFINITION NUMTABSEL_860026357 0
DEFINITION NB_1970_860026357 2085892096
DEFINITION C_instOPT_860026357 "OPT"
DEFINITION C_TcaspeTvoicewfr_860026357 "TcaspeTvoicewfr"
DEFINITION C_InstCASPER_860026357 "CASPER"
DEFINITION C_Tab_Ext_860026357 "TDTMFH323"
DEFINITION CPT_CPS_Loc_860026357 16
DEFINITION CPT_CPS_RI_860026357 17
DEFINITION C_DATCPS_860026357 "DATCPS" 
DEFINITION TD_SVA_860026357 9
DEFINITION C_INST_ALICE_860026357 "ALICE"
REGISTRE ENTIER instPERIBSS1_860026357
REGISTRE ENTIER b_instPERIBSS1_860026357
REGISTRE ENTIER instPERIBSS2_860026357
REGISTRE ENTIER b_instPERIBSS2_860026357
REGISTRE ENTIER instSC_860026357
REGISTRE ENTIER b_instSC_860026357
REGISTRE ENTIER instSYMP_860026357
REGISTRE ENTIER b_instSYMP_860026357
REGISTRE ENTIER instSPOT_860026357
REGISTRE ENTIER b_instSPOT_860026357
REGISTRE ENTIER instTRAFIC_860026357
REGISTRE ENTIER b_instTRAFIC_860026357
REGISTRE ENTIER EFFICACE_860026357
REGISTRE ENTIER ICAR_ABS_860026357
REGISTRE ENTIER date_GMT_860026357
REGISTRE ENTIER HLAHM1_860026357
REGISTRE ENTIER CCD_860026357
REGISTRE ENTIER CODCIR_860026357
REGISTRE ENTIER CODCIRDR_860026357
REGISTRE ENTIER TYPCOM_860026357
REGISTRE ENTIER dpivot_860026357
REGISTRE ENTIER S_Call_860026357
REGISTRE ENTIER StartTime_860026357
REGISTRE ENTIER StartTime_gmt_860026357
REGISTRE ENTIER FIN_APPEL_860026357
REGISTRE ENTIER code_errone_860026357
REGISTRE ENTIER b_FACTURABLE_860026357
REGISTRE ENTIER res_860026357
REGISTRE ENTIER APPEL_SORTANT_860026357
REGISTRE ENTIER APPEL_ENTRANT_860026357
REGISTRE ENTIER erreur_860026357
REGISTRE ENTIER numzone_860026357
REGISTRE ENTIER EnvoiPERIBSS_860026357
REGISTRE ENTIER ENVOI_SYMPH_860026357
REGISTRE ENTIER GRATUIT_860026357
REGISTRE ENTIER CPT_TEST_860026357
REGISTRE ENTIER type_cpt_860026357
REGISTRE ENTIER REJET3_860026357
REGISTRE ENTIER REJET5_860026357
REGISTRE ENTIER DEDE_INF_860026357
REGISTRE ENTIER REJET_860026357
REGISTRE ENTIER REJET2_860026357
REGISTRE ENTIER TAXE_860026357
REGISTRE ENTIER L_COMPTE_NPF_860026357
REGISTRE ENTIER appel_NPF_860026357
REGISTRE ENTIER instNPF_860026357
REGISTRE ENTIER bREDIST_860026357
REGISTRE ENTIER resultat_860026357
REGISTRE ENTIER b_TETRIS_FU_860026357
REGISTRE ENTIER instECCv_860026357
REGISTRE ENTIER Drap_860026357
REGISTRE ENTIER EPORTABILITE_SCP_860026357
REGISTRE ENTIER SPORTABILITE_SCP_860026357
REGISTRE ENTIER CCD_REEL_860026357
REGISTRE ENTIER T3G_portabilite_860026357
REGISTRE ENTIER SPORTABILITE_SRP_860026357
REGISTRE ENTIER EPORTABILITE_SRP_860026357
REGISTRE ENTIER instACLA_860026357
REGISTRE ENTIER length_CgI_860026357
REGISTRE ENTIER length_CdI_860026357
REGISTRE ENTIER instTRAFBSS1_860026357
REGISTRE ENTIER b_instTRAFBSS1_860026357
REGISTRE ENTIER instTRAFBSS2_860026357
REGISTRE ENTIER b_instTRAFBSS2_860026357
REGISTRE ENTIER DOM_860026357
REGISTRE ENTIER b_NPF_OPT_860026357
REGISTRE ENTIER instOPT_860026357
REGISTRE ENTIER L_NDS_OPT_860026357
REGISTRE ENTIER appel_OPT_860026357
REGISTRE ENTIER instCASPER_860026357
REGISTRE ENTIER b_instCASPER_860026357
REGISTRE ENTIER b_DTMF_860026357
REGISTRE ENTIER b_118_TIERS_PTD_860026357
REGISTRE ENTIER b_SRP_TIERS_PTD_860026357
REGISTRE ENTIER TYPCOM_SYMPHONIE_860026357
REGISTRE ENTIER Date_CPS_860026357
REGISTRE ENTIER instALICE_860026357 
REGISTRE ENTIER trait_ok_860026357
REGISTRE ENTIER longueur_860026357
REGISTRE ENTIER val_860026357
REGISTRE ENTIER ddebut_860026357
REGISTRE POINTEUR pt_CODESCP_860026357
REGISTRE POINTEUR pt_BUF3_860026357
REGISTRE POINTEUR pt_OrigCallee_860026357
REGISTRE POINTEUR pt_debOrigCallee_860026357
REGISTRE POINTEUR pt_debChamp_860026357
REGISTRE POINTEUR pt_Callee_860026357
REGISTRE POINTEUR pt_Caller_860026357
REGISTRE POINTEUR pt_IDUS_NUM_860026357
REGISTRE POINTEUR pt_IDUS_BNC_860026357
REGISTRE POINTEUR pt_DEDE_NUM_860026357
REGISTRE POINTEUR pt_TARIF_860026357
REGISTRE POINTEUR pt_TRAFIC_860026357
REGISTRE POINTEUR pt_BUF1_860026357
REGISTRE POINTEUR pt_SGTQS_860026357
REGISTRE POINTEUR pt_DEDE_N_860026357
REGISTRE POINTEUR pt_IDUS_N_860026357
REGISTRE POINTEUR pt_BUF2_860026357
REGISTRE POINTEUR pt_EccFact_860026357
REGISTRE POINTEUR pt_codcir_860026357
REGISTRE POINTEUR pt_DEDE_al_860026357
REGISTRE POINTEUR pt_COMPTE_860026357
REGISTRE POINTEUR pt_COMPTE_NPF_860026357
REGISTRE POINTEUR pt_TETRIS_ECC_860026357
REGISTRE POINTEUR pt_CODE_FU_860026357
REGISTRE POINTEUR pt_ECC_TRAFIC_860026357
REGISTRE POINTEUR pt_CLE_860026357
REGISTRE POINTEUR pt_CODESRP_860026357
REGISTRE POINTEUR pt_DEDE_WOO_860026357
REGISTRE POINTEUR pt_DEDE_Nu_860026357
REGISTRE POINTEUR pt_IDUS_860026357
REGISTRE POINTEUR pt_OPT_RTC_860026357
REGISTRE POINTEUR pt_TETRIS_RTC_860026357
REGISTRE POINTEUR pt_OPT_ECC_860026357
REGISTRE POINTEUR pt_adr_NDS_860026357
REGISTRE POINTEUR pt_buffer_860026357
REGISTRE POINTEUR pt_TermCallee_860026357
REGISTRE POINTEUR pt_cle_860026357
REGISTRE POINTEUR pt_return_TablePort_860026357
REGISTRE POINTEUR pt_TYPCOM_860026357
REGISTRE POINTEUR pt_MESSAGE_860026357
REGISTRE POINTEUR pt_CODE_TARIF_860026357 
REGISTRE POINTEUR pt_TYPE_EDIT_860026357 
REGISTRE POINTEUR pt_LIBELREDIST_860026357
REGISTRE POINTEUR pt_NORM_860026357
REGISTRE POINTEUR pt_TEMP_860026357
###################################################################################
# DISTRIBUTION
#  Tvoicewfr: DC de facturation pour Wanadoo FR
#
#	duplication	- g_iartout
#	Conversion	- g_iartout10
#
# REFERENTIELS :
#
# TD_NPF, TD_OPT (-4-F9, F6)
#
#  SORTIE :
#	PERIBSS1	- g_iartout2
#	PERIBSS2	- g_iartout2
#	SIVM (sortant)	- g_iartout4
#	e-bill		- g_iartout5
#	SYMPHONIE	- g_iartout6
#	SIVM (entrant)	- g_iartout7
#	ERRONE		- g_iartout8
#	TRAFIC		- g_iartout9
#	TRAFBSS1	- g_iartout11
#	TRAFBSS2	- g_iartout11
#	REDHAWK		- g_iartout12			SUPPRIME
#	SPOT		- g_iartout13
#
###################################################################################
#  HISTORIQUE
# 12/01/05 - NSA - Creation
# 07/03/05 - NSA - FO1142 mauvais numero de base de comptage
# 07/03/05 - NSA - FO1143 inversion des noms des tables externes
# 07/03/05 - NSA - FO1144 champ Caller pour periBSS
# 11/03/05 - NSA - FO1158 champ Caller normalisation de 87 en 0*87
# 21/03/05 - NSA - Retaillage des champs en sortie car Platine NG n a pas le bon niveau de patch
# 22/03/05 - NSA - FO1181 PeriBSS champs Service, TerminationCause (valeur dicimale en ASCII)
# 22/03/05 - NSA - FO1184: envoi des champs CdIdentTag, Zone1 et Zone2 avec L=0
#         DUREE vers PeriBSS valeur dicimale en ASCII
# 23/03/05 - NSA - FO1182: modification de la mise au format Woofact (TLV --> Fixe)
# 23/03/05 - NSA - FO1188: sortie SIVM changement de format de Date, StartTime, FinAppel
# 25/03/05 - NSA - FO1193: les champs obligatoires de PeriBSS doivent etre initialises avec 0 si vides
# 25/03/05 - NSA - Annulation de la FO1193, le champ OrigCallee devient facultatif
# 25/03/05 - NSA - FO1189 : modif de la mise au format SIVM
# 29/03/05 - NSA - FO1198 : resize du champ DestinationIP
# 30/03/05 - NSA - pb pointeurs sur Platine NG (binaire) recopie des initialisations pointeurs positionnes sur NG
# 31/03/05 - NSA - FO1218: maj des champs date de SIVM
# 01/04/05 - NSA - FO1221: SIVM champ duree en decimal
# 04/04/05 - NSA - FO1222: SIVM champ FinAppel mal alimente
# 04/04/05 - NSA - FO1223: SIVM champ TreminationCause valeur decimale
# 04/04/05 - NSA - FO1224: SIVM champ AuthorizeTime et StartTime en heure locale
# 10/05/05 - NSA - G2R1CaNG: ajout de la distribution vers Symphonie
# 13/05/05 - NSA - FO1303: alimentation de date par StarTime au lieu de AuthorizeTime pour Woofact
# 17/05/05 - NSA - FO1308: Woofact alimentation du champ TypeTarif par Typcom de base de comptage
# 13/06/05 - NSA - FO1353: Envoi des inefficaces qui ont un mauvais retour BNC uniquement a Symphonie+ envoi d'heures GMT ` PeriBSS
# 01/07/05 - NSA - FO1372: Envoi des inefficaces n ayant pas de CgIdentityTag et CdIdentityTag vers Symp
# 04/07/05 - NSA - FO1371: MaliciousCall, TerminatingCaller et TerminatingCallee deviennent optionnels
# 04/07/05 - NSA - FO1355: si Callee= 3000000x (MEVO) envoi de Callee a PeriBSS
# 21/07/05 - NSA - FO1389: si  GRATUIT pas d'envoi  PERIBSS et WOOFACT
# 25/07/05 - NSA - FO1392: normalisation des Demande DOM en 0ZAB
# 16/08/05 - JLG - FO1412: erreur: DEDE_NUM=" " de SIVM pour les DC entrants et non-sortants
# 02/09/05 - PSA - FO1418 : CaNG : specif Traitement S1F7
# 21/09/05 - PSA - FO1474 : CaNG : initialiation Callee pour BSS
# 26/09/05 - PSA - FO1476 et FO1479 : CaNG
# 13/10/05 - DRE - FO 1503  Les DC 119 (code rejet3), doivent etre mis en elimines explicite
# 13/10/05 - DRE - FO 1504  Eliminer le code pays 33 dans IDUS_NUM de WOOFACT
# 18/10/05 - DRE - FO 1520  reception d'un article avec le champ caller avec six 0
# 09/12/05 - PSA - G2R2CeNG : developpement TETRIS
# 02/01/06 - PSA - G2R2CeNG : FO 1649, 1651
# 16/01/06 - PSA - G2R2CeNG : FO 1684, 1685
# 20/02/06 - PKH - G2R2CdNS : Prise en compte de l'offre T3G et du champ Originating Callee au lieu du Callee pour la normalisation
# 27/02/06 - PKH - G2R2CdNS : FO1726 ajout du champ ECC_FACT pour Woofact
# 13/03/06 - PKH - G2R2CdNS : FO1741 alimentation de SIVM si INEFFICACE et retour BNC =0
# 13/03/06 - PKH - G2R2CdNS : FO1736 Champ CODCIR rendu optionnel pour TsymTvoicewfr si BNC <> 0
# 15/03/06 - PKH - G2R2CdNSbis : Autoriser les Z = 9 pour IDUS et DEDE
# 17/03/06 - PKH - G2R2CbNSbis : FO1751 pour un DC DOM le champ DEDE_NUM (TRAFIC) est renseigne par DEDE_NUM
# 17/03/06 - PKH - G2R2CbNSbis : FO1746 initialisation pointeur pt_DEDE_al
# 21/03/06 - DRE - G2R2CbNSbis : FO1746
# 27/03/06 - PKH - G2R2CbNSbis : FO1760 Modification de la variable DEDE_NUM pour les appels entrants
# 31/03/06 - PKH - G2R2CbNSbis : FO 1765 : Mauvaise alimentation DEDE_NUM pour TRAFIC dans le cas d'appel TOM
# 05/04/06 - PKH - G2R2CbNSbis : FO 1771 : Mauvaise alimentation DEDE_NUM pour TRAFIC dans le cas d'appel DOM
# 27/04/06 - PKH - G2R2CbNSbis : FO 1782 : PB sur DEDE_NUM pour Woofact avec Num international
# 02/05/06 - PKH - G2R2CbCONS   Ouverture des numeros speciaux aux abonnes Voip WanadooFR - ajout FCT - TRAFBSS et TtrafBSS
# 04/05/06 - PKH - G2R2CbCONS : Report FO 1786  du champ DEDE_INF pour Trafic lorsque le Numero demande est court mettre: 000
# 24/05/06 - PKH - G2R2CbCONS : FO1803 et 1804 Correction pour TRAFBSS champ IDUS_NUM et pour FCT champ DEDE_NUM
# 15/06/06 - PKH - G2R2CbCONS : FO1824 FO1825 Correction du champ DEDE pour Woofact et correction du 1er digit supprimi apres inter. 45S
# 23/06/06 - PKH - G2R2CbCoNS : FO1843 : Correction alimentation champ DEDE pour SIVM
# 12/07/06 - BEA - G2R2CjNS: Fusion CoNS-566 et CiNS-564
# 17/07/06 - BEA - G2R2CjNS: FO 1889
# 25/07/06 - PSA - G2R2CjNS : FO 1898 : deplacement affectation SRP_ITX
# 02/08/06 - PSA - G2R2CjNS : FO 1912 : variable SRP_TIERS
# 07/08/06 - PSA - G2R2CjNS : FO 1918, 1919 et 1920 : appli de sortie en heure locale
# 16/08/06 - DRE - G2R2CaNH: ajout de la distribution vers Spot
# 06/09/06 - DRE - G2R2CaNH: Modif de doc Version S6F2 pour CCD_REEL suite mail de Monique Andrieux du 6/9/06 10:10
# 19/10/06 - THE - G2R2CbNH: FO 2003,2004,2008
# 17/11/06 - THE - G2R2CbNH: FO 2020 Message envoi en recyclage
# 18/12/06 - THE - G2R2CcNH: Nouvelle ECC REDHAWK
# 28/12/06 - BEA - G2R2CcNH: Distribution a plus de 5 ECC
# 08/01/07 - BEA - G2R2CcNH: FO 2085 Erreur table wfr_lib_ct
# 15/01/07 - THE - Suppression de criteres pour distri a Trafic
# 25/01/07 - THE - G2R2CcNH: FO 2103
# 31/01/07 - BEA - G2R2CtNH Suppression 118_ITX
# 06/02/07 - BEA - G2R2CtNH WanadooFRVoice+ S11F1.doc Ajout variable REJET5
# 22/02/07 - BEA - G2R2CtNH WanadooFRVoice+ S11F3.doc Mise en place de la variable 118_ITX
# 18/07/07 - BEA - ParamNH-G2R5 FO 2200
# 13/08/07 - JLG - ParamNH-G2R5 FO 2210 pas d'envoi dans les errones au bout de 3 recyclages
# 09/10/07 - JLG - ParamNH-G2R5 suppression FO 2200 et 2210 (retour arriere)
# 15/10/07 - FAL - ParamNH-G2R6Cx REJET6 (14)
# 05/11/07 - JLG - ParamNH-G2R6Cx FO2250 (suppression du REJET6 (14))
# 12/11/07 - THE - ParamFTSA-G3R4 Delestage NH
# 07/12/07 - THE - ParamFTSA-G3R4 FO 2277 Erreur spec: Les champs CODCIR & CODCIRDR doivent toujours etre fournis a Calinette meme vides
# 11/12/07 - THE - ParamFTSA-G3R4 FO 2280 suite FO 2277
# 11/01/08 - PKH - ParamFTSA-G3R5 FO 2274 remplacer TtraficNS par TtraficN
# 28/01/08 - JLG - ParamFTSA-G3R6 fusion G3R5C4 avec la G3R4Cz(G3R4C999),palier de facturation NBH S4D1 (Reprise G2R6Cz)
# 03/03/08 - FAL - ParamFTSA-G3R6 E-bill DEDE_NUM court
# 03/03/08 - FAL - ParamFTSA-G3R6 prefixe pour IdLoc comme ParamNH-G2R8 ET ajout cas international
# 25/03/08 - JLG - ParamFTSA-G3R6 FO2356  evol spec S18F3
# 30/03/08 - JLG - ParamFTSA-G3R6 modif aiguillage trafbss si 118_PTD
# 21/04/08 - THE - Param FTSA-G3R7 modif champ TAX pour E_bill
# 28/04/08 - BEA - ParamFTSA-G3R6 modif alimentation du DEDE sur alarme 6359, complete FO 2370
# 08/09/08 - RHE - ParamFTSA-G3R9Cy modification alimentation e-bill
# 23/09/08 - RHE - Param-FTSA-G3R9Cy QC90 parametre res de i_EntierToString
# 16/10/08 - RHE - Param-FTSA-G3R10 fusion G3R9Cy - G3R9 (QC77 et QC91)
# 22/01/09 - DRE - FO QC178 prise en comtpe du Z=7
# 02/03/09 - RHE - Param-FTSA-G3R11 QC194 champ CCNDE pour EBILL
# 16/07/09 - JLG - Param-FTSA-G3R14 QC261 Normalisation de l'interrogation ? la BNC pour les demandeurs DOM
# 22/10/09 - PKH - ParamFTSA-G3R15 : PKH Creation d'une nouvelle ECC CASPER qui remplacera REDHAWK
# 04/02/10 - DRE - ParamFTSA-G3R16 Fusion des BdC (bases de comptage) Wanadoo et TPH
#				+ chg table externe wfr_tar_ccd en ft_tar_ccd et wfr_lib_ccd en ft_lib_ccd
# 28/06/10 - THE - ParamFTSA-G3R17Cx version unitaire
# 20/01/11 - DRE - G3R19Cx suppression de l'ECC Calinette (RADHAWK)
# 13/07/11 - THE - G3R21Cy QC483 Fusion des bases
# 06/09/11 - DRE - G3R22 Reprise QC483
# 23/09/11 - THE - Correction suite VerifPcode4_unix.pl
# 10/01/2012 - THE - VerifPcode G3R22C998 (pt_IDUS_N)
# 21/03/2012 - THE - G3R24 Nouveau palier tarifaire audiotel tiers 0898PQ depuis la VoIP
# 06/04/2012 - THE - G3R24 QC589  item SRP TIERS 7UT 
# 22/06/2012 - DRE - FTSA PRM G3R24 QC602 alimentation provisoire du CCD de SYMPHONIE avec le champ TYPCOM + ajout champ TYPCOM pour SYMPHONIE
# 24/08/2012 - THE - G4R1 QC607 CCD_SYMPHONIE = TYPCOM_SYMPHONIE
# 11/04/2014 - DRE - G4R6 : Lot3
#
###################################################################################
############################### Constantes ########################################
###################################################################################

#***** Attention valeur pour les tests pas defini dans les psecs pour le moment

# DRE Fusion base Woo et FR
#Constantes pour decalages horaires

#DRE G4R6 lot3
#\DRE G4R6 lot3


###################################################################################
############################### Variables  ########################################
###################################################################################

# G3R24
# QC602
# QC607

#DRE G4R6 lot3


#########################
# DRE G4R6 lot3

trace(":__LINE__ distribution - __FILE__ ")

#---------------------------------------------------------------------------------
# Initialisations
#---------------------------------------------------------------------------------
#Variables
TYPCOM_860026357=-1
b_FACTURABLE_860026357=0
ENVOI_SYMPH_860026357=0
GRATUIT_860026357=0
CPT_TEST_860026357=0
type_cpt_860026357 = 0
REJET3_860026357 = 0
REJET5_860026357 = 0
REJET_860026357 = 0
REJET2_860026357 = 0
L_COMPTE_NPF_860026357 = 0
appel_NPF_860026357 = 0
instNPF_860026357 = 0
bREDIST_860026357 = 0
resultat_860026357 = 0
b_TETRIS_FU_860026357 = 0
instECCv_860026357 = 0
Drap_860026357 = 0
EPORTABILITE_SCP_860026357 = 0
SPORTABILITE_SCP_860026357 = 0
EPORTABILITE_SRP_860026357 = 0
SPORTABILITE_SRP_860026357 = 0
CCD_REEL_860026357 = 0
T3G_portabilite_860026357 = 0
length_CgI_860026357 = 0
length_CdI_860026357 = 0
instTRAFBSS1_860026357 = 0
instTRAFBSS2_860026357 = 0
TAXE_860026357 = 0
DOM_860026357 = 0
# indicateurs de distribution
b_instPERIBSS1_860026357 = 0
b_instPERIBSS2_860026357 = 0
b_instSC_860026357 = 0
b_instSYMP_860026357 = 0
b_instSPOT_860026357 = 0
b_instTRAFIC_860026357 = 0
b_instTRAFBSS1_860026357 = 0
b_instTRAFBSS2_860026357 = 0
b_instCASPER_860026357 = 0
# G3R24
#SRP_ITX = 0
#SRP_TIERS = 0
#b118_ITX = 0
#b118_PTD =0
b_118_TIERS_PTD_860026357 = 0
b_SRP_TIERS_PTD_860026357 = 0
# QC602
#CCD_SYMPHONIE = -1
# QC607
TYPCOM_SYMPHONIE_860026357 = -1
#DRE G4R6 lot3
Date_CPS_860026357 = 0
instALICE_860026357 = -1
EFFICACE_860026357 = 2
longueur_860026357 = 0
val_860026357 = 0
ddebut_860026357 = -1

#Pointeurs recopies depuis platine NG car impossible de reproduire sur platine  normal
pt_Callee_860026357	 ="pt_Callee2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222"
pt_Caller_860026357	 ="pt_Caller1818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181"
pt_IDUS_NUM_860026357	 ="pt_IDUS_NUM99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"
pt_BUF1_860026357		 ="pt_BUF1987654321066666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666"
#G3R22C998
pt_IDUS_N_860026357	 ="pt_IDUS_N1212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212"
pt_debChamp_860026357	 ="111111111111111111111111"
pt_TARIF_860026357	 ="444444444444444444444444444444444444444444444444444444444"
pt_TRAFIC_860026357	 ="55555555555555555555555555555555555555555555555555555555"
pt_SGTQS_860026357	 ="77777777777"
pt_DEDE_N_860026357	 ="10101010101010101010101010101010101010101010101010101010010101010101010101010101010101010101010101010101010"
pt_IDUS_BNC_860026357	 ="171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717"
pt_BUF2_860026357		 ="6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666"
pt_DEDE_NUM_860026357	 ="3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"
pt_EccFact_860026357	 ="13131313131313"
pt_codcir_860026357	 ="14141414141414141414"
pt_DEDE_al_860026357	 ="161616161616161616161616161616161616161616161616161616161616"
pt_COMPTE_860026357	 ="2121212121212121212121212121212121212121212121212121"
pt_COMPTE_NPF_860026357	 ="2323232323232323232323232323232323232323232323232323"
pt_TETRIS_ECC_860026357	 ="242424"
pt_CODE_FU_860026357	 ="2525"
pt_ECC_TRAFIC_860026357	 ="262626262626262626"
pt_CLE_860026357		 ="27272727272727"
pt_OrigCallee_860026357	 ="88888888888888888888888888888888888888888888888888888"
pt_debOrigCallee_860026357 ="98989898989898989898989898989898989898989898989898"
pt_BUF3_860026357		 ="6060606060606060606060606060606060606060606060606"
pt_CODESCP_860026357	 ="3968396839683968396839683968396839683968"
pt_DEDE_WOO_860026357	 ="59595959595959595959595959595959595959595959595"
pt_CODESRP_860026357	 ="309309309309309309309309309309309309309309"
pt_DEDE_Nu_860026357	 ="421421421421421421421421421421421421421421421421"
pt_IDUS_860026357		 ="39399339393939393939393939393939393939393939393939393"
pt_OPT_RTC_860026357	 = "pt_OPT_RTC333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"
pt_TETRIS_RTC_860026357	 = "pt_TETRIS_RTC333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"
pt_adr_NDS_860026357	 = "pt_adr_NDRTC444444444444444444444444444444444444433333333333333333333333333333333333333333333333333333333333333333333"
pt_OPT_ECC_860026357	 = "pt_OPT_ECC"
pt_buffer_860026357	 = "pt_buffer123"
pt_TermCallee_860026357	 = "pt_TermCallee11111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
pt_cle_860026357		 = "pt_cle33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"
pt_return_TablePort_860026357 = "pt_return_TablePort444444444444444444"
pt_TYPCOM_860026357	 ="pt_TYCOM123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012"
# DRE G4R6 lot3
pt_MESSAGE_860026357 = "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_860026357	 = "pt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDIST"
pt_CODE_TARIF_860026357 	 = "pt_CODE_TARIFpt_CODE_TARIF"
pt_TYPE_EDIT_860026357	 = "pt_TYPE_EDIT"
pt_LIBELREDIST_860026357	 = "pt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDIST"
pt_NORM_860026357		 = "389389389389389389996200258997115447999945899"
pt_TEMP_860026357		 = "pt_TEMPpt_TEMPpt_TEMPpt_TEMPpt_TEMPpt_TEMPpt_TEMPpt_TEMPpt_TEMPpt_TEMPpt_TEMPpt_TEMP"


# Initialisation variables pointeurs
i_strcpy(pt_debChamp_860026357,"")
i_strcpy(pt_BUF2_860026357,"")
i_strcpy(pt_CLE_860026357,"")
i_strcpy(pt_TermCallee_860026357,"")
i_strcpy(pt_cle_860026357,"")
i_strcpy(pt_return_TablePort_860026357,"")
i_strcpy(pt_BUF3_860026357,"")
i_strcpy(pt_OrigCallee_860026357,"")
i_strcpy(pt_debOrigCallee_860026357,"")
i_strcpy(pt_CODESCP_860026357,"")
i_strcpy(pt_CODESRP_860026357,"")
i_strcpy(pt_DEDE_N_860026357,"")
i_strcpy(pt_DEDE_NUM_860026357,"")
i_strcpy(pt_DEDE_WOO_860026357,"")
i_strcpy(pt_DEDE_Nu_860026357,"")
i_strcpy(pt_IDUS_860026357,"")
i_strcpy(pt_DEDE_al_860026357,"")
i_strcpy(pt_IDUS_BNC_860026357,"")
i_strcpy(pt_Caller_860026357,"")
i_strcpy(pt_TARIF_860026357,"")
i_strcpy(pt_TRAFIC_860026357,"")
i_strcpy(pt_IDUS_NUM_860026357, " ")
i_strcpy(pt_IDUS_N_860026357, " ")
i_strcpy(pt_Callee_860026357, "")
i_strcpy(pt_COMPTE_860026357,"")
i_strcpy(pt_OPT_RTC_860026357,"")
i_strcpy(pt_TETRIS_RTC_860026357,"")
i_strcpy(pt_OPT_ECC_860026357,"")
i_strcpy(pt_adr_NDS_860026357,"")
i_strcpy(pt_buffer_860026357,"")
i_strcpy(pt_SGTQS_860026357," ")
i_strcpy(pt_COMPTE_NPF_860026357,"")
i_strcpy(pt_TETRIS_ECC_860026357,"")
i_strcpy(pt_CODE_FU_860026357,"")
i_strcpy(pt_ECC_TRAFIC_860026357,"")
i_strcpy(pt_TYPCOM_860026357,"")
# DRE G4R6 lot3
i_strcpy(pt_MESSAGE_860026357, "")
i_strcpy(pt_CODE_TARIF_860026357 , "    ")
i_strcpy(pt_TYPE_EDIT_860026357 , " ")
i_strcpy(pt_LIBELREDIST_860026357,"")
i_strcpy(pt_NORM_860026357,"")
i_strcpy(pt_TEMP_860026357,"")

erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::Caller,pt_Caller_860026357)

###################################################################################
###########  Creation article Conversion (utilise a plusieurs endroits)  ##########
###################################################################################
erreur_860026357 = i_cree_art(C_Conversion_860026357,g_iartout10)

###################################################################################
#######################    Variables fonctionnelles    ############################
###################################################################################
EnvoiPERIBSS_860026357=0

###################################################################################
#############################    ECC de facturation    ############################
###################################################################################
i_strcpy(pt_EccFact_860026357,"")

###################################################################################
##################    Variables calculables suite a appel BNC    ##################
###################################################################################
CCD_860026357 = -1
CODCIR_860026357 = -1
CODCIRDR_860026357 = -1

# G3R17Cx
###################################################################################
########################    DATE_GMT AuthorizeTime    #############################
###################################################################################
date_GMT_860026357 = i_get_art_field(g_iartin, $Tvoicewfr::DATE)

# DRE G4R6 Lot3
###################################################################################
################    trait_ok : nb de passage en redistribution   ##################
###################################################################################
trait_ok_860026357 = -1
trait_ok_860026357 = i_LireRedistCpt()
# \DRE G4R6 Lot3



###################################################################################
####################################    EFFICACE    ###############################
###################################################################################

SI (i_valid_field_n(g_iartin, $Tvoicewfr::TermCallee))
ALORS
	erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::TermCallee,pt_TermCallee_860026357)

	i_get_sub_str(pt_TermCallee_860026357, 0, 5, pt_debChamp_860026357)

	b_DTMF_860026357 = 0

	SI (i_strcmp(pt_debChamp_860026357,"300000")==0)
	ALORS
		# Le numero commence par 300000
		SI (i_valid_field_n(g_iartin, $Tvoicewfr::OrigCallee))
		ALORS
			erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::OrigCallee,pt_OrigCallee_860026357)
			erreur_860026357 = i_format_str2( pt_cle_860026357, "%s%s" , "DT", pt_OrigCallee_860026357 )
#			i_strcpy(pt_return_TablePort,table_exp_reg(pt_cle,C_Tab_Ext,date_GMT) )
			i_strcpy(pt_return_TablePort_860026357,table_exp_860026233(pt_cle_860026357,C_Tab_Ext_860026357,date_GMT_860026357) )

			SI i_strcmp (pt_return_TablePort_860026357,g_inull) != 0
			ALORS
				b_DTMF_860026357 = 1
			FINSI
		FINSI
	FINSI
FINSI


EFFICACE_860026357 = 1

res_860026357=i_get_art_field(g_iartin, $Tvoicewfr::DUREE)

#SI ( res == 0 )
SI ( ( res_860026357 == 0 ) || ( b_DTMF_860026357 == 1 ) )
ALORS
	EFFICACE_860026357 = 0
FINSI
# \G3R17Cx

# DRE G4R6 Lot3
ddebut_860026357 = i_get_art_field( g_iartin, $ddebut )
SI ( ddebut_860026357 == -1 )
ALORS
	code_errone_860026357 = 0xA080
	code_errone_860026357 = code_errone_860026357 + EFFICACE_860026357
	erreur_860026357 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026357, C_Article_860026357, "i_get_art_field/ddebut" )
	SAUT DISTRI_ERR
FINSI

# \DRE G4R6 Lot3

###################################################################################
#############################    APPEL_SORTANT,    ################################
###################################################################################
# EnvoiPERIBSS (ou TRAFBSS) et CPT_TEST
SI ( !i_valid_field_n(g_iartin, $Tvoicewfr::CgIdentTag) )
ALORS
	APPEL_SORTANT_860026357 = 0
SINON
	APPEL_SORTANT_860026357 = 1
	length_CgI_860026357=i_get_art_field(g_iartin, $Tvoicewfr::L3CgIdentTag)
	#trace1(">>>__LINE__>>>**************length CgIdenTag sur le L3=%d***************",length_CgI)
	erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::CgIdentTag, pt_BUF1_860026357)
	SI (i_strplcmp(pt_BUF1_860026357,"1",0,1)==0)
	ALORS
		EnvoiPERIBSS_860026357=1
	SINON
		SI (i_strplcmp(pt_BUF1_860026357,"2",0,1)==0)
		ALORS
			EnvoiPERIBSS_860026357=2
		SINON
			CPT_TEST_860026357=1
		FINSI
	FINSI
FINSI

###################################################################################
###############################    APPEL_ENTRANT    ###############################
###################################################################################
APPEL_ENTRANT_860026357 = 1
SI ( !i_valid_field_n(g_iartin, $Tvoicewfr::CdIdentTag) )
ALORS
	APPEL_ENTRANT_860026357 = 0
SINON
	length_CdI_860026357= i_get_art_field(g_iartin, $Tvoicewfr::L3CdIdentTag)
	#trace1(">>>__LINE__>>>**************length CdIdenTag=%d***************",length_CdI)
FINSI

###################################################################################
########################    ICAR_ABS (date metropole)    ##########################
###################################################################################
ICAR_ABS_860026357 = i_get_art_field(g_iartin, $Tvoicewfr::ddebut)

# Ajout du Champ DATE_M dans l'enveloppe optionnelle
res_860026357=ICAR_ABS_860026357+i_get_art_field(g_iartin, $Tvoicewfr::DUREE)
erreur_860026357 = i_set_attr_val_n($E_Tvoicewfr::DATE_M,res_860026357)

###################################################################################
############################    SimulationCall    #################################
###################################################################################
erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::SimulCall, pt_BUF1_860026357)
S_Call_860026357 = 1
SI (i_strcmp(pt_BUF1_860026357,"0")==0)
ALORS
	S_Call_860026357 = 0
FINSI

###################################################################################
##################################    SGTQS    ####################################
###################################################################################
i_strcpy(pt_SGTQS_860026357, i_LireEECSGTQS(g_ieec))
i_strcpy(pt_TARIF_860026357, "")
i_strcpy(pt_TRAFIC_860026357, "")

###################################################################################
#################################    IDUS_NUM    ##################################
###################################################################################
######suppression des 6 premiers digits (000000)
erreur_860026357 = i_dup_art_id(g_iartin, g_iartout)
erreur_860026357 = i_ajoutChampNum(g_iartout, $Tvoicewfr::T4idus,$Tvoicewfr::IDUS_NUM,0)
erreur_860026357 = i_dup_chp_1val(g_iartout, g_iartout, $Tvoicewfr::Caller, $Tvoicewfr::IDUS_NUM)
erreur_860026357 = i_supp_quart_num($Tvoicewfr::IDUS_NUM, 0, 6, 0x0f, g_iartout, g_iartout)

SI ( i_valid_field_n(g_iartout, $Tvoicewfr::IDUS_NUM ) )
ALORS
	erreur_860026357 = i_get_art_str(g_iartout, $Tvoicewfr::IDUS_NUM, pt_IDUS_N_860026357)
FINSI

###### suppression du 33 si present
i_strcpy(pt_BUF1_860026357,"")

SI ( i_valid_field_n(g_iartout, $Tvoicewfr::IDUS_NUM ) )
ALORS
	erreur_860026357 = i_get_art_str(g_iartout, $Tvoicewfr::IDUS_NUM, pt_BUF1_860026357)
FINSI
i_get_sub_str(pt_BUF1_860026357, 0, 1, pt_debChamp_860026357)

SI ( i_strcmp("33", pt_debChamp_860026357) == 0)
ALORS
	erreur_860026357 = i_supp_quart_num($Tvoicewfr::IDUS_NUM, 0, 2, 0x0f, g_iartout, g_iartout)
FINSI

SI ( i_valid_field_n(g_iartout, $Tvoicewfr::IDUS_NUM ) )
ALORS
	erreur_860026357 = i_get_art_str(g_iartout, $Tvoicewfr::IDUS_NUM, pt_IDUS_NUM_860026357)
FINSI

###################################################################################
##########################    HLAHM1(date locale)    ##############################
###################################################################################
numzone_860026357 = i_DHgetZoneID(NUMTABSEL_860026357, g_iartout)
HLAHM1_860026357 = i_DHgetLocalTime(NUMTAB_860026357,numzone_860026357,date_GMT_860026357)

###################################################################################
#############    Inefficace n'ayant pas ni CgIdentTag, ni CgIdentTag    ###########
###################################################################################

SI ( !i_valid_field_n(g_iartin, $Tvoicewfr::CgIdentTag)
&& !i_valid_field_n(g_iartin, $Tvoicewfr::CdIdentTag)
&& EFFICACE_860026357==0 )
ALORS
	ENVOI_SYMPH_860026357=1
	SAUT FIN_COMPTAGE
FINSI

####################################### OPT OPTIMALE #############################################
L_NDS_OPT_860026357 = i_conv_ascii_dcb(pt_IDUS_NUM_860026357, pt_adr_NDS_860026357)
SI (L_NDS_OPT_860026357 > 0)
ALORS
	res_860026357 = i_EnvoiReqConsTabDist(TD_NPF_860026357, date_GMT_860026357, pt_adr_NDS_860026357, L_NDS_OPT_860026357, 0, 1)
	SI ( res_860026357 !=0 )
	ALORS
		trace1(">>__LINE__>> Erreur i_EnvoiReqConsTabDist %d - alarme a emettre", res_860026357)
	SINON
		appel_OPT_860026357 = 1
	FINSI
FINSI

###################################################################################
######################    Recherche  instance OPTIMALE    #########################
###################################################################################
instOPT_860026357 = i_LireInstanceECC(C_instOPT_860026357)
SI (!instOPT_860026357)
ALORS
	#trace2( "<<__LINE__>> Erreur i_LireInstanceECC: <%s>", C_instOPT,"")
	erreur_860026357 = i_PlvMessEmettre(8501,2,g_iartin,"",3,"OPT",C_Article_860026357,g_ieec)
	SAUT DISTRI_ERR
FINSI

SI appel_OPT_860026357
ALORS
	resultat_860026357 = i_LireReqConsTabDist()
	SI ( resultat_860026357 != 0 )
	ALORS
		trace1( "Erreur i_LireReqConsTabDist: <%d>", res_860026357)
	FINSI

	# (ECCv de OPT = 246 = 0xF6)
	instECCv_860026357 = i_LireEntierECCv(instOPT_860026357)
	res_860026357 = i_LireInfoECC(instOPT_860026357, instECCv_860026357)
	SI (res_860026357 != 0)
	ALORS
		b_NPF_OPT_860026357 = 1
		# Bassin de facturation et numero RTC, C_pref_cle="INi"
		erreur_860026357 = i_set_art_field(g_iartout10, $Conversion::BassinFacN, instECCv_860026357)
		erreur_860026357 = i_get_art_str(g_iartout10, $Conversion::BassinFacA, pt_OPT_ECC_860026357)
		erreur_860026357 = i_format_str2( pt_CLE_860026357, "%s%s", C_pref_cle_860026357, pt_OPT_ECC_860026357)
		i_strcpy(pt_ECC_TRAFIC_860026357, i_get_tab_field( "Inter", dpivot_860026357, pt_CLE_860026357 ))
		SI (i_strcmp(pt_ECC_TRAFIC_860026357, "") == 0)
		ALORS
			code_errone_860026357 = 0xA080
			code_errone_860026357 = code_errone_860026357 + EFFICACE_860026357
			erreur_860026357 = i_PlvMessEmettre( 8605, 2, g_iartin,"", 3,code_errone_860026357, "Inter/Bassin de facturation", pt_CLE_860026357 )
			SAUT DISTRI_ERR
		FINSI
		# Numero RTC
		erreur_860026357 = i_LireImsiInfo( res_860026357, 0, 5, pt_OPT_RTC_860026357 )
	SINON
		b_NPF_OPT_860026357 = 0
		i_strcpy(pt_OPT_RTC_860026357,"")
	FINSI
FINSI
####################################### OPT OPTIMALE #############################################

###################################################################################
#############  : appel au referentiel NPF
###################################################################################
# ParamFTSA-G3R4Cz modif condition (&& !b_NPF_OPT)
SI i_valid_field_n(g_iartin, $Tvoicewfr::CgIdentTag) && !CPT_TEST_860026357 && !b_NPF_OPT_860026357
ALORS
	erreur_860026357 = i_get_art_str (g_iartin, $Tvoicewfr::CgIdentTag, pt_COMPTE_860026357)
	L_COMPTE_NPF_860026357 = i_conv_ascii_dcb(pt_COMPTE_860026357, pt_COMPTE_NPF_860026357)
	SI (L_COMPTE_NPF_860026357 > 0)
	ALORS
		res_860026357 = i_EnvoiReqConsTabDist(TD_NPF_860026357, date_GMT_860026357, pt_COMPTE_NPF_860026357, L_COMPTE_NPF_860026357, 0, 1)
		SI ( res_860026357 !=0 )
		ALORS
			trace1("Erreur i_EnvoiReqConsTabDistDouble %d - alarme a emettre", res_860026357)
		SINON
			appel_NPF_860026357 = 1
		FINSI
	FINSI
FINSI

###################################################################################
######################    FIN_APPEL(date de fin locale)    ########################
###################################################################################
SI (i_valid_field_n(g_iartin, $Tvoicewfr::StartTime))
ALORS
	StartTime_gmt_860026357=i_get_art_field(g_iartin, $Tvoicewfr::StartTime)
	StartTime_860026357 = i_DHgetLocalTime(NUMTAB_860026357,numzone_860026357,i_get_art_field(g_iartin, $Tvoicewfr::StartTime))
	FIN_APPEL_860026357=StartTime_860026357+i_get_art_field(g_iartin, $Tvoicewfr::DUREE)
SINON
	FIN_APPEL_860026357=0
FINSI

###################################################################################
###########################    Recherche instance NPF    ##########################
###################################################################################

instNPF_860026357 = i_LireInstanceECC(C_InstNPF_860026357)
SI (!instNPF_860026357)
ALORS
	trace("Pas d'instance pour NPF!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstNPF_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI

###################################################################################
####################    Lecture requete table de distribution    ##################
###################################################################################
# appel_NPF est vrai si b_NPF_OPT est faux
SI appel_NPF_860026357
ALORS
	resultat_860026357 = i_LireReqConsTabDist()
	SI ( resultat_860026357 != 0 )
	ALORS
		trace1( "Erreur i_LireReqConsTabDist: <%d>", res_860026357)
		bREDIST_860026357 = 1
	FINSI

	instECCv_860026357 = i_LireEntierECCv(instNPF_860026357)
	resultat_860026357 = i_LireInfoECC(instNPF_860026357, instECCv_860026357)
	SI (resultat_860026357 != 0)
	ALORS
		# Recuperation des infos du referentiel NPF
		# Code facturation
		erreur_860026357=i_LireChaineInfo(resultat_860026357,5,1,pt_CODE_FU_860026357)
		SI !i_strcmp(pt_CODE_FU_860026357, C_FU_860026357)
		ALORS
			b_TETRIS_FU_860026357 = 1
			# Bassin de facturation et numero RTC
			erreur_860026357 = i_set_art_field(g_iartout10, $Conversion::BassinFacN, instECCv_860026357)
			erreur_860026357 = i_get_art_str(g_iartout10, $Conversion::BassinFacA, pt_TETRIS_ECC_860026357)
			erreur_860026357 = i_format_str2(pt_CLE_860026357,"%s%s",C_pref_cle_860026357,pt_TETRIS_ECC_860026357)
			i_strcpy(pt_ECC_TRAFIC_860026357, i_get_tab_field( "Inter", dpivot_860026357, pt_CLE_860026357 ))
			SI (i_strcmp(pt_ECC_TRAFIC_860026357, "") == 0)
			ALORS
				code_errone_860026357 = 0xA080
				code_errone_860026357 = code_errone_860026357 + EFFICACE_860026357
				erreur_860026357 = i_PlvMessEmettre( 8605, 2, g_iartin,"", 3,code_errone_860026357, "Inter/Bassin de facturation", pt_CLE_860026357 )
				SAUT DISTRI_ERR
			FINSI
			# Numero RTC
			erreur_860026357=i_LireImsiInfo(resultat_860026357,0,5,pt_TETRIS_RTC_860026357)
		SINON
			b_TETRIS_FU_860026357 = 0
			i_strcpy(pt_TETRIS_RTC_860026357,"")
		FINSI
	FINSI
FINSI

###################################################################################
########################    Normalisation du demandeur   IDUS_N =pt_IDUS_BNC ######
###################################################################################
#Param FTSA-G3R4Cz modif condition et pt_TETRIS_RTC par pt_NDS_RTC
# QC261
i_get_sub_str(pt_Caller_860026357, 0, 7, pt_debChamp_860026357)

SI (i_strcmp(pt_debChamp_860026357,"00000033")==0)
ALORS
	# Demandeur national
	i_get_sub_str(pt_Caller_860026357, 0, 9, pt_debChamp_860026357)
	SI (i_strcmp(pt_debChamp_860026357,"0000003387")==0)
	ALORS
		#87B..
		# Le numero commence par 0000003387 => format pivot netcentrex : national Wanadoo (MLV, Etelephonie...).
		# BNC=suppression de 00000033, ajout de 0*
		i_get_sub_str(pt_Caller_860026357, 8, -1, pt_BUF1_860026357)
		erreur_860026357=i_format_str2(pt_IDUS_860026357, "%s%s","0",pt_BUF1_860026357)
		erreur_860026357 = i_format_str2(pt_IDUS_BNC_860026357,"%s%s","0*",pt_BUF1_860026357)
	SINON
		i_get_sub_str(pt_Caller_860026357, 0, 8, pt_debChamp_860026357)
		SI ( (i_strcmp(pt_debChamp_860026357,"000000339")==0)
		|| (i_strcmp(pt_debChamp_860026357,"000000336")==0)
		|| (i_strcmp(pt_debChamp_860026357,"000000337")==0) )
		ALORS
			#9AB..,6AB..,7AB..
			# Le numero commence par 000000339 => format pivot netcentrex : national Wanadoo avec Z=9.
			# Le numero commence par 000000336 ou 000000337 => format pivot netcentrex : national mobile Z=6 ou 7
			# BNC=suppression de 00000033, ajout de 0*
			i_get_sub_str(pt_Caller_860026357, 8, -1, pt_BUF1_860026357)
			erreur_860026357=i_format_str2(pt_IDUS_860026357, "%s%s","0",pt_BUF1_860026357)
			erreur_860026357 = i_format_str2(pt_IDUS_BNC_860026357,"%s%s","0*",pt_BUF1_860026357)
		SINON
			#Z=[1-7] mais on a Z=[0-5]
			# Le numero commence par 00000033ZABPQMCDU => format pivot netcentrex : demandeur national fixe.
			# BNC=suppression de 00000033, ajout de 0
			i_get_sub_str(pt_Caller_860026357, 8, -1, pt_BUF1_860026357)
			erreur_860026357=i_format_str2(pt_IDUS_860026357, "%s%s","0",pt_BUF1_860026357)
			erreur_860026357 = i_format_str2(pt_IDUS_BNC_860026357,"%s%s","0",pt_BUF1_860026357)
		FINSI
	FINSI
SINON
	i_get_sub_str(pt_Caller_860026357, 0, 8, pt_debChamp_860026357)
	SI (i_strcmp(pt_debChamp_860026357,"000000590")==0)
	|| (i_strcmp(pt_debChamp_860026357,"000000594")==0)
	|| (i_strcmp(pt_debChamp_860026357,"000000596")==0)
	|| (i_strcmp(pt_debChamp_860026357,"000000262")==0)
	ALORS
		#590ZAB..,594ZAB..,596ZAB..,262ZAB
		# Le numero commence par 000000ZAB... avec ZAB de type DOM => format pivot netcentrex : demandeur DOM fixe ou mobile mobile.
		# BNC=suppression de 000000ZAB, ajout de 0*
		i_get_sub_str(pt_Caller_860026357, 9, -1, pt_BUF1_860026357)
		erreur_860026357 = i_format_str2(pt_IDUS_BNC_860026357,"%s%s","0*",pt_BUF1_860026357)
	SINON
		SI (i_strcmp(pt_debChamp_860026357,"000000269")==0) || (i_strcmp(pt_debChamp_860026357,"000000508")==0)
		ALORS
			#00508, 00269
			# Le numero commence par 00000ZAB... avec ZAB de type TOM => format pivot netcentrex : demandeur TOM fixe ou mobile mobile.
			# BNC=suppression de 000000, ajout de 0*
			i_get_sub_str(pt_Caller_860026357, 6, -1, pt_BUF1_860026357)
			erreur_860026357 = i_format_str2(pt_IDUS_BNC_860026357,"%s%s","0*",pt_BUF1_860026357)
		SINON
			#00CC
			# Le numero commence par 000000CCC avec CCC=code pays => format pivot netcentrex : demandeur international (fixe, mobile),
			# BNC= suppression de 000000, ajout de 0#
			i_get_sub_str(pt_Caller_860026357, 6, -1, pt_BUF1_860026357)
			erreur_860026357 = i_format_str2(pt_IDUS_BNC_860026357,"%s%s","0#",pt_BUF1_860026357)
		FINSI
	FINSI
FINSI

res_860026357 = i_strlen(pt_IDUS_BNC_860026357)
SI (res_860026357>10)
ALORS
	i_get_sub_str(pt_IDUS_BNC_860026357,0,9,pt_BUF2_860026357)
	erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDR, pt_BUF2_860026357,11)
SINON
	erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDR, pt_IDUS_BNC_860026357,res_860026357+1)
FINSI


###################################################################################
#####################    Calcul du champ DEDE_INF et DEDE_N    ####################
###################################################################################

SI (i_valid_field_n(g_iartin, $Tvoicewfr::Callee))
ALORS
	erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::Callee,pt_Callee_860026357)
SINON
	DEDE_INF_860026357 = 0x00
FINSI

i_get_sub_str(pt_Callee_860026357, 0, 5, pt_debChamp_860026357)
#idloc SI (i_strcmp(pt_debChamp,"000000")==0)
SI ((i_strcmp(pt_debChamp_860026357,"000000")==0) || (i_strcmp(pt_debChamp_860026357,"000030")==0))
ALORS
	# Le numero commence par 000000 => format pivot netcentrex
	i_get_sub_str(pt_Callee_860026357, 6, -1, pt_DEDE_N_860026357)
	i_strcpy(pt_DEDE_Nu_860026357,pt_DEDE_N_860026357)
	i_get_sub_str(pt_Callee_860026357, 0, 7, pt_debChamp_860026357)
	#idloc SI (i_strcmp(pt_debChamp,"00000033")==0)
	SI ((i_strcmp(pt_debChamp_860026357,"00000033")==0) || (i_strcmp(pt_debChamp_860026357,"00003033")==0))
	ALORS
		DEDE_INF_860026357 = 0x80
		i_get_sub_str(pt_Callee_860026357,8,-1,pt_DEDE_N_860026357)
		erreur_860026357=i_format_str2(pt_DEDE_WOO_860026357,"%s%s","0",pt_DEDE_N_860026357)
	SINON
		i_get_sub_str(pt_Callee_860026357, 0, 8, pt_debChamp_860026357)
		#idloc SI (i_strcmp(pt_debChamp,"000000590")==0) || (i_strcmp(pt_debChamp,"000000594")==0) || (i_strcmp(pt_debChamp,"000000596")==0) || (i_strcmp(pt_debChamp,"000000262")==0)
		SI ( (i_strcmp(pt_debChamp_860026357,"000000590")==0) || (i_strcmp(pt_debChamp_860026357,"000000594")==0)
		|| (i_strcmp(pt_debChamp_860026357,"000000596")==0) || (i_strcmp(pt_debChamp_860026357,"000000262")==0)
		|| (i_strcmp(pt_debChamp_860026357,"000030590")==0) || (i_strcmp(pt_debChamp_860026357,"000030594")==0)
		|| (i_strcmp(pt_debChamp_860026357,"000030596")==0) || (i_strcmp(pt_debChamp_860026357,"000030262")==0) )
		ALORS
			# Le numero commence par 000000ZAB avec ZAB DOM (590, 594, 596 ou 262) => format pivot netcentrex : demande DOM prefixe double (fixe, mobile). BNC=suppression de 000000ZAB, ajout de 0
			DOM_860026357 = 1
			DEDE_INF_860026357 = 0x80
			i_get_sub_str(pt_Callee_860026357,9,-1,pt_DEDE_N_860026357)
			erreur_860026357=i_format_str2(pt_DEDE_WOO_860026357,"%s%s","0",pt_DEDE_N_860026357)
		SINON
			# Le numero commence :
			# - par 000000ZAB avec ZAB TOM (269 ou 508) => format pivot netcentrex : demande TOM prefixe simple (fixe, mobile). BNC=suppression de 000000, ajout de 00
			# - par 000000CCC avec CCC=code pays => format pivot netcentrex : demande international (fixe, mobile), suppression de 000000, ajout de 00
			DEDE_INF_860026357 = 0xC0
			i_get_sub_str(pt_Callee_860026357, 6, -1, pt_DEDE_N_860026357)
			#idloc i_get_sub_str(pt_Callee,4,-1,pt_DEDE_WOO)
			erreur_860026357 = i_format_str2(pt_DEDE_WOO_860026357,"%s%s","00",pt_DEDE_N_860026357)
		FINSI
	FINSI
SINON
	#idloc SI (i_strcmp(pt_debChamp,"000001")==0)
	SI ((i_strcmp(pt_debChamp_860026357,"000001")==0) || (i_strcmp(pt_debChamp_860026357,"000031")==0))
	ALORS
		# Le numero commence par 000001 => format pivot netcentrex : demande national court (service). BNC=suppression de 00000133
		DEDE_INF_860026357 = 0x40
		i_get_sub_str(pt_Callee_860026357,6,-1,pt_DEDE_Nu_860026357)
		i_get_sub_str(pt_Callee_860026357, 8, -1, pt_DEDE_N_860026357)
	SINON
		i_get_sub_str(pt_Callee_860026357, 0, 6, pt_debChamp_860026357)
		#idloc SI (i_strcmp(pt_debChamp,"3000000")==0)
		SI ((i_strcmp(pt_debChamp_860026357,"3000000")==0) || (i_strcmp(pt_debChamp_860026357,"3000030")==0))
		ALORS
			SI (i_valid_field_n(g_iartin, $Tvoicewfr::OrigCallee))
			ALORS
				erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::OrigCallee,pt_DEDE_Nu_860026357)
				erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::OrigCallee,pt_DEDE_N_860026357)
				DEDE_INF_860026357 = 0x40
			SINON
				i_strcpy(pt_DEDE_N_860026357,"")
				DEDE_INF_860026357 = 0x80
				SAUT FIN_COMPTAGE
			FINSI
		SINON
			SAUT FIN_COMPTAGE
		FINSI
	FINSI
FINSI

###################################################################################
#####################    Normalisation du demande pour BNC    #####################
###################################################################################


###################################################################################
########    CAS presence du champ cdIdentity et normalisation de Callee    ########
###################################################################################

SI ( i_valid_field_n(g_iartin, $Tvoicewfr::CdIdentTag) && length_CdI_860026357 != 0)
ALORS
	#trace("**********presence de champ cdIdentity********")
	i_strcpy(pt_DEDE_NUM_860026357 , "")
	SI (i_valid_field_n(g_iartin, $Tvoicewfr::Callee))
	ALORS
		erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::Callee,pt_Callee_860026357)
	SINON
		SAUT FIN_COMPTAGE
	FINSI

	i_get_sub_str(pt_Callee_860026357, 0, 5, pt_debChamp_860026357)
	#idloc SI (i_strcmp(pt_debChamp,"000000")==0)
	SI ((i_strcmp(pt_debChamp_860026357,"000000")==0) || (i_strcmp(pt_debChamp_860026357,"000030")==0))
	ALORS
		# Le numero commence par 000000 => format pivot netcentrex
		i_get_sub_str(pt_Callee_860026357, 0, 7, pt_debChamp_860026357)
		#idloc SI (i_strcmp(pt_debChamp,"00000033")==0)
		SI ((i_strcmp(pt_debChamp_860026357,"00000033")==0) || (i_strcmp(pt_debChamp_860026357,"00003033")==0))
		ALORS
			# Le numero commence par 00000033 => format pivot netcentrex : demande national long (fixe, mobile, IP). BNC=suppression de 00000033, ajout de 0
			i_get_sub_str(pt_Callee_860026357, 8, -1, pt_BUF2_860026357)
			erreur_860026357 = i_format_str2(pt_DEDE_NUM_860026357,"%s%s","0",pt_BUF2_860026357)
		SINON
			i_get_sub_str(pt_Callee_860026357, 0, 8, pt_debChamp_860026357)
			#idloc SI (i_strcmp(pt_debChamp,"000000590")==0) || (i_strcmp(pt_debChamp,"000000594")==0) || (i_strcmp(pt_debChamp,"000000596")==0) || (i_strcmp(pt_debChamp,"000000262")==0)
			SI ( (i_strcmp(pt_debChamp_860026357,"000000590")==0) || (i_strcmp(pt_debChamp_860026357,"000000594")==0)
			|| (i_strcmp(pt_debChamp_860026357,"000000596")==0) || (i_strcmp(pt_debChamp_860026357,"000000262")==0)
			|| (i_strcmp(pt_debChamp_860026357,"000030590")==0) || (i_strcmp(pt_debChamp_860026357,"000030594")==0)
			|| (i_strcmp(pt_debChamp_860026357,"000030596")==0) || (i_strcmp(pt_debChamp_860026357,"000030262")==0) )
			ALORS
				# Le numero commence par 000000ZAB avec ZAB DOM (590, 594, 596 ou 262) => format pivot netcentrex : demande DOM prefixe double (fixe, mobile). BNC=suppression de 000000ZAB, ajout de 0
				i_get_sub_str(pt_Callee_860026357, 9, -1, pt_BUF2_860026357)
				erreur_860026357 = i_format_str2(pt_DEDE_NUM_860026357,"%s%s","0",pt_BUF2_860026357)
			SINON
				#idloc i_get_sub_str(pt_Callee, 4, -1, pt_DEDE_NUM)
				i_get_sub_str(pt_Callee_860026357, 6, -1, pt_BUF2_860026357)
				erreur_860026357 = i_format_str2(pt_DEDE_NUM_860026357,"%s%s","00",pt_BUF2_860026357)
			FINSI
		FINSI
	SINON
		i_strcpy(pt_DEDE_NUM_860026357,"")
	FINSI
	###################################################################################
	####    CAS presence du champ CgIdentag et normalisation Originating Callee    ####
	###################################################################################
SINON
	SI (i_valid_field_n(g_iartin, $Tvoicewfr::CgIdentTag) && length_CgI_860026357 != 0)
	ALORS
		#trace("**************presence de Originating Callee*****************")
		SI (i_valid_field_n(g_iartin, $Tvoicewfr::OrigCallee))
		ALORS
			erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::OrigCallee,pt_OrigCallee_860026357)
		SINON
			trace ("OrigCallee absent pas de passage a la base")
			i_strcpy(pt_DEDE_NUM_860026357, "")
			SAUT FIN_COMPTAGE
		FINSI

		i_get_sub_str(pt_OrigCallee_860026357, 0, 1, pt_debOrigCallee_860026357)
		SI (i_strcmp(pt_debOrigCallee_860026357,"33")==0)
		ALORS
			# Le numero commence par 33 => portabilite possible
			Drap_860026357=1
			i_get_sub_str(pt_OrigCallee_860026357, 2, 6, pt_BUF3_860026357)
			erreur_860026357 = i_format_str2(pt_DEDE_NUM_860026357,"%s%s","0",pt_BUF3_860026357)
			erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDE, pt_DEDE_NUM_860026357,7)
		FINSI
	FINSI
	###################################################################################
	#############    Appel Base de comptage pour detection de CCD = 54    #############
	###################################################################################
	SI Drap_860026357 == 1
	ALORS
		trace("passage BNC 1")

		g_icopo.TAXE   = 0
		g_icopo.CREDIT = 0
		erreur_860026357 = i_set_art_date(g_icopo,HLAHM1_860026357)
		g_icopo.DUREE  = i_get_art_field(g_iartin, $Tvoicewfr::DUREE)
		g_icopo.CODE   = CODE_ARTICLE_860026357
		g_icopo.CATEG  = CATEG_860026357
		g_icopo.SUP[0] = 0
		g_icopo.SUP[1] = 0
		g_icopo.SUP[2] = 0
		g_icopo.SUP[3] = 0
		g_icopo.SUP[4] = 0
		g_icopo.SUP[5] = 0
		g_icopo.SUP[6] = 0
		g_icopo.SUP[7] = 0

		erreur_860026357 = i_comptage(g_icopo,BASE_860026357,HLAHM1_860026357)
		##################################
		# Erreur retour base de comptage #
		##################################
		SI (erreur_860026357 != 0)
		ALORS
			T3G_portabilite_860026357 = -1
			#trace("---------non portabilite detecte ----------------------")
		SINON
			#CCD
			CCD_860026357 = g_icopo.SUP[RES_CLDEST_860026357]
			T3G_portabilite_860026357 = CCD_860026357
		FINSI

		#trace1("---------T3G_portabilite=%d--------------",T3G_portabilite)
		SI (T3G_portabilite_860026357 == 54 && Drap_860026357 == 1)
		ALORS
			i_get_sub_str(pt_OrigCallee_860026357, 7, -1, pt_DEDE_NUM_860026357)
			i_replace_str(pt_DEDE_NUM_860026357,"BC","*#",pt_DEDE_NUM_860026357)
			res_860026357 = i_strlen(pt_DEDE_NUM_860026357)
			SI (res_860026357>10)
			ALORS
				i_get_sub_str(pt_DEDE_NUM_860026357,0,9,pt_BUF2_860026357)
				erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDE, pt_BUF2_860026357,11)
				i_strcpy(pt_DEDE_al_860026357 , pt_BUF2_860026357)
			SINON
				erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDE, pt_DEDE_NUM_860026357,res_860026357+1)
				i_strcpy(pt_DEDE_al_860026357 , pt_DEDE_NUM_860026357)

			FINSI
		FINSI
	FINSI

	SI (T3G_portabilite_860026357 != 54)
	ALORS
		T3G_portabilite_860026357 = -1
	FINSI
	#trace1("************T3G_portabilite=%d*************",T3G_portabilite)
	erreur_860026357 = i_get_art_str(g_iartin,$Tvoicewfr::OrigCallee,pt_DEDE_NUM_860026357)
	SI (DEDE_INF_860026357 == 0x80 && T3G_portabilite_860026357 == -1)
	ALORS
		#trace("**********format national**************")
		#trace2("****************pt_DEDE_NUM=%s*************",pt_DEDE_NUM,"")
		i_get_sub_str(pt_DEDE_NUM_860026357, 0, 1, pt_BUF3_860026357)
		SI (i_strcmp(pt_BUF3_860026357,"33")== 0)
		ALORS
			i_get_sub_str(pt_DEDE_NUM_860026357, 2, -1, pt_BUF3_860026357)
			erreur_860026357 = i_format_str2(pt_DEDE_NUM_860026357,"%s%s","0",pt_BUF3_860026357)
			SAUT COPO
		SINON
			i_get_sub_str(pt_DEDE_NUM_860026357, 0, 4, pt_BUF3_860026357)
			SI ( i_strcmp(pt_BUF3_860026357,"00590")==0
			|| i_strcmp(pt_BUF3_860026357,"00262")==0
			|| i_strcmp(pt_BUF3_860026357,"00594")==0
			|| i_strcmp(pt_BUF3_860026357,"00596")==0 )
			ALORS
				i_get_sub_str(pt_DEDE_NUM_860026357, 5, -1, pt_BUF3_860026357)
				erreur_860026357 = i_format_str2(pt_DEDE_NUM_860026357,"%s%s","0",pt_BUF3_860026357)
				#trace2("------------------pt_DEDE_NUM = %s ----------------------",pt_DEDE_NUM,"")
				SAUT COPO
			SINON
				i_get_sub_str(pt_DEDE_NUM_860026357, 0, 3, pt_BUF3_860026357)
				SI (i_strcmp(pt_BUF3_860026357,"0033")== 0)
				ALORS
					i_get_sub_str(pt_DEDE_NUM_860026357, 4, -1, pt_BUF3_860026357)
					erreur_860026357 = i_format_str2(pt_DEDE_NUM_860026357,"%s%s","0",pt_BUF3_860026357)
					SAUT COPO
				FINSI
			FINSI
		FINSI
	SINON
		SI ( DEDE_INF_860026357 == 0xC0 && T3G_portabilite_860026357 == -1)
		ALORS
			#trace("format international")
			i_get_sub_str(pt_DEDE_NUM_860026357 ,0,4,pt_BUF3_860026357)
			SI (i_strcmp(pt_BUF3_860026357,"00269")!=0 && i_strcmp(pt_BUF3_860026357,"00508")!= 0)
			ALORS
				SAUT COPO
			SINON
				SI (i_strcmp(pt_BUF3_860026357,"00269")==0 || i_strcmp(pt_BUF3_860026357,"00508")==0)
				ALORS
					trace("------Mayotte-----------")
				FINSI
			FINSI
		SINON
			SI (DEDE_INF_860026357 == 0x40 && T3G_portabilite_860026357 == -1)
			ALORS
				#trace ("format numero court")
				res_860026357 = i_strlen(pt_DEDE_NUM_860026357)
				SI (res_860026357 <= 6)
				ALORS
					SAUT COPO
				FINSI
			FINSI
		FINSI
	FINSI
FINSI

POINT COPO
i_replace_str(pt_DEDE_NUM_860026357,"BC","*#",pt_DEDE_NUM_860026357)
res_860026357 = i_strlen(pt_DEDE_NUM_860026357)
SI (res_860026357>10)
ALORS
	i_get_sub_str(pt_DEDE_NUM_860026357,0,9,pt_BUF2_860026357)
	erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDE, pt_BUF2_860026357,11)
SINON
	erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDE, pt_DEDE_NUM_860026357,res_860026357+1)
FINSI

res_860026357 = i_strlen(pt_IDUS_BNC_860026357)
SI (res_860026357>10)
ALORS
	i_get_sub_str(pt_IDUS_BNC_860026357,0,9,pt_BUF2_860026357)
	erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDR, pt_BUF2_860026357,11)
SINON
	erreur_860026357 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDR, pt_IDUS_BNC_860026357,res_860026357+1)
FINSI
#---------------------------------------------------------------------------------
#2eme passage BNC
#---------------------------------------------------------------------------------
g_icopo.TAXE   = 0
g_icopo.CREDIT = 0
erreur_860026357 = i_set_art_date(g_icopo,HLAHM1_860026357)
g_icopo.DUREE  = i_get_art_field(g_iartin, $Tvoicewfr::DUREE)
g_icopo.CODE   = CODE_ARTICLE_860026357
g_icopo.CATEG  = CATEG_860026357
g_icopo.SUP[0] = 0
g_icopo.SUP[1] = 0
g_icopo.SUP[2] = 0
g_icopo.SUP[3] = 0
g_icopo.SUP[4] = 0
g_icopo.SUP[5] = 0
g_icopo.SUP[6] = 0
g_icopo.SUP[7] = 0

erreur_860026357 = i_comptage(g_icopo,BASE_860026357,HLAHM1_860026357)
##################################
# Erreur retour base de comptage #
##################################
SI (erreur_860026357 && !EFFICACE_860026357)
ALORS
	ENVOI_SYMPH_860026357=1
	CCD_860026357 = -1
	CODCIR_860026357 = -1
	CODCIRDR_860026357 = -1
	SAUT FIN_COMPTAGE
FINSI
# G3R6 FO2356 : si retour BNC NOK alors (si APPEL_ENTRANT alors CTN, si APPEL_SORTANT alors ERR)
#               suppression recyclage
SI erreur_860026357
ALORS
	SI  APPEL_SORTANT_860026357
	ALORS
		code_errone_860026357 = 0xA020
		code_errone_860026357 = code_errone_860026357 + EFFICACE_860026357
		# Nota: pt_BUF1 == IDUS_NUM (Caller); pt_DEDE_al == DEDE_NUM (Callee ou OrigCallee)
#		erreur = i_PlvMessEmettre(6359,2,g_iartin,"",3,C_Article,pt_BUF1,pt_DEDE_al) reprise FO 2370
		erreur_860026357 = i_PlvMessEmettre(6359,2,g_iartin,"",3,C_Article_860026357,pt_BUF1_860026357,pt_DEDE_NUM_860026357)
		SAUT DISTRI_ERR
	FINSI
SINON
	type_cpt_860026357 = g_icopo.SUP[RES_TYPCPT_860026357]
	SI (type_cpt_860026357 == CPT_REJET3_860026357)
	ALORS
		REJET3_860026357 = 1
	SINON
		SI (type_cpt_860026357 == CPT_REJET_860026357)
		ALORS
			REJET_860026357 = 1
		SINON
			SI (type_cpt_860026357 == CPT_REJET2_860026357)
			ALORS
				REJET2_860026357 = 1
			SINON
				SI (type_cpt_860026357 == CPT_REJET5_860026357)
				ALORS
					REJET5_860026357 = 1
				FINSI
			FINSI
		FINSI
	FINSI

	#trace1 ("-----------------REJET3=%d---------------------",REJET3)
	#CCD
	# DRE Fusion base Woo et TPH inverse pour Woo dans base FR
	# Attention, TYPCOM et CCD sont inverse pour Wanadoo dans base TPH categ 16
# G3R21Cy QC483

	#TYPCOM  G3R22
	TYPCOM_860026357 = g_icopo.SUP[RES_TYPCOM_860026357]
	erreur_860026357 = i_set_art_field(g_iartout10, $Conversion::CCD, TYPCOM_860026357)
	erreur_860026357 = i_get_art_str(g_iartout10, $Conversion::CCD, pt_TYPCOM_860026357)

#QC602 Ajout CCD_Symphonie
#	CCD_SYMPHONIE = TYPCOM
#QC607 Ajout TYPCOM_Symphonie
	TYPCOM_SYMPHONIE_860026357 = TYPCOM_860026357


	CCD_860026357 = g_icopo.SUP[RES_CLDEST_860026357]
	erreur_860026357 = i_set_art_field(g_iartout10, $Conversion::CCD, CCD_860026357)

	#CODCIR
	CODCIR_860026357 = g_icopo.SUP[RES_CODCIR_860026357]
	erreur_860026357 = i_set_art_field(g_iartout10, $Conversion::CODCIRDR, CODCIR_860026357)

	#CODCIRDR
	CODCIRDR_860026357 = g_icopo.SUP[RES_CODCIRDR_860026357]

#QC483 G3R22 Bloc remonte
#	#TYPCOM
#	TYPCOM = g_icopo.SUP[RES_TYPCOM]

	#TAXE_CALCULEE
	TAXE_860026357 = g_icopo.TAXE

	#trace1("********2eme valeur de CCD = %d *************",CCD)
FINSI


#####################################################################
# 	              Traitement C+S (CPS)
#DRE G4R6 lot3 
SI (type_cpt_860026357==CPT_CPS_Loc_860026357)
ALORS
	i_strcpy(pt_NORM_860026357,pt_DEDE_NUM_860026357)
	i_strcpy(pt_TEMP_860026357, i_get_tab_field( "TDATCPS", date_GMT_860026357, C_DATCPS_860026357 ))

	erreur_860026357 = i_set_art_str (g_iartout10,$Conversion::DATE_STR,pt_TEMP_860026357)
	Date_CPS_860026357 = i_get_art_field(g_iartout10, $Conversion::DATE_ASC)
			
	SI ddebut_860026357 < Date_CPS_860026357
	ALORS
		erreur_860026357 = i_format_str2(pt_MESSAGE_860026357," AR <%s> avec date DC inferieure a la date d'activation <%s> de la facturation CPS",pt_NORM_860026357,pt_TEMP_860026357)
		code_errone_860026357 = 0xA080
		code_errone_860026357 = code_errone_860026357 + EFFICACE_860026357
		erreur_860026357 = i_PlvMessEmettre( 8599, 1, g_iartin,"", 3,code_errone_860026357, C_Article_860026357, pt_MESSAGE_860026357 )
		SAUT ELIMINE_EXP
	SINON
		#######################################
		#  Soumission de la requete de consultation d'une table de distribution ALICE
		#######################################
		SI i_strplcmp (pt_NORM_860026357,"0",0,1) == 0
		ALORS
			i_get_sub_str(pt_NORM_860026357,1,-1,pt_NORM_860026357) 	
		FINSI
		longueur_860026357 = i_conv_ascii_dcb (pt_NORM_860026357, pt_TEMP_860026357)
		SI (i_EnvoiReqConsTabDist( TD_SVA_860026357,date_GMT_860026357,pt_TEMP_860026357,longueur_860026357,0,1) != 0)
		ALORS
			#trace("Erreur i_EnvoiReqConsTabDist ALICE")
			bREDIST_860026357 = 1
			i_strcpy(pt_LIBELREDIST_860026357,"Echec sur i_EnvoiReqConsTabDistDouble ALICE ")
		FINSI
		
		#######################################
		# Recherche de l'instance ECC ALICE
		#######################################
		instALICE_860026357 = i_LireInstanceECC(C_INST_ALICE_860026357)
		SI (!instALICE_860026357)
		ALORS
			#trace("Pas d'instance pour ALICE !")
			erreur_860026357 = i_PlvMessEmettre(8501,1,g_iartin,"",3,C_INST_ALICE_860026357,C_Article_860026357,g_ieec)
			SAUT DISTRI_ERR
		FINSI
		#trace1("instALICE  =<%d>",instALICE)	

		#######################################
		# Lecture Resultat requete ALICE
		#######################################
		erreur_860026357 = i_LireReqConsTabDist()
		#trace1("RETOUR i_LireReqConsTabDist retour requette ALICE, erreur=<%d>",erreur)
		SI ( erreur_860026357 != 0 )
		ALORS
			#trace1( "Erreur i_LireReqConsTabDist ALICE: <%d>", erreur)
			bREDIST_860026357 = 1
			i_strcpy(pt_LIBELREDIST_860026357,"Echec sur i_LireReqConsTabDistDouble ALICE ")
		FINSI
		val_860026357 = i_LireInfoECC( instALICE_860026357, 0 )
		
		SI (val_860026357 != 0)
		ALORS
			# AR present dans ALICE
			erreur_860026357 = i_LireChaineInfo( val_860026357, 0, 4, pt_BUF1_860026357 )
			SI i_strcmp(pt_BUF1_860026357,"") != 0
			ALORS
				i_strcpy(pt_CODE_TARIF_860026357,pt_BUF1_860026357)
			SINON
				# info complementaire CODE_TARIF vide
				bREDIST_860026357 = 1
				erreur_860026357 = i_format_str2(pt_LIBELREDIST_860026357," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NORM_860026357,0)
			FINSI
			
			erreur_860026357 = i_LireChaineInfo( val_860026357, 4, 1, pt_BUF1_860026357 )
			SI i_strcmp(pt_BUF1_860026357,"") != 0
			ALORS
				i_strcpy(pt_TYPE_EDIT_860026357,pt_BUF1_860026357)
			SINON
				# info complementaire TYPE_EDIT vide
				bREDIST_860026357 = 1
				erreur_860026357 = i_format_str2(pt_LIBELREDIST_860026357," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NORM_860026357,0)
			FINSI
		SINON
			bREDIST_860026357 = 1
			erreur_860026357 = i_format_str2(pt_LIBELREDIST_860026357," AR <%s> non trouve dans ALICE",pt_NORM_860026357,0)
		FINSI
	FINSI
FINSI
#\DRE G4R6 lot3




########################################################################
SI CCD_860026357 == 0x18 && (type_cpt_860026357 == 3)
ALORS
	b_SRP_TIERS_PTD_860026357 = 1
FINSI

# b_118_TIERS_PTD 	G3R24
########################################################################
SI CCD_860026357 == 0x1B
ALORS
	b_118_TIERS_PTD_860026357 = 1
FINSI

###################################################################################
##########    Portabilite Entrante ou Sortante SCP (referentiel ACLA)    ##########
###################################################################################

SI (b_TETRIS_FU_860026357 && i_strcmp(pt_DEDE_N_860026357,"")!=0)
ALORS

	#----------  Appel de la table ACLA  ---------  #
	#trace("------------RECHERCHE INSTANCE ACLA-------------")
	instACLA_860026357 = i_LireInstanceECC(C_InstACLA_860026357)

	SI (!instACLA_860026357  )
	ALORS
		trace ("---------------------Pas d'instance pour ACLA------------------------------")
		code_errone_860026357 = 0xA0B1
		erreur_860026357   = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstACLA_860026357,C_Article_860026357)
		SAUT DISTRI_ERR
	FINSI
	#trace1("-----------------------instACLA=<%d>-----------------------------",instACLA  )
	###################################################################################
	#################    Envoi Requetes Table de Distribution ACLA    #################
	###################################################################################

	i_strcpy(pt_BUF2_860026357,pt_DEDE_NUM_860026357)
	pt_CODESCP_860026357 = CodeOperateurTable6_860026233(date_GMT_860026357,pt_BUF2_860026357,"ACLA")
	#trace2("-------------Tvoicewfr resultat de pt_CODESCP : <%s>------------------",pt_CODESCP   ,"")

	SI (!i_strcmp(pt_CODESCP_860026357  , "84008"))
	ALORS
		EPORTABILITE_SCP_860026357   = 1
	SINON
		EPORTABILITE_SCP_860026357   = 0
		SI (i_strcmp(pt_CODESCP_860026357  ,"84008")!=0 && i_strcmp(pt_CODESCP_860026357  ,"")!=0)
		ALORS
			SPORTABILITE_SCP_860026357   = 1
		SINON
			SPORTABILITE_SCP_860026357   = 0
		FINSI
	FINSI
FINSI
#trace1("**********EPORTABILITE_SCP=%d*********",EPORTABILITE_SCP)
#trace1("**********SPORTABILITE_SCP=%d********",SPORTABILITE_SCP)

#************* FIN ACLA *****************#

#trace1("----------valeur CCD_REEL = %d------------------",CCD_REEL)

###################################################################################
###########################    Appelle table 45S SRP    ###########################
###################################################################################

#trace ("*******appel table 45S**********")
#trace2("************pt_DEDE_NUM=%s***************",pt_DEDE_NUM,"")

i_strcpy(pt_BUF2_860026357, pt_DEDE_NUM_860026357)
pt_CODESRP_860026357 = CodeOperateurTable6_860026233(date_GMT_860026357,pt_BUF2_860026357,"45S")

SI (i_strcmp(pt_CODESRP_860026357,"84208")==0)
ALORS
	EPORTABILITE_SRP_860026357=1
SINON
	EPORTABILITE_SRP_860026357 = 0

	SI (i_strcmp(pt_CODESRP_860026357,"84208")!=0 && i_strcmp(pt_CODESRP_860026357,"")!=0)
	ALORS
		SPORTABILITE_SRP_860026357 = 1
	SINON
		SPORTABILITE_SRP_860026357 = 0
	FINSI
FINSI

#trace1("****************EPORTABILITE_SRP=%d**************",EPORTABILITE_SRP)
#trace1("****************SPORTABILITE_SRP=%d**************",SPORTABILITE_SRP)

#************* Fin appel 45S *****************#

###################################################################################
############################    Calcul de CCD_REEL    #############################
###################################################################################
# QC602 Ajout du CCD pour Symphonie (CCD_SYMPHONIE)
SI EPORTABILITE_SRP_860026357
ALORS
	CCD_REEL_860026357 = 212
	TYPCOM_SYMPHONIE_860026357 = 212
#607	CCD_SYMPHONIE = 212
SINON
	SI EPORTABILITE_SCP_860026357
	ALORS
		CCD_REEL_860026357 = 218
		TYPCOM_SYMPHONIE_860026357 = 218
#607		CCD_SYMPHONIE = 218
	SINON
		SI SPORTABILITE_SRP_860026357
		ALORS
			CCD_REEL_860026357 =213
			TYPCOM_SYMPHONIE_860026357 = 213
#607			CCD_SYMPHONIE = 213
		SINON
			SI SPORTABILITE_SCP_860026357
			ALORS
				CCD_REEL_860026357 = 219
				TYPCOM_SYMPHONIE_860026357 = 219
#607				CCD_SYMPHONIE = 219
			SINON
				SI CCD_860026357 != -1
				ALORS
					CCD_REEL_860026357 = CCD_860026357
				SINON
					CCD_REEL_860026357 = 255
				FINSI
			FINSI
		FINSI
	FINSI
FINSI
#trace1("----------valeur CCD_REEL = %d------------------",CCD_REEL)

###############################################################################################
###############################    Appel aux tables externes    ###############################
###############################################################################################

dpivot_860026357 = i_get_art_field( g_iartin, $dpivot )
SI ( dpivot_860026357 == -1 )
ALORS
	code_errone_860026357 = 0xA080
	code_errone_860026357 = code_errone_860026357 + EFFICACE_860026357
	erreur_860026357 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026357, C_Article_860026357, "dpivot" )
	SAUT DISTRI_ERR
FINSI

#QC483 G3R22
## TARIF : libelle du CCD
#erreur = i_get_art_str(g_iartout10, $Conversion::CCD, pt_BUF1)
#G3R16 Fusion des bases Woo et TPH
##i_strcpy(pt_TARIF,i_get_tab_field("wfr_tar_ccd",dpivot,pt_BUF1))
#i_strcpy(pt_TARIF,i_get_tab_field("ft_tar_ccd",dpivot,pt_BUF1))

# TARIF libelle du TYPCOM
# G3R16 Fusion des bases Woo et TPH
i_strcpy(pt_TARIF_860026357,i_get_tab_field("ft_tar_ccd",dpivot_860026357,pt_TYPCOM_860026357))
#\QC483 G3R22


# TRAFIC : libelle du CODCIR demande
erreur_860026357 = i_get_art_str(g_iartout10, $Conversion::CODCIRDA, pt_BUF1_860026357)

SI (g_iartout10.CODCIRDA[0] == 0)
ALORS
	SI (g_iartout10.CODCIRDA[1] == 0)
	ALORS
		i_get_sub_str(pt_BUF1_860026357,2,5,pt_BUF1_860026357)
	SINON
		i_get_sub_str(pt_BUF1_860026357,1,5,pt_BUF1_860026357)
	FINSI
SINON
	i_get_sub_str(pt_BUF1_860026357,0,5,pt_BUF1_860026357)
FINSI

#G3R16 Fusion des bases Woo et TPH
#i_strcpy(pt_TRAFIC,i_get_tab_field("wfr_lib_ct",dpivot,pt_BUF1))
i_strcpy(pt_TRAFIC_860026357,i_get_tab_field("ft_lib_ct",dpivot_860026357,pt_BUF1_860026357))

POINT   FIN_COMPTAGE
#********************** GRATUIT  **************************************

SI (i_strcmp(pt_TARIF_860026357, "GRATUIT") == 0)
ALORS
	GRATUIT_860026357=1
FINSI

#********************** b_FACTURABLE  ***********************************
SI ( i_valid_field_n(g_iartin, $Tvoicewfr::StartTime)
&& i_valid_field_n(g_iartin, $Tvoicewfr::Callee)
&& i_valid_field_n(g_iartin, $Tvoicewfr::NetTimeStamp)
&& i_strcmp(pt_TARIF_860026357,"")!=0
&& i_strcmp(pt_TRAFIC_860026357,"")!=0
&& i_strcmp(pt_SGTQS_860026357,"")!=0 )
ALORS
	b_FACTURABLE_860026357=1
FINSI

###################################################################################
##########################    Recherche instance SIVM    ##########################
###################################################################################


###################################################################################
######################    Recherche des instances PERI-BSS    #####################
###################################################################################

instPERIBSS1_860026357 = i_LireInstanceECC(C_InstPERIBSS1_860026357)
SI (!instPERIBSS1_860026357)
ALORS
	trace("Pas d'instance pour PERIBSS1!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstPERIBSS1_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI

instPERIBSS2_860026357 = i_LireInstanceECC(C_InstPERIBSS2_860026357)

SI (!instPERIBSS2_860026357)
ALORS
	trace("Pas d'instance pour PERIBSS2!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstPERIBSS2_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI

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

instTRAFBSS1_860026357 = i_LireInstanceECC(C_InstTRAFBSS1_860026357)
SI (!instTRAFBSS1_860026357)
ALORS
	trace("Pas d'instance pour TRAFBSS1!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstTRAFBSS1_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI

instTRAFBSS2_860026357 = i_LireInstanceECC(C_InstTRAFBSS2_860026357)
SI (!instTRAFBSS2_860026357)
ALORS
	trace("Pas d'instance pour TRAFBSS2!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstTRAFBSS2_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI

###################################################################################
########################    Recherche instance SC    #########################
###################################################################################

instSC_860026357 = i_LireInstanceECC(C_InstSC_860026357)
SI (!instSC_860026357)
ALORS
	trace("Pas d'instance pour e-bill!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstSC_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI

###################################################################################
########################    Recherche instance SYMPHONIE    #######################
###################################################################################

instSYMP_860026357 = i_LireInstanceECC(C_InstSYMP_860026357)
SI (!instSYMP_860026357)
ALORS
	trace("Pas d'instance pour SYMPHONIE!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstSYMP_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI

###################################################################################
##########################    Recherche instance SPOT    ##########################
###################################################################################

instSPOT_860026357 = i_LireInstanceECC(C_InstSPOT_860026357)
SI (!instSPOT_860026357)
ALORS
	trace("Pas d'instance pour SPOT!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstSPOT_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI

####################################################################################
#########################    Recherche instance REDHAWK    #########################
####################################################################################
#
#instRHAWK = i_LireInstanceECC(C_InstRHAWK)
#SI (!instRHAWK)
#ALORS
#	trace("Pas d'instance pour REDHAWK!")
#	code_errone = 0xA0B1
#	erreur = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone,C_InstRHAWK,C_Article)
#	SAUT DISTRI_ERR
#FINSI

###################################################################################
####################	Recherche Instance CASPER	###########################
##################################################################################


instCASPER_860026357 = i_LireInstanceECC(C_InstCASPER_860026357)
SI (!instCASPER_860026357)
ALORS
	trace("Pas d'instance pour CASPER!")
	code_errone_860026357 = 0xA0B1
	erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,C_InstCASPER_860026357,C_Article_860026357)
	SAUT DISTRI_ERR
FINSI




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

#---------------------------------------------------------------------------------
# SYMPHONIE  : tous les DC vont a Symphonie
#---------------------------------------------------------------------------------
# DRE G4R6 Lot3
SI (trait_ok_860026357 == 0)
ALORS
	erreur_860026357=i_AjouterCouranteECC(instSYMP_860026357)
	b_instSYMP_860026357 = 1
FINSI
# \DRE G4R6 Lot3

#---------------------------------------------------------------------------------
# SPOT  : tous les DC vont a SPOT
#---------------------------------------------------------------------------------
# DRE G4R6 Lot3
SI (trait_ok_860026357 == 0)
ALORS
	erreur_860026357=i_AjouterCouranteECC(instSPOT_860026357)
	b_instSPOT_860026357 = 1
FINSI
# \DRE G4R6 Lot3

#---------------------------------------------------------------------------------
# REDHAWK Tous les DC vont a REDHAWK
#---------------------------------------------------------------------------------
#erreur=i_AjouterCouranteECC(instRHAWK)
#b_instRHAWK = 1


#-------------------------------------------------------------------------------
# CASPER : Tout les DC vont a GASPER
#-------------------------------------------------------------------------------

# DRE G4R6 Lot3
SI (trait_ok_860026357 == 0)
ALORS
	erreur_860026357=i_AjouterCouranteECC(instCASPER_860026357)
	b_instCASPER_860026357 = 1
FINSI

SI (bREDIST_860026357 == 1)
ALORS
	SAUT AVANT_REDIST
FINSI
# \DRE G4R6 Lot3

#---------------------------------------------------------------------------------
# SIVM
#---------------------------------------------------------------------------------

#---------------------------------------------------------------------------------
# PERI-BSS  et TRAFBSS
#---------------------------------------------------------------------------------
#trace("********* Criteres distribution pour BSS *********")
#ParamFTSA-G3R4Cz ajout condition && !b_NPF_OPT
# G3R24 suppression 	!SRP_ITX

# DRE G4R6 Lot3
#SI ( EFFICACE && APPEL_SORTANT && b_FACTURABLE && !S_Call && !GRATUIT && !CPT_TEST && T3G_portabilite != 0x36 
#  && !REJET && !REJET2 && !REJET3 && !REJET5 && !b_TETRIS_FU && !b_NPF_OPT && !SPORTABILITE_SRP )
SI ( EFFICACE_860026357 && APPEL_SORTANT_860026357 && b_FACTURABLE_860026357 && !S_Call_860026357 && !GRATUIT_860026357 && !CPT_TEST_860026357 && T3G_portabilite_860026357 != 0x36 
  && !REJET_860026357 && !REJET2_860026357 && !REJET3_860026357 && !REJET5_860026357 && !b_TETRIS_FU_860026357 && !b_NPF_OPT_860026357 && !SPORTABILITE_SRP_860026357 ) && type_cpt_860026357 != CPT_CPS_RI_860026357
# \DRE G4R6 Lot3

ALORS
	#SI ( !EPORTABILITE_SRP && !b_SRP_TIERS_PTD && b_118_TIERS_PTD )
#G3R24 QC589
	SI ( !EPORTABILITE_SRP_860026357 && !b_SRP_TIERS_PTD_860026357 && !b_118_TIERS_PTD_860026357 )
	ALORS
		SI (EnvoiPERIBSS_860026357==1)
		ALORS
			erreur_860026357=i_AjouterCouranteECC(instPERIBSS1_860026357)
			b_instPERIBSS1_860026357 = 1
			i_strcpy(pt_EccFact_860026357,C_InstPERIBSS1_860026357)
		FINSI
		SI (EnvoiPERIBSS_860026357==2)
		ALORS
			erreur_860026357=i_AjouterCouranteECC(instPERIBSS2_860026357)
			b_instPERIBSS2_860026357 = 1
			i_strcpy(pt_EccFact_860026357,C_InstPERIBSS2_860026357)
		FINSI
	SINON
		SI (EnvoiPERIBSS_860026357==1)
		ALORS
			erreur_860026357=i_AjouterCouranteECC(instTRAFBSS1_860026357)
			b_instTRAFBSS1_860026357 = 1
			i_strcpy(pt_EccFact_860026357,C_InstTRAFBSS1_860026357)
		FINSI
		SI (EnvoiPERIBSS_860026357==2)
		ALORS
			erreur_860026357=i_AjouterCouranteECC(instTRAFBSS2_860026357)
			b_instTRAFBSS2_860026357 = 1
			i_strcpy(pt_EccFact_860026357,C_InstTRAFBSS2_860026357)
		FINSI
	FINSI
FINSI


#---------------------------------------------------------------------------------
# SC
#---------------------------------------------------------------------------------
#trace("********* Criteres distribution pour e-bill *********")
#G3R9Cy
#SI (EFFICACE && APPEL_SORTANT  && b_FACTURABLE && !S_Call && !GRATUIT && !CPT_TEST && T3G_portabilite != 0x36 && !SPORTABILITE_SRP && !REJET && !REJET2 && !REJET3 && !REJET5 && !SRP_ITX)
SI (EFFICACE_860026357 && (b_instPERIBSS1_860026357 || b_instPERIBSS2_860026357 || b_instTRAFBSS1_860026357 || b_instTRAFBSS2_860026357))
ALORS
	erreur_860026357=i_AjouterCouranteECC(instSC_860026357)
	b_instSC_860026357 =1
FINSI

#---------------------------------------------------------------------------------
# TRAFIC
#---------------------------------------------------------------------------------
#trace("********* Criteres distribution pour TRAFIC *********")
#ParamFTSA-G3R4Cz ajout condition (|| b_NPF_OPT), pt_ECC_TRAFIC calcule precedemment soit avec TETRIS soit avec OPT
# G3R24 suppression 	!SRP_ITX
SI ( EFFICACE_860026357 && ( b_TETRIS_FU_860026357 || b_NPF_OPT_860026357 ) && !CPT_TEST_860026357 && APPEL_SORTANT_860026357 && b_FACTURABLE_860026357 && !GRATUIT_860026357  && !S_Call_860026357
  && ( T3G_portabilite_860026357 != 0x36 ) && !SPORTABILITE_SRP_860026357 && !REJET_860026357 && !REJET2_860026357 && !REJET3_860026357 && !REJET5_860026357 )
ALORS
	# instance Trafic destinatrice dans pt_ECC_TRAFIC
	instTRAFIC_860026357 = i_LireInstanceECC(pt_ECC_TRAFIC_860026357)
	SI (!instTRAFIC_860026357)
	ALORS
		trace("Pas d'instance pour TRAFIC!")
		code_errone_860026357 = 0xA0B1
		erreur_860026357 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026357,pt_ECC_TRAFIC_860026357,C_Article_860026357)
		SAUT DISTRI_ERR
	FINSI

	erreur_860026357=i_AjouterCouranteECC(instTRAFIC_860026357)
	b_instTRAFIC_860026357 = 1
	i_strcpy(pt_EccFact_860026357,pt_ECC_TRAFIC_860026357)
FINSI

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

#---------------------------------------------------------------------------------
# PERI-BSS
# pour cette mise au format tous les champs doivent etre retailles car Platine NG n est pas
# encore au bon niveau de patch
#---------------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instPERIBSS1_860026357) || b_instPERIBSS1_860026357
  || !i_ChercherCouranteECC(instPERIBSS2_860026357) || b_instPERIBSS2_860026357 )
ALORS
	#trace("Mise au format PERI_BSS")

	# Duplication de l article
	SI (i_dup_art_tab(g_iartin,g_iartout2,C_TperiBSS_860026357))
	ALORS
		code_errone_860026357 = 0xA0D1
		erreur_860026357 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026357,C_TperiBSS_860026357,C_Article_860026357)
		SAUT DISTRI_ERR
	FINSI

	# Champ SUIdent
	erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::SUIdent, pt_BUF1_860026357)
	res_860026357 = i_strlen(pt_BUF1_860026357)
	erreur_860026357 = i_resize_tlv(g_iartout2, "T3SUIdent", "SUIdent", res_860026357)

	# Champ SUIPAdr
	erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::SUIPAdr, pt_BUF1_860026357)
	res_860026357 = i_strlen(pt_BUF1_860026357)
	erreur_860026357 = i_resize_tlv(g_iartout2, "T3SUIPAdr", "SUIPAdr", res_860026357)

	# Champ DATE
	erreur_860026357 = i_set_art_field(g_iartout2, $TperiBSS::DATE, date_GMT_860026357+NB_1970_860026357)

	# Champ StartTime
	erreur_860026357 = i_set_art_field(g_iartout2, $TperiBSS::StartTime, StartTime_gmt_860026357+NB_1970_860026357)

	# Champ DUREE
	res_860026357 = i_get_art_field(g_iartin,$Tvoicewfr::DUREE)
	erreur_860026357 = i_set_art_field(g_iartout2, $TperiBSS::DUREE, res_860026357)

	# Champ Caller
	erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::Caller, pt_IDUS_N_860026357)
	res_860026357 = i_strlen(pt_IDUS_N_860026357)
	erreur_860026357 = i_resize_tlv(g_iartout2, "T3Caller", "Caller", res_860026357)

	# Champ Callee
	SI (i_strcmp(pt_DEDE_Nu_860026357, "") == 0)
	ALORS
		erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::Callee, "0")
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3Callee", "Callee", 1)
	SINON
		SI (DEDE_INF_860026357 == 0x40)
		ALORS
			erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::Callee, pt_DEDE_N_860026357)
			res_860026357 = i_strlen(pt_DEDE_N_860026357)
			erreur_860026357 = i_resize_tlv(g_iartout2, "T3Callee", "Callee", res_860026357)
		SINON
			erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::Callee, pt_DEDE_Nu_860026357)
			res_860026357 = i_strlen(pt_DEDE_Nu_860026357)
			erreur_860026357 = i_resize_tlv(g_iartout2, "T3Callee", "Callee", res_860026357)
		FINSI
	FINSI

	# Champ SourceIP
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3SourceIP))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3SourceIP,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::SourceIP, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3SourceIP", "SourceIP", res_860026357)
	FINSI

	# Champ DestinationIP
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3DestinationIP))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3DestinationIP,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::DestinationIP, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3DestinationIP", "DestinationIP", res_860026357)
	FINSI

	# Champ SelectorTag
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::SelectorTag))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3SelectorTag,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::SelectorTag, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3SelectorTag", "SelectorTag", res_860026357)
	FINSI

	# Champ ServiceTag
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3ServiceTag))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3ServiceTag,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::ServiceTag, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3ServiceTag", "ServiceTag", res_860026357)
	FINSI

	# Champ AnnounTag
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3AnnounTag))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3AnnounTag,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::AnnounTag, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3AnnounTag", "AnnounTag", res_860026357)
	FINSI

	# Champ RouteTableTag
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3RouteTableTag))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3RouteTableTag,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::RouteTableTag, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3RouteTableTag", "RouteTableTag", res_860026357)
	FINSI

	# Champ vTrunkGrTag
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3vTrunkGrTag))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3vTrunkGrTag,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::vTrunkGrTag, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3vTrunkGrTag", "vTrunkGrTag", res_860026357)
	FINSI

	# Champ vTrunkTag
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3vTrunkTag))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3vTrunkTag,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::vTrunkTag, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3vTrunkTag", "vTrunkTag", res_860026357)
	FINSI

	# Champ TerminTag
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3TerminTag))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3TerminTag,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::TerminTag, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3TerminTag", "TerminTag", res_860026357)
	FINSI

	# Champ LocGroupTag
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3LocGroupTag))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3LocGroupTag,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::LocGroupTag, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3LocGroupTag", "LocGroupTag", res_860026357)
	FINSI

	# Champ GKOrigIP
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3GKOrigIP))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3GKOrigIP,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::GKOrigIP, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3GKOrigIP", "GKOrigIP", res_860026357)
	FINSI

	# Champ GKTermIP
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3GKTermIP))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3GKTermIP,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::GKTermIP, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3GKTermIP", "GKTermIP", res_860026357)
	FINSI

	# Champ GKOrigDom
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3GKOrigDom))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3GKOrigDom,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::GKOrigDom, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3GKOrigDom", "GKOrigDom", res_860026357)
	FINSI

	# Champ GKTermDom
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3GKTermDom))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3GKTermDom,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::GKTermDom, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3GKTermDom", "GKTermDom", res_860026357)
	FINSI

	# Champ MaliciousCall
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3MaliciousCall))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3MaliciousCall,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::MaliciousCall, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3MaliciousCall", "MaliciousCall", res_860026357)
	FINSI

	# Champ Service
	res_860026357 = i_get_art_field(g_iartin,$Tvoicewfr::Service)
	erreur_860026357 = i_set_art_field(g_iartout2, $TperiBSS::Service, res_860026357)

	# Champ TermCause
	res_860026357 = i_get_art_field(g_iartin,$Tvoicewfr::TermCause)
	erreur_860026357 = i_set_art_field(g_iartout2, $TperiBSS::TermCause, res_860026357)

	# Champ CgIdentTag
	erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::CgIdentTag, pt_BUF1_860026357)
	res_860026357 = i_strlen(pt_BUF1_860026357)
	erreur_860026357 = i_resize_tlv(g_iartout2, "T3CgIdentTag", "CgIdentTag", res_860026357)

	# Champ CdIdentTag
	erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3CdIdentTag,0,0)

	# Champ RelTimeStamp
	SI (i_valid_field_n(g_iartin, $Tvoicewfr::RelTimeStamp))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2,$TperiBSS::T3RelTimeStamp, $TperiBSS::RelTimeStamp, 0)
		res_860026357 = i_get_art_field(g_iartin, $Tvoicewfr::RelTimeStamp)
		erreur_860026357 = i_set_art_field(g_iartout2, $TperiBSS::RelTimeStamp, res_860026357+NB_1970_860026357)
	SINON
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3RelTimeStamp,0,0)
	FINSI

	# Champ OrigCaller
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3OrigCaller))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3OrigCaller,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::OrigCaller, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3OrigCaller", "OrigCaller", res_860026357)
	FINSI

	# Champ OrigCallee
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3OrigCallee))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3OrigCallee,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::OrigCallee, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3OrigCallee", "OrigCallee", res_860026357)
	FINSI

	# Champ TermCaller
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3TermCaller))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3TermCaller,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::TermCaller, pt_BUF1_860026357)
		erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::TermCaller, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3TermCaller", "TermCaller", res_860026357)
	FINSI

	# Champ TermCallee
	SI (!i_valid_field_n(g_iartout2, $TperiBSS::T3TermCallee))
	ALORS
		erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3TermCallee,0,0)
	SINON
		erreur_860026357 = i_get_art_str(g_iartin, $Tvoicewfr::TermCallee, pt_BUF1_860026357)
		erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::TermCallee, pt_BUF1_860026357)
		res_860026357 = i_strlen(pt_BUF1_860026357)
		erreur_860026357 = i_resize_tlv(g_iartout2, "T3TermCallee", "TermCallee", res_860026357)
	FINSI

	# Champ NetTimeStamp
	res_860026357 =i_get_art_field(g_iartin, $Tvoicewfr::NetTimeStamp)
	erreur_860026357 = i_set_art_field(g_iartout2, $TperiBSS::NetTimeStamp, res_860026357+NB_1970_860026357)

	# Champ TARIF
	erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::TypeTarif, pt_TARIF_860026357)
	res_860026357 = i_strlen(pt_TARIF_860026357)
	erreur_860026357 = i_resize_tlv(g_iartout2, "T3TypeTarif", "TypeTarif", res_860026357)

	# Champ TRAFIC
	erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::TypeTrafic, pt_TRAFIC_860026357)
	res_860026357 = i_strlen(pt_TRAFIC_860026357)
	erreur_860026357 = i_resize_tlv(g_iartout2, "T3TypeTrafic", "TypeTrafic", res_860026357)

	#Champ ZONE1 et ZONE2
	erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3Zone1,0,0)
	erreur_860026357 = i_ajoutChampNum(g_iartout2, $TperiBSS::T3Zone2,0,0)

	# Champs SGTQS
	erreur_860026357 = i_set_art_str(g_iartout2,$TperiBSS::OriginCDR, pt_SGTQS_860026357)
FINSI

#---------------------------------------------------------------------------------
# TRAFBSS
#---------------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instTRAFBSS1_860026357) || b_instTRAFBSS1_860026357
|| !i_ChercherCouranteECC(instTRAFBSS2_860026357) || b_instTRAFBSS2_860026357 )
ALORS
	#trace("Mise au format TRAFBSS")
	# Duplication de l article
	SI (i_dup_art_dest(g_iartin,g_iartout11,C_TtrafBSS_860026357))
	ALORS
		code_errone_860026357 = 0xA0D1
		erreur_860026357 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026357,C_TtrafBSS_860026357,C_Article_860026357)
		SAUT  DISTRI_ERR
	FINSI

	#---------------------------------------------------------------------------------
	#DOMAINE
	erreur_860026357=i_set_art_str(g_iartout11,$TtrafBSS::DOMAINE,"10")

	#SERVICE
	erreur_860026357=i_set_art_str(g_iartout11,$TtrafBSS::SERVICE,"21")

	#IDUS_NUM
	SI (i_strplcmp (pt_IDUS_860026357, "0", 0, 1) == 0)
	ALORS
		# on supprime le 0
		i_get_sub_str (pt_IDUS_860026357, 1, -1,pt_BUF3_860026357)
		SI (i_strplcmp (pt_BUF3_860026357, "*", 0, 1) == 0)
		ALORS
			# on supprime l'etoile
			i_get_sub_str (pt_BUF3_860026357, 1, -1,pt_BUF3_860026357)
		FINSI
		erreur_860026357=i_set_art_str(g_iartout11,$TtrafBSS::IDUS_NUM,pt_BUF3_860026357)
	SINON
		erreur_860026357=i_set_art_str(g_iartout11,$TtrafBSS::IDUS_NUM,pt_IDUS_860026357)
	FINSI

	#DEDE_INF
	erreur_860026357=i_set_art_field(g_iartout11,$TtrafBSS::DEDE_INF,DEDE_INF_860026357)

	#DEDE_NUM
	i_replace_str(pt_DEDE_N_860026357,"ABC","A*#",pt_DEDE_N_860026357)
	erreur_860026357=i_set_art_str(g_iartout11,$TtrafBSS::DEDE_NUM,pt_DEDE_Nu_860026357)

	#ICAR
	SI (i_valid_field_n(g_iartin, $Tvoicewfr::StartTime))
	ALORS
		erreur_860026357=i_set_art_field(g_iartout11,$TtrafBSS::DATE,StartTime_860026357)
	FINSI

	#DUREE
	resultat_860026357=i_get_art_field(g_iartin, $Tvoicewfr::DUREE)
	erreur_860026357=i_set_art_field(g_iartout11,$TtrafBSS::DUREE,resultat_860026357)

	#TAX
	erreur_860026357=i_set_art_field(g_iartout11,$TtrafBSS::TAX,TAXE_860026357)

	#NDS_NUM
	SI b_TETRIS_FU_860026357
	ALORS
		erreur_860026357 = i_set_art_str(g_iartout11,$TtrafBSS::NDS_NUM,pt_TETRIS_RTC_860026357)
	SINON
		erreur_860026357 = i_set_art_str(g_iartout11,$TtrafBSS::NDS_NUM," ")
	FINSI

	#MES1
	erreur_860026357 = i_set_art_str(g_iartout11,$TtrafBSS::MES1,"255")

	#MES2
	erreur_860026357 = i_set_art_str(g_iartout11,$TtrafBSS::MES2,"255")

	#STY
	erreur_860026357=i_set_art_str(g_iartout11,$TtrafBSS::STY,"FF")

	#SGTQS
	erreur_860026357=i_set_art_str(g_iartout11, $TtrafBSS::SGTQS, pt_SGTQS_860026357)

	#CLASSDEST
	erreur_860026357=i_set_art_field(g_iartout11, $TtrafBSS::CLASSDEST, CCD_REEL_860026357)

	#COMPTWANA
	erreur_860026357=i_set_art_str(g_iartout11, $TtrafBSS::COMPTWANA, pt_COMPTE_860026357)

	#TYPETRAFIC
	erreur_860026357=i_set_art_str(g_iartout11, $TtrafBSS::TYPETRAFIC,pt_TRAFIC_860026357)

	#TYPETARIF
	erreur_860026357=i_set_art_str(g_iartout11, $TtrafBSS::TYPETARIF,pt_TARIF_860026357)
FINSI

#---------------------------------------------------------------------------------
# SIVM
#---------------------------------------------------------------------------------

#---------------------------------------------------------------------------------
# SC (ebill)
#---------------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instSC_860026357) || b_instSC_860026357)
ALORS
	#trace("Mise au format SC")

	# Duplication de l article
	SI (i_dup_art_dest(g_iartin,g_iartout5,C_TscTvoicewfr_860026357))
	ALORS
		code_errone_860026357 = 0xA0D1
		erreur_860026357 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026357,C_TscTvoicewfr_860026357,C_Article_860026357)
		SAUT  DISTRI_ERR
	FINSI

	# Champ IDUS_NUM
	SI b_NPF_OPT_860026357
	ALORS
		i_strcpy(pt_BUF2_860026357, pt_OPT_RTC_860026357)
	SINON
		SI b_TETRIS_FU_860026357
		ALORS
			i_strcpy(pt_BUF2_860026357, pt_TETRIS_RTC_860026357)
		SINON
			i_strcpy(pt_BUF2_860026357, pt_IDUS_NUM_860026357)
		FINSI
	FINSI

	res_860026357 = i_strlen(pt_BUF2_860026357)
	SI (res_860026357 >9)
	ALORS
		i_get_sub_str(pt_BUF2_860026357,0,8,pt_BUF1_860026357)
		erreur_860026357 = i_set_art_str(g_iartout5,$TscTvoicewfr::IDUS_NUM, pt_BUF1_860026357)
	SINON
		erreur_860026357 =i_set_art_str(g_iartout5,$TscTvoicewfr::IDUS_NUM, pt_BUF2_860026357)
	FINSI

	# Champ DEDE_NUM
	SI (DEDE_INF_860026357 == 0xC0 || DEDE_INF_860026357 ==0x80)
	ALORS
		res_860026357 = i_strlen(pt_DEDE_WOO_860026357)
		SI (res_860026357 > 17)
		ALORS
			i_get_sub_str(pt_DEDE_WOO_860026357,0,16,pt_BUF1_860026357)
			erreur_860026357 =i_set_art_str(g_iartout5,$TscTvoicewfr::DEDE_NUM, pt_BUF1_860026357)
		SINON
			erreur_860026357 =i_set_art_str(g_iartout5,$TscTvoicewfr::DEDE_NUM, pt_DEDE_WOO_860026357)
		FINSI
	SINON
		erreur_860026357 =i_set_art_str(g_iartout5,$TscTvoicewfr::DEDE_NUM, pt_DEDE_N_860026357)
	FINSI

	# ECC_FACT
	SI b_NPF_OPT_860026357
	ALORS
		SI !CPT_TEST_860026357
		ALORS
			erreur_860026357=i_set_art_str(g_iartout5, $TscTvoicewfr::ECC_FACT,"TRAFOPT")
		SINON
			erreur_860026357=i_set_art_str(g_iartout5, $TscTvoicewfr::ECC_FACT," ")
		FINSI
	SINON
		SI (i_strcmp("", pt_EccFact_860026357) != 0)
		ALORS
			erreur_860026357=i_set_art_str(g_iartout5, $TscTvoicewfr::ECC_FACT,pt_EccFact_860026357)
		SINON
			erreur_860026357=i_set_art_str(g_iartout5, $TscTvoicewfr::ECC_FACT," ")
		FINSI
	FINSI

	# Champ DATE
	erreur_860026357 = i_set_art_field(g_iartout5, $TscTvoicewfr::DATE, StartTime_860026357)

	# Champ DUREE
	res_860026357 = i_get_art_field(g_iartin,$Tvoicewfr::DUREE)
	erreur_860026357 = i_set_art_field(g_iartout5, $TscTvoicewfr::DUREE, res_860026357)

	# Champ CallType
	erreur_860026357 = i_set_art_str(g_iartout5,$TscTvoicewfr::CallType, " 5")

	# Champ TypeTarif
	SI (TYPCOM_860026357==-1)
	ALORS
		erreur_860026357 = i_set_art_str(g_iartout5,$TscTvoicewfr::TypeTarif, " ")
	SINON
# QC483 G3R22
#		erreur = i_set_art_field(g_iartout10, $Conversion::CCD, TYPCOM)
#		erreur = i_get_art_str(g_iartout10, $Conversion::CCD, pt_BUF1)
#		erreur = i_set_art_str(g_iartout5,$TscTvoicewfr::TypeTarif, pt_BUF1)
#		erreur = i_set_art_field(g_iartout10, $Conversion::CCD, CCD)
		erreur_860026357 = i_set_art_str(g_iartout5,$TscTvoicewfr::TypeTarif, pt_TYPCOM_860026357)
# \QC483 G3R22
	FINSI

	#TAX (nota : SRP_TIERS==SRP_CCD)
	# G3R24
	#SI (SRP_TIERS || b118_ITX || b118_PTD)
	SI ( b_SRP_TIERS_PTD_860026357 || b_118_TIERS_PTD_860026357 )
	ALORS
		#trace1("**** TAX = TAXE = %d",TAXE)
		erreur_860026357 = i_EntierToString(TAXE_860026357,pt_BUF1_860026357,6)
		#trace2("__FILE__:__LINE__ pt_BUF1 <%s>",pt_BUF1 ,"")
		erreur_860026357=i_set_art_str( g_iartout5, $TscTvoicewfr::TAX, pt_BUF1_860026357)
	FINSI

	# CCD
	erreur_860026357 = i_EntierToString ( CCD_860026357, pt_buffer_860026357, 3)
	erreur_860026357 = i_set_art_str(g_iartout5, $TscTvoicewfr::CCD, pt_buffer_860026357)

	# CCNDE
	erreur_860026357 = i_set_art_field(g_iartout10, $Conversion::CODCIRDR, CODCIR_860026357)
	erreur_860026357=i_get_art_str(g_iartout10, $Conversion::CODCIRDA,pt_buffer_860026357)
	SI (g_iartout10.CODCIRDA[2] > 9)
	ALORS
		i_get_sub_str(pt_buffer_860026357,2,5,pt_buffer_860026357)
	SINON
		i_get_sub_str(pt_buffer_860026357,1,5,pt_buffer_860026357)
	FINSI
	erreur_860026357 = i_set_art_str(g_iartout5, $TscTvoicewfr::CCNDE, pt_buffer_860026357)
FINSI

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

SI (!i_ChercherCouranteECC(instTRAFIC_860026357) || b_instTRAFIC_860026357)
ALORS
	#trace("Mise au format Trafic")

	# Duplication de l article
	SI (i_dup_art_dest(g_iartin,g_iartout9,C_TtraficN_860026357))
	ALORS
		trace("Erreur de i_dup_art_dest")
		erreur_860026357 = i_PlvMessEmettre(8502,2,g_iartin,"",3,C_TtraficN_860026357,C_Article_860026357,g_ieec)
		SAUT  DISTRI_ERR
	FINSI

	#DOMAINE
	erreur_860026357=i_set_art_str(g_iartout9,$TtraficN::DOMAINE,"10")

	#SERVICE
	erreur_860026357=i_set_art_str(g_iartout9,$TtraficN::SERVICE,"06")

	#IDUS_NUM
	# ParamFTSA-G3R4Cz (soit TETRIS_RTC soit OPT_RTC)
	SI b_NPF_OPT_860026357
	ALORS
		erreur_860026357=i_set_art_str(g_iartout9,$TtraficN::IDUS_NUM,pt_OPT_RTC_860026357)
	SINON
		SI b_TETRIS_FU_860026357
		ALORS
			erreur_860026357=i_set_art_str(g_iartout9,$TtraficN::IDUS_NUM,pt_TETRIS_RTC_860026357)
		FINSI
	FINSI

	#DEDE_INF
	SI ( DEDE_INF_860026357 == 0x40)
	ALORS
		erreur_860026357=i_set_art_field(g_iartout9,$TtraficN::DEDE_INF,000)
	SINON
		erreur_860026357=i_set_art_field(g_iartout9,$TtraficN::DEDE_INF,DEDE_INF_860026357)
	FINSI

	#DEDE_NUM
	i_replace_str(pt_DEDE_N_860026357,"ABC","A*#",pt_DEDE_N_860026357)
	erreur_860026357=i_set_art_str(g_iartout9,$TtraficN::DEDE_NUM,pt_DEDE_N_860026357)

	#ICAR, DATE
	SI (i_valid_field_n(g_iartin, $Tvoicewfr::StartTime))
	ALORS
		erreur_860026357=i_set_art_field(g_iartout9,$TtraficN::DATE,StartTime_860026357)
	FINSI

	# evol spec S18F3
	#TAX (nota : SRP_TIERS==SRP_CCD)
	# G3R24
	#SI (SRP_TIERS || b118_ITX || b118_PTD)
	#DRE G4R6 Lot3
	SI (type_cpt_860026357==CPT_CPS_Loc_860026357)
	ALORS
		erreur_860026357=i_set_art_field(g_iartout9, $TtraficN::TAX, 0)
	SINON

		SI ( b_SRP_TIERS_PTD_860026357 || b_118_TIERS_PTD_860026357 )
		ALORS
			erreur_860026357=i_set_art_field(g_iartout9,$TtraficN::TAX,TAXE_860026357)
		FINSI
	FINSI

	#DUREE
	resultat_860026357=i_get_art_field(g_iartin, $Tvoicewfr::DUREE)
	erreur_860026357=i_set_art_field(g_iartout9,$TtraficN::DUREE,resultat_860026357)

	#NDS_NUM
	SI b_TETRIS_FU_860026357 || b_NPF_OPT_860026357
	ALORS
		erreur_860026357 = i_set_art_str(g_iartout9,$TtraficN::NDS_NUM,pt_IDUS_NUM_860026357)
	FINSI

	#STY
	erreur_860026357=i_set_art_str(g_iartout9,$TtraficN::STY,"FF")

	#SGTQS
	erreur_860026357=i_set_art_str(g_iartout9, $TtraficN::SGTQS, pt_SGTQS_860026357)

	#CLASSDEST
	erreur_860026357=i_set_art_field(g_iartout9, $TtraficN::CLASSDEST, CCD_REEL_860026357)

# DRE G4R6 Lot3
	# TAG
	erreur_860026357=i_set_art_str(g_iartout9, $TtraficN::TAG, " ")
	
	# TYPE_EDIT
	erreur_860026357=i_set_art_str(g_iartout9, $TtraficN::TYPE_EDIT, pt_TYPE_EDIT_860026357)
	
	# CODE_TARIF
	erreur_860026357=i_set_art_str(g_iartout9, $TtraficN::CODE_TARIF, pt_CODE_TARIF_860026357)
# \DRE G4R6 lot3


FINSI


# DRE G4R6 Lot3
POINT AVANT_REDIST


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

SI (!i_ChercherCouranteECC(instSYMP_860026357) || b_instSYMP_860026357)
ALORS
	#trace("Duplication vers SYMPHONIE")
	erreur_860026357 = i_dup_art_id(g_iartin,g_iartout6)
	res_860026357 = i_rename_art(g_iartout6, C_TsymTvoicewfr_860026357)
	erreur_860026357 = i_ajoutChampNum(g_iartout6, $TsymTvoicewfr::T4ccd,$TsymTvoicewfr::CCD,6)

	# ************** HLAHM1 *******************
	erreur_860026357 = i_set_art_field(g_iartout6,$TsymTvoicewfr::HLAHM1,HLAHM1_860026357)

	# ************** SGTQS ********************
	erreur_860026357=i_set_art_str(g_iartout6,$TsymTvoicewfr::SGTQS,i_LireEECSGTQS( g_ieec ))

	# ************** ECC_FACT *****************
	SI b_NPF_OPT_860026357
	ALORS
		SI !CPT_TEST_860026357
		ALORS
			erreur_860026357=i_set_art_str(g_iartout6, $TsymTvoicewfr::ECC_FACT,"TRAFOPT")
		SINON
			erreur_860026357=i_set_art_str(g_iartout6, $TsymTvoicewfr::ECC_FACT," ")
		FINSI
	SINON
		SI (i_strcmp("", pt_EccFact_860026357) != 0)
		ALORS
			erreur_860026357=i_set_art_str(g_iartout6, $TsymTvoicewfr::ECC_FACT,pt_EccFact_860026357)
		SINON
			erreur_860026357=i_set_art_str(g_iartout6, $TsymTvoicewfr::ECC_FACT," ")
		FINSI
	FINSI

	# ************** CCD **********************
# QC602 Modif provisoire du CCD pour Symphonie (CCD_SYMPHONIE)
#	SI (CCD!=-1)
	SI TYPCOM_860026357 != -1
	ALORS
#		erreur = i_set_art_field(g_iartout6,$TsymTvoicewfr::CCD,CCD_REEL)
#QC607 
#		erreur = i_set_art_field(g_iartout6,$TsymTvoicewfr::CCD,CCD_SYMPHONIE)
		erreur_860026357 = i_set_art_field(g_iartout6,$TsymTvoicewfr::CCD,TYPCOM_SYMPHONIE_860026357)
	SINON
		erreur_860026357 = i_set_art_field(g_iartout6,$TsymTvoicewfr::CCD,255)
	FINSI
	
# QC602 Ajout Champ TYPCOM pour Symphonie 
	# **************** TYPCOM ****************
#QC607 
#	erreur = i_set_art_field(g_iartout6,$TsymTvoicewfr::TYPCOM,TYPCOM)
	erreur_860026357 = i_set_art_field(g_iartout6,$TsymTvoicewfr::TYPCOM,TYPCOM_SYMPHONIE_860026357)
# \QC602

	# ************** CODCIR *******************
	SI (CODCIR_860026357!=-1)
	ALORS
		erreur_860026357=i_get_art_str(g_iartout10, $Conversion::CODCIRDA,pt_codcir_860026357)
		SI (g_iartout10.CODCIRDA[2] > 9)
		ALORS
			i_get_sub_str(pt_codcir_860026357,2,5,pt_codcir_860026357)
		SINON
			i_get_sub_str(pt_codcir_860026357,1,5,pt_codcir_860026357)
		FINSI
		erreur_860026357=i_set_art_str(g_iartout6,$TsymTvoicewfr::CODCIR,pt_codcir_860026357)
	SINON
		erreur_860026357 = i_supprChamp(g_iartout6, "T4codcir")
	FINSI

	# ************** NDRTC *******************
	SI  b_NPF_OPT_860026357
	ALORS
		erreur_860026357=i_set_art_str(g_iartout6,$TsymTvoicewfr::NDRTC,pt_OPT_RTC_860026357)
	SINON
		SI b_TETRIS_FU_860026357
		ALORS
			erreur_860026357=i_set_art_str(g_iartout6,$TsymTvoicewfr::NDRTC,pt_TETRIS_RTC_860026357)
		SINON
			erreur_860026357 = i_supprChamp(g_iartout6, "T4ndrtc")
		FINSI
	FINSI
	erreur_860026357 = i_supprChamp(g_iartout6, "T4idus")

	# ************** EFFICACITE ***************
	erreur_860026357 = i_set_art_field(g_iartout6,$TsymTvoicewfr::EFFICACITE,EFFICACE_860026357)
	
# DRE G4R6 Lot3
	# TYPE_EDIT
	SI i_strcmp(pt_TYPE_EDIT_860026357," ") != 0
	ALORS
		erreur_860026357=i_set_art_str(g_iartout6, $TsymTvoicewfr::TYPE_EDIT, pt_TYPE_EDIT_860026357)
	SINON
		erreur_860026357 = i_supprChamp(g_iartout6, "T4type_edit")
	FINSI

	# CODE_TARIF
	SI i_strcmp(pt_CODE_TARIF_860026357,"    ") != 0
	ALORS
		erreur_860026357=i_set_art_str(g_iartout6, $TsymTvoicewfr::CODE_TARIF, pt_CODE_TARIF_860026357)
	SINON
		erreur_860026357 = i_supprChamp(g_iartout6, "T4code_tarif")
	FINSI
# \DRE G4R6 Lot3
	
	
FINSI

###################################################################################
##########################    Mise au format pour SPOT    #########################
###################################################################################
SI (!i_ChercherCouranteECC(instSPOT_860026357) || b_instSPOT_860026357)
ALORS
	#trace("duplication Vers SPOT")
	SI ( i_valid_field_n(g_iartin,$Tvoicewfr::T3ce))
	ALORS
		erreur_860026357 = i_supprChamp(g_iartin,"T3ce")
	FINSI

	erreur_860026357 = i_dup_art(g_iartin, C_TspotTvoicewfr_860026357, g_iartout13)
	SI (erreur_860026357)
	ALORS
		trace1("ERREUR de duplication vers SPOT : %d",erreur_860026357)
		code_errone_860026357 = 0xA0D0
		code_errone_860026357 = code_errone_860026357 + EFFICACE_860026357
		erreur_860026357 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026357,C_TspotTvoicewfr_860026357,C_Article_860026357)
		SAUT DISTRI_ERR
	FINSI

	#---------------------------------------------------------------------------------
	# Complements SPOT
	#---------------------------------------------------------------------------------
	#-- Ajout des champs --------
	# Champ SGTQS
	erreur_860026357 = i_ajoutChampNum(g_iartout13,$TspotTvoicewfr::T4sgtqs,$TspotTvoicewfr::SGTQS,0)
	erreur_860026357=i_set_art_str(g_iartout13,$TspotTvoicewfr::SGTQS,i_LireEECSGTQS( g_ieec ))
FINSI

###################################################################################
#######################    Mise au format pour REDHAWK    #########################
###################################################################################


###################################################################################
#######################    Mise au format pour CASPER    #########################
###################################################################################
SI (!i_ChercherCouranteECC(instCASPER_860026357) || b_instCASPER_860026357)
ALORS
	#trace("Duplication vers CASPER")
	erreur_860026357 = i_dup_art_id(g_iartin,g_iartout14)
	res_860026357 = i_rename_art(g_iartout14, C_TcaspeTvoicewfr_860026357)
	# ajout de tous les champs de T3ce
	erreur_860026357 = i_ajoutChampNum(g_iartout14, $TcaspeTvoicewfr::T4sgtqs,$TcaspeTvoicewfr::SGTQS,6)

	# ************** SGTQS *****************
	erreur_860026357=i_set_art_str(g_iartout14,$TcaspeTvoicewfr::SGTQS,i_LireEECSGTQS( g_ieec ))

	# ***************** CODCIR (g_iartout10, $Conversion num hexa /tab hexa) *****************
	SI CODCIR_860026357 != -1
	ALORS
		trace("[Tvoicewfr_dis]CODCIR est valide")
		i_strcpy(pt_codcir_860026357," ")

		# G3R15 CASPER reinitailisation de conversion avec le CODCIR a retirer lors
		# de la suppression de REDHAWK
		erreur_860026357 = i_set_art_field(g_iartout10, $Conversion::CODCIRDR, CODCIR_860026357)

		erreur_860026357 = i_get_art_str(g_iartout10, $Conversion::CODCIRDA,pt_codcir_860026357)
		SI (g_iartout10.CODCIRDA[2] > 9)
		ALORS
			i_get_sub_str(pt_codcir_860026357,2,5,pt_codcir_860026357)
		SINON
			i_get_sub_str(pt_codcir_860026357,1,5,pt_codcir_860026357)
		FINSI
		erreur_860026357=i_set_art_str(g_iartout14, $TcaspeTvoicewfr::CODCIR, pt_codcir_860026357)
	SINON
		#erreur=i_supprChamp(g_iartout12,"T4codcir")
		erreur_860026357=i_set_art_str(g_iartout14, $TcaspeTvoicewfr::CODCIR, " ")
	FINSI

	# ************** CODCIRDR (g_iartout10, $Conversion num hexa /tab hexa) *****************
	SI CODCIRDR_860026357 != -1
	ALORS
		#trace("[Tvoicewfr_dis]CODCIRDR est valide")
		i_strcpy(pt_BUF1_860026357, " ")
		erreur_860026357 = i_set_art_field(g_iartout10,$Conversion::CODCIRDR,CODCIRDR_860026357)
		erreur_860026357 = i_get_art_str(g_iartout10, $Conversion::CODCIRDA,pt_BUF1_860026357)
		SI  g_iartout10.CODCIRDA[2] > 9
		ALORS
			i_get_sub_str(pt_BUF1_860026357,2,5,pt_BUF1_860026357)
		SINON
			i_get_sub_str(pt_BUF1_860026357,1,5,pt_BUF1_860026357)
		FINSI
		erreur_860026357=i_set_art_str(g_iartout14, $TcaspeTvoicewfr::CODCIRDR, pt_BUF1_860026357)
	SINON
		#erreur=i_supprChamp(g_iartout12,"T4codcirdr")
		erreur_860026357=i_set_art_str(g_iartout14, $TcaspeTvoicewfr::CODCIRDR, " ")
	FINSI
FINSI

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

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

SI (!i_ChercherCouranteECC(instTRAFIC_860026357) || b_instTRAFIC_860026357)
ALORS
	#trace("emission vers TRAFIC")
	res_860026357 = i_stocke_art_iecc( g_iartout9, instTRAFIC_860026357 )
FINSI

#---------------------------------------------------------------------------------
# PERI-BSS1
#---------------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instPERIBSS1_860026357) || b_instPERIBSS1_860026357)
ALORS
	#trace("emission vers PERI-BSS1")
	res_860026357 = i_stocke_art_iecc( g_iartout2, instPERIBSS1_860026357 )
FINSI

#---------------------------------------------------------------------------------
# PERI-BSS2
#---------------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instPERIBSS2_860026357) || b_instPERIBSS2_860026357)
ALORS
	#trace("emission vers PERI-BSS2")
	res_860026357 = i_stocke_art_iecc( g_iartout2, instPERIBSS2_860026357 )
FINSI

#---------------------------------------------------------------------------------
# TRAFBSS1
#---------------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instTRAFBSS1_860026357) || b_instTRAFBSS1_860026357)
ALORS
	#trace("emission vers TRAFBSS1")
	res_860026357 = i_stocke_art_iecc( g_iartout11, instTRAFBSS1_860026357)
FINSI

#---------------------------------------------------------------------------------
# TRAFBSS2
#---------------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instTRAFBSS2_860026357) || b_instTRAFBSS2_860026357)
ALORS
	#trace("emission vers TRAFBSS2")
	res_860026357 = i_stocke_art_iecc( g_iartout11, instTRAFBSS2_860026357)
FINSI

#---------------------------------------------------------------------------------
# SIVM
#---------------------------------------------------------------------------------

#---------------------------------------------------------------------------------
# SC
#---------------------------------------------------------------------------------

SI (! i_ChercherCouranteECC(instSC_860026357) || b_instSC_860026357)
ALORS
	#trace("emission vers WanadooFact")
	erreur_860026357  = i_stocke_art_iecc(g_iartout5,instSC_860026357)
FINSI

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

SI (! i_ChercherCouranteECC(instSYMP_860026357) || b_instSYMP_860026357)
ALORS
	#trace("emission vers Symphonie")
	erreur_860026357  = i_stocke_art_iecc(g_iartout6,instSYMP_860026357)
FINSI

#---------------------------------------------------------------------------------
# SPOT
#---------------------------------------------------------------------------------

SI (!i_ChercherCouranteECC(instSPOT_860026357) || b_instSPOT_860026357)
ALORS
	res_860026357 = i_stocke_art_iecc(g_iartout13, instSPOT_860026357)
	#trace("emission vers SPOT")
FINSI

#---------------------------------------------------------------------------------
# REDHAWK
#---------------------------------------------------------------------------------

#---------------------------------------------------------------------------------
# CASPER
#---------------------------------------------------------------------------------

SI (! i_ChercherCouranteECC(instCASPER_860026357) || b_instCASPER_860026357)
ALORS
	#trace("emission vers CASPER")
	erreur_860026357  = i_stocke_art_iecc(g_iartout14,instCASPER_860026357)
FINSI

#---------------------------------------------------------------------------------
# Test ENVOI REDISTRIBUTION
#---------------------------------------------------------------------------------

# DRE G4R6 Lot3
SI (bREDIST_860026357 == 1)
ALORS
	SAUT DISTRI_REDIST
FINSI
# \DRE G4R6 Lot3

#trace("Fin du Pcode de distribution Tvoicewfr")

RETOUR TRAIT_OK

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

POINT DISTRI_ERR

trace( "Stockage en errone de distribution")
res_860026357 = i_make_art_rej(g_iartin, g_iartout8, code_errone_860026357)
res_860026357 = i_stocke_art( g_iartout8, 0, PT_ERRONE, 0)

RETOUR TRAIT_OK

###################################################################################
#############################    Envoi en recyclage    ############################
###################################################################################
#G3R6 FO2356 suppression recyclage evol spec
#POINT RECYCLE

###################################################################################
########    Stockage en ELIMINE EXPLICITE  (REJET3 = 1 ex: cas DC 119)    #########
###################################################################################

POINT ELIMINE_EXP

trace( "Stockage en elimine explicite")
res_860026357 = i_stocke_art( g_iartin, 0, PT_DIVERS, 0 )

RETOUR TRAIT_OK

# DRE G4R6 lot3
###########################################################################
# Stockage pour redistribution
###########################################################################

POINT DISTRI_REDIST

trace("Stockage pour redistribution")

SI (trait_ok_860026357 == 0)
ALORS
	erreur_860026357 = i_PlvMessEmettre(8503,2,g_iartin,"",3,pt_LIBELREDIST_860026357,C_Article_860026357,pt_SGTQS_860026357)
FINSI

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

RETOUR TRAIT_OK

# \DRE G4R6 lot3

#--------------Fin Pcode Distribution Tvoicewfr_dis.src-------------------------
