* * $Id: iecpa.F,v 1.1.1.1 1996/02/14 13:10:22 mclareni Exp $ * * $Log: iecpa.F,v $ * Revision 1.1.1.1 1996/02/14 13:10:22 mclareni * Higz * * #include "higz/pilot.h" *CMZ : 1.07/01 19/07/89 10.47.24 by O.Couet *-- Author : O.Couet SUBROUTINE IECPA(ICF,ICHOIO) *.===========> *. *. Change the attributes of an existing primitive *. *..==========> (O.Couet) #include "higz/hipaw.inc" #include "higz/higed.inc" #include "higz/hiaca.inc" #include "higz/hiflag.inc" #include "higz/hicode.inc" DIMENSION IOPT(30) LOGICAL CHOFLA CHARACTER*8 SNAME CHARACTER*16 CHVALL CHARACTER*1 CHAXIS(22),CHHIST(14),CHTEXT(3) CHARACTER*80 STR CHARACTER*4 CHVAL(15) DATA CHAXIS /'G','B','A','V','+','-','U','P','O' +, 'R','L','C','=','.','H','D','Y','T' +, 'W','S','N','I'/ DATA CHHIST /'H','F','C','*','R','1','B','N','L' +, 'P','A','G','X','Y'/ DATA CHTEXT /'L','C','R'/ *.______________________________________ * ICHOIO=0 10 IPLACE=2 CALL IGREQ(21,3,16,IPLACE,ICHOIC,CHVAL) IF(IPLACE.EQ.3)GOTO 10 IF(IPLACE.EQ.1)THEN ICF=1 ICHOIO=ICHOIC RETURN ENDIF IF(ICHOIC.EQ.-1000)GOTO 10 IF(ICHOIC.EQ.-1)GOTO 10 IF(ICHOIC.EQ.-2)THEN CALL IGCLES CALL IZPICT(EDIPIC,'D') CALL IEGRID GOTO 10 ENDIF IF(ICHOIC.EQ.-3)THEN CALL IZUNDO GOTO 10 ENDIF IF(ICHOIC.GE.1)THEN ICF=2 ICHOIO=ICHOIC RETURN ENDIF * ZFLAG=.TRUE. GLFLAG=(ZFLAG.OR.PFLAG.OR.MFLAG) GFLAG=.TRUE. CHOFLA=.FALSE. ICHOPT=0 CALL IZPICK(NT,SNAME,NPRIM,'N') IF(NPRIM.LE.0)GOTO 90 LN=IZGNTP(NT) IF(LN.EQ.0)GOTO 90 ZFLAG=.TRUE. GLFLAG=(ZFLAG.OR.PFLAG.OR.MFLAG) CALL ISELNT(NT) IDIAA=IZGADR(LHNT,8) IDRAA=IZGADR(LHNT,9) * IPRICO=ABS(IZGCOD(LHNT,NPRIM)) IF(IPRICO.EQ.IFACO)THEN CALL IZSCAN(LHNT,IFAICO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICFAIS=IZGADR(LHNT,IPOS)-100000 ELSE ICFAIS=IQ(LHI+IDIAA+IFAICO-80) ENDIF CALL IGCFAI(ICFAIS,CHVALL) CALL IGFIRS(CHFAIS,CHVALL) CALL IZSCAN(LHNT,IFASCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICFASI=IZGADR(LHNT,IPOS)-100000 ELSE ICFASI=IQ(LHI+IDIAA+IFASCO-80) ENDIF CALL IZSCAN(LHNT,IFACCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICFACI=IZGADR(LHNT,IPOS)-100000 ELSE ICFACI=IQ(LHI+IDIAA+IFACCO-80) ENDIF CALL IGCCOL(ICFACI,CHVALL) CALL IGFIRS(CHFAC,CHVALL) CALL IEMFAA(IPLACE,ICHOIO) CALL IZCFA(IFAICO,1) CALL IZCFA(IFASCO,1) CALL IZCFA(IFACCO,1) * ELSEIF(IPRICO.EQ.IARCCO)THEN CALL IZSCAN(LHNT,IFAICO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICACFI=IZGADR(LHNT,IPOS)-100000 ELSE ICACFI=IQ(LHI+IDIAA+IFAICO-80) ENDIF CALL IGCFAI(ICACFI,CHVALL) CALL IGFIRS(CHACIS,CHVALL) CALL IZSCAN(LHNT,IFASCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICACFS=IZGADR(LHNT,IPOS)-100000 ELSE ICACFS=IQ(LHI+IDIAA+IFASCO-80) ENDIF CALL IZSCAN(LHNT,IFACCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICACFC=IZGADR(LHNT,IPOS)-100000 ELSE ICACFC=IQ(LHI+IDIAA+IFACCO-80) ENDIF CALL IGCCOL(ICACFC,CHVALL) CALL IGFIRS(CHACFC,CHVALL) CALL IZSCAN(LHNT,IPLCCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICACLC=IZGADR(LHNT,IPOS)-100000 ELSE ICACLC=IQ(LHI+IDIAA+IPLCCO-80) ENDIF CALL IGCCOL(ICACLC,CHVALL) CALL IGFIRS(CHACLC,CHVALL) CALL IZSCAN(LHNT,IBORCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICACBO=IZGADR(LHNT,IPOS)-100000 ELSE ICACBO=IQ(LHI+IDIAA+IBORCO-80) ENDIF IF(ICACBO.EQ.1)THEN CHACBO='Yes,No' ELSE CHACBO='No,Yes' ENDIF CALL IEMACA(IPLACE,ICHOIO) CALL IZCFA(IFAICO,1) CALL IZCFA(IFASCO,1) CALL IZCFA(ILNCO,1) CALL IZCFA(ILWSCO,1) CALL IZCFA(IPLCCO,1) CALL IZCFA(IFACCO,1) CALL IZCFA(IBORCO,1) * ELSEIF(IPRICO.EQ.IAXICO)THEN CALL IZSCAN(LHNT,IPLCCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICAXLC=IZGADR(LHNT,IPOS)-100000 ELSE ICAXLC=IQ(LHI+IDIAA+IPLCCO-80) ENDIF CALL IGCCOL(ICAXLC,CHVALL) CALL IGFIRS(CHAXLC,CHVALL) CALL IZSCAN(LHNT,ILNCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICAXLN=IZGADR(LHNT,IPOS)-100000 ELSE ICAXLN=IQ(LHI+IDIAA+ILNCO-80) ENDIF CALL IZSCAN(LHNT,ITMSCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCAXTS=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCAXTS=Q(LHF+IDRAA+ITMSCO-50) ENDIF CALL IZSCAN(LHNT,IALHCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCAXLS=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCAXLS=Q(LHF+IDRAA+IALHCO-50) ENDIF CALL IZSCAN(LHNT,IALDCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCAXLO=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCAXLO=Q(LHF+IDRAA+IALDCO-50) ENDIF CALL IZSCAN(LHNT,ITXFCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN IFPTEM=IZGADR(LHNT,IPOS)-100000 ELSE IFPTEM=IQ(LHI+IDIAA+ITXFCO-80) ENDIF ICAXLF=INT(IFPTEM/10) ICAXLP=MOD(IFPTEM,10) ICHOPT=IACHOP STR=' ' DO 20 I=1,22 IF(JBIT(ICHOPT,I).NE.0)THEN CHOPAX=CHAXIS(I)//STR STR=CHOPAX ENDIF 20 CONTINUE CALL IEMAXA(IPLACE,ICHOIO) CALL UOPTC(CHOPAX,'GBAV+-UPORLC=.HDYTWSNI',IOPT) DO 30 I=1,22 IF(IOPT(I).NE.0)CALL SBIT1(ICHOPT,I) 30 CONTINUE CALL IZCFA(IPLCCO,1) CALL IZCFA(ILNCO,1) CALL IZCFA(ILWSCO,1) CALL IZCFA(ITMSCO,1) CALL IZCFA(IALHCO,1) CALL IZCFA(IALDCO,1) CALL IZCFA(ITXCCO,1) CALL IZCFA(ITXFCO,1) CALL IZCFA(IGTSCO,1) CALL IZCFA(IGTWCO,1) CHOFLA=.TRUE. * ELSEIF(IPRICO.EQ.IBXCO)THEN CALL IZSCAN(LHNT,IFAICO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICBOIS=IZGADR(LHNT,IPOS)-100000 ELSE ICBOIS=IQ(LHI+IDIAA+IFAICO-80) ENDIF CALL IGCFAI(ICBOIS,CHVALL) CALL IGFIRS(CHBOIS,CHVALL) CALL IZSCAN(LHNT,IFASCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICBOSI=IZGADR(LHNT,IPOS)-100000 ELSE ICBOSI=IQ(LHI+IDIAA+IFASCO-80) ENDIF CALL IZSCAN(LHNT,IFACCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICBOCI=IZGADR(LHNT,IPOS)-100000 ELSE ICBOCI=IQ(LHI+IDIAA+IFACCO-80) ENDIF CALL IGCCOL(ICBOCI,CHVALL) CALL IGFIRS(CHBOC,CHVALL) CALL IZSCAN(LHNT,IBORCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICBOBO=IZGADR(LHNT,IPOS)-100000 ELSE ICBOBO=IQ(LHI+IDIAA+IBORCO-80) ENDIF CHBOBO='No,Yes' IF(ICBOBO.EQ.1)CHBOBO='Yes,No' CALL IEMBOA(IPLACE,ICHOIO) CALL IZCFA(IFAICO,1) CALL IZCFA(IFASCO,1) CALL IZCFA(IFACCO,1) CALL IZCFA(IBORCO,1) * ELSEIF(IPRICO.EQ.IFBXCO)THEN CALL IZSCAN(LHNT,IFAICO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICFBIS=IZGADR(LHNT,IPOS)-100000 ELSE ICFBIS=IQ(LHI+IDIAA+IFAICO-80) ENDIF CALL IGCFAI(ICFBIS,CHVALL) CALL IGFIRS(CHFBIS,CHVALL) CALL IZSCAN(LHNT,IFASCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICFBSI=IZGADR(LHNT,IPOS)-100000 ELSE ICFBSI=IQ(LHI+IDIAA+IFASCO-80) ENDIF CALL IZSCAN(LHNT,IFACCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICFBCI=IZGADR(LHNT,IPOS)-100000 ELSE ICFBCI=IQ(LHI+IDIAA+IFACCO-80) ENDIF CALL IGCCOL(ICFBCI,CHVALL) CALL IGFIRS(CHFBC,CHVALL) CALL IZSCAN(LHNT,IBORCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICFBBO=IZGADR(LHNT,IPOS)-100000 ELSE ICFBBO=IQ(LHI+IDIAA+IBORCO-80) ENDIF CHFBBO='No,Yes' IF(ICFBBO.EQ.1)CHFBBO='Yes,No' CALL IEMFBA(IPLACE,ICHOIO) CALL IZCFA(IFAICO,1) CALL IZCFA(IFASCO,1) CALL IZCFA(IFACCO,1) CALL IZCFA(IBORCO,1) * ELSEIF(IPRICO.EQ.IHISCO)THEN CALL IZSCAN(LHNT,IBOFCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCBOF=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCBOF=Q(LHF+IDRAA+IBOFCO-50) ENDIF CALL IZSCAN(LHNT,IBWDCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCBWD=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCBWD=Q(LHF+IDRAA+IBWDCO-50) ENDIF CALL IZSCAN(LHNT,ILNCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICHILN=IZGADR(LHNT,IPOS)-100000 ELSE ICHILN=IQ(LHI+IDIAA+ILNCO-80) ENDIF CALL IZSCAN(LHNT,IPLCCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICHIPC=IZGADR(LHNT,IPOS)-100000 ELSE ICHIPC=IQ(LHI+IDIAA+IPLCCO-80) ENDIF CALL IGCCOL(ICHIPC,CHVALL) CALL IGFIRS(CHHIPC,CHVALL) CALL IZSCAN(LHNT,IFAICO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICHIFI=IZGADR(LHNT,IPOS)-100000 ELSE ICHIFI=IQ(LHI+IDIAA+IFAICO-80) ENDIF CALL IGCFAI(ICHIFI,CHVALL) CALL IGFIRS(CHHIIS,CHVALL) CALL IZSCAN(LHNT,IFASCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICHIFS=IZGADR(LHNT,IPOS)-100000 ELSE ICHIFS=IQ(LHI+IDIAA+IFASCO-80) ENDIF CALL IZSCAN(LHNT,IFACCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICHIFC=IZGADR(LHNT,IPOS)-100000 ELSE ICHIFC=IQ(LHI+IDIAA+IFACCO-80) ENDIF CALL IGCCOL(ICHIFC,CHVALL) CALL IGFIRS(CHHIFC,CHVALL) ICHOPT=IACHOP STR=' ' DO 40 I=1,14 IF(JBIT(ICHOPT,I).NE.0)THEN CHOPHI=CHHIST(I)//STR STR=CHOPHI ENDIF 40 CONTINUE CALL IEMHIA(IPLACE,ICHOIO) CALL UOPTC(CHOPHI,'HFS*R1BNLMA',IOPT) DO 50 I=1,11 IF(IOPT(I).NE.0)CALL SBIT1(ICHOPT,I) 50 CONTINUE CALL IZCFA(IBOFCO,1) CALL IZCFA(IBWDCO,1) CALL IZCFA(ILNCO,1) CALL IZCFA(ILWSCO,1) CALL IZCFA(IPLCCO,1) CALL IZCFA(IFAICO,1) CALL IZCFA(IFASCO,1) CALL IZCFA(IFACCO,1) CHOFLA=.TRUE. * ELSEIF(IPRICO.EQ.IPLCO.OR.IPRICO.EQ.IPL2CO)THEN CALL IZSCAN(LHNT,ILNCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICLN=IZGADR(LHNT,IPOS)-100000 ELSE ICLN=IQ(LHI+IDIAA+ILNCO-80) ENDIF CALL IZSCAN(LHNT,ILWSCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCLWSC=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCLWSC=Q(LHF+IDRAA+ILWSCO-50) ENDIF CALL IZSCAN(LHNT,IPLCCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICPLCI=IZGADR(LHNT,IPOS)-100000 ELSE ICPLCI=IQ(LHI+IDIAA+IPLCCO-80) ENDIF CALL IGCCOL(ICPLCI,CHVALL) CALL IGFIRS(CHPLC,CHVALL) CALL IEMPLA(IPLACE,ICHOIO) CALL IZCFA(ILNCO,1) CALL IZCFA(ILWSCO,1) CALL IZCFA(IPLCCO,1) * ELSEIF(IPRICO.EQ.IPMCO.OR.IPRICO.EQ.IPM1CO)THEN CALL IZSCAN(LHNT,IMKCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICMK=IZGADR(LHNT,IPOS)-100000 ELSE ICMK=IQ(LHI+IDIAA+IMKCO-80) ENDIF CALL IZSCAN(LHNT,IMKSCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCMKSC=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCMKSC=Q(LHF+IDRAA+IMKSCO-50) ENDIF CALL IZSCAN(LHNT,IPMCCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICPMCI=IZGADR(LHNT,IPOS)-100000 ELSE ICPMCI=IQ(LHI+IDIAA+IPMCCO-80) ENDIF CALL IGCCOL(ICPMCI,CHVALL) CALL IGFIRS(CHPMC,CHVALL) CALL IEMPMA(IPLACE,ICHOIO) CALL IZCFA(IMKCO,1) CALL IZCFA(IMKSCO,1) CALL IZCFA(IPMCCO,1) * ELSEIF(IPRICO.EQ.IGTXCO)THEN CALL IZSCAN(LHNT,ITXCCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICSTCI=IZGADR(LHNT,IPOS)-100000 ELSE ICSTCI=IQ(LHI+IDIAA+ITXCCO-80) ENDIF CALL IGCCOL(ICSTCI,CHVALL) CALL IGFIRS(CHSTC,CHVALL) CALL IZSCAN(LHNT,IGTWCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICSTPA=IZGADR(LHNT,IPOS)-100000 ELSE ICSTPA=IQ(LHI+IDIAA+IGTWCO-80) ENDIF CALL IZSCAN(LHNT,IGTSCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCSTSH=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCSTSH=Q(LHF+IDRAA+IGTSCO-50) ENDIF ICHOPT=IACHOP STR=' ' DO 60 I=1,3 IF(JBIT(ICHOPT,I).NE.0)THEN CHOPST=CHTEXT(I)//STR STR=CHOPST ENDIF 60 CONTINUE CALL IEMSTA(IPLACE,ICHOIO) CALL UOPTC(CHOPST,'LCR',IOPT) DO 70 I=1,3 IF(IOPT(I).NE.0)CALL SBIT1(ICHOPT,I) 70 CONTINUE CALL IZCFA(ITXCCO,1) CALL IZCFA(IGTSCO,1) CALL IZCFA(IGTWCO,1) CHOFLA=.TRUE. * ELSEIF(IPRICO.EQ.ITXCO)THEN CALL IZSCAN(LHNT,ITXCCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ICTXCI=IZGADR(LHNT,IPOS)-100000 ELSE ICTXCI=IQ(LHI+IDIAA+ITXCCO-80) ENDIF CALL IGCCOL(ICTXCI,CHVALL) CALL IGFIRS(CHTXC,CHVALL) CALL IZSCAN(LHNT,ICHHCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN RCTXSI=Q(LHF+IZGADR(LHNT,IPOS)) ELSE RCTXSI=Q(LHF+IDRAA+ICHHCO-50) ENDIF CALL IZSCAN(LHNT,ITXFCO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN IFPTEM=IZGADR(LHNT,IPOS)-100000 ELSE IFPTEM=IQ(LHI+IDIAA+ITXFCO-80) ENDIF ICTXFT=INT(IFPTEM/10) ICTXPR=ABS(MOD(IFPTEM,10)) CALL IZSCAN(LHNT,ITXACO,IADRAT,-1,IPOS) IF(IPOS.NE.0)THEN ITATEM=IZGADR(LHNT,IPOS)-100000 ELSE ITATEM=IQ(LHI+IDIAA+ITXACO-80) ENDIF ICTXAH=INT(ITATEM/10) ICTXAV=MOD(ITATEM,10) CALL IEMTXA(IPLACE,ICHOIO) CALL IZCFA(ITXCCO,1) CALL IZCFA(ITXACO,1) CALL IZCFA(ICHHCO,1) CALL IZCFA(IANGCO,1) CALL IZCFA(ITXFCO,1) CALL IZCFA(IGTSCO,1) CALL IZCFA(IGTWCO,1) ENDIF * * Change in the data structure * IF(IQ(LHNT+NPRIM).GT.0)THEN IF(CHOFLA)THEN IF(IZPUSH(4,0,0,'IECPA').NE.0)GOTO 90 CALL IZSTCC(INOPCO,INTPTR) IQ(LHI+INTPTR)=2 IQ(LHI+INTPTR+1)=IZGADR(LHNT,NPRIM) IQ(LHI+INTPTR+2)=NPRIM IQ(LHI+INTPTR+3)=ICHOPT CALL IZINCI(4) IQ(LHNT+NPRIM)=-(1000000*IZGCOD(LHNT,NPRIM)+ITBPTR-1) ELSE IF(IZPUSH(3,0,0,'IECPA').NE.0)GOTO 90 CALL IZSTCC(INOPCO,INTPTR) IQ(LHI+INTPTR)=1 IQ(LHI+INTPTR+1)=IZGADR(LHNT,NPRIM) IQ(LHI+INTPTR+2)=NPRIM CALL IZINCI(3) IQ(LHNT+NPRIM)=-(1000000*IZGCOD(LHNT,NPRIM)+ITBPTR-1) ENDIF ELSE IADRI2=ABS(IZGADR(LHNT,NPRIM)) IADRI3=IADRI2 80 IF(IQ(LHNT+IADRI2).LT.0)THEN IADRI2=ABS(IZGADR(LHNT,IADRI2)) IADRI3=IADRI2 GOTO 80 ENDIF IADRI2=IZGADR(LHNT,IADRI2) IF(CHOFLA)THEN IF(IZPUSH(4,0,0,'IECPA').NE.0)GOTO 90 CALL IZSTCC(INOPCO,INTPTR) IQ(LHI+INTPTR)=2 IQ(LHI+INTPTR+1)=IADRI2 IQ(LHI+INTPTR+2)=IADRI3 IQ(LHI+INTPTR+3)=ICHOPT CALL IZINCI(4) IQ(LHNT+IADRI3)=-(1000000*IZGCOD(LHNT,IADRI3)+ITBPTR-1) ELSE IF(IZPUSH(3,0,0,'IECPA').NE.0)GOTO 90 CALL IZSTCC(INOPCO,INTPTR) IQ(LHI+INTPTR)=1 IQ(LHI+INTPTR+1)=IADRI2 IQ(LHI+INTPTR+2)=IADRI3 CALL IZINCI(3) IQ(LHNT+IADRI3)=-(1000000*IZGCOD(LHNT,IADRI3)+ITBPTR-1) ENDIF ENDIF * * Change on the screen * CALL IZSAV ZFLAG=.FALSE. GLFLAG=(ZFLAG.OR.PFLAG.OR.MFLAG) GFLAG=.TRUE. LNDECO=LHNT LIDECO=LDI LFDECO=LDF LCDECO=LDC CALL IZDATT(0,NPRIM) CALL ISFACI(0) CALL ISTXCI(0) CALL ISPLCI(0) CALL ISPMCI(0) CALL ISFAIS(1) CALL ISLN(1) CALL IZDNB(LHNT,LDI,LDF,LDC,NPRIM,-1) CALL IZSET ZFLAG=.FALSE. GLFLAG=(ZFLAG.OR.PFLAG.OR.MFLAG) LNDECO=LHNT LIDECO=LDI LFDECO=LDF LCDECO=LDC CALL IZDATT(0,NPRIM) CALL IZDNB(LHNT,LDI,LDF,LDC,NPRIM,1) * 90 ZFLAG=.TRUE. GLFLAG=(ZFLAG.OR.PFLAG.OR.MFLAG) GFLAG=.TRUE. GOTO 10 * END