# Fonction PCODE ID = 660004265
REGISTRE ENTIER date_art
REGISTRE POINTEUR pt_Table_Externe
REGISTRE POINTEUR pt_param_cle

REGISTRE  ENTIER       nb_entree
REGISTRE  ENTIER       indice
REGISTRE  ENTIER       erreur
REGISTRE  POINTEUR     pt_cle
REGISTRE  POINTEUR     pt_valeur
REGISTRE  POINTEUR     pt_clevaleur

date_art = depilerENTIER()
pt_Table_Externe = depilerPOINTEUR()
pt_param_cle = depilerPOINTEUR()
#-initialisation des variables

pt_cle="01234567890123456789-01234567890123456789"
pt_valeur="01234567890123456789"
pt_clevaleur="01234567890123456789-01234567890123456789;01234567890123456789"
indice=0

#-- recuperer le nombre d entree dans la table exterbe pt_Table_Externe

nb_entree=i_get_tab_nb_entries(pt_Table_Externe,date_art)

trace1("SMS-C nb entree de la table est :<%d>",nb_entree)

# Pour chaque entree

SI (nb_entree==0)
ALORS
  trace("Zero entree dans la table")
  RETOUR 0
FINSI

indice=0

POINT BOUCLE_NB_ENTRY

erreur=i_get_tab_one_entry (pt_Table_Externe,date_art,indice,pt_clevaleur)

SI (!i_strcmp(pt_clevaleur,g_inull))
ALORS
#   cle non trouve EOF table externe
  trace("EOF table externe")
  RETOUR 0
FINSI

# Appel a la fonction i_recuperValeur pour extraire la cle et la valeur

erreur=i_recupererValeur(pt_clevaleur,pt_cle,42,';')

SI (erreur!=0)
ALORS
  trace("Erreur fonction i_recupererValeur")
  RETOUR 0
FINSI

erreur=i_recupererValeur(pt_clevaleur,pt_valeur,21,';')

SI (erreur!=0)
ALORS
  trace("Erreur fonction i_recupererValeur")
  RETOUR 0
FINSI

SI ( i_adequation_chaine_expreg(pt_param_cle, pt_cle)==0 )
ALORS
#   trace2 ("valeur associee a <%s> : <%s>", pt_valeur, pt_resultat)
  RETOUR 1
FINSI

indice=indice+1
SI (indice<nb_entree)
ALORS
  SAUT BOUCLE_NB_ENTRY
SINON
  trace("cle non trouvee dans la table externe")
  RETOUR 0
FINSI

