DEFINITION MSG_ABSENCE_NDE_860022120 6933
REGISTRE ENTIER erreur_860022120
REGISTRE ENTIER SCT_860022120
REGISTRE ENTIER duree_860022120
REGISTRE ENTIER sdate_860022120
REGISTRE ENTIER code_rejet_860022120
REGISTRE ENTIER nde_860022120
####################################################################
#	article DC DEA telephone analogique VN6 EEC
# URS/RBE - 29/04/03	C14:Utilisation de i_get_art_field au lieu de i_get_artobj_attr
# RBE	05/09/2003	Palliatif pour pb E10B3 duree trop grande
# PSA	03/12/2003	Retrait palliatif pour pb E10B3 duree trop grande (Cg)
# RBE	02/01/2004 	Mise a jour des codes erreur pour envoi en errone (code rejet)
# RBE 	25/03/2004	Inversion dans le code_rejet de efficace et inefficace
# PSA	29/09/2004	FO882 : efficacite uniquement sur la duree
# PSA   07/10/2004	Cm : FO714  suppression cpt ANO
# FAL 	27/02/2006	G2R2Cd FO1705 verbes pcodes FO initialement R2Ca puis R2Cd
# RHE	  12/03/2007	G3R0Ca FO2128 (FO2086): duree trop longue 18h en commut et 19h pour PLATINE 
####################################################################

# Numero de message en cas d'absence de NDE (EV576)


# Test presence NDE (EV576)

#trace("article DC DEA telephone analogique VN6")

duree_860022120 = i_get_art_field(g_iartin, $Tta6dea::DUREE)

#FO2118/FO2086 
#trace1(" FO2086 duree %d ",duree)
SI (duree_860022120 > 0x10B30)
ALORS
		code_rejet_860022120 = 0x5022
		erreur_860022120 = i_PlvMessEmettre(6927,2,g_iartin,"",2,code_rejet_860022120,"Tta6dea",0)
		SAUT STOCKE_ERRONE
FINSI

sdate_860022120 = i_get_art_field(g_iartin, $Tta6dea::DATE)

#####################################################################
# Recuperation du champ SCT
#####################################################################

SCT_860022120 = i_get_art_field(g_iartin, $Tta6dea::SCT)

#####################################################################
# Si SCT : bits BC = 00:
#	heure fin de comm -> heure debut de comm
#	SCT = 01
#
# Si SCT : bits BC = 01: heure debut de comm (OK)
#
#####################################################################

SI !(SCT_860022120 & 0x60)
ALORS		
	sdate_860022120 = sdate_860022120 - duree_860022120
	erreur_860022120 = i_set_art_date(g_iartin,sdate_860022120)
	SCT_860022120 = SCT_860022120 | 0x20
	erreur_860022120 = i_set_art_field(g_iartin, $Tta6dea::SCT, SCT_860022120)
FINSI

#####################################################################
# Determination efficacite
#####################################################################

SI (duree_860022120 == 0)
ALORS 
        SAUT STOCKE_OK_PRT
FINSI

#####################################################################
# Stockage de l'article
#####################################################################

POINT STOCKE_OK


#####################################################################
#	Test : champs NDE absent si non ineff (EV576)
#####################################################################
nde_860022120 = i_valid_field_n(g_iartin, $Tta6dea::NDE)
SI (nde_860022120 == 0)
ALORS
	# Stockage en erronee
	code_rejet_860022120 = 0x5041
	erreur_860022120 = i_PlvMessEmettre(MSG_ABSENCE_NDE_860022120,2,g_iartin,"",1,code_rejet_860022120,0,0)
	SAUT STOCKE_ERRONE
FINSI

POINT STOCKE_OK_PRT

#
# Ajout des champs par le CE sur g_iartin pour stockage en DEADC
#

#FO1705 erreur = i_ajout_tlv(g_iartin, "T3ce", "")
erreur_860022120 = i_ajoutChamp(g_iartin, "T3ce", "", 8+4+2)
g_iartin.Crep = g_irupt_connex%256
g_iartin.Crup = g_irupt_ap%256
g_iartin.Cevt = g_ievtpar%256

erreur_860022120 = i_stocke_art(g_iartin, i_get_art_stocke_date(g_iartin,DATE_PLUS_DUREE), PT_OK, 0)


RETOUR TRAIT_OK

#####################################################################
# POINT STOCKE_ERRONE
#####################################################################

POINT STOCKE_ERRONE

#IFDEF trace_niv1 = 1
trace( "Stockage de l'article en ERRONE" )
#ENDIF

erreur_860022120 = i_make_art_rej(g_iartin, g_iartout, code_rejet_860022120)
erreur_860022120 = i_stocke_art(g_iartout,i_get_art_stocke_date(g_iartin,DATE_PLUS_DUREE), PT_ERRONE,0)

#IFDEF trace_niv1 = 1
trace( "Fin traitement Article Tta6dea ERRONE ERRONE ERRONE ERRONE ERRONE" )
#ENDIF

RETOUR TRAIT_OK

