DEFINITION INCREMENT_780042417 1
DEFINITION CPT_780042417 1501
DEFINITION TYPE_RENVOIM_780042417 0x02
DEFINITION TYPE_RENVOIG_780042417 0x06
DEFINITION MODULE_TRAIT_780042417 0x5000
DEFINITION ERR_SEM_780042417 0x040
DEFINITION ERR_DATE_780042417 0x060
DEFINITION ERR_SYNTAX_780042417 0x070
REGISTRE ENTIER erreur_780042417
REGISTRE ENTIER nbPulse_780042417
REGISTRE ENTIER type_cra_780042417
REGISTRE ENTIER X_780042417
REGISTRE ENTIER Y_780042417
REGISTRE ENTIER Z_780042417
REGISTRE ENTIER date_780042417
REGISTRE ENTIER pseudo_DPV_780042417
REGISTRE ENTIER code_rejet_780042417
REGISTRE ENTIER EFFICACE_780042417
REGISTRE ENTIER MODULE_780042417
REGISTRE ENTIER ERREUR_780042417
# TcFwd_nss9_tr.src
# 07/01/11 - BEA - G3R1 lot4 Verification/Correction des variables (constantes, entiers, pointeurs)

# Definition des constantes
#

#
# Compteurs par EEC
#
# FE 54 ##
# /FE 54 ##


#
# Declarations des variables
#


# FE 54 ##
# /FE 54 ##


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

#
# Initialisation des variables

# FE 54 ##
EFFICACE_780042417 = 1
MODULE_780042417 = MODULE_TRAIT_780042417
ERREUR_780042417 = 0
code_rejet_780042417 = 0
# /FE 54 ##

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

#
# Test de la syntaxe du champ DATE
#

erreur_780042417 = i_get_art_field(g_iartin, $TcFwd_nss9::DATE)

SI (erreur_780042417 == -1)
ALORS
	trace("TcFwd_nss9: envoi ERRONE car DATE invalide")
# FE 54 ##
	ERREUR_780042417 = ERR_DATE_780042417
	code_rejet_780042417 = MODULE_780042417 + ERREUR_780042417 + EFFICACE_780042417
# /FE 54 ##
	erreur_780042417 = i_PlvMessEmettre(8451,2,g_iartin,"",2, code_rejet_780042417,"DATE",0)
	SAUT STOCKE_ERRONE
FINSI

#
# Test de la syntaxe des champs heure et DUREE
#
#les 2 champs sont exprimis en secondes, pas de test


#
# Test de la syntaxe du champ CalledNumber, format RNIS
#

erreur_780042417 = i_test_field_ila_off_n(g_iartin, $TcFwd_nss9::calledNumber, "Lrnis", 1)
SI erreur_780042417 
ALORS
	trace("TcFwd_nss9 : envoi ERRONE car calledNumber syntaxe erronee")
# FE 54 ##
	ERREUR_780042417 = ERR_SYNTAX_780042417
	code_rejet_780042417 = MODULE_780042417 + ERREUR_780042417 + EFFICACE_780042417
# /FE 54 ##
	erreur_780042417 = i_PlvMessEmettre(8452,2,g_iartin,"",3, code_rejet_780042417,"calledNumber","RNIS")
	SAUT STOCKE_ERRONE
FINSI

#
# Test syntaxique champ numberOfMrPulse si present
# La variable nbPulse = -1 --> champ absent
#

nbPulse_780042417 = i_get_art_field(g_iartin,$TcFwd_nss9::numberOfMrPulse)
SI (nbPulse_780042417 > 3000)
ALORS
	trace("TcFwd_nss9 : envoi ERRONE car nbMrPulse > 3000")
# FE 54 ##
	ERREUR_780042417 = ERR_SYNTAX_780042417
	code_rejet_780042417 = MODULE_780042417 + ERREUR_780042417 + EFFICACE_780042417
# /FE 54 ##
	erreur_780042417 = i_PlvMessEmettre(8453,2,g_iartin,"",3, code_rejet_780042417,"numberOfMrPulse","3000")
	SAUT STOCKE_ERRONE
FINSI

#
# Test de l'article et mise en errone si besoin
#

erreur_780042417 = i_test_art(g_iartin)
SI erreur_780042417
ALORS
	trace("TcFwd_nss9 : envoi ERRONE test automatique")
# FE 54 ##
	ERREUR_780042417 = ERR_SYNTAX_780042417
	code_rejet_780042417 = MODULE_780042417 + ERREUR_780042417 + EFFICACE_780042417
# /FE 54 ##
	erreur_780042417 = i_PlvMessEmettre(8454,2,g_iartin,"",1, code_rejet_780042417,0,0)
	SAUT STOCKE_ERRONE
FINSI

#####################################################################
# FIN tests syntaxique
#####################################################################

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

## ano 3034 : disconnectParty = 0 ou 1 ou 2 sinon ERRONE
SI (i_valid_field_n(g_iartin, $TcFwd_nss9::disconnectParty) == 1)
ALORS
	erreur_780042417 = i_get_art_field(g_iartin, $TcFwd_nss9::disconnectParty)
	SI( (erreur_780042417 != 0) && (erreur_780042417 != 1) && (erreur_780042417 != 2) )
	ALORS
		trace("TcFwd_nss9 : Erreur champ disconnectParty")
		ERREUR_780042417 = ERR_SEM_780042417
		code_rejet_780042417 = MODULE_780042417 + ERREUR_780042417 + EFFICACE_780042417
		erreur_780042417 = i_PlvMessEmettre(8453,2,g_iartin,"",3, code_rejet_780042417,"disconnectParty","2")
		SAUT STOCKE_ERRONE
	FINSI
FINSI
## /ano 3034

####################################################################
# FIN tests semantique
####################################################################

#
# Mise a jour des compteurs
#
## ano compteur 1501
#erreur = i_get_art_field(g_iartin, $TcFwd_nss9::mblStatRnb)
#SI ( erreur > 0 )
## /ano compteur 1501
erreur_780042417 = i_valid_field_n(g_iartin, $TcFwd_nss9::mblStatRnb)
SI( erreur_780042417 != 0 )
ALORS
	type_cra_780042417 = TYPE_RENVOIM_780042417
SINON
		type_cra_780042417 = TYPE_RENVOIG_780042417
FINSI


	


# !!!!!! erreur = i_inc_cpt_ioplv(g_ieec,type_cra,nj,IN_PLV)
###############################
# increment du compteur
###############################
Y_780042417=g_ieec
X_780042417=0
Z_780042417=0
X_780042417=type_cra_780042417
date_780042417 = i_DHgetLocalTime(4, 7, i_date_audit())
trace1("erreur=i_incr_cpt(CPT,X,Y,Z,date,INCREMENT)cpt=%d",CPT_780042417)
erreur_780042417=i_incr_cpt(CPT_780042417,X_780042417,Y_780042417,Z_780042417,date_780042417,INCREMENT_780042417)

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


#
#	Stockage en errone
#
POINT STOCKE_ERRONE
# FE 54 ##
	erreur_780042417 = i_make_art_rej(g_iartin, g_iartout, code_rejet_780042417)
# /FE 54
	erreur_780042417 = i_stocke_art(g_iartout,0,PT_ERRONE,0)
	RETOUR TRAIT_OK
#------------------- Fin TcFwd_nss9_tr.src -----------------------------
