DEFINITION MODULE_TRAIT_780042447 0x5000
DEFINITION ERR_SEM_780042447 0x040
DEFINITION ERR_DATE_780042447 0x060
DEFINITION ERR_SYNTAX_780042447 0x070
REGISTRE ENTIER erreur_780042447
REGISTRE ENTIER NumCpt_780042447
REGISTRE ENTIER code_rejet_780042447
REGISTRE ENTIER EFFICACE_780042447
REGISTRE ENTIER MODULE_780042447
REGISTRE ENTIER ERREUR_780042447
# P-code de traitement TrCFwd_nss9_tr.src
#
# 18/01/11 - BEA - G3R1 lot4 Verification/Correction des variables (constantes, entiers, pointeurs)
#---------------------------------------
# FE 54 ##
# /FE 54 ##

# FE 54 ##
# /FE 54 ##


#----------------------------------------------------------------
#                    MODULE DE TRAITEMENT 
# Appel Entrant Reachemines MET NSS9: Roaming Call Forwarding 
# Article CRA MET ASN1 => type DPV TLV = 05
#-----------------------------------------------------------------
	


#-------------- Debut des traitements TrCFwd_nss9  ---------------

trace("")
trace("**** [TRAIT] TrCFwd_nss9 : Debut traitement ****")

# Initialisations
# FE 54 ##
EFFICACE_780042447 = 1
MODULE_780042447 = MODULE_TRAIT_780042447
ERREUR_780042447 = 0
code_rejet_780042447 = 0
# /FE 54 ##
NumCpt_780042447 = 1501


############## Controle syntaxique de l article ###################
#-- test de presence du champ 
#---------- Test de la syntaxe du champ CallingPartyNumber -------
# (si le champ est present car il est optionnel)

erreur_780042447 = i_get_art_field(g_iartin, $TrCFwd_nss9::callingNumber -1 )

SI ( erreur_780042447 > 0 )
ALORS
	erreur_780042447 = i_test_field_ila_off_n(g_iartin,$TrCFwd_nss9::callingNumber, "Lrnis", 1)
	SI (erreur_780042447 )
	ALORS
		trace( "Le champ callingNumber presente une syntaxe erronee ")
# FE 54 ##
		ERREUR_780042447 = ERR_SYNTAX_780042447
		code_rejet_780042447 = MODULE_780042447 + ERREUR_780042447 + EFFICACE_780042447
# /FE 54 ##
		erreur_780042447 = i_PlvMessEmettre(8482,2,g_iartin,"",3, code_rejet_780042447,"callingNumber","RNIS")
                SAUT STOCKE_ERRONE
	FINSI
FINSI
#
#-------------- Test de la validite du champ Date ----------------------
#

erreur_780042447 = i_get_art_field(g_iartin, $TrCFwd_nss9::DATE)

SI (erreur_780042447 == -1)
ALORS
	trace(" Le champ Date n a pas un bon format ")
# FE 54 ##
	ERREUR_780042447 = ERR_DATE_780042447
	code_rejet_780042447 = MODULE_780042447 + ERREUR_780042447 + EFFICACE_780042447
# /FE 54 ##
	erreur_780042447 = i_PlvMessEmettre(8481,2,g_iartin,"",2, code_rejet_780042447,"DATE",0)
        SAUT STOCKE_ERRONE
FINSI


#
# ------------ Test automatique du CRA ---------------------------------
#

erreur_780042447 = i_test_art(g_iartin)
SI erreur_780042447
ALORS
  trace(" Test automatique : -> article errone ")
# FE 54 ##
	ERREUR_780042447 = ERR_SYNTAX_780042447
	code_rejet_780042447 = MODULE_780042447 + ERREUR_780042447 + EFFICACE_780042447
# /FE 54 ##
  erreur_780042447 = i_PlvMessEmettre(8483,2,g_iartin,"",1, code_rejet_780042447,0,0)
  SAUT STOCKE_ERRONE
FINSI

#
#----------- Test syntaxique champ "localisation" (format RNIS)  -------
#

erreur_780042447 = i_test_field_ila_n(g_iartin,$TrCFwd_nss9::mblStatRNb,"Lrnis")
SI (erreur_780042447 != 0)
ALORS
  trace(" Erreur champ localisation, format RNIS ")
# FE 54 ##
	ERREUR_780042447 = ERR_SYNTAX_780042447
	code_rejet_780042447 = MODULE_780042447 + ERREUR_780042447 + EFFICACE_780042447
# /FE 54 ##
  erreur_780042447 = i_PlvMessEmettre(8482,2,g_iartin,"",3, code_rejet_780042447,"mblStatRNb","RNIS")
  SAUT STOCKE_ERRONE
  
FINSI

#################### Fin tests syntaxiques ################################
	

#################### tests semantiques ###############################

## ano 3034 : disconnectParty = 0 ou 1 ou 2 sinon ERRONE
SI (i_valid_field_n(g_iartin, $TrCFwd_nss9::disconnectParty) == 1)
ALORS
	erreur_780042447 = i_get_art_field(g_iartin, $TrCFwd_nss9::disconnectParty)
	SI( (erreur_780042447 != 0) && (erreur_780042447 != 1) && (erreur_780042447 != 2) )
	ALORS
		trace("TrCFwd_nss9 : Erreur champ disconnectParty")
		ERREUR_780042447 = ERR_SEM_780042447
		code_rejet_780042447 = MODULE_780042447 + ERREUR_780042447 + EFFICACE_780042447
		erreur_780042447 = i_PlvMessEmettre(8480,2,g_iartin,"",2, code_rejet_780042447,"disconnectParty",0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI
## /ano 3034

#################### FIN tests semantiques ###############################

#
# ------------- Fin de traitement : OK -------------------
#

erreur_780042447 = i_stocke_art(g_iartin, 0, PT_OK, 0)
# incrementation du nombre de CRA en OK
erreur_780042447 = i_incr_cpt(NumCpt_780042447, 0x04, g_ieec, 0, i_DHgetLocalTime(4, 7, i_date_audit()), 1)
trace("**** TrCFwd_nss9 : Fin traitement OK ****")
RETOUR TRAIT_OK

#
#------------- Point de branchement :Stockage en errone ----
#

POINT STOCKE_ERRONE
trace("Stockage de l article en errone :TrCFwd_nss9")
# FE 54 ##
	erreur_780042447 = i_make_art_rej(g_iartin, g_iartout, code_rejet_780042447)
# /FE 54
	erreur_780042447 = i_stocke_art(g_iartout, 0, PT_ERRONE, 0)
trace( "Fin traitement Article TrCFwd_nss9 ERRONE " )
RETOUR TRAIT_OK

#-------------- fin traitements  TrCFwd_nss9_tr.src  ------------------
