DEFINITION CREJ_SEMANT_860024907 0x5042
DEFINITION CREJ_TABEXT_860024907 0x50A2
DEFINITION CREJ_CROISE_860024907 0x50F2
REGISTRE ENTIER typenr_860024907
REGISTRE ENTIER orgout_860024907
REGISTRE ENTIER typdr_860024907
REGISTRE ENTIER erreur_860024907
REGISTRE ENTIER code_rejet_860024907
REGISTRE ENTIER date_pivot_860024907
REGISTRE ENTIER dfin_860024907
REGISTRE POINTEUR pt_sgtqs_860024907
REGISTRE POINTEUR pt_fsent_860024907
REGISTRE POINTEUR pt_fssort_860024907
REGISTRE POINTEUR pt_TEMP_860024907
REGISTRE POINTEUR pt_TEMP1_860024907
REGISTRE POINTEUR pt_valeur_860024907
############################################################################
#	Article DC FTLD venant du CTI4G en Tss40
#	Cas d'article: Tftld
#	Pcode de traitement
#
# Historique
#	02/10/2013 - Creation remplacement du pcode de traitement TctiTss40
#
############################################################################





#####################################################################
#       Initialisations
#####################################################################

code_rejet_860024907 = 0

# VerifPcode - RHE # 
typenr_860024907 = 0    
orgout_860024907 = 0     
typdr_860024907 = 0      
date_pivot_860024907 = 0 
dfin_860024907 = 0 

pt_sgtqs_860024907	 = "5566778899001122334455"
pt_fsent_860024907	 = "6677889900112233445566"
pt_fssort_860024907	 = "7788990011223344556677"
pt_TEMP_860024907		 = "8899001122334455667788"
pt_TEMP1_860024907	 = "9900112233445566778899"
pt_valeur_860024907	 = "111111111111111111111111111111111111111111111111111"

i_strcpy(pt_sgtqs_860024907,"")
i_strcpy(pt_fsent_860024907,"")
i_strcpy(pt_fssort_860024907,"")
i_strcpy(pt_TEMP_860024907,"")
i_strcpy(pt_TEMP1_860024907,"")
i_strcpy(pt_valeur_860024907,"")

date_pivot_860024907 = i_get_art_field( g_iartin, $Tftld::dpivot )

#####################################################################
#	Filtrage des articles provenant des commutateurs CTI4G
#	valeurs autorisees de 0 a 5
#####################################################################

typenr_860024907 = i_get_art_field(g_iartin, $Tftld::TYPENR)

SI ((typenr_860024907 < 0x00) || (typenr_860024907 > 0x05))
ALORS
#	alarme n0 6080 : Tftld - erreur semantique sur le champ %s valeur %d 
#	erreur = i_PlvMessEmettre(6080,2,g_iartin,"",2,"TYPENR",typenr,0)
	code_rejet_860024907   = CREJ_SEMANT_860024907
	erreur_860024907 = i_PlvMessEmettre(6080,2,g_iartin,"",3,code_rejet_860024907,"TYPENR",typenr_860024907)
	SAUT STOCKE_ERR
FINSI

#####################################################################
#	Test sur le champ ORGOUT 
#	valeur autorisees de 0 a 4 et 6
#####################################################################

orgout_860024907 = i_get_art_field(g_iartin, $Tftld::ORGOUT)

SI ((orgout_860024907 < 0x00) || ((orgout_860024907 > 0x04) && (orgout_860024907 != 0x06)))
ALORS
#	alarme n0 6080 : Tftld - erreur semantique sur le champ %s valeur %d 
#	erreur = i_PlvMessEmettre(6080,2,g_iartin,"",2,"ORGOUT",orgout,0)
	code_rejet_860024907   = CREJ_SEMANT_860024907
	erreur_860024907 = i_PlvMessEmettre(6080,2,g_iartin,"",3,code_rejet_860024907,"ORGOUT",orgout_860024907)
	SAUT STOCKE_ERR
FINSI

#####################################################################
#	Test sur le champ SGTQS
# Recherche dans la table externe SGTQS
#####################################################################

erreur_860024907 = i_get_art_str(g_iartin,$Tftld::SGTQS, pt_TEMP_860024907)
i_get_sub_str(pt_TEMP_860024907,0,3,pt_sgtqs_860024907)

erreur_860024907 = i_get_attr_str_n ( $E_FTLD::SoNuS, pt_valeur_860024907)


SI( pt_valeur_860024907 == g_inull )
ALORS
	trace2( "ERREUR: code <%s> non trouve dans la table externe code_apache", pt_sgtqs_860024907,"" )
#	alarme n0 8505 : Pcode/Table externe=<%s>, Code=<%s> non trouve dans table externe, Numero EEC=%d 
	erreur_860024907 = i_PlvMessEmettre(8505,2,g_iartin,"",3,"Tftld/code_apache",pt_sgtqs_860024907,g_ieec)
	code_rejet_860024907   = CREJ_TABEXT_860024907
	SAUT STOCKE_ERR
FINSI

#####################################################################
#	Test sur le champ FSENT
#####################################################################
erreur_860024907 = i_get_art_str(g_iartin,$Tftld::FSENT, pt_fsent_860024907)

#####################################################################
#	Test sur le champ FSSORT
#####################################################################
erreur_860024907 = i_get_art_str(g_iartin,$Tftld::FSSORT, pt_fssort_860024907)

#####################################################################
#	Test sur le champ TYPDR
#####################################################################
typdr_860024907 = i_get_art_field(g_iartin, $Tftld::TYPDR)

SI ((typdr_860024907 < 0x00) || (typdr_860024907 > 0x04) )
ALORS
#	alarme n0 6080 : Tftld - erreur semantique sur le champ %s valeur %d 
#	erreur = i_PlvMessEmettre(6080,2,g_iartin,"",2,"TYPDR",typdr,0)
	code_rejet_860024907   = CREJ_SEMANT_860024907
	erreur_860024907 = i_PlvMessEmettre(6080,2,g_iartin,"",3,code_rejet_860024907,"TYPDR",typdr_860024907)
	SAUT STOCKE_ERR
FINSI

#####################################################################
#	controles croises
# 4 1er digits de FSENT <> SGTQS
#####################################################################
i_get_sub_str(pt_fsent_860024907,0,3,pt_TEMP_860024907)

SI (i_strcmp(pt_TEMP_860024907,pt_sgtqs_860024907) == 0)
ALORS
#	alarme n0 6081 : Tftld - controle croise entre SGTQS %s et FSENT %s
#	erreur = i_PlvMessEmettre(6081,2,g_iartin,"",2,pt_sgtqs,pt_fsent,0)
	code_rejet_860024907   = CREJ_CROISE_860024907
	erreur_860024907 = i_PlvMessEmettre(6081,2,g_iartin,"",3,code_rejet_860024907,pt_sgtqs_860024907,pt_fsent_860024907)
	SAUT STOCKE_ERR
FINSI

#####################################################################
#	controles croises
# 4 1er digits de FSSORT <> SGTQS
#####################################################################
i_get_sub_str(pt_fssort_860024907,0,3,pt_TEMP_860024907)

SI (i_strcmp(pt_TEMP_860024907,pt_sgtqs_860024907) == 0)
ALORS
#	alarme n0 6082 : Tftld - controle croise entre SGTQS %s et FSSORT %s
#	erreur = i_PlvMessEmettre(6082,2,g_iartin,"",2,pt_sgtqs,pt_fssort,0)
	code_rejet_860024907   = CREJ_CROISE_860024907
	erreur_860024907 = i_PlvMessEmettre(6082,2,g_iartin,"",3,code_rejet_860024907,pt_sgtqs_860024907,pt_fssort_860024907)
	SAUT STOCKE_ERR
FINSI

#####################################################################
#       controles croises
# 2 1er digits de FSENT=WW et 2 1er digits de FSSORT=WW
# Envoi en Errone des "DC Double Boucle"
# 			Mail de P. Loiseau du 8/01/04 12:11
#####################################################################
i_get_sub_str(pt_fsent_860024907,0,1,pt_TEMP_860024907)

i_get_sub_str(pt_fssort_860024907,0,1,pt_TEMP1_860024907)

SI ( (i_strcmp(pt_TEMP_860024907,"WW") == 0) && (i_strcmp(pt_TEMP1_860024907,"WW") == 0) )
ALORS
	SAUT STOCKE_DIVERS
FINSI

#####################################################################
# Mise a jour de l'enveloppe E_FTLD
#####################################################################

dfin_860024907 = i_get_art_field(g_iartin, $Tftld::dfin)
erreur_860024907 = i_set_attr_val_n ( $E_FTLD::DateMetroFin, dfin_860024907)


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

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

#erreur = i_stocke_art(g_iartout2,0,PT_OK,0)
erreur_860024907 = i_stocke_art(g_iartin,0,PT_OK,0)

RETOUR TRAIT_OK

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

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

erreur_860024907 = i_make_art_rej(g_iartin, g_iartout, code_rejet_860024907)
erreur_860024907 = i_stocke_art(g_iartout,0,PT_ERRONE,0)

RETOUR TRAIT_OK

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

#IFDEF trace_niv1 = 1
trace( "Stockage de l'article Tftld en ELIMINE" )
#ENDIF
erreur_860024907 = i_stocke_art( g_iartin, 0, PT_ELIMINE, 0 )

RETOUR TRAIT_OK

###########################################################################
# POINT de branchement : stockage PT_DIVERS
############################################################################
POINT STOCKE_DIVERS

trace( "Stockage de l'article Tftld en Divers")
erreur_860024907 = i_stocke_art( g_iartin, 0, PT_DIVERS, 0)
RETOUR TRAIT_OK

