# Fonction PCODE ID = 660004265
REGISTRE POINTEUR pt_typeres2
REGISTRE POINTEUR pt_typeres1
REGISTRE POINTEUR pt_gsnres2
REGISTRE POINTEUR pt_gsnres1
REGISTRE ENTIER rcode2
REGISTRE ENTIER rcode1
REGISTRE POINTEUR pt_code_type
REGISTRE POINTEUR pt_code_gsn

REGISTRE   POINTEUR    pt_codegsn
REGISTRE   POINTEUR    pt_codetype
REGISTRE   POINTEUR    pt_gsn
REGISTRE   POINTEUR    pt_type

REGISTRE   POINTEUR    pt_NumSequenceGsn
REGISTRE   POINTEUR    pt_NumSequenceType

REGISTRE   ENTIER    indice
REGISTRE   ENTIER    NumSequenceGsn
REGISTRE   ENTIER    NumSequenceType
REGISTRE   ENTIER    erreur
REGISTRE   ENTIER    found

pt_typeres2 = depilerPOINTEUR()
pt_typeres1 = depilerPOINTEUR()
pt_gsnres2 = depilerPOINTEUR()
pt_gsnres1 = depilerPOINTEUR()
rcode2 = depilerENTIER()
rcode1 = depilerENTIER()
pt_code_type = depilerPOINTEUR()
pt_code_gsn = depilerPOINTEUR()
pt_codegsn="dddd:ddddddddddddddddddddddddddddddddddddddd:dddd:ddddddddddddddddddddddddddddddddddddddd"
pt_codetype="cccc:ttttt:cccc:ttttt"
pt_NumSequenceGsn="GsnD"
pt_NumSequenceType="Type"
pt_gsn="01234567890123467012345678901234678901234:01234567890123467012345678901234678901234"
pt_type="type00"
# Nombre de resultats trouves
found = 0

POINT BOUCLE_CODEGSN

#-- extraire le code et l'adresse GSN du pointeur "code:gsn"
erreur=i_recupererValeur(pt_code_gsn,pt_codegsn,200,'|')

# DRE QC 363 1/04/09
SI erreur != 0
ALORS
  RETOUR found
FINSI
# DRE Fin

SI (!i_strcmp(pt_codegsn,g_inull))
ALORS
  RETOUR found
FINSI

# numero de sequence de l'adresse IP gsn
erreur=i_recupererValeur(pt_codegsn,pt_NumSequenceGsn,20,':')
NumSequenceGsn=toInteger_660004265(pt_NumSequenceGsn)
# valeur de l'adresse IP gsn
SI ((rcode1!=NumSequenceGsn)&& (rcode2!=NumSequenceGsn))
ALORS
  SAUT BOUCLE_CODEGSN
FINSI

erreur=i_recupererValeur(pt_codegsn,pt_gsn,79,':')

POINT BOUCLE_CODETYPE
#-- extraire aussi le type de l'adresse du pointeur "code:type"
erreur=i_recupererValeur(pt_code_type,pt_codetype,200,'|')
SI (erreur!=0)
ALORS
  trace("Erreur retour i_recupererValeur getGSNAdress 1")
  RETOUR found
FINSI
erreur=i_recupererValeur(pt_codetype,pt_NumSequenceType,4,':')
NumSequenceType=toInteger_660004265(pt_NumSequenceType)

SI (NumSequenceType == NumSequenceGsn)
ALORS
  erreur=i_recupererValeur(pt_codetype,pt_type,4,':')
  SI (erreur!=0)
  ALORS
    trace("Erreur retour fonction i_recupererValeur getGSNAdress 2")
    RETOUR found
  FINSI

  SI (! found)
  ALORS
    i_strcpy(pt_gsnres1,pt_gsn)
    i_strcpy(pt_typeres1,pt_type)
    found = found +1
  SINON
    i_strcpy(pt_gsnres2,pt_gsn)
    i_strcpy(pt_typeres2,pt_type)
    found = found +1
    RETOUR found
  FINSI

  SI (found !=2)
  ALORS
    SAUT BOUCLE_CODEGSN
  FINSI

SINON
  SAUT BOUCLE_CODETYPE
FINSI

