ident
C IDENT SOURCE CB215821 21/08/20 21:15:08 11089 *--------------------------------------------------------------------* * * * Verfication de compatibilit{ de MCHAML du point de vue des * * tableaux INFCHE et creation du tableau INFOS pour COMCHA * * * * * * Entr{es: * * * * IPMAIL Pointeur de la sous zone consid{r{e * * CONM NOM DU CONSTITUANT * * IPCHE1 Pointeur sur un MCHAML * * IPCHE2 Pointeur sur un MCHAML * * * * Sorties: * * * * INFOS tableau de INFCHE a injecter dans COMCHA * * IRET 1 si compatibles, 0 sinon * * * *--------------------------------------------------------------------* * IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC SMCHAML * INTEGER INFOS(*) character*4 cnoha integer*4 inoha data cnoha/'NOHA'/ equivalence(cnoha,inoha) CHARACTER*(*) CONM * INFOS(1)=0 INFOS(2)=0 INFOS(3)=0 IFLAG=0 IRET =1 * IF (IFOUR.NE.1) THEN INFOS(3)=NIFOUR * ELSE IF (IPCHE2.EQ.0) THEN MCHELM=IPCHE1 NSOUS1=IMACHE(/1) DO 200 ISOUS=1,NSOUS1 IF (IPMAIL.EQ.IMACHE(ISOUS).AND.CONM.EQ.CONCHE(ISOUS)) $ GOTO 205 200 CONTINUE IRET=0 GOTO 9999 * 205 CONTINUE NHRM =INFCHE(ISOUS,3) INFOS(3)=NHRM * ELSE IF (IPCHE1.EQ.0) THEN MCHELM=IPCHE2 NSOUS1=IMACHE(/1) DO 300 ISOUS=1,NSOUS1 IF (IPMAIL.EQ.IMACHE(ISOUS).AND.CONM.EQ.CONCHE(ISOUS)) $ GOTO 305 300 CONTINUE IRET=0 GOTO 9999 * 305 CONTINUE NHRM =INFCHE(ISOUS,3) INFOS(3)=NHRM ELSE MCHELM=IPCHE1 MCHEL1=IPCHE2 NSOUS1=IMACHE(/1) NSOUS2=MCHEL1.IMACHE(/1) * DO 100 ISOUS=1,NSOUS1 IF (IPMAIL.EQ.IMACHE(ISOUS).AND.CONM.EQ.CONCHE(ISOUS)) $ GOTO 105 100 CONTINUE IRET=0 GOTO 9999 * 105 CONTINUE NHRM =INFCHE(ISOUS,3) * DO 110 JSOUS=1,NSOUS2 IF (IPMAIL.EQ.MCHEL1.IMACHE(JSOUS) .AND. $ CONM.EQ.MCHEL1.CONCHE(JSOUS)) GOTO 120 110 CONTINUE IRET=0 GOTO 9999 * 120 CONTINUE IF (NHRM.EQ.MCHEL1.INFCHE(JSOUS,3).OR.NHRM.EQ.INOHA.OR. 1 MCHEL1.INFCHE(JSOUS,3).EQ.INOHA) THEN IF (IFLAG.EQ.0) THEN IFLAG=1 INFOS(3)=NHRM ELSE IF (NHRM.NE.INFOS(3)) THEN IRET=0 GOTO 9999 ENDIF ENDIF ENDIF * 9999 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales