C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE SAT005(IDATE, ITIME, ISATLAN, ISATFIL, IPAGESIZE, 1 IRAD, ISIDA, ILSTLAN, ILINTEC, ILINE, ILEVEL, IOFFSET, ITABMAR) C C STRUKTURERAD AT.! C C HISTORIK: C DATUM NAMN ORSAK C 01-JAN-83 LARS-G\RAN OLSSON URUPPF\RANDE C C FUNKTION: C SKRIVER UT ILINE P] LISTFIL. C C INDATA: C IDATE - AKTUELLT DATUM C ITIME - AKTUELL TID C ISATLAN - ANTAL TECKEN I ISATFIL C ISATFIL - FILNAMN P] SATFIL C IPAGESIZE - MAXIMALT ANTAL RADER/SIDA C ILSTLAN - ANTAL TECKEN P] ILSTFIL ( >0 FIL FINNS) C ILINTEC - N[STA LEDIGA POS I ILINE C ILINE - TIDIGARE INL[S RAD C ILEVEL - AKTUELL NIV] - VID UTSKRIFT TANDAT C IOFFSET - ANTAL TECKEN SOM LISTAN SKALL TANDAS IN C ITABMAR - TRUE=TAB.MARKERINGAR SKALL UT C C IN/UTDATA: C IRAD - ANTAL UTSKRIVNA RADER P] AKTUELL SIDA C ISIDA - AKTUELL SIDA C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 'PAGE' CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C INTERNA VARIABLER C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C VARIABLER I SAMBAND MED MCR-UPPSTART C LOGICAL*1 ITABMAR < TAB.MARKS =TRUE LOGICAL*1 ISATFIL(30) < FILNAMN P] SATFIL INTEGER ISATLAN < ANTAL TECKEN I ISATFIL INTEGER ILSTLAN < ANTAL TECKEN I ILSTFIL C C VARIABLER SOM ANV[NDS 1 G]NG/SIDA C LOGICAL*1 IDATE(9) < DATUM LOGICAL*1 ITIME(8) < TID INTEGER ISIDA < AKTUELL SIDA INTEGER IPAGESIZE < MAXIMALT ANTAL RADER PER SIDA C C VARIABLER SOM ANV[NDS 1 G]NG/BEHANDLAD RAD C INTEGER IOFFSET < ANTAL POS VID INDRAGNING P] TANDAD C LISTA INTEGER IRAD < ANTAL UTSKRIVNA RADER P] AKT. SIDA LOGICAL*1 ILINE(255) < KONVERTERAD RAD FR]N INFIL INTEGER ILINTEC < N[STA LEDIGA POS I ILINE LOGICAL*1 IRLSTUT(255) < RESERV UTRAD TILL LST-FIL C C VARIABLER SOM ANV[NDS VID STRUKTURERINGEN C C INTEGER ILEVEL < LOGISK NIV] 0 OCH POSITV C KAN J[MF\RAS MED LISTNIV]ER C R[KNAR INTEGER I < R[KNARE C 'PAGE' CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C FORMAT C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C FORMATSATSER 1 - 99 RESERVERADE F\R INPUT-OUTPUT FORMAT C 2 FORMAT(1X,255A1) C 'PAGE' CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C STYRSEKTION C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 'IF' (ILSTLAN .GT. 0) 'IF' (IRAD .GE. IPAGESIZE) CALL SAT007(IDATE, ITIME, ISATLAN, ISATFIL, 1 IRAD, ISIDA, ILSTLAN) 'ENDIF' CALL CHANGE(,' ',IRLSTUT,255) 'IF' (ILINE(1) .EQ. '.' .OR. ILINE(1) .EQ. ';') < KOMMENTAR CALL MOVE01(ILINTEC-1,ILINE,IRLSTUT) WRITE(3,2)(IRLSTUT(I),I=1,ILINTEC-1) 'ELSE' < EJ KOMMENTAR CALL MOVE01(8,ILINE,IRLSTUT) CALL MOVE01((ILINTEC-8-1),ILINE(9),IRLSTUT(9+ILEVEL*IOFFSET)) 'IF' (ITABMAR) < TAB.MARKS SKALL UT I=0 'WHILE' (I.LT.ILEVEL) IRLSTUT(9+I*IOFFSET)='.' I=I+1 'ENDDO' 'ENDIF' WRITE(3,2)(IRLSTUT(I),I=1,(ILINTEC-1+ILEVEL*IOFFSET)) 'ENDIF' IRAD = IRAD + 1 'ENDIF' C RETURN END