DEFINITION INCREMENT_840005447 1
DEFINITION CPT_840005447 1501
DEFINITION CPT_3G_840005447 1504
DEFINITION CPT_4G_840005447 1533
DEFINITION MODULE_TRAIT_840005447 0x5000
DEFINITION ERR_DATE_840005447 0x060
DEFINITION ERR_SYNTAX_840005447 0x070
REGISTRE ENTIER erreur_840005447
REGISTRE ENTIER code_rejet_840005447
REGISTRE ENTIER EFFICACE_840005447
REGISTRE ENTIER MODULE_840005447
REGISTRE ENTIER ERREUR_840005447

# Pcode de traitement ToMsg_nss9_tr.src
#
# 18/01/11 - BEA - G3R1 lot4 Verification/Correction des variables (constantes, entiers, pointeurs)
# 25/10/2012 - JLG - G3R8 lot2 : CS Fallback, Localisation 4G
# ----------------------------------------------------------------------------
# Definition des constantes
#
#
# Compteurs par EEC
#



#
# Declarations des variables
#





trace("")
trace("**** ToMsg_nss9  Module de traitement - debut ****")

#
# Initialisation des variable
#
EFFICACE_840005447 = 1
MODULE_840005447 = MODULE_TRAIT_840005447
ERREUR_840005447 = 0
code_rejet_840005447 = 0

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

#
# test syntaxique du champ DATE
#
erreur_840005447 = i_get_art_field(g_iartin, $ToMsg_nss9::DATE)
SI (erreur_840005447 == -1)
ALORS
#	erreur = MESSTRAD0(DEST_JNL | DEST_TEEC,"ToMsg_nss9 : Le champ DATE n'a pas un bon format => ERRONE")
	trace("envoi ERRONE car DATE invalide")
	ERREUR_840005447 = ERR_DATE_840005447
	code_rejet_840005447 = MODULE_840005447 + ERREUR_840005447 + EFFICACE_840005447
	erreur_840005447 = i_PlvMessEmettre(8361,2,g_iartin,"",2, code_rejet_840005447,"DATE",0)
	SAUT STOCKE_ERRONE
FINSI

#
# Test de la syntaxe du champ heure
# le champ est exprimi en secondes, pas de test
#

#
# Test syntaxique champ "localisation" (1stCallingLocIf), format "Lmap"
#
erreur_840005447 = i_test_field_ila_n(g_iartin, $ToMsg_nss9::1stCallingLocIf,"Lmap")
SI (erreur_840005447 != 0)
ALORS
#	erreur = MESSTRAD0(DEST_JNL | DEST_TEEC,"ToMsg_nss9 : Erreur champ localisation format MAP")
	trace("envoi ERRONE car 1stCallingLocIf au mauvais format")
	ERREUR_840005447 = ERR_SYNTAX_840005447
	code_rejet_840005447 = MODULE_840005447 + ERREUR_840005447 + EFFICACE_840005447
	erreur_840005447 = i_PlvMessEmettre(8362,2,g_iartin,"",3, code_rejet_840005447,"1stCallingLocIf","Lmap")
	SAUT STOCKE_ERRONE
FINSI

#
# Test automatique du CRA 
#
erreur_840005447 = i_test_art(g_iartin)
SI erreur_840005447
ALORS
#	erreur = MESSTRAD0(DEST_JNL | DEST_TEEC,"Test auto : article ToMsg_nss9 errone")
	trace("envoi ERRONE : test automatique de l article")
	ERREUR_840005447 = ERR_SYNTAX_840005447
	code_rejet_840005447 = MODULE_840005447 + ERREUR_840005447 + EFFICACE_840005447
	erreur_840005447 = i_PlvMessEmettre(8363,2,g_iartin,"",1, code_rejet_840005447,0,0)
	SAUT STOCKE_ERRONE
FINSI

####################################################################
#	Fin controles syntaxiques
####################################################################


####################################################################
#	Controles semantiques
####################################################################

#	Aucun test semantique

####################################################################
#	Fin controles semantiques
####################################################################


#
# Mise a jour des compteurs
#

#erreur = i_inc_cpt_ioplv(g_ieec,TYPE_MsgCrtS,nj,IN_PLV)

trace("**** ToMsg_nss9  Module de traitement - FIN ****")

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

# compteur CPT=1501 pour les CRA type 00
trace1("ToMsg_nss9 : erreur=i_incr_cpt(CPT,X,Y,Z,date,INCREMENT)cpt=%d",CPT_840005447)
erreur_840005447=i_incr_cpt(CPT_840005447, 0x00, g_ieec, 0, i_DHgetLocalTime(4, 7, i_date_audit()), INCREMENT_840005447)

# compteur 3G, CPT_3G=1504 pour les CRA de type 00
SI (i_valid_field_n(g_iartin, $ToMsg_nss9::rNCidOf1stRNC) && !i_valid_field_n(g_iartin, $ToMsg_nss9::1stCgLocInfEx))
ALORS
	trace1("ToMsg_nss9 : erreur=i_incr_cpt(CPT_3G, 0, g_ieec, 0, date, 1)cpt=<%d>", CPT_3G_840005447)
	erreur_840005447=i_incr_cpt(CPT_3G_840005447, 0x00, g_ieec, 0, i_DHgetLocalTime(4, 7, i_date_audit()), INCREMENT_840005447)
FINSI

# compteur 4G, CPT_4G=1533 pour les CRA de type 00
SI (i_valid_field_n(g_iartin, $ToMsg_nss9::1stCgLocInfEx))
ALORS
   erreur_840005447=i_incr_cpt(CPT_4G_840005447, 0x00, g_ieec, 0, i_DHgetLocalTime(4, 7, i_date_audit()), INCREMENT_840005447)
FINSI

#
# Envoie d'article vers la distribution
#
erreur_840005447 = i_stocke_art(g_iartin,0,PT_OK,0)
RETOUR TRAIT_OK


#
#	Stockage en errone
#
POINT STOCKE_ERRONE
	erreur_840005447 = i_make_art_rej(g_iartin, g_iartout, code_rejet_840005447)
	erreur_840005447 = i_stocke_art(g_iartout,0,PT_ERRONE,0)
RETOUR TRAIT_OK
#--------------- Fin ToMsg_nss9_tr.src -------------------------------------
