DEFINITION CATEG_860026377 1
DEFINITION CODE_ARTICLE_860026377 1
DEFINITION BASE_860026377 1
DEFINITION RES_CLDEST_860026377 1
DEFINITION C_Article_860026377 "TdevilCS"
DEFINITION C_InstSYMP_860026377 "SYMP"
DEFINITION C_InstSPOT_860026377 "SPOT"
DEFINITION C_TsymTdevilCS_860026377 "TsymTdevilCS"
DEFINITION C_TcentaureIP_860026377 "TcentaureIP"
DEFINITION C_TapachCS_860026377 "TapachCS"
DEFINITION C_TspotTdevilCS_860026377 "TspotTdevilCS"
DEFINITION C_InstCENTIP_860026377 "CENTAUREIP"
DEFINITION C_InstENTREFF_860026377 "ENTREFF"
DEFINITION C_InstENTRINEF_860026377 "ENTRINEF"
DEFINITION C_Tentr102_860026377 "Tentr102"
DEFINITION C_NB_1970_860026377 0x83ABD000
DEFINITION Prefixe_Portabilite_860026377 "Prefixe_Portabilite"
DEFINITION RES_TYPCTR_860026377 2
DEFINITION RES_CODCIR_860026377 3
DEFINITION CPT_REJET3_860026377 12
DEFINITION NUMTAB_GMT_860026377 1
DEFINITION ZONE_METRO_860026377 7
DEFINITION C_COD_BAS_CASPER_860026377 "88A"
DEFINITION C_InstCASPER_860026377 "CASPER"
DEFINITION C_TcasperTdevilCS_860026377 "TcasperTdevilCS"
DEFINITION CPT_CPS_Loc_860026377 16
DEFINITION CPT_CPS_RI_860026377 17
DEFINITION C_DATCPS_860026377 "DATCPS" 
DEFINITION TD_SVA_860026377 9
DEFINITION C_INST_ALICE_860026377 "ALICE"
REGISTRE ENTIER instSYMP_860026377
REGISTRE ENTIER instCENTIP_860026377
REGISTRE ENTIER instSPOT_860026377
REGISTRE ENTIER instENTREFF_860026377
REGISTRE ENTIER instENTRINEF_860026377
REGISTRE ENTIER size_PORT_860026377
REGISTRE ENTIER size_NDE_860026377
REGISTRE ENTIER flag_33_860026377
REGISTRE ENTIER flag_dom_860026377
REGISTRE ENTIER indiceDETR1_860026377
REGISTRE ENTIER indiceDETR_860026377
REGISTRE ENTIER indice_860026377
REGISTRE ENTIER erreur_860026377
REGISTRE ENTIER res_860026377
REGISTRE ENTIER code_errone_860026377
REGISTRE ENTIER duree_860026377
REGISTRE ENTIER status_860026377
REGISTRE ENTIER date_860026377
REGISTRE ENTIER dpivot_860026377
REGISTRE ENTIER longueur_860026377
REGISTRE ENTIER DOM_860026377
REGISTRE ENTIER EFFICACE_860026377
REGISTRE ENTIER HLAHM1_860026377
REGISTRE ENTIER T3G_portabilite_860026377
REGISTRE ENTIER IDUS_INF_CENT_860026377
REGISTRE ENTIER IDUS_INF_860026377
REGISTRE ENTIER DEDE_INF_860026377
REGISTRE ENTIER CCD_860026377
REGISTRE ENTIER length_quartet_860026377
REGISTRE ENTIER typ_ctr_860026377
REGISTRE ENTIER REJET_860026377
REGISTRE ENTIER FSENTCS_860026377
REGISTRE ENTIER FSSORCS_860026377
REGISTRE ENTIER DCCS_CS_860026377
REGISTRE ENTIER VAL_860026377
REGISTRE ENTIER dfin_860026377
REGISTRE ENTIER gmt_date_860026377
REGISTRE ENTIER CODCIR_860026377
REGISTRE ENTIER b_DIST_CASPER_860026377
REGISTRE ENTIER instCASPER_860026377
REGISTRE ENTIER v_SourceIP_860026377
REGISTRE ENTIER v_DestIP_860026377
REGISTRE ENTIER b_DEDE_N_FILTRE_860026377
REGISTRE ENTIER lgr_860026377
REGISTRE ENTIER Date_CPS_860026377
REGISTRE ENTIER instALICE_860026377 
REGISTRE ENTIER val_860026377
REGISTRE ENTIER b_FERPV_860026377
REGISTRE ENTIER ddebut_860026377
REGISTRE ENTIER CPT_REDIST_860026377
REGISTRE ENTIER bREDIST_860026377
REGISTRE ENTIER b_ENTREFF_860026377
REGISTRE ENTIER b_ENTRINEF_860026377
REGISTRE ENTIER b_CENTIP_860026377
REGISTRE POINTEUR pt_cle_860026377
REGISTRE POINTEUR pt_DETRnum1_860026377
REGISTRE POINTEUR pt_CC2_860026377
REGISTRE POINTEUR pt_CC3_860026377
REGISTRE POINTEUR pt_return_TablePort_860026377
REGISTRE POINTEUR pt_PREFPORT_860026377
REGISTRE POINTEUR pt_SGTQS_860026377
REGISTRE POINTEUR pt_eccfact_860026377
REGISTRE POINTEUR pt_IDUS_NUM_860026377
REGISTRE POINTEUR pt_DEDE_NUM_860026377
REGISTRE POINTEUR pt_FAISCIN_860026377
REGISTRE POINTEUR pt_FAISCOUT_860026377
REGISTRE POINTEUR pt_BUF_860026377
REGISTRE POINTEUR pt_codeEEC_860026377
REGISTRE POINTEUR pt_CS_CPL_FAISCEAU_860026377
REGISTRE POINTEUR pt_FASCIOIN_860026377
REGISTRE POINTEUR pt_FSCIOOUT_860026377
REGISTRE POINTEUR pt_Val_iecc_860026377
REGISTRE POINTEUR pt_val_860026377
REGISTRE POINTEUR pt_PRE_ARR_860026377
REGISTRE POINTEUR pt_DER_DEP_860026377
REGISTRE POINTEUR pt_v_SourceIP_860026377
REGISTRE POINTEUR pt_v_DestIP_860026377
REGISTRE POINTEUR pt_v_masque_860026377
REGISTRE POINTEUR pt_TEMP_860026377
REGISTRE POINTEUR pt_MESSAGE_860026377
REGISTRE POINTEUR pt_CODE_TARIF_860026377 
REGISTRE POINTEUR pt_TYPE_EDIT_860026377 
REGISTRE POINTEUR pt_NORM_860026377
REGISTRE POINTEUR pt_LIBELREDIST_860026377
#################################################################
#       Pcode de distribution
#       TdevilCS : DC efficace ou inefficace CALL SERVER
#
#	a CENTAUREDEA 	(g_iartout5) - efficace et
#	a CENTAUREDC  	(g_iartout4) - efficace et
#	a ENTROPI 	(g_iartout2) - ENTREFF = efficace et (faiscioin ou faiscioout = 1) / ENTRINEF = Inefficace
#	a SYMPHONIE 	(g_iartout) - Tous les DC
#	a SPOT 		(g_iartout6) - Tous les DC
#	a CASPER 	(g_iartout8) si table externe TFESDAP (cle=FE/FS) = 88A
#
# HISTORIQUE
# 08/03/2005 - RBE - Creation
# 25/04/2005 - RBE - FO1249 : eecfact a blanc pour DC inefficace
# 25/04/2005 - RBE - FO1251 : CCD a 215 par defaut au lie de 255
# 25/04/2005 - RBE - FO1252 : detr_inf a 75 et detr_num commence par 33
# 16/05/2005 - RBE - F01291 : ajout de l'appel ` la table externe Inter
# 16/05/2005 - RBE - F01303 : renomme ECC APACHE_DC en APACHE_CS
# 23/09/2005 - FAL - F01471 : plus d erreur si BDC NOK CCD impacte
# 25/11/2005 - PKH - G2R2Ca : Evolution call Server Nouveau format du DC call Server et alimentation de Centaure
# 27/12/2005 - PKH - G2R2Ca : FO1644 F01642 F01643 FO1645
# 12/01/2005 - PKH - G2R2Ca : FO1679 correction sur champ CDSGTQ centauredc et centauredea
# 17/01/2005 - DRE - G2R2Ca : FO1679 correction a 23 de la longueur recherche pt_codeEEC au lieu de 30
# 02/02/2006 - PKH - G2R2Ca : FO1703 Correction sur le champ NIDAV pour CentaureDC et CentaureDEA
# 06/02/2006 - FAL - G2R2Cd : FO1707 IDEDE NDEDE pour CentaureDC et CentaureDEA comme IIDAV et NIDAV
# 09/02/2006 - FAL - G2R2Cd : T3G_portabilite double appel BDC pour CCD
# 09/02/2006 - FAL - G2R2Cd : FO1709 FO1719 normalisation du IDUS
# 06/03/2006 - FAL - G2R2Cd : FO1732 Pour centaureDC DEA les valeurs IIDUS sont 130 ou 192 ou 000
# 03/04/2006 - FAL - G2R2Cd : FO1764 NICOM CentaureDEA est alimente avec FSENT au lieu de FSORT
# 06/04/2006 - FAL - G2R2Cg : creation SPOT
# 31/05/2006 - DRE - G2R2Cg : FO1809 Pb DC inefficace envoye a SAFIRE
# 25/07/2006 - FAL - G2R2Cq : sans IDUS et DETR correction sur format DEDE et IDUS de SAFIRE
#                               CCD, T3G, fin du T4IDUS que servait pour BNC
#                               correction NIPRV etait vide dans le cas ocndedenum non 33
# 17/10/2006 - JLG - G2R2Cv : FO2009/2010 REJET3 (119 appel enfance maltraitee)
# 23/10/2006 - JLG - G2R2Cv : FO2017 erreur appel BNC : 0x73 a la place de 0x74 mis par erreur dans DEDE_INF
# 31/01/2008 - THE - Param FTSA-G3R4Cy : mise en service de la crr?lation pout les CallServers
# 03/03/2008 - DRE - FO2335 Code SGTQS pour SafireIPMono mettre le r?sultat de la recherche dans la table Inter
# 28/05/2008 - DRE - FO2404 : tdevilcs manque 0x0A caractere fin de ligne sur Tdevil pour safireipmono
# 01/08/2008 - PSA - G3R9 : portabilite via table externe
# 08/09/2008 - PKH - G3R9 ; FO QC 79 etFO QC 80
# 01/10/2008 - PKH - G3R9 ; FO QC 96 initialisation du pointeur pt_PREFPORT
# 01/10/2008 - THE - G3R9 ; FO QC 129  Pb PREFPORT
# 19/02/2009 - RHE - G3R12 : ajout de CentaureIP, suppression de CentaureDC et CentaureDEA
# 25/02/2009 - RHE - G3R12 : QC192/3 par defaut champs d'entree absents a blanc en sortie
# 12/03/2009 - RHE - G3R12 : QC195: alimentation du champ DFIN de Tcstr en date GMT au format UNIX (en seconde depuis 1970)
# 25/03/2009 - RHE - G3R12 : QC207 duplication vers CentaureIP
# 22/10/2009 - JLG - G3R15 : ajout ECC CASPER
# 04/11/2009 - JLG - G3R15 : QC303
# 04/11/2009 - THE - G3R15 : QC309
# 23/11/2009 - THE - G3R15 : QC311
# 27/11/2009 - DRE - G3R15 : Reprise QC311
# 07/12/2009 - DRE - G3R15 : QC315 Il ne faut plus valoriser la variable CODCIRDR (mettre espace pour CASPER)
# 01/04/2011 - RHE - G3R21 : champs IDLOC DC call server pour CentaureIP
# 13/07/2011 - THE - G3R21Cy : modif envoi a CASPER
# 27/09/2011 - THE - VerifPcode
# 10/02/2012 - DRE - G3R23C5 : QC574 Inversion de la conversion du champ NbPulses pour CentaureIP Ex :05 0F 00 00 ? 00 00 0F 05
# 28/05/2013 - THE - G4R3 suppression envoi vers APACHE
# 29/05/2013 - DRE - G4R3 lot2 : Masquage de numero appelant (PNIJ)
# 30/08/2013 - DRE - G4R3C5 QC743 Masquer DelCLIIDUSNUM idem IDUSNUM
# 30/09/2013 - THE DRE - G4R4 lot2 Remplacement de SAFIRE par ENTROPI
# 17/04/2014 - DRE - G4R6 : Lot3
# 12/05/2014 - DRE - G4R6 QC815
#
#################################################################

# Definitions
#G4R4

#DRE G4R6 lot3
#\DRE G4R6 lot3

# Declarations
#G4R4 lot2
#G4R4 lot2
# G3R21Cy
#G4R3
#DRE G4R6 lot3
######################################################
# G3R21Cy
#G4R3
# DRE G4R6 lot3
##################################################################################
# Initialisations
##################################################################################

# Instances
instSYMP_860026377	 = -1
instENTREFF_860026377 = -1
instENTRINEF_860026377 = -1
instCENTIP_860026377	 = -1
instSPOT_860026377	 = -1
instCASPER_860026377	 = -1

code_errone_860026377 	 = 0
EFFICACE_860026377	 = 0
IDUS_INF_860026377	 = 0
IDUS_INF_CENT_860026377	 = 0
DEDE_INF_860026377	 = 0
CCD_860026377		 = 215
longueur_860026377	 = 0
DOM_860026377		 = 0
length_quartet_860026377	 = 0
T3G_portabilite_860026377	 = 0
REJET_860026377		 = 0
FSENTCS_860026377		 = 0
FSSORCS_860026377		 = 0
DCCS_CS_860026377		 = 0
#G4R4 lot2
#b_TRANSITCS	 = 0
gmt_date_860026377	 = 0
CODCIR_860026377		 = -1
lgr_860026377		 = 0
#DRE G4R6 lot3
Date_CPS_860026377 = 0
instALICE_860026377 = -1
val_860026377 = 0
ddebut_860026377 = -1
b_FERPV_860026377 = 0
typ_ctr_860026377 = 0
CPT_REDIST_860026377 = 0
bREDIST_860026377 = 0
b_ENTREFF_860026377  = 0  
b_ENTRINEF_860026377 = 0
b_CENTIP_860026377   = 0 

# Pointeurs
pt_cle_860026377		 = "170169012345678901234567890123456789012345678901234567890123456789"
pt_DETRnum1_860026377	 = "080897num1012345678901234567890123456789012345678901234567890123456789"
pt_CC2_860026377		 = "17031965"
pt_CC3_860026377		 = "230920000"
pt_return_TablePort_860026377 = "2501"
pt_PREFPORT_860026377	 = "0108200801234567890"
pt_SGTQS_860026377	 = "12345678901212345"
pt_eccfact_860026377	 = "pt_eccfact45678901234567890"
pt_IDUS_NUM_860026377	 = "223344556677889911223344556677889911"
pt_DEDE_NUM_860026377	 = "33445566778899001122334455667788990011223344556677889900112233445566778899"
pt_FAISCIN_860026377	 = "99999999999999999999"
pt_FAISCOUT_860026377	 = "88888888888888888888"
pt_FASCIOIN_860026377	 = "63561024"
pt_FSCIOOUT_860026377	 = "41053954"
pt_BUF_860026377		 = "8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989"
pt_codeEEC_860026377	 = "7777777777777777777777777777777777777777777777777777777777777777777777777777777777"
pt_CS_CPL_FAISCEAU_860026377  = "50217217215095476549898679010656"
pt_Val_iecc_860026377	 = "1982758698869"
pt_val_860026377		 = "798792799784723947947289"
pt_PRE_ARR_860026377	 = "5421"
pt_DER_DEP_860026377	 = "3541"
pt_v_SourceIP_860026377	 = "pt_v_SourceIP123456789"
pt_v_DestIP_860026377	 = "pt_v_DestIP987654321"
#G4R3
pt_v_masque_860026377 	 = "pt_v_masque"
pt_TEMP_860026377		 = "pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789pt_TEMP123456789"
# DRE G4R6 lot3
pt_MESSAGE_860026377 = "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_860026377	 = "pt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDISTpt_LIBELREDIST"
pt_CODE_TARIF_860026377 	 = "pt_CODE_TARIFpt_CODE_TARIF"
pt_TYPE_EDIT_860026377	 = "pt_TYPE_EDIT"
pt_NORM_860026377		 = "389389389389389389996200258997115447999945899"

# initialisation
i_strcpy(pt_FASCIOIN_860026377,"")
i_strcpy(pt_FSCIOOUT_860026377,"")
i_strcpy(pt_eccfact_860026377,"")
i_strcpy(pt_FAISCIN_860026377,"")
i_strcpy(pt_FAISCOUT_860026377,"")
i_strcpy(pt_CS_CPL_FAISCEAU_860026377, "")
i_strcpy(pt_Val_iecc_860026377, "")
i_strcpy(pt_IDUS_NUM_860026377,"")
i_strcpy(pt_DEDE_NUM_860026377,"")
i_strcpy(pt_val_860026377,"")
i_strcpy(pt_val_860026377,"")
i_strcpy(pt_val_860026377,"")
i_strcpy(pt_PRE_ARR_860026377,"N")
i_strcpy(pt_DER_DEP_860026377,"N")
i_strcpy(pt_PREFPORT_860026377,"")
i_strcpy(pt_DETRnum1_860026377,"")

# VerifPcode
i_strcpy(pt_cle_860026377,"")
i_strcpy(pt_CC2_860026377,"")
i_strcpy(pt_CC3_860026377,"")
i_strcpy(pt_codeEEC_860026377,"")
# G4R3
i_strcpy(pt_v_masque_860026377,"")
i_strcpy(pt_TEMP_860026377,"")
# DRE G4R6 lot3
i_strcpy(pt_MESSAGE_860026377, "")
i_strcpy(pt_CODE_TARIF_860026377 , "    ")
i_strcpy(pt_TYPE_EDIT_860026377 , " ")
i_strcpy(pt_LIBELREDIST_860026377,"")
i_strcpy(pt_NORM_860026377,"")


########################################################################################################
# Creation article Conversion (g_iartout10) #
########################################################################################################

erreur_860026377 = i_cree_art("Conversion",g_iartout10)

#DRE G4R6 Lot3
#Nb de passage en redistribution
CPT_REDIST_860026377 = i_LireRedistCpt()

########################################################################################################
# calcul des variables fonctionnelles
########################################################################################################

########################################################################################################
# efficacite : vrai si DUREE non nulle et STATUS a 1 ou 6
########################################################################################################

duree_860026377 = i_get_art_field(g_iartin,$TdevilCS::DUREE)
status_860026377 = i_get_art_field(g_iartin,$TdevilCS::STATUS)
SI ( ((status_860026377 == 1) || (status_860026377 == 6)) && (duree_860026377 != 0) )
ALORS
	EFFICACE_860026377 = 1
	#trace ("********** Appel EFFICACE ***************")
FINSI

########################################################################################################
# SGTQS		 FO1291 : recuperation du code SGTQS dans la table Inter via CodeEEC
########################################################################################################

dpivot_860026377 = i_get_art_field( g_iartin, $dpivot )
SI ( dpivot_860026377 == -1 )
ALORS
	code_errone_860026377 = 0xA080
	code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
	erreur_860026377 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026377, C_Article_860026377, "dpivot" )
	#trace ("********** dpivot = -1 ***************")
	SAUT DISTRI_ERR
FINSI
erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::CodeEEC, pt_codeEEC_860026377)
#trace2("************** TdevilCS::CodeEEC : %s",pt_codeEEC,"")

i_get_sub_str(pt_codeEEC_860026377,0,22,pt_codeEEC_860026377)
erreur_860026377 = i_format_str2(pt_BUF_860026377,"%s%s","INf",pt_codeEEC_860026377)
#trace2("******** Recherche du code SGTQS dans table Inter avec: %s",pt_BUF,"")

i_strcpy(pt_SGTQS_860026377, i_get_tab_field("Inter",dpivot_860026377,pt_BUF_860026377))
SI (!i_strcmp(pt_SGTQS_860026377,g_inull))
ALORS
	trace2( "ERREUR: CodeEEC <%s> non trouve dans la table externe Inter",pt_BUF_860026377, "" )
	i_strcpy(pt_SGTQS_860026377,"")
FINSI
#trace2("********* Code SGTQS trouve dans la table Inter=%s", pt_SGTQS, "")

########################################################################################################
# Variable Fonctionnel FSENTCS

erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::FSENT, pt_FAISCIN_860026377)
i_get_sub_str(pt_FAISCIN_860026377,0,3,pt_FAISCIN_860026377)
erreur_860026377 = i_format_str2(pt_BUF_860026377,"%s%s","CS",pt_FAISCIN_860026377)
#trace2("__FILE__:__LINE__ appel avec pt_BUF <%s>",pt_BUF ,"")
i_strcpy(pt_val_860026377, i_get_tab_field("code_apache",dpivot_860026377,pt_BUF_860026377))
SI ( i_strcmp(pt_val_860026377, "1" ) == 0 )
ALORS
	FSENTCS_860026377 = 1
FINSI
#trace1("__FILE__:__LINE__ ======> Valeur de FSENTCS : <%d> ", FSENTCS)

########################################################################################################
# Variable Fonctionnel FSSORCS

erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::FSSORT, pt_FAISCOUT_860026377)
i_get_sub_str(pt_FAISCOUT_860026377,0,3,pt_FAISCOUT_860026377)
erreur_860026377 = i_format_str2(pt_BUF_860026377,"%s%s","CS",pt_FAISCOUT_860026377)
#trace2("__FILE__:__LINE__ appel avec pt_BUF <%s>",pt_BUF ,"")
i_strcpy(pt_val_860026377, i_get_tab_field("code_apache",dpivot_860026377,pt_BUF_860026377))
SI ( i_strcmp(pt_val_860026377,"1") == 0 )
ALORS
	FSSORCS_860026377 = 1
FINSI
#trace1("__FILE__:__LINE__ ======> Valeur de FSSORCS : <%d> ", FSSORCS)

########################################################################################################
# Variable Fonctionnel DCCS_CS

SI FSENTCS_860026377 && FSSORCS_860026377
ALORS
	DCCS_CS_860026377 = 1
FINSI
#trace1("__FILE__:__LINE__ ======> Valeur de DCCS_CS : <%d> ", DCCS_CS)

########################################################################################################
# Variable Fonctionnel pt_PRE_ARR

SI !FSENTCS_860026377 && FSSORCS_860026377
ALORS
	i_strcpy(pt_PRE_ARR_860026377,"O")
FINSI
#trace2("__FILE__:__LINE__ ======> Valeur de pt_PRE_ARR : <%s> ", pt_PRE_ARR,"")

########################################################################################################
# Variable Fonctionnel pt_DER_DEP

SI FSENTCS_860026377 && !FSSORCS_860026377
ALORS
	i_strcpy(pt_DER_DEP_860026377,"O")
FINSI
#trace2("__FILE__:__LINE__ ======> Valeur de pt_DER_DEP : <%s> ", pt_DER_DEP,"")


########################################################################################################
# Calcul de pt_FASCIOIN (1er caract?re de FSENT2/FSENT2 sinon  8?me caract?re de FSENT/FSENT sinon NULL)
# -PKH- G2R2Ca : Evolution du DC avec FSENT2 et FSSORT2

SI ( i_valid_field_n(g_iartin, $TdevilCS::FSENT2))
ALORS
	erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::FSENT2, pt_FAISCIN_860026377)
	#trace2("champ FSENT2 present <%s>",pt_FAISCIN,"")
	i_get_sub_str (pt_FAISCIN_860026377, 0, 0,pt_FASCIOIN_860026377)
SINON
	#trace("champ FSENT2 absent")
	SI ( i_valid_field_n(g_iartin, $TdevilCS::FSENT))
	ALORS
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::FSENT, pt_FAISCIN_860026377)
		#trace2("champ FSENT present <%s>",pt_FAISCIN,"")
		i_get_sub_str (pt_FAISCIN_860026377, -1, -1,pt_FASCIOIN_860026377)
	FINSI
FINSI
#trace2("     pt_FASCIOIN 1er bit FSENT2 ou 8eme FSENT = <%s>",pt_FASCIOIN,"")

########################################################################################################
# Calcul de pt_FSCIOOUT (1er caractere de FSSORT2/FSSORT2 ou 8eme caractere de FSSORT/FSSORT sinon NULL)
# Evolution du DC avec FSENT2 et FSSORT2

SI ( i_valid_field_n(g_iartin, $TdevilCS::FSSORT2))
ALORS
	erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::FSSORT2, pt_FAISCOUT_860026377)
	#trace2("champ FSSORT2 present <%s>",pt_FAISCOUT,"")
	i_get_sub_str (pt_FAISCOUT_860026377, 0, 0,pt_FSCIOOUT_860026377)
SINON
	#trace("champ FSSORT2 absent")
	SI ( i_valid_field_n(g_iartin, $TdevilCS::FSSORT))
	ALORS
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::FSSORT, pt_FAISCOUT_860026377)
		#trace2("champ FSSORT present <%s>",pt_FAISCOUT,"")
		i_get_sub_str (pt_FAISCOUT_860026377, -1, -1,pt_FSCIOOUT_860026377)
	FINSI
FINSI
#trace2("     pt_FASCIOIN 1er bit FSSORT2 ou 8eme FSSORT = <%s>",pt_FSCIOOUT,"")

########################################################################################################
# Concatenation de pt_FAISCINT et pt_FAISCOUT et recuperation
#la valeur correspondant a l'application a facturer pour le faisceau entrant et sortant

erreur_860026377=i_format_str2(pt_CS_CPL_FAISCEAU_860026377,"%s%s",pt_FASCIOIN_860026377,pt_FSCIOOUT_860026377)
#trace2("  pt_CS_CPL_FAISCEAU <%s>",pt_CS_CPL_FAISCEAU,"")

# G3R21Cy ###############################################################################################
# But : Stocker l'adresse IP issue du champ SourceIP du DC CallServer apres conversion au format IPV4
# v_SourceIP = SourceIP (T1/T2/T3 = 8048/8002/8052) EX: 50 0C 49 D6 => 80.12.73.214

i_strcpy(pt_v_SourceIP_860026377,"")
v_SourceIP_860026377 = 0

SI ( i_valid_field_n(g_iartin, $TdevilCS::SourceIP))
ALORS
	indice_860026377 = 0
	longueur_860026377 = g_iartin.TsourceIP!NELEM

	POINT BOUCLE_S

	SI indice_860026377 < longueur_860026377
	ALORS
		v_SourceIP_860026377 = g_iartin.TsourceIP[indice_860026377]
		erreur_860026377 = i_set_art_field(g_iartout10, $Conversion::CCD, v_SourceIP_860026377)
		erreur_860026377 = i_get_art_str( g_iartout10, $Conversion::CCD, pt_val_860026377 )
		SI indice_860026377 ==0
		ALORS
			res_860026377 = i_format_str2( pt_BUF_860026377, "%s%s", pt_val_860026377, ".")
			i_strcpy(pt_v_SourceIP_860026377,pt_BUF_860026377)
		SINON
			SI indice_860026377 != 3
			ALORS
				res_860026377 = i_format_str2( pt_BUF_860026377, "%s%s", pt_v_SourceIP_860026377, pt_val_860026377)
				res_860026377 = i_format_str2( pt_v_SourceIP_860026377, "%s%s", pt_BUF_860026377, ".")
			SINON
				res_860026377 = i_format_str2( pt_BUF_860026377, "%s%s", pt_v_SourceIP_860026377, pt_val_860026377)
				i_strcpy(pt_v_SourceIP_860026377,pt_BUF_860026377)
				#trace2("__FILE__:__LINE__ ## TEST ## ======> pt_v_SourceIP <%s> #### ",pt_v_SourceIP ,"")
			FINSI
		FINSI

		indice_860026377=indice_860026377+1
		SAUT BOUCLE_S
	FINSI
FINSI

########################################################################################################
# But : Stocker l'adresse IP issue du champ DestIP du DC CallServer apres conversion au format IPV4
# v_DestIP = DestIP (T1/T2/T3 = 8048/8002/8053)

i_strcpy(pt_v_DestIP_860026377,"")
v_DestIP_860026377 = 0

SI ( i_valid_field_n(g_iartin, $TdevilCS::DestIP) )
ALORS
	indice_860026377 = 0
	longueur_860026377 = g_iartin.TdestIP!NELEM

	POINT BOUCLE_D

	SI indice_860026377 < longueur_860026377
	ALORS
		v_DestIP_860026377 = g_iartin.TdestIP[indice_860026377]
		erreur_860026377 = i_set_art_field(g_iartout10, $Conversion::CCD, v_DestIP_860026377)
		erreur_860026377 = i_get_art_str( g_iartout10, $Conversion::CCD, pt_val_860026377 )
		SI indice_860026377 ==0
		ALORS
			res_860026377 = i_format_str2( pt_BUF_860026377, "%s%s", pt_val_860026377, ".")
			i_strcpy(pt_v_DestIP_860026377,pt_BUF_860026377)
		SINON
			SI indice_860026377 != 3
			ALORS
				res_860026377 = i_format_str2( pt_BUF_860026377, "%s%s", pt_v_DestIP_860026377, pt_val_860026377)
				res_860026377 = i_format_str2( pt_v_DestIP_860026377, "%s%s", pt_BUF_860026377, ".")
			SINON
				res_860026377 = i_format_str2( pt_BUF_860026377, "%s%s", pt_v_DestIP_860026377, pt_val_860026377)
				i_strcpy(pt_v_DestIP_860026377,pt_BUF_860026377)
				#trace2("__FILE__:__LINE__ ## TEST ## ======> pt_v_DestIP <%s> #### ",pt_v_DestIP ,"")
			FINSI
		FINSI

		indice_860026377=indice_860026377+1
		SAUT BOUCLE_D
	FINSI
FINSI

########################################################################################################
# Variable Fonctionnel b_DIST_CASPER (cle=pt_CS_CPL_FAISCEAU pour table externe TFESDAP)
# 8eme digit de FSSORT, pt_CS_CPL_FAISCEAU = 8eme digit de FSENT + 8eme digit de FSSORT	
b_DIST_CASPER_860026377 = 0

i_strcpy(pt_val_860026377, i_get_tab_field("TFESDAP",dpivot_860026377,pt_CS_CPL_FAISCEAU_860026377))
SI ( i_adequation_chaine_expreg (pt_val_860026377,C_COD_BAS_CASPER_860026377) == 0 )
ALORS
	b_DIST_CASPER_860026377 = 1
SINON
	#Rechercher dans la table externe "SBC_OPITML" s'il existe une instance dont la cl? est ?gale ? v_SourceIP.
	i_strcpy(pt_val_860026377, i_get_tab_field("SBC_OPITML",dpivot_860026377,pt_v_SourceIP_860026377))
	#trace2("__FILE__:__LINE__ ## TEST ## ======> pt_val <%s> #### ",pt_val ,"")
	SI ( i_adequation_chaine_expreg (pt_val_860026377,C_COD_BAS_CASPER_860026377) == 0 )
	ALORS
		b_DIST_CASPER_860026377 = 1
	SINON
		#Rechercher dans la table externe "SBC_OPITML" s'il existe une instance dont la cl? est ?gale ? v_DestIP.
		i_strcpy(pt_val_860026377, i_get_tab_field("SBC_OPITML",dpivot_860026377,pt_v_DestIP_860026377))
		#trace2("__FILE__:__LINE__ ## TEST ## ======> pt_val <%s> #### ",pt_val ,"")
		SI ( i_adequation_chaine_expreg (pt_val_860026377,C_COD_BAS_CASPER_860026377) == 0 )
		ALORS
			b_DIST_CASPER_860026377 = 1
		FINSI
	FINSI
FINSI
#trace1("__FILE__:__LINE__ ## TEST ## ======> Valeur de b_DIST_CASPER : <%d> #### ", b_DIST_CASPER)

#\G3R21Cy



########################################################################################################
# Recherche des instances + criteres de distribution
########################################################################################################

######################################
# SYMPHONIE

instSYMP_860026377=i_LireInstanceECC(C_InstSYMP_860026377)
SI (!instSYMP_860026377)
ALORS
	#trace("Pas d'instance pour SYMP !")
	code_errone_860026377 = 0xA0B0
	code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
	erreur_860026377 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026377,C_InstSYMP_860026377,C_Article_860026377)
	SAUT DISTRI_ERR
FINSI


######################################
# CASPER

instCASPER_860026377 = i_LireInstanceECC(C_InstCASPER_860026377)
SI (!instCASPER_860026377)
ALORS
	trace("Pas d'instance pour CASPER!")
	code_errone_860026377 = 0xA0B0
	erreur_860026377 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026377,C_InstCASPER_860026377,C_Article_860026377)
	SAUT DISTRI_ERR
FINSI


######################################
# SPOT

instSPOT_860026377=i_LireInstanceECC(C_InstSPOT_860026377)
SI (!instSPOT_860026377)
ALORS
	#trace("Pas d'instance pour SPOT !")
	code_errone_860026377 = 0xA0B0
	code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
	erreur_860026377 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026377,C_InstSPOT_860026377,C_Article_860026377)
	SAUT DISTRI_ERR
FINSI



######################################
# G4R4 ENTROPI Remplace SAFIREIPMONO
#
#ENTROPI DC Efficace
instENTREFF_860026377=i_LireInstanceECC(C_InstENTREFF_860026377)
SI (!instENTREFF_860026377)
ALORS
	#trace("Pas d'instance pour ENTREFF!")
	code_errone_860026377 = 0xA0B0
	code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
	erreur_860026377 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026377,C_InstENTREFF_860026377,C_Article_860026377)
	SAUT DISTRI_ERR
FINSI
#trace1("instENTREFF=<%d>",instENTREFF)

#ENTROPI DC Inefficace
instENTRINEF_860026377=i_LireInstanceECC(C_InstENTRINEF_860026377)
SI (!instENTRINEF_860026377)
ALORS
	#trace("Pas d'instance pour ENTRINEF!")
	code_errone_860026377 = 0xA0B0
	code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
	erreur_860026377 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026377,C_InstENTRINEF_860026377,C_Article_860026377)
	SAUT DISTRI_ERR
FINSI
#trace1("instENTRINEF=<%d>",instENTRINEF)

######################################
# CENTAUREIP

instCENTIP_860026377=i_LireInstanceECC(C_InstCENTIP_860026377)
SI(!instCENTIP_860026377)
ALORS
	#trace("Pas d'instance pour CENTAUREIP!")
	code_errone_860026377 = 0xA0B0
	code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
	erreur_860026377 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026377,C_InstCENTIP_860026377,C_Article_860026377)
	SAUT DISTRI_ERR
FINSI
#trace1("************* instCENTIP = <%d>",instCENTIP)

#HLAHM1 : date locale G2R2Cq ATTENTION Comme IDUS n est pas obligatoire il ne faut d EEC multizones
date_860026377 = i_get_art_field(g_iartin,$TdevilCS::DATE)
#HLAHM1 deplace que pour DOM car pour i_date_locale  IDUS doit etre present HLAHM1 = i_date_locale(g_ieec, g_iartin, date)

# Calcul de la date GMT
gmt_date_860026377 = i_DHgetCe2gTime(NUMTAB_GMT_860026377, ZONE_METRO_860026377, date_860026377)


########################################################################################################
# IDUS_INF et IDUS_NUM
# IDUS_NUM dans pt_IDUS_NUM pour CENTDC et DEA et plus NDR (existait pour i_comptage)
########################################################################################################

# IDUS_NUM peut etre absent mais DC efficace
SI (! i_valid_field_n(g_iartin, $TdevilCS::IDUS_NUM))
ALORS
	#G2R2Cq pas si loin car BNC avec **00  ceci permet de determiner quand meme T3G_portabilite
	#SAUT FIN_COMPTAGE
	SAUT FIN_IDUS_NUM
FINSI
#trace ("************* IDUS_NUM trouve **************")
# impossible de normaliser IDUS si IDUS_INF absent en entree
# dans ce cas on laisse IDUS_NUM comme en entree, IDUS_INF 0 et IDUS_INF_CENT 0 aussi
SI (! i_valid_field_n(g_iartin, $TdevilCS::IDUS_INF))
ALORS
	SAUT FIN_IDUS_NUM
FINSI
#trace ("************* IDUS_INF trouve **************")

# IDUS_NUM et IDUS_INF dependent  l un de lautre
erreur_860026377 = i_get_art_str(g_iartin,$TdevilCS::IDUS_NUM,pt_IDUS_NUM_860026377)

res_860026377 = i_get_art_field(g_iartin,$TdevilCS::IDUS_INF)
SI ( ( res_860026377 ==0 ) || ( res_860026377 == 0x75 ) )
ALORS
	SI  !( i_strplcmp( pt_IDUS_NUM_860026377, "33", 0, 2 ))
	ALORS
		IDUS_INF_CENT_860026377 = 130
		IDUS_INF_860026377 = 0x80
		i_get_sub_str (pt_IDUS_NUM_860026377, 2, -1,pt_IDUS_NUM_860026377)
	SINON
		IDUS_INF_CENT_860026377 = 192
		SI (!( i_strplcmp( pt_IDUS_NUM_860026377, "262", 0, 3 )) ||
		!( i_strplcmp( pt_IDUS_NUM_860026377, "594", 0, 3 )) ||
		!( i_strplcmp( pt_IDUS_NUM_860026377, "596", 0, 3 )) ||
		!( i_strplcmp( pt_IDUS_NUM_860026377, "590", 0, 3 )) )
		ALORS
			DOM_860026377 = 1
			HLAHM1_860026377 = i_date_locale(g_ieec, g_iartin, date_860026377)

			IDUS_INF_860026377 = 0x80
			i_get_sub_str (pt_IDUS_NUM_860026377, 3, -1,pt_IDUS_NUM_860026377)
		SINON
			IDUS_INF_860026377 = 0xC0
		FINSI
	FINSI
SINON
	SI ((res_860026377 == 1) || (res_860026377 == 0x74))
	ALORS
		IDUS_INF_CENT_860026377 = 130
		IDUS_INF_860026377 = 0x80
	SINON
		IDUS_INF_CENT_860026377 = 0
		IDUS_INF_860026377 = 0x00
	FINSI
FINSI
#trace1("retour de resize_tlv pour NDR : %d",erreur)

#trace1("************ IDUS_INF = %x",IDUS_INF)
#trace2("************ pt_IDUS_NUM = %s",pt_IDUS_NUM,"")
#trace1("************ IDUS_INF_CENT = %x",IDUS_INF_CENT)

POINT FIN_IDUS_NUM

########################################################################################################
# 	DEDE_INF et DEDE_NUM
########################################################################################################

SI (! i_valid_field_n(g_iartin, $TdevilCS::DETR_NUM))
ALORS
	SAUT FIN_COMPTAGE
FINSI
#trace ("************* TdevilCS::DETR_NUM trouve")
erreur_860026377 = i_ajoutChampNum(g_iartin, $TdevilCS::T4detr, $TdevilCS::NDETR, 0)
erreur_860026377 = i_dup_chp_1val(g_iartin, g_iartin, $TdevilCS::DETR_NUM, $TdevilCS::NDETR)
longueur_860026377 = g_iartin.DETR_NUM!NELEM*4
#trace1("longueur de DETR_NUM : %d",longueur)
erreur_860026377 = i_get_art_str(g_iartin,$TdevilCS::NDETR,pt_DEDE_NUM_860026377)

SI (! i_valid_field_n(g_iartin, $TdevilCS::DETR_INF))
ALORS
	SAUT FIN_COMPTAGE
FINSI
#trace ("************* TdevilCS::DETR_INF trouve")

res_860026377 = i_get_art_field(g_iartin,$TdevilCS::DETR_INF)
SI ( ( res_860026377 ==0 ) || ( res_860026377 == 0x75 ) )
ALORS
	SI  !( i_strplcmp( pt_DEDE_NUM_860026377, "33", 0, 2 ) )
	ALORS
		DEDE_INF_860026377 = 0x80
		erreur_860026377 = i_supp_quart_num($TdevilCS::NDETR, 0, 2, 0x0f, g_iartin, g_iartin)
	SINON
		SI ( !( i_strplcmp( pt_DEDE_NUM_860026377, "262", 0, 3 ) ) 
		  || !( i_strplcmp( pt_DEDE_NUM_860026377, "594", 0, 3 ) ) 
		  || !( i_strplcmp( pt_DEDE_NUM_860026377, "596", 0, 3 ) ) 
		  || !( i_strplcmp( pt_DEDE_NUM_860026377, "590", 0, 3 ) ) )
		ALORS
			DEDE_INF_860026377 = 0x80
			longueur_860026377 = (g_iartin.DETR_NUM!NELEM - 3)*4
			erreur_860026377 = i_supp_quart_num($TdevilCS::NDETR, 0, 3, 0x0f, g_iartin, g_iartin)
		SINON
			DEDE_INF_860026377 = 0xC0
		FINSI
	FINSI
SINON
	SI ( ( res_860026377 == 1 ) || ( res_860026377 == 0x74 ) )
	ALORS
		DEDE_INF_860026377 = 0x80
	SINON
		SI ( res_860026377 == 0x73 )
		ALORS
			DEDE_INF_860026377 = 0x40
		SINON
			DEDE_INF_860026377 = 0x00
		FINSI
	FINSI
FINSI

erreur_860026377 = i_set_art_field(g_iartin, $TdevilCS::IDETR, DEDE_INF_860026377)
erreur_860026377 = i_resize_tlv(g_iartin, "T4detr", "NDETR", longueur_860026377)

########################################################################################################
# Extraction du prefixe de portabilite du NDE
########################################################################################################

erreur_860026377 = i_get_art_str(g_iartin,$TdevilCS::DETR_NUM, pt_DETRnum1_860026377)
erreur_860026377 = i_get_art_str(g_iartin,$TdevilCS::DETR_NUM, pt_cle_860026377)
res_860026377 = i_get_art_field(g_iartin,$TdevilCS::DETR_INF)

i_strcpy(pt_return_TablePort_860026377, "")
SI ( res_860026377 == 0x00)
ALORS
	size_NDE_860026377 = i_strlen( pt_DETRnum1_860026377)
	i_get_sub_str(pt_cle_860026377,0,1,pt_CC2_860026377)
	i_get_sub_str(pt_cle_860026377,0,2,pt_CC3_860026377)

	SI  ( i_strcmp(pt_CC2_860026377,"33") == 0 )
	ALORS
		flag_33_860026377 = 1
		i_get_sub_str(pt_cle_860026377,2,size_NDE_860026377-1,pt_cle_860026377)
		i_strcpy(pt_return_TablePort_860026377,table_exp_reg_860026233(pt_cle_860026377,Prefixe_Portabilite_860026377,date_860026377))
	SINON
		SI ( i_strcmp(pt_CC3_860026377,"590") == 0 || i_strcmp(pt_CC3_860026377,"594") == 0 
		  || i_strcmp(pt_CC3_860026377,"596") == 0 || i_strcmp(pt_CC3_860026377,"262") == 0 )
		ALORS
			flag_dom_860026377 = 1
			i_get_sub_str(pt_cle_860026377,3,size_NDE_860026377-1,pt_cle_860026377)
			i_strcpy(pt_return_TablePort_860026377,table_exp_reg_860026233(pt_cle_860026377,Prefixe_Portabilite_860026377,date_860026377))
		FINSI
	FINSI
FINSI

SI ( res_860026377 == 0x01 )
ALORS
	i_strcpy(pt_return_TablePort_860026377,table_exp_reg_860026233(pt_cle_860026377,Prefixe_Portabilite_860026377,date_860026377))
FINSI

SI ( i_strcmp(pt_return_TablePort_860026377,g_inull) != 0 )
ALORS
	size_PORT_860026377 = CONV_ASCIINUMDEC_INT_860026233(pt_return_TablePort_860026377)
	i_get_sub_str(pt_cle_860026377,0,size_PORT_860026377-1,pt_PREFPORT_860026377)
FINSI

########################################################################################################
# Calcul DETRnum1
########################################################################################################

SI (size_PORT_860026377 > 0)
ALORS
	i_get_sub_str(pt_cle_860026377,size_PORT_860026377,-1,pt_cle_860026377)
FINSI

SI (flag_33_860026377 == 1)
ALORS
	erreur_860026377 = i_format_str2(pt_DETRnum1_860026377,"%s%s",pt_CC2_860026377,pt_cle_860026377)
SINON
	SI (flag_dom_860026377 == 1)
	ALORS
		erreur_860026377 = i_format_str2(pt_DETRnum1_860026377,"%s%s",pt_CC3_860026377,pt_cle_860026377)
	SINON
		i_strcpy(pt_DETRnum1_860026377,pt_cle_860026377)
	FINSI
FINSI

########################################################################################################
# determination de T3G_portabilite depuis BDC
########################################################################################################

#G4R4 Lot2
#SI EFFICACE
#ALORS
	erreur_860026377 = i_normal(g_iartin, $TdevilCS::DETR, $TdevilCS::DETR, g_icopo, $Tcopo::NDE ,$Tcopo::NDE ,3 , "BIDON", "DEVIL_NDE")
	
	#DRE G4R6 lot3 
	#---------------------------------
	# Recuperation de NDE normalise
	#---------------------------------
        erreur_860026377 = i_get_art_str(g_icopo,$Tcopo::NDE,pt_TEMP_860026377)
        longueur_860026377 = i_conv_ascii_dcb(pt_TEMP_860026377, pt_NORM_860026377)
	#\DRE G4R6 lot3 	
	
	erreur_860026377 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDR, "**00", 5)

	g_icopo.TAXE   = 0
	g_icopo.CREDIT = 0
	erreur_860026377 = i_set_art_date(g_icopo,date_860026377)
	g_icopo.DUREE  = duree_860026377
	g_icopo.CODE   = CODE_ARTICLE_860026377
	g_icopo.CATEG  = CATEG_860026377
	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_860026377 = i_comptage(g_icopo,BASE_860026377,date_860026377)

	SI (erreur_860026377 == 0)
	ALORS
		# CCD recuperation du code classe destination
		CCD_860026377 = g_icopo.SUP[RES_CLDEST_860026377]
		#trace1(" BDC passe 1 CCD 0x<%x>    si 0x36 alors T3G est vrai", CCD)
		SI (g_icopo.SUP[RES_CLDEST_860026377] == 0x36)
		ALORS
			T3G_portabilite_860026377 = 1
			#trace(" T3G_portabilite VRAI ")
		SINON
			T3G_portabilite_860026377 = 0
			#trace(" T3G_portabilite FAUX")
		FINSI
		#TYPCTR; TYPE DE REJET : evolution G2R2Cv pour REJET3 (119 appel enfance maltraitee)
		typ_ctr_860026377 = g_icopo.SUP[RES_TYPCTR_860026377]
		#trace1("******** -1er comptage- typ_ctr = %d ************",typ_ctr)

		SI typ_ctr_860026377 == CPT_REJET3_860026377
		ALORS
			#trace1("******** -1er comptage- typ_ctr avec REJET3 = %d ************",typ_ctr)
			REJET_860026377=3
		FINSI
	SINON
		T3G_portabilite_860026377 = 0
		CCD_860026377 =215
		#trace(" BDC passe 1 NOK ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR")
		#trace(" T3G_portabilite FAUX cause BDC NOK")
	FINSI
	#trace("APRES APPEL BDC 1")

	SI (T3G_portabilite_860026377 == 1)
	ALORS
		# remise de la vraie valeur par defaut du CCD pour symphonie avant 2nd appel BDC
		CCD_860026377 = 215
		# il faut renormaliser en enlevant T3G
		erreur_860026377=i_get_art_str(g_iartin,$TdevilCS::NDETR,pt_BUF_860026377)
		#trace2(" T3G_portabilite VRAI donc il faut renormaliser <%s>",pt_BUF,"")
		longueur_860026377 = g_iartin.NDETR!NELEM*4
		#trace1("  longueur avec T3G <%d>",longueur)
		longueur_860026377 = (g_iartin.NDETR!NELEM - 5)*4
		#trace1("  longueur sans T3G <%d>",longueur)
		erreur_860026377 = i_supp_quart_num($TdevilCS::NDETR, 0, 5, 0x0f, g_iartin, g_iartin)
		erreur_860026377 = i_resize_tlv(g_iartin, "T4detr", "NDETR", longueur_860026377)
	FINSI

	#CODCIR
	CODCIR_860026377 = g_icopo.SUP[RES_CODCIR_860026377]

	########################################################################################################
	# Normalisation de IDUS et DEDE
	# en fait seconde normalisation uniquement si T3G_portabilite car NDE a change
	# (NDE = prefixe de portabilite + NDE), normalisation avec NDE sans prefixe
	########################################################################################################

	SI ( ( IDUS_INF_860026377 == 0x80 ) && ( T3G_portabilite_860026377 == 1 ) )
	ALORS
		erreur_860026377 = i_normal(g_iartin, $TdevilCS::DETR, $TdevilCS::DETR, g_icopo, $Tcopo::NDE ,$Tcopo::NDE ,3 , "BIDON", "DEVIL_NDE")
		erreur_860026377 = i_memcpy_art_field_n(g_icopo, $Tcopo::NDR, "**00", 5)
	SINON
		SAUT FIN_COMPTAGE
	FINSI
#FINSI

########################################################################################################
# Appel base de comptage
# 		 : un i_comptage NOK ce n est plus grave mais attention CCD
#		   Le CCD peut etre connu meme sans BNC
########################################################################################################

#G4R4 Lot2
#SI (EFFICACE && (IDUS_INF == 0x80) )
SI ( (IDUS_INF_860026377 == 0x80) )
ALORS
	# Initialisation de l'interface "proc_copo"

	g_icopo.TAXE   = 0
	g_icopo.CREDIT = 0
	erreur_860026377 = i_set_art_date(g_icopo,date_860026377)
	g_icopo.DUREE  = duree_860026377
	g_icopo.CODE   = CODE_ARTICLE_860026377
	g_icopo.CATEG  = CATEG_860026377
	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_860026377 = i_comptage(g_icopo,BASE_860026377,date_860026377)
	SI (erreur_860026377)
	ALORS
		#trace(" i_comptage NOK on laisse passer mais attention CCD")
		CCD_860026377 = 215
		#FAL IMPORTANT CCD 215 OU 255 dans ce cas ...
	SINON
		########################################################################################################
		# recuperation du code classe destination
		########################################################################################################

		CCD_860026377 = g_icopo.SUP[RES_CLDEST_860026377]
		#trace1(" CCD de BDC 0x<%x>",CCD)
		#TYPE DE REJET : evolution pour REJET3 (119 appel enfance maltraitee)
		typ_ctr_860026377 = g_icopo.SUP[RES_TYPCTR_860026377]
		#trace1("******** -2eme comptage- typ_ctr = %d ************",typ_ctr)
		SI typ_ctr_860026377 == CPT_REJET3_860026377
		ALORS
			#trace1("******** -2eme comptage- typ_ctr = %d ************",typ_ctr)
			REJET_860026377=3
		FINSI

		#CODCIR
		CODCIR_860026377 = g_icopo.SUP[RES_CODCIR_860026377]
	FINSI
SINON
	#trace(" pas appel BDC car on sait que CCD = 0xFF et retour NOK BDC sans importance")
	CCD_860026377 = 215
FINSI

POINT FIN_COMPTAGE




############################################################################
# Controles DC envoye uniquement a symphonie
############################################################################

#DRE G4R3 lot2 
#---------------------------------
# Recherche DEDE dans table NDIL pour filtrage NDR
#---------------------------------
SI ( i_valid_field_n(g_iartin, $TdevilCS::DETR_NUM) )
ALORS
        erreur_860026377 = i_get_art_str(g_icopo,$Tcopo::NDE,pt_TEMP_860026377)
        lgr_860026377 = i_conv_ascii_dcb(pt_TEMP_860026377, pt_BUF_860026377)
	i_strcpy(pt_v_masque_860026377, i_get_tab_field("NDIL", gmt_date_860026377, pt_BUF_860026377))
	SI (i_strcmp(pt_v_masque_860026377,"") != 0 )
	ALORS
		b_DEDE_N_FILTRE_860026377 = 1
		#G4R6 QC815
		erreur_860026377=i_AjouterCouranteECC(instSYMP_860026377)
		SAUT ENVOI_SYMPHO

	FINSI
FINSI

#\DRE G4R3 lot2 

########################################################################################################
# pt_CS_CPL_FAISCEAU=Concatenation de pt_FAISCINT et pt_FAISCOUT et recuperation
# la valeur correspondant a l'application a facturer pour le faisceau entrant et sortant.
########################################################################################################

SI(i_strcmp(pt_CS_CPL_FAISCEAU_860026377,"")!=0)
ALORS
	#trace2("Appel inter cle ING<%s>",pt_CS_CPL_FAISCEAU,"")
	# ICI lecture de la table externe Ing callserver recuperer l'appli a facturer pour FCint
	# ICI lecture de la table externe Ing callserver recuperer l'appli a facturer pour FCout
	i_strcpy(pt_Val_iecc_860026377, ICOM_860026233("INg", pt_CS_CPL_FAISCEAU_860026377, dpivot_860026377))
	#trace2("Resultat inter val <%s>",pt_Val_iecc,"")

	SI ( i_strcmp(pt_Val_iecc_860026377,"ERR") == 0 )
	ALORS
		i_strcpy( pt_Val_iecc_860026377,"000000")
	FINSI

	SI ( ( !i_strplcmp(pt_Val_iecc_860026377,"100",0,3) || !i_strplcmp(pt_Val_iecc_860026377,"100",3,3) ) && REJET_860026377 != 3 )
	ALORS
		SI EFFICACE_860026377
		ALORS
			#trace1("  ENTROPI (ENTREFF) <%d> sera alimente", instENTREFF)
#DRE G4R6 QC815
			b_ENTREFF_860026377 = 1
#			erreur=i_AjouterCouranteECC(instENTREFF)
		SINON
			#trace1("  ENTROPI (ENTRINEF) <%d> sera alimente", instENTRINEF)
#DRE G4R6 QC815
			b_ENTRINEF_860026377 = 1
#			erreur=i_AjouterCouranteECC(instENTRINEF)
		FINSI		
	FINSI

	########################################################################################################
	# 	test aiguillage vers CENTAUREIP		# 
	########################################################################################################

#DRE G4R6 Lot3 mise en conformite avec spec
#	SI ( !(i_strplcmp(pt_Val_iecc,"200",0,3))  && EFFICACE && REJET != 3 )
	SI ( ( !(i_strplcmp(pt_Val_iecc_860026377,"200",0,3)) || !(i_strplcmp(pt_Val_iecc_860026377,"200",3,3)) )  && EFFICACE_860026377 && REJET_860026377 != 3 )
	ALORS
		#trace1("  CENTIP <%d> sera alimente", instCENTIP)
#DRE G4R6 QC815
		b_CENTIP_860026377 = 1
#		erreur = i_AjouterCouranteECC(instCENTIP)
		#SINON
		# trace1("  ************** CENTIP <%d> n'est PAS alimente ***************", instCENTIP)
	FINSI

FINSI


#####################################################################
# 	              Traitement C+S (CPS) table ALICE
#####################################################################
#DRE G4R6 lot3 

SI ( b_CENTIP_860026377 == 1 )
ALORS
# DRE G4R6 QC815
#	SI (typ_ctr==CPT_CPS_Loc)
	SI (typ_ctr_860026377==CPT_CPS_Loc_860026377 || typ_ctr_860026377==CPT_CPS_RI_860026377)
	ALORS
		
		i_strcpy(pt_TEMP_860026377, i_get_tab_field( "TDATCPS", gmt_date_860026377, C_DATCPS_860026377 ))
	
		erreur_860026377 = i_set_art_str (g_iartout10,$Conversion::DATE_STR,pt_TEMP_860026377)
		Date_CPS_860026377 = i_get_art_field(g_iartout10, $Conversion::DATE_ASC)
		
		ddebut_860026377 = i_get_art_field(g_iartin,$TdevilCS::ddebut)
		SI ddebut_860026377 < Date_CPS_860026377
		ALORS
			erreur_860026377 = i_format_str2(pt_MESSAGE_860026377," AR <%s> avec date DC inferieure a la date d'activation <%s> de la facturation CPS",pt_NORM_860026377,pt_TEMP_860026377)
			code_errone_860026377 = 0xA082
			erreur_860026377 = i_PlvMessEmettre( 8599, 1, g_iartout,"", 3,code_errone_860026377, C_Article_860026377, pt_MESSAGE_860026377 )
			SAUT ELIMINE_EXP
		SINON
			#######################################
			#  Soumission de la requete de consultation d'une table de distribution ALICE
			#######################################
			SI i_strplcmp (pt_NORM_860026377,"0",0,1) == 0
			ALORS
				i_get_sub_str(pt_NORM_860026377,1,-1,pt_NORM_860026377) 	
			FINSI
			longueur_860026377 = i_conv_ascii_dcb (pt_NORM_860026377, pt_TEMP_860026377)
			SI (i_EnvoiReqConsTabDist( TD_SVA_860026377,gmt_date_860026377,pt_TEMP_860026377,longueur_860026377,0,1) != 0)
			ALORS
				#trace("Erreur i_EnvoiReqConsTabDist ALICE")
				bREDIST_860026377 = 1
				i_strcpy(pt_LIBELREDIST_860026377,"Echec sur i_EnvoiReqConsTabDistDouble ALICE ")
			FINSI
			
			#######################################
			# Recherche de l'instance ECC ALICE
			#######################################
			instALICE_860026377 = i_LireInstanceECC(C_INST_ALICE_860026377)
			SI (!instALICE_860026377)
			ALORS
				#trace("Pas d'instance pour ALICE !")
				erreur_860026377 = i_PlvMessEmettre(8501,1,g_iartout,"",3,C_INST_ALICE_860026377,C_Article_860026377,g_ieec)
				SAUT DISTRI_ERR
			FINSI
			#trace1("instALICE  =<%d>",instALICE)	
	
			#######################################
			# Lecture Resultat requete ALICE
			#######################################
			erreur_860026377 = i_LireReqConsTabDist()
			#trace1("RETOUR i_LireReqConsTabDist retour requette ALICE, erreur=<%d>",erreur)
			SI ( erreur_860026377 != 0 )
			ALORS
				#trace1( "Erreur i_LireReqConsTabDist ALICE: <%d>", erreur)
				bREDIST_860026377 = 1
				i_strcpy(pt_LIBELREDIST_860026377,"Echec sur i_LireReqConsTabDistDouble ALICE ")
			FINSI
			val_860026377 = i_LireInfoECC( instALICE_860026377, 0 )
			
			i_strcpy(pt_TEMP_860026377,"")
			SI (val_860026377 != 0)
			ALORS
				# AR present dans ALICE
				erreur_860026377 = i_LireChaineInfo( val_860026377, 0, 4, pt_TEMP_860026377 )
				SI i_strcmp(pt_TEMP_860026377,"") != 0
				ALORS
					i_strcpy(pt_CODE_TARIF_860026377,pt_TEMP_860026377)
				SINON
					# info complementaire CODE_TARIF vide
					bREDIST_860026377 = 1
					erreur_860026377 = i_format_str2(pt_LIBELREDIST_860026377," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NORM_860026377,0)
				FINSI
				
				erreur_860026377 = i_LireChaineInfo( val_860026377, 4, 1, pt_TEMP_860026377 )
				SI i_strcmp(pt_TEMP_860026377,"") != 0
				ALORS
					i_strcpy(pt_TYPE_EDIT_860026377,pt_TEMP_860026377)
				SINON
					# info complementaire TYPE_EDIT vide
					bREDIST_860026377 = 1
					erreur_860026377 = i_format_str2(pt_LIBELREDIST_860026377," AR <%s> trouve dans LAR ALICE mais aucune info complementaire valorisee",pt_NORM_860026377,0)
				FINSI
			SINON
				bREDIST_860026377 = 1
				erreur_860026377 = i_format_str2(pt_LIBELREDIST_860026377," AR <%s> non trouve dans ALICE",pt_NORM_860026377,0)
			FINSI
		FINSI
	FINSI

FINSI

#DRE G4R6 QC815
#Envoi au appli si 1er passage

SI CPT_REDIST_860026377 == 0
ALORS
	erreur_860026377=i_AjouterCouranteECC(instSYMP_860026377)
	#trace1("instSYMP=<%d>",instSYMP)
	
	erreur_860026377=i_AjouterCouranteECC(instSPOT_860026377)
	#trace1("instSPOT=<%d>",instSPOT)
	
	SI (b_DIST_CASPER_860026377)
	ALORS
		erreur_860026377=i_AjouterCouranteECC(instCASPER_860026377)
	FINSI
	
	SI b_ENTREFF_860026377 == 1
	ALORS
		erreur_860026377=i_AjouterCouranteECC(instENTREFF_860026377)
	FINSI
	
	SI b_ENTRINEF_860026377 == 1
	ALORS
		erreur_860026377=i_AjouterCouranteECC(instENTRINEF_860026377)
	FINSI
FINSI

SI ( bREDIST_860026377 == 0 && b_CENTIP_860026377 == 1 )
ALORS
	erreur_860026377 = i_AjouterCouranteECC(instCENTIP_860026377)
FINSI

#\DRE G4R6 QC815





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

#
########################################################################################################
# 	Mise au format pour ENTROPI (ENTREFF ou ENTRINEF
########################################################################################################

SI ( !i_ChercherCouranteECC(instENTREFF_860026377) || !i_ChercherCouranteECC(instENTRINEF_860026377) )
ALORS
	#trace("Duplication vers ENTROPI")
	i_strcpy(pt_eccfact_860026377,"ENTROPI")

	# Duplication de l article
	SI ( i_dup_art_dest(g_iartin,g_iartout2,C_Tentr102_860026377) )
	ALORS
		#trace("Erreur de i_dup_art_dest")
		code_errone_860026377 = 0xA0D0
		code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
		erreur_860026377 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026377,C_Tentr102_860026377,C_Article_860026377)
		SAUT  DISTRI_ERR
	FINSI

	# creation et remplissage de l'enveloppe
	erreur_860026377 = i_add_opt( "EnomEEC" )
	erreur_860026377 = i_set_attr_val_n ( $EnomEEC::EFFICACE, EFFICACE_860026377)

	#T1, T2, CDNR, IDUS_AaF, DEDE_INF, DUREE, CTISI_CD, NBRE, TYPAP_ABC, TYPAP_F, TYPAP_G, FIN voir table de duplication

	# champ DATE
	res_860026377 = i_get_art_field(g_iartin,$TdevilCS::ddebut)
	erreur_860026377 = i_set_art_field(g_iartout2,$Tentr102::DATE,res_860026377  )

	# IDUS_GH
	SI (i_valid_field_n(g_iartin, $TdevilCS::IDUS_INF))
	ALORS
		res_860026377 = i_get_art_field(g_iartin,$TdevilCS::IDUS_INF)
		SI (res_860026377 == 2)
		ALORS
			VAL_860026377 = 1
		SINON
			SI (res_860026377 == 1)
			ALORS
				VAL_860026377 = 2
			SINON
				SI (res_860026377 == 0)
				ALORS
					VAL_860026377 = 3
				SINON
					SI (res_860026377 == 115)
					ALORS
						VAL_860026377 = 4
					SINON
						SI (res_860026377 == 116)
						ALORS
							VAL_860026377 = 5
						SINON
							SI (res_860026377 == 117)
							ALORS
								VAL_860026377 = 6
							SINON
								SI (res_860026377 == 7)
								ALORS
									VAL_860026377 = 7
								FINSI
							FINSI
						FINSI
					FINSI
				FINSI
			FINSI
		FINSI
		erreur_860026377 = i_set_art_field(g_iartout2, $Tentr102::IDUS_GH, VAL_860026377)
	FINSI

	# IDUS_NUM
	SI (i_valid_field_n(g_iartin, $TdevilCS::IDUS_NUM))
	ALORS
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::IDUS_NUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout2, $Tentr102::IDUS_NUM, pt_BUF_860026377)
	FINSI

	# CAUSE_CODE
	res_860026377 = 000
	SI ( i_valid_field_n(g_iartin, $TdevilCS::INEF) )
	ALORS
		res_860026377 = i_get_art_field(g_iartin,$TdevilCS::INEF)
	FINSI
	erreur_860026377 = i_set_art_field(g_iartout2, $Tentr102::CAUSE_CODE, res_860026377)


	# DEDE_NUM
	SI (i_strcmp(pt_DETRnum1_860026377,g_inull) != 0)
	ALORS
		erreur_860026377 = i_set_art_str(g_iartout2, $Tentr102::DEDE_NUM, pt_DETRnum1_860026377)
	FINSI

	# CTISI_GH
	SI (i_valid_field_n(g_iartin, $TdevilCS::SUP))
	ALORS
		res_860026377 = i_get_art_field(g_iartin,$TdevilCS::SUP)
		SI (res_860026377 == 0)
		ALORS
			VAL_860026377 = 1
		SINON
			SI (res_860026377 == 3)
			ALORS
				VAL_860026377 = 2
			SINON
				SI (res_860026377 == 2)
				ALORS
					VAL_860026377 = 3
				FINSI
			FINSI
		FINSI
		erreur_860026377 = i_set_art_field(g_iartout2, $Tentr102::CTISI_GH, VAL_860026377)
	FINSI

	# NDES_NUM
	SI ( i_valid_field_n(g_iartin, $TdevilCS::DETR_NUM) )
	ALORS
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::DETR_NUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout2, $Tentr102::NDES_NUM, pt_BUF_860026377)
	FINSI

	# NDES_Nat
	SI (i_valid_field_n(g_iartin, $TdevilCS::DETR_INF))
	ALORS
		res_860026377 = i_get_art_field(g_iartin,$TdevilCS::DETR_INF)
		SI (res_860026377 == 2)
		ALORS
			VAL_860026377 = 0
		SINON
			SI (res_860026377 == 3)
			ALORS
				VAL_860026377 = 1
			SINON
				SI (res_860026377 == 1)
				ALORS
					VAL_860026377 = 2
				SINON
					SI (res_860026377 == 0)
					ALORS
						VAL_860026377 = 3
					SINON
						SI (res_860026377 == 115)
						ALORS
							VAL_860026377 = 4
						SINON
							SI (res_860026377 == 116)
							ALORS
								VAL_860026377 = 5
							SINON
								SI (res_860026377 == 117)
								ALORS
									VAL_860026377 = 6
								SINON
									SI (res_860026377 == 7)
									ALORS
										VAL_860026377 = 7
									FINSI
								FINSI
							FINSI
						FINSI
					FINSI
				FINSI
			FINSI
		FINSI
		erreur_860026377 = i_set_art_field(g_iartout2, $Tentr102::NDES_Nat, VAL_860026377)
	FINSI

	# PREFPORT
	erreur_860026377 = i_set_art_str(g_iartout2, $Tentr102::PREFPORT, pt_PREFPORT_860026377)

	# TYPAP_DE
	# VAL deja calcule pour NDES_Nat
	erreur_860026377 = i_set_art_field(g_iartout2, $Tentr102::TYPAP_DE, VAL_860026377)

	# SGTQS
	erreur_860026377 = i_set_art_str(g_iartout2,$Tentr102::SGTQS, pt_SGTQS_860026377)

	# FAISCENT
	SI ( i_valid_field_n(g_iartin, $TdevilCS::FSENT))
	ALORS
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::FSENT, pt_FAISCIN_860026377)
		i_get_sub_str(pt_FAISCIN_860026377, 0, 5, pt_FAISCIN_860026377)
		erreur_860026377 = i_set_art_str(g_iartout2,$Tentr102::FAISCENT,pt_FAISCIN_860026377)
	FINSI


	# FAISSORT
	SI ( i_valid_field_n(g_iartin, $TdevilCS::FSSORT))
	ALORS
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::FSSORT, pt_FAISCOUT_860026377)
		i_get_sub_str(pt_FAISCOUT_860026377, 0, 5, pt_FAISCOUT_860026377)
		erreur_860026377 = i_set_art_str(g_iartout2,$Tentr102::FAISSORT,pt_FAISCOUT_860026377)
	FINSI

	# FIN
	erreur_860026377 = i_set_art_field(g_iartout2, $Tentr102::FIN, 0x0A )
FINSI




########################################################################################################
# 	Mise au format pour CENTAUREIP	# G3R12 ajout de CentaureIP
########################################################################################################

SI ( !i_ChercherCouranteECC(instCENTIP_860026377) )
ALORS
	#trace("************************ Duplication vers CENTAUREIP ************************")
	i_strcpy(pt_eccfact_860026377,"CENTAURE")
	# Creation de l article
	SI ( i_cree_art(C_TcentaureIP_860026377, g_iartout4) )
	ALORS
		#trace("Erreur de i_cree_art")
		code_errone_860026377 = 0xA0D0
		code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
		erreur_860026377 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026377,C_TcentaureIP_860026377,C_Article_860026377)
		SAUT  DISTRI_ERR
	FINSI

	# TYPENR
	i_strcpy(pt_BUF_860026377, "C10")
	erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::TYPENR, pt_BUF_860026377)

	# ICAR (DATE)
	res_860026377 = i_get_art_field(g_iartin,$TdevilCS::ddebut)
	erreur_860026377 = i_set_art_field(g_iartout4,$TcentaureIP::DATE,res_860026377  )

	# DUREE
	res_860026377 = i_get_art_str(g_iartin,$TdevilCS::DUREE, pt_BUF_860026377)
	erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DUREE, pt_BUF_860026377)

	# IndRenv
	SI (i_valid_field_n(g_iartin, $TdevilCS::IndRenv))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::IndRenv)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::IndRenv, pt_BUF_860026377)
	FINSI

	# Calltype
	SI (i_valid_field_n(g_iartin, $TdevilCS::CallType))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::CallType)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::CallType, pt_BUF_860026377)
	FINSI

	# IDUSNAI
	SI (i_valid_field_n(g_iartin, $TdevilCS::IDUS_NAI))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::IDUS_NAI)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::IDUS_NAI, pt_BUF_860026377)
	FINSI

	# IDUSNbPlan
	SI (i_valid_field_n(g_iartin, $TdevilCS::IdusNbPlan))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::IdusNbPlan)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::IdusNbPlan, pt_BUF_860026377)
	FINSI

	# IDUSIndRedir
	SI (i_valid_field_n(g_iartin, $TdevilCS::IdusIndRedir))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::IdusIndRedir)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::IdusIndRedir, pt_BUF_860026377)
	FINSI

	# IDUSNUM
	SI (i_valid_field_n(g_iartin, $TdevilCS::IDUS_NUM))
	ALORS
		#G3R12 QC207
		#erreur = i_set_art_str(g_iartout4, $TcentaureIP::IDUS_NUM, pt_IDUS_NUM)
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::IDUS_NUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::IDUS_NUM, pt_BUF_860026377)
		# G3R12-QC192
	FINSI

	# IDUSINF
	SI (i_valid_field_n(g_iartin, $TdevilCS::IDUS_INF))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::IDUS_INF)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::IDUS_INF, pt_BUF_860026377)
	FINSI

	# LOCAL_NAI
	SI (i_valid_field_n(g_iartin, $TdevilCS::LocIdusNAI))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::LocIdusNAI)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::LOCAL_NAI, pt_BUF_860026377)
	FINSI

	# LocalIdusNbPlan
	SI (i_valid_field_n(g_iartin, $TdevilCS::LocIdusNbPlan))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::LocIdusNbPlan)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::LocalNbPlan, pt_BUF_860026377)
	FINSI

	# LocIDUSNUM
	SI (i_valid_field_n(g_iartin, $TdevilCS::LocIDUS_NUM))
	ALORS
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::LocIDUS_NUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::LocIDUS_NUM, pt_BUF_860026377)
		# G3R12-QC192
	FINSI

	# DEDENAI
	SI (i_valid_field_n(g_iartin, $TdevilCS::DEDE_NAI))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DEDE_NAI)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DEDE_NAI, pt_BUF_860026377)
	FINSI

	# DEDENbPlan
	SI (i_valid_field_n(g_iartin, $TdevilCS::DedeNbPlan))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DedeNbPlan)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DedeNbPlan, pt_BUF_860026377)
	FINSI

	# DEDENUM
	SI (i_valid_field_n(g_iartin, $TdevilCS::DEDE_NUM))
	ALORS
		erreur_860026377 = i_get_art_str(g_iartin, $TdevilCS::DEDE_NUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DEDE_NUM, pt_BUF_860026377)
	FINSI

	# DEDEINF
	SI (i_valid_field_n(g_iartin, $TdevilCS::DEDE_INF))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DEDE_INF)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DEDE_INF, pt_BUF_860026377)
	FINSI

	# DestNAI
	SI (i_valid_field_n(g_iartin, $TdevilCS::DEST_NAI))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DEST_NAI)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DEST_NAI, pt_BUF_860026377)
	FINSI

	# DestNbPlan
	SI (i_valid_field_n(g_iartin, $TdevilCS::DestNbPlan))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DestNbPlan)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DestNbPlan, pt_BUF_860026377)
	FINSI

	# DETRNUM
	SI (i_valid_field_n(g_iartin, $TdevilCS::DETR_NUM))
	ALORS
		res_860026377 = i_get_art_str(g_iartin, $TdevilCS::DETR_NUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DETR_NUM, pt_BUF_860026377)
		# G3R12-QC192
	FINSI

	# DETRINF
	SI (i_valid_field_n(g_iartin, $TdevilCS::DETR_INF))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DETR_INF)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DETR_INF, pt_BUF_860026377)
	FINSI

	# CallingPartyCateg
	SI (i_valid_field_n(g_iartin, $TdevilCS::CallingPartyCat))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::CallingPartyCat)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::CallingPartyCat, pt_BUF_860026377)
	FINSI

	# SUP
	SI (i_valid_field_n(g_iartin, $TdevilCS::SUP))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::SUP)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::SUP, pt_BUF_860026377)
	FINSI

	# ReroutInf
	SI (i_valid_field_n(g_iartin, $TdevilCS::ReroutInf))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::ReroutInf)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::ReroutInf, pt_BUF_860026377)
	FINSI

	# IncomingPort
	SI (i_valid_field_n(g_iartin, $TdevilCS::IncomingPort))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::IncomingPort)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -4, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::IncomingPort, pt_BUF_860026377)
	FINSI

	# OutgoingPort
	SI (i_valid_field_n(g_iartin, $TdevilCS::OutgoingPort))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::OutgoingPort)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -4, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::OutgoingPort, pt_BUF_860026377)
	FINSI

	# Incoming POP
	SI (i_valid_field_n(g_iartin, $TdevilCS::IncomingPOP))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::IncomingPOP)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::IncomingPOP, pt_BUF_860026377)
	FINSI

	# OutgoingPOP
	SI (i_valid_field_n(g_iartin, $TdevilCS::OutgoingPOP))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::OutgoingPOP)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::OutgoingPOP, pt_BUF_860026377)
	FINSI

	# Outgoingmodule
	SI (i_valid_field_n(g_iartin, $TdevilCS::Outgoingmod))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::Outgoingmod)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::Outgoingmod, pt_BUF_860026377)
	FINSI

	# CIC
	SI (i_valid_field_n(g_iartin, $TdevilCS::CIC))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::CIC)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::CIC, pt_BUF_860026377)
	FINSI

	# SourceIP
	SI (i_valid_field_n(g_iartin, $TdevilCS::SourceIP))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::SourceIP)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -8, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::SourceIP, pt_BUF_860026377)
	FINSI

	# DestIP
	SI (i_valid_field_n(g_iartin, $TdevilCS::DestIP))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DestIP)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -8, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DestIP, pt_BUF_860026377)
	FINSI

	# DurInterPh
	SI (i_valid_field_n(g_iartin, $TdevilCS::DurInterPh))
	ALORS
		res_860026377 = i_get_art_str(g_iartin,$TdevilCS::DurInterPh, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DurInterPh, pt_BUF_860026377)
	FINSI

	# FSENT
	SI (i_valid_field_n(g_iartin, $TdevilCS::FSENT))
	ALORS
		res_860026377 = i_get_art_str(g_iartin,$TdevilCS::FSENT, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::FSENT, pt_BUF_860026377)
	FINSI

	# FSSORT
	SI (i_valid_field_n(g_iartin, $TdevilCS::FSSORT))
	ALORS
		res_860026377 = i_get_art_str(g_iartin,$TdevilCS::FSSORT, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::FSSORT, pt_BUF_860026377)
	FINSI

	# DelCLIIDUSNAI
	SI (i_valid_field_n(g_iartin, $TdevilCS::DelCLIIDUSNAI))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DelCLIIDUSNAI)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DelCLIIDUSNAI, pt_BUF_860026377)
	FINSI

	# DelCLIIDUSNbPlan
	SI (i_valid_field_n(g_iartin, $TdevilCS::DelCLIIDUSPlan))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DelCLIIDUSPlan)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DelCLIIDUSPlan, pt_BUF_860026377)
	FINSI

	# DelCLIIDUSPubpriv
	SI (i_valid_field_n(g_iartin, $TdevilCS::DelCLIIDUSPubpr))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::DelCLIIDUSPubpr)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DelCLIIDUSPubpr, pt_BUF_860026377)
	FINSI

	# DelCLIIDUSNUM
	SI (i_valid_field_n(g_iartin, $TdevilCS::DelCLIIDUSNUM))
	ALORS
		res_860026377 = i_get_art_str(g_iartin, $TdevilCS::DelCLIIDUSNUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::DelCLIIDUSNUM, pt_BUF_860026377)
		# G3R12-QC192
	FINSI

	# OCNDEDENAI
	SI (i_valid_field_n(g_iartin, $TdevilCS::OCNDEDENAI))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::OCNDEDENAI)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::OCNDEDENAI, pt_BUF_860026377)
	FINSI

	# OCNDEDENbPlan
	SI (i_valid_field_n(g_iartin, $TdevilCS::OCNDEDENbPlan))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::OCNDEDENbPlan)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::OCNDEDENbPlan, pt_BUF_860026377)
	FINSI

	# OCNDEDENUM
	SI (i_valid_field_n(g_iartin, $TdevilCS::OCNDEDENUM))
	ALORS
		res_860026377 = i_get_art_str(g_iartin, $TdevilCS::OCNDEDENUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::OCNDEDENUM, pt_BUF_860026377)
		# G3R12-QC192
	FINSI

	# RDNInfRedirNAI
	SI (i_valid_field_n(g_iartin, $TdevilCS::RDNInfRedirNAI))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::RDNInfRedirNAI)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::RDNInfRedirNAI, pt_BUF_860026377)
	FINSI

	# RDNInfRedirNbPlan
	SI (i_valid_field_n(g_iartin, $TdevilCS::RDNInfRedirNbPl))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::RDNInfRedirNbPl)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::RDNInfRedirNbPl, pt_BUF_860026377)
	FINSI

	# RDNInfRedirNUM
	SI (i_valid_field_n(g_iartin, $TdevilCS::RDNInfRedirNUM))
	ALORS
		res_860026377 = i_get_art_str(g_iartin, $TdevilCS::RDNInfRedirNUM, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::RDNInfRedirNUM, pt_BUF_860026377)
		# G3R12-QC192
	FINSI

	# CallEchoDevice
	SI (i_valid_field_n(g_iartin, $TdevilCS::CallEchoDevice))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::CallEchoDevice)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))
		i_get_sub_str(pt_BUF_860026377, -2, -1, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::CallEchoDevice, pt_BUF_860026377)
	FINSI

	# NetwkCallID
	SI (i_valid_field_n(g_iartin, $TdevilCS::NetwkCallID))
	ALORS
		res_860026377 = i_get_art_str(g_iartin, $TdevilCS::NetwkCallIDD, pt_BUF_860026377)
		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::NetwkCallID, pt_BUF_860026377)
		# G3R12-QC192
	FINSI

	# NbPulses
	#QC574
	SI (i_valid_field_n(g_iartin, $TdevilCS::NbPulses))
	ALORS
		res_860026377 = i_get_art_field(g_iartin, $TdevilCS::NbPulses)
		i_strcpy(pt_BUF_860026377, num_hex_str_860026233(res_860026377))

		i_strcpy(pt_cle_860026377,"")

		i_get_sub_str(	pt_BUF_860026377,6,7,pt_val_860026377)
		i_strcpy(pt_cle_860026377,pt_val_860026377) 

		i_get_sub_str(	pt_BUF_860026377,4,5,pt_val_860026377)
		erreur_860026377 = i_format_str2(pt_cle_860026377,"%s%s",pt_cle_860026377,pt_val_860026377)


		i_get_sub_str(	pt_BUF_860026377,2,3,pt_val_860026377)
		erreur_860026377 = i_format_str2(pt_cle_860026377,"%s%s",pt_cle_860026377,pt_val_860026377)

		i_get_sub_str(	pt_BUF_860026377,0,1,pt_val_860026377)
		erreur_860026377 = i_format_str2(pt_cle_860026377,"%s%s",pt_cle_860026377,pt_val_860026377)

		res_860026377 = i_get_val_num(pt_cle_860026377, 8, 11)

		erreur_860026377 = i_set_art_field(g_iartout10,$Conversion::numHEXA,res_860026377)

		res_860026377 = i_get_art_str(g_iartout10,$Conversion::numHEXA, pt_BUF_860026377)
#		res = i_get_art_str(g_iartin,$TdevilCS::NbPulses, pt_BUF)

		erreur_860026377 = i_set_art_str(g_iartout4, $TcentaureIP::NbPulses, pt_BUF_860026377)
	FINSI

	# SGTQS
	erreur_860026377 =i_set_art_str(g_iartout4,$TcentaureIP::SGTQS, pt_SGTQS_860026377)
	

# DRE G4R6 Lot3

	# TYPE_EDIT
	erreur_860026377=i_set_art_str(g_iartout4, $TcentaureIP::TYPE_EDIT, pt_TYPE_EDIT_860026377)
	
	# CODE_TARIF
	erreur_860026377=i_set_art_str(g_iartout4, $TcentaureIP::CODE_TARIF, pt_CODE_TARIF_860026377)
# \DRE G4R6 lot3

	
	
FINSI


########################################################################################################
# 	Mise au format pour SPOT
########################################################################################################
SI( !i_ChercherCouranteECC(instSPOT_860026377) )
ALORS
	#trace("duplication Vers SPOT")
	SI ( i_valid_field_n(g_iartin,$TdevilCS::T3ace))
	ALORS
		erreur_860026377 = i_supprChamp(g_iartin,"T3ace")
	FINSI

	erreur_860026377 = i_dup_art(g_iartin, C_TspotTdevilCS_860026377, g_iartout6)
	SI (erreur_860026377)
	ALORS
		#trace1("ERREUR de duplication vers SPOT : %d",erreur)
		code_errone_860026377 = 0xA0D0
		code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
		erreur_860026377 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026377,C_TspotTdevilCS_860026377,C_Article_860026377)
		SAUT DISTRI_ERR
	FINSI

	#---------------------------------------------------------------------------------
	# Complements SPOT
	#---------------------------------------------------------------------------------
	# Champ SGTQS
	erreur_860026377 = i_ajoutChampNum(g_iartout6,$TspotTdevilCS::T4sgtqs,$TspotTdevilCS::SGTQS,0)
	erreur_860026377=i_set_art_str(g_iartout6,$TspotTdevilCS::SGTQS, pt_SGTQS_860026377)
FINSI


########################################################################################################
# 	Mise au format pour CASPER 	G3R15
########################################################################################################

#DRE G4R6 QC815
#SI (b_DIST_CASPER)
SI( !i_ChercherCouranteECC(instCASPER_860026377) )
ALORS
	#trace("duplication Vers CASPER")
	SI ( i_valid_field_n(g_iartin,$TdevilCS::T3ace))
	ALORS
		erreur_860026377 = i_supprChamp(g_iartin,"T3ace")
	FINSI

	erreur_860026377 = i_dup_art(g_iartin, C_TcasperTdevilCS_860026377, g_iartout8)
	SI (erreur_860026377)
	ALORS
		#trace1("ERREUR de duplication vers CASPER : %d",erreur)
		code_errone_860026377 = 0xA0D0
		code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
		erreur_860026377 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026377,C_TcasperTdevilCS_860026377,C_Article_860026377)
		SAUT DISTRI_ERR
	FINSI

	#---------------------------------------------------------------------------------
	# Complements CASPER
	#---------------------------------------------------------------------------------
	
	# ***************** Champ SGTQS *********************************************************
	erreur_860026377 = i_ajoutChampNum(g_iartout8,$TcasperTdevilCS::T4sgtqs,$TcasperTdevilCS::SGTQS,6)
	erreur_860026377=i_set_art_str(g_iartout8,$TcasperTdevilCS::SGTQS, pt_SGTQS_860026377)

	# ***************** CODCIR (g_iartout10, $Conversion num hexa /tab hexa) *****************
	SI CODCIR_860026377 != -1
	ALORS
		#trace(">>>__LINE__>>>__FILE__>>> CODCIR est valide")
		i_strcpy(pt_BUF_860026377,"")
		erreur_860026377 = i_set_art_field(g_iartout10, $Conversion::CODCIRDR, CODCIR_860026377)
		erreur_860026377 = i_get_art_str(g_iartout10, $Conversion::CODCIRDA,pt_BUF_860026377)

		SI (g_iartout10.CODCIRDA[2] > 9)
		ALORS
			i_get_sub_str(pt_BUF_860026377,2,5,pt_BUF_860026377)
		SINON
			i_get_sub_str(pt_BUF_860026377,1,5,pt_BUF_860026377)
		FINSI
		erreur_860026377=i_set_art_str(g_iartout8, $TcasperTdevilCS::CODCIR, pt_BUF_860026377)
	SINON
		erreur_860026377=i_set_art_str(g_iartout8, $TcasperTdevilCS::CODCIR, " ")
	FINSI

	erreur_860026377=i_set_art_str(g_iartout8, $TcasperTdevilCS::CODCIRDR, " ")
FINSI


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

SI( !i_ChercherCouranteECC( instSPOT_860026377 ) )
ALORS
	res_860026377 = i_stocke_art_iecc(g_iartout6, instSPOT_860026377)
	#trace1("retour de i_stocke_art_iecc pour SPOT : %d",res)
FINSI

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

SI( !i_ChercherCouranteECC( instCASPER_860026377 ) )
ALORS
	res_860026377 = i_stocke_art_iecc(g_iartout8, instCASPER_860026377)
	#trace1("retour de i_stocke_art_iecc pour CASPER : %d",res)
FINSI

#G4R4 lot2
#-------------------------------------------------------------------------
# ENTROPI (ENTREFF)
#-------------------------------------------------------------------------

SI( !i_ChercherCouranteECC( instENTREFF_860026377 ) )
ALORS
	res_860026377 = i_stocke_art_iecc(g_iartout2, instENTREFF_860026377)
	#trace1("retour de i_stocke_art_iecc pour ENTREFF : %d",res)
FINSI

#G4R4 lot2
#-------------------------------------------------------------------------
# ENTROPI (ENTRINEF)
#-------------------------------------------------------------------------

SI( !i_ChercherCouranteECC( instENTRINEF_860026377 ) )
ALORS
	res_860026377 = i_stocke_art_iecc(g_iartout2, instENTRINEF_860026377)
	#trace1("retour de i_stocke_art_iecc pour ENTRINEF : %d",res)
FINSI
#
#---------------------------------------------------------------------------
# CENTAUREIP
#---------------------------------------------------------------------------

SI( !i_ChercherCouranteECC( instCENTIP_860026377 ) ) 
ALORS
	res_860026377 = i_stocke_art_iecc(g_iartout4, instCENTIP_860026377)
	#trace1("******* Retour de i_stocke_art_iecc pour CENTIP : %d ******",res)
FINSI



POINT ENVOI_SYMPHO
#trace("point envoi_sympho")

########################################################################################################
# 	Mise au format pour Symphonie
########################################################################################################

SI( !i_ChercherCouranteECC(instSYMP_860026377) )
ALORS
	#trace("duplication Vers SYMPHONIE")

	SI ( i_valid_field_n(g_iartin,$TdevilCS::T3ace))
	ALORS
		erreur_860026377 = i_supprChamp(g_iartin,"T3ace")
	FINSI

	erreur_860026377 = i_dup_art(g_iartin, C_TsymTdevilCS_860026377, g_iartout)
	SI (erreur_860026377)
	ALORS
		#trace1("ERREUR de duplication vers SYMPHONIE : %d",erreur)
		code_errone_860026377 = 0xA0D0
		code_errone_860026377 = code_errone_860026377 + EFFICACE_860026377
		erreur_860026377 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026377,C_TsymTdevilCS_860026377,C_Article_860026377)
		SAUT DISTRI_ERR
	FINSI

	erreur_860026377 = i_supprChamp(g_iartout,"T3codeec")
	#trace1("retour i_supprChamp pour T3codeec : %d",erreur)

	#---------------------------------------------------------------------------------
	# Complements SYMPHONIE
	#---------------------------------------------------------------------------------

	# Champ NDR
	#DRE G4R3 lot2 
	SI b_DEDE_N_FILTRE_860026377
	ALORS
	#	masquer demandeur
		erreur_860026377 = i_format_str2(pt_TEMP_860026377,"%s%s",pt_v_masque_860026377,pt_v_masque_860026377)
		lgr_860026377 = i_conv_ascii_dcb(pt_TEMP_860026377, pt_BUF_860026377)
#DRE G4R3 QC743
		SI ( i_valid_field_n(g_iartout, $TsymTdevilCS::IDUS_NUM) )
		ALORS
			erreur_860026377 = i_memcpy_art_field_n(g_iartout,$TsymTdevilCS::IDUS_NUM,pt_BUF_860026377, lgr_860026377)
			erreur_860026377 = i_resize_tlv( g_iartout, "T3idusnum", "IDUS_NUM", lgr_860026377 * 4 )
		FINSI
		SI ( i_valid_field_n(g_iartout, $TsymTdevilCS::DelCLIIDUSNUM) )
		ALORS
			erreur_860026377 = i_memcpy_art_field_n(g_iartout,$TsymTdevilCS::DelCLIIDUSNUM,pt_BUF_860026377, lgr_860026377)
			erreur_860026377 = i_resize_tlv( g_iartout, "T3DelCLIIDUSNUM", "DelCLIIDUSNUM", lgr_860026377 * 4 )
		FINSI
	FINSI
	#\DRE G4R3 lot2 

	# Champ CCD
	SI ( !i_valid_field_n(g_iartout, $TsymTdevilCS::T4ccd) )
	ALORS
		erreur_860026377 = i_ajoutChampNum(g_iartout,$TsymTdevilCS::T4ccd,$TsymTdevilCS::CCD,0)
	FINSI
	erreur_860026377 = i_set_art_field(g_iartout,$TsymTdevilCS::CCD, CCD_860026377)

	# Champ SGTQS
	erreur_860026377 = i_ajoutChampNum(g_iartout,$TsymTdevilCS::T4sgtqs,$TsymTdevilCS::SGTQS,0)
	erreur_860026377=i_set_art_str(g_iartout,$TsymTdevilCS::SGTQS, pt_SGTQS_860026377)

	# Champ ECC_FACT
	erreur_860026377 = i_ajoutChampNum(g_iartout,$TsymTdevilCS::T4eccfact,$TsymTdevilCS::ECC_FACT,0)
	erreur_860026377=i_set_art_str(g_iartout,$TsymTdevilCS::ECC_FACT,pt_eccfact_860026377)

	# Champ EFFICACITE
	erreur_860026377 = i_ajoutChampNum(g_iartout,$TsymTdevilCS::T4efficacite,$TsymTdevilCS::EFFICACITE,0)
	erreur_860026377=i_set_art_field(g_iartout,$TsymTdevilCS::EFFICACITE,EFFICACE_860026377)

	# DATE_LOCALE : Creation du champ uniquement si DOM
	SI( DOM_860026377 == 1 )
	ALORS
		erreur_860026377 = i_ajoutChampNum(g_iartout, $TsymTdevilCS::T4date_locale, $TsymTdevilCS::DATE_LOCALE,0)
		erreur_860026377 = i_set_art_field(g_iartout, $TsymTdevilCS::DATE_LOCALE, HLAHM1_860026377)
	SINON
		erreur_860026377 = i_supprChamp(g_iartin, "T4date_locale")
	FINSI

# DRE G4R6 Lot3
	# TYPE_EDIT
	SI i_strcmp(pt_TYPE_EDIT_860026377," ") != 0
	ALORS
		erreur_860026377 = i_ajoutChampNum(g_iartout, $TsymTdevilCS::T4type_edit,$TsymTdevilCS::TYPE_EDIT,0)
		erreur_860026377=i_set_art_str(g_iartout, $TsymTdevilCS::TYPE_EDIT, pt_TYPE_EDIT_860026377)
	FINSI

	# CODE_TARIF
	SI i_strcmp(pt_CODE_TARIF_860026377,"    ") != 0
	ALORS
		erreur_860026377 = i_ajoutChampNum(g_iartout, $TsymTdevilCS::T4code_tarif,$TsymTdevilCS::CODE_TARIF,0)
		erreur_860026377=i_set_art_str(g_iartout, $TsymTdevilCS::CODE_TARIF, pt_CODE_TARIF_860026377)
	FINSI
# \DRE G4R6 Lot3

	#---------------------------------------------------------------------------------
	# Envoi a symphonie
	#---------------------------------------------------------------------------------

	res_860026377 = i_stocke_art_iecc(g_iartout, instSYMP_860026377)
	#trace1("retour de i_stocke_art_iecc pour SYMPH : %d",res)

FINSI

########################################################################################################
# 	Test envoi en redistribution
########################################################################################################

#DRE G4R6 lot3
SI bREDIST_860026377 == 1
ALORS
	SAUT REDIST
FINSI

#\DRE G4R6 lot3



RETOUR TRAIT_OK

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

POINT DISTRI_ERR

res_860026377=i_make_art_rej(g_iartin, g_iartout, code_errone_860026377)
res_860026377=i_stocke_art(g_iartout,0,PT_ERRONE,0)
trace1("************************ Retour de i_stocke_art pour ERRONE : %d ***************************",res_860026377)

RETOUR TRAIT_OK

# DRE G4R6 lot3
############################################################################
# Stockage en REDISTRIBUTION
############################################################################

POINT REDIST

# On emet le message d erreur uniquement au 1er passage
SI (CPT_REDIST_860026377 == 0)
ALORS
	erreur_860026377 = i_PlvMessEmettre(8503, 2, g_iartin, "", 3, pt_LIBELREDIST_860026377, C_Article_860026377, pt_SGTQS_860026377)
FINSI

res_860026377 = i_stocke_art(g_iartin, 0, PT_REDIST|RD_TABLE1, 0)

RETOUR TRAIT_OK

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

POINT ELIMINE_EXP

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

RETOUR TRAIT_OK

# \DRE G4R6 lot3

#-------------------------- Fin TdevilCS_dis.src -------------------------------------
