5 & (lfi, knumer, knimes, kcode, ldfata, &
6 & cdmess, cdnspr, cdacti )
152 INTEGER (KIND=JPLIKB) KNUMER, KNIMES, KCODE, ILDMES
153 INTEGER (KIND=JPLIKB) ILBLAN, INLNOM, INUMER
154 INTEGER (KIND=JPLIKB) ILACTI, ILACT2
155 INTEGER (KIND=JPLIKB) ILNSPR, ILMESU, IJL, J, IJ
156 INTEGER (KIND=JPLIKB) INBALO, ILMESA, INLIGN, IDECAL
160 CHARACTER(LEN=*) CDNSPR
161 CHARACTER(LEN=6) CLJOLI
162 CHARACTER(LEN=*) CDMESS
163 CHARACTER(LEN=80) CLMESA
164 CHARACTER(LEN=*) CDACTI
166 CHARACTER(LEN=LFI%JPLMES) CLMESS
175 REAL(KIND=JPRB) :: ZHOOK_HANDLE
179 ilact2=min(ilacti,lfi%JPNCPN)
180 ilacti=min(ilact2,8_jplikb )
181 ilnspr=min(int(len(cdnspr),
jplikb),lfi%JPLSPX)
187 ELSEIF (knimes.EQ.0.OR.kcode.NE.0)
THEN 193 IF (knimes.NE.0)
THEN 198 ilmesu=min(int(len(clmess),
jplikb) &
199 & -int(len(cljoli),
jplikb) &
201 & int(len(cdmess),
jplikb))
202 clmess=cljoli//
' '//cdnspr(1:ilnspr)//
' - '// &
204 WRITE (unit=lfi%NULOUT,fmt=
'(A)')
trim(clmess)
207 IF (knimes.EQ.0.OR.ldfata)
THEN 215 IF (knumer.EQ.lfi%JPNIL)
THEN 221 IF (knumer.EQ.lfi%NUMERO(ijl))
GOTO 302
231 IF ((cdacti.EQ.
'READ'.OR.cdacti.EQ.
'WRITE') &
232 & .AND.lfi%NUMAPH(ijl).GT.0)
THEN 233 WRITE (unit=clmess,fmt=
'(''ERREUR "'',A,''"'',I7, & 234 & '',UNITE'',I3,'',NUM.ART'',I6,'',*'',I6, & 235 & '' MOTS'')') cdacti(1:ilacti),kcode,knumer, &
237 & lfi%JPLARD*lfi%MFACTM(ijl)
239 WRITE (unit=clmess, &
240 & fmt=
'(''ERREUR "'',A,''" FORTRAN, CODE='' & 241 & ,I7,'', UNITE='',I3)') cdacti(1:ilacti),kcode,knumer
244 ELSEIF (kcode.EQ.-1)
THEN 245 WRITE (unit=clmess,fmt=
'(''UNITE LOGIQUE'',I3, & 246 & '' NON OUVERTE POUR LE LOGICIEL LFI'')') knumer
248 ELSEIF (kcode.EQ.-2)
THEN 250 IF (knumer.EQ.lfi%JPNIL)
THEN 251 clmess=
'PARAMETRE DE NIVEAU "KNIVAU" HORS PLAGE [0-2]' 253 WRITE (unit=clmess,fmt= &
254 &
'(''NIVEAU DE MESSAGERIE HORS PLAGE [0-2], UNITE'',I3)') knumer
257 ELSEIF (kcode.EQ.-3)
THEN 258 ildmes=min(8_jplikb ,int(len(cdmess),
jplikb))
259 clmess=
'ACTION '''//cdmess(1:ildmes) &
260 & //
''' INCONNUE SUR LES VERROUS' 262 ELSEIF (kcode.EQ.-4)
THEN 263 clmess=
'CHANGEMENT MODE MULTI-TACHES AVEC ' &
264 & //
'UNITE(S) OUVERTE(S)' 266 ELSEIF (kcode.EQ.-5)
THEN 267 WRITE (unit=clmess,fmt=
'(''UNITE LOGIQUE'',I3, & 268 & '' DEJA OUVERTE POUR LFI - NE DEVRAIT PAS.'')') knumer
270 ELSEIF (kcode.EQ.-6)
THEN 271 WRITE (unit=clmess,fmt=
'(I3,'' ENTREES,'', & 272 & '' PLUS ASSEZ DE PLACE DANS LES TABLES, UNITE'',I3)') &
275 ELSEIF (kcode.EQ.-7)
THEN 276 WRITE (unit=clmess,fmt=
'(''STATUS FORTRAN '''''',A, & 277 & '''''' INCONNU, UNITE'',I3)') cdacti(1:ilacti),knumer
279 ELSEIF (kcode.EQ.-8)
THEN 280 WRITE (unit=clmess, &
281 & fmt=
'(''L''''UNITE'',I3,'' DE STATUS '''''' & 282 &,A,'''''' DOIT AVOIR UN NOM EXPLICITE'')') knumer,cdacti(1:ilacti)
284 ELSEIF (kcode.EQ.-9)
THEN 286 IF (cdacti.EQ.
'OLD')
THEN 287 WRITE (unit=clmess,fmt= &
288 &
'(''STATUS ''''OLD'''' MAIS LE FICHIER N''''EXISTE PAS, UNITE'', & 292 IF (ilblan.GT.1) ilacti=ilblan-1
293 WRITE (unit=clmess,fmt= &
294 &
'(''STATUS '''''',A,'''''' MAIS LE FICHIER EXISTE DEJA, UNITE'', & 295 & I3)') cdacti(1:ilacti),knumer
298 ELSEIF (kcode.EQ.-10)
THEN 299 WRITE (unit=clmess,fmt=
'(''INCOMPATIBILITE'', & 300 & '' FICHIER / LOGICIEL, UNITE'',I3)') knumer
302 ELSEIF (kcode.EQ.-11)
THEN 303 WRITE (unit=clmess, &
304 & fmt=
'(''UNITE'',I3,'' NON FERMEE APRES '', & 305 & ''LA DERNIERE MODIFICATION'')') knumer
307 ELSEIF (kcode.EQ.-12)
THEN 308 WRITE (unit=clmess,fmt=
'(''UNITE'',I3, & 309 & '' DE STATUS ''''OLD'''' - ERREUR LECTURE PREMIER ARTICLE'')') &
312 ELSEIF (kcode.EQ.-13)
THEN 319 IF (cdacti.EQ.lfi%CNOMFI(ij))
THEN 320 inumer=lfi%NUMERO(ij)
321 inlnom=min(lfi%NLNOMF(ij),int(len(clmess),
jplikb)-3)
328 clmess=
' '''//cdacti(1:inlnom)//
'''' 329 WRITE (unit=lfi%NULOUT,fmt=
'(A)')
trim(clmess)
330 WRITE (unit=clmess,fmt=
'(''UNITE'',I3,'' - FICHIER '', & 331 & ''DEJA OUVERT POUR L''''UNITE'',I3)') knumer,inumer
333 ELSEIF (kcode.EQ.-14)
THEN 335 IF (cdnspr.EQ.
'LFIECR'.OR.cdnspr.EQ.
'LFILEC'.OR. &
336 & cdnspr.EQ.
'LFILAS'.OR.cdnspr.EQ.
'LFILAP')
THEN 337 WRITE (unit=clmess,fmt= &
338 &
'(''LONGUEUR D''''ARTICLE INCORRECTE, UNITE'',I3)') knumer
339 ELSEIF (knumer.EQ.lfi%JPNIL)
THEN 340 clmess=
'RANG DANS LA TABLE *LFI%NUMERO* INCORRECT' 342 WRITE (unit=clmess,fmt= &
343 &
'(''ARGUMENT DE TYPE ENTIER INCORRECT, UNITE'',I3)') knumer
346 ELSEIF (kcode.EQ.-15)
THEN 347 WRITE (unit=clmess, &
348 & fmt=
'(''NOM D''''ARTICLE INCORRECT OU '', & 349 & ''TROP LONG, UNITE'',I3)') knumer
351 ELSEIF (kcode.EQ.-16)
THEN 352 WRITE (unit=clmess, &
353 & fmt=
'(''INCOHERENCE (TABLES, FICHIER, '', & 354 & ''APPELS S/P INT, LOGICIEL), UNITE'',I3)') knumer
356 ELSEIF (kcode.EQ.-17)
THEN 359 inbalo=lfi%MDES1D(ixm(lfi%JPNALO,ijl))
364 WRITE (unit=clmess, &
365 & fmt=
'(I6,'' ARTICLES, INDEX PLEIN, UNITE'', & 366 & I3)') inbalo,knumer
368 ELSEIF (kcode.EQ.-18)
THEN 369 WRITE (unit=clmess, &
370 & fmt=
'(''ARTICLE DE NOM BLANC ILLICITE'', & 371 & '', UNITE'',I3)') knumer
373 ELSEIF (kcode.EQ.-19)
THEN 374 WRITE (unit=clmess,fmt=
'(''UNITE'',I3, & 375 & '' ''''SCRATCH'''', NE PEUT ETRE CONSERVEE'')') knumer
377 ELSEIF (kcode.EQ.-20)
THEN 378 WRITE (unit=clmess,fmt=
'(''ARTICLE "'',A, & 379 & ''" NON TROUVE, UNITE'',I3)') cdacti(1:ilact2),knumer
381 ELSEIF (kcode.EQ.-21)
THEN 382 WRITE (unit=clmess,fmt=
'(''ARTICLE "'',A, & 383 & ''" + *LONG* QUE DEMANDE, UNITE'',I3)') &
384 & cdacti(1:ilact2),knumer
386 ELSEIF (kcode.EQ.-22)
THEN 387 WRITE (unit=clmess,fmt=
'(''ARTICLE "'',A, & 388 & ''" + *COURT* QUE DEMANDE, UNITE'',I3)') &
389 & cdacti(1:ilact2),knumer
391 ELSEIF (kcode.EQ.-23)
THEN 392 WRITE (unit=clmess, &
393 & fmt=
'(''PAS OU PLUS D''''ARTICLE SUIVANT'', & 394 & '' A LIRE, UNITE'',I3)') knumer
396 ELSEIF (kcode.EQ.-24)
THEN 397 WRITE (unit=clmess,fmt=
'(''VARIABLE CAR.TROP COURTE '', & 398 & ''POUR "'',A,''", UNITE'',I3)') &
399 & cdacti(1:ilact2),knumer
401 ELSEIF (kcode.EQ.-25)
THEN 402 WRITE (unit=clmess, &
403 & fmt=
'(''NOUVEAU NOM D''''ARTICLE: "'',A, & 404 & ''" DEJA UTILISE, UNITE'',I3)') &
405 & cdacti(1:ilact2),knumer
407 ELSEIF (kcode.EQ.-26)
THEN 408 WRITE (unit=clmess,fmt=
'(''PAS OU PLUS D''''ARTICLE '', & 409 & '' PRECEDENT A LIRE, UNITE'',I3)') knumer
411 ELSEIF (kcode.EQ.-27)
THEN 412 WRITE (unit=clmess, &
413 & fmt=
'(''ESPACE CONTIGU INSUFFISANT DANS '', & 414 & '' LES TABLES, UNITE'',I3)') knumer
416 ELSEIF (kcode.EQ.-28)
THEN 418 IF (knumer.EQ.lfi%JPNIL)
THEN 419 WRITE (unit=clmess,fmt=
'(''FACTEUR MULTIPLICATIF PAR '', & 420 & ''DEFAUT SUPERIEUR AU MAXIMUM('',I3,'')'')') lfi%JPFACX
422 WRITE (unit=clmess,fmt=
'(''FACTEUR MULTIPLICATIF '', & 423 & ''DEMANDE SUPERIEUR AU MAXIMUM ('',I3,''), UNITE'',I3)') &
427 ELSEIF (kcode.EQ.-29)
THEN 428 WRITE (unit=clmess,fmt=
'(I3,'' ENTREES,'', & 429 & '' PAS DE PLACE POUR FACTEUR MULTIPLIC, UNITE'',I3)') &
432 ELSEIF (kcode.EQ.-30)
THEN 433 WRITE (unit=clmess, &
434 & fmt=
'(''LFI%NUMERO D''''UNITE LOGIQUE FORTRAN'' & 435 & ,I8,'' ILLICITE'')') knumer
437 ELSEIF (kcode.EQ.-31)
THEN 438 WRITE (unit=clmess,fmt=
'(''LFI%NUMERO UNITE LOGIQ'',I3, & 439 & '' SANS FACTEUR MULTIPLICATIF PREDEFINI'')') knumer
443 ELSEIF (knumer.EQ.lfi%JPNIL)
THEN 444 WRITE (unit=clmess, &
445 & fmt=
'(''ERREUR GLOBALE *INCONNUE* LFI%NUMERO'', & 448 WRITE (unit=clmess, &
449 & fmt=
'(''ERREUR *INCONNUE* LFI%NUMERO'',I6, & 450 & '' SUR UNITE LOGIQUE'',I3)') kcode,knumer
453 ilmesa=int(len(clmesa),
jplikb)
454 ilmesu=ilmesa-1-2*int(len(cljoli),
jplikb)-ilnspr-4
455 clmesa=cljoli//
' '//cdnspr(1:ilnspr)//
' - ' &
456 & //clmess(1:ilmesu)//cljoli
457 WRITE (unit=lfi%NULOUT,fmt=
'(A)') clmesa
464 IF (lfi%NLNOMF(ijl).LE.lfi%JPLFTX)
THEN 465 WRITE (unit=lfi%NULOUT,fmt=
'(A,/)') cljoli &
466 & //
' NOM - APPARENT MAIS' &
467 & //
' COMPLET - DE L''UNITE LOGIQUE LFI CONCERNEE:' 469 WRITE (unit=clmess,fmt=
'(A, & 470 & '' NOM - APPARENT, ET TRONQUE DE'',I4, & 471 & '' CARACTERES - DE L''''UNITE LOGIQUE LFI CONCERNEE:'')') &
472 & cljoli,lfi%NLNOMF(ijl)-lfi%JPLFTX
473 WRITE (unit=lfi%NULOUT,fmt=
'(A,/)')
trim(clmess)
476 inlign=(lfi%NLNOMF(ijl)-1)/lfi%JPLFIX
480 WRITE (unit=lfi%NULOUT,fmt=
'(A)') &
481 & lfi%CNOMFI(ijl)(idecal+1:idecal+lfi%JPLFIX)//
'...' 482 idecal=idecal+lfi%JPLFIX
485 IF (lfi%NLNOMF(ijl).LE.lfi%JPLFTX)
THEN 486 WRITE (unit=lfi%NULOUT,fmt=
'(A,/)') &
487 & lfi%CNOMFI(ijl)(idecal+1:lfi%NLNOMF(ijl))
489 WRITE (unit=lfi%NULOUT,fmt=
'(A,/)') &
490 & lfi%CNOMFI(ijl)(idecal+1:lfi%JPLFTX)//
'...' 493 IF (lfi%CNOMSY(ijl).NE.lfi%CNOMFI(ijl))
THEN 494 WRITE (unit=lfi%NULOUT,fmt=
'(A,/)') cljoli// &
495 &
' NOM *SYSTEME* (APPARENT) DE L''UNITE LOGIQUE LFI CONCERNEE:' 496 inlign=(lfi%NLNOMS(ijl)-1)/lfi%JPLFIX
500 WRITE (unit=lfi%NULOUT,fmt=
'(A)') &
501 & lfi%CNOMSY(ijl)(idecal+1:idecal+lfi%JPLFIX)//
'...' 502 idecal=idecal+lfi%JPLFIX
505 WRITE (unit=lfi%NULOUT,fmt=
'(A,/)') &
506 & lfi%CNOMSY(ijl)(idecal+1:lfi%NLNOMS(ijl))
511 WRITE (unit=lfi%NULOUT,fmt=
'(A)') clmesa
512 IF (ldfata.AND.kcode.NE.0)
THEN 516 CALL flush (int(lfi%NULOUT))
526 #include "lficom2.ixm.h" 534 & (knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
542 INTEGER (KIND=JPLIKB) KNUMER
543 INTEGER (KIND=JPLIKB) KNIMES
544 INTEGER (KIND=JPLIKB) KCODE
546 CHARACTER (LEN=*) CDMESS
547 CHARACTER (LEN=*) CDNSPR
548 CHARACTER (LEN=*) CDACTI
553 & (lfi, knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
559 & (knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
567 INTEGER (KIND=JPLIKM) KNUMER
568 INTEGER (KIND=JPLIKM) KNIMES
569 INTEGER (KIND=JPLIKM) KCODE
571 CHARACTER (LEN=*) CDMESS
572 CHARACTER (LEN=*) CDNSPR
573 CHARACTER (LEN=*) CDACTI
578 & (lfi, knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
584 & (lfi, knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
591 INTEGER (KIND=JPLIKM) KNUMER
592 INTEGER (KIND=JPLIKM) KNIMES
593 INTEGER (KIND=JPLIKM) KCODE
595 CHARACTER (LEN=*) CDMESS
596 CHARACTER (LEN=*) CDNSPR
597 CHARACTER (LEN=*) CDACTI
599 INTEGER (KIND=JPLIKB) INUMER
600 INTEGER (KIND=JPLIKB) INIMES
601 INTEGER (KIND=JPLIKB) ICODE
604 inumer = int( knumer,
jplikb)
605 inimes = int( knimes,
jplikb)
606 icode = int( kcode,
jplikb)
609 & (lfi, inumer, inimes, icode, ldfata, cdmess, cdnspr, &
static const char * trim(const char *name, int *n)
integer, parameter jplikb
subroutine new_lfi_default()
subroutine lfiefr_fort(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
subroutine lfiefr64(KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
logical, save lficom_default_init
subroutine lfiefr_mt(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
type(lficom), target, save lficom_default
subroutine lfiefr(KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)