DEFINITION C_ARTICLE_860026690 "TwhaSelect"
REGISTRE ENTIER erreur_860026690
REGISTRE ENTIER code_rejet_860026690
REGISTRE ENTIER EFFICACE_860026690
REGISTRE POINTEUR pt_temp_860026690
REGISTRE POINTEUR pt_TYPPRES_860026690
REGISTRE POINTEUR pt_DEBCRED_860026690
REGISTRE POINTEUR pt_AID_NBH_860026690
REGISTRE POINTEUR pt_AID_BSS_860026690
############################################################################
#	Pcode de Traitement TwhaSelect.src
#
#	Article DC Twha : DC ISSU DE LA PFS WHA Orange Select
#
# Historique
#	13/02/2015 - DRE - G4R9 : Creation
#
############################################################################

# Constantes

# Variables fonctionnelles globales

# Pointeurs

############################
# Initialisation Entiers   #
############################
code_rejet_860026690 = 0


############################
# Affectation Pointeurs    #
############################
pt_temp_860026690				= "pt_temp111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
pt_TYPPRES_860026690			= "pt_TYPPRES3333333333333333"
pt_DEBCRED_860026690			= "pt_DEBCRED44444444444444"
pt_AID_NBH_860026690			= "pt_AID_NBHpt_AID_NBH"
pt_AID_BSS_860026690			= "pt_AID_BSSpt_AID_BSS"

############################
# Initialisation Pointeurs #
############################
i_strcpy(pt_temp_860026690,"")
i_strcpy(pt_TYPPRES_860026690,"")
i_strcpy(pt_DEBCRED_860026690,"")
i_strcpy(pt_AID_NBH_860026690,"")
i_strcpy(pt_AID_BSS_860026690,"")

############################
# Debut Traitement         #
############################

# Duplication article entree pour retaillage des longueurs
erreur_860026690 = i_dup_art_id(g_iartin, g_iartout)

EFFICACE_860026690 = 2
##################################################################
# Recuperation des champs
##################################################################


erreur_860026690 = i_get_art_str(g_iartout,$TwhaSelect::TypPres,pt_TYPPRES_860026690)
erreur_860026690 = i_get_art_str(g_iartout,$TwhaSelect::DebCre,pt_DEBCRED_860026690)
erreur_860026690 = i_get_art_str(g_iartout,$TwhaSelect::AID_NBH,pt_AID_NBH_860026690)
erreur_860026690 = i_get_art_str(g_iartout,$TwhaSelect::AID_BSS,pt_AID_BSS_860026690)



##################################################################
# Controles unitaires sur les champs connus de l article
##################################################################

# TYPPRES (Valeur "PO" ou "PE" )
SI ( ( i_strcmp(pt_TYPPRES_860026690, "PO") != 0 ) && ( i_strcmp(pt_TYPPRES_860026690, "PE") != 0 )  && ( i_strcmp(pt_TYPPRES_860026690, "UP") != 0 )  && ( i_strcmp(pt_TYPPRES_860026690, "UR") != 0 ) )
ALORS
	#trace ("__FILE__:__LINE__ #### Valeur de TYPPRES incorrecte #### ")
	code_rejet_860026690 = 0xA080
	code_rejet_860026690 = code_rejet_860026690 + EFFICACE_860026690
	erreur_860026690 = i_format_str2( pt_temp_860026690 , "Valeur TYPPRES : <%s> est incorrecte au lieu de : <%s> ",pt_TYPPRES_860026690,"PO, PE, UP ou UR")
	erreur_860026690 = i_PlvMessEmettre( 6360, 1, g_iartin,"", 3,code_rejet_860026690, C_ARTICLE_860026690, pt_temp_860026690)
	SAUT  STOCKE_ERR
FINSI

# DEBCRED (Valeur <> 0 et <> 1 )
SI ( ( i_strcmp(pt_DEBCRED_860026690, "0") != 0 ) && ( i_strcmp(pt_DEBCRED_860026690, "1") != 0 ) )
ALORS
	#trace ("__FILE__:__LINE__ #### Valeur de DEBCRED incorrecte #### ")
	code_rejet_860026690 = 0xA080
	code_rejet_860026690 = code_rejet_860026690 + EFFICACE_860026690
	erreur_860026690 = i_format_str2( pt_temp_860026690 , "Valeur DEBCRED : <%s> est incorrecte au lieu de : <%s> ",pt_DEBCRED_860026690,"0 ou 1")
	erreur_860026690 = i_PlvMessEmettre( 6360, 1, g_iartin,"", 3,code_rejet_860026690, C_ARTICLE_860026690, pt_temp_860026690)
	SAUT  STOCKE_ERR
FINSI

##################################################################
# Controles croises des champs : AID_NBH et AID_BSS
##################################################################

SI ( ( i_strcmp(pt_AID_NBH_860026690, "") == 0 ) && ( i_strcmp(pt_AID_BSS_860026690, "") == 0 ) )
ALORS
	#trace ("__FILE__:__LINE__ #### Les champs AID_NBH et AID_BSS sont absents #### ")
	code_rejet_860026690 = 0xA080
	code_rejet_860026690 = code_rejet_860026690 + EFFICACE_860026690
	i_strcpy( pt_temp_860026690 , "Controle croise TC20 : AID_NBH et AID_BSS absents a tort. Presence obligatoire de l'un des deux")
	erreur_860026690 = i_PlvMessEmettre( 6360, 1, g_iartin,"", 3,code_rejet_860026690, C_ARTICLE_860026690, pt_temp_860026690)
	SAUT  STOCKE_ERR
FINSI

SI ( ( i_strcmp(pt_AID_NBH_860026690, "") == 1 ) && ( i_strcmp(pt_AID_BSS_860026690, "") == 1 ) )
ALORS
	#trace ("__FILE__:__LINE__ #### Les champs AID_NBH et AID_BSS sont presents #### ")
	code_rejet_860026690 = 0xA080
	code_rejet_860026690 = code_rejet_860026690 + EFFICACE_860026690
	i_strcpy( pt_temp_860026690 , "Controle croise TC21 : AID_NBH et AID_BSS presents a tort. Champs exclusifs")
	erreur_860026690 = i_PlvMessEmettre( 6360, 1, g_iartin,"", 3,code_rejet_860026690, C_ARTICLE_860026690, pt_temp_860026690)
	SAUT  STOCKE_ERR
FINSI


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

POINT STOCKE_OK

#IFDEF trace_niv1 = 1
trace2( "Stockage de l'article %s en OK",C_ARTICLE_860026690,"" )
#ENDIF

erreur_860026690 = i_stocke_art(g_iartout,0,PT_OK,0)

RETOUR TRAIT_OK


#####################################################################
# POINT de branchement : stockage PT_ERRONE
#####################################################################

POINT STOCKE_ERR

#IFDEF trace_niv1 = 1
trace2( "Stockage de l'article %s en ERRONE",C_ARTICLE_860026690,"" )
#ENDIF

erreur_860026690 = i_make_art_rej(g_iartin, g_iartout7, code_rejet_860026690)
erreur_860026690 = i_stocke_art(g_iartout7,0,PT_ERRONE,0)

RETOUR TRAIT_OK

###########################################################################
# POINT de branchement : stockage PT_ELIMINE
###########################################################################
POINT STOCKE_ELM

#IFDEF trace_niv1 = 1
trace2( "Stockage de l'article %s en ELIMINE",C_ARTICLE_860026690,"" )
#ENDIF
erreur_860026690 = i_stocke_art( g_iartin, 0, PT_ELIMINE, 0 )

RETOUR TRAIT_OK
