CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	JOB.NN -- BATCH JOB STARTUP PROCESSOR.

C

C    COPYRIGHT (C) 1976

C    DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

C

C    THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY

C    ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH

C    THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS

C    SOFTWARE, OR ANY OTHER COPIES THEREOF, MAY NOT BE PRO-

C    VIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

C    EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO

C    THESE LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE

C    SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

C

C    THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE

C    WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COM-

C    MITMENT BY DIGITIAL EQUIPMENT CORPORATION.

C

C    DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY

C    OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C  01	2-AUG-76 (EAG)		INITIAL VERSION FOR XVM/RSX

C				MULTIACCESS.

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	THIS PROGRAM USES THE FOLLOWING LUNS, WHICH HAVE BEEN

C	PREVIOUSLY ASSIGNED APPROPRIATELY BY THE BATCH HANDLER:

C

C		4	USED TO PRINT MESSAGES TO THE OPERATOR

C			TERMINAL.

C

C		12	USED TO READ INFORMATION LINES FROM THE

C			BATCH HANDLER.  THESE LINES, DESCRIBED

C			BELOW, CONTAIN VARIOUS ACCOUNTING AND

C			JOB IDENTIFICATION INFORMATION.

C

C		13	USED TO ACCESS BATCH ACCOUNTING FILE.

C

C		16	USED TO PRINT MESSAGES TO THE LISTING

C			DEVICE.

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	DECLARE VARIABLES INTO WHICH WE WILL READ THE BEGINNING

C	OF JOB INFORMATION:

C

	INTEGER BEGTIM(4),JOBNUM,RUNBEG

	LOGICAL JOBCRD

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	DECLARE VARIABLES INTO WHICH WE WILL READ THE

C	INFORMATION FROM THE JOB QUEUE NODE:

C

	INTEGER FILTIM(4)

	DOUBLE INTEGER JBNAM1,JBNAM2

	INTEGER JBID

	LOGICAL DLTFLG,OPRFLG,FRCFLG,SEQFLG

	LOGICAL HLDFLG,CCLFLG,UFDFLG

	INTEGER TIMEST,CLASS,MEMSIZ,SUBTIM(4)

	INTEGER INDEV,LSTDEV,LGNDEV

	INTEGER INUNT,LSTUNT,LGNUNT

	DOUBLE INTEGER INUFD,LSTUFD,LGNUFD

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	DECLARE VARIABLE INTO WHICH WE WILL READ THE $JOB

C	CARD AND THE VARIABLE WHICH WILL HOLD THE ACCOUNT

C	NUMBER:

C

	INTEGER JOBLIN(132),ACCNT

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	DECLARE VARIABLES STORED IN BATCH ACCOUNTING FILE:

C

	INTEGER JPDATE(6),ACTNUM

	DOUBLE INTEGER JOBS(100),RUNTIM(100)

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	DECLARE OTHER VARIABLES:

C

	LOGICAL UNUSED

	INTEGER I,J,K,L,M,N

	INTEGER HOUR,MIN1,MIN10,SEC1,SEC10

	DOUBLE INTEGER MONTHS(12),FILNAM(2)

	DATA MONTHS / 'JAN', 'FEB', 'MAR', 'APR',

     1                'MAY', 'JUN', 'JUL', 'AUG',

     2                'SEP', 'OCT', 'NOV', 'DEC' /

	DATA FILNAM / 'USERS',' RSX' /

C

C	FILNAM CONTAINS THE NAME OF THE BATCH ACCOUNTING

C	FILE.  NOTE THAT THE FILE NAME (EXCLUDING THE FILE

C	EXTENSION) MUST BE FIVE OR FEWER CHARACTERS.  THIS

C	MEANS THAT THE FIRST CHARACTER IN THE SECOND ENTRY

C	OF FILNAM MUST BE A SPACE.

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	READ IN LINE CONTAINING BEGINNING OF JOB INFORMATION.

C

	READ (12,200) BEGTIM,JOBNUM,RUNBEG,JOBCRD

200	FORMAT ((I3,I2,I2,I5),I5,I6,L1)

C

C	THE VALUES READ IN ARE AS FOLLOWS:

C

C		BEGTIM	TIME & DATE AT BEGINNING OF JOB (I.E.,

C			WHEN JOB... WAS CALLED).  (SEE FORMAT

C			BELOW.)

C

C		JOBNUM	THE NUMBER OF THIS JOB WITHIN THE

C			CURRENT JOB FILE.  THE FIRST JOB IN

C			A JOB FILE HAS JOBNUM=1.  JOBNUM IS

C			INCREMENTED BY ONE FOR EACH SUBSEQUENT

C			JOB.

C

C		RUNBEG	ACCUMULATED JOB FILE RUN TIME WHEN THIS

C			JOB BEGAN.

C

C		JOBCRD	TRUE IF AND ONLY IF A $JOB CARD WAS

C			FOUND TO BEGIN THE JOB.

C

C	RUNBEG IS SUBTRACTED FROM RUNEND (READ IN AS PART OF

C	JOB TERMINATION MESSAGE) TO DETERMINE THE NET JOB RUN

C	TIME.

C

C	JOBCRD IS USED TO DETERMINE WHETHER OR NOT A $JOB CARD

C	MAY BE READ IN BY JOB....  IF JOBCRD IS TRUE, JOB...

C	READS IN THE $JOB CARD TO DETERMINE THE ACCOUNT

C	NUMBER TO WHICH THIS JOB WILL BE CHARGED.

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	READ IN INFORMATION FROM JOB QUEUE NODE:

C

	READ (12,300) FILTIM,JBNAM1,JBNAM2,JBID,DLTFLG,OPRFLG,

     1                FRCFLG,SEQFLG,UNUSED,HLDFLG,CCLFLG,

     2                UFDFLG,TIMEST,CLASS,MEMSIZ,SUBTIM,INDEV,

     3                INUNT,INUFD,LSTDEV,LSTUNT,LSTUFD,LGNDEV,

     4                LGNUNT,LGNUFD

300	FORMAT ((I3,I2,I2,I5),2A3,I6,8L1,I4,I1,I3,

     1          (I3,I2,I2,I5),3(A2,A2,A3))

C

C	THE VALUES READ IN ARE AS FOLLOWS:

C

C		FILTIM	TIME & DATE WHEN BATCH SELECTED THIS

C			JOB FILE FOR EXECUTION.  I.E., TIME

C			& DATE AT BEGINNING OF JOB FILE.

C			(SEE FORMAT BELOW.)

C

C		JBNAM1	JOB FILE NAME.  TWO WORDS, THREE

C		JBNAM2	CHARACTERS EACH.

C

C		JBID	JOB FILE SEQUENCE NUMBER OR JOB

C			ID (ASSIGNED BY QJOB DIRECTIVE).

C

C		DLTFLG	IF TRUE, JOB FILE WILL BE DELETED

C			AFTER IT IS EXECUTED.

C

C		OPRFLG	IF TRUE, AN OPERATOR MUST BE ON DUTY

C			WHEN THIS JOB IS RUN.

C

C		FRCFLG	IF TRUE, THIS JOB'S EXECUTION WAS

C			FORCED BY THE OPERATOR.

C

C		SEQFLG	IF TRUE, THIS JOB HAS BEEN SEQUENCED.

C

C		UNUSED	RESERVED

C

C		HLDFLG	SHOULD ALWAYS BE FALSE.

C

C		CCLFLG	SHOULD ALWAYS BE FALSE.

C

C		UFDFLG	IF TRUE, AN EXPLICIT LOGIN DISK, UNIT,

C			AND UFD WAS SPECIFIED.

C

C		TIMEST	JOB FILE TIME ESTIMATE OR TIME LIMIT.

C			ZERO IMPLIES THE DEFAULT (ASSEMBLY

C			PARAMETER TO BDRES) WILL BE USED.

C

C		CLASS	JOB CLASS.

C

C		MEMSIZ	MINIMUM CORE REQUIRED.  0 => 1K,

C			127 => 128K.

C

C		SUBTIM	TIME & DATE WHEN JOB WAS SUBMITTED.

C			(SEE FORMAT BELOW.)

C

C		INDEV	JOB INPUT FILE DEVICE, UNIT, AND UFD.

C		INUNT	INCLUDES TWO CHARACTER DEVICE NAME,

C		INUFD	TWO DIGIT UNIT NUMBER, AND THREE

C			CHARACTER UFD NAME.

C

C		LSTDEV	JOB LISTING FILE DEVICE, UNIT, AND

C		LSTUNT	UFD.  INCLUDES TWO CHARACTER DEVICE

C		LSTUFD	NAME, TWO DIGIT UNIT NUMBER, AND

C			THREE CHARACTER UFD NAME.

C

C		LGNDEV	LOGIN DEVICE, UNIT, AND UFD (IF

C		LGNUNT	SPECIFIED).  INCLUDES TWO CHARACTER

C		LGNUFD	DEVICE NAME, TWO DIGIT UNIT NUMBER,

C			AND THREE CHARACTER UFD NAME.

C

C	THE MAJORITY OF THE INFORMATION IN THIS MESSAGE IS

C	USED TO CALCULATE THE JOB PRIORITY (FOR SCHEDULING

C	PURPOSES), AND IS OF NO USE TO US HERE.

C

C	JBID AND SUBTIM, TAKEN TOGETHER, CONSTITUTE A UNIQUE

C	IDENTIFIER FOR THE JOB FILE.  THE JOB FILE SEQUENCE

C	NUMBER (JBID) IS ONE FOR THE FIRST JOB SUBMITTED

C	ON EACH DAY, AND IS INCREMENTED BY ONE FOR EACH

C	SUBSEQUENT JOB ON THE SAME DAY.

C

C	IF UFDFLG IS FALSE, INDEV, INUNT, AND INUFD WILL BE

C	TO LOGIN TO TDV.  IF THIS RESULTS IN AN ERROR, THE

C	SYSTEM DEFAULTS WILL BE USED (I.E., RESPOND TO TDV'S

C	LOGIN PROMPT WITH A NULL LINE).  IF UFDFLG IS TRUE,

C	AN EXPLICIT LOGIN DEVICE, UNIT, AND UFD HAS BEEN

C	SPECIFIED, AND THEREFORE LGNDEV, LGNUNT, AND LGNUFD

C	WILL BE USED.  IT THIS RESULTS IN AN ERROR, THE

C	JOB WILL BE TERMINATED.

C

C	IF LSTDEV IS '@@', THE DEFAULT LISTING DEVICE (THE LINE

C	PRINTER) WILL BE USED.

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	THROUGHOUT THIS PROGRAM, TIME & DATE IS REPRESENTED

C	IN A COMMON FORMAT.  THE TIME & DATE IS CONTAINED

C	IN A 4 ELEMENT INTEGER ARRAY.  ITS ENTRIES HAVE THE

C	FOLLOWING MEANING:

C

C		***TIM(1)	YEARS SINCE 1900 (I.E., ZERO

C				MEANS 1900).

C

C		***TIM(2)	MONTH (RANGE 1 TO 12).

C

C		***TIM(3)	DAY (RANGE 1 TO 31).

C

C		***TIM(4)	SECONDS SINCE MIDNIGHT (RANGE

C				0 TO 86399).

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	READ IN $JOB CARD (IF AVAILABLE) AND DETERMINE JOB

C	ACCOUNT NUMBER:

C

	ACCNT=100

	IF (.NOT. JOBCRD) GO TO 499

	READ (12,400) JOBLIN

400	FORMAT (132A1)

	I=0

410	I=I+1

	J=JOBLIN(I)[0:6]

	IF (J .NE. #40 .AND. J .NE. #11) GO TO 410

420	I=I+1

	J=JOBLIN(I)[0:6]

	IF (J .EQ. #40 .OR. J .EQ. #11) GO TO 420

	IF (J .LT. #60 .OR. J .GT. #71) GO TO 499

	ACCNT=0

430	IF (ACCNT .LT. 100) ACCNT=ACCNT*10+J-#60

	I=I+1

	J=JOBLIN(I)[0:6]

	IF (J .GE. #60 .AND. J .LE. #71) GO TO 430

	IF (J .NE. #40 .AND. J .NE. #11 .AND.

     1      J .NE. #15 .AND. J .NE. #175) ACCNT=100

499	IF (ACCNT .LT. 1 .OR. ACCNT .GT. 100) ACCNT=100

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	CHECK IF THIS IS THE FIRST JOB IN A JOB FILE AND,

C	IF IT IS, PRINT THE "BEGIN JOB FILE" MESSAGE ON

C	THE OPERATOR'S TERMINAL.

C

	IF (JOBNUM .NE. 1) GO TO 599

	HOUR=FILTIM(4)/3600

	MIN10=MOD(FILTIM(4),3600)/600

	MIN1=MOD(FILTIM(4),600)/60

	SEC10=MOD(FILTIM(4),60)/10

	SEC1=MOD(FILTIM(4),10)

	I=SUBTIM(4)/3600

	J=MOD(SUBTIM(4),3600)/600

	K=MOD(SUBTIM(4),600)/60

	L=MOD(SUBTIM(4),60)/10

	M=MOD(SUBTIM(4),10)

	WRITE (4,500) HOUR,MIN10,MIN1,SEC10,SEC1,FILTIM(3),

     1                MONTHS(FILTIM(2)),FILTIM(1),JBNAM1,

     2                JBNAM2,SUBTIM(3),MONTHS(SUBTIM(2)),

     3                SUBTIM(1),I,J,K,L,M,JBID

500	FORMAT (' ',/,

     1          ' ',I2,':',2I1,':',2I1,' ',I2,'-',A3,'-',I2,

     2            '  BATCH -- BEGIN JOB FILE " ',2A3,

     3            ' JOB ".',/,

     4          ' ',29X,'SUBMITTED ON ',I2,'-',A3,'-',I2,

     5            ' AT ',I2,':',2I1,':',2I1,'.',/,

     6          ' ',29X,'JOB FILE SEQUENCE NUMBER =',I6,'.')

599	CONTINUE

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	PRINT "BEGIN JOB" MESSAGE ON OPERATOR'S TERMINAL.

C

	HOUR=BEGTIM(4)/3600

	MIN10=MOD(BEGTIM(4),3600)/600

	MIN1=MOD(BEGTIM(4),600)/60

	SEC10=MOD(BEGTIM(4),60)/10

	SEC1=MOD(BEGTIM(4),10)

	IF (JOBCRD .AND. ACCNT .NE. 100)

     1              WRITE (4,600) HOUR,MIN10,MIN1,SEC10,SEC1,

     2                            BEGTIM(3),MONTHS(BEGTIM(2)),

     3                            BEGTIM(1),ACCNT

600	FORMAT (' ',I2,':',2I1,':',2I1,' ',I2,'-',A3,'-',I2,

     1            '  BATCH -- BEGIN JOB.  ACCOUNT NUMBER =',

     2            I3,'.')

	IF (JOBCRD .AND. ACCNT .EQ. 100)

     1              WRITE (4,610) HOUR,MIN10,MIN1,SEC10,SEC1,

     2                            BEGTIM(3),MONTHS(BEGTIM(2)),

     3                            BEGTIM(1)

610	FORMAT (' ',I2,':',2I1,':',2I1,' ',I2,'-',A3,'-',I2,

     1            '  BATCH -- BEGIN JOB.  ***** ILLEGAL ',

     2            'ACCOUNT NUMBER *****')

	IF (.NOT. JOBCRD)

     1              WRITE (4,620) HOUR,MIN10,MIN1,SEC10,SEC1,

     2                            BEGTIM(3),MONTHS(BEGTIM(2)),

     3                            BEGTIM(1)

620	FORMAT (' ',I2,':',2I1,':',2I1,' ',I2,'-',A3,'-',I2,

     1            '  BATCH -- BEGIN JOB.  NO $JOB CARD.')

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	PRINT JOB HEADER PAGE ON LISTING DEVICE:

C

	WRITE (16,700)

700	FORMAT ('1',5(' XVM/RSX MULTIACCESS BATCH'),

     1          15(/,' ',5(' XVM/RSX MULTIACCESS BATCH')))

	HOUR=FILTIM(4)/3600

	MIN10=MOD(FILTIM(4),3600)/600

	MIN1=MOD(FILTIM(4),600)/60

	SEC10=MOD(FILTIM(4),60)/10

	SEC1=MOD(FILTIM(4),10)

	IF (JOBNUM .EQ. 1)

     1            WRITE (16,710) HOUR,MIN10,MIN1,SEC10,SEC1,

     2                           FILTIM(3),MONTHS(FILTIM(2)),

     3                           FILTIM(1),JBNAM1,JBNAM2

710	FORMAT (4(' ',/),

     1          ' ',I2,':',2I1,':',2I1,' ',I2,'-',A3,'-',I2,

     2            '  BEGIN JOB FILE " ',2A3,' JOB ".')

	IF (JOBNUM .NE. 1) WRITE (16,799)

	HOUR=BEGTIM(4)/3600

	MIN10=MOD(BEGTIM(4),3600)/600

	MIN1=MOD(BEGTIM(4),600)/60

	SEC10=MOD(BEGTIM(4),60)/10

	SEC1=MOD(BEGTIM(4),10)

	WRITE (16,720) HOUR,MIN10,MIN1,SEC10,SEC1,BEGTIM(3),

     1                 MONTHS(BEGTIM(2)),BEGTIM(1),

     2                 JOBNUM,JBNAM1,JBNAM2

720	FORMAT (4(' ',/),

     1          ' ',I2,':',2I1,':',2I1,' ',I2,'-',A3,'-',I2,

     2            '  BEGIN JOB NUMBER',I5,' IN JOB FILE " ',

     3            2A3,' JOB ".')

	IF (ACCNT .NE. 100) WRITE (16,730) ACCNT

730	FORMAT (4(' ',/),

     1          ' ',20X,'ACCOUNT NUMBER',I3)

	IF (ACCNT .EQ. 100) WRITE (16,740)

740	FORMAT (4(' ',/),

     1          ' ',20X,'***** ILLEGAL ACCOUNT NUMBER *****')

	WRITE (16,750) JBID

750	FORMAT (4(' ',/),

     1          ' ',20X,'JOB FILE SEQUENCE NUMBER',I6)

	HOUR=SUBTIM(4)/3600

	MIN10=MOD(SUBTIM(4),3600)/600

	MIN1=MOD(SUBTIM(4),600)/60

	SEC10=MOD(SUBTIM(4),60)/10

	SEC1=MOD(SUBTIM(4),10)

	WRITE (16,760) SUBTIM(3),MONTHS(SUBTIM(2)),SUBTIM(1),

     1                 HOUR,MIN10,MIN1,SEC10,SEC1

760	FORMAT (4(' ',/),

     1          ' ',20X,'JOB FILE SUBMITTED ON ',I2,'-',

     2            A3,'-',I2,' AT ',I2,':',2I1,':',2I1,'.')

	IF (DLTFLG) WRITE (16,770)

770	FORMAT (4(' ',/),

     1          ' ',20X,'JOB FILE WILL BE DELETED AFTER ',

     2            'EXECUTION.')

	IF (.NOT. DLTFLG) WRITE (16,799)

	WRITE (16,790)

790	FORMAT (4(' ',/),

     1          10(' ',5(' XVM/RSX MULTIACCESS BATCH'),/),

     2          '1')

799	FORMAT (4(' ',/),' ')

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

C	DETERMINE IF BATCH ACCOUNTING FILE EXISTS, ACCESS

C	THE ACCOUNTING FILE, THEN STORE THE CURRENT JOB'S

C	ACCOUNT NUMBER.

C

	TEMP='     '

	TEMP[0:20]=FILNAM(2)[7:27]

	CALL SEEK(13,FILNAM(1),TEMP,I)

	CALL WAITFR(I)

	IF (I .NE. -#13) GO TO 820

	WRITE (4,810)

810	FORMAT (' ',20X,'BATCH -- NO ACCOUNTING FILE.')

	GO TO 899

820	CALL DEFINE (13,407,1,FILNAM,J,0,0,0,I)

	CALL WAITFR(I)

	IF (I .GT. 0) GO TO 840

	I=-I

	WRITE (4,830) I

	WRITE (16,830) I

830	FORMAT (' ',19('*'),' BATCH -- ACCOUNTING FILE',

     1            ' ACCESS ERROR ',10('*'),/,

     2          ' ',19('*'),10X,'DEFINE EV = -',O6,10X,

     3            10('*'))

	GO TO 899

840	READ (13'1,ERR=850) JPDATE,ACTNUM,JOBS,RUNTIM

	ACTNUM=ACCNT

	WRITE (13'1,ERR=870) JPDATE,ACTNUM,JOBS,RUNTIM

	GO TO 899

850	WRITE (4,860)

	WRITE (16,860)

860	FORMAT (' ',19('*'),' BATCH -- ACCOUNTING FILE',

     1            ' READ ERROR ',10('*'))

	GO TO 899

870	WRITE (4,880)

	WRITE (16,880)

880	FORMAT (' ',19('*'),' BATCH -- ACCOUNTING FILE',

     1            ' WRITE ERROR ',10('*'))

899	CONTINUE

C

C	THE VALUES READ/WRITTEN FROM/TO THE ACCOUNTING

C	FILE ARE AS FOLLOWS:

C

C		JPDATE	TIME & DATE WHEN ACCOUNTING FILE

C			WAS LAST INITIALIZED, IN FORMAT

C			RETURNED BY LIBRARY SUBROUTINE

C			"DATE".

C

C		ACTNUM	THE ACCOUNT NUMBER OF THE CURRENTLY

C			RUNNING JOB.

C

C		JOBS	THE NUMBER OF JOBS WHICH HAVE BEEN

C			RUN UNDER EACH ACCOUNT NUMBER.

C

C		RUNTIM	THE TOTAL RUN TIME FOR ALL JOBS RUN

C			UNDER EACH ACCOUNT NUMBER.

C

C	JOBS AND RUNTIM ARE BOTH ARRAYS WHICH USE THE ACCOUNT

C	NUMBER FOR A SUBSCRIPT.  ACCOUNT NUMBER 100 IS USED

C	WHENEVER THE $JOB CARD HAS AN ILLEGAL ACCOUNT NUMBER

C	OR THE ACCOUNT NUMBER IS OTHERWISE UNAVAILABLE.

C

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C

	END