DEFINITION C_Article_860026274 "TvoipGS"
DEFINITION C_InstSYMP_860026274 "SYMP"
DEFINITION C_TsymTvoipGS_860026274 "TsymTvoipGS"
DEFINITION C_InstAFDB_860026274 "AFDB"
DEFINITION C_Tafdb_860026274 "Tafdb"
REGISTRE ENTIER instSYMP_860026274
REGISTRE ENTIER erreur_860026274
REGISTRE ENTIER res_860026274
REGISTRE ENTIER code_errone_860026274
REGISTRE ENTIER duree_860026274
REGISTRE ENTIER status_860026274
REGISTRE ENTIER dpivot_860026274
REGISTRE ENTIER CCD_860026274
REGISTRE ENTIER EFFICACE_860026274
REGISTRE ENTIER instAFDB_860026274
REGISTRE POINTEUR pt_SGTQS_860026274
REGISTRE POINTEUR pt_eccfact_860026274
REGISTRE POINTEUR pt_BUF_860026274
REGISTRE POINTEUR pt_codeEEC_860026274
#################################################################
#       Pcode de distribution TvoipGS
#
#
# HISTORIQUE
# 18/06/2008 - RHE - Creation
# 20/03/2009 - JLG - G3R13 ITEM : VoiP GS : Alimentation de l'application aval AFDB
################################################################

# Definitions
#G3R13, G3R10Cy

# Declarations
#G3R13, G3R10Cy


#g_iartout	-> TsymTvoipGS
#g_iartout2	-> Tafdb

##################################################################################
# Initialisations
##################################################################################

instSYMP_860026274	 = -1
code_errone_860026274 	 = 0
duree_860026274 = 0
status_860026274 = 0
CCD_860026274		 = 0
EFFICACE_860026274 = 0
#G3R13, G3R10Cy
instAFDB_860026274	= -1

pt_SGTQS_860026274	 = "12345678901212345"
pt_eccfact_860026274	 = "45678901234567890"
pt_BUF_860026274		 = "8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989"
pt_codeEEC_860026274	 = "7777777777777777777777777777777777777777777777777777777777777777777777777777777777"

##################################################################################
# Variable fonctionelle EFFICACE
##################################################################################
duree_860026274 = i_get_art_field(g_iartin,$TvoipGS::DUREE)
status_860026274 = i_get_art_field(g_iartin,$TvoipGS::STATUS)
SI ( ((status_860026274 == 1) || (status_860026274 == 6)) && (duree_860026274 != 0) )
ALORS
	EFFICACE_860026274 = 1
FINSI

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

dpivot_860026274 = i_get_art_field( g_iartin, $dpivot )
SI ( dpivot_860026274 == -1 )
ALORS
	code_errone_860026274 = 0xA080
	code_errone_860026274 = code_errone_860026274 + EFFICACE_860026274
	erreur_860026274 = i_PlvMessEmettre( 8600, 2, g_iartin,"", 3,code_errone_860026274, C_Article_860026274, "dpivot" )
	SAUT DISTRI_ERR
FINSI
erreur_860026274 = i_get_art_str(g_iartin, $TvoipGS::CodeEEC, pt_codeEEC_860026274)

i_get_sub_str(pt_codeEEC_860026274,0,22,pt_codeEEC_860026274)
erreur_860026274 = i_format_str2(pt_BUF_860026274,"%s%s","INl",pt_codeEEC_860026274)
#trace2(">>>__LINE__>>>__FILE__>>> appel avec pt_BUF : %s",pt_BUF,"")

i_strcpy(pt_SGTQS_860026274, i_get_tab_field("Inter",dpivot_860026274,pt_BUF_860026274))
SI (!i_strcmp(pt_SGTQS_860026274,g_inull))
ALORS
	# trace2( ">>>__LINE__>>>__FILE__>>> ERREUR: CodeEEC <%s> non trouve dans la table externe Inter",pt_BUF, "" )
	i_strcpy(pt_SGTQS_860026274,"")
FINSI
#trace2(">>>__LINE__>>>__FILE__>>> resultat de la table externe Inter=%s", pt_SGTQS, "")


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

# SYMPHONIE
instSYMP_860026274=i_LireInstanceECC(C_InstSYMP_860026274)
SI (!instSYMP_860026274)
ALORS
	#trace(">>>__LINE__>>>__FILE__>>> Pas d'instance pour SYMP !")
	code_errone_860026274 = 0xA0B0
	code_errone_860026274 = code_errone_860026274 + EFFICACE_860026274
	erreur_860026274 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026274,C_InstSYMP_860026274,C_Article_860026274)
	SAUT DISTRI_ERR
FINSI
erreur_860026274=i_AjouterCouranteECC(instSYMP_860026274)
#trace1(">>>__LINE__>>>__FILE__>>> instSYMP=<%d>",instSYMP)

#G3R13, G3R10Cy
# AFDB
instAFDB_860026274=i_LireInstanceECC(C_InstAFDB_860026274)
SI (!instAFDB_860026274)
ALORS
	#trace(">>>__LINE__>>>__FILE__>>> Pas d'instance pour AFDB !")
	code_errone_860026274 = 0xA0B0
	code_errone_860026274 = code_errone_860026274 + EFFICACE_860026274
	erreur_860026274 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026274,C_InstAFDB_860026274,C_Article_860026274)
	SAUT DISTRI_ERR
FINSI
erreur_860026274=i_AjouterCouranteECC(instAFDB_860026274)
#trace1(">>>__LINE__>>>__FILE__>>> instAFDB=<%d>",instAFDB)

##################################################################################
# Validation de la liste des ECCs destinataires
##################################################################################

erreur_860026274=i_ValiderListeECC( 0, 0, 0, 0)

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

SI( !i_ChercherCouranteECC(instSYMP_860026274) )
ALORS
	#trace(">>>__LINE__>>>__FILE__>>> duplication Vers SYMPHONIE")

	erreur_860026274 = i_dup_art(g_iartin, C_TsymTvoipGS_860026274, g_iartout)
	SI (erreur_860026274)
	ALORS
		#trace1(">>>__LINE__>>>__FILE__>>> ERREUR de duplication vers SYMPHONIE : %d",erreur)
		code_errone_860026274 = 0xA0D0
		code_errone_860026274 = code_errone_860026274 + EFFICACE_860026274
		erreur_860026274 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026274,C_TsymTvoipGS_860026274,C_Article_860026274)
		SAUT DISTRI_ERR
	FINSI

	erreur_860026274 = i_supprChamp(g_iartout,"T3codeec")
	#trace1(">>>__LINE__>>>__FILE__>>> retour i_supprChamp pour T3codeec : %d",erreur)

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

  CCD_860026274 = 0xff
  i_strcpy(pt_eccfact_860026274, " ")

	# Champ CCD
	erreur_860026274 = i_ajoutChampNum(g_iartout,$TsymTvoipGS::T4ccd,$TsymTvoipGS::CCD,0)
	erreur_860026274 = i_set_art_field(g_iartout,$TsymTvoipGS::CCD, CCD_860026274)

	# Champ SGTQS
	erreur_860026274 = i_ajoutChampNum(g_iartout,$TsymTvoipGS::T4sgtqs,$TsymTvoipGS::SGTQS,0)
	erreur_860026274=i_set_art_str(g_iartout,$TsymTvoipGS::SGTQS, pt_SGTQS_860026274)

	# Champ ECC_FACT
	erreur_860026274 = i_ajoutChampNum(g_iartout,$TsymTvoipGS::T4eccfact,$TsymTvoipGS::ECC_FACT,0)
	erreur_860026274=i_set_art_str(g_iartout,$TsymTvoipGS::ECC_FACT,pt_eccfact_860026274)
	
	# Champ EFFICACITE
	erreur_860026274 = i_ajoutChampNum(g_iartout,$TsymTvoipGS::T4efficacite,$TsymTvoipGS::EFFICACITE,0)
	erreur_860026274=i_set_art_field(g_iartout,$TsymTvoipGS::EFFICACITE,EFFICACE_860026274)
	
FINSI

##################################################################################
# Mise au format pour AFDB  (G3R13)
##################################################################################

SI( !i_ChercherCouranteECC(instAFDB_860026274) )
ALORS
	#trace(">>>__LINE__>>>__FILE__>>> duplication Vers AFDB")

	erreur_860026274 = i_dup_art(g_iartin, C_Tafdb_860026274, g_iartout2)
	SI (erreur_860026274)
	ALORS
		#trace1(">>>__LINE__>>>__FILE__>>> ERREUR de duplication vers AFDB : %d",erreur)
		code_errone_860026274 = 0xA0D0
		code_errone_860026274 = code_errone_860026274 + EFFICACE_860026274
		erreur_860026274 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026274,C_Tafdb_860026274,C_Article_860026274)
		SAUT DISTRI_ERR
	FINSI
	#G3R13 : T3codeec est transmis
	##erreur = i_supprChamp(g_iartout2,"T3codeec")
	##trace1(">>>__LINE__>>>__FILE__>>> retour i_supprChamp pour T3codeec : %d",erreur)

	#---------------------------------------------------------------------------------
	# Complements AFDB
	#---------------------------------------------------------------------------------

	# Champ SGTQS
	erreur_860026274 = i_ajoutChampNum(g_iartout2,$Tafdb::T4sgtqs,$Tafdb::SGTQS,0)
	erreur_860026274=i_set_art_str(g_iartout2,$Tafdb::SGTQS, pt_SGTQS_860026274)
	# Champ icar
	erreur_860026274 = i_ajoutChampNum(g_iartout2,$Tafdb::T4icar,$Tafdb::icar,0)
	erreur_860026274=i_set_art_field(g_iartout2,$Tafdb::icar, i_get_art_field(g_iartin,$TvoipGS::DATE))
	# Champ bidtime pas transmis en G3R13 alors qu'en G3R10Cy l'etait
	##erreur = i_ajoutChampNum(g_iartout2,$Tafdb::T4bidtime,$Tafdb::bidtime,0)
	##erreur=i_set_art_field(g_iartout2,$Tafdb::bidtime, i_get_art_field(g_iartin,$TvoipGS::BIDTIME))
	
FINSI

#-------------------------------------------------------------------------
# SYMPHONIE (G3R13)
#-------------------------------------------------------------------------
SI( !i_ChercherCouranteECC( instSYMP_860026274 ) )
ALORS
	res_860026274 = i_stocke_art_iecc(g_iartout, instSYMP_860026274)
	#trace1(">>>__LINE__>>>__FILE__>>> retour de i_stocke_art_iecc pour SYMPH : %d",res)
FINSI

# RETOUR TRAIT_OK continuons avec AFDB

#-------------------------------------------------------------------------
# AFDB
#-------------------------------------------------------------------------
SI( !i_ChercherCouranteECC( instAFDB_860026274 ) )
ALORS
	res_860026274 = i_stocke_art_iecc(g_iartout2, instAFDB_860026274)
	#trace1(">>>__LINE__>>>__FILE__>>> retour de i_stocke_art_iecc pour AFDB : %d",res)
FINSI

RETOUR TRAIT_OK

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

POINT DISTRI_ERR

res_860026274=i_make_art_rej(g_iartin, g_iartout, code_errone_860026274)
res_860026274=i_stocke_art(g_iartout,0,PT_ERRONE,0)
#trace1(">>>__LINE__>>>__FILE__>>> retour de i_stocke_art pour ERRONE : %d",res)
RETOUR TRAIT_OK

#-------------------------- Fin TvoipGS_dist.src -------------------------------------
