DEFINITION INCREMENT_840004428 1
DEFINITION CPT_840004428 1501
DEFINITION ERR_SYNTAX_840004428 0x5040
DEFINITION NUMTAB_840004428 4
REGISTRE ENTIER date_plat_840004428
REGISTRE ENTIER erreur_840004428
REGISTRE ENTIER X_840004428
REGISTRE ENTIER Y_840004428
REGISTRE ENTIER Z_840004428
REGISTRE ENTIER cpt_840004428
REGISTRE ENTIER code_rejet_840004428
REGISTRE ENTIER index_840004428
REGISTRE ENTIER EFFICACE_840004428
REGISTRE POINTEUR pt_CHAMP_ERRONE_840004428
REGISTRE ENTIER date_audit_840004428
REGISTRE ENTIER res_840004428
REGISTRE POINTEUR pt_1_840004428
REGISTRE POINTEUR pt_2_840004428
############################################################################
# TRAITEMENT Twhaco_trt.src
#	Article DC Twhaco en entree de Platine
#	Pcode de traitement
#	Creation le 28/09/2005
# Historique
# 19/04/06 FO 180 dump article
# 23/06/06 THEFAL G3R0CbME FO 226
# 04/09/06 JLG FO 240 complements
# 21/01/11 - G3R1 lot4 Verification/Correction des variables (constantes, entiers, pointeurs)
# 28/03/11 - G3R3 Twha au lieu de Twhaco, correction des indices
# 21/02/12 - G3R6  Differentiation taux de TVA
# 21/03/12 - G3R6 QC1022 Pb controle Code taux de TVA : absence mise en errone
# 20/04/12 JLG QC1036 modif calcul Amount + suppression des champs sans deplacement NumDDR, Sequence
############################################################################




cpt_840004428=0
EFFICACE_840004428 = 2

# initialisation pointeur realise plus bas

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

# ALLOCATION DES POINTEURS

pt_CHAMP_ERRONE_840004428 = "01234567890123456789"
pt_1_840004428 = "pt_1_22222222222222222222222222222222222222222222222222222222"
pt_2_840004428 = "pt_2_33333333333333333333333333333333333333333333333333333333"

################################################################
#       Test Unitaire
################################################################
erreur_840004428= i_test_art(g_iartin)
SI erreur_840004428 !=0
ALORS
#	trace("Champ DATE ou DUREE incorrect")
	i_strcpy(pt_CHAMP_ERRONE_840004428, "DATE DUREE")
	code_rejet_840004428 = ERR_SYNTAX_840004428 + EFFICACE_840004428
	erreur_840004428 = i_PlvMessEmettre(6150,2,g_iartin,"",2,code_rejet_840004428, pt_CHAMP_ERRONE_840004428, 0)
	SAUT STOCKE_ERRONE
FINSI

####### TypeEnr
i_strcpy(pt_1_840004428,"")
erreur_840004428 = i_get_art_str(g_iartin, $Twhaco::TypeEnr, pt_1_840004428)

SI (i_strcmp("B", pt_1_840004428) != 0)
ALORS
#	trace("TypeEnr incorrect")
	i_strcpy(pt_CHAMP_ERRONE_840004428, "TypeEnr")
	code_rejet_840004428 = ERR_SYNTAX_840004428 + EFFICACE_840004428
	erreur_840004428 = i_PlvMessEmettre(6151,2,g_iartin,"",2,code_rejet_840004428, pt_CHAMP_ERRONE_840004428, 0)
	SAUT STOCKE_DIV
FINSI

####### NumDDRH
i_strcpy(pt_1_840004428,"")
erreur_840004428 = i_get_art_str(g_iartin, $Twhaco::NumDDRH, pt_1_840004428)
SI (i_strplcmp(pt_1_840004428,"20",0,2) == 0)
ALORS
#	trace("NumDDRH incorrect")
	i_strcpy(pt_CHAMP_ERRONE_840004428, "NumDDRH")
	code_rejet_840004428 = ERR_SYNTAX_840004428 + EFFICACE_840004428
	erreur_840004428 = i_PlvMessEmettre(6151,2,g_iartin,"",2,code_rejet_840004428, pt_CHAMP_ERRONE_840004428, 0)
	SAUT STOCKE_ERRONE
FINSI

####### SequenceH
i_strcpy(pt_1_840004428,"")
erreur_840004428 = i_get_art_str(g_iartin, $Twhaco::SequenceH, pt_1_840004428)
SI (i_strplcmp(pt_1_840004428,"20",0,2) == 0)
ALORS
#	trace("SequenceH incorrect")
	i_strcpy(pt_CHAMP_ERRONE_840004428, "SequenceH")
	code_rejet_840004428 = ERR_SYNTAX_840004428 + EFFICACE_840004428
	erreur_840004428 = i_PlvMessEmettre(6151,2,g_iartin,"",2,code_rejet_840004428, pt_CHAMP_ERRONE_840004428, 0)
	SAUT STOCKE_ERRONE
FINSI

####### Duree

####### MontComm
index_840004428=0
POINT BOUCL
SI index_840004428 < 10
ALORS
	SI ((g_iartin.MontCommH[index_840004428] >= 0x30 && g_iartin.MontCommH[index_840004428] <= 0x39) || (g_iartin.MontCommH[index_840004428] == 0x20))
	ALORS
		index_840004428=index_840004428+1
		SAUT BOUCL
	SINON
#		trace("MontComm incorrect")
		i_strcpy(pt_CHAMP_ERRONE_840004428, "MontComm")
		code_rejet_840004428 = ERR_SYNTAX_840004428 + EFFICACE_840004428
		erreur_840004428 = i_PlvMessEmettre(6151,2,g_iartin,"",2,code_rejet_840004428, pt_CHAMP_ERRONE_840004428, 0)
		SAUT STOCKE_ERRONE
	FINSI
FINSI

#G3R6
####### CodeTauxTva
# QC1022
i_strcpy(pt_1_840004428,"")
index_840004428 = 0
res_840004428 = 0
erreur_840004428 = i_get_art_str(g_iartin, $Twhaco::CodeTauxTva, pt_1_840004428)
SI (i_strcmp("   ", pt_1_840004428) != 0)
ALORS
	POINT BOUCLE_ENTIER
	res_840004428 = i_strtab(pt_1_840004428, index_840004428) - 0x30
	SI (res_840004428 < 0 || res_840004428 > 9)
	ALORS
		trace("<<<__LINE__<<<__FILE__<<< CodeTauxTva incorrect")
		code_rejet_840004428 = ERR_SYNTAX_840004428 + EFFICACE_840004428
		erreur_840004428 = i_PlvMessEmettre(6156,2,g_iartin,"",2,code_rejet_840004428, pt_1_840004428, 0)
		SAUT STOCKE_ERRONE
	FINSI
	index_840004428 = index_840004428 + 1
	SI (index_840004428 < 3)
	ALORS
		SAUT BOUCLE_ENTIER
	FINSI
FINSI
#/G3R6


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

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

########################################################
# Cpt applicatifs
########################################################
########################################################
########### Date_Audit
date_audit_840004428=i_date_audit()
# date_plat
date_plat_840004428 = i_DHgetLocalTime(NUMTAB_840004428, 7, date_audit_840004428)

Y_840004428=g_ieec
X_840004428=0x40
Z_840004428=0
#X = i_get_art_field(g_iartin, $Twhaco::TypeEnr)
cpt_840004428 = CPT_840004428
erreur_840004428=i_incr_cpt(cpt_840004428,X_840004428,Y_840004428,Z_840004428,date_plat_840004428,INCREMENT_840004428)

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

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

POINT STOCKE_ERRONE

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

erreur_840004428 = i_make_art_rej(g_iartin, g_iartout5, code_rejet_840004428)
erreur_840004428 = 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_840004428 = i_stocke_art( g_iartin, 0, PT_DIVERS, 0 )

RETOUR TRAIT_OK
#___________________________ FIN Twhaco_trt.src_________________________________
