REGISTRE ENTIER EFFICACE_860026273
REGISTRE ENTIER DUREE_ABER_860026273
REGISTRE ENTIER TAPPEL_860026273
REGISTRE ENTIER bFOR_860026273
REGISTRE ENTIER b16X_860026273
REGISTRE ENTIER instFOR_860026273
REGISTRE ENTIER instNOFOR_860026273
REGISTRE ENTIER inst16X_860026273
REGISTRE ENTIER instSYMPH_860026273
REGISTRE POINTEUR sgtqs_860026273
REGISTRE POINTEUR pt_BUF_860026273
REGISTRE POINTEUR pt_NDE_860026273
REGISTRE POINTEUR DEDE_NORM_860026273
REGISTRE POINTEUR pt_NDR_860026273
REGISTRE POINTEUR nomECC_FACT_860026273
REGISTRE POINTEUR pt_temp_860026273
REGISTRE POINTEUR pt_INEF_860026273
REGISTRE POINTEUR pt_InfoCompl_860026273
REGISTRE ENTIER stocke_date_860026273
REGISTRE ENTIER erreur_860026273
REGISTRE ENTIER res_860026273
REGISTRE ENTIER ddebut_860026273
REGISTRE ENTIER icar_860026273
REGISTRE ENTIER date_locale_860026273
REGISTRE ENTIER date_locale_SIP_860026273
REGISTRE ENTIER tap_860026273
REGISTRE ENTIER inef_860026273
REGISTRE ENTIER CLE_860026273 
REGISTRE ENTIER L_DEDE_NORM_860026273
REGISTRE ENTIER bREDIST_860026273
REGISTRE ENTIER trait_ok_860026273
############################################################################
#
# Distribution :  DC Internet du PAS
# Article Tindc1r pour le type de traitement TTextenso
#
# En entree :  Tindc1r.art
#
# En sortie :
#    FOR
#    16X
#    Symphonie
#
# Version 5.0 07/02/03 - RBE
#	- IP Extenso : DC --> DEA vers FOR et ajout de NOFOR
# 17/04/03 - RBE - FO269 : champ SIP_DATE pour 16X calcule a partir de DATE_sip
# 17/04/03 - RBE - FO270 : champ ECC_FACT pour Symphonie
############################################################################


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



#trace("DISTRIBUTION - EXTENSO - DC INTERNET pour PAS")

#---------------------------------------------------------------------------
# INITIALISATION
#--------------------------------------------------------------------------- 

EFFICACE_860026273 = 0

bFOR_860026273 = 0
b16X_860026273 = 0

# Allocation
nomECC_FACT_860026273="67676767676767"
pt_BUF_860026273 = "12345678912345678912345612345"
pt_NDE_860026273 = "46137946134679467982458956455645122312345"
pt_NDR_860026273 = "12234556782817397845121313364487878912345"
pt_INEF_860026273 = "123412345"
pt_temp_860026273 = "999912345"
pt_InfoCompl_860026273 = "333312345"

# Initilisation
nomECC_FACT_860026273=""
instFOR_860026273 = 0
instNOFOR_860026273 = 0
inst16X_860026273 = 0
instSYMPH_860026273 = 0

bREDIST_860026273 = 0

# ---------------------------------------------------
# Identification de la provenance de l'article
# ---------------------------------------------------
trait_ok_860026273 = -1
# trait_ok : nb de passage en redistribution
trait_ok_860026273 = i_LireRedistCpt()



############################################################################
# Variables Fonctionnelles Globales
############################################################################

tap_860026273=i_get_art_field(g_iartin,$TAP)
trace1("Valeur de TAP : <%d>", tap_860026273)

erreur_860026273 = i_get_art_str( g_iartin, $INEF, pt_INEF_860026273 )
trace2("INEF: <%s>", pt_INEF_860026273, "")

#inef=i_get_art_field(g_iartin,$INEF)
trace1("Valeur de INEF : <%d>", inef_860026273)

pt_temp_860026273  = EfficaceIP_860026233( "INa", pt_INEF_860026273, i_get_art_field( g_iartin, $dpivot ) )
trace2("********* VALEUR du code efficace = <%s>", pt_temp_860026273, "")


SI (!i_strcmp(pt_temp_860026273,"E"))
ALORS
	EFFICACE_860026273 = 1
SINON
	EFFICACE_860026273 = 0
FINSI


#trace1("Valeur de EFFICACE:%d", EFFICACE)

#---------------------------------------------------------------------------
# Criteres communs
#---------------------------------------------------------------------------
CLE_860026273 = g_iartin.CLE
trace1("CLE = <%d>",CLE_860026273)

# Debut modif le 19/06/02 Version 4.3  DRE

res_860026273=i_get_art_field(g_iartin,$Tindc1r::DUREE)
SI (res_860026273 > 0x010B30)
ALORS
	DUREE_ABER_860026273 = 1
SINON
	DUREE_ABER_860026273 = 0
FINSI
trace1("DUREE_ABER = <%d>",DUREE_ABER_860026273)

SI ( ( g_iartin.TAP & 0xF0 ) != 0 && ( g_iartin.TAP & 0xF0 ) != 0x70 )
ALORS
	TAPPEL_860026273 = 1
SINON
	TAPPEL_860026273 = 0
FINSI
trace1("TAPPEL = <%d>",TAPPEL_860026273)

# Fin modif le 19/06/02 Version 4.3  DRE

############################################################################
# Envoi requetes Table de Distribution
############################################################################

ddebut_860026273=i_get_art_field(g_iartin,$Tindc1r::DATE)
trace1("ddebut = %d",ddebut_860026273)
SI (ddebut_860026273==-1)
ALORS
        erreur_860026273 = i_PlvMessEmettre(8500,2,g_iartin,"",3,"Tindc1r/Pas de DATE","i_get_art_field",g_ieec)
        SAUT DISTRI_ERR
FINSI

erreur_860026273=i_get_art_str(g_iartin, $NDE, pt_NDE_860026273)
DEDE_NORM_860026273 = "1234567890123456789012345"
L_DEDE_NORM_860026273 = i_conv_ascii_dcb(pt_NDE_860026273, DEDE_NORM_860026273)


############################################################################
# Envoi requetes Table de Distribution
############################################################################
SI ( (DUREE_ABER_860026273 == 0) && (TAPPEL_860026273 == 0) && (EFFICACE_860026273 == 1) && (CLE_860026273 != 0))
ALORS
	bFOR_860026273 = 1
	res_860026273 = i_EnvoiReqConsTabDist(TD_DEA, ddebut_860026273, DEDE_NORM_860026273, L_DEDE_NORM_860026273, 0, 1)
	SI ( res_860026273 !=0 )
	ALORS
		trace("Erreur i_EnvoiReqConsTabDist")
		bREDIST_860026273=1
	FINSI

	trace("bFOR a 1 et appel da la table DEA")
FINSI

############################################################################
# Recherche Instances des ECC
############################################################################

#trace("----------- Recherche des instances --------------")

#---------------------------------------------------------------------------
#  FOR
#--------------------------------------------------------------------------- 
instFOR_860026273 = i_LireInstanceECC("FOR")
SI ( !instFOR_860026273 )
ALORS
#	trace("instFOR nul !")
        erreur_860026273 = i_PlvMessEmettre(8501,2,g_iartin,"",3,"FOR","Tindc1r",g_ieec)
        SAUT DISTRI_ERR
FINSI

#--------------------------------------------------------------------------- 
# NOFOR 
#--------------------------------------------------------------------------- 
instNOFOR_860026273 = i_LireInstanceECC("NOFOR")
SI (!instNOFOR_860026273)
ALORS
        erreur_860026273 = i_PlvMessEmettre(8501,2,g_iartin,"",3,"NOFOR","Tindc1r",g_ieec)
        SAUT DISTRI_ERR
FINSI


#---------------------------------------------------------------------------
#  16X
#--------------------------------------------------------------------------- 
inst16X_860026273=i_LireInstanceECC("16X")
SI (inst16X_860026273 <= 0)
ALORS
#       trace( "instance 16X nulle! (ou erreur)=> envoi vers cette ECC impossible" )
        b16X_860026273=0
        erreur_860026273 = i_PlvMessEmettre(8501,2,g_iartin,"",3,"16X","Tindc1r",g_ieec)
        SAUT DISTRI_ERR
SINON
        b16X_860026273=1
FINSI

#---------------------------------------------------------------------------
#  SYMPHONIE
#--------------------------------------------------------------------------- 
instSYMPH_860026273=i_LireInstanceECC("SYMP")
SI (!instSYMPH_860026273 )
ALORS
#	trace("instSYMPH nul !")
        erreur_860026273 = i_PlvMessEmettre(8501,2,g_iartin,"",3,"SYMP","Tindc1r",g_ieec)
        SAUT DISTRI_ERR
FINSI

#---------------------------------------------------------------------------
#  Ajout de SYMPHONIE a la liste des ECCs (Aucun critere de distribution pour Symphonie)
#--------------------------------------------------------------------------- 
erreur_860026273 = i_AjouterCouranteECC(instSYMPH_860026273)

# Suppression des ajouts CE effectues lors du traitement
SI ( i_valid_field_n(g_iartin,$Tindc1r::T3ce) )
ALORS
	erreur_860026273 = i_retrait_tlv(g_iartin,"T3ce","")
FINSI

############################################################################
# Duplication Symphonie
############################################################################
trace("Duplication vers SYMPHONIE")	
SI ( i_dup_art_id(g_iartin, g_iartout4) )
ALORS
    trace("ERREUR de duplication vers SYMPHONIE")
    erreur_860026273 = i_PlvMessEmettre(8502,2,g_iartin,"",3,"Tsymphindc","Tindc1r",g_ieec)
    SAUT DISTRI_ERR	
FINSI
	
SI ( i_rename_art(g_iartout4, "Tsymphindc") )
ALORS
    trace1("ERREUR de renommage, erreur=<%d>",erreur_860026273)
    erreur_860026273 = i_PlvMessEmettre(8500,2,g_iartin,"",3,"Tindc1r","i_rename_art",g_ieec)
    SAUT DISTRI_ERR
FINSI	

############################################################################
# Critere de distribution
############################################################################

#---------------------------------------------------------------------------
# Valeurs communes
#---------------------------------------------------------------------------

#champ DATE
icar_860026273 = i_get_art_field(g_iartin, $Tindc1r::DATE)
SI (res_860026273==-1)
ALORS
        erreur_860026273 = i_PlvMessEmettre(8500,2,g_iartin,"",3,"Tindc1r/Pas de DATE","i_get_art_field",g_ieec)
        SAUT DISTRI_ERR
FINSI

date_locale_860026273 = i_date_locale(g_ieec,g_iartin,icar_860026273)
SI( date_locale_860026273 == -1 )
ALORS
   	erreur_860026273 = i_PlvMessEmettre( 8500, 2, g_iartin,"", 3, "Tindc1r", "i_date_locale", g_ieec )
     	SAUT DISTRI_ERR
FINSI	


#---------------------------------------------------------------------------
# Ajout de FOR a la liste
#--------------------------------------------------------------------------- 
SI ( bFOR_860026273 == 1 && !bREDIST_860026273)
ALORS

############################################################################
# Attente requetes Table de Distribution
############################################################################
	bFOR_860026273 = 0
	erreur_860026273 = i_LireReqConsTabDist()
	trace1("RETOUR i_LireReqConsTabDist, erreur=<%d>",erreur_860026273)
	SI ( erreur_860026273 != 0 )
	ALORS
		bREDIST_860026273=1
	SINON
	    res_860026273 = i_LireInfoECC(instFOR_860026273, 0)
	    trace1("Retour de i_LireInfoECC - instFOR: <%d>", res_860026273)
	    SI (res_860026273 > 0)
	    ALORS
		erreur_860026273 = i_LireChaineInfo( res_860026273, 0, 1, pt_InfoCompl_860026273)
		trace1("Retour de i_LireChaineInfo <%d>", erreur_860026273)
		trace2( "Tindc1r - Resultat de i_LireChaineInfo : <%s>", pt_InfoCompl_860026273, "" )

		SI (!i_strcmp(pt_InfoCompl_860026273, "T"))
		ALORS
			erreur_860026273 = i_AjouterCouranteECC(instFOR_860026273)
			bFOR_860026273 = 1
			trace("AR existe et info compl egal a T")
		FINSI
	    FINSI
	FINSI
	
FINSI


#---------------------------------------------------------------------------
# Ajout de 16X a la liste
#--------------------------------------------------------------------------- 

SI ( (b16X_860026273 == 1) && (DUREE_ABER_860026273 == 0) && (TAPPEL_860026273 == 0) && 
	(EFFICACE_860026273 == 1) && (CLE_860026273 == 0x04) && (bFOR_860026273 == 0) &&!bREDIST_860026273 )
ALORS
	erreur_860026273 = i_AjouterCouranteECC(inst16X_860026273)
SINON
        b16X_860026273=0
FINSI


#---------------------------------------------------------------------------
# Ajout de NOFOR a la liste
#--------------------------------------------------------------------------- 
SI ( (EFFICACE_860026273 == 1) && (b16X_860026273 == 0) && (bFOR_860026273 == 0) && !bREDIST_860026273)
ALORS
	erreur_860026273 = i_AjouterCouranteECC(instNOFOR_860026273)
FINSI

############################################################################
# Validation de la liste des ECCs destinatrices
############################################################################

erreur_860026273 =  i_ValiderListeECC( 0, 0, 0, 0)

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

#---------------------------------------------------------------------------
# Valeurs communes
#---------------------------------------------------------------------------

#---------------------------------------------------------------------------
# FOR
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instFOR_860026273) )
ALORS	

	# Duplication de l article
	#---------------------------
	trace("Duplication vers FOR")	
	SI ( i_dup_art_dest(g_iartin,g_iartout,"Tfor") )
	ALORS
		trace("Erreur de i_dup_art_dest")
                erreur_860026273 = i_PlvMessEmettre(8502,2,g_iartin,"",3,"Tfor","Tindc1r",g_ieec)
                SAUT  DISTRI_ERR	
	FINSI

	# FOR est l'ECC de facturation
	nomECC_FACT_860026273= "FOR"


	# Mise au format
	#------------------------------

        #champ SCT
        SI (i_valid_field_n(g_iartin,$Tindc1r::SCT)!=1)
        ALORS
            trace("Champs SCT absent !")
            SAUT DISTRI_ERR
        FINSI
        SI (i_transformer_bits(g_iartin,$SCT,"FV",pt_BUF_860026273)!=0)
        ALORS
            trace("Retour en erreur de i_transformer_bits")
            SAUT DISTRI_ERR
        FINSI
        erreur_860026273=i_set_art_str(g_iartout, $Tfor::SCT,pt_BUF_860026273)


        #champ TAP
        SI (i_valid_field_n(g_iartin,$Tindc1r::TAP)!=1)
        ALORS
            trace("Champs TAP_IP absent !")
            SAUT DISTRI_ERR
        FINSI
        SI (i_transformer_bits(g_iartin,$TAP,"FV",pt_BUF_860026273)!=0)
        ALORS
            trace("Retour en erreur de i_transformer_bits")
            SAUT DISTRI_ERR
        FINSI
        erreur_860026273=i_set_art_str(g_iartout, $Tfor::TAP,pt_BUF_860026273)
 
	#champ DATE
        erreur_860026273 = i_set_art_field(g_iartout, $Tfor::DATE, date_locale_860026273 )

        #champ DUREE
        res_860026273=i_get_art_field(g_iartin,$Tindc1r::DUREE) 
        SI (res_860026273==-1)
        ALORS
               erreur_860026273 = i_PlvMessEmettre(8500,2,g_iartin,"",3,"Tindc1r/Pas de DUREE","i_get_art_field",g_ieec)
        SAUT DISTRI_ERR
        FINSI
        erreur_860026273=i_set_art_field(g_iartout,$Tfor::DUREE,res_860026273)


        # Recuperation du num demandeur							
	erreur_860026273=i_get_art_str(g_iartin, $NDR, pt_NDR_860026273)
	SI (erreur_860026273 != 0)
	ALORS
		trace("ERREUR de i_get_art_str !")
		SAUT DISTRI_ERR
	FINSI
	i_replace_str(pt_NDR_860026273,"BCDE","AJSC",pt_NDR_860026273)
	erreur_860026273=i_set_art_str(g_iartout, $Tfor::NIDUS, pt_NDR_860026273)
	

		
	# Recuperation du num demande							
	erreur_860026273=i_get_art_str(g_iartin, $NDE, pt_NDE_860026273)
	SI (erreur_860026273 != 0)
	ALORS
		trace("ERREUR de i_get_art_str !")
		SAUT DISTRI_ERR
	FINSI
	i_replace_str(pt_NDE_860026273,"BC","*#",pt_NDE_860026273)
	erreur_860026273=i_set_art_str(g_iartout, $Tfor::NDEDE, pt_NDE_860026273)

        #champ CDSGTQS
        sgtqs_860026273=i_LireEECSGTQS( g_ieec )
        trace2("SGTQS=<%s>",sgtqs_860026273,"")
        erreur_860026273=i_set_art_str(g_iartout, $Tfor::CDSGTQS, sgtqs_860026273)
      
FINSI


#---------------------------------------------------------------------------
# NOFOR
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instNOFOR_860026273) )
ALORS	

	# Duplication de l article
	#---------------------------
	trace("Duplication vers NOFOR")	
	SI ( i_dup_art_dest(g_iartin,g_iartout,"Tnofor") )
	ALORS
		trace("Erreur de i_dup_art_dest")
                erreur_860026273 = i_PlvMessEmettre(8502,2,g_iartin,"",3,"Tnofor","Tindc1r",g_ieec)
                SAUT  DISTRI_ERR	
	FINSI

	# NOFOR est l'ECC de facturation - rien
	nomECC_FACT_860026273= ""


	# Mise au format
	#------------------------------

        #champ SCT
        SI (i_valid_field_n(g_iartin,$Tindc1r::SCT)!=1)
        ALORS
            #trace("Champs SCT absent !")
            SAUT DISTRI_ERR
        FINSI
        SI (i_transformer_bits(g_iartin,$SCT,"FV",pt_BUF_860026273)!=0)
        ALORS
            trace("Retour en erreur de i_transformer_bits")
            SAUT DISTRI_ERR
        FINSI
        erreur_860026273=i_set_art_str(g_iartout, $Tnofor::SCT,pt_BUF_860026273)


        #champ TAP
        SI (i_valid_field_n(g_iartin,$Tindc1r::TAP)!=1)
        ALORS
            #trace("Champs TAP_IP absent !")
            SAUT DISTRI_ERR
        FINSI
        SI (i_transformer_bits(g_iartin,$TAP,"FV",pt_BUF_860026273)!=0)
        ALORS
            trace("Retour en erreur de i_transformer_bits")
            SAUT DISTRI_ERR
        FINSI
        erreur_860026273=i_set_art_str(g_iartout, $Tnofor::TAP,pt_BUF_860026273)
 

        #champ DATE
        erreur_860026273 = i_set_art_field(g_iartout, $Tnofor::DATE, date_locale_860026273 )

        #champ DUREE
        res_860026273=i_get_art_field(g_iartin,$Tindc1r::DUREE) 
        SI (res_860026273==-1)
        ALORS
               erreur_860026273 = i_PlvMessEmettre(8500,2,g_iartin,"",3,"Tindc1r/Pas de DUREE","i_get_art_field",g_ieec)
        SAUT DISTRI_ERR
        FINSI
        erreur_860026273=i_set_art_field(g_iartout,$Tnofor::DUREE,res_860026273)


        # Recuperation du num demandeur							
	erreur_860026273=i_get_art_str(g_iartin, $NDR, pt_NDR_860026273)
	SI (erreur_860026273 != 0)
	ALORS
		trace("ERREUR de i_get_art_str !")
		SAUT DISTRI_ERR
	FINSI
	i_replace_str(pt_NDR_860026273,"BCDE","AJSC",pt_NDR_860026273)
	erreur_860026273=i_set_art_str(g_iartout, $Tnofor::NIDUS, pt_NDR_860026273)
	

		
	# Recuperation du num demande							
	erreur_860026273=i_get_art_str(g_iartin, $NDE, pt_NDE_860026273)
	SI (erreur_860026273 != 0)
	ALORS
		trace("ERREUR de i_get_art_str !")
		SAUT DISTRI_ERR
	FINSI
	i_replace_str(pt_NDE_860026273,"BC","*#",pt_NDE_860026273)
	erreur_860026273=i_set_art_str(g_iartout, $Tnofor::NDEDE, pt_NDE_860026273)

        #champ CDSGTQS
        sgtqs_860026273=i_LireEECSGTQS( g_ieec )
        #trace2("SGTQS=<%s>",sgtqs,"")
        erreur_860026273=i_set_art_str(g_iartout, $Tnofor::CDSGTQS, sgtqs_860026273)
      
FINSI

#---------------------------------------------------------------------------
# 16X
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(inst16X_860026273) )
ALORS	

	# Duplication de l article
	#---------------------------
	trace("Duplication vers 16X")	
	SI ( i_dup_art_dest(g_iartin,g_iartout2,"T16xin") )
	ALORS
                trace("Erreur de i_dup_art_dest")
                erreur_860026273 = i_PlvMessEmettre(8502,2,g_iartin,"",3,"T16xin","Tindc1r",g_ieec)
                SAUT  DISTRI_ERR	
	FINSI

	# 16X est l'ECC de facturation
	nomECC_FACT_860026273= "16X"


	# Mise au format
	#------------------------------
	# Maj TAP_IP dans pcode et non plus dans table de duplication (FO1449).
	erreur_860026273 = i_set_art_field( g_iartout2, $T16xin::G2_TAP_IP, i_get_art_field( g_iartin, $TAP ) ) 

	#champ G2_DATE
        erreur_860026273 = i_set_art_field(g_iartout2, $T16xin::G2_DATE, date_locale_860026273 )


        #champ G2-INEF: 0 dans table de duplication
	# ( articles allant vers 16X sont tous efficaces => pas de cause d'inefficacite) 

        # Champ SIDR
	SI (i_valid_field_n(g_iartin,$Tindc1r::T3sidr)!=1)
	ALORS
		#trace("T3sidr abscent !")
		erreur_860026273=i_memset_field_n(g_iartout2, $T16xin::SIDR, 0xF0)	
	FINSI

	# LOGIN
	SI (i_valid_field_n (g_iartin, $Tindc1r::LOGIN) )
	ALORS
		erreur_860026273 = i_get_art_str( g_iartin, $Tindc1r::LOGIN, pt_BUF_860026273 )
		erreur_860026273 = i_set_art_str( g_iartout2, $T16xin::LOGIN, pt_BUF_860026273 )
	SINON
                erreur_860026273 = i_memset_field_n(g_iartout2,$T16xin::LOGIN,0x40)
	FINSI

        #champ SIP_DATE
	icar_860026273 = i_get_art_field(g_iartin, $Tindc1r::DATE_sip)
	SI (res_860026273==-1)
	ALORS
        	erreur_860026273 = i_PlvMessEmettre(8500,2,g_iartin,"",3,"Tindc1r/Pas de DATE","i_get_art_field",g_ieec)
        	SAUT DISTRI_ERR
	FINSI

	date_locale_SIP_860026273 = i_date_locale(g_ieec,g_iartin,icar_860026273)
	SI( date_locale_SIP_860026273 == -1 )
	ALORS
   		erreur_860026273 = i_PlvMessEmettre( 8500, 2, g_iartin,"", 3, "Tindc1r", "i_date_locale", g_ieec )
     		SAUT DISTRI_ERR
	FINSI	
        erreur_860026273 = i_set_art_field(g_iartout2, $T16xin::SIP_DATE, date_locale_SIP_860026273 )

	# Recuperation du num demandeur							
	erreur_860026273=i_get_art_str(g_iartin, $NDR, pt_NDR_860026273)
	SI (erreur_860026273 != 0)
	ALORS
		trace("ERREUR de i_get_art_str !")
		SAUT DISTRI_ERR
	FINSI
	i_replace_str(pt_NDR_860026273,"BCDE","AJSC",pt_NDR_860026273)
	erreur_860026273=i_set_art_str(g_iartout2, $T16xin::IDUS_NUM, pt_NDR_860026273)
	
		
	# Recuperation du num demande							
	erreur_860026273=i_get_art_str(g_iartin, $NDE, pt_NDE_860026273)
	SI (erreur_860026273 != 0)
	ALORS
		trace("ERREUR de i_get_art_str !")
		SAUT DISTRI_ERR
	FINSI
	i_replace_str(pt_NDE_860026273,"BC","*#",pt_NDE_860026273)
	erreur_860026273=i_set_art_str(g_iartout2, $T16xin::DEDE_NUM, pt_NDE_860026273)

FINSI


POINT AVANT_REDIST
SI (trait_ok_860026273 == 0)
ALORS

	#---------------------------------------------------------------------------
	# Complements Symphonie (SGTQS + CCD)
	#---------------------------------------------------------------------------
	
	# Ajout des champs CCD , SGTQS, ECC_FACT et IEZLT et date_locale
	erreur_860026273=i_ajoutChampNum(g_iartout4,$Tsymphindc::T4ccd,$Tsymphindc::CCD,0) 
	erreur_860026273=i_set_art_field(g_iartout4, $Tsymphindc::CCD, 209)

	erreur_860026273=i_ajoutChampNum(g_iartout4,$Tsymphindc::T4sgtqs,$Tsymphindc::SGTQS,0)
	erreur_860026273=i_set_art_str( g_iartout4, $Tsymphindc::SGTQS, i_LireEECSGTQS( g_ieec ) )

	erreur_860026273=i_ajoutChampNum(g_iartout4,$Tsymphindc::T4eccfact,$Tsymphindc::ECC_FACT,0)
	erreur_860026273=i_set_art_str(g_iartout4, $Tsymphindc::ECC_FACT, nomECC_FACT_860026273)

	# FO1161 : Suppression de l'ajout si sans objet
	#erreur=i_ajoutChampNum(g_iartout4,$Tsymphindc::T4iezlt,$Tsymphindc::IEZLT,0)

	erreur_860026273=i_ajoutChampNum(g_iartout4,$Tsymphindc::T4hlahm1, $Tsymphindc::HLAHM1,0)
	erreur_860026273=i_set_art_field(g_iartout4, $Tsymphindc::HLAHM1, date_locale_860026273)

	#---------------------------------------------------------------------------
	# Symphonie
	#---------------------------------------------------------------------------

	SI ( !i_ChercherCouranteECC(instSYMPH_860026273) )
	ALORS	
		res_860026273 = i_stocke_art_iecc(g_iartout4, instSYMPH_860026273)
		trace("Emission vers SYMPHONIE")
	SINON
		SAUT DISTRI_ERR
	FINSI

FINSI

SI (bREDIST_860026273 == 1)
ALORS
	SAUT DISTRI_RDT
FINSI




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


#---------------------------------------------------------------------------
# FOR
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instFOR_860026273) )
ALORS	
	res_860026273 = i_stocke_art_iecc(g_iartout, instFOR_860026273)
	trace("Emission vers FOR")
FINSI


#---------------------------------------------------------------------------
# 16X
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(inst16X_860026273) )
ALORS	
	res_860026273 = i_stocke_art_iecc(g_iartout2, inst16X_860026273)
	trace("Emission vers 16X")
FINSI

#---------------------------------------------------------------------------
# FOR
#---------------------------------------------------------------------------

SI ( !i_ChercherCouranteECC(instNOFOR_860026273) )
ALORS	
	res_860026273 = i_stocke_art_iecc(g_iartout, instNOFOR_860026273)
	trace("Emission vers NOFOR")
FINSI


SAUT DISTRI_FIN

############################################################################
# Envoi vers Recyclage
############################################################################


############################################################################
# Stockage en Errone
############################################################################
POINT DISTRI_ERR
trace("Stockage de l'article en ERRONE")

# Debut modif FE1510

erreur_860026273 = i_make_art_rej(g_iartin, g_iartout, 0)

erreur_860026273 = i_stocke_art(g_iartout,0,PT_ERRONE,0)

# Fin modif FE1510

SAUT DISTRI_FIN



############################################################################
# Stockage en Redistribution
############################################################################
POINT DISTRI_RDT

#IFDEF trace_niv1 = 1
trace( "__FILE__:__LINE__ : Stockage en Redistribution" )
#ENDIF
res_860026273 = i_stocke_art( g_iartin, 0, PT_REDIST|RD_TABLE2, 0)

RETOUR TRAIT_OK


POINT DISTRI_FIN
RETOUR TRAIT_OK






