DEFINITION NUMTAB_780042399 4
DEFINITION INCREMENT_780042399 1
DEFINITION CPT_780042399 1501
DEFINITION IMPFAX_780042399 0x22
DEFINITION C_Article_780042399 "Tmmm"
REGISTRE ENTIER erreur_780042399
REGISTRE ENTIER calltype_780042399
REGISTRE ENTIER ECCType_780042399
REGISTRE ENTIER nbpagefax_780042399
REGISTRE ENTIER duree_780042399
REGISTRE ENTIER date_audit_780042399
REGISTRE ENTIER date_audit_gmt_780042399
REGISTRE ENTIER code_rejet_780042399
REGISTRE ENTIER X_780042399
REGISTRE ENTIER Y_780042399
REGISTRE ENTIER Z_780042399
############################################################################
# TRAITEMENT Tmmm_tr.src
#	Article DC Tmmm en entree de Platine
#	Pcode de traitement
#	05/09/05 - JLG- Creation
#	17/11/05  nbpagefax
# Historique
# 22/11/05 FO 1583,1584,1585
# 10/02/05 JLG toilettage
# 01/03/06 JLG calcul nbpagefax erreur due fusion (delta avec G1R1C110)
# 07/03/06 JLG date audit en heure metro
# 04/09/06 JLG FO 240 complements
# 12/09/08 JLG QC193
# 18/01/11 - BEA - G3R1 lot4 Verification/Correction des variables (constantes, entiers, pointeurs)
############################################################################








trace("=========== debut Pcode TRAITEMENT  =============")

# ALLOCATION DES POINTEURS
#

#erreur = i_fdump_art(g_iartin)

################################################################
#	Test syntaxique
################################################################
# test_art FO 1585

erreur_780042399 = i_test_field_ila_n(g_iartin, $Tmmm::imsi, "Lgsm")
trace1("[Tmmm_tr] test sur imsi retour=%d",erreur_780042399)
SI erreur_780042399
ALORS
	code_rejet_780042399 = 0x5072
	trace1("[Tmmm_tr] erreur syntaxique sur imsi erreur=%d",erreur_780042399)
	erreur_780042399 = i_PlvMessEmettre(6006,2,g_iartin,"",2,code_rejet_780042399,C_Article_780042399,0)
	# "ERR=0x %04x - Pcode %s : Erreur syntaxique"
	SAUT STOCKE_ERRONE
FINSI



################################################################
#	Tests semantiques
################################################################

calltype_780042399 = i_get_art_field(g_iartin, $Tmmm::CallType)

SI (calltype_780042399 < 0x20) || (calltype_780042399 > 0x27)
ALORS
	code_rejet_780042399 = 0x5042
	erreur_780042399 = i_PlvMessEmettre(6000,2,g_iartin,"",2,code_rejet_780042399,calltype_780042399, 0)
	SAUT STOCKE_ERRONE
FINSI

ECCType_780042399 = i_get_art_field(g_iartin, $Tmmm::ECCType)
SI (ECCType_780042399 != 0x05)
ALORS
	#QC193
	erreur_780042399 = i_PlvMessEmettre(6001,2,g_iartin,"",2,C_Article_780042399,ECCType_780042399, 0)
FINSI

#FO 1584
duree_780042399 = i_get_art_field(g_iartin, $Tmmm::DUREE)
trace1("[Tmmm_tr] duree = 0x%x",duree_780042399)
SI duree_780042399 == 0xFFFFFFFF
ALORS
	code_rejet_780042399 = 0x5042
	erreur_780042399 = i_PlvMessEmettre(6005,2,g_iartin,"",2,code_rejet_780042399,duree_780042399, 0)
	SAUT STOCKE_ERRONE
FINSI

################################################################
#	Tests croises
################################################################
nbpagefax_780042399= 500
SI (i_valid_field(g_iartin,"nbPageFax"))
ALORS
	nbpagefax_780042399= i_get_art_field(g_iartin, $Tmmm::nbPageFax)
FINSI
SI calltype_780042399 == IMPFAX_780042399
ALORS
	SI nbpagefax_780042399 > 255
	ALORS
		#QC193
		erreur_780042399 = i_PlvMessEmettre(6002,2,g_iartin,"",2,C_Article_780042399,nbpagefax_780042399, 0)
	FINSI
FINSI

########################################################
# Cpt applicatifs
########################################################
date_audit_gmt_780042399 = i_date_audit()
date_audit_780042399 = i_DHgetLocalTime(NUMTAB_780042399, 7, date_audit_gmt_780042399)
X_780042399=calltype_780042399
Y_780042399=g_ieec
Z_780042399=0
trace("increment cpt applicatif")
erreur_780042399=i_incr_cpt(CPT_780042399,X_780042399,Y_780042399,Z_780042399,date_audit_780042399,INCREMENT_780042399)
erreur_780042399 = i_stocke_art(g_iartin, 0, PT_OK, 0)
RETOUR TRAIT_OK


########################################################
#	Stockage en errone
########################################################

POINT   STOCKE_ERRONE

#	trace2("Stockage en ERRONE %s", "", "")

erreur_780042399 = i_make_art_rej(g_iartin, g_iartout5, code_rejet_780042399)
erreur_780042399 = i_stocke_art(g_iartout5, 0, PT_ERRONE, 0)

RETOUR TRAIT_OK

########################################################
# Stockage en Elimine Divers
########################################################

POINT STOCKE_DIV

#trace( "Pcode de traitement   Stockage en DIVERS" )

erreur_780042399 = i_stocke_art( g_iartin, 0, PT_DIVERS, 0 )


RETOUR TRAIT_OK

#___________________________ FIN Tmmm_tr.src_________________________________
