5 &( icol , ligne , defatt , trouve , luign , motcle ,
SIZE,
6 & motign , lonign , nmaxr , nficda , gestd )
78 INTEGER TROUVE(4,*),ICOL,NMAXR(4),NFICDA,SIZE(4,*)
81 CHARACTER(LEN=72) MOTIGN(100),MOTCLE(4,*)
82 CHARACTER(LEN=PATH_LEN) DEFATT(*)
83 CHARACTER(LEN=*) LIGNE
85 INTEGER NEXT,PRECAR,LONGLU
86 CHARACTER(LEN=PATH_LEN) CARLU
93 INTEGER I,LCAR,ICOLA,JCOLA,CHAMP(4),LGA,II
94 INTEGER :: LGMOTG(nbchp1),GECHP1(nbchp1)
95 CHARACTER(LEN=1) PTVIRG,QUOTE,GUILLT
96 CHARACTER(LEN=53) :: MESERR(2*nbchp1)
97 CHARACTER(LEN=10) :: MOTCH1(nbchp1)
98 CHARACTER(LEN=PATH_LEN) NULATT,ANALYS,FIELD,FIELD0
105 parameter( motch1 = (/
106 &
'IN ',
'OUT ',
'CAS ',
'DIC ',
107 &
'QSUB ',
'LIB ',
'FORTRAN ',
'DIROUT ',
108 &
'USER ',
'ACCT ',
'PRE ',
'POST ' /) )
110 parameter( lgmotg = (/ 2,3,3,3,4,3,7,6,4,4,3,4 /) )
112 parameter( gechp1 = (/ 1,1,0,0,0,0,1,1,0,0,0,0 /) )
116 parameter( meserr = (/
117 &
'PAS D''ALLOCATION DE FICHIER D''ENTREE !! ',
118 &
'NO ALLOCATION FOR INPUT FILE !! ',
119 &
'PAS D''ALLOCATION DE FICHIER DE SORTIE !! ',
120 &
'NO ALLOCATION FOR OUTPUT FILE !! ',
121 &
'PAS D''ALLOCATION POUR LE FICHIER CAS !! ',
122 &
'NO ALLOCATION FOR THE STEERING FILE !! ',
123 &
'PAS D''ALLOCATION POUR LE DICTIONNAIRE !! ',
124 &
'NO ALLOCATION FOR THE DICTIONARY !! ',
125 &
'PAS DE COMMANDE CRAY !! ',
126 &
'NO INSTRUCTION FOR CRAY !! ',
127 &
'PAS DE LIBRAIRIE !! ',
129 &
'PAS DE VALEUR POUR LE REPERTOIRE FORTRAN !! ',
130 &
'NO VALUE FOR THE FORTRAN DIRECTORY !! ',
131 &
'PAS DE VALEUR POUR LE REPERTOIRE DE SORTIE !! ',
132 &
'NO VALUE FOR THE OUTPUT DIRECTORY !! ',
133 &
'PAS DE COMMANDE CRAY !! ',
134 &
'NO INSTRUCTION FOR CRAY !! ',
135 &
'PAS DE COMMANDE CRAY !! ',
136 &
'NO INSTRUCTION FOR CRAY !! ',
137 &
'PAS DE COMMANDE PRE !! ',
138 &
'NO INSTRUCTION FOR PRE !! ',
139 &
'PAS DE COMMANDE POST !! ',
140 &
'NO INSTRUCTION FOR POST !! ' /) )
155 IF(.NOT.(luign))
THEN 156 defatt(
deflu)=carlu(lcar,icol,ligne,quote,motcle,
SIZE,motign,
157 & lonign,nmaxr,nficda,len(defatt(
deflu)))
159 nulatt = carlu(lcar,icol,ligne,quote,motcle,
SIZE,motign,
160 & lonign,nmaxr,nficda,len(nulatt))
163 icol = next(icol+1,ligne)
165 IF (ligne(icol:icol) .EQ. ptvirg)
GO TO 100
168 IF (luign)
GO TO 1300
173 WRITE(
lu,*)
'NOT ENOUGH DATAS DEFINED FOR SUBMIT...' 186 lga = max(longlu(analys),1)
187 IF (analys(icola+1:icola+1).EQ.
';')
THEN 190 jcola = precar(icola+1,analys,
';',
';',
';')
191 lcar = longlu(analys(icola+1:jcola-1))
193 field0 = carlu(lcar,icola,analys,guillt,motcle,
SIZE,motign,
194 & lonign,nmaxr,nficda,len(field0))
195 lcar = longlu(field0(1:lcar))
200 WRITE(
lu,*)
'INVALID SUBMIT : ',analys(1:lga)
201 WRITE(
lu,*)
'NO FIRST FIELD !!' 211 IF (lcar.EQ.lgmotg(ii).AND.
212 & field(1:min(lcar,10)).EQ.motch1(ii)(1:min(lcar,10)))
THEN 213 IF (gestd.AND.gechp1(ii).EQ.1)
THEN 214 defatt(i) =
'NUL;FOR'//defatt(i)(jcola+4:max(lga,jcola+4))
229 ELSEIF (analys(icola+1:icola+1).EQ.
';')
THEN 232 jcola = precar(icola+1,analys,
';',
';',
';')
233 lcar = longlu(analys(icola+1:jcola-1))
235 field0 = carlu(lcar,icola,analys,guillt,motcle,
SIZE,motign,
236 & lonign,nmaxr,nficda,len(field0))
237 lcar = longlu(field0(1:lcar))
242 WRITE(
lu,*)
'INVALID SUBMIT : ',analys(1:lga)
243 WRITE(
lu,*)
'NO SECOND FIELD !! ' 256 IF (field(1:3).EQ.
'OPT')
THEN 258 ELSEIF (field(1:3).EQ.
'REQ')
THEN 265 IF (
itai.LE.1.AND.i.LE.max(
itai,1))
THEN 266 IF (champ(2) .EQ. 1) trouve(
ntyp,
indx)=3
267 IF (champ(2) .EQ. 3) trouve(
ntyp,
indx)=6
268 IF (champ(1) .EQ. 4) trouve(
ntyp,
indx)=9
273 IF (champ(1).EQ.100) cycle
280 WRITE(
lu,*)
'INVALID SUBMIT : ',analys(1:lga)
281 WRITE(
lu,*)
'NO THIRD FIELD !! ' 285 jcola = precar(icola+1,analys,
';',
';',
';')
292 ELSEIF (analys(icola+1:icola+1).EQ.
';')
THEN 295 jcola = precar(icola+1,analys,
';',
';',
';')
296 lcar = longlu(analys(icola+1:jcola-1))
300 WRITE(
lu,*)
'INVALID SUBMIT : ',analys(1:lga)
304 WRITE(
lu,*) meserr(2*(champ(1)-1)+
lng)
subroutine influ(ICOL, LIGNE, DEFATT, TROUVE, LUIGN, MOTCLE, SIZE, MOTIGN, LONIGN, NMAXR, NFICDA, GESTD)
integer function precar(ICOL, LIGNE, CAR1, CAR2, CAR3)
character(len=path_len) function carlu(LCAR, ICOL, LIGNE, EXTREM, MOTCLE, SIZE, MOTIGN, LONIGN, NMAXR, NFICDA, LGVAR)
integer function next(ICOL, LIGNE)
integer function longlu(LIGNE)
logical erreur
Y. AUDOUIN (EDF LAB, LNHE) 09/05/2014 V7P0 First version.