DEFINITION C_Article_860026328 "Tminiwl2"
DEFINITION Cstr_ECCFACT_CTT1min_860026328 "CTT1min"
DEFINITION Cstr_ECCFACT_CTT2min_860026328 "CTT2min"
DEFINITION Cstr_ECCFACT_FEMS_860026328 "FEMS"
DEFINITION Cstr_ECCFACT_NOVAH_860026328 "NOVAH"
DEFINITION C_InstSYMPH_860026328 "SYMP"
DEFINITION C_TSymTminiwl2_860026328 "TsymTminiwl2"
DEFINITION C_InstCTT1_860026328 "CTT1min"
DEFINITION C_TCttminiwl2_860026328 "TcttTminiwl2"
DEFINITION C_InstCTT2_860026328 "CTT2min"
DEFINITION C_InstFEMS_860026328 "FEMS"
DEFINITION C_TfemsTminiwl2_860026328 "TfemsTminiwl2"
DEFINITION C_InstNOVAH_860026328 "NOVAHmini"
DEFINITION C_TnovahTminiwl2_860026328 "TnovahMINIwl2"
REGISTRE ENTIER instSYMPH_860026328
REGISTRE ENTIER instCTT1_860026328
REGISTRE ENTIER instCTT2_860026328
REGISTRE ENTIER instFEMS_860026328
REGISTRE ENTIER instNOVAH_860026328
REGISTRE ENTIER date_gmt_860026328
REGISTRE ENTIER b_DebutAccount_860026328
REGISTRE ENTIER EFFICACE_860026328
REGISTRE ENTIER erreur_860026328
REGISTRE ENTIER res_860026328
REGISTRE ENTIER code_errone_860026328
REGISTRE ENTIER bSIGNE_860026328
REGISTRE ENTIER b_CTT1_860026328
REGISTRE ENTIER b_CTT2_860026328
REGISTRE ENTIER b_FEMS_860026328
REGISTRE ENTIER lg_IDUS_NUM_860026328
REGISTRE ENTIER EnvoiReqConsTabDist_TD_Fixe_state_860026328
REGISTRE POINTEUR pt_IDUS_N_860026328
REGISTRE POINTEUR pt_RO_adr_IDUS_N_860026328
REGISTRE POINTEUR pt_BUF260_860026328
REGISTRE POINTEUR pt_BUF60_860026328
REGISTRE POINTEUR pt_BUF40_860026328
REGISTRE POINTEUR pt_BUF20_860026328
REGISTRE POINTEUR pt_sgtqs_860026328
REGISTRE POINTEUR pt_ACC_INST_860026328
REGISTRE POINTEUR pt_ECCFACT_860026328
############################################################################
# Fichier : Tminiwl2B_dis.src
#
# Distribution : Tminiwl2
#
# En sortie :
#      utilitaire  Conversion  - g_iartout10

#    SYMPHONIE - TsymTminiwl2  - g_iartout6
#         SIVM - TsivmTminiwl2 - g_iartout5
#         CTT1 - TcttTminiwl2  - g_iartout4
#         CTT2 - TcttTminiwl2  - g_iartout3

#         FEMS - TfemsMINIwl2  - g_iartout2
#         NOVAH -TnovahMINIwl2 - g_iartout7
#
# REFERENTIELS :
# TD_Fixe FEMS (-1-4D)

# HISTORIQUE :
#	08/02/08 -FAL- G3R6 creation FEMS et NOVAH
#	28/02/08 -FAL- FTSA-G3R6 FO2326 une seule ECC FEMS
#	17/10/08 -RHE- FTSA-G3R10 QC105 ("commence par '/account'" devient "contient '/account'")
#	05/05/09 -JLG- FTSA-G3R13 QC242 : NOVAH T3 TYPE en ascii
#	28/05/2013 - THE - G4R3 suppression envoi vers SIVM
#
############################################################################

############################################################################
# Declarations
############################################################################


#G4R3
#G4R3\



#G3R6








#---------------------------------------------------------------------------
# INITIALISATION
#---------------------------------------------------------------------------
pt_IDUS_N_860026328	= "112116095073068085083095078112116095073068085083095078"
pt_RO_adr_IDUS_N_860026328 = "112116095082079095097100114095112116095073068085083095078112116095073068085083095078"
pt_BUF260_860026328	= "1234567890123456789212345612345123456789123456789123456123451234567891234567891234561234512345678912345678912345612345123456789123456789123456123451234567891234567891234561234512345678912345678912345612345123456789123456789123456123451234567891234567891234561"
pt_BUF60_860026328 	= "606060606060606060606060606060606060606060606060606060606060"
pt_BUF40_860026328 	= "4040404040404040404040404040404040404040"
pt_BUF20_860026328	= "11223344556677889900"
pt_sgtqs_860026328	= "1111111111111111111111"
pt_ACC_INST_860026328	= "2222222222222222222222"
pt_ECCFACT_860026328	= "4444444444444444444"

instSYMPH_860026328	= 0
#G4R3
#instSIVM	= 0
instCTT1_860026328	= 0
instCTT2_860026328	= 0
#G3R6
b_CTT1_860026328	= 0
b_CTT2_860026328	= 0
instFEMS_860026328	= 0
#FO2326 instFEMSmini = 0
instNOVAH_860026328	= 0
b_FEMS_860026328	= 0
lg_IDUS_NUM_860026328 = 0
date_gmt_860026328 = 0
b_DebutAccount_860026328 = 0
EnvoiReqConsTabDist_TD_Fixe_state_860026328 = -1

EFFICACE_860026328	= 0
erreur_860026328		= 0
res_860026328		= 0
code_errone_860026328	= 0
bSIGNE_860026328		= 0

# Allocation 
i_strcpy(pt_IDUS_N_860026328,"")
i_strcpy(pt_RO_adr_IDUS_N_860026328,"")
i_strcpy(pt_sgtqs_860026328,"")
i_strcpy(pt_ACC_INST_860026328,"")
i_strcpy(pt_ECCFACT_860026328,"")
i_strcpy(pt_sgtqs_860026328,"")
i_strcpy(pt_BUF260_860026328,"")
i_strcpy(pt_BUF60_860026328,"")
i_strcpy(pt_BUF40_860026328,"")
i_strcpy(pt_BUF20_860026328,"")

############################################################################
# Variables Fonctionnelles Globales
############################################################################
#
#----------------------------------------------------------------------------
# SGTQS
# 
#----------------------------------------------------------------------------
i_strcpy(pt_sgtqs_860026328,i_LireEECSGTQS( g_ieec ))

 # date_gmt pour Referentiel
date_gmt_860026328 = i_get_attr_val_n($E_WL2::debut)


#variable b_DebutAccount vrai si FD/account_poid commence par /account#####
erreur_860026328 = i_get_art_str(g_iartin,$Tminiwl2::accpoid,pt_BUF260_860026328)
#trace1("__LINE__ retour i_get_art_str accpoid <%d>",erreur)
#trace2("__LINE__ accpoid en entree <%s> ", pt_BUF260, "")

# G3R10 QC105
#SI (i_adequation_chaine_expreg(pt_BUF260, "^/account") == 0)
SI (i_adequation_chaine_expreg(pt_BUF260_860026328, "/account") == 0)
ALORS
	b_DebutAccount_860026328=1
SINON
	b_DebutAccount_860026328=0
	#G3R6 pseudo_aid ou numero de compte BSS migre 9 premiers caracteres du FD/account_poid
	#variable pt_IDUS_N pseudo_aid ou numero BSS migre #########################
	#Tminiwl2::accpoid obligatoire 256 octets max
	res_860026328 = i_get_art_field(g_iartin,$Tminiwl2::L3accpoid)
	SI (res_860026328 <= 256) && (res_860026328 > 8)
	ALORS
		i_get_sub_str(pt_BUF260_860026328,0,8,pt_IDUS_N_860026328)

		############################################################################
		# Referentiel fixe FEMS; envoi requete TD_Fixe
		############################################################################
		i_strcpy(pt_RO_adr_IDUS_N_860026328, "00000000000000000000")
		lg_IDUS_NUM_860026328  = i_conv_ascii_dcb(pt_IDUS_N_860026328 , pt_RO_adr_IDUS_N_860026328)

		i_strcpy(pt_BUF260_860026328,"12345678901234567890")
		res_860026328= i_ConvertirChaine(pt_RO_adr_IDUS_N_860026328, lg_IDUS_NUM_860026328, 1, pt_BUF260_860026328, 9, 3)
		SI res_860026328 > 0
		ALORS
			i_get_sub_str(pt_BUF260_860026328,0, res_860026328 -1 ,pt_BUF260_860026328)
			SI  i_strcmp(pt_IDUS_N_860026328,pt_BUF260_860026328)==0
			ALORS

				#trace2("__LINE__ debut req TD_Fixe IDUS_NUM <%s> ", pt_IDUS_N, "")
				#trace1("   ...lg_IDUS_NUM <%d>",lg_IDUS_NUM)
				EnvoiReqConsTabDist_TD_Fixe_state_860026328 = i_EnvoiReqConsTabDist(TD_Fixe, date_gmt_860026328, pt_RO_adr_IDUS_N_860026328, lg_IDUS_NUM_860026328, 0, 1)
				SI ( EnvoiReqConsTabDist_TD_Fixe_state_860026328 != 0)
				ALORS
					trace("Erreur i_EnvoiReqConsTabDist FEMS")
					code_errone_860026328 = 0xA0C0
					code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
					erreur_860026328 = i_PlvMessEmettre(8607,2,g_iartin,"",3,code_errone_860026328,"FEMS",C_Article_860026328)
					SAUT DISTRI_ERR
				FINSI
			#SINON
			#	trace("__LINE__ ERREUR pt_IDUS_N i_conv_ascii_dcb dcb_ascii")
			#	trace2("               avant <%s>",pt_IDUS_N,"")
			#	trace2("               apres <%s>",pt_BUF260,"")
			FINSI
		#SINON
		#	i_strcpy(pt_BUF260,"erreur i_ConvertirChaine")
		FINSI
	#SINON
	#	trace1("__FILE__:__LINE__ ERR lecture IDUS_N car taille accpoid incompatible <%d>", res)
	FINSI
FINSI
#trace1("__LINE__ b_DebutAccount<%d>",b_DebutAccount)
#trace2("__LINE__ IDUS_N <%s> ", pt_IDUS_N, "")
#trace1("    ... lg_IDUS_NUM <%d>",lg_IDUS_NUM)
#trace1("    ... EnvoiReqConsTabDist_TD_Fixe_state <%d> (0 pour OK)",EnvoiReqConsTabDist_TD_Fixe_state)


############################################################################
# Attente requetes Table de Distribution
############################################################################
############################################################################
# Recherche Instances des ECC
############################################################################

#trace("----------- Recherche des instances --------------")
#---------------------------------------------------------------------------
#  SYMPHONIE
#--------------------------------------------------------------------------- 
instSYMPH_860026328=i_LireInstanceECC(C_InstSYMPH_860026328)
##trace1("instSYMPH=<%d>",instSYMPH)
SI (!instSYMPH_860026328 )
ALORS
	trace("pas d instance SYMPHONIE")
	code_errone_860026328 = 0xA0B0
	code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
	erreur_860026328 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026328,C_InstSYMPH_860026328,C_Article_860026328)
	SAUT DISTRI_ERR
FINSI

#---------------------------------------------------------------------------
##G4R3  SIVM
#--------------------------------------------------------------------------- 
#instSIVM=i_LireInstanceECC(C_InstSIVM)
##trace1("instSIVM=<%d>",instSIVM)
#SI (!instSIVM )
#ALORS
#	trace("pas d instance SIVM")
#	code_errone = 0xA0B0
#	code_errone = code_errone + EFFICACE
#	erreur = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone,C_InstSIVM,C_Article)
#	SAUT DISTRI_ERR
#FINSI

#---------------------------------------------------------------------------
#  CTT1
#--------------------------------------------------------------------------- 
instCTT1_860026328 =i_LireInstanceECC(C_InstCTT1_860026328)
##trace1("instCTT1=<%d>",instCTT1)
SI (!instCTT1_860026328 )
ALORS
	trace("pas d instance CTT1")
	code_errone_860026328 = 0xA0B0
	code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
	erreur_860026328 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026328,C_InstCTT1_860026328,C_Article_860026328)
	SAUT DISTRI_ERR
FINSI

#---------------------------------------------------------------------------
#  CTT2
#--------------------------------------------------------------------------- 
instCTT2_860026328 =i_LireInstanceECC(C_InstCTT2_860026328)
##trace1("instCTT1=<%d>",instCTT1)
SI (!instCTT2_860026328 )
ALORS
	trace("pas d instance CTT2")
	code_errone_860026328 = 0xA0B0
	code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
	erreur_860026328 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026328,C_InstCTT2_860026328,C_Article_860026328)
	SAUT DISTRI_ERR
FINSI

#---------------------------------------------------------------------------
#  FEMS FO2326
#---------------------------------------------------------------------------
instFEMS_860026328 =i_LireInstanceECC(C_InstFEMS_860026328)
##trace1("instFEMS=<%d>",instFEMS)
SI (!instFEMS_860026328 )
ALORS
	trace("pas d instance FEMS")
	code_errone_860026328 = 0xA0B0
	code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
	erreur_860026328 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026328,C_InstFEMS_860026328,C_Article_860026328)
	SAUT DISTRI_ERR
FINSI

#---------------------------------------------------------------------------
#  NOVAH G3R6
#--------------------------------------------------------------------------- 
instNOVAH_860026328 =i_LireInstanceECC(C_InstNOVAH_860026328)
##trace1(instNOVAH"InstNOVAH=<%d>",instNOVAH)
SI (!instNOVAH_860026328 )
ALORS
	trace("pas d instance NOVAH")
	code_errone_860026328 = 0xA0B0
	code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
	erreur_860026328 = i_PlvMessEmettre(8601,2,g_iartin,"",3,code_errone_860026328,C_InstNOVAH_860026328,C_Article_860026328)
	SAUT DISTRI_ERR
FINSI

############################################################################
# Lecture requete sur Referentiel TD_Fixe pour determination FEMS
############################################################################
b_FEMS_860026328 = 0
SI (EnvoiReqConsTabDist_TD_Fixe_state_860026328 == 0)
ALORS
	erreur_860026328 = i_LireReqConsTabDist()
	#trace1("RETOUR i_LireReqConsTabDist retour requette TD_Fixe, erreur=<%d>",erreur)
	SI ( erreur_860026328 != 0 )
	ALORS
		#trace1( ">>>__LINE__>>> Erreur i_LireReqConsTabDist FEMS: <%d>", erreur)
		code_errone_860026328 = 0xA0C0
		code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
		erreur_860026328 = i_PlvMessEmettre(8607, 2, g_iartin, "", 3, code_errone_860026328, "Erreur i_LireReqConsTabDist TD_Fixe ", C_Article_860026328)
		SAUT DISTRI_ERR
	FINSI

	res_860026328 = i_LireInfoECC(instFEMS_860026328, i_LireEntierECCv(instFEMS_860026328))
	SI (res_860026328 != 0)
	ALORS
		b_FEMS_860026328 = 1
	FINSI
	#trace1("__LINE__ IDUS_N present dans FEMS TD_Fixe <%d>",b_FEMS)
FINSI

############################################################################
# Critere de distribution G3R6 modof CTT1 et 2    ajout FEMS et NOVAH
############################################################################
#SIVM et SYMPHONIE tous les DC
#CTT1 si account_instance =0 
#     G3R6   et si FD/account_poid commence par /account
#CTT2 si account_instance =1
#     G3R6   et si FD/account_poid commence par /account
#FEMS   pas CTTx et IDUS_N dans table Fixe
#NOVAH  pas CTTx et pas FEMS

#variable ACC_INST ########################################################
erreur_860026328 = i_get_art_str(g_iartin,$Tminiwl2::accinstance,pt_ACC_INST_860026328)
#trace2("accinstance <%s> ", pt_ACC_INST, "")

SI b_DebutAccount_860026328
ALORS
	SI (i_strcmp(pt_ACC_INST_860026328, "0")==0)
	ALORS
		#masque#trace("accinstance = 0 donc CCT1 sera alimentee")
		erreur_860026328 = i_AjouterCouranteECC(instCTT1_860026328)
		b_CTT1_860026328 = 1
		i_strcpy(pt_ECCFACT_860026328, Cstr_ECCFACT_CTT1min_860026328)
	SINON
		SI (i_strcmp(pt_ACC_INST_860026328, "1")==0)
		ALORS
			#masque#trace("accinstance = 1 donc CCT2 sera alimentee")
			erreur_860026328 = i_AjouterCouranteECC(instCTT2_860026328)
			b_CTT2_860026328 = 1
			i_strcpy(pt_ECCFACT_860026328, Cstr_ECCFACT_CTT2min_860026328)
		FINSI
	FINSI
FINSI

SI (!b_CTT1_860026328 && !b_CTT2_860026328)
ALORS
	SI b_FEMS_860026328
	ALORS
		#FO2326 erreur = i_AjouterCouranteECC(instFEMSmini)
		erreur_860026328 = i_AjouterCouranteECC(instFEMS_860026328)
		i_strcpy(pt_ECCFACT_860026328, Cstr_ECCFACT_FEMS_860026328)
	SINON
		erreur_860026328 = i_AjouterCouranteECC(instNOVAH_860026328)
		i_strcpy(pt_ECCFACT_860026328, Cstr_ECCFACT_NOVAH_860026328)
	FINSI
FINSI

#---------------------------------------------------------------------------
##G4R3 Ajout de SIVM a la liste
#--------------------------------------------------------------------------- 
# Tous les appels sont pour SIVM
#erreur = i_AjouterCouranteECC(instSIVM)


#---------------------------------------------------------------------------
# Ajout de SYMPHONIE a la liste
#--------------------------------------------------------------------------- 
# Tous les appels sont pour SYMPHONIE
erreur_860026328 = i_AjouterCouranteECC(instSYMPH_860026328)


############################################################################
# Mises au format
############################################################################

#---------------------------------------------------------------------------
##G4R3 SIVM g_iartout5 Mises au format (avant convertisseur de sortie)
#---------------------------------------------------------------------------
#SI ( !i_ChercherCouranteECC(instSIVM) )
#ALORS
#	#trace("[Tminiwl2_dis] mini wanadoo lot2 duplication vers SIVM")
#	# si i_dup_art_id echoue, cad  retour != 0
#	SI ( i_dup_art_tab(g_iartin,g_iartout5,C_TSivmTminiwl2) )
#	ALORS
#		trace("Erreur de i_dup_art")
#		code_errone = 0xA0D0
#		code_errone = code_errone + EFFICACE
#		erreur = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone,C_TSivmTminiwl2,C_Article)
#		SAUT  DISTRI_ERR	
#	FINSI
#
#	 #champ sendtime DUPTLV NU
#	 #champ accpoid DUPTLV NU
#	 #champ accinstance DUPTLV NU
#	 #champ servpoid DUPTLV NU
#	 #champ servinstance DUPTLV NU
#	 
#    #champ serial transforamtion HEHA ASCII 16 octets vers DEC ASCII 20 octets par decoupage
#	        #champ serial gros probleme de conversion
#         # entree en ascii 16 octets HEXA vers sortie 20 octets DECIMAL
#         # rang 0 send number
#         # rang 1 a 4 temps en secondes
#         # rang 5 a 7 increment dans les faits 6 et 7 sont a 0
#        
#         # pt_BUF260 pour ce qui est en entree et pt_BUF60 pour construction sortie
#         #  pt_20 40 et 60 pour travail intermediaire
#        
#       	erreur=i_cree_art("Conversion",g_iartout10)
#	#pour info dans Conversion  numHEXA est obligatoire, numerique, hexadecimal
#        erreur=  i_ajoutChamp(g_iartin,"T3ASCII2NUM","ASCII2NUM" ,0)
#
#	erreur = i_get_art_str(g_iartin, $Tminiwl2::serial, pt_BUF260)
#	
#	# RANG 0 2 octets vers 3
# 	i_get_sub_str(pt_BUF260, 0, 1,pt_BUF20)
#	#masque#trace2("SERIAL RANG 0   entree ASCII HEXA <%s> ",pt_BUF20 ,"")
#	erreur= i_set_art_str(g_iartout10,$Conversion::ASCII2NUM, pt_BUF20)
#	erreur= i_conv_field("ASCII2NUM",g_iartout10,3,g_iartin,1,0)
#	res= i_get_art_field(g_iartin, $Tminiwl2::ASCII2NUM)
#	erreur= i_set_art_field(g_iartout10,$Conversion::numHEXA , res)
#	erreur= i_get_art_str(g_iartout10,$Conversion::numHEXA, pt_BUF20)
#          # pour bourrer sur 3 octets
#	erreur = i_format_str2(pt_BUF40 ,"%s%s", "000" ,pt_BUF20)
#          # pour preparer sortie
#	i_get_sub_str(pt_BUF40, -3, -1,pt_BUF60)
#	#masque#trace2("SERIAL RANG 0  sortie  ASCII DEC  <%s> ",pt_BUF60 ,"")
#	
#	# RANG 1 a 4  4 octets vers 10
# 	i_get_sub_str(pt_BUF260, 2, 9,pt_BUF20)
#	#masque#trace2("SERIAL RANG 1a4 entree ASCII HEXA <%s> ",pt_BUF20 ,"")
#	erreur= i_set_art_str(g_iartout10,$Conversion::ASCII2NUM, pt_BUF20)
#	erreur= i_conv_field("ASCII2NUM",g_iartout10,3,g_iartin,1,0)
#	res= i_get_art_field(g_iartin, $Tminiwl2::ASCII2NUM)
#	erreur= i_set_art_field(g_iartout10,$Conversion::numHEXA , res)
#	erreur= i_get_art_str(g_iartout10,$Conversion::numHEXA, pt_BUF20)
#          # pour bourrer sur 10 octets
#	erreur = i_format_str2(pt_BUF40 ,"%s%s", "0000000000" ,pt_BUF20)
#	i_get_sub_str(pt_BUF40, -10, -1,pt_BUF20)
#	#masque#trace2("SERAIL RANG 1a4 sortie ASCII DEC  <%s> ",pt_BUF20 ,"")
#          # pour preparer sortie
#	i_strcpy(pt_BUF40 ,pt_BUF60 )
#	erreur = i_format_str2(pt_BUF60 ,"%s%s", pt_BUF40 ,pt_BUF20)
#
#	#FO2161 # RANG 5 a 7  3 octets vers 10   en fait uniquement rang 5
# 	#FO2161 i_get_sub_str(pt_BUF260, 10, 11,pt_BUF20)
# 	# RANG 5 a 7   3 octets HEXA ASCII  vers 6 octets DEC ASCII  en fait uniquement rang fin du 5 ,6 et 7 le debut du 5 est perdu
# 	i_get_sub_str(pt_BUF260, 11, 15,pt_BUF20)
#	#masque#trace2("SERIAL RANG 5   entree ASCII HEXA <%s> ",pt_BUF20 ,"")
#	erreur= i_set_art_str(g_iartout10,$Conversion::ASCII2NUM, pt_BUF20)
#	erreur= i_conv_field("ASCII2NUM",g_iartout10,3,g_iartin,1,0)
#	res= i_get_art_field(g_iartin, $Tminiwl2::ASCII2NUM)
#	erreur= i_set_art_field(g_iartout10,$Conversion::numHEXA , res)
#	erreur= i_get_art_str(g_iartout10,$Conversion::numHEXA, pt_BUF20)
#          # pour bourrer sur 10 octets
#	#FO2161 erreur = i_format_str2(pt_BUF40 ,"%s%s", "000" ,pt_BUF20)
#	#FO2161 i_get_sub_str(pt_BUF40, -3, -1,pt_BUF20)
#	erreur = i_format_str2(pt_BUF40 ,"%s%s", "0000000" ,pt_BUF20)
#	i_get_sub_str(pt_BUF40, -7, -1,pt_BUF20)
#	#masque#trace2("SERIAL RANG 5a7   sortie ASCII DEC  <%s> ",pt_BUF20 ,"")
#          # pour preparer sortie
#	i_strcpy(pt_BUF40 ,pt_BUF60 )
#	erreur = i_format_str2(pt_BUF60 ,"%s%s", pt_BUF40 ,pt_BUF20)
#	#masque#trace2("SERIAL 0 et 1a4 et 5 sortie ASCII DEC  <%s> ",pt_BUF60 ,"")
#        
#          #FO2161 # pour mettre dans le champs 20 octets en sortie
#	#FO2161 erreur = i_format_str2(pt_BUF40 ,"%s%s", pt_BUF60 ,"0000")
#	#masque#trace2("SERIAL sortie ASCII DEC  <%s> ",pt_BUF40 ,"")
# 	 #masque#trace2("SIVM  xxxx  serial <%s>" , pt_BUF40,"")
#	#FO2161 res = i_strlen(pt_BUF40)
#	res = i_strlen(pt_BUF60)
#	erreur= i_resize_tlv(g_iartout5,"T3serial", "serial", res) 
#	#FO2161 erreur= i_set_art_str(g_iartout5, $TsivmTminiwl2::serial, pt_BUF40)
#	erreur= i_set_art_str(g_iartout5, $TsivmTminiwl2::serial, pt_BUF60)
#        
#	erreur= i_supprChamp(g_iartin,"T3ASCII2NUM")
#
#
#	 #champ DATE DUPTLV NU
#	 #champ starttimetz DUPTLV NU
#	 #champ starttimedst DUPTLV NU
#	 #champ minilogin DUPTLV NU
#	 
#	 #champ sestimevalue modification taille en sortie
#	erreur = i_get_art_str(g_iartin, $Tminiwl2::sestimevalue, pt_BUF20)
#	res = i_strlen(pt_BUF20)
#	SI (res > 10)
#	ALORS
#	   i_strcpy(pt_BUF40,pt_BUF20)
#	   i_get_sub_str(pt_BUF20, -10, -1,pt_BUF40)
#	   res = 10
#	FINSI
#	erreur = i_resize_tlv(g_iartout5,"T3sestimevalue", "sestimevalue", res)
#	erreur = i_set_art_str(g_iartout5, $TsivmTminiwl2::sestimevalue, pt_BUF20)
#	
#	 #champ sestimeunit DUPTLV NU
#	 
#	 #champ servicecode FO1559 peut etre vide
#	erreur = i_ajoutChamp(g_iartout5, "T3servicecode", "servicecode",0)
#	SI (i_valid_field(g_iartin, "servicecode")==0)
#	ALORS
#		erreur = i_resize_tlv(g_iartout5,"T3servicecode", "servicecode",0)
#		erreur = i_set_art_str(g_iartout5, $TsivmTminiwl2::servicecode, "")
#	SINON
#		erreur = i_get_art_str(g_iartin, $Tminiwl2::servicecode, pt_BUF40)
#		res = i_strlen(pt_BUF40)
#		erreur = i_resize_tlv(g_iartout5,"T3servicecode", "servicecode",res)
#		erreur = i_set_art_str(g_iartout5, $TsivmTminiwl2::servicecode, pt_BUF40)
#	FINSI
#	
#	 #champ rate DUPTLV 
#
#    #champ amountvalue transformation de centine en 0.00 negatif possible
#	erreur= i_get_art_str(g_iartin, $Tminiwl2::amountvalue, pt_BUF20)
#	
#	  #recheche du signe
#	i_get_sub_str(pt_BUF20,0,0,pt_BUF40)
#	bSIGNE=0
#	SI(i_strcmp(pt_BUF40,"-")==0)
#	ALORS
#	  #memoriser pour le mettre en sortie et travail sans le signe
#	  bSIGNE=1
#	  i_strcpy(pt_BUF40,pt_BUF20)
#	  i_get_sub_str(pt_BUF40,1,-1,pt_BUF20)  
#	  #masque#trace2("amountvalue sans signe <%s>" , pt_BUF20, "")
#	FINSI
#	
#	res = i_strlen(pt_BUF20)
#	SI (res >2)
#	ALORS
#		 #decoupage simple avec ajout "."
#		i_get_sub_str(pt_BUF20,0,res -3, pt_BUF40)
#		 #masque#trace2("amountvalue avant . <%s>", pt_BUF40,"")
#		i_get_sub_str(pt_BUF20,-2,-1, pt_BUF60)
#		 #masque#trace2("amountvalue apres . <%s>", pt_BUF60,"")
#		erreur = i_format_str2(pt_BUF20 ,"%s%s", pt_BUF40 ,".")
#		 #masque#trace2("amountvalue etape1  <%s>", pt_BUF20,"")
#		erreur = i_format_str2(pt_BUF40 ,"%s%s",pt_BUF20, pt_BUF60)
#		 #masque#trace2("amountvalue etape2  <%s>", pt_BUF40,"")		
#	SINON
#		 #ajout des "0" et du "." pour obtenir un style "0.00
#		SI (res == 0)
#		ALORS
#			i_strcpy(pt_BUF40,"0.00")
#		SINON
#			SI (res == 1)
#			ALORS
#				erreur = i_format_str2(pt_BUF40 ,"%s%s","0.0",pt_BUF20)
#			SINON
#				erreur = i_format_str2(pt_BUF40 ,"%s%s","0.",pt_BUF20)
#			FINSI
#		FINSI
#	FINSI
#	#masque#trace2("SIVM amountvalue sans signe <%s>", pt_BUF40,"")
#	res = i_strlen(pt_BUF40)
#	SI (bSIGNE==0)
#	ALORS
#		erreur= i_resize_tlv(g_iartout5,"T3amountvalue", "amountvalue",res)
#	SINON
#		i_strcpy(pt_BUF20,pt_BUF40)
#		erreur = i_format_str2(pt_BUF40 ,"%s%s","-", pt_BUF20)
#		erreur= i_resize_tlv(g_iartout5,"T3amountvalue", "amountvalue",res+1)
#	FINSI
#	#masque#trace2("SIVM champ amountvalue <%s>", pt_BUF40,"")
#	erreur= i_set_art_str(g_iartout5, $TsivmTminiwl2::amountvalue, pt_BUF40)
#	 
#    #champ amountunit  transformation sans centine
#	erreur= i_get_art_str(g_iartin, $Tminiwl2::amountunit, pt_BUF20)
#
#	erreur= i_resize_tlv(g_iartout5,"T3amountunit", "amountunit", 3)
#	SI (i_strcmp(pt_BUF20, "cEUR")==0)
#	ALORS
#		erreur= i_set_art_str(g_iartout5, $TsivmTminiwl2::amountunit, "EUR")
#	SINON
#		SI(i_strcmp(pt_BUF20, "cFRF")==0)
#		ALORS
#			erreur= i_set_art_str(g_iartout5, $TsivmTminiwl2::amountunit, "FRF")
#		FINSI
#	FINSI	 
# 
#	 
#    #champ unitpricevalue transformation de centine en 0.00
#	erreur= i_get_art_str(g_iartin, $Tminiwl2::unitpricevalue, pt_BUF20)
#	
#	  #recheche du signe
#	i_get_sub_str(pt_BUF20,0,0,pt_BUF40)
#	bSIGNE=0
#	SI(i_strcmp(pt_BUF40,"-")==0)
#	ALORS
#	  #memoriser pour le mettre en sortie et travail sans le signe
#	  bSIGNE=1
#	  i_strcpy(pt_BUF40,pt_BUF20)
#	  i_get_sub_str(pt_BUF40,1,-1,pt_BUF20)  
#	  #masque#trace2("unitpricevalue sans signe <%s>" , pt_BUF20, "")
#	FINSI
#	
#	res = i_strlen(pt_BUF20)
#	SI (res >2)
#	ALORS
#		 #decoupage simple avec ajout "."
#		i_get_sub_str(pt_BUF20,0,res -3, pt_BUF40)
#		 #masque#trace2("unitpricevalue avant . <%s>", pt_BUF40,"")
#		i_get_sub_str(pt_BUF20,-2,-1, pt_BUF60)
#		 #masque#trace2("unitpricevalue apres . <%s>", pt_BUF60,"")
#		erreur = i_format_str2(pt_BUF20 ,"%s%s", pt_BUF40 ,".")
#		 #masque#trace2("unitpricevalue etape1  <%s>", pt_BUF20,"")
#		erreur = i_format_str2(pt_BUF40 ,"%s%s",pt_BUF20, pt_BUF60)
#		 #masque#trace2("unitpricevalue etape2  <%s>", pt_BUF40,"")		
#	SINON
#		 #ajout des "0" et du "." pour obtenir un style "0.00
#		SI (res == 0)
#		ALORS
#			i_strcpy(pt_BUF40,"0.00")
#		SINON
#			SI (res == 1)
#			ALORS
#				erreur = i_format_str2(pt_BUF40 ,"%s%s","0.0",pt_BUF20)
#			SINON
#				erreur = i_format_str2(pt_BUF40 ,"%s%s","0.",pt_BUF20)
#			FINSI
#		FINSI
#	FINSI
#	#masque#trace2("SIVM unitpricevalue sans signe <%s>", pt_BUF40,"")
#	res = i_strlen(pt_BUF40)
#	SI (bSIGNE==0)
#	ALORS
#		erreur= i_resize_tlv(g_iartout5,"T3unitpriceval", "unitpricevalue",res)
#	SINON
#		i_strcpy(pt_BUF20,pt_BUF40)
#		erreur = i_format_str2(pt_BUF40 ,"%s%s","-", pt_BUF20)
#		erreur= i_resize_tlv(g_iartout5,"T3unitpriceval", "unitpricevalue",res+1)
#	FINSI
#	#masque#trace2("SIVM champ unitpricevalue <%s>", pt_BUF40,"")
#	erreur= i_set_art_str(g_iartout5, $TsivmTminiwl2::unitpricevalue, pt_BUF40)
#
#
#    #champ unitpriceunit DUPTLV NU transformation sans centine
#	erreur= i_get_art_str(g_iartin, $Tminiwl2::unitpriceunit, pt_BUF20)
#
#	erreur= i_resize_tlv(g_iartout5,"T3unitpriceunit", "unitpriceunit", 3)
#	SI (i_strcmp(pt_BUF20, "ceum")==0)
#	ALORS
#		erreur= i_set_art_str(g_iartout5, $TsivmTminiwl2::unitpriceunit, "eum")
#	SINON
#		SI(i_strcmp(pt_BUF20, "cfrm")==0)
#		ALORS
#			erreur= i_set_art_str(g_iartout5, $TsivmTminiwl2::unitpriceunit, "frm")
#		FINSI
#	FINSI	
#	 
#	 #champ vat DUPTLV NU
#	 
#	 #champ starttimeS DUPTLV
#FINSI


#---------------------------------------------------------------------------
# SYMPHONIE Mises au format
#---------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instSYMPH_860026328) )
ALORS
	#trace("[Tminiwl2_dis] ppw lot2 duplication vers sym")
	# si i_dup_art_id echoue, cad  retour != 0
	SI (i_dup_art_id(g_iartin,g_iartout6))
	ALORS
		trace("[Tminiwl2_dis]ERREUR envoi distri errone i_dup_art_id g_iartout6")
		erreur_860026328 = i_PlvMessEmettre(8502,2,g_iartin,"",3,"pour Symphonie",C_Article_860026328,g_ieec)
		SAUT DISTRI_ERR
	FINSI
	# si i_rename_art echoue, cad  retour != 0
	SI (i_rename_art(g_iartout6,C_TSymTminiwl2_860026328))
	ALORS
		trace("[Tminiwl2_dis]ERREUR envoi distri errone i_rename_art g_iartout6 ") 
		erreur_860026328 = i_PlvMessEmettre(8502,2,g_iartin,"",3,"pour Symphonie",C_Article_860026328,g_ieec)
		SAUT DISTRI_ERR		
	FINSI

	#champ en ajout
	erreur_860026328=  i_ajoutChamp(g_iartout6,"T4sgtqs","SGTQS" ,6)
	# SGTQS
        erreur_860026328 = i_set_art_str(g_iartout6, $TsymTminiwl2::SGTQS, pt_sgtqs_860026328) 
	# ECC FACT
        erreur_860026328 = i_set_art_str(g_iartout6, $TsymTminiwl2::ECC_FACT, pt_ECCFACT_860026328) 

	# sup des champs non demandes par symphonie
	erreur_860026328 = i_supprChamp(g_iartout6, "T3starttimeS")
	
FINSI


#---------------------------------------------------------------------------
# Mises au format ECC CTT1 g_iartout4
#---------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instCTT1_860026328) )
ALORS
#	#trace("Duplication vers CTT1")	
	#G3R6 i_dup_art_tab est un ancien verbe il faut maintenant prendre i_dup_art_dest
	SI ( i_dup_art_dest(g_iartin,g_iartout4,C_TCttminiwl2_860026328) )
	ALORS
		trace("Erreur de i_dup_art")
		code_errone_860026328 = 0xA0D0
		code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
		erreur_860026328 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026328,C_TCttminiwl2_860026328,C_Article_860026328)
		SAUT  DISTRI_ERR
	FINSI

    #account_poids 80 octest de gauche de l entre
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::accpoid, pt_BUF260_860026328)
	#masque#trace2(" accpoid en entree <%s> ", pt_BUF260, "")
	SI (i_strlen(pt_BUF260_860026328) < 80)
	ALORS
		#masque#trace("  longueur inf 80 donc copie directe")
		erreur_860026328 =  i_set_art_str(g_iartout4, $TcttTminiwl2::accpoid, pt_BUF260_860026328)
	SINON
		#masque#trace("  longueur sup 80 donc couper")
		i_get_sub_str(pt_BUF260_860026328,0,79,pt_BUF260_860026328)
		erreur_860026328 =  i_set_art_str(g_iartout4, $TcttTminiwl2::accpoid, pt_BUF260_860026328)
	FINSI

    #service_poids 100 octest de gauche de l entre
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::servpoid, pt_BUF260_860026328)
	#masque#trace2(" servpoid en entree <%s> ", pt_BUF260, "")
	SI (i_strlen(pt_BUF260_860026328) < 100)
	ALORS
		#masque#trace("  longueur inf 100 donc copie directe")
		erreur_860026328 =  i_set_art_str(g_iartout4, $TcttTminiwl2::servpoid, pt_BUF260_860026328)
	SINON
		#masque#trace("  longueur sup 80 donc couper")
		i_get_sub_str(pt_BUF260_860026328,0,99,pt_BUF260_860026328)
		erreur_860026328 =  i_set_art_str(g_iartout4, $TcttTminiwl2::servpoid, pt_BUF260_860026328)
	FINSI
	
    # champ sestimevalue non signe FO2163
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::sestimevalue, pt_BUF20_860026328)
	erreur_860026328 = i_format_str2(pt_BUF60_860026328,"%s%s","0000000000",pt_BUF20_860026328)
	i_get_sub_str(pt_BUF60_860026328,-10,-1,pt_BUF20_860026328)
	erreur_860026328 = i_set_art_str(g_iartout4, $TcttTminiwl2::sestimevalue, pt_BUF20_860026328)

FINSI

#---------------------------------------------------------------------------
# Mises au format ECC CTT2 g_iartout3
#---------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instCTT2_860026328) )
ALORS
#	#trace("Duplication vers CTT1")
	#G3R6 i_dup_art_tab est un ancien verbe il faut maintenant prendre i_dup_art_dest
	SI ( i_dup_art_dest(g_iartin,g_iartout3,C_TCttminiwl2_860026328) )
	ALORS
		trace("Erreur de i_dup_art")
		code_errone_860026328 = 0xA0D0
		code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
		erreur_860026328 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026328,C_TCttminiwl2_860026328,C_Article_860026328)
		SAUT  DISTRI_ERR
	FINSI

    #account_poids 80 octest de gauche de l entre
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::accpoid, pt_BUF260_860026328)
	#masque#trace2(" accpoid en entree <%s> ", pt_BUF260, "")
	SI (i_strlen(pt_BUF260_860026328) < 80)
	ALORS
		#masque#trace("  longueur inf 80 donc copie directe")
		erreur_860026328 =  i_set_art_str(g_iartout3, $TcttTminiwl2::accpoid, pt_BUF260_860026328)
	SINON
		#masque#trace("  longueur sup 80 donc couper")
		i_get_sub_str(pt_BUF260_860026328,0,79,pt_BUF260_860026328)
		erreur_860026328 =  i_set_art_str(g_iartout3, $TcttTminiwl2::accpoid, pt_BUF260_860026328)
	FINSI

    #service_poids 100 octest de gauche de l entre
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::servpoid, pt_BUF260_860026328)
	#masque#trace2(" servpoid en entree <%s> ", pt_BUF260, "")
	SI (i_strlen(pt_BUF260_860026328) < 100)
	ALORS
		#masque#trace("  longueur inf 100 donc copie directe")
		erreur_860026328 =  i_set_art_str(g_iartout3, $TcttTminiwl2::servpoid, pt_BUF260_860026328)
	SINON
		#masque#trace("  longueur sup 80 donc couper")
		i_get_sub_str(pt_BUF260_860026328,0,99,pt_BUF260_860026328)
		erreur_860026328 =  i_set_art_str(g_iartout3, $TcttTminiwl2::servpoid, pt_BUF260_860026328)
	FINSI


    # champ sestimevalue non signe FO2163
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::sestimevalue, pt_BUF20_860026328)
	erreur_860026328 = i_format_str2(pt_BUF60_860026328,"%s%s","0000000000",pt_BUF20_860026328)
	i_get_sub_str(pt_BUF60_860026328,-10,-1,pt_BUF20_860026328)
	erreur_860026328 = i_set_art_str(g_iartout3, $TcttTminiwl2::sestimevalue, pt_BUF20_860026328)

FINSI


#---------------------------------------------------------------------------
# Mises au format ECC FEMS (TfemsMINIwl2, g_iartout2)
#---------------------------------------------------------------------------
#FO2326 SI ( !i_ChercherCouranteECC(instFEMSmini) )
SI ( !i_ChercherCouranteECC(instFEMS_860026328) )
ALORS
	#trace("Duplication vers FEMS")	
	SI ( i_dup_art_dest(g_iartin,g_iartout2,C_TfemsTminiwl2_860026328) )
	ALORS
		trace("Erreur de i_dup_art")
		code_errone_860026328 = 0xA0D0
		code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
		erreur_860026328 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026328,C_TfemsTminiwl2_860026328,C_Article_860026328)
		SAUT  DISTRI_ERR
	FINSI
	
	#Type	DUP hexa	2		T1 (Type=0x802E)
	#accpoid	 chaine ASCII	9
	erreur_860026328 =  i_set_art_str(g_iartout2, $TfemsTminiwl2::accpoid, pt_IDUS_N_860026328)
	
	#servpoid	chaine ASCII	100 les 100 caractere de gauche du champs ? account_poid ? du ticket d entree
	i_strcpy(pt_BUF260_860026328,"")
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::servpoid, pt_BUF260_860026328)
	SI (i_strlen(pt_BUF260_860026328) > 100)
	ALORS
		i_get_sub_str(pt_BUF260_860026328,0,99,pt_BUF260_860026328)
	FINSI
	erreur_860026328 = i_set_art_str(g_iartout2, $TfemsTminiwl2::servpoid, pt_BUF260_860026328)
	
	#serial	DUP chaine ASCII	16	numero est unique pour tous les tickets.
	
	#DATE	DUP ASCII  Format date	19		Format date AAAA/MM/JJ HH:MM:SS     Ex :      2005/02/05 12:05:56
	
	#starttimetz	DUP chaine ASCII	4		Valeurs possibles :   MET (heure Paris) 
	
	#starttimedst	DUP ASCII numerique	1		(entier non signe)    Valeurs possibles :   0 (heure hiver) ou 1 (heure ete)
	
	#minilogin DUP chaine ASCII	64		Ex : paul.Durand
	
	#sestimevalue	 ASCII numerique	10		(entier non signe)  duree en seconde
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::sestimevalue, pt_BUF20_860026328)
	erreur_860026328 = i_format_str2(pt_BUF60_860026328,"%s%s","0000000000",pt_BUF20_860026328)
	i_get_sub_str(pt_BUF60_860026328,-10,-1,pt_BUF20_860026328)
	erreur_860026328 = i_set_art_str(g_iartout2, $TfemsTminiwl2::sestimevalue, pt_BUF20_860026328)
	
	#sestimeunit	chaine ASCII	3		Valeur : sec
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::sestimeunit, pt_BUF20_860026328)
	erreur_860026328 = i_format_str2(pt_BUF60_860026328,"%s%s",pt_BUF20_860026328,"   ")
	i_get_sub_str(pt_BUF60_860026328,0,2,pt_BUF20_860026328)
	erreur_860026328 = i_set_art_str(g_iartout2, $TfemsTminiwl2::sestimeunit, pt_BUF20_860026328)
	
	#servicecode DUP	chaine ASCII	40		Peut etre vide    Ex : 3615 AIR FRANCE
	
	#rate DUP	chaine ASCII	4		Ex : ACC
	
	#amountvalue DUP	ASCII numerique	11	exprime dans l'unite amount_unit	
	# Chaine de caracteres, representant un numerique, entier , signe ou non (de "-2147483648" a "2147483647" ) 
	# peut etre <0 en cas de remboursement
	
	#amountunit	DUP chaine ASCII	4		Valeurs possibles : cFRF ou cEUR
	
	#FILLER	DEF ASCII   Alpha 12
	#FIN    DEF HEXA Char(01)	1	300	fin = 0x0A
	
FINSI

#---------------------------------------------------------------------------
# Mises au format ECC NOVAH (TnovahTminiwl2, g_iartout7)
#---------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instNOVAH_860026328) )
ALORS
#	#trace("Duplication vers SIVM")	
	SI ( i_dup_art_tab(g_iartin,g_iartout7,C_TnovahTminiwl2_860026328) )
	ALORS
		trace("Erreur de i_dup_art")
		code_errone_860026328 = 0xA0D0
		code_errone_860026328 = code_errone_860026328 + EFFICACE_860026328
		erreur_860026328 = i_PlvMessEmettre(8602,2,g_iartin,"",3,code_errone_860026328,C_TnovahTminiwl2_860026328,C_Article_860026328)
		SAUT  DISTRI_ERR
	FINSI
	
	#T1 DEF 802e
	#T2 DEF 8003

	#type MSET 0000 puis pcode T3type [8001]
	#QC242 : NOVAH T3 TYPE en ascii
	erreur_860026328 = i_set_art_str(g_iartout7,$TnovahMINIwl2::type,"2E")

	#numCompte MSET puis pcode T3numCompte [8002]
	i_strcpy(pt_BUF260_860026328,"")
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::accpoid, pt_BUF260_860026328)
	SI (i_strlen(pt_BUF260_860026328) > 9)
	ALORS
		i_get_sub_str(pt_BUF260_860026328,0,8,pt_BUF260_860026328)
	FINSI
	res_860026328 = i_strlen(pt_BUF260_860026328)
	erreur_860026328 = i_resize_tlv(g_iartout7,"T3numCompte", "numCompte", res_860026328)
	erreur_860026328 = i_set_art_str(g_iartout7,$TnovahMINIwl2::numCompte, pt_BUF260_860026328)
	
	#serviceEpid MSET puis pcode T3serviceEpid [8003]  100 octets de gauche de l entree sevpoid
	i_strcpy(pt_BUF260_860026328,"")
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::servpoid, pt_BUF260_860026328)
	SI (i_strlen(pt_BUF260_860026328) > 100)
	ALORS
		i_get_sub_str(pt_BUF260_860026328,0,99,pt_BUF260_860026328)
	FINSI
	res_860026328 = i_strlen(pt_BUF260_860026328)
	erreur_860026328 = i_resize_tlv(g_iartout7,"T3serviceEpid", "serviceEpid", res_860026328)
	erreur_860026328 = i_set_art_str(g_iartout7, $TnovahMINIwl2::serviceEpid, pt_BUF260_860026328)
	
	#serial DUP  T3serial [8006]
	
	#starttimeS DUP T3starttimeS [8007]
	
	#starttimetz DUP T3starttimetz  [8008]
	
	#starttimedst DUP T3starttimedst T3starttimedst [8009]

	#minilogin DUP T3minilogin [8010]
	
	#sestimevalue DUP T3sestimevalue [8011]
	
	#sestimeunit DUP T3sestimeunit [8012]
	
	#servicecode DUP T3servicecode [8013]
	
	#rate DUP T3rate [8014]
	
	#amountvalue MSET T3amountvalue[8015] amountvalue signe (amountval)
	erreur_860026328 = i_get_art_str(g_iartin, $Tminiwl2::amountvalue, pt_BUF20_860026328)
	i_get_sub_str(pt_BUF20_860026328,0,0,pt_BUF40_860026328)
	SI(i_strcmp(pt_BUF40_860026328,"-")==0)
	ALORS
		i_get_sub_str(pt_BUF20_860026328,1,-1,pt_BUF60_860026328)
		erreur_860026328 = i_format_str2(pt_BUF40_860026328 ,"%s%s","000000000000",pt_BUF60_860026328)
		i_get_sub_str(pt_BUF40_860026328,-10,-1,pt_BUF60_860026328)
		erreur_860026328 = i_format_str2(pt_BUF20_860026328 ,"%s%s","-",pt_BUF60_860026328)
	FINSI
	res_860026328 = i_strlen(pt_BUF20_860026328)
	erreur_860026328 = i_resize_tlv(g_iartout7,"T3amountvalue", "amountvalue", res_860026328)
	erreur_860026328 = i_set_art_str(g_iartout7, $TnovahMINIwl2::amountvalue, pt_BUF20_860026328)
	
	#amountunit DUPT3 amountunit [8016]
	
	#Les 3 champs ace pour metachamps sans passer par enveloppe
	# et sans utiliser i_ajoutChamp cause incompatible avec i-resize_tlv

	res_860026328 = i_get_attr_val_n($E_WL2::fin)
	erreur_860026328= i_set_art_field(g_iartout7, $TnovahMINIwl2::dloabs,res_860026328)
	res_860026328 = i_get_attr_val_n($E_WL2::duree)
	erreur_860026328= i_set_art_field(g_iartout7, $TnovahMINIwl2::DUREE,res_860026328)
	res_860026328 = i_get_attr_val_n($E_WL2::pivot)
	erreur_860026328= i_set_art_field(g_iartout7, $TnovahMINIwl2::DATE,res_860026328)
FINSI

############################################################################
# Envoi vers IECC
############################################################################

#---------------------------------------------------------------------------
# SYMPHONIE ENVOIE
#---------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instSYMPH_860026328) )
ALORS	
	erreur_860026328 = i_stocke_art_iecc(g_iartout6,instSYMPH_860026328)
	trace("Emission mini vers SYMPHONIE")
FINSI

#---------------------------------------------------------------------------
##G4R3 SIVM ENVOIE
#---------------------------------------------------------------------------
#SI ( !i_ChercherCouranteECC(instSIVM) )
#ALORS	
#	erreur = i_stocke_art_iecc(g_iartout5,instSIVM)
#	trace("Emission mini vers SIVM")
#FINSI

#---------------------------------------------------------------------------
# CTT1 ENVOIE
#---------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instCTT1_860026328) )
ALORS	
	erreur_860026328 = i_stocke_art_iecc(g_iartout4,instCTT1_860026328)
	trace("Emission mini vers CTT1")
FINSI

#---------------------------------------------------------------------------
# CTT2 ENVOIE
#---------------------------------------------------------------------------
SI ( !i_ChercherCouranteECC(instCTT2_860026328) )
ALORS	
	erreur_860026328 = i_stocke_art_iecc(g_iartout3,instCTT2_860026328)
	trace("Emission mini vers CTT2")
FINSI

#---------------------------------------------------------------------------
# FEMS (Tfems, g_iartout2)
#---------------------------------------------------------------------------
#FO2326 SI (!i_ChercherCouranteECC(instFEMSmini) )
SI (!i_ChercherCouranteECC(instFEMS_860026328) )
ALORS
	#FO2326 res = i_stocke_art_iecc( g_iartout2, instFEMSmini)
	res_860026328 = i_stocke_art_iecc( g_iartout2, instFEMS_860026328)
FINSI

#---------------------------------------------------------------------------
# NOVAH (Tnovah, g_iartout7)
#---------------------------------------------------------------------------
SI (!i_ChercherCouranteECC(instNOVAH_860026328) )
ALORS
	res_860026328 = i_stocke_art_iecc( g_iartout7, instNOVAH_860026328)
FINSI

SAUT DISTRI_FIN

############################################################################
# Stockage en Errone
############################################################################

POINT DISTRI_ERR
	trace("Stockage de l'article en ERRONE")
	erreur_860026328 = i_make_art_rej(g_iartin, g_iartout, code_errone_860026328)
	erreur_860026328 = i_stocke_art(g_iartout,0,PT_ERRONE,0)
SAUT DISTRI_FIN


POINT DISTRI_FIN
RETOUR TRAIT_OK
############################################################################
#                               FIN Tminiwl2B_dis.src
############################################################################
