DEFINITION INCREMENT_660003774 1
DEFINITION CPT_660003774 1501
DEFINITION ERR_SYNTAX_660003774 0x5040
DEFINITION NUMTAB_660003774 4
REGISTRE ENTIER date_plat_660003774
REGISTRE ENTIER erreur_660003774
REGISTRE ENTIER X_660003774
REGISTRE ENTIER Y_660003774
REGISTRE ENTIER Z_660003774
REGISTRE ENTIER cpt_660003774
REGISTRE ENTIER code_rejet_660003774
REGISTRE ENTIER index_660003774
REGISTRE ENTIER EFFICACE_660003774
REGISTRE ENTIER date_audit_660003774
REGISTRE ENTIER res_660003774
REGISTRE ENTIER ValTypeOperateur_660003774
REGISTRE ENTIER ValCategorie_660003774
REGISTRE ENTIER ValTypeAchat_660003774
REGISTRE ENTIER ValTypeTransaction_660003774 
REGISTRE ENTIER Duree_660003774
REGISTRE POINTEUR pt_1_660003774
REGISTRE POINTEUR pt_2_660003774
REGISTRE POINTEUR pt_CHAMP_ERRONE_660003774
############################################################################
# TRAITEMENT TwhaV2_trt.src
#	Article DC TwhaV2 en entree de Platine
#	Pcode de traitement
#	Creation G5R4 lot1 (arret facture) le 05/02/2015
# Historique
# 
############################################################################





pt_CHAMP_ERRONE_660003774 	= "01234567890123456789"
pt_1_660003774 		= "pt_1_22222222222222222222222222222222222222222222222222222222222222222222"
pt_2_660003774 		= "pt_2_33333333333333333333333333333333333333333333333333333333333333333333"

i_strcpy(pt_1_660003774,"")
i_strcpy(pt_2_660003774,"")

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


#################### Variable fonctionnelles ############
#le cas achat n'as pas de duree valeur par defaut
Duree_660003774=1

cpt_660003774=0
EFFICACE_660003774 = 2




# initialisation pointeur realise plus bas

################################################################
#       Test Unitaire
################################################################
erreur_660003774= i_test_art(g_iartin)
SI erreur_660003774 !=0
ALORS
#	trace("Champ DATE ou DUREE incorrect")
	i_strcpy(pt_CHAMP_ERRONE_660003774, "DATE DUREE")
	code_rejet_660003774 = ERR_SYNTAX_660003774 + EFFICACE_660003774
	erreur_660003774 = i_PlvMessEmettre(6157,2,g_iartin,"",2,code_rejet_660003774, pt_CHAMP_ERRONE_660003774, 0)
	SAUT STOCKE_ERRONE
FINSI


####### CallingMSISDN
i_strcpy(pt_1_660003774,"")
erreur_660003774 = i_get_art_str(g_iartin, $TwhaV2::CallingMSISDN, pt_1_660003774)
SI (i_strplcmp(pt_1_660003774,"20",0,2) == 0)
ALORS
#	trace("CallingMSISDN incorrect")
	i_strcpy(pt_CHAMP_ERRONE_660003774, "CallingMSISDN")
	code_rejet_660003774 = ERR_SYNTAX_660003774 + EFFICACE_660003774
	erreur_660003774 = i_PlvMessEmettre(6158,2,g_iartin,"",2,code_rejet_660003774, pt_CHAMP_ERRONE_660003774, 0)
	SAUT STOCKE_ERRONE
FINSI



####### SeqMarchand
i_strcpy(pt_1_660003774,"")
erreur_660003774 = i_get_art_str(g_iartin, $TwhaV2::SeqMarchand, pt_1_660003774)
#trace2("=============SequenceH = %s",pt_1,"")
SI (i_strplcmp(pt_1_660003774,"20",0,2) == 0)
ALORS
#	trace("SeqMarchand incorrect")
	i_strcpy(pt_CHAMP_ERRONE_660003774, "SeqMarchand")
	code_rejet_660003774 = ERR_SYNTAX_660003774 + EFFICACE_660003774
	erreur_660003774 = i_PlvMessEmettre(6159,2,g_iartin,"",2,code_rejet_660003774, pt_CHAMP_ERRONE_660003774, 0)
	SAUT STOCKE_ERRONE
FINSI



# Test de la valeur du champ ValTypeOperateur (Valeurs possibles: 0, 1, ou 2)
erreur_660003774 = i_get_art_str(g_iartin, $TwhaV2::TypeOperateur,pt_1_660003774)

SI( i_strcmp(pt_1_660003774,"0") != 0 && i_strcmp(pt_1_660003774,"1") != 0 && i_strcmp(pt_1_660003774,"2") != 0)

ALORS
	 
trace2("Mauvaise valeur du champ  TypeOperateur: <%s>",pt_1_660003774,"")
	    i_strcpy(pt_CHAMP_ERRONE_660003774, "TypeOperateur")
	    code_rejet_660003774 = ERR_SYNTAX_660003774 + EFFICACE_660003774
	    erreur_660003774=i_PlvMessEmettre(6160, 2, g_iartin, "", 3, code_rejet_660003774, pt_1_660003774, pt_CHAMP_ERRONE_660003774)
	    SAUT STOCKE_ERRONE
FINSI



#######  Test de la valeur du champ CodeTVA

i_strcpy(pt_1_660003774,"")
index_660003774 = 0
res_660003774 = 0
erreur_660003774 = i_get_art_str(g_iartin, $TwhaV2::CodeTVA, pt_1_660003774)
POINT BOUCLE_ENTIER
res_660003774 = i_strtab(pt_1_660003774, index_660003774) - 0x30
SI (res_660003774 != 0 && res_660003774 != 1 && res_660003774 != 2 && res_660003774 != 3 && res_660003774 != 4 && res_660003774 != 5 )
ALORS
	trace("<<<__LINE__<<<__FILE__<<< CodeTVA incorrect")
	i_strcpy(pt_CHAMP_ERRONE_660003774, "CodeTVA")
	code_rejet_660003774 = ERR_SYNTAX_660003774 + EFFICACE_660003774
	erreur_660003774 = i_PlvMessEmettre(6161,2,g_iartin,"",2,code_rejet_660003774, pt_CHAMP_ERRONE_660003774, 0)
	SAUT STOCKE_ERRONE
FINSI
index_660003774 = index_660003774 + 1
SI (index_660003774 < 3)
	ALORS
	SAUT BOUCLE_ENTIER
FINSI


#######  Test de la valeur du champ Categorie (valeur possible  0,1,2,ou 3)
erreur_660003774 = i_get_art_str(g_iartin, $TwhaV2::Categorie,pt_1_660003774)
SI( i_strcmp(pt_1_660003774,"0") != 0 && i_strcmp(pt_1_660003774,"1") != 0 && i_strcmp(pt_1_660003774,"2") != 0 && i_strcmp(pt_1_660003774,"3") != 0)
ALORS
	
	    trace2("Mauvaise valeur du champ  Categorier: <%s>",pt_1_660003774,"")
	    i_strcpy(pt_CHAMP_ERRONE_660003774, "Categorie")
	    code_rejet_660003774 = ERR_SYNTAX_660003774 + EFFICACE_660003774
	    erreur_660003774=i_PlvMessEmettre(6162, 2, g_iartin, "", 2, code_rejet_660003774,pt_CHAMP_ERRONE_660003774,0)
	    SAUT STOCKE_ERRONE
FINSI


#######  Test de la valeur du champ TypeAchat (valeur possible 1,2)
erreur_660003774 = i_get_art_str(g_iartin, $TwhaV2::TypeAchat,pt_1_660003774)
SI( i_strcmp(pt_1_660003774,"1") != 0 && i_strcmp(pt_1_660003774,"2") != 0)
ALORS
	
	    trace2("Mauvaise valeur du champ  Categorier: <%s>",pt_1_660003774,"")
	    i_strcpy(pt_CHAMP_ERRONE_660003774, "TypeAchat")
	    code_rejet_660003774 = ERR_SYNTAX_660003774 + EFFICACE_660003774
	    erreur_660003774=i_PlvMessEmettre(6163, 2, g_iartin, "", 2, code_rejet_660003774, pt_CHAMP_ERRONE_660003774,0)
	    SAUT STOCKE_ERRONE
FINSI


#######  Test de la valeur du champ TypeTransaction valeur possible : 0 (achat)
erreur_660003774  = i_get_art_str(g_iartin, $TwhaV2::TypeTransaction,pt_1_660003774)
SI (i_strcmp(pt_1_660003774,"0") != 0)
ALORS
	
	   trace2("Mauvaise valeur du champ  TypeTransaction: <%s>",pt_1_660003774,"")
	   i_strcpy(pt_CHAMP_ERRONE_660003774, "TypeTransaction")
	   code_rejet_660003774 = ERR_SYNTAX_660003774 + EFFICACE_660003774
	  erreur_660003774=i_PlvMessEmettre(6164, 2, g_iartin, "", 2, code_rejet_660003774, pt_CHAMP_ERRONE_660003774,0)
	   SAUT STOCKE_ERRONE
FINSI




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

################################################################
#       Tests croises
################################################################




########################################################
# Cpt applicatifs
########################################################
########################################################

########### Date_Audit
date_audit_660003774=i_date_audit()
#trace1("[TwhaV2_tr] date_audit=%x",date_audit)

########### date_plat
date_plat_660003774 = i_DHgetLocalTime(NUMTAB_660003774, 7, date_audit_660003774)
#trace1("======== date_plat = %d ========",date_plat)


Y_660003774=g_ieec
X_660003774=0x40
Z_660003774=0

cpt_660003774 = CPT_660003774
erreur_660003774=i_incr_cpt(cpt_660003774,X_660003774,Y_660003774,Z_660003774,date_plat_660003774,INCREMENT_660003774)

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

#####################################################################
# POINT de branchement : stockage PT_OK
#####################################################################

POINT STOCKE_OK

erreur_660003774 = i_stocke_art(g_iartin, 0, PT_OK,0)
trace("Fin traitement Article TwhaV2")
RETOUR TRAIT_OK

#####################################################################
# POINT de branchement : stockage PT_ERRONE
#	       correspond au cas d'erreur syntaxiques et semantiques
#####################################################################

POINT STOCKE_ERRONE

trace("Stockage de l'article en ERRONE")
erreur_660003774 = i_make_art_rej(g_iartin, g_iartout, code_rejet_660003774)
erreur_660003774 = i_stocke_art(g_iartout, 0, PT_ERRONE, 0)
trace("Fin traitement TwhaV2")
RETOUR TRAIT_OK

###########################################################################
# Stockage en elimine
###########################################################################

POINT STOCKE_DIV

#IFDEF trace_niv1 = 1
trace( "Fin du Pcode de traitement WHAV2 : Stockage en ELIMINE" )
#ENDIF
erreur_660003774 = i_stocke_art( g_iartin, 0, PT_DIVERS, 0 )

RETOUR TRAIT_OK
#--------------------------------- FIN TwhaV2.src--------------------------------------
