DEFINITION CPT_660003390 1501
DEFINITION CPT_1533_660003390 1533
DEFINITION INCREMENT_660003390 1
DEFINITION ERR_SYNTAX_660003390 0x070
DEFINITION MODULE_TRAIT_660003390 0x5000
DEFINITION ERR_SEM_660003390 0x040
REGISTRE ENTIER res_660003390
REGISTRE ENTIER erreur_660003390
REGISTRE ENTIER ERREUR_660003390
REGISTRE ENTIER code_rejet_660003390
REGISTRE ENTIER MODULE_660003390
REGISTRE ENTIER EFFICACE_660003390
REGISTRE ENTIER v_roleOfNode_660003390
REGISTRE ENTIER X_660003390
################################################################################
#
#   Treatement Pcode of TprimsVoLTE :  TprimsVoLTE.src
#
# history :
#   Creation le 02/12/2014  en G5R3 lot3
#
#
################################################################################


trace(" ======================================")
trace(" | [TprimsVoLTE] Treatement module    |")
trace(" ======================================")



EFFICACE_660003390 = 1
MODULE_660003390 = MODULE_TRAIT_660003390
ERREUR_660003390 = 0
code_rejet_660003390 = 0




#Test controle unitaire sur les champs

#Test controle unitaire sur les champs
erreur_660003390 = i_dup_art_id(g_iartin , g_iartout12)


#controle valeur correcte du champ callStartTime
res_660003390 = i_get_art_field(g_iartin,$TprimsVoLTE::callStartTime)

SI (res_660003390 == -1)
ALORS
	trace("[TprimsVoLTE Trait] Erreur TprimsVoLTE CDR, callStartTime incorrect")
  	ERREUR_660003390 = ERR_SYNTAX_660003390
 	code_rejet_660003390 = MODULE_660003390 + ERREUR_660003390 + EFFICACE_660003390
 	erreur_660003390=i_PlvMessEmettre(6670, 2, g_iartout12, "", 2, code_rejet_660003390, "callStartTime", 0)
 	SAUT ERREUR_CDR
FINSI

#controle presence du champ callStatus et de son contenu
res_660003390 = i_get_art_field(g_iartin, $TprimsVoLTE::callStatus)  
SI (res_660003390 !=0 && res_660003390 !=1)
ALORS
  ERREUR_660003390 = ERR_SEM_660003390
  code_rejet_660003390 = MODULE_660003390 + ERREUR_660003390 + EFFICACE_660003390
  erreur_660003390=i_PlvMessEmettre(6671, 2, g_iartout12, "", 2, code_rejet_660003390, "status", 0)
  trace1("[TprimsVoLTE Trait] Erreur TprimsVoLTE CDR, status=<0x%x>, valeurs attendues == 0 ou 1", res_660003390)
  SAUT ERREUR_CDR
FINSI

#controle presence du champ roleOfNode et de son contenu
v_roleOfNode_660003390 = i_get_art_field(g_iartin, $TprimsVoLTE::roleOfNode)
SI (v_roleOfNode_660003390 !=0 && v_roleOfNode_660003390 !=1)
ALORS
  ERREUR_660003390 = ERR_SEM_660003390
  code_rejet_660003390 = MODULE_660003390 + ERREUR_660003390 + EFFICACE_660003390
  erreur_660003390=i_PlvMessEmettre(6672, 2, g_iartout12, "", 2, code_rejet_660003390, "roleOfNode", 0)
  trace1("[TprimsVoLTE Trait] Erreur TprimsVoLTE CDR, roleOfNode=<0x%x>, valeurs attendues == 0 ou 1", v_roleOfNode_660003390)
  SAUT ERREUR_CDR
FINSI

#Filtrage vers les elimines des cras TprimsVoLTE Terminating

SI ( i_get_art_field(g_iartin, $TprimsVoLTE::roleOfNode) == 1)
ALORS
     	SAUT STOCKE_DIV
 
FINSI

#Test controle unitaire sur les champs fait par le binaire


 ###############################
 # increment du compteur 1501
 ###############################

SI (v_roleOfNode_660003390 == 0)
ALORS
  X_660003390 = 0x00


# CPT : 1501
# X : type d'appel
# Y : g_ieec
# Z : 0
# date : date audit 

	erreur_660003390 = i_incr_cpt(CPT_660003390, X_660003390, g_ieec, 0, i_DHgetLocalTime(4, 7, i_date_audit()), INCREMENT_660003390)
FINSI

 ###############################
 # increment du compteur 1533 4G
 ###############################

SI (v_roleOfNode_660003390 == 0)
ALORS
  X_660003390 = 0x00


# CPT : 1533
# X : type d'appel
# Y : g_ieec
# Z : 0
# date : date audit 

	erreur_660003390 = i_incr_cpt( CPT_1533_660003390, X_660003390, g_ieec, 0, i_DHgetLocalTime(4, 7, i_date_audit()), INCREMENT_660003390)

FINSI


trace("[TprimsVoLTE Trait] CDR stored OK")
erreur_660003390 = i_stocke_art(g_iartin, 0, PT_OK, 0)
RETOUR TRAIT_OK





########################################################
# Stockage en Elimine Divers
########################################################

POINT STOCKE_DIV
trace( "[TprimsVoLTE] Pcode de traitement   Stockage en DIVERS" )
erreur_660003390 = i_stocke_art( g_iartin, 0, PT_DIVERS, 0 )
RETOUR TRAIT_OK

####################################################################
# Stockage en errone (Cas ou il y a des erreurs dans l article)
####################################################################
POINT ERREUR_CDR
erreur_660003390 = i_make_art_rej(g_iartout12, g_iartout11, code_rejet_660003390)
erreur_660003390 = i_stocke_art(g_iartout11, 0, PT_ERRONE, 0)
trace("[TprimsVoLTE Trait] ERREUR TprimsVoLTE CDR , end of treatement")
RETOUR TRAIT_OK
#--------------- Fin  TprimsVoLTE.src -------------------
