# Fonction PCODE ID = 860026233
REGISTRE ENTIER date_pivot
REGISTRE POINTEUR Num
REGISTRE POINTEUR Service
############################################################################
#
# Nom du fichier: CleIP.src
# 
# Fonction:
#    Recupere la valeur associee a la clef dans une table externe
#
# En entree :
#    Num        
#
# En sortie:
#    si OK      : la valeur trouvee dans la table
#    Erreur     : 0
#
############################################################################

REGISTRE POINTEUR pt_Cle
REGISTRE POINTEUR pt_Cle2
REGISTRE POINTEUR pt_valeur
REGISTRE ENTIER   erreur
REGISTRE POINTEUR pt_DebNum

# allocation memoire
pt_Cle2     = "aaaaaaaaaaaaaa"
pt_Cle     = "bbbbbbbbbbbbbbbbb"
pt_valeur  = "ccccccccccccccc"
pt_DebNum  = "ddddddddddd"


#
# Recuperation des arguments en entree
#

date_pivot = depilerENTIER()
Num = depilerPOINTEUR()
Service = depilerPOINTEUR()
#trace1("date_pivot: <%u>", date_pivot)  
#trace2("Num:        <%s>", Num,"")

# Prendre au maximum les 9 premiers caracthres de DEDE_NUM (caracteres efficaces)
i_get_sub_str( Num, 0, 8, Num )

#
## Concatenation de Service et Num pour former la cle
#
erreur = i_format_str2(pt_Cle,"%s%s",Service,Num)
#trace2("pt_Cle: <%s>", pt_Cle,"")
# Recherche dans la table externe, de la valeur correspondante a la cle
#

#trace1("date_pivot: <%u>", date_pivot)  

#trace2("Num:        <%s>", Num,"")
# Lecture des 6 premiers caracteres du num 
i_get_sub_str( Num, 0, 5, pt_DebNum )
# Lecture des 9 premiers caracteres de la cle
i_get_sub_str( pt_Cle, 0, 8, pt_Cle2 )

# Recherche dans la table externe, de la valeur correspondante a la cle	
SI ( (!i_strcmp(pt_DebNum,"860880")) || (!i_strcmp(pt_DebNum,"860004")) || (!i_strcmp(pt_DebNum,"860007")) )
ALORS
	i_strcpy(pt_valeur,i_get_tab_field( "Inter", date_pivot, pt_Cle2 ))
SINON
	i_strcpy(pt_valeur,i_get_tab_field( "Inter", date_pivot, pt_Cle))

FINSI  
SI(!i_strcmp(pt_valeur,g_inull))
ALORS
#	trace2( "ERREUR: pt_Cle <%s> non trouvee dans la table externe NumLCleInt", Num,"" )
	i_strcpy(pt_valeur,"0")
FINSI

RETOUR pt_valeur

