DEFINITION MODULE_TRAIT_840002012 0x5000
DEFINITION ERR_SEM_840002012 0x040
DEFINITION EFFICACE_840002012 0x01
DEFINITION pt_FicNameGlob_LEN_840002012 255
REGISTRE ENTIER erreur_840002012
REGISTRE ENTIER date_840002012
REGISTRE ENTIER Nb_jourRedist_840002012
REGISTRE ENTIER code_rejet_840002012
REGISTRE POINTEUR pt_NameOfFile_840002012
REGISTRE POINTEUR pt_NbJourRedist_840002012
REGISTRE ENTIER Resultat_recherche_840002012
REGISTRE POINTEUR pt_FicNameTemp_840002012
REGISTRE POINTEUR pt_FicNameGlob_840002012
REGISTRE POINTEUR pt_LibelleAlarme_840002012
#                         - Pcode du module de traitement Tcrae_notif_trt.src : CRAE Notification
#                         - creation le 15/09/2006
#                         - Auteur : RAS
# 13/01/11 - BEA - G3R1 lot4 Verification/Correction des variables (constantes, entiers, pointeurs)
# 19/08/2011 - DECI - G3R4 lot3 QC852, CRAE enrichissement du libelle des alarmes par le nom du fichier collecte
##########################################################################################################
#  Declaration des variables

#ano TT0041
#/ano TT0041




# Initialisation
pt_NameOfFile_840002012 ="012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234"
i_strcpy(pt_NameOfFile_840002012,"")
pt_NbJourRedist_840002012="038977"
i_strcpy(pt_NbJourRedist_840002012,"")

Resultat_recherche_840002012 = 0
pt_FicNameTemp_840002012="pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt_NameOfTemp0123456789pt"
i_strcpy(pt_FicNameTemp_840002012,"")
pt_FicNameGlob_840002012="pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt_NameOfGlob0123456789pt"
i_strcpy(pt_FicNameGlob_840002012,"")
pt_LibelleAlarme_840002012="pt_LibelleAlarme_111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
i_strcpy(pt_LibelleAlarme_840002012,"")

########################################################

trace("**[NOTIFICATION CRAE ] : debut du pcode de traitement**")

# TT0033 plus de modification du g_iartin a cause de pb decoupe gros fichier
erreur_840002012 = i_dup_art_id(g_iartin , g_iartout12)
# /TT0033

# Controle semantiques
#-
# mise a jour du champ T3t1/NameOfFIle pour les articles provenant de la redistribution

SI (i_valid_field_n(g_iartin, $Tcrae_notif::NameOfFile)&& i_valid_field_n(g_iartin,$Tcrae_notif::DateOfRedistri))
ALORS
	trace("**Tcrae_hedare , article issu de la redistribution**")
	erreur_840002012 = i_get_field_str(g_iartin ,"NameOfFile",pt_NameOfFile_840002012)
	date_840002012 = i_get_art_field(g_iartin, $Tcrae_notif::DateOfRedistri)
	Nb_jourRedist_840002012 = i_sdat_to_jdat(date_840002012)
	Nb_jourRedist_840002012 = i_cur_date() - Nb_jourRedist_840002012
	erreur_840002012 = i_EntierToString(Nb_jourRedist_840002012, pt_NbJourRedist_840002012, 4)
	erreur_840002012=i_format_str2(pt_NameOfFile_840002012, "%s%s" ,pt_NameOfFile_840002012 , pt_NbJourRedist_840002012)
	trace2("Tcrae_notif , mis a jour <NameOfFile> par :<%s>", pt_NameOfFile_840002012, 0)
# TT0033 plus de modification du g_iartin a cause de pb decoupe gros fichier
	erreur_840002012 = i_memcpy_art_field(g_iartout12, "NameOfFile",pt_NameOfFile_840002012, i_strlen(pt_NameOfFile_840002012))
# /TT0033
SINON
	# mise a jour de l'article avec le champ NameOfFile

# TT0033 plus de modification du g_iartin a cause de pb decoupe gros fichier
	erreur_840002012 = i_ajout_tlv(g_iartout12, "T3t1_NameOfFile" , "")
	erreur_840002012 = i_resize_tlv(g_iartout12, "T3t1_NameOfFile" , "NameOfFile" ,17)
# /TT0033
	SI(erreur_840002012!=0)
	ALORS
		trace("Tcrae_notif, erreur d ajout du champ <NameOfFile>**")
		code_rejet_840002012 = MODULE_TRAIT_840002012 + ERR_SEM_840002012 + EFFICACE_840002012
		erreur_840002012 = i_format_str2(pt_LibelleAlarme_840002012, "%s> <f=%s", "NameOfFile", g_isource)
		erreur_840002012 = i_PlvMessEmettre(8870, 2, g_iartout12, "", 2, code_rejet_840002012, pt_LibelleAlarme_840002012, 0)
		SAUT STOCKE_ERRONE
	FINSI
# TT0033 plus de modification du g_iartin a cause de pb decoupe gros fichier
	erreur_840002012 = i_resize_tlv(g_iartout12, "T3t1_NameOfFile" , "NbRedist" ,2)
# /TT0033
	SI(erreur_840002012!=0)
	ALORS
		trace("Tcrae_notif, erreur d ajout du champ <NbRedist>**")
		code_rejet_840002012 = MODULE_TRAIT_840002012 + ERR_SEM_840002012 + EFFICACE_840002012
		erreur_840002012 = i_format_str2(pt_LibelleAlarme_840002012, "%s> <f=%s", "NbRedist", g_isource)
		erreur_840002012 = i_PlvMessEmettre(8870, 2, g_iartout12, "", 2, code_rejet_840002012, pt_LibelleAlarme_840002012, 0)
		SAUT STOCKE_ERRONE
	FINSI
# OGA 431
	SI( pt_FicNameGlob_LEN_840002012 < i_strlen(g_isource) )
	ALORS
		trace("variable g_isource plus grande que pointeur de copie de g_isource.")
		code_rejet_840002012 = MODULE_TRAIT_840002012 + 0x0D0 + EFFICACE_840002012
		erreur_840002012 = i_PlvMessEmettre(8870, 2, g_iartout12, "", 2, code_rejet_840002012, "lg NameOfFile > 255", 0)
		SAUT STOCKE_ERRONE
	FINSI
	i_strcpy(pt_FicNameGlob_840002012, g_isource)
	POINT DEBUT_BOUCLE_FIC_NAME
	Resultat_recherche_840002012 = i_recupererValeur(pt_FicNameGlob_840002012, pt_FicNameTemp_840002012, 255, '/')
	SI( Resultat_recherche_840002012 == 0 )
	ALORS
		# On ne fait rien...
		# Le nom de fichier doit dans pt_FicNameTemp
		i_strcpy(pt_NameOfFile_840002012, pt_FicNameTemp_840002012)
		SAUT DEBUT_BOUCLE_FIC_NAME
	SINON
		# Le resultat a ete sauvegarde au coup precedent.
		#i_strcpy(pt_NameOfFile, pt_FicNameTemp)
		trace("Fin boucle NameOfFile")
	FINSI

# OGA 448 : suppression des 9 derniers caracteres du g_isource (checksum)
	i_get_sub_str(pt_NameOfFile_840002012, 0, -10, pt_NameOfFile_840002012)
	SI (i_strlen(pt_NameOfFile_840002012) > 19)
	ALORS
		trace("**Tcrae_notif, erreur : NameOfFile trop long **")
		code_rejet_840002012 = MODULE_TRAIT_840002012 + 0x0D0 + EFFICACE_840002012
		erreur_840002012 = i_format_str2(pt_LibelleAlarme_840002012, "%s=%s", "NameOfFile", pt_NameOfFile_840002012)
		erreur_840002012 = i_PlvMessEmettre(8870, 2, g_iartout12, "", 2, code_rejet_840002012, pt_LibelleAlarme_840002012, 0)
		SAUT STOCKE_ERRONE
	FINSI
# /OGA 448
# OGA 488
# TT0033 plus de modification du g_iartin a cause de pb decoupe gros fichier
	erreur_840002012 = i_memcpy_art_field(g_iartout12, "NameOfFile",pt_NameOfFile_840002012, i_strlen(pt_NameOfFile_840002012))
# /TT0033
# /OGA 488
# /OGA 431
FINSI


#ano TT0041
##############################################################################
# Mise a jour du compteur applicatif <Nom fichier/date de collecte> :1512
###############################################################################
#date = i_DHgetLocalTime(4, 7, i_date_audit())
#erreur = i_get_field_str(g_iartin, "NameOfFile", pt_NameOfFile)

#SI(erreur!=0)
#ALORS
#     trace("**Tcrae_notif, erreur de mise a jour du compteur 1512 **")
#     code_rejet = MODULE_TRAIT + ERR_SEM + EFFICACE
#     erreur = i_format_str2(pt_LibelleAlarme, "%s%s", "f=", pt_NameOfFile)
#     erreur = i_PlvMessEmettre(8871, 2, g_iartout12, "", 3, code_rejet, 1512, pt_LibelleAlarme)
#     SAUT STOCKE_ERRONE
#FINSI
#/ano TT0041

#  Article valide , stockage en OK
trace("**Tcrae_notif, stockage de l'article en OK**")
# TT0033 plus de modification du g_iartin a cause de pb decoupe gros fichier
erreur_840002012 = i_stocke_art(g_iartout12, 0, PT_OK, 0)
# /TT0033
RETOUR  TRAIT_OK


# stockage en errone

POINT STOCKE_ERRONE

# TT0033 plus de modification du g_iartin a cause de pb decoupe gros fichier
erreur_840002012 = i_make_art_rej(g_iartout12, g_iartout2, code_rejet_840002012)
# /TT0033
erreur_840002012 = i_stocke_art(g_iartout2,0,PT_ERRONE,0)
trace("**Tcrae_notif , Artcile stocke en errone**")
#      RETOUR TRAIT_OK
RETOUR BAD_BLOC
#------------------------------ Tcrae_notif_trt.src -------------------------------------------
