Salome HOME
Homard executable
[modules/homard.git] / src / tool / Utilitaire / utosde.F
1       subroutine utosde ( typobs, ulsort, langue, codret )
2 c ______________________________________________________________________
3 c
4 c                             H O M A R D
5 c
6 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
7 c
8 c Version originale enregistree le 18 juin 1996 sous le numero 96036
9 c aupres des huissiers de justice Simart et Lavoir a Clamart
10 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
11 c aupres des huissiers de justice
12 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
13 c
14 c    HOMARD est une marque deposee d'Electricite de France
15 c
16 c Copyright EDF 1996
17 c Copyright EDF 1998
18 c Copyright EDF 2002
19 c Copyright EDF 2020
20 c ______________________________________________________________________
21 c
22 c  but : determine si un objet de nom symbolique donne a ete defini
23 c        dans la configuration
24 c ______________________________________________________________________
25 c .        .     .        .                                            .
26 c .  nom   . e/s . taille .           description                      .
27 c .____________________________________________________________________.
28 c . typobs . e   .  ch8   . nom symbolique de l'objet                  .
29 c . ulsort . e   .    1   . unite logique d'impression                 .
30 c . langue . e   .    1   . langue des messages                        .
31 c .        .     .        . 1 : francais, 2 : anglais                  .
32 c . codret .  s  .    1   . code de retour                             .
33 c .        .     .        . 0 : pas de probleme                        .
34 c .        .     .        . 2 : pas de nom dans la base                .
35 c ______________________________________________________________________
36 c
37 c====
38 c 0. declarations et dimensionnement
39 c====
40 c
41 c 0.1. ==> generalites
42 c
43       implicit none
44       save
45 c
46       character*6 nompro
47       parameter ( nompro = 'UTOSDE' )
48 c
49 #include "nblang.h"
50 c
51 c 0.2. ==> communs
52 c
53 #include "gmstri.h"
54 c
55 c 0.3. ==> arguments
56 c
57       character*8 typobs
58 c
59       integer ulsort, langue, codret
60 c
61 c 0.4. ==> variables locales
62 c
63 #include "utliob.h"
64 c
65       integer iaux
66       integer adnore
67       integer nbfich
68 c
69       character*8 nomaux
70 c
71       integer nbmess
72       parameter ( nbmess = 10 )
73       character*80 texte(nblang,nbmess)
74 c
75 c 0.5. ==> initialisations
76 c ______________________________________________________________________
77 c
78 c====
79 c 1.  messages
80 c====
81 c
82 #include "impr01.h"
83 c
84 #ifdef _DEBUG_HOMARD_
85       write (ulsort,texte(langue,1)) 'Entree', nompro
86       call dmflsh (iaux)
87 #endif
88 c
89       texte(1,4) = '(1x,''Objet '',a,'' : recuperation impossible.'')'
90       texte(1,5) = '(1x,''Objet '',a,'' : nom terminal introuvable.'')'
91 c
92       texte(2,4) = '(1x,''Object '',a,'': recovery is impossible.'')'
93       texte(2,5) = '(1x,''Object '',a,'': final name is missing.'')'
94 c
95 c====
96 c 2. recherche des adresses des objets GM lies aux noms symboliques
97 c    des objets
98 c====
99 c
100       nomaux = osliob
101 c
102       call gmliat ( nomaux, 1, nbfich, codret )
103 c
104       call gmadoj ( nomaux//'.NomRefer', adnore, iaux, codret)
105 c
106       if ( codret.ne.0 ) then
107         write (ulsort,texte(langue,4)) nomaux
108         codret = 2
109       endif
110 c
111 c====
112 c 3. recherche du nom de l'objet
113 c====
114 c
115       if ( codret.eq.0 ) then
116 c
117          do 31 , iaux = 1 , nbfich
118 #ifdef _DEBUG_HOMARD_
119             nomaux = smem(adnore+iaux-1)
120 #endif
121             if ( smem(adnore+iaux-1).eq.typobs ) then
122                goto 32
123             endif
124    31    continue
125 c
126          codret = 2
127 c
128 #ifdef _DEBUG_HOMARD_
129          write (ulsort,texte(langue,5)) typobs
130 #endif
131 c
132    32    continue
133 c
134       endif
135 c
136 c====
137 c 4. la fin
138 c====
139 c
140       if ( codret.ne.0 ) then
141 c
142 #ifdef _DEBUG_HOMARD_
143       write (ulsort,texte(langue,1)) 'Sortie', nompro
144       write (ulsort,texte(langue,2)) codret
145 #endif
146 c
147       endif
148 c
149       end