DEFINITION INCREMENT_840007430 1
DEFINITION NUMTAB_840007430 4
DEFINITION CPT1_840007430 1501
DEFINITION CPT2_840007430 1505
DEFINITION CPT3_840007430 1506
DEFINITION CPT4_840007430 1504
DEFINITION CPT5_840007430 1533
REGISTRE ENTIER erreur_840007430
REGISTRE ENTIER recordtype_840007430
REGISTRE ENTIER legalybilldist_840007430
REGISTRE ENTIER mobilecoverage_840007430
REGISTRE ENTIER ratingflag_840007430
REGISTRE ENTIER efficiency_840007430
REGISTRE ENTIER pdpty_840007430
REGISTRE ENTIER tranche_horaire_840007430
REGISTRE ENTIER X_840007430
REGISTRE ENTIER Y_840007430
REGISTRE ENTIER Z_840007430
REGISTRE ENTIER ICAR_ABS_840007430
REGISTRE ENTIER date_audit_840007430
REGISTRE ENTIER date_audit_gmt_840007430
REGISTRE ENTIER date_dc_gmt_840007430
REGISTRE ENTIER sdate_840007430
REGISTRE ENTIER code_rejet_840007430
REGISTRE ENTIER Trvolume1_840007430
REGISTRE ENTIER Trvolume2_840007430
REGISTRE POINTEUR pt_chp_840007430
REGISTRE POINTEUR pt_1_840007430
############################################################################
# TRAITEMENT Tcb_trt.src
#   Article DC Tcb en entree de Platine, chp ChargingType :
#	"VO" 	for voucher
#	"SU" 	for subscriber
#	"RI" 	for roaming in
#	"RO" 	for roaming out
#	"RR" 	for roaming out to be transmitted by SARAT
#	"RT" 	for roaming out to be filtered by SARAT
#	"RIR" 	for roaming in, from non TAP operator
#	"RIT" 	for roaming in, from TAP operator
#   Pcode de traitement
#   Creation le 28/02/2006
# Historique
# 27/03/06 jlg Compteur 3G
# 17/08/06 jlg evolution CcME (lot2)
# 01/09/06 jlg controle croise CalledMSISDN1 present si recordtype=0x13 ou 0x3C
# 04/09/06 JLG FO 240 complements
# 25/10/06 FO318 ICAR_ABS
# 25/10/06 FO315 retirer controle croise sur type3C
# 15/11/06 FO340 retirer le controle crois? du champ SessionId sur le type CRA 0x40 
# 15/11/06 FO318 calcule de sdate ? partir de la date GMT courant i_cur_time()et non avec ICAR_ABS date locale platine
# 28/11/06 FO354 Modification du calcul des tranches horaires inferieure a 25
# 26/12/06 G3R0CdME Spec Traitement S3F0 : test ChargingType RX et RZ
# 18/06/07 G1R4 : FO 516 : controle croise recordtype 13 et Trvolume
# 07/01/11 - BEA - G3R1 lot4 Verification/Correction des variables (constantes, entiers, pointeurs)
# 17/06/13 - PKH - G3R10 lot3 LTE Evolution interface DCB - creation compteur 4G 1533
# 24/06/13 - RHE - G3R10 lot3 CPT5
############################################################################




#FO318

# Debut FO 516
# Fin FO 516



# Debut FO 516
Trvolume1_840007430 = 0
Trvolume2_840007430 = 0
# Fin FO 516

trace("[Tcb_trt] =========== debut Pcode TRAITEMENT  =============")

# ALLOCATION DES POINTEURS
pt_chp_840007430		= "111111111111111111111111111111111111111111123456789"
pt_1_840007430		= "2222222222222222222222222222222222222222222222222222222222222222222222222"


#erreur = i_fdump_art(g_iartin)

################################################################
#   Test syntaxique
################################################################
# neant


################################################################
#   Tests semantiques
################################################################
recordtype_840007430 = 0
recordtype_840007430 = i_get_art_field(g_iartin, $Tcb::RecordType)
trace1("[Tcb_tr] recordtype = 0x%x",recordtype_840007430)

mobilecoverage_840007430 = 0
mobilecoverage_840007430 = i_get_art_field(g_iartin, $Tcb::mobileCoverage)
trace1("[Tcb_tr] mobilecoverage = 0x%x",mobilecoverage_840007430)

legalybilldist_840007430 = 0
legalybilldist_840007430 = i_get_art_field(g_iartin, $Tcb::legalyBillDist)

ratingflag_840007430 = 0
ratingflag_840007430 = i_get_art_field(g_iartin, $Tcb::ratingFlag)

efficiency_840007430 = 0
SI i_valid_field_n(g_iartin, $Tcb::Efficiency)
ALORS
	efficiency_840007430 = i_get_art_field(g_iartin, $Tcb::Efficiency)
FINSI


pdpty_840007430 = 0
SI i_valid_field_n(g_iartin, $Tcb::PDPTy)
ALORS
	pdpty_840007430 = i_get_art_field(g_iartin, $Tcb::PDPTy)
FINSI



SI recordtype_840007430 != 0x90 && recordtype_840007430 != 0x00 && recordtype_840007430 != 0x40 && recordtype_840007430 != 0x80 && recordtype_840007430 != 0x13 && recordtype_840007430 != 0x3C
ALORS
	trace1("[Tcb_tr] NOK recordtype = 0x%x",recordtype_840007430)
	code_rejet_840007430 = 0x5042
	i_strcpy(pt_chp_840007430,"RecordType")
	erreur_840007430 = i_PlvMessEmettre(6450,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
	SAUT STOCKE_ERRONE
FINSI
trace1("[Tcb_tr] OK recordtype = 0x%x",recordtype_840007430)

i_strcpy(pt_1_840007430, " ")
SI i_valid_field_n(g_iartin, $Tcb::ChargingType)
ALORS
	erreur_840007430 = i_get_art_str(g_iartin, $Tcb::ChargingType, pt_1_840007430)
FINSI
SI recordtype_840007430 == 0x80
ALORS
	SI (i_strcmp(pt_1_840007430,"VO") != 0) && (i_strcmp(pt_1_840007430,"SU") != 0) && (i_strcmp(pt_1_840007430,"RI") != 0) && (i_strcmp(pt_1_840007430,"RO") != 0) &&
	(i_strcmp(pt_1_840007430,"RR") != 0) && (i_strcmp(pt_1_840007430,"RT") != 0) && (i_strcmp(pt_1_840007430,"RIR") != 0) && (i_strcmp(pt_1_840007430,"RIT") != 0) &&
	(i_strcmp(pt_1_840007430,"RX") != 0) && (i_strcmp(pt_1_840007430,"RZ") != 0)
	ALORS
		trace1("[Tcb_tr] NOK recordtype = 0x%x valeur chargingtype incorrecte",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"ChargingType")
		erreur_840007430 = i_PlvMessEmettre(6450,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI

SI legalybilldist_840007430 != 0x00 && legalybilldist_840007430 != 0x01
ALORS
	trace1("[Tcb_tr] NOK legalybilldist = 0x%x",legalybilldist_840007430)
	code_rejet_840007430 = 0x5042
	i_strcpy(pt_chp_840007430,"legalybilldist")
	erreur_840007430 = i_PlvMessEmettre(6450,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
	SAUT STOCKE_ERRONE
FINSI

SI ratingflag_840007430 != 0x00 && ratingflag_840007430 != 0x01
ALORS
	trace1("[Tcb_tr] NOK ratingflag = 0x%x",ratingflag_840007430)
	code_rejet_840007430 = 0x5042
	i_strcpy(pt_chp_840007430,"ratingflag")
	erreur_840007430 = i_PlvMessEmettre(6450,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
	SAUT STOCKE_ERRONE
FINSI

SI efficiency_840007430 != 0x00 && efficiency_840007430 != 0x01
ALORS
	trace1("[Tcb_tr] NOK efficiency = 0x%x",efficiency_840007430)
	code_rejet_840007430 = 0x5042
	i_strcpy(pt_chp_840007430,"efficiency")
	erreur_840007430 = i_PlvMessEmettre(6450,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
	SAUT STOCKE_ERRONE
FINSI

SI pdpty_840007430 != 0x00 && pdpty_840007430 != 0x01 && pdpty_840007430 != 0x02
ALORS
	trace1("[Tcb_tr] NOK pdpty = 0x%x",pdpty_840007430)
	code_rejet_840007430 = 0x5042
	i_strcpy(pt_chp_840007430,"pdpty")
	erreur_840007430 = i_PlvMessEmettre(6450,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
	SAUT STOCKE_ERRONE
FINSI





#=============================================================================
# Variables fonctionnelles
#=============================================================================


erreur_840007430 = i_cree_art("Conv_URS",g_iartout10)


########### ICAR_ABS

#FO318
date_dc_gmt_840007430 =i_get_art_field(g_iartin,$Tcb::DATE)
ICAR_ABS_840007430 = i_DHgetLocalTime(NUMTAB_840007430, 7, date_dc_gmt_840007430)


########## tranche_horaire

#FO318 15/11/2006 calcule de sdate ? partir de la date GMT courant i_cur_time()et non avec ICAR_ABS date locale platine
sdate_840007430 = i_DHgetLocalTime(NUMTAB_840007430, 7, i_cur_time())
trace1("[Tcb_trt]1 ICAR_ABS = 0x%x",ICAR_ABS_840007430)
trace1("[Tcb_trt]2 sdate = 0x%x",sdate_840007430)
trace1("[Tcb_trt]3 sdate - ICAR_ABS = %d en secondes",sdate_840007430 - ICAR_ABS_840007430)
trace1("[Tcb_trt]4 sdate - ICAR_ABS   = %d en heures",(sdate_840007430 - ICAR_ABS_840007430)/3600)

SI (sdate_840007430 - ICAR_ABS_840007430 + 3600) > (25 * 3600)
ALORS
	trace1("[Tcb_trt]5 tranche_horaire toujours 25   =%d",(sdate_840007430 - ICAR_ABS_840007430 + 3600))
	tranche_horaire_840007430=25
SINON
	erreur_840007430 = i_set_art_field(g_iartout10,$Conv_URS::ICAR_IN,ICAR_ABS_840007430)
  tranche_horaire_840007430 = g_iartout10.ICAR_OUT[4]*10 + g_iartout10.ICAR_OUT[5]+1
	#trace1("[Tcb_trt]6   1=<tranche_horaire<25   sdate - ICAR_ABS + 3600 =%d",(sdate - ICAR_ABS + 3600))
	#tranche_horaire=(sdate - ICAR_ABS + 3600)/3600
	trace1("[Tcb_trt]7   1=<tranche_horaire<25   %d",tranche_horaire_840007430)
FINSI
SI tranche_horaire_840007430 < 1
	ALORS
	trace1("[Tcb_trt]8   tranche_horaire < 1 donc=1  =%d",tranche_horaire_840007430)
	tranche_horaire_840007430 = 1
FINSI
################################################################
#   Tests croises
################################################################


SI recordtype_840007430 == 0x90 || recordtype_840007430 == 0x00 || recordtype_840007430 == 0x40
ALORS
	   SI (! i_valid_field_n(g_iartin, $Tcb::IMSI))
	   ALORS
		     trace1("[Tcb_tr] NOK test croise IMSI et recordtype = 0x%x",recordtype_840007430)
		     code_rejet_840007430 = 0x5042
		     i_strcpy(pt_chp_840007430,"IMSI invalide et recordtype 0x90, 0x00 ou 0x40")
		     erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		     SAUT STOCKE_ERRONE
	   FINSI
FINSI	

#------URSLYON 15/11/06 FO340 retire le Ctl croise sur le type cra 0x40	
	SI recordtype_840007430 == 0x90 || recordtype_840007430 == 0x00
	ALORS
	    SI (! i_valid_field_n(g_iartin, $Tcb::SessionId))
	    ALORS
		      trace1("[Tcb_tr] NOK test croise SessionId et recordtype = 0x%x",recordtype_840007430)
		      code_rejet_840007430 = 0x5042
		      i_strcpy(pt_chp_840007430,"SessionId invalide et recordtype 0x90, 0x00 ou 0x40")
		      erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		      SAUT STOCKE_ERRONE
	   FINSI
  FINSI
#--------FO340 FIN
SI recordtype_840007430 == 0x40 || recordtype_840007430 == 0x80
ALORS
	SI (! i_valid_field_n(g_iartin, $Tcb::TransactionId))
	ALORS
		trace1("[Tcb_tr] NOK test croise TransactionId et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"TransactionId invalide et recordtype 0x40 ou 0x80")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
	
	SI (! i_valid_field_n(g_iartin, $Tcb::Euros))
	ALORS
		trace1("[Tcb_tr] NOK test croise Euros et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"Euros invalide et recordtype ok")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI

SI recordtype_840007430 == 0x40
ALORS
	SI (! i_valid_field_n(g_iartin, $Tcb::InterpServiceId))
	ALORS
		trace1("[Tcb_tr] NOK test croise InterpServiceId et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"InterpServiceId invalide et recordtype 0x40")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI

SI recordtype_840007430 == 0x90 || recordtype_840007430 == 0x00 
ALORS
	SI (! i_valid_field_n(g_iartin, $Tcb::Efficiency))
	ALORS
		trace1("[Tcb_tr] NOK test croise Efficiency et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"Efficiency invalide et recordtype 0x90 ou 0x00")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI

SI recordtype_840007430 == 0x90 || recordtype_840007430 == 0x13
ALORS
	SI (! i_valid_field_n(g_iartin, $Tcb::TrVolume))
	ALORS
		trace1("[Tcb_tr] NOK test croise TrVolume et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"TrVolume invalide et recordtype 0x90 ou 0x13")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI

SI recordtype_840007430 == 0x13 || recordtype_840007430 == 0x3C
ALORS
	SI (! i_valid_field_n(g_iartin, $Tcb::RecipientNb))
	ALORS
		trace1("[Tcb_tr] NOK test croise RecipientNb et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"RecipientNb invalide et recordtype 0x13 ou 0x3C")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
	SI (! i_valid_field_n(g_iartin, $Tcb::teleservice))
	ALORS
		trace1("[Tcb_tr] NOK test croise teleservice et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"teleservice invalide et recordtype 0x13 ou 0x3C")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI

# FO315
#SI recordtype == 0x3C
#	ALORS
#	SI (! i_valid_field_n(g_iartin, $Tcb::ServiceTy))
#	ALORS
#		trace1("[Tcb_tr] NOK test croise ServiceTy et recordtype = 0x%x",recordtype)
#		code_rejet = 0x5042
#		i_strcpy(pt_chp,"ServiceTy invalide et recordtype 0x3C")
#		erreur = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet,pt_chp, 0)
#		SAUT STOCKE_ERRONE
#	FINSI
#FINSI

SI recordtype_840007430 == 0x90
ALORS
	SI (! i_valid_field_n(g_iartin, $Tcb::chargingId))
	ALORS
		trace1("[Tcb_tr] NOK test croise chargingId et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"chargingId invalide et recordtype 0x90")
		erreur_840007430 = i_PlvMessEmettre(6450,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
	
	SI (! i_valid_field_n(g_iartin, $Tcb::Username))
	ALORS
		trace1("[Tcb_tr] NOK test croise Username et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"Username invalide et recordtype 0x90")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI

SI recordtype_840007430 == 0x80
ALORS
	SI (! i_valid_field_n(g_iartin, $Tcb::ChargingType))
	ALORS
		trace1("[Tcb_tr] NOK test croise ChargingType et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"ChargingType invalide et recordtype 0x80")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
	SI (! i_valid_field_n(g_iartin, $Tcb::IPAdress))
	ALORS
		trace1("[Tcb_tr] NOK test croise IPAdress et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"IPAdress invalide et recordtype 0x80")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
	SI (! i_valid_field_n(g_iartin, $Tcb::UserLogin))
	ALORS
		trace1("[Tcb_tr] NOK test croise UserLogin et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"UserLogin invalide et recordtype 0x80")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI


SI recordtype_840007430 == 0x00 || recordtype_840007430 == 0x13 || recordtype_840007430 == 0x3C
ALORS
	SI (! i_valid_field_n(g_iartin, $Tcb::CalledMSISDN1))
	ALORS
		trace1("[Tcb_tr] NOK test croise CalledMSISDN1 et recordtype = 0x%x",recordtype_840007430)
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"CalledMSISDN1 invalide et recordtype 0x13 ou 0x3C")
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI

	
FINSI


# Debut FO 516 : TrVolume est eventuellement sur 6 octets
SI recordtype_840007430 == 0x13
ALORS
	SI g_iartin.TrVolumeT!NELEM == 5
	ALORS 
		Trvolume1_840007430 = g_iartin.TrVolumeT[0]
	SINON
		SI g_iartin.TrVolumeT!NELEM == 6
		ALORS
			Trvolume1_840007430 = g_iartin.TrVolumeT[0]
			Trvolume2_840007430 = g_iartin.TrVolumeT[1]
		FINSI
	FINSI
	
	SI (i_get_art_field(g_iartin, $Tcb::TrVolume) > 16000) || (Trvolume1_840007430 > 0) || (Trvolume2_840007430 > 0)
	ALORS
		code_rejet_840007430 = 0x5042
		i_strcpy(pt_chp_840007430,"Trvolume superieur a 16000 et recordtype 0x13")	
		erreur_840007430 = i_PlvMessEmettre(6451,2,g_iartin,"",2,code_rejet_840007430,pt_chp_840007430, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI
# Fin FO 516


########################################################
# Cpt applicatifs : 1501, 1505, 1504, 1506
########################################################


########### Date_Audit
date_audit_gmt_840007430=i_date_audit()
date_audit_840007430 = i_DHgetLocalTime(NUMTAB_840007430, 7, date_audit_gmt_840007430)
trace1("[Tcb_tr] date_audit=%x",date_audit_840007430)



# 1) compteur 1501/type/EEC/0/date_audit/1
# CPT1 = 1501
X_840007430=recordtype_840007430
Y_840007430=g_ieec
Z_840007430=0
erreur_840007430=i_incr_cpt(CPT1_840007430,X_840007430,Y_840007430,Z_840007430,date_audit_840007430,INCREMENT_840007430)

# 2) compteur etancheite EEC/type/tranche horaire/date
# CPT2 = 1505
X_840007430=recordtype_840007430
Y_840007430=tranche_horaire_840007430
Z_840007430=g_ieec
erreur_840007430=i_incr_cpt(CPT2_840007430,X_840007430,Y_840007430,Z_840007430,date_audit_840007430,INCREMENT_840007430)

# 3) compteur etancheite non facturable par EEC/type/tranche horaire/date
# CPT3 = 1506
X_840007430=recordtype_840007430
Y_840007430=tranche_horaire_840007430
Z_840007430=g_ieec
SI legalybilldist_840007430 !=1
ALORS
	erreur_840007430=i_incr_cpt(CPT3_840007430,X_840007430,Y_840007430,Z_840007430,date_audit_840007430,INCREMENT_840007430)
FINSI

# 3) Compteur  :  CRA 3G  1504/type/EEC/0/date_audit/1
# CPT4 = 1504
X_840007430=recordtype_840007430
Y_840007430=g_ieec
Z_840007430=0
SI (recordtype_840007430 == 0x00 || recordtype_840007430 == 0x90) && (mobilecoverage_840007430 == 0x01)
ALORS
	erreur_840007430=i_incr_cpt(CPT4_840007430,X_840007430,Y_840007430,Z_840007430,date_audit_840007430,INCREMENT_840007430)
FINSI

#G3R10 lot3 Compteur 4G 
#CPT5 = 1533
X_840007430=recordtype_840007430
Y_840007430=g_ieec
Z_840007430=0
SI (recordtype_840007430 == 0x90) && (mobilecoverage_840007430 == 0x06)
ALORS
	erreur_840007430=i_incr_cpt(CPT5_840007430,X_840007430,Y_840007430,Z_840007430,date_audit_840007430,INCREMENT_840007430)
FINSI


erreur_840007430 = i_stocke_art(g_iartin, 0, PT_OK, 0)
RETOUR TRAIT_OK

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

POINT   STOCKE_ERRONE

trace2("[Tcb_trt] Stockage en ERRONE %s", "", "")

erreur_840007430 = i_make_art_rej(g_iartin, g_iartout5, code_rejet_840007430)
erreur_840007430 = i_stocke_art(g_iartout5, 0, PT_ERRONE, 0)

RETOUR TRAIT_OK

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

POINT STOCKE_DIV

trace( "[Tcb_trt] Pcode de traitement   Stockage en DIVERS" )

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


RETOUR TRAIT_OK

#___________________________ FIN Tcb_trt.src_________________________________
