Télécharger fnomob.eso

Retour à la liste

Numérotation des lignes :

  1. C FNOMOB SOURCE JC220346 18/12/04 21:15:26 9991
  2. SUBROUTINE FNOMOB (ITITI,ITLACC,ISGTR,CTYP,ILISNB)
  3. C=======================================================================
  4. C A PARTIR D UNE TABLE DES OBJETS DU TYPE DONNE
  5. C 1-ON APPELLE SNOM2 POUR TESTER SI LE POINTEUR EST DANS LA PILE
  6. C ITLACC
  7. C 2-SI OUI, ON CHERCHE S IL EST DEJA DANS ISGTR ASSOCIE
  8. C 3-SI NON,ON AJOUTE NOM-NOM-INDICE DANS ISGTR ASSOCIE
  9. C
  10. C APPELE PAR : FILLNO HATRIG HATSTR
  11. C APPELE : SNOM1
  12. C : SNOM2
  13. C ---ATTENTION ---------1 TABLE EST DEFINIE PAR 6 VALEURS----------
  14. C SI LA TABLE CHANGE, IL FAUT CHANGER LA VALEUR DU PAS
  15. C DANS LA BOUCLE (6)
  16. C=======================================================================
  17. IMPLICIT INTEGER(I-N)
  18. -INC CCOPTIO
  19. -INC CCNOYAU
  20. -INC TMCOLAC
  21. SEGMENT ILISNB
  22. INTEGER ILISOB(MLON)
  23. CHARACTER*(LONOM) ILISNO(MLON)
  24. ENDSEGMENT
  25. CHARACTER*(*) CTYP
  26. CHARACTER*(LONOM) CNOM
  27. EXTERNAL LONG
  28. C
  29. ITITI=0
  30. CALL LISTNO(CTYP,ITITI,ILISNB)
  31. C
  32. IF (ITITI.EQ.0) GO TO 1
  33. DO 2 I=1,ITITI
  34. IP1=ILISOB(I)
  35. CALL SNOM2(IP1,ITLACC,K)
  36. IF (K.EQ.0) GO TO 2
  37. CNOM=ILISNO(I)
  38. IF (IONIVE.LT.22.AND.LONG(CNOM).GT.8) THEN
  39. C AVERTISSEMENT SI UN NOM DE VARIABLE EST TRONQUE A 8 CARACTERES
  40. MOTERR(1:24)=CNOM(1:24)
  41. MOTERR(25:32)=CNOM(1:8)
  42. CALL ERREUR(-360)
  43. ENDIF
  44. CALL SNOM1(CNOM,ISGTR,IRET)
  45. IF (IRET.GT.0) THEN
  46. ISGTRI(IRET)=K
  47. ELSE
  48. KS=ISGTRI(/1)+1
  49. SEGADJ ISGTR
  50. ISGTRC(KS)=CNOM
  51. ISGTRI(KS)=K
  52. ENDIF
  53. 2 CONTINUE
  54. 1 RETURN
  55. END
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales