DEFINITION CPT_840005323 1501
DEFINITION INCREMENT_840005323 1
DEFINITION MODULE_TRAIT_840005323 0x5000
DEFINITION ERR_SYNTAX_840005323 0x070
DEFINITION ERR_SEM_840005323 0x040
REGISTRE ENTIER erreur_840005323
REGISTRE ENTIER res_840005323
REGISTRE ENTIER v_roleOfNode_840005323
REGISTRE ENTIER X_840005323
REGISTRE ENTIER MODULE_840005323
REGISTRE ENTIER code_rejet_840005323
REGISTRE ENTIER EFFICACE_840005323
REGISTRE ENTIER ERREUR_840005323
################################################################################
#
#   Treatement Pcode of TprimsRCSe : TprimsRCSe_tr.src
#
# history :
#   Creation le 04/10/12 en G3R8 lot1
#
#
################################################################################





erreur_840005323 = 0
v_roleOfNode_840005323 = -1
X_840005323 = -1

EFFICACE_840005323 = 1
MODULE_840005323 = MODULE_TRAIT_840005323
ERREUR_840005323 = 0
code_rejet_840005323 = 0


trace(" ======================================")
trace(" | [TprimsRCSe] Treatement module    |")
trace(" ======================================")
#-----------------------------------------
# IF CDR Source != CSCF and != AS
#  Then CDR is erroneous
#-----------------------------------------


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

#controle valeur correcte du champ callStartTime
res_840005323 = i_get_art_field(g_iartin,$TprimsRCSe::callStartTime)
SI (res_840005323 == -1)
ALORS
  trace("[TprimsRCSe Trait] Erreur TprimsRCSe CDR, callStartTime incorrect")
  ERREUR_840005323 = ERR_SYNTAX_840005323
  code_rejet_840005323 = MODULE_840005323 + ERREUR_840005323 + EFFICACE_840005323
  erreur_840005323=i_PlvMessEmettre(6659, 2, g_iartout12, "", 2, code_rejet_840005323, "callStartTime", 0)
  SAUT ERREUR_CDR
FINSI

#controle presence du champ callStatus
res_840005323 = i_get_art_field(g_iartin, $TprimsRCSe::callStatus)  
SI (res_840005323 !=0 && res_840005323 !=1)
ALORS
  ERREUR_840005323 = ERR_SEM_840005323
  code_rejet_840005323 = MODULE_840005323 + ERREUR_840005323 + EFFICACE_840005323
  erreur_840005323=i_PlvMessEmettre(6660, 2, g_iartout12, "", 2, code_rejet_840005323, "status", 0)
  trace1("[TprimsRCSe Trait] Erreur TprimsRCSe CDR, status=<0x%x>, valeurs attendues == 0 ou 1", res_840005323)
  SAUT ERREUR_CDR
FINSI

#controle presence du champ roleOfNode
v_roleOfNode_840005323 = i_get_art_field(g_iartin, $TprimsRCSe::roleOfNode)
SI (v_roleOfNode_840005323 !=0 && v_roleOfNode_840005323 !=1)
ALORS
  ERREUR_840005323 = ERR_SEM_840005323
  code_rejet_840005323 = MODULE_840005323 + ERREUR_840005323 + EFFICACE_840005323
  erreur_840005323=i_PlvMessEmettre(6660, 2, g_iartout12, "", 2, code_rejet_840005323, "roleOfNode", 0)
  trace1("[TprimsRCSe Trait] Erreur TprimsRCSe CDR, roleOfNode=<0x%x>, valeurs attendues == 0 ou 1", v_roleOfNode_840005323)
  SAUT ERREUR_CDR
FINSI


#controle presence du champ callPrtAdr2Dat fait par l'artobj

#controle presence du champ DialledDigits  fait par l'artobj

#controles croises entre champs connus de larticle : neant

#controle de valorisation : neant

#presence de parametres inconnus fait par l'artobj

  ###############################
  # increment du compteur 1501
  ###############################
SI (v_roleOfNode_840005323 == 0)
ALORS
  X_840005323 = 0xB1
SINON
  SI (v_roleOfNode_840005323 == 1)
  ALORS
    X_840005323 = 0xB2
  FINSI
FINSI

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

erreur_840005323 = i_incr_cpt(CPT_840005323, X_840005323, g_ieec, 0, i_DHgetLocalTime(4, 7, i_date_audit()), INCREMENT_840005323)

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

####################################################################
# Stockage en errone (Cas ou il y a des erreurs dans l article)
####################################################################
POINT ERREUR_CDR
erreur_840005323 = i_make_art_rej(g_iartout12, g_iartout11, code_rejet_840005323)
erreur_840005323 = i_stocke_art(g_iartout11, 0, PT_ERRONE, 0)
trace("[TprimsRCSe Trait] ERREUR TprimsRCSe CDR , end of treatement")

RETOUR TRAIT_OK
#--------------- Fin  TprimsRCSe_tr.src -------------------
