Télécharger operdi.eso

Retour à la liste

Numérotation des lignes :

  1. C OPERDI SOURCE PV 17/07/20 21:15:04 9512
  2. SUBROUTINE OPERDI
  3. C_______________________________________________________________________
  4. C
  5. C DIVISE UN LISTREEL PAR UN FLOTTANT (OU UN ENTIER)
  6. C DIVISE UN LISTREEL PAR UN LISTREEL (OU UN LISTENTI) : Terme à terme
  7. C DIVISE UN CHAMPS PAR ELEMENT PAR UN FLOTTANT (OU 1 ENTIER)
  8. C DIVISE UN OBJET RIGIDITE PAR UN FLOTTANT (OU UN ENTIER)
  9. C DIVISE UN CHPOINT PAR UN CHPOINT
  10. C DIVISE UN CHPOINT PAR UN FLOTTANT (OU UN ENTIER)
  11. C DIVISE 2 NOMBRES (FLOTTANT OU ENTIER)
  12. C DIVISE UN POINT PAR UN NOMBRE
  13. C DIVISE UN OBJET EVOLUTIO PAR UN FLOTTANT (OU UN ENTIER) : Ordonnee
  14. C DIVISE UN OBJET EVOLUTIO PAR UN OBJET EVOLUTIO
  15. C DIVISE UNE TABLE SOUSTYPE VECTEUR PAR UN REEL
  16. C
  17. C PASSAGE AUX NOUVEAUX MCHAMLS PAR JM CAMPENON LE 12/90
  18. C
  19. C_______________________________________________________________________
  20. C
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8(A-H,O-Z)
  23. C
  24. -INC CCREEL
  25. -INC CCOPTIO
  26. -INC SMCOORD
  27. -INC SMTABLE
  28. -INC SMLENTI
  29. -INC SMLREEL
  30. -INC SMLCHPO
  31.  
  32. CHARACTER*8 CTYP
  33. C_______________________________________________________________________
  34. C
  35. C RECHERCHE DU TYPE DU PREMIER ARGUMENT
  36. C_______________________________________________________________________
  37. CALL QUETYP(CTYP,0,IRETOU)
  38.  
  39. C_______________________________________________________________________
  40. C
  41. C CHERCHE A LIROBJ DEUX MCHAML
  42. C_______________________________________________________________________
  43. C
  44. CALL LIROBJ('MCHAML',IPCHE1,0,IRETOU)
  45. IF(IRETOU.EQ.0) GOTO 101
  46. CALL LIROBJ('MCHAML',IPCHE2,0,IRETOU)
  47. IF(IRETOU.EQ.0) THEN
  48. CALL REFUS
  49. GOTO 101
  50. ENDIF
  51. IPLREE = 0
  52. IPLMOT = 0
  53. CALL MUCHSC(0,IPCHE1,IPCHE2,IPCHMU,IPLMOT,IPLMOT,IPLMOT,IPLREE,-1)
  54. IF (IPCHMU.EQ.0) RETURN
  55. CALL ECROBJ('MCHAML',IPCHMU)
  56. RETURN
  57. C_______________________________________________________________________
  58. C
  59. C CHERCHE A LIROBJ UN MCHAML ET UN FLOTTANT
  60. C_______________________________________________________________________
  61. C
  62. 101 CALL LIROBJ('MCHAML',ICH1,0,IRETOU)
  63. IF(IRETOU.EQ.0) GOTO 102
  64. CALL LIRREE(FLO,0,IRETOU)
  65. IF(IRETOU.EQ.0) THEN
  66. CALL REFUS
  67. GOTO 102
  68. ENDIF
  69. C IOPERA= 5 pour l'operation DIVISION
  70. IOPERA= 5
  71. IF (CTYP .EQ. 'MCHAML') THEN
  72. C IARGU = 2 pour MCHAML / FLOTTANT
  73. IARGU = 2
  74. ELSE
  75. C IARGU = 21 pour FLOTTANT / MCHAML
  76. IARGU = 21
  77. ENDIF
  78. I1 = 0
  79. CALL OPCHE1(ICH1,IOPERA,IARGU,I1,FLO,ICHR,IRET)
  80. IF(IRET.NE.0) THEN
  81. CALL ECROBJ('MCHAML',ICHR)
  82. ELSE
  83. CALL ERREUR(26)
  84. ENDIF
  85. RETURN
  86. C_______________________________________________________________________
  87. C
  88. C CHERCHE A LIRE DEUX CHPOINT
  89. C_______________________________________________________________________
  90. C
  91. 102 CALL LIROBJ('CHPOINT ',ICHP1,0,IRETOU)
  92. IF(IRETOU.EQ.0) GOTO 103
  93. CALL LIROBJ('CHPOINT ',ICHP2,0,IRETOU)
  94. IF(IRETOU.EQ.0) THEN
  95. CALL REFUS
  96. GOTO 103
  97. ENDIF
  98. CALL LIROBJ('LISTMOTS',LMOT1,0,IRETOU)
  99. IF ( IRETOU .EQ. 1) THEN
  100. CALL LIROBJ('LISTMOTS',LMOT2,1,IRETOU)
  101. IF (IERR .NE. 0) RETURN
  102. CALL LIROBJ('LISTMOTS',LMOT3,1,IRETOU)
  103. IF (IERR .NE. 0) RETURN
  104. CALL MUCHP1(ICHP1,ICHP2,LMOT1,LMOT2,LMOT3,-1,IRET)
  105. IF (IRET.NE.0) CALL ECROBJ('CHPOINT',IRET)
  106. ELSE
  107. CALL MUPOSC(ICHP1,ICHP2,-1,IRET)
  108. IF (IRET.NE.0) CALL ECROBJ('CHPOINT',IRET)
  109. ENDIF
  110. RETURN
  111. C_______________________________________________________________________
  112. C
  113. C CHERCHE A LIROBJ UN CHPOINT ET UN FLOTTANT
  114. C_______________________________________________________________________
  115. C
  116. 103 CALL LIROBJ('CHPOINT ',ICH,0,IRETOU)
  117. IF(IRETOU.EQ.0) GOTO 104
  118. CALL LIRREE(FLO,0,IRETOU)
  119. IF(IRETOU.EQ.0) THEN
  120. CALL REFUS
  121. GOTO 104
  122. ENDIF
  123. C IOPERA= 5 pour l'operation DIVISION
  124. IOPERA= 5
  125. IF (CTYP .EQ. 'CHPOINT') THEN
  126. C IARGU = 2 pour CHPOINT / FLOTTANT
  127. IARGU = 2
  128. ELSE
  129. C IARGU = 21 pour FLOTTANT / CHPOINT
  130. IARGU = 21
  131. ENDIF
  132. I1 = 0
  133. CALL OPCHP1(ICH,IOPERA,IARGU,I1,FLO,ICHR,IRET)
  134. IF(IRET.NE.0) THEN
  135. CALL ECROBJ('CHPOINT',ICHR)
  136. ELSE
  137. CALL ERREUR(26)
  138. ENDIF
  139. RETURN
  140. C_______________________________________________________________________
  141. C
  142. C CHERCHE A LIROBJ UN OBJET DE TYPE RIGIDITE ET UN FLOTTANT
  143. C_______________________________________________________________________
  144. C
  145. 104 CALL LIROBJ('RIGIDITE',IPO1,0,IRETOU)
  146. IF (IRETOU.EQ.0) GOTO 1041
  147. IF (CTYP .EQ. 'ENTIER') THEN
  148. CALL REFUS
  149. GOTO 1041
  150. ENDIF
  151. IF (CTYP .EQ. 'FLOTTANT') THEN
  152. CALL REFUS
  153. GOTO 1041
  154. ENDIF
  155. CALL LIRREE(FLO,0,IRETOU)
  156. IF (IRETOU.EQ.0) THEN
  157. CALL REFUS
  158. GOTO 1041
  159. ENDIF
  160. IF (FLO.EQ.0.) GOTO 5000
  161. CALL MUFLRI(IPO1,FLO,IRET,-1)
  162. CALL ECROBJ('RIGIDITE',IRET)
  163. RETURN
  164. C_______________________________________________________________________
  165. C
  166. C CHERCHE A LIROBJ UN OBJET DE TYPE MATRIK ET UN FLOTTANT
  167. C_______________________________________________________________________
  168. C
  169. 1041 CALL LIROBJ('MATRIK ',IPO1,0,IRETOU)
  170. IF (IRETOU.EQ.0) GOTO 105
  171. IF (CTYP .EQ. 'ENTIER') THEN
  172. CALL REFUS
  173. GOTO 105
  174. ENDIF
  175. IF (CTYP .EQ. 'FLOTTANT') THEN
  176. CALL REFUS
  177. GOTO 105
  178. ENDIF
  179. CALL LIRREE(FLO,0,IRETOU)
  180. IF (IRETOU.EQ.0) THEN
  181. CALL REFUS
  182. GOTO 105
  183. ENDIF
  184. IF (ABS(FLO).LT.XPETIT) GOTO 5000
  185. CALL PRDMF(1./FLO,IPO1,IRET)
  186. IF (IRET.NE.0) CALL ECROBJ('MATRIK ',IRET)
  187. RETURN
  188. C_______________________________________________________________________
  189. C
  190. C CHERCHE A LIROBJ UN OBJET DE TYPE EVOLUTIO ET UN FLOTTANT
  191. C_______________________________________________________________________
  192. C
  193. 105 CALL LIROBJ('EVOLUTIO',ICH,0,IRETOU)
  194. IF (IRETOU.EQ.0) GOTO 106
  195. CALL LIRENT(I1,0,IREENT)
  196. IF(IREENT.EQ.0) THEN
  197. I1 = 0
  198. CALL LIRREE(FLO,0,IREFLO)
  199. IF(IREFLO.EQ.0) THEN
  200. CALL REFUS
  201. GOTO 106
  202. ELSE
  203. IF (CTYP .EQ. 'EVOLUTIO') THEN
  204. C IARGU = 2 pour EVOLUTIO - FLOTTANT
  205. IARGU = 2
  206. ELSE
  207. C IARGU = 21 pour FLOTTANT - EVOLUTIO
  208. IARGU = 21
  209. ENDIF
  210. ENDIF
  211. ELSE
  212. FLO = REAL(0.D0)
  213. IF (CTYP .EQ. 'EVOLUTIO') THEN
  214. C IARGU = 1 pour EVOLUTIO - ENTIER
  215. IARGU = 1
  216. ELSE
  217. C IARGU = 11 pour ENTIER - EVOLUTIO
  218. IARGU = 11
  219. ENDIF
  220. ENDIF
  221. C IOPERA= 5 pour l'operation DIVISION
  222. IOPERA= 5
  223. CALL OPEVO1(ICH,IOPERA,IARGU,I1,FLO,ICHR,IRET)
  224. IF(IRET.NE.0) THEN
  225. CALL ECROBJ('EVOLUTIO',ICHR)
  226. ELSE
  227. CALL ERREUR(26)
  228. ENDIF
  229. RETURN
  230. C_______________________________________________________________________
  231. C
  232. C EVOLUTIO / EVOLUTIO
  233. C_______________________________________________________________________
  234. C
  235. 106 CALL LIROBJ('EVOLUTIO',IPO1,0,IRETOU)
  236. IF (IRETOU.EQ.0) GOTO 107
  237. CALL LIROBJ('EVOLUTIO',IPO2,0,IRETOU)
  238. IF (IRETOU.EQ.0) THEN
  239. CALL REFUS
  240. GOTO 107
  241. ENDIF
  242. CALL PUIS(IPO1,IPO2,IRET,-1)
  243. CALL ECROBJ('EVOLUTIO',IRET)
  244. RETURN
  245. C_______________________________________________________________________
  246. C
  247. C CHERCHE A LIROBJ UN LISTREEL ET UN LISTREEL
  248. C_______________________________________________________________________
  249. C
  250. 107 CALL LIROBJ('LISTREEL',ICH1,0,IRETOU)
  251. IF(IRETOU.EQ.0) GOTO 1071
  252. CALL LIROBJ('LISTREEL',ICHR,0,IRETOU)
  253. IF (IRETOU.EQ.0) THEN
  254. CALL REFUS
  255. GOTO 1071
  256. ENDIF
  257. C IOPERA= 5 pour l'operation DIVISION
  258. IOPERA= 5
  259. IARGU = 0
  260. I1 = 0
  261. FLO = REAL(0.D0)
  262. CALL OPLRE1(ICH1,IOPERA,IARGU,I1,FLO,ICHR,IRET)
  263. IF(IRET.NE.0) THEN
  264. CALL ECROBJ('LISTREEL',ICHR)
  265. ELSE
  266. CALL ERREUR(26)
  267. ENDIF
  268. RETURN
  269. C_______________________________________________________________________
  270. C
  271. C CHERCHE A LIROBJ UN LISTREEL ET UN LISTENTI
  272. C_______________________________________________________________________
  273. C
  274. 1071 CALL LIROBJ('LISTREEL',MLREE1,0,IRETOU)
  275. IF(IRETOU.EQ.0) GOTO 1072
  276. CALL LIROBJ('LISTENTI',MLENT1,0,IRETOU)
  277. IF (IRETOU.EQ.0) THEN
  278. CALL REFUS
  279. GOTO 1072
  280. ENDIF
  281. SEGACT MLREE1,MLENT1
  282. JG=MLENT1.LECT(/1)
  283. IF(MLREE1.PROG(/1).NE.JG) THEN
  284. CALL ERREUR (217)
  285. RETURN
  286. ENDIF
  287.  
  288. SEGINI MLREE2
  289. DO I=1,JG
  290. IF(CTYP .EQ. 'LISTENTI') THEN
  291. X2 = MLREE1.PROG(I)
  292. IF(X2.EQ.0.) GOTO 5000
  293. MLREE2.PROG(I)=REAL(MLENT1.LECT(I))/X2
  294. ELSE
  295. X2 = REAL(MLENT1.LECT(I))
  296. IF(X2.EQ.0.) GOTO 5000
  297. MLREE2.PROG(I)=MLREE1.PROG(I)/X2
  298.  
  299. ENDIF
  300. ENDDO
  301. SEGDES MLREE2,MLREE1,MLENT1
  302. CALL ECROBJ('LISTREEL',MLREE2)
  303. RETURN
  304. C_______________________________________________________________________
  305. C
  306. C CHERCHE A LIROBJ UN LISTENTI ET UN LISTENTI
  307. C_______________________________________________________________________
  308. C
  309. 1072 CALL LIROBJ('LISTENTI',MLENT1,0,IRETOU)
  310. IF(IRETOU.EQ.0) GOTO 108
  311. CALL LIROBJ('LISTENTI',MLENT2,0,IRETOU)
  312. IF (IRETOU.EQ.0) THEN
  313. CALL REFUS
  314. GOTO 108
  315. ENDIF
  316. SEGACT,MLENT1,MLENT2
  317. JG=MLENT2.LECT(/1)
  318. IF(MLENT1.LECT(/1) .NE. JG) THEN
  319. CALL ERREUR (217)
  320. RETURN
  321. ENDIF
  322. SEGINI,MLENT3
  323. DO I=1,JG
  324. I1 = MLENT2.LECT(I)
  325. IF(I1 .EQ. 0 ) GOTO 5000
  326. MLENT3.LECT(I)=MLENT1.LECT(I)/I1
  327. ENDDO
  328. SEGDES,MLENT1,MLENT2,MLENT3
  329. CALL ECROBJ('LISTENTI',MLENT3)
  330. RETURN
  331. C_______________________________________________________________________
  332. C
  333. C LISTREEL / FLOTTANT OU ENTIER
  334. C_______________________________________________________________________
  335. C
  336. 108 CALL LIROBJ('LISTREEL',ICH1,0,IRETOU)
  337. IF(IRETOU.EQ.0) GOTO 1081
  338. CALL LIRREE(FLO,0,IRETOU)
  339. IF(IRETOU.EQ.0) THEN
  340. CALL REFUS
  341. GOTO 1081
  342. ENDIF
  343. C IOPERA= 5 pour l'operation DIVISION
  344. IOPERA= 5
  345. IF (CTYP .EQ. 'LISTREEL') THEN
  346. C IARGU = 2 pour LISTREEL / FLOTTANT
  347. IARGU = 2
  348. ELSE
  349. C IARGU = 21 pour FLOTTANT / LISTREEL (terme a terme)
  350. IARGU = 21
  351. ENDIF
  352. I1 = 0
  353. CALL OPLRE1(ICH1,IOPERA,IARGU,I1,FLO,ICHR,IRET)
  354. IF(IRET.NE.0) THEN
  355. CALL ECROBJ('LISTREEL',ICHR)
  356. ELSE
  357. CALL ERREUR(26)
  358. ENDIF
  359. RETURN
  360. C_______________________________________________________________________
  361. C
  362. C LISTENTI / FLOTTANT OU ENTIER
  363. C_______________________________________________________________________
  364. C
  365. 1081 CALL LIROBJ('LISTENTI',MLENT1,0,IRETOU)
  366. IF(IRETOU.EQ.0) GOTO 109
  367. IF (CTYP .EQ. 'ENTIER') THEN
  368. CALL REFUS
  369. GOTO 109
  370. ENDIF
  371. IF (CTYP .EQ. 'FLOTTANT') THEN
  372. CALL REFUS
  373. GOTO 109
  374. ENDIF
  375. CALL LIRENT(I1,0,IRETOU)
  376. IF(IRETOU.EQ.0) THEN
  377. GOTO 1082
  378. ELSE
  379. IF (CTYP .EQ. 'ENTIER') GOTO 109
  380. IF(I1.EQ.0) GOTO 5000
  381. SEGACT,MLENT1
  382. JG=MLENT1.LECT(/1)
  383.  
  384. SEGINI,MLENT2
  385. DO I=1, JG
  386. MLENT2.LECT(I)=MLENT1.LECT(I)/I1
  387. ENDDO
  388. SEGDES,MLENT1
  389. CALL ECROBJ('LISTENTI',MLENT2)
  390. RETURN
  391. ENDIF
  392.  
  393. 1082 CALL LIRREE(FLO,0,IRETOU)
  394. IF(IRETOU.EQ.0) THEN
  395. CALL REFUS
  396. GOTO 109
  397. ELSE
  398. IF(ABS(FLO).LT.XPETIT) GOTO 5000
  399. SEGACT,MLENT1
  400. JG=MLENT1.LECT(/1)
  401.  
  402. SEGINI,MLREE1
  403. DO I=1, JG
  404. MLREE1.PROG(I)=REAL(MLENT1.LECT(I))/FLO
  405. ENDDO
  406. SEGDES,MLREE1
  407. CALL ECROBJ('LISTREEL',MLREE1)
  408. RETURN
  409. ENDIF
  410. C_______________________________________________________________________
  411. C
  412. C CHERCHE A LIROBJ 2 ENTIERS
  413. C_______________________________________________________________________
  414. C
  415. 109 CALL LIRENT(I1,0,IRETOU)
  416. IF (IRETOU.EQ.0) GOTO 110
  417. CALL LIRENT(I2,0,IRETOU)
  418. IF (IRETOU.EQ.0) THEN
  419. CALL REFUS
  420. GOTO 110
  421. ENDIF
  422.  
  423. C Cas de la division de 2 ENTIERS
  424. IF(I2 .EQ. 0) GOTO 5000
  425. CALL ECRENT(I1/I2)
  426. RETURN
  427. C_______________________________________________________________________
  428. C
  429. C CHERCHE A LIRE DEUX FLOTTANTS
  430. C_______________________________________________________________________
  431.  
  432. 110 CALL LIRREE(X1,0,IRETOU)
  433. IF ( IRETOU.EQ.0) GOTO 111
  434. CALL LIRREE(X2,0,IRETOU)
  435. IF (IRETOU.EQ.0) THEN
  436. CALL REFUS
  437. GOTO 111
  438. ENDIF
  439.  
  440. C Cas de la division de 2 FLOTTANTS
  441. IF(ABS(X2) .LT. XPETIT) GOTO 5000
  442. IF(ABS(X2).LT.1.D0.AND.ABS(X1).GT.XGRAND*ABS(X2)) THEN
  443. XFLO = SIGN(1.D0,X1)*SIGN(1.D0,X2)*XGRAND
  444. ELSEIF(ABS(X1).LT.1.D0.AND.ABS(X2).GT.XGRAND*ABS(X1)) THEN
  445. XFLO = 0.D0
  446. ELSE
  447. XFLO = X1/X2
  448. ENDIF
  449. CALL ECRREE(XFLO)
  450. RETURN
  451. C_______________________________________________________________________
  452. C
  453. C CHERCHE A LIROBJ UN POINT ET UN FLOTTANT
  454. C_______________________________________________________________________
  455. C
  456. 111 CALL LIROBJ('POINT ',IP1,0,IRETOU)
  457. IF (IRETOU.EQ.0) GOTO 112
  458. IF (CTYP .EQ. 'ENTIER') THEN
  459. CALL REFUS
  460. GOTO 112
  461. ENDIF
  462. IF (CTYP .EQ. 'FLOTTANT') THEN
  463. CALL REFUS
  464. GOTO 112
  465. ENDIF
  466. CALL LIRREE(X2,0,IRETOU)
  467. IF (IRETOU.EQ.0) THEN
  468. CALL REFUS
  469. GOTO 112
  470. ENDIF
  471. IF(ABS(X2).LT.XPETIT) GOTO 5000
  472. SEGACT MCOORD*MOD
  473. ID=IDIM+1
  474. IREF=ID*(IP1-1)
  475. DO 11 I=1,ID
  476. XCOOR(**)=XCOOR(IREF+I)/X2
  477. 11 CONTINUE
  478. IR=XCOOR(/1)/ID
  479. CALL ECROBJ('POINT ',IR)
  480. RETURN
  481. C_______________________________________________________________________
  482. C
  483. C CHERCHE A LIRE UNE TABLE SOUSTYPE VECTEUR ET UN FLOTTANT
  484. C_______________________________________________________________________
  485. C
  486. 112 CALL LIRTAB('VECTEUR',MTAB1,0,IRETOU)
  487. IF(IRETOU.EQ.0) GOTO 113
  488. IF (CTYP .EQ. 'ENTIER') THEN
  489. CALL REFUS
  490. GOTO 113
  491. ENDIF
  492. IF (CTYP .EQ. 'FLOTTANT') THEN
  493. CALL REFUS
  494. GOTO 113
  495. ENDIF
  496. CALL LIRREE(X2,0,IRETOU)
  497. IF (IRETOU.EQ.0) THEN
  498. CALL REFUS
  499. GOTO 113
  500. ENDIF
  501. IF(ABS(X2).LT.XPETIT) GOTO 5000
  502. SEGINI,MTABLE=MTAB1
  503. DO 701 I=1,MLOTAB
  504. IF (MTABTV(I).EQ.'FLOTTANT') THEN
  505. RMTABV(I)=RMTABV(I)/X2
  506. ELSEIF (MTABTV(I).EQ.'ENTIER ') THEN
  507. RMTABV(I)=MTABIV(I)/X2
  508. MTABTV(I)='FLOTTANT'
  509. ENDIF
  510. 701 CONTINUE
  511. SEGDES MTABLE,MTAB1
  512. CALL ECROBJ('TABLE',MTABLE)
  513. RETURN
  514. C
  515. 113 CALL LIROBJ('LISTCHPO',LIPO1,0,IRETOU)
  516. IF(IRETOU.EQ.0) GOTO 114
  517. CALL LIROBJ('LISTREEL',LREE1,0,IRETOU)
  518. IF(IRETOU.EQ.0) THEN
  519. CALL REFUS
  520. GOTO 114
  521. ENDIF
  522. mlreel = lree1
  523. mlchp1 = lipo1
  524. segact mlchp1,mlreel
  525. jg = prog(/1)
  526. n1 = mlchp1.ichpoi(/1)
  527. if (jg.ne.n1) call erreur(3)
  528. if (ierr.ne.0) return
  529. segini mlchpo
  530. do ic = 1,n1
  531. flo = prog(ic)
  532. ipo1 = mlchp1.ichpoi(ic)
  533. IF(ABS(FLO).LT.XPETIT) GOTO 5000
  534. FLD=FLO
  535. CALL MUCHPO(IPO1,FLD,IRET,-1)
  536. IF(IRET.EQ.0) RETURN
  537. ichpoi(ic) = iret
  538. enddo
  539. segdes mlchpo,mlchp1,mlreel
  540. CALL ECROBJ('LISTCHPO',mlchpo)
  541. RETURN
  542. C_______________________________________________________________________
  543. C
  544. C ON A DONC RIEN TROUVE POUR FAIRE L OPERATION
  545. C_______________________________________________________________________
  546. C
  547. 114 CONTINUE
  548. CALL QUETYP(MOTERR(1:8),0,IRETOU)
  549. IF(IRETOU.NE.0) THEN
  550. CALL LIROBJ(MOTERR(1:8),IRET,1,IRETOU)
  551. CALL QUETYP(MOTERR(9:16),0,IRETOU)
  552. IF (IRETOU.EQ.0) MOTERR(9:16) = ' ???? '
  553. CALL ERREUR(532)
  554. ELSE
  555. CALL ERREUR(533)
  556. ENDIF
  557. RETURN
  558. 5000 CONTINUE
  559. CALL ERREUR(835)
  560. RETURN
  561. END
  562.  
  563.  
  564.  
  565.  

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