DEFINITION CPT_3G_780042449 1504   
DEFINITION MODULE_TRAIT_780042449 0x5000
DEFINITION ERR_SEM_780042449 0x040
DEFINITION ERR_DATE_780042449 0x060
DEFINITION ERR_SYNTAX_780042449 0x070
DEFINITION ERR_CROISE_780042449 0x0F0
REGISTRE ENTIER gsmTlSrv_780042449
REGISTRE ENTIER gsmBrSrv_780042449
REGISTRE ENTIER erreur_780042449
REGISTRE ENTIER NumCpt_780042449
REGISTRE ENTIER code_rejet_780042449
REGISTRE ENTIER EFFICACE_780042449
REGISTRE ENTIER MODULE_780042449
REGISTRE ENTIER ERREUR_780042449
####################################################################
#				Tterm_nss9_tr.src
#				Appel Entrant MET NSS9
####################################################################
#				article CRA MET ASN1 Tterm_nss9
#
#	AE 02/09/05	Creation
# 20/01/11 - G3R1 lot4 Verification/Correction des variables (constantes, entiers, pointeurs)
# 
####################################################################










trace("Tterm_nss9 : Debut Traitement ")
# Initialisations

EFFICACE_780042449 = 1
MODULE_780042449 = MODULE_TRAIT_780042449
ERREUR_780042449 = 0
code_rejet_780042449 = 0

NumCpt_780042449 = 1501

#####################################################################
# Controle syntaxique de l'article
#####################################################################

erreur_780042449 = i_get_art_field(g_iartin,$Tterm_nss9::DATE)
SI (erreur_780042449 == -1)
ALORS
	trace("Tterm_nss9 : Le champ DATE n'a pas un bon format => ERRONE")

	ERREUR_780042449 = ERR_DATE_780042449
	code_rejet_780042449 = MODULE_780042449 + ERREUR_780042449 + EFFICACE_780042449

	erreur_780042449 = i_PlvMessEmettre(8391,2,g_iartin,"",2, code_rejet_780042449,"DATE",0)
	SAUT STOCKE_ERRONE
FINSI

erreur_780042449 = i_test_field_ila_off_n(g_iartin, $Tterm_nss9::calledNumber, "Lrnis", 1)
SI erreur_780042449
ALORS
	trace("Tterm_nss9 : Le champ calledNb presente une syntaxe erronee")

	ERREUR_780042449 = ERR_SYNTAX_780042449
	code_rejet_780042449 = MODULE_780042449 + ERREUR_780042449 + EFFICACE_780042449

	erreur_780042449 = i_PlvMessEmettre(8392,2,g_iartin,"",3, code_rejet_780042449,"calledNumber","Lrnis")
	SAUT STOCKE_ERRONE
FINSI

#
# Test automatique du CRA (voir fichier "artobj.asn1") 
#
erreur_780042449 = i_test_art(g_iartin)
SI erreur_780042449
ALORS
	trace("Tterm_nss9 : Test auto article Tterm_nss9")

	ERREUR_780042449 = ERR_SYNTAX_780042449
	code_rejet_780042449 = MODULE_780042449 + ERREUR_780042449 + EFFICACE_780042449

	erreur_780042449 = i_PlvMessEmettre(8393,2,g_iartin,"",1, code_rejet_780042449,0,0)
	SAUT STOCKE_ERRONE
FINSI

#
# Test syntaxique champ "localisation". Format MAP
#

erreur_780042449 = i_test_field_ila_n(g_iartin,$Tterm_nss9::1stCalledLocIf,"Lmap")
SI (erreur_780042449 != 0)
ALORS
	trace("Tterm_nss9 : Erreur champ localisation format MAP")

	ERREUR_780042449 = ERR_SYNTAX_780042449
	code_rejet_780042449 = MODULE_780042449 + ERREUR_780042449 + EFFICACE_780042449

	erreur_780042449 = i_PlvMessEmettre(8392,2,g_iartin,"",3, code_rejet_780042449,"calledNumber","Lmap")
	SAUT STOCKE_ERRONE
FINSI

#####################################################################
# Controle semantique de l'article
#####################################################################

## OGA 309 : 1stRdioChnlUsed = 0 ou 1 sinon ERRONE
SI (i_valid_field_n(g_iartin, $Tterm_nss9::1stRdioChnlUsed) == 1)
ALORS
	erreur_780042449 = i_get_art_field(g_iartin, $Tterm_nss9::1stRdioChnlUsed)
	SI( (erreur_780042449 != 0) && (erreur_780042449 != 1) )
	ALORS
		trace("Tterm_nss9 : Erreur champ 1stRdioChnlUsed")

		ERREUR_780042449 = ERR_SEM_780042449
		code_rejet_780042449 = MODULE_780042449 + ERREUR_780042449 + EFFICACE_780042449

		erreur_780042449 = i_PlvMessEmettre(8390,2,g_iartin,"",2, code_rejet_780042449,"1stRdioChnlUsed", 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI
## /OGA 309

## ano 3034 : TransparencyIndicator = 0 ou 1 sinon ERRONE
SI (i_valid_field_n(g_iartin, $Tterm_nss9::transIndicator) == 1)
ALORS
	erreur_780042449 = i_get_art_field(g_iartin, $Tterm_nss9::transIndicator)
	SI( (erreur_780042449 != 0) && (erreur_780042449 != 1) )
	ALORS
		trace("Tterm_nss9 : Erreur champ transIndicator")
		ERREUR_780042449 = ERR_SEM_780042449
		code_rejet_780042449 = MODULE_780042449 + ERREUR_780042449 + EFFICACE_780042449
		erreur_780042449 = i_PlvMessEmettre(8390,2,g_iartin,"",3, code_rejet_780042449,"transIndicator", 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI
## /ano 3034
## ano 3034 : disconnectParty = 0 ou 1 ou 2 sinon ERRONE
SI (i_valid_field_n(g_iartin, $Tterm_nss9::disconnectParty) == 1)
ALORS
	erreur_780042449 = i_get_art_field(g_iartin, $Tterm_nss9::disconnectParty)
	SI( (erreur_780042449 != 0) && (erreur_780042449 != 1) && (erreur_780042449 != 2) )
	ALORS
		trace("Tterm_nss9 : Erreur champ disconnectParty")
		ERREUR_780042449 = ERR_SEM_780042449
		code_rejet_780042449 = MODULE_780042449 + ERREUR_780042449 + EFFICACE_780042449
		erreur_780042449 = i_PlvMessEmettre(8390,2,g_iartin,"",3, code_rejet_780042449,"disconnectParty", 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI
## /ano 3034

#
# Retraitement de tlserv et svcsup. Si tlserv et svcsup sont
# renseignes => Erreur
#

gsmTlSrv_780042449 = i_get_art_field(g_iartin,$Tterm_nss9::teleServiceCode)
SI ((gsmTlSrv_780042449 & 0xFF) != 0xFF)
ALORS
  gsmBrSrv_780042449 = i_get_art_field(g_iartin,$Tterm_nss9::bearerSvcCode)
  SI ((gsmBrSrv_780042449 & 0xFF)!= 0xFF)
  ALORS
		trace3("Tterm_nss9 : Erreur gsmTlSrv <0x%x> et gsmBrSrv <0x%x> renseignes en meme temps", gsmTlSrv_780042449, gsmBrSrv_780042449,0)

		ERREUR_780042449 = ERR_CROISE_780042449
		code_rejet_780042449 = MODULE_780042449 + ERREUR_780042449 + EFFICACE_780042449

		erreur_780042449 = i_PlvMessEmettre(8394,2,g_iartin,"",3, code_rejet_780042449,"teleServiceCode","bearerSvcCode")
		SAUT STOCKE_ERRONE
	FINSI
FINSI

#
# FIN tests semantiques
#
erreur_780042449 = i_incr_cpt(NumCpt_780042449, 0x01, g_ieec, 0, i_DHgetLocalTime(4, 7, i_date_audit()), 1)

# ANO PVCS1887
# Incrementation du Compteur 3G si T3t24/rNCidOf1stRNC est present

SI(i_valid_field_n(g_iartin, $Tterm_nss9::rNCidOf1stRNC) )
ALORS
     erreur_780042449=i_incr_cpt(CPT_3G_780042449, 0x01 , g_ieec , 0, i_DHgetLocalTime(4, 7, i_date_audit()), 1)
FINSI

trace("Tterm_nss9 : Stockage Article OK => Fin de traitement")
erreur_780042449 = i_stocke_art(g_iartin,0,PT_OK,0)
RETOUR TRAIT_OK


POINT STOCKE_ERRONE
	trace("Tterm_nss9 : Stockage de l'article en ERRONE => Fin de traitement")

	erreur_780042449 = i_make_art_rej(g_iartin, g_iartout, code_rejet_780042449)
# /FE 54
	erreur_780042449 = i_stocke_art(g_iartout,0,PT_ERRONE,0)
	RETOUR TRAIT_OK
#------------------------------- fin Tterm_nss9_tr.src ----------------------------------
