DEFINITION RLVERS_2PP_660003953 "03"
DEFINITION RLVERS_2P5_660003953 "05"
DEFINITION FORMAT_ECC_660003953 "Format_ECC"
DEFINITION MODULE_DISTR_660003953 0xA000
DEFINITION ERR_DUPL_660003953 0x0D0
DEFINITION ERR_DISTR_660003953 0x110
DEFINITION EFFICACE_660003953 0x01
DEFINITION STCK_KO_660003953 0x00
REGISTRE ENTIER erreur_660003953
REGISTRE ENTIER code_rejet_660003953
REGISTRE ENTIER type_cra_660003953
REGISTRE ENTIER date_fin_660003953
REGISTRE POINTEUR pt_flCreatTime_660003953
REGISTRE POINTEUR pt_flCreatDate_660003953
REGISTRE POINTEUR pt_LibelleAlarme_660003953
REGISTRE POINTEUR pt_NameOfFile_660003953
#	- Pcode distribution CRAE Notification : Tcrae_notif_dis.src
#	- creation le 15/09/2006
#	- Auteur : RAS
# Historique :
# 10/12/2010 - JLG - G3R1lot4 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
##########################################################################################################




# initialisation des variables

pt_flCreatDate_660003953 ="20060912115733"
pt_flCreatTime_660003953 ="1157331"

pt_LibelleAlarme_660003953="pt_LibelleAlarme_111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
i_strcpy(pt_LibelleAlarme_660003953,"")
pt_NameOfFile_660003953="NameOfFile0123456780111111111111189012345678901234567890123456789012345672345678190123456789012345678901234567890123456789012345"
i_strcpy(pt_NameOfFile_660003953,"")


trace(" Debut pcode de distribution Tcrae_notif ")
# G3R4 QC852
erreur_660003953 = i_get_art_str(g_iartin, $Tcrae_notif::NameOfFile, pt_NameOfFile_660003953)
# /G3R4 QC852

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

# duplication vers le format TAP2++ et TAP2.5
# g_iartout = TAP2++ et g_iartout2 = TAP2.5
############################################################################


erreur_660003953 = i_dup_art_dest(g_iartin , g_iartout , "Ttapin10")

SI (erreur_660003953 !=0)
ALORS
	trace("Tcrae_notif, erreur de duplication vers le format TAPIN10**")
	code_rejet_660003953 = MODULE_DISTR_660003953 + ERR_DUPL_660003953 + EFFICACE_660003953
	erreur_660003953 = i_format_str2(pt_LibelleAlarme_660003953, "%s> <f=%s", "Ttapin10", pt_NameOfFile_660003953)
	erreur_660003953 = i_PlvMessEmettre(8872, 2, g_iartin, "", 2, code_rejet_660003953, pt_LibelleAlarme_660003953, 0)
	SAUT STOCKE_ERRONE
FINSI

# complement de duplication hors table  TAPIN10

# mis a jour de RecordType   ERREUR de CSTE  NUM/ASCII
erreur_660003953 = i_memcpy_art_field(g_iartout, "RecordType" ,"10", 2)

# mis a jour de FileSequencNumber
erreur_660003953 = i_memcpy_art_field(g_iartout, "FileSeqNumber" , g_iartin.FileSeqNumber[], 5)

# mis a jour du champ FileCreatTime par hhmmss extrait de FileCreatDate (AAAAMMJJhhmmss)

pt_flCreatDate_660003953 = i_get_art_fieldptr(g_iartin , $Tcrae_notif::FileCreatDate)

trace2("**Tcare_notif ,pt_flCreatDate =%s", pt_flCreatDate_660003953, 0)
i_get_sub_str(pt_flCreatDate_660003953, 8, 13 ,pt_flCreatTime_660003953)

trace2("**Tcrae_notif , FileCreateTime extrait de Date:<%s>",pt_flCreatTime_660003953, 0)
erreur_660003953 = i_memcpy_art_field(g_iartout ,"FileCreatTime" ,pt_flCreatTime_660003953 ,6)

# mis a jour du champ SpecVersionNumber
erreur_660003953 = i_memcpy_art_field(g_iartout , "SpecVersNb" , "02" , 2)

# mis jour de IdCrae

SI(i_valid_field_n(g_iartin, $Tcrae_notif::IdCrae))
ALORS
	erreur_660003953 = i_memcpy_art_field(g_iartout, "IdCrae" , g_iartin.IdCrae[], 8)
FINSI

# duplication vers le TAPIN10 TAP2.5
erreur_660003953 = i_dup_art_id(g_iartout, g_iartout5)

# mis a jour du champ ReleaseVersion 03-> 2++ et 05 pour le 2.5

erreur_660003953 = i_memcpy_art_field(g_iartout , "ReleaseVers" , RLVERS_2PP_660003953 , 2)
erreur_660003953 = i_memcpy_art_field(g_iartout5 , "ReleaseVers" , RLVERS_2P5_660003953 , 2)

# Distribution de l'article vers les application destinatrices

type_cra_660003953 = 10
date_fin_660003953 = i_get_art_field(g_iartin , $Tcrae_notif::dfin)
erreur_660003953 = aiguillage_header_notif_660003942(g_iartin , g_iartout , g_iartout5 ,type_cra_660003953, date_fin_660003953, FORMAT_ECC_660003953 )
SI(erreur_660003953 == STCK_KO_660003953)
ALORS
	trace("Tcrae_notif, echec d'envoir de l'article aux applications destinatrices")
	code_rejet_660003953 = MODULE_DISTR_660003953 + ERR_DISTR_660003953 + EFFICACE_660003953
	erreur_660003953 = i_format_str2(pt_LibelleAlarme_660003953, "%s%s", "f=", pt_NameOfFile_660003953)
	erreur_660003953 = i_PlvMessEmettre(8873, 2, g_iartin, "", 2, code_rejet_660003953, pt_LibelleAlarme_660003953, 0)
	SAUT STOCKE_ERRONE
FINSI
trace("** Tcrae_notif fin pcode du module de distribution **")
RETOUR TRAIT_OK

# stockage de l'article en errone

POINT STOCKE_ERRONE

erreur_660003953 = i_make_art_rej(g_iartin, g_iartout2, code_rejet_660003953)
erreur_660003953 = i_stocke_art(g_iartout2,0,PT_ERRONE,0)
trace("**Tcrae_notif , Artcile stocke en errone**")
#	RETOUR TRAIT_OK
RETOUR BAD_BLOC
#------------------------------------- Fin Tcrae_notif_dis.src ---------------------------------------------------------
