900822A_Project Management System_Tech_Nov65 900822A Project System Tech Nov65

900822A_ProjectManagementSystem_Tech_Nov65 900822A_ProjectManagementSystem_Tech_Nov65

User Manual: 900822A_ProjectManagementSystem_Tech_Nov65

Open the PDF directly: View PDF PDF.
Page Count: 181

Download900822A_Project Management System_Tech_Nov65 900822A Project System Tech Nov65
Open PDF In BrowserView PDF
Price: $6.50

SOS PROJECT MANAGEMENT SYSTEM
TECHNICAl.. MANUAl..
900 SERIES/9300 COMPUTERS
SDS 90 08 22A

November 1965

SCIENTIFIC DATA SYSTEMS/1649 Seventeenth Street/Santa Monica; California (213)871-0960

@1965 Scientific Dato Systems, Inc.

Printed in U.S.A.

PREFACE
The SDS Project Management System consists of four programs: Schedule Spectrum Program (SSP),
Detail Schedule Report Program (DSRP), Progress Evaluation Program (PEP), and Progress Evaluation Sort Program (PEPSORT). This document provides a technical reference for those interested
in details of the organization and construction of these programs. Continuous improvements are
being made to the system, and certain information in this document may become obsolete. Therefore, this information should be verified by the cognizant SDS representatives before it is used as
a basis for changes.
The catalog numbers for these programs are
Cover Number

SSP

DSRP

PEP

PEPSORT

910/925 Card Version
910/925 Tape Version

145001
145008

145002

145003

145004

145005

920/930 Card Version
920/930 Tape Version

245001
245008

245002

245003

245004

245005

9300 Card Version
9300 Tape Version

645001
645008

645002

645003

645004

645005

iii

CONTENTS
Preface
SCHEDULE SPECTRUM PROGRAM
Program Functions
SSP Usage
Operating Procedures
SSP Output
Error List
Program Organization Description
SSP Storage Arrangement
Tape Layouts
SSP Execution Description

2

3

4

iii

1
1
2
2
2
2
6
6

9
9

DETAIL SCHEDULE REPORT PROGRAM
Program Function
DSRP Usage
Loading Procedures
DSRP Output
Error List
Program Organization Description
DSRP Storage Arrangement
Tape Layouts
DSRP Execution Description

15
15
15
15
16
21
21
21
23
23

PROGRESS EVALUATION PROGRAM
Program Function
PEP Usage
Loading Procedures
PEP Output
Error List
Program Organization Description
PEP Storage Arrangement
Tape Layouts
PEP Execution Description

27
27
27
29
29
33
33'
34
34
34

PROGRESS EVALUATION SORT PROGRAM
Program Functions
PEPSORT Usage
Loading Procedures
PEPSORT Output
Error List
Program Organization Description
PEPSORT Storage Arrangement
Tape Layou ts
PEPSORT Execution Description

40
40
40
40
40
40
40
41
41
41

APPENDIX

44

SUBROUTINE ROSTERS
Scheduled Spectrum Program
Detail Schedule Report Program
Progress Evaluation Program
Progress Evaluation Sort Program

49
49
50
50
51

FLOWCHARTS

53
ILLUSTRA TIONS

1
2
3
4
5
6
7
8
9
10

iv

SSP Input/Output
Sched~le Spectrum Summary Report
SSP Process Sequence Diag ram
SSP Storage Arrangement
DSRP Parameter Page
Detail Schedule Report
DSRP Storage Arrangement
Project Status Evaluation Report
PEP Storage Arrangement
PEPSORT Storage Arrangement

3
4
7
8
16
17
22
28
35
42

1. SCHEDULE SPECTRUM PROGRAM
This section describes the SDS Schedule Spectrum Program (SSP), the first program in the SDS Project Management
System Series. It is run during the process of determining a schedule for a project. The program reads data describing project networks and creates a spectrum of project schedules which give minimum costs over a range of feasible
project durations.
PROGRAM FUNCTION
This program is used in the planning stages of a project as a tool for developing a project schedule. It is through this
program that the activity network is first introduced into the system. The main function of the SSP is to analyze cost
and time data in order to determine a spectrum of minimum cost schedules over a range of feasible activity durations.
It performs this analysis based on four items of data which are input for each activity of the network:
1.

Normal duration - The estimated time in which activity can be completed under a normal effort, where a
normal effort is assumed to be the one which wi II accompl ish the task at the least cost.

2.

Normal Cost - The estimated cost of completing the activity in the normal duration.

3.

Crash Duration - The minimum feasible time in which an activity can be completed by applying all practical means of reducing the duration (such as overtime, additional resources, etc.).

4.

Crash Cost - The estimated cost of completing the activity in the crash duration.

These four figures are to be estimated based on the assumption that the cost-versus-time curve for each activity will
be approximately as illustrated in this diagram:

Activity Cost
Linear Approximation of Cost Curve
Crash

Normal

~--/
Actual Cost Curve

Crash

-- -Normal

Ac tivity Duration
With this data for each activity, there are many ways in which a projec-t can be expedited to achieve a desired total
project duration. It would be impossible through manual computations to determine the best way, even for the simplest cases. The SSP IIcrashingll routine is able to determine the least costly way of achieving every possible duration of the total proj ect.
The main output of the SSP program is a schedule (on magnetic tape) for every change in the rate of increase of the
total project cost per unit of decrease in the total project duration. The printed output from the program is a list of
these schedules with the schedule number, total duration, approximate total cost, and, if requested, the completion
date 0f the project for each schedule that was created. This listing is called the Schedule Spectrum Summary Report.
After examination of the summary report, the user is able to determine which schedules he would like to see in detai I to help him in his development of a final project schedule. The selected Detai led Schedule Reports wi II be
printed from the DSRP program. After examination of these detailed schedules, the user is able to make desired
changes to network data and to make rerunsof the Schedule Spectrum Program. This cycle can be repeated as often
as necessary to develop a schedule that wi" be accepted as final.

As activity data is processed through this program, it is written onto magnetic tape. This tape may be used as the
basic input to the next run of the SSP, with changes to the data coming in from cards or paper tape.
SSP USAGE
The minimum equipment configuration used by SSP consists of 8192 words of core, 2 magnetic tape units, a typewriter,
paper tape or punched card input, and an off-line or on-line printer. The program automatically expands its operational capabilities as the configuration is increased. The maximum number of activities (NA) handled by the program is a function of the total amount of storage in the computer and of the ratio of activities to node points (RAE).
The equation for an approximate value of NA, with calendar dating of project completion times on the spectrum summary report, is given below:
NA = Total Storage - 3150

(3 + R~E)
RAE = Number of Activities
Number of Nodes

If calendar dating is not requested, a slightly greater number of activities can be processed.
of NA is determined as
NA

= Total

An approximate value

Storage - 1500

(3.5 + ~A~

)

When RAE equals 1.8, the maximum number of activities handled by the program on an SOS 920 Computer without
calendar dating is approximated in the following table:
Available
Storage (words)

Maxi mum Number
of Activities

8,192
12,288
16,384
20,480

1,545
2,490
3,435
4,095

These figures are slightly less for operation on an SOS 910 Computer due to the use of programmed operators.
imum limit of 2047 event nodes can be handled by any of the above configurations.

A max-

Operating Procedures
The procedures for running SSP and instructions for filling out data forms for SSP are contained in the SOS Project
Management System Reference Manual (publication number 90 08 18). Figure 1 is a diagram of the input/output
process.
SSP Output
Output is always provided in off-line format on magnetic tape unit 2.
Figure 2.

A sample printout from SSP is presented in

An Updated Parameter Fi Ie, Unscheduled Activity Fi Ie, and Scheduled Event Fi Ie are written on magnetic tape unit l.
This tape becomes the input for the Oetai led Schedule Report Program (OSRP). It can also be used as the basic input fi Ie for subsequent SSP runs. A detailed layout of this tape is given in the appendix.
Error List
Upon detecting an error, SSP enters an error routine that produces an error message on the typewriter.
of each error number is given in the Project Management System Reference Manual.

2

The meaning

Activity
Descriptions

Activity
Changes
AND

Parameter
Information

Mag Tape File A, Unit 1

Parameter
Changes

-

OR
OR

.-.,--

...

-,

Typewriter: Select Input
Device for Initial Input

Typewriter: Select Input
Devi cefor Changes

Note: If input is from mag tape,
and if it is desired to save
the input reel for back-up,
the reels on unit 1 may be
changed after input is completed.

SDS
COMPUTER

Typewriter: Operating
and Error Messages

Mag ape Fi Ie A, Unit 1

Schedule
Spectrum
Summary
Report
Can be Saved and Used As
Unscheduled Activity Input
Fi Ie for Subsequent SSP Runs

Printed Report is
Optional - On-Line
Printer not Required
0:1 Minimum System

For Off-Line Printing
of Copi es of Report

Becomes Input to DSRP Run

Figure 1.

SSP Input/Output

3

SCHEDULE

~&LE

S~ECTRUM

SCHEDULE SPECTRUI" REP6RT

@-- SPECTRUM

RUN NUMBER

SUMM4HY REPeRT

'-0

RUN 10

1

15M(R64

®
-----

STARTING
D4TE

DURA
UNIT

N6RMAL N6N-yISR"KO-A-VS---

HRSI
DAY

8

15DEC64

~ '0

~

--.~--------

-

CRASH
OPTION

0

SU SA

(F)l

'-®

~-----

--.-~

... 6L 1 DAY CALENDAR [JATES

0-

2SJAN61 02FEB61

14HH'61

10JAN62 23FE862 lSI'1AY63 030C T63 2SDEC64 26DEC64
-_._------

~

--

-

-

-

,.......
~

~

t----®K----=-----;:;S--=C~H-=-E-;O-O;-;UL:----;E;;--;S;;-:P;--;:E:-::C:-;Tc;:::R-;-;U-:-:-M-;-:-c~·UC;-:I'1: -:M-:-CA"'R'-'-Y:--:=R-=E=P"'""6=RT;-------=R,.--,U=N---I=-0-1,-,5,-,.~-,A----=-R
6:4 - - - t-----;;S---=C~H-=-D------,-S;;-:C:-:-H-:-::D:------:-A=-PP=-R=-O;;-:X-:------=-C"'""6:7MP=L--:E=-'T;;-:E:---------

NM8R

DURA

ceST

22

---------- - - - - - - - - - - - - - -

DATE
30S0

lSJAN65

--'2...,0"--____=--3.L:15,,-,O~_--------,,----1.3 JAN 65 __________ _

J

19

3260

12JAN65

4

18

3410

II JAN65

Figure 2.

----- - - ------ ------

--------

Schedule Spectrum Summary Report

Letters below in "Field" column refer to the sample printout.
Field

Contents

Description

A

Schedule Spectrum Summary Report

Report Heading

B

Any 79 alphanumeric characters

Project Heading
From characters 2-80 of the type 1 input record.

C

Any 68 alphanumeric characters

Run Heading
From characters 13-80 of the type 4 input record.

D

Any eight alphanumeric characters

Run Identification Code
From characters 5-12 of the type 4 input record.

E

F

H = Hours
D = Days
W = Weeks
M = Months

Type of Duration Units Code

Any legal date, blank, or zero.

Starting Date

DDMMMYY
DD = Day
MMM = Month
YY = Year

From character 2 of the type 2 input record.
units in which durations are expressed.

Shows type of time

From characters 3-9 of the type 2 input record. This is the
calendar date (if any) that the program used as the start
date of all starting activities.

4

Field

Contents

Description

G

00-24 or blank

Working Hours Per Day
From characters 10-11 of the type 2 input record.
ber of hours in a work day.

H

From 0 to 7 day codes:
SA
SU
MO
TU
WE
TH
FR

J

Saturday
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday

Days Off Per Week
From characters 12-25 of the type 2 input record. Shows which
days of the week have been considered as nonworking days during
the assignment of calendar dates.

C = Crash
Blank = No Crash

C rash Option Code

From 0 to 164 ho I i day dates, each
of the form DDMMMYY:

Holiday Calendar Dates

DD = Day
MMM = Month
YY = Year

Shows the num-

From character 4 of the type 4 input record.
analysis option was selected.

Shows if the crash

From the type 3 input records. Shows which dates have been considered as nonworking holidays during the assignment of calendar
dates.

K

Schedule Spectrum Summary Report

Report Heading

L

Any eight alphanumeric characters

Run Identification Code
From characters 5-12 of the type 4 input record. This code is
printed at the top of each page of this report for identification.

M

1 - 9999

Schedule Number
This item is a schedule identification number assigned sequentially by SSP.

N

1 - 4095

Schedule Duration
Total project duration for the given schedule.

a

o-

99999999

Approximate Schedule Cost
Approximate total project cost associated with that schedule's
duration. Note that this cost is not exact in this report. Due to
memory limitations, the costs of each activity are automatically
scaled and rounded to a 12-bit binary number, and sometimes
significant figures are lost on the right end of this number. Therefore, this cost will not always agree with the one printed on the
corresponding report from DSRP, since that one is exact.

P

DDMMMYY or blanks
DD = Day
MMM = Month
YY = Year

Project Completion Date

If a start date is given, the calendar date of the completion time
of each schedule is determined and printed in this column. There
is one exception to this statement: if the size of the network is so
great that there is not enough storage space for the calendar routine (approximately 1400 activities with 8192 words of core storage), calendar dating of the total project duration is automatically
inhibited.

5

PROGRAM ORGANIZATION DESCRIPTION
SSP is coded in relocatable form in the SDS META-SYMBOL language. It contains its own loader and, therefore,
does not require the MONARCH system tape. The program is divided into many routines which are assembled separately. They are executed under control of the SSP Control Program, using the META-SYMBOL external reference
provision. Most of the data used by the routines is located in a region called Common Data and Storage. References
to this area also use the META-SYMBOL external reference provision.
The program is constructed in three segments. During execution of program segment I, parameters and the activities
making up the network are read from the selected input device and edited. The activity records are written on magnetic tape unit 2, behind the program segments, as the unsorted activity file. Certain information is extracted to
make up the abbreviated activity records which are retained in memory for further processing. Dummy tape activity
records and abbreviated activity records are also created intemally for·milestones.
The first part of segment I is not overwritten when segments II and III are read and executed.
and subroutines, which are c~mon to all three segments, consists of

This group of programs

Common Data and Storage,
SSP Program Control
Magnetic Tape Read Subroutine
Magnetic Tape Write Subroutine
Error Subroutine
Binary to Decimal Conversion Subroutine
Decimal to Binary Conversion Subroutine
Segment II does the network construction and schedule optimization and writes the updated parameter file, the sorted
activity iecords, and the scheduled event file on magnetic tape unit 1.
Segment III reads the scheduled event file, determines costs and calendar dates for each schedule, and prints the
Schedule Summary Report.
A summary of SSP processing sequences is given in Figure 3.
SSP Storage Arrangement
The storage arrangement of SSP for the SDS 920 Computer version is shown in Figure 4.
various routine numbers denotes first (F), second (S), or third (T) program segments.

The F, S, or T in front of the

Segment I (along with the common routines FOI through F09) is loaded from punched cards or paper tape into the computer first. Programs F05 (Magnetic Tape Write Subroutine) through F32 (Calendar Subroutine) are written on magnetic
tape unit 2 under control of program F33 (End Segment I Load Routine). All external references in these programs
have been fulfi lied by the time they are written onto tape. Note that references to segments II and III in the SSP
Control Program (F03) have not yet been fulfilled.
The End Segment I Load Routine then transfers control to the Binary Load Routine (FOl) with the proper indications set
up to retain the symbol table. It is important to retain the symbol table because the common routines (F02 through F09)
are not loaded again with segments II and III. In fact, the Common Data and Storage (F02) and the SSP Control Program (F03) cannot be loaded again because they both contain references to segment I programs, which were set up by
the Binary Loader during the reading of segment I.
Segment II routines (SI through S9) are then read from punched cards or paper tape, under control of the Binary Loader.
They load over part of segment I, starting at the origin of routine FlO. All external references in segment II programs
are fulfilled as they are read. Control is then transferred to the End Segment II Load Routine (S09), which writes segment II onto magnetic tape 2 immediately following segment I. The segment II that is written onto tape consists of
common programs F05 through F09 as well as SO 1 through S08. Control is then returned to the Binary Load Routine,
again retaining the symbol table.
Segment III routines (Tl through Tll) are read from punched cards or paper tape. They are read over segment II, starting at the origin of routine S 1. Control is then transferred to the End Segment III Load Routine (T 11), which writes
segment III onto magnetic tape unit 2, immediately following segment II. The segment III which is written onto tape
is made up of program F05 through F09, as well as T01 through TlO. Control is then transferred to the Binary Load
Routine, again retaining the symbol table. At this point, all external references in the Common Data and Storage
Area (F02) and the SSP Control Program (F03) have been satisfied.

6

SSP Program Segments I, 11, and III

Unit 2

MagTop-: - - - - -

~

(Output Tape From 1
Previou. SSP Run) 1

- - - -1--'
1

Initial Activity

Unit 1 1
(ReeICh;;;;ed -,
After Input)
,

I
I

_ _ _ _ _ ....1

I

Typewriter: Select Input Device ...._ _ _~
for Activity Chonge Records

Read Program Segment 11,
Sart Abbreviated Activity
Record, Do Topological
Sequence, Assign M and
N, Write Updated
Parameter.

----G-'.:-.:~ -:~
+I
---+jl

Multiple
Passes

+
I
I

On-Line
listing Optional

1

1

-~I.J

+

Run Param-

eters and
Headings

~

I
I
I

Read Program

Segment Ill; Write
and/or Print Parameters and Headings.

I

I
I

---- I
1

I

I

l.-

Write and/or print
Schedule Spectrum

I

- - - - - -.I
I

Summa ry ~eport

1

L.

1

For Optional
Off-Line Listing

I

Schedule

---------1

Spectrum

Summary
Report

~:~;d~:!e~;;o~e~~!~r~m.

On-line
Listing Optional

Updated Parameter File and
Surted Activity File can be
used as input to subsequent
SSP fUns, if desired.

Figure 3.

SSP Process Sequence Diagram

7

I
..

J

Approximate
ProLocation t gram tt
~

Variable
177778

FOl

SEGMENT IIttt

SEGMENT I

J abbreviated activity record

SEGMENT IIIttt
M and N node numbers

Sorted Tape
Activity
Records

1/3 avai lable storage

1 word per activity

Durations
Sequenced
Selected

I abbreviated activity record

M and N
node
numbers

1/3 avai lable storage
11152 8

076438

065478
061208

043658

02716 8

00000

1 word per activity

Scaled slopes
1/2 word per activity

Tl2
F33
F32
F31
F30
F29
F28
F27
F26
F25
F24
F23
F22
F21
F20
F19
F18
F17
F16
F15
F14
F13
F12
Fll
FlO
F09
F08
F07
F06
F05
F04
F03
F02

Node times
Scaled normal costs
1/2 word
per node
Miscellaneous abbreviated
activity record

1/2 word per activity

Activity
successor
Uti I ity flows

1/3 available storage

509
508
507
506
505
504
503

m

Scheduled times

1 word per
activity

TI0
T09
T08
T07

Node
labels

T06 Available for data
arrays, without
T05 calendar dating.

1 word
per node

502

1 word per node

T04
T03
T02

(I/O and paramete r area)

501

TOl

Iru:>ut/output area

tThe locations in this column are subject to change, and therefore, can only be regarded as approximations.
tt See Routine Roster for names of routines that correspond to these deck numbers.
tttThe data arrays in these columns are filled from the end of avai lable storage towards the end of the program.

Figure 4.

SSP Storage Arrangement

8

The SSP Start Routine {Tl2} is read from punched cards or paper tape into locations immediately following the end of
segment I {behind routine F33}. Control is transferred to the SSP Start Routine. It rewinds the tape and reads segment
I {starting with routine F05}. Then control is transferred to the SSP Control Program {F03}, and the loading procedure
is complete.
During execution of SSP, segments II and III are read from magnetic tape at the proper times under control of the SSP
Control Program {F03}. During the execution of the various segments, parts of the programs are overlayed with data,
as shown in Figure 4.
Tape Layou ts
There are three files on the output tape on unit 2: the Parameter File {1 BCD Record}, followed by the Sorted Unscheduled Activity Record File (1 BCD record per activity), followed by the Scheduled Event File {1 binary "record per
schedule}. This record can be used as input to DSRP or as input to subsequent SSP runs. The details of these record
formats are presented in the appendix.
SSP Execution Description
The SSP Control Routine {F03} dictates the execution sequence of various routines that comprise SSP. After a routine
is executed, control is returned to the Control Routine to determine which routine should be executed next. In the
following discussion the statement that IIcontrol is returned to the Control Routine which in turn transfers control to
routine XII is implied preceding the description of each routine. The routines are described in the order in which
they are executed.
After the program has been loaded and written onto magnetic tape, the Non-Activity Oriented Initialization Routine
{F17} determines the extent of core and sets up data words to define the locations of the abbreviated activity records,
the activity successor records, the M and N node numbers, the selected activity area, the sequenced activity area
and the sorted tape activity record area. Next the I/O Device Selection Routine{F18} requests the input and output
configuration description from the typewriter. Then the Parameter and Holiday Input Routine (F19) reads the parameter records (see detailed input record description) from the selected input device into the parameter section of the
Input/OutputArea (FlO). This program continues to read parameter cards until it encounters a type-5 or a type-9 record (which is saved for later processing).
Control is returned to the SSP Control Program which determines the input device. If input was from punched cards
or paper tape, no changes to the parameters or activities can be input, and an indication of this fact is set up in
storage. If the input is from magnetic tape, control is transferred to the Change Input Device Selection Routine (F20),
which requests a type-in of an N for no changes, a C for changes on cards, or a P for changes from paper tape. If
changes are to be input, control is transferred to the Parameter and Holiday Input Routine; if no changes are to be
entered, control goes to the Parameter Conversion Routine.
The Parameter Holiday and Input Routine (F19) reads the changes and stores them over the original parameters of the
given types. Changes are read and stored until an activity change or a type-9 record is read (the type-9 record is
saved for I ater processing).
The Parameter Conversion Routine (F21) converts the parameters from their BCD codes into forms more suitable for internal processing and saves these new codes.
Next the Holiday Sort Routine {F22} sorts the holidays that were input with the parameters into chronological sequence,
leaving them in the same area. Then the SSP Control Program determines whether or not a calendar start date was input with the parameters. If one was not input, control is transferred to the Activity Record Input Routine (F24). If
one was input, the Calendar Initialization Routine (F23) is executed, which in turn transfers into the Calendar Routine (F32) at its setup entry location $CALE 1. This entry sets up all data needed to compute calendar dates from
basic working units or basic working units from a calendar date. Data calculated during calendar setup include:
1.

A vector containing the number of working days in each of the years (maximum of 15) from the start date of
the project.

2.

A binary holiday vector containing the holiday dates in terms of total accumulated days since the start of the
project.

3.

A vector containing the subscript of the first holiday in each year.

4.

A vector containing the number of holidays in the next 15 years.

9

5.

The day of the week on which the project starts.

6.

The type year in which the project starts (leap year, year after leap year, etc.).

The precalculation of the above data makes possible the rapid calculation of individual dates and durations. These
calculated items are stored in the Common Data and Storage Area for later use. Control is returned to the Calendar
Initialization Routine, which returns to the SSP Control Program.
The Activity Record Input Routine (F24) processes the first activity record from the area in which it was saved during
the parameter input. The rest of the activities are read from the selected normal input device. As each record is
read, validity checks are made on the costs and durations, and leading blanks are replaced by zeros wherever pertinent. The records are moved from the input area into the output area of the Input/Output Area (FlO) and changed
to the tape activity record format. One activity record is read during each entry of this routine. If this record is
not an end-of-activity record, control is returned to the normal return in the SSP Control Program, where a test is
made to determine if the record contains a milestone date or time. If it does contain one, the Milestone Time Setup
Routine (F25) is entered. If the milestone was given as a date, it is converted to relative units by the Date to Basic
Units Conversion Routine (F31), which executes the Calendar Routine. The milestone time, in relative units, is
stored over M temporarily in the tape activity record.
The Write Activity Record (on Unit 2) Routine (F26) sets up the record number in the tape activity record and writes
the record on magnetic tape unit 2.
This process of reading activity records from the selected input device, editing them, and writing them on magnetic
tape unit 2 continues until an end-of-activity (input) record is read. At this point, if the input device was magnetic
tape and if there- are changes, the change records are read from the selected input change device, again using the
Activity Record Input Routine (F24). They are processed, executing the same series of routines described for the normal activity input. The changes are written as part of the unsorted activity record file, immediately following the
regular activities.
When an end-of-activity (input) record (type 9) is processed or if there were no changes, the End Activity File Record Routine (F13) is executed. An end-of-activity file record is written after the last activity change record on magnetic tape unit 2. This is followed by the erasure of an area of the tape, so that the tape can be repositioned for
writing milestone dummy activity records at the end of the file later. A rewind is initialized on unit 2, and control
is returned to the SSP Control Routine.

If the original activity input was from magnetic tape, the Type Reel Change Message Routine (F27) is executed to
notify the operator that, if he wants to save the original input tape in order to be able to rerun, he should change
reels on magnetic tape unit 1. There is no halt at this point, and processing continues while the reels are being
changed. If the original inpu-t was not from magnetic tape, this program is not executed.
Next, the Skip Program Segments Routine (F28) delays until the rewind on magnetic tape unit 2 is completed and then
positions the tape past the program segments to the beginning of the unsorted activity record file which was just written.
The Create Abbreviated Activity Records Routine (Fll) reads the records, one at a time, from the unsorted activity
record file on magnetic tape unit 2 into the output area of the Input/Output Area (FlO). Certain information is extracted from each record and saved in core storage to create the abbreviated activity records. Each abbreviated activity record consists of three words, which are stored in three separate areas, as shown in Figure 4. One-third of
the available core storage is assigned for each of these areas. The area formerly occupied by routines F22 through
F33 is no longer required and is considered to be available for storage of abbreviated activity records.
The first word of the abbreviated activity record is referred to as the miscellaneous abbreviated activity record word.
Initially, it is set up to contain the milestone time in binary in the first 12 bits (0-11), zeroes in bit positions 12
through 17, and the Duplicate I, J Differentiation Code in BCD in bits 18 through 23. The second word contains the
I identification number of the activity in BCD, and the third word contains the J identification number of the activity in BCD. Note that the first and second bits of I and J are zero because of the restriction that the first character
of I and J mu~t be numeric. The contents of these words are changed throughout the processing.
Also during the execution of this routine, the transaction code of each activity record is tested to determine whether
or not the removal flag should be turned on (bit 12 of the miscellaneous abbreviated activity record word). This flag
is turned on in all abbreviated activity records that are to be deleted due to the input of replacements and deletions.
It is also turned on when the input is a milestone dummy activity record that was created internally and written onto
the tape on the previous SSP run.

10

The three words of the abbreviated activity records can be represented as follows:
rRemoval Flag
First Word:
(miscellaneous
word)

Mi lestone Time (BCD)

0

0

0

0

0

Dupe Code (BCD)

This program is completed when the end-of-activity file record is read. At this time, the tape on unit 2 is backspaced
so that it is positioned ahead of the end-of-activity file record in order that this record can be overwritten.
Control branches to the Set Up Milestone Dummy Activity Records Routine (F12), which makes a pass through all the
abbreviated activity records, looking for those that contain relative milestone times. For each activity it finds that
has a milestone, the program creates three dummy tape activity records and adds them to the unsorted activity record
file on magnetic tape unit 2. It also creates the three corresponding abbreviated activity records and saves them in
core storage. The purpose of this procedure is to present to the crash routine a set of activities that will cause the
crashing to proceed in a manner which will force milestones to be met, if possible, before allowing crashing of any of
the activities that follow the last milestone.
The first. of the three milestone dummies for every activity has an I of 330000008, which is a dummy start node. J is
eqlJal to the J of the activity with milestone time, but with a bit merged into the second bit position. Its duration is
the milestone time. ThiS-number is stored in the duration field of the dummy tape record and in the first 12 bits of the
miscellaneous abbreviated activity record word.
The second dummy has an I equal to the J of the activity with the milestone time, but with the zero bit merged into
the second bit position. Its J is actually the same as the J of the activity with the milestone time. Its duration is
zero.
The third milestone dummy has an I equal to the J of the activity with the milestone time but with the 1 merged into
the second bit position. Its J is always 340000008, which is a dummy ending node. Its duration is the maximum allowable duration - (4695)10 = (7777)8.
After the completion of the above processing, one change is made in the abbreviated activity record of the activity
with the milestone time. Its J is changed by merging the 1 bit into its second bit position.
The changes made to the network for each activity found with a milestone time are summarized in the following diagram, where JI indicates the J of the activity with the milestone time but with the 1 merged into its second bit position.

/'
•"//

/--

First Mi lestone Dummy
..--'--

~----~~

--

Third Milestone Dummy

/--

-----

Duration

0

~-----

. = 4095
D
f
M·I t
e
........ , . , /
Duration
ura Ion =
I es one _Im
_ _ _ _ _..
2e~n~M~stone Dummy

r

:v..... ./

(33000000)8

JI

-

........

.........

"-

(34000000)8

J

In addition to setting up the milestone dummies, this routine changes I to 377777778 for each activity in which the
delete flag is on. This procedure cause~the deleted activities to sort at the end of the file when the abbreviated activity records are later sorted on I and J.
Control is returned to the SSP Control Routine, which branches again to the End Activity File Record Routine (F13).
This program writes the end-of-activity file record (type 6000), initiates a rewind of magnetic tape unit 2, and returns to the SSP Control Program.
11

Control is then transferred to the Assign Unsorted Activity Numbers Routine (F14), which numbers the abbreviated activity records sequentially according to their current position in core storage. This unsorted activity number is stored
in the first 12 bits. (0-11) of the miscellaneous word of each abbreviated activity record (over-writing the relative
milestone time, which is no longer required). The miscellaneous word now looks as follows:
removal Flag
Miscellaneous Word:

Unsorted Activity Number (binary)

o

0

0

0

0

0

Dupe Code (BCD)

18

12

23

If the original input device was magnetic tape, the Reel Change Verification Routine (F 15) is executed next. This
program types a message notifying the operator that magnetic tape unit 1 is about to be used for output. Then the
program halts. When the operator is ready for the run to continue, he clears the halt. Control is returned to the SSP
Control Routine. If the original input device was not magnetic tape, this routine is not executed.
The SSP Control Program branches next to the Write Updated Parameters Routine (F16), which rewinds magnetic tape
unit 1, erases an initial gap on that tape, and writes the updated parameter file as the first record on that tape. It
also moves the number of acti vities and the number of events into the parameter area of the Input/Output Area (F 10),
before it writes the record from that area.
The Topological Sort Routine (S05) is executed next to assign each of the activities to a position in a thread such that
every itel1) on the thread follows all its predecessor activities. This is accompl ished by creating an arbitrary initial
thread, then moving along this thread, examining the I and J of each activity to find if the activity has successor activities that are assigned to the thread ahead of the given activity. When one is found, it is moved to the end of the
thread, from which position it will later be examined to determine if it still follows all its predecessors. If it does not,
it will be moved to the end again. This process continues until the last activity of the thread has been examined without finding any succeeding activities ahead of it. Activities are not physically moved from their I, J, Duplication
Code sequence during this process. Instead, the last 12 bits (12-23) of each entry in the miscellaneous word of the
abbreviated activity record is set to contain the number of the aCtivity immediately succeeding it in the thread. These
12-bit items are referred to as the successor vector.
The miscellaneous word of the abbreviated activity record now appears as follows:

Miscellaneous Word:
(Successor Vector)

Unsorted Activity Numbers ~binary,)

o

Succeeding Activity Numbers (binary)
12

23

Once the topological thread has been determined, it is possible to assign new identification numbers M and N to the
nodes, based on their order of appearance within the thread. This is accomplished by the execution of the M and N
Assignment Routine (S06). It should be noted that all starting nodes (nodes with no activities leading into them) are
assigned the number 1, and all ending nodes (nodes with no activities leading out of them) are assigned the highest N.
At the completion of th is process, M and N are stored in the topolog ical sequence in the I words of the abbreviated
activity record and repeated again the J words of the abbreviated activity record. They are used only in the I words.
The abbreviated activity record words now appear as follows:

First Word:
(Successor Vector)

Unsorted Activity Number (binary)

o

Succeeding Activity Number (binary)
12

23

Second Word:

M Node (binary)

N Node (binary)

M Node (binary)

N Node (binary)

Third Word:

12

The next task is to sort the activity status records on tape into the newly determined topological sequence, using the
Topological Tape Sort Routine (507). Since the program must operate using only two tape units, the sort is required
to make multiple passes through the unsorted activity record file (on magnetic tape unit 2), pulling off as many records as possible (n records) each pass, and writing them on the sorted activity record file (magnetic tape unit 1).
This is accomplished by extracting the next n items from the successor vector (as defined by the thread) and moving
them into the selected area (see Figure 4). The number of the activity in the sorted sequence is now inserted in the
last 12 bits of the extracted words. The first 12 bits of these words retain the number of the activity in the original
sequence. These extracted words are now sorted on the orig inal sequence number and stored into the sequenced area.
They are now in the same sequence as the records in the unsorted activity record fi Ie.
Since these records are not contiguous, a complete pass through the unsorted file is required to read each group of n
activity records. As the records are read, their input locations are calculated, based on their new sequence number;
thus, after each pass, storage will contain the next n records in the assigned topological sequence. They are now
written on the sorted activity file. As many passes are made through the unsorted fi Ie as are requi red to place all the
records in their new sequence in the sorted file.
The SSP Control Program then transfers to the Activity Oriented Initialization Routine (508), which sets up all addresses required for locating those data arrays that vary in length depending on the number of activities or number of
nodes in the network.
Next, control branches to the Create Crash Data Arrays Routine (503). This routine reads each activity record from
the sorted activity record file (magnetic tape unit 1), and sets up M and N, duration, and cost per unit of duration
(slope) for each activity. Note that the slopes are set to a large number (4095) for every dummy activity and for every milestone dummy, and that the slopes are scaled so that the largest one does not exceed 12 bits. The routine
then calculates the scheduled node times for each node, based on normal activity durations.
Note that when these normal node times are set up, tests are made on end nodes to determine if the time results from
an end milestone dummy. The greatest milestone dummy node time is saved.
Now the Write Scheduled Event Time Record Routine (501) writes a single binary record on magnetic tape unit 1,
which contains one word.for each node time. Also, at this time, milestone dummy end node times are reduced to the
maximum a lIowable duration (4095).
The Control Program tests whether or not the crash option was selected. If it was, the Crash Routine (502) is executed
to determine which individual activity durations should be compressed in order to decrease the total project's duration
at a minimum increase in cost. Once these activities have been determined, the schedule is compressed as far as possible without increasing the rate at which the cost of the total project is rising (constant slope).
Upon initial entry to the Crash Routine, all activities in the network are set at their normal durations. The activity
durations to be compressed are determined and the node times affected by these duration changes are calculated.
When an increase in the cost slope is reached, the routine returns to outer control and the new node times are recorded on tape using the Write Schedule Event Time Record Routine (501). Outer control then re-enters the Crash
Routine for the node times corresponding to the next slope change. This cyclic process is repeated until the shortest
total project duration is obtained.
The shortest possible total project duration is reached when all activities along one of the current critical paths of the
network have had their durations brought back to their crash durations. When this condition occurs, the Crash Routine sets an indicator for the outer control and returns.
The mathematical algorithm used to compress the project schedule along a path of minimum cost is a variation of a
method.developed by D. R. Fulkerson of RAND Corporation. This algorithm is described in detail in an article entitled "A Network Flow Computation for Project Cost Curves, which appeared in the January 1961 issue of Management Science, Volume 7, No.2.
II

When the final schedule has been determined and written on magnetic tape, program segment III is read into core
storage from magnetic tape unit 2. The first routine executed in segment III is the Write End of Time File Record
Routine (T08), which writes a record with a 9000 record type to indicate the end of the file.
Next, the Read Parameters from Unit 1 Routine (T09) rewinds unit 1 and reads the updated parameter file back into
core storage. The Parameter Print Routine (nO) is then executed to print the heading page of the summary report,
including project end run heeding, selected run option codes; starting date; and holidays. The page is printed using
the Report line Output Routine (T03). It is also written at the beginning of the tape on unit 2, with the required format digits for off-line listing.
13

Control branches to the Set U Data Arra s for Summar Report Routine (T07) which reads the activity records from
the sorted activity record fi e on magnetic tape unit 1 and stores the normal cost for each activity in an array in core
storage. Each cost is shifted right as many bits as are required so that the maximum normal cost can be contained in
12 bits. If the activity number is odd, this scaled normal cost is stored in the left half of the word, and the scaled
norma I cost for the next even activity number is stored in the right 12 bits of the same word. Also in this routine, if
the activity is noncontinuous, a 1 is stored in the first bit position (sign bit) of that activity's entry in the M and N
node number array. If the activity is a milestone dummy, a 1 is stored in bit position 12 of that activity's array in
the M and N node number array.
The Schedule Summa Re ort Out ut Routine (T02) prints the page headings and the Summary Report, using the Report Line Output Subroutine T03), which also puts the line image with appropriate format control digits onto magnetic tape unit 2. The routine reads each scheduled event time record from magnetic tape unit 1 and outputs one line
for each schedule. The program must return the normal cost and slope to their original scales. It then calculates the
actual cost of each activity for a given schedule based on the normal cost, slope, node times, noncontinuous activity
indicator, and milestone indicator for that activity. The calculated cost of all the activities in the network is accumulated, to double precision, in order to determine the approximate total cost of the schedule for output.

If a project starting date was given and if sufficient core storage is available to retain the Calendar Routine, the project completion date is determined from the project completion time, using the Date to Basic Units Conversion Routine
(T06), which uses the Calendar Routine (T05). This date will also appear on the line of the report for the given
schedule.
Control is finally returned to the SSP Control Program, which branches to the Error Routine (F06) to print the end of
the prog ram message.

14

2. DETAIL SCHEDULE REPORT PROGRAM
This section describes the SDS Detail Schedule Report Program (DSRP), the second program in the 5DS Pro ject Management System Series. It receives its input from the Schedule Spectrum Program (SSP) and provides the initial progress evaluation run input to the Progress Evaluation Program (PEP).
PROGRAM FUNCTION
The primary function of the Detail Schedule Report Program (DSRP) is to produce selected detail schedules from the
information output on tape 1 by the Summary Spectrum Program (SSP). This tape contains system run parameter data,
unscheduled activity information, and early node times at each slope change point on the Total Cost vs. Project
Duration Curve. An example of the spectrum curve is shown below.

Tota I Pro ject Cost ($)
All Crash Duration
~
Requested D

II
A

I ~:on (typ.)

Normal Duration

~------------------~

Total Project Duration
(end date or basic units)

DSRP can produce detail schedules for any specified integer duration between the IIAII Normal ll and IIAII Crash ll
durations of the project schedule spectrum. As many schedules as desired may be requested by the user. These schedules may be requested in terms of end duration in basic units of working time, by end of project data, or by schedule
number. likewise, all intermediate times within the detail schedule may be obtained in terms of a calendar date
and/or in basic working t:lnits. If schedule numbers are used, no interpolation between SSP output schedule time is
allowed.
The detail schedule report contains information defining each activity's early start and finish times, late start and
finish times, free and total float, expected cost and duration, milestone status and other identifying comment fields.

A. secondary function of DSRP is to provide the initial input (tape) for the Project Evaluation Program (PEP).
DSRP USAGE
The minimum configuration used by the DSRP consists of 8192 words of core, two magnetic tape units, paper tape
reader, on-line typewriter, and an off-line printer. It is designed to expand its operational capabilities automatically as the configuration is increased. Provisions allow operation in conjunction with card reader input and on-line
printer output. The number of activities processed by the program can be increased by the addition of more core
memory.
The maximum number of activities handled by the program operating on an SDS 920 Computer are shown below.
Memory
(words)

Activities

8, 192
12,288

3005

16,384

4096

1645

These figures are slightly less for the 910 Computer due to the use of programmed operators. A maximum limit of
2047 event nodes can be handled by any of the above configurations, independent of the number of activities.
Loadi ng Procedures
Procedures for operating the DSRP and instructions for fi II ing out data forms for the DSRP are contained in the SDS
Project Management System Reference Manual (publ !cation number 90 08 18).

15

DSRP Output
Output is always provided in off-line BCD format on tape 2, whether or not an on-line printer is attached to the
system. The detail schedule report off-line provision allows the user to obtain multiple copies of the output without
rerunning the program.
A sample printout from the DSRP is presented in Figures 5 and 6. For a detailed description of the printout, refer to
the SDS Project Management Reference Manual.

A

DETAIL SCHEDULE

~EPeRT

e-.:§AI'1P~.QEH IL SCI-EDULE REPORT
~-PRELII'1INARY SCHEDULE RUN

RUN I D

DlJRA
UNIT

151'1AR64

-- - - - - - - - - - - - - - - - - - - - + - - - - - - f

--------------------

51' ART iNC; ------Hifs,----tioRr1Ai..--NeN-IJORK DAYS
DATE

DAY

'4_

i-----------=-::-c:----------::-:cc--:::--c-------------------- - - - - - - - - - - - - - - - - - - - - - 1

___

~---=---1-5~f-6-4_ _~G't8rt

A

____ ___ _ _ _ ____

~ ___

HOLIDAY CALENDAR DATES
~~5JAN61 02FEB61 14~AR61 lOJAN62 23FEB62 151'1AY63 03eCT63 25DEC64 26DEC64
-- - - - - - - - - - - - - - - - - - - - - - - - - 1

Figure 5.

DSRP Parameter Page

The letters below in the I!Field" column refer to the sample printout.
Field

Contents

Desc ri pt ion

A

Detail Schedule Report

Report Heading

B

Any 79 alphanumeric characters

Project Heading
From characters 2-80 of the type 1 input record.

C

Any 68 alphanumeric characters

Run Heading
From characters 13-80 of the type 4 input record.

D

Any 8 alphanumeric characters

Run Identification Code
From characters 5-12 of the type 4 input record.

E

F

G

H = Hours
D = Days
W= Weeks
M= Months
Blank

Type of Duration Units Code

Any legal data (DDMMMVY) or blank
or zero

Starting date

00-24 or blank

From character 2 of the type 2 input record. Shows type of time
units in which durations are expressed.

~rom characters 3-9 of the type 2 input record. This is the calendar date (if any) which the program used as the start date of
all starting activities.

Working Hours per Day
From characters 10-11 of the type 2 input record. Shows the
number of hours in a work day.

16

Field

Contents

Description

H

From 0 to 7 day codes:

Days Off per Week

SA =
SU =
MO=
TU =
WE =
TH =
FR =

From characters 12-25 of the type 2 input record. Shows which
days of the week have been considered as nonworking days during
the assignment of ca lendar dates.

Saturday
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday

M = Major activity print
Blank = All activity print

J

Major Activity Option Code
From character 3 of the type 4 input record. An M indicates that
only those activities previously defined on SSP activity input records as major activities are printed on the Detail Schedule Report. A blank or any other character indicates that all activities
are included on the report.

From 0 to 164 holiday dates, each
of the form DDMMMYV:

Holiday Calendar Dates
From the type 3 input records. Shows which dates have been considered as nonworking holidays during the assignment of calendar
dates.

DD
= Day
MMM= Month
YV
= Year

·

- 0 - - - - 0- I 8 DE C6 4- 2-eDEC-64- ---....-anE C64 28DEC64
8
d
3
3

0091 0092

os
3
2
3
CCODE3 RCODE3 ACIIV I TY 3

'':;50

0091 0094

4
9
4
2
CCODE4 RCODE4 ACTIVITY

540

~
5
RCODE5 ACllVITY 5

500

0092 0094

4
4
6
3
CCODE6 RCODE6 ACTIVITY 6

246

0094 0095

7
4
6
6
CCODE8 RCODE8 ACTIVITY P.

750--·----5---o---nAN65 ffJAN6-5
10
12

"

0092 0093

3
CC~DE5

0093 0095 - - - 5 - - - 6 - - - - 8
3
CCODE7 RCODE7 ACTIVITY 7

·

0

------o-----ranEC6 4"--- fTAN 6 5
3

3

8

150

•

---

0

-~r--

"3

---

65
12

00

31

65
15

00

12

28DEC6T- CJAN~'-5---12
8

0

18

12

28DEC64---r~rAN6;)-

0

THN65--"6JANfl-S--15
12

28DEC64
8

1 )AN65
12

Figure 6.

Detai I Schedule Report

17

0092 (jQ9a---

IJAN65 11 JAN65
18
12

0094 00CJ5

6HN65 11 )AN65
18
15

0093 0095-

TOTAL CtiST OF SCHEDI-LEI

1 - - - - - - - - - - - - - - - - - - - - - - - - --

0091 0092

®---341 0

Field

Contents

Description

A

Detail Schedule Report

Report Heading

B

Any eight alphanumeric characters

Run Identification Code
From characters 5-12 of the type 4 input record. Thiscode is
printed at the top of each page of this report for identification of the run.

C

A date of the form DDMMMYY

Requested Completion Date

If the schedule was requested in terms of a calendar date, that
date is printed in this field. If it was requested in terms of units
of duration, this is the calendar date which corresponds to that
number of units from the starting date specified on the type 2 record used in this DSRP run.

o

1-4095

Requested Duration

If the schedule was requested in terms of a total project duration,
that duration is printed in this field. If it was requested in terms
of a calendar date, this field contains the duration corresponding
to that date. The project start date specified on the type 2 record
for this DSRP run is always used in this calculation. Note that
the late start and finish times and total float calculations are
based on this requested project duration.
If the schedule was requested by a schedule number, neither the
requested completion date nor the requested duration is printed.
Instead, those two items are replaced by:

C &0

SCHEDULE NO. XXXX
where XXXX is the number of the schedule requested on the type
8 input card.

E

1-4095

Page Number
Assigned consecutively to each page of a schedule. Starts over
from 1 for each requested schedule.

F

NAAA:
N
= any number
AAA = any three alphanumeric
characters

G

NAAA:
N
AAA

H

Identification code of starting node of the activity. From characters 3-6 of the SSP type 5 record.

J

= any
= any

number
three al phanumeric
characters

Any alphanumeric character

Identification code of ending node of the activity. From characters 7-10 of the SSP type 5 record.

Dupl icate I, J Differentiation Code
From character 11 of the SSP type 5 record.

K

1-2047

M
Identification number assigned internally to the starting node of
the activity.

L

1-2047

N
Identification number assigned internally to end node of the activity

18

Field

Contents

Description

M

1-4095

Activity Number
Numbers assigned internally in increasing order to activities after
they are resequenced internally into topological order (that is,
an order such that no activity is found ahead of any activity
which precedes it in the network diagram).

N

o

N
= Noncontinuous
Blank = Continuous

0-999

Cost Continuity Code
From character 28 of the SSP type 5 input record. N in this
field indicates a noncontinuous cost increase per unit of duration
decrease (i .e., during the crashing procedure the activity could
be considered at either its normal duration or its crash durationnever anywhere between these two durations). Any code other
than N indicates a continuous linear cost/duration relationship.
This field is meaningful only when using the crash option. (See
discussion of schedule optimization.)
Scheduled Duration
The duration used for the given activity in the determination of
the given schedule. If the crash option (schedule optimization
option) was not used, this duration is the normal duration from
characters 15-17 of the SSP type 5 input record. If the crash
option was used, this duration is determined internally to be the
optimum duration for the given activity which can achieve the
total project duration of the given schedule. It will be greater
than or equal to the crash duration and less than or equal to the
normal duration.

P

0-99999

Scheduled Cost
This is the cost corresponding to the scheduled duration. If the
crash option (schedule optimization option) was not used, this
cost is the normal cost from characters 18-22 of the SSP type 5
input record. If the crash option was used, this figure is calculated from the scheduled duration, based on the assumption of a
linear relationship between the normal and crash costs and durations. It is the minimum cost for the given activity which can
achieve the total project duration of the given schedule. It will
be greater than or equal to the normal cost and less than or equal
to the c rash cost.

Q

R

*

= On critical path
blank = Not on critical path

-4095 to 4095

Critical Path Indicator
Shows whether or not the given activity is on the critical path
for the given schedule. An activity is on the critical path if its
total float is zero or negative, which means that any delay in the
completion of the activity would be expected to cause a delay in
the completion of the total project.
Total Float
The amount by which the actual completion of the activity may
be delayed beyond its earliest finish time before it causes a delay in the requested finish time of the entire pro ject. It is calculated as the difference between the latest finish time and the
earliest finish time of the activity. If the total float is zero or
negative, the activity is on the critical path.

If the latest finish time precedes the earliest finish time, so
that the total float is negative, the activity is on a path
which is preventing thp requested project completion time
from being met, by the specified number of units.

19

Field

Contents

Description

S

0-4095 (always positive)

Free Float
The amount by which the completion of an activity may be allowed to slip beyond its earliest finish time before it causes a delay
in the earliest start time of any of the activities following it. It
is calculated as tl,e difference between the earliest of the earliest start times of all activities immediately following the given
activity and the earliest finish time of the given activity.

T

u

v

A date of the form DDMMMVY or
blank and a number 0-4095

A date of the form DDMMMVY or
blank and a number 0-4095

A date of the form DDMMMYY or
blank and a number 0-4095

Earliest Start Time
The earliest time at which the activity can start, based on its
position in the network. It is calculated as the sum of the durations of all activities along the longest path from the start of the
network to the start of the given activity. The time in units of
duration is printed on the second line of activity information.
Directly above this time is the corresponding date if a project
starting date was specified on the type 2 input record for the run.
Earl iest Finish Time
The time at which a given activity should be finished if it is
started at its earliest start time. It is calculated by adding the
activity's duration to its earliest start time. The time in units of
duration is printed on the second line of activity information.
Directly above this time is the corresponding date, if a project
starting date was specified on the type 2 input record for the run.
Latest Start Time
The time by which the activity should start in order to be finished
by its latest finish time. It is calculated by subtracting the activity's duration from the latest finish time. The time in units
of duration is printed on the second I ine of activity information. Directly above this time is the corresponding date
if a project starting date was specified on the type 2 input
record for the run.

If the latest start time is negative (i .e., precedes the project
start time), the date in this field will be blank, and the time will
be zero.

w

A date of the form DDMMMYY or
blank and a number 0-4095

Latest Finish Time
The time by which the activity should be finished in order to
avoid extending the completion time of the project beyond the
completion date entered at the start of the run. It is calculated
as the requested project completion time minus the sum of the
durations of all activities along the longest path from the completion of the given activity to the requested project completion
date. Directly above this time is the corresponding date if a project starting date was specified on the type 2 input record for the
run.

If the latest finish time is negative (i.e., precedes the project
start time), the date in this field will be blank, and the timewill
be zero.

x

1-4095, or a date (DDMMMVY),
or zeros, or blanks

Milestone Time or Date
From characters 30-36 of the SSP type 5 input record. If the
crash option has been selected, an attempt has been made to meet
this milestone in an optimum fashion before trying to reduce the
total project duration. If the crash option has not been selected,

20

Field

Contents

Description
this figure has had no effect on the schedule. (See discussion of
schedule optimization.)

Y, Z,

Same as fields F, G, and H

AA

BB

Activity Identification Numbers
These fields conlain the same information as the corresponding
fields on the left side of the I isting. They are repeated here to
faci I itate reference to the Ii sti ng.

Any siz alphanumeric characters

Cost Code or Part of Activity Description
From characters 37-42 of the SSP type 5 input record. t..kJy be
considered as part of the activity description.

CC

Any six alphanumeric characters

Responsibility Code or Part of Activity Description
From characters 43-48 of the SSP type 5 input record. t..kJy be
considered as part of the activity description.

DO

Any 32 alphanumeric characters

Activity Description
From characters 49-80 of the SSP type 5 input record.

EE

Blank, MET, or NOT MET

Milestone Analysis Field

If no mi lestone time or date was entered for the activity on the
SSP type 5 input record, this field will contain blanks. If one
was entered and the earliest finish time is on or before the milestone time, the word MET is printed in this field. If the earliest
finish time is after the milestone time, the words NOT MET are
printed in this field.
FF

0-99999999

Total Cost of Schedule
Sum of the costs for the given schedule of all activities making
up the network.

Error List
When DSRP detects an error, it enters an error subroutine which types out a corresponding error number. The entire
set of error numbers is defined in the Project Management System Reference Manual.
PROGRAM ORGANIZATION DESCRIPTION
The DSRP is a self-contained program, coded in relocatable form in the SDS MET A-SYMBOL language. It contains
its own loader (card or paper tape) and, therefore, does not require a MONARCH system tape. Extensive use has
been made of the MET A-SYMBOL external reference provision for defining data storage to the various subroutines in
the program. The majority of data used by the program is located in a subroutine called COMMON.
The program is composed of 28 subroutines connected via a main control program. This modular construction using
subroutines provides a high degree of flexibility and facilitates ease of system maintenance. The program itself can
determine the type of configuration on which it is operating. Array data offsets are based on the amount of storage
available. Automatic checks are made to determine if the problem being run will fit into the computer. To handle
as many network activities as possible, the program incorporates a self overlay feature; data is allowed to extend
over the initial setup portion of the program during the detail schedule report generation phase.
DSRP Storage Arrangement
The storage arrangement for the 920 Computer version of the DSRP is shown in Figure 7. The basic program organization is divided into three primary sections which are loaded in relocatable form into lower memory starting at location zero. The first section is composed of those routines which must be in the computer throughout the entire
execution of the program. These ere routines 1 through 20 (see Subroutine Roster) and require approximately
2813 words of storage.

21

Approx i mate
Location

PHASE I (Program Initia lization)

PHASE II (Report Generation)

Variable
MN Vector

10762

8

28.
27.
26.
25.
24.
23.
22.
2l.

070728

C

06252

M
M

0
8

057778

Transfer Address
Parameter Pri nt Routi ne
Hoi iday Sort Routi ne
Parameter Input Routine
I/o Device Select Routine
Magnetic Tape Setup Routine
Parameter Control Routine
Main Control - Part 2

AB Vector

Time Vector

Parameter
Region
Binary Hoi idays

0

Input/Output Area

N

0565~8
Fixed Common
20.
05375

8

00000

19.
18.
17.
16.
15.
14.
13.
12.
1l.
10.
9.
8.
7.
6.
5.
4.
3.
2.
l.

Double-Precision Binary to BCD Conversion Routine
Decimal to Binary Conversion Routine
Binary to BCD Calendar Data Conversion Routine
Binary to Decimal Integer Conversion Routine
Report Line Output Routine
Magnetic Tape Read Routine
Magnetic Tape Write Routine
Paper Tape Read Routine
Card Read Routine
Error Routine
Print Routine
Detail Schedule Report Routine
Calendar Routine
Time Vector Routine
Input Conversion Routine
Duration Read Routine
End Routine
Delay Routine
Main Control - Part 1

Figure 7.

DSRP Storage Arrangement

The Common routine represents the second major section of the program. Three subsections are contained within
Common to provide storage area for the following groups of data:
1.

Fixed Common - contains permanent data constants, scalar temporary, and short vector temporary. Approximately 108 words.

2.

Input/Output Area - buffer regions for

3.

Parameter region - temporary locations for BCD parameter data, such as output comments, days-off, holidays, etc. This data is later condensed and saved in fi~ed Common. Approximately 570 words.

I/O storage.

Approximately 482 words.

Common is followed by another section of program which can be destroyed by data after the setup phase.
(Phase I) of execution is completed. This section consists of routines 21 through 28 and occupies 950 locations of storage.

22

During the detail report generation phase of execution (Phase II), the following three large vectors are maintained
in core storage:

1.

MN Vector- contains the internal node numbers at the beginning and end of each activity.

2.

AB Vector- contains the normal and crash durations of each activity.

3.

Time Vector- contains the scheduled early start times of each node. (Also used alternately to store activity durations).

The MN and AB vectors are each as long as the total number of activities. The time vector is as long as the total
number of nodes; but since it is also used to store the durations of each of the activities, it must be as long as the
number of activities. Therefore, the total amount of storage needed for the three vectors is 3 times the number of
activities. These vectors are allowed to overlap the destructible portion of the program code and also a portion of
the parameter region. The remainder of the parameter region is used to store hoi iday dates in accumulative day binary form. An internal check assures that the activity vectors do not overlap the binary holidays.
Tape Layouts
The format of the input tape (tape 1) is presented in detail in the appendix. This tape contains three files of information:
1.

Parameter File (BCD)

2.

Unscheduled Activity File (BCD) (one record per activity)

3.

Time File (Binary) (one record per schedule)

DSRP Execution Description
t
After the program has been loaded, control is transferred to Part 1 of the Main Control Routine (F.D. 1), which immediately branches to Part 2 to initiate the program's setup.
The Magnetic Tape Setup Routine (F .D.23) is then entered. This routine rewinds tapes 1 and 2 and prepares tape 2
for writing by erasing approximately 15 inches of tape following the load point.
Main Control next transfers to the Parameter Control (F .D.22), at PARCON, which in turn transfers to the necessary
subroutines to set up parameter data. The first subroutine transferred to by PARCON is the Parameter Input Routine
(F.D.25) at entry point $SCAP3. The parameter file on tape 1, prepared by SSP, is read into core. At this point, all
parameter data in the DSRP is identical to that used by the SSP. Control is now returned to PARCON. The I/O Device Selection Routine (F .D.24) is then entered to request the input and output configuration data from the typewriter. A provision is incorporated in the program to place the configuration description in the permanent data region, if desired. When this latter provision is used, no typewriter request is made.
PARCON again returns control to the Parameter Input Routine, this time at entry $SCAP5. This entry causes parameter change data to be read from cards or paper tape. The type designation of each input record is examined, and
the data on that record is stored in its assigned locations in memory. Holidays are separated into day, month, year
parts and stored in unsorted input order. If any changes to the holidays used by SSP are made, a complete set must
be input. The storing of parameter data is continued until a type-S input record is read. This record contains the
first selected duration for which a detailed schedule is to be constructed. The type-S record is left in the input area
in card image form, and control is returned to PARCON.
The Holiday Sort Routine (F .D.26) is next entered to sort the hoi idays in order of increasing date. After this is accomplished, control is returned to PARCON which transfers to the Run Heading and Parameter Print Routine (F .D.27)
to output the parameter data page. Upon return, PARCON transfers control to Main Control, Part 2.
A check is made in Main Control to insure that the last record read was a type-8 record. If it was not, an error
halt occurs. If the last record read was type-8, the run ID is moved from the input parameter region into Common.
Control is then transferred to the Input Conversion Routine (F.D.5). This routine examines the variable field type-8
input record to determine if the selected schedule has been requested using an end date, by duration in basic working units, or by schedule number. If an end date was used, it is separated into day, month, year parts, and
stored in Common. If basic working units or schedule numbers are used, they are stored in the year location,
and the day and month locations are set to zero. The routine then returns to Main Control.
t F. D• denotes flow diagram number.
23

Main Control next converts various input parameters from BCD to binary and stores them in Common. A first pass
flag, FIRPAS, is turned on to indicate that the first selected duration has not yet been processed. The BCD daysoff are converted and stored in the binary day-off vector locations, and the number of days-off per week and number of working days per week are computed.
A test is made to determine the maximum location in the core memory. Working from the end of core, the offset address for the MN, AB, and Time vectors are calculated and stored in Common. An index bit is placed in these offset
address instructions so that individual elements can be obtained from the various vectors by means of indirect addressing.
Next a test determines if a start date is given. If so, control is transferred to the Calendar Routine (F.D.7) at its
setup entry location $CALE 1. This entry sets up all data needed to compute calendar dates from basic working units
or basic working units from a calendar date. Data calculated during calendar setup include:
1.

A vector containing the number of working days in each year (up to 15 years) from the start date of the
project.

2.

A binary holiday vector containing the holiday dates in terms of total accumulative days since the start of
the pro ject.

3.

A vector containing the subscript of the first holiday in each year.

4.

A vector containing the number of holidays in the next years (up to 15 years).

5.

The day of the week on which the pro ject starts.

6.

The type year in which the project starts (leap year, year after leap year, etc.).

The precalculation of the above data makes possible the rapid calculation of dates and durations for calendar scheduling of the various detail schedules. After the completion of calendar setup, control returns to Main Control, Part 1.
At this point the storage area between the end of the binary holidays and the end of core storage is available for the
MN, AB, and Time Vectors. It is of value to note that use of this entire area results in the destruction of a portion
of the parameter region, as well as routines 22 through 28 (see Storage Arrangement). Although this does not affect
the capability of the program to process the current desired set of detailed schedules, it does eliminate the ability
to restart the problem without reloading the binary program deck. On the 920 Computer version, a complete restart
can be made without reloading the program by a transfer to location zero, only if the total number of activities does
not exceed the limits shown below.
Memory
{words}

Activities

8, 192
12,288

1195
2559
3923

16,384

Main Control, Part 1 proceeds to generate the MN and AB vectors as follows: the input tape is rewound and positioned at the beginning of the unscheduled activity file; one activity record is read; and, the BCD M and N (internal node numbers) for that activity are converted to binary, merged into one word, and stored in the MN vector
using the index loaded with the internal activity number, K. A similar sequence is used to store the crash and normal durations in the AB vector. The above vector element constructions are repeated for each activity in the unscheduled activity record file.
The sign of the MN vector entries are set minus if their associated activities are of the noncontinuous type. The resulting format of the MN entry is shown below.

IJ

Noncontinuous Indicator

Not Used

M

N

Since the nodes are numbered continuously starting at 1, the N node of the last activity will be equal to the total
number of nodes. Main Control, Part 1 picks up this node number and stores it in NE {number of events}.

24

At this point the program enters the detail schedule generation loop. The general sequence of this loop is to read a
selected schedule duration, develop an interpolated early node time vector, construct and print the detailed schedule, and repeat the loop until a type-9 input record is read.
The first routine entered in this loop is the Duration Read Routine (F.D.4). This routine reads the schedule duration
or number select record from paper tape or cards, converts the variable field image using the Input Conversion Routine, and computes either the total number of working units in the project's total duration if an end date is given or
the end date if total number of working units in the project are given. If no start date is given and project duration
is specified in basic units, blanks are stored in the end date locations. Logic is provided to handle basic working
units in hours, days, weeks, and months. Since the first project end date, duration, or schedule number will have
already been read and converted prior to the first entry to this routine, these phases are bypassed when the FIRPAS
indicator is on.
The next routine entered is the Time Vector Routine (F.D.6). At the time of entry to this routine, the input tape will
be positioned just in front of the binary time vector file. This file contains the early times for each node at each
break point in the Total Project Cost vs. Project Duration Curve. It is the function of the Time Vector Routine to
generate a set of specific early node times for the selected project duration.

If the selected project duration is greater than the All Normal project duration, an error note is typed, and the program is allowed to continue, using the All Normal early node time vector. If the selected project duration is smaller
than the All Crash project duration, an error note is typed, and the time vector for the completely crashed solution
is used.
Normally, the selected duration falls within these limits. If the selected duration does not fall exactly on the duration time at one of the break points, it becomes necessary to interpolate for a time vector. This is accomplished by
reading from tape the time vector above (toward normal) and below (toward crash) the selected project duration into
the left and right halves of the time vector. The interpolated time vector is constructed by examining the above and
below times at each node to determine if they are the same. If they are the same, this time is used for the current
node in the interpolated time vector; if they are not, the node time for the lower vector is increased by an amount
equal to the difference between the selected total project duration and the lower total project duration. This procedure is repeated for each node in the network. No interpolation is allowed if the schedule is selected by schedule number. The Duration Read Routine then returns control to Main Control.
After the time vector has been constructed, the program is ready to compute the various parameters needed to make
up the detailed schedule report. The routine used for this function is the Detail Schedule Report Routine (F .0.8).
This routine first constructs a vector in the left half of the time vector containing the durations of each activity.
There are three possible forms these durations can take:

1.

Normal Duration (B) - used when the time avai lable between the activity's end nodes is greater than the
normal duration.

2.

Crash Duration (A) - used when an activity has been shortened as much as possible.

3.

Semi-Crashed - used when the time available is greater than crash, but less than normal. In this case the
duration is set equal to the time available.

If an activity is discontinuous, its duration is always set to the crash duration when the time available is less than
the normal duration.

Using the vector of durations just developed, the routine next constructs a vector of late node times by working
backward through the network, starting at the last node. This vector is stored over the AB vector, which will later
be rebuilt.
When the early and late node times for the complete project have been computed and stored in memory, it is possible
to construct the detailed schedule record for each activity by loading the unscheduled activity information for that
activity alone into memory from tape. To initiate this operation, the input tape from SSP is rewound and positioned
in front of the unscheduled activity fi Ie.
Next, the DSRP Print Routine (F .D.9) is entered at $SRPINIT. This entry initial i zes the Ii ne and page counters and returns.
The double-precision total cost accumulator is cleared, and the first unscheduled activity record is read from tape in
the BCD mode. The type code for the unscheduled activity records is type 5. If the code read is not a type-5 code,
it is assumed that all activities have been processed. The input tape is rewound in preparation for processing the
next detail schedule, total cost is output using the DSRP Print Routine at entry $TOTCPR, and control is returned to
Main Control, Part I.

25

If the record code is a type-5, an unscheduled activity record has just been brought into storage. The record is now
ready for schedul ing. A test det.ermines if the activity is an internal or mi lestone dummy. If it is not, the routine
proceeds to convert normal and crash cost and durations to binary. The internal activity number, K, is loaded into
the index register and used to rebuild the AB vector entry for the current activity.
Free float and activity duration are next computed and stored ready for output. Late start and early finish in basic
units are computed and stored ready for output along with early start and late finish in basic units. Total float is
calculated and checked for critical ity. If found critical, an indicator is stored ready for output. The cost of the
activity is next computed and stored. This cost is added in double precision to the total cost of the pro ject.
If a start date is given, early start, late start, early finish, and late finish are converted to calendar dates and also
stored ready for output. Hour-, day-, week-, and month-type working units are considered in this conve.rsion. If
no start dates are given, the calendar dates for these four times are set to blanks.
A check determines if the end of this activity has a milestone date associated with it. If so, another check determines whether or not the milestone is met, and an indicator is set accordingly. If the milestone is given in basic
units and a start date has been provided, the milestone time will be converted to a calendar date.
Before the output routine for the shceduled current activity is entered, two checks are made:

1.

Should only major activities be output?

2.

If so, is this a major activity?

Based on the results of this test, an activity is either output or not output. The entry to the DSRP Print Routine to
produce the schedule activity iecoid is $SOUTSR.
The program now reads the next activity and again checks for the 5 code as previously discussed.
After all activities have been processed for the current selected date, control is returned to Main Control, Part I,
and a new selected schedule duration is brought in through the Duration Read Routine. When a type-9 record is read
by Duration Read, an end statement is typed and the program halts.

26

3. PROGRESS EVALUATION PROGRAM
This section describes the SDS Progress Evaluation Program (PEP), the third program in the SDS Project Management
System Series. To provide management with current project status information, this program should be run cyclically
for the duration of a project.
PROGRAM FUNCTION
The Progress Evaluation Program (PEP) provides management with an effective means for determining the current status
of a project at various times during its execution. The program points out those activities that are ahead or behind
schedule, on or off the critical path, and how these activities affect the total status of the project. Also, summary
information defining the rescheduling history of these activities is reported.
Other activity information provided includes activity descriptions, cost codes, and responsibility codes. The status
of the entire project is reported in addition to the status of the individual activities. Such questions as: "When is the
project scheduled to finish?", "When is the project expected to finish? ", and "How much is it ahead or behind
schedule?" are answered in the Project Status Evaluation Report generated by PEP.
PEP maintains an activity status file tape throughout the duration of the project. Initial information for this file is
obtained from the output tape of the Detail Schedule Report Program (DSRP). With each progress evaluation run,
the activity status file is updated to reflect the most current reporting information from the various activity managers.
This updated .tape is then used as input for the next progress eva luation run. The above procedure is repeated, cyc Iica lIy, unti I the project is completed.
Provisions are incorporated in the program to accept two types of status changes: activity changes and network
changes. An activity change refers to all data changes pertaining to individual activities, such as scheduled start
and finish dates, actual start and finish dates, scheduled duration, etc. Network changes refer to the addition, deletion, and replacement of activities to the project network.
The assignment of the original activity scheduled start and finish dates is made automatically by PEP. These dates
are obtained from the early start and early finish activity information on the DSRP output tape. The user has the option of overriding any of these automatic initial assignments during the various progress runs.
Since the DSRP output tape can contain more than one project schedule, the user must specify which schedule on the
tape he desires to select for the project. This specification is accomplished by a type-in. Two methods are used to
specify the selected schedule from the DSRP output tape.
One method defines the selected project schedule by completion date and the other by schedule number. Completion
date is used to specify the schedule for PEP when the schedules from DSRP have been requested by an end date or
duration. A schedule number is used when the schedules have been requested from DSRP by schedule number. No
schedule interpolations are made by PEP. Only those schedules on the DSRP output tape are available for assignment
as the selected project shedule.
The Detailed Schedule Report used for initial PEP input must be generated with calendar dating.
by DSRP in developing this input schedule can be in terms of hours, days, weeks, or months.

The basic units used

PEP uses two schedules to evaluate the project's status. One schedule is constructed internally by PEP, based on the
effective date of the progress evaluation run, actual reported start and finish information, and scheduled activity
durations. This schedule is called the expected schedule and is compared against the "scheduled" schedule maintained
on the activity status file. From this comparison the various activity status parameters are computed.
PEP USAGE
The minimum configuration used by PEP consists of 8192 words of core, two magnetic tape units, paper tape and typewriter input, and an off-line printer. Its operational capabilities automatically expand as the configuration is increased. Provisions are made for operating in conjunction with card reader input and on-line printer output. The
number of activities processed by the program can be increased by adding more core storage to the configuration.
The maximum number of activities (NA) handled by the program is a function of the total amount of storage in the
computer and the ratio of activities to node .points (R
..... ). The equation for NA is qiven
below.
. AC
-

27

N

co

- - ..

----~-~---

6

0+ 2fDEC64 -sT.fRr-EO- 21DEC64

JODEC64FINXSHED JODEC64

0+

9
CCODE4 RCODE4 ACTIVITy 4

10

1- 22ITe:C64 S TARfEff-?2DEC64

OflJANf5FINISHED

1+

CCODEJ
---------

0091 0094

--------------

6
ACTIVITy J

---.-.-"---~-----~----

0091 0092
RCOD~3

0092 092'"

7JAN65

0+

4

o

o

0+

0+ 0091 009

u+

1- 0091 00 4

0+

CCODE5 RCODE5 ACTIVITy SA
0094 0095

---------~2----

7 - - - - - - - - - - - n AN6 5

-STARTE1i--7J"A-'N"'6"5~--.-:;--r;.-.r.;-;;------;-;.-ri""TI"C~--;-""'TTI:z--F----"'----;;0'-----'2'_----'Ir-_---'r=..-r-=-,.,..._------I

CCODE8 RCODE8 ACTIVITy B
-09~0093

0093 0095

-

--------------

J
3
ACTIVITY 5.5

3
CCODE7 RCODE7 ACTIvITY 7

3

gJAN-65--SrARTED-

6JAN65

11 JAN65F INl

0+ I1JAN65STARfEiJ- fTJAN65

14JAN65FINl

0+

Figure 8.

Project Status Eva luation Report

5

0+
+

o

0+

0+

0+

0+ 00

NA - Total Storage - 4150

- (2 + R~E)
R
AE

= Number of Activites
Number of Nodes

For a value of RAE equal to 1.8, the maximum number of activities handled by the program on an SDS 920 Computer
are
Total Core
Storage

Activit~

Number of

8,192
12,288
16,384

1585
3200
4095

These figures are slightly less for SDS 910 Computer operation due to the use of programmed operators. A maximum limit
of 2047 event nodes can be handled by any of the above configurations, independent of the number of activities.
Loading Procedures
The procedures for running PEP and instructions for filling out data forms for PEP are contained the the Project Management System Reference Manual (publication number 90 09 18).
PEP Output
Output is always provided in off-line format on tape 1, regardless of whether or not an on-line printer is attached
to the system. Figure 8 shows a sample PEP printout. The letters below in the "Field" column refer to the sample
printout.
Field

Contents

Description

A

Project Status Eva luation Report

Report Heading

B

Date: DDMMMYY

Effective Date of Run
From characters 12 through 18 of the type-C record. This is the
date as of which the input information is to be considered current. It is used in the calculation of the predicted and actual
status of each activity.

C

Any alphanumeric characters or date

Run Identification
From characters 4 through 11 of the type-C input record. This
code is printed at the top of each page for identification of the
run.

D

Date: DDMMMYY

Scheduled Proj ect Finish Date
Date on which the last activity of the network is currently
scheduled to finish.

E

1-9999

Page Number
A number assigned sequentially to each page of the report.

F

Any 71 alphanumeric characters

First line of Project Heading
From characters 2 through 72 of the type-A input record.
ect identification information.

G

Any 71 alphanumeric characters

Proj-

Second line of Project Heading
From characters 2 through 72 of the type-B input record.
project identification information.

29

More

Field

Contents

Description

H

Date: DDMMMYY

Estimated Project Finish Date
Current value of the finish date of the last activity of the network.

K

L

AHEAD 0-4095 HOURS
DAYS
WEEKS
MONTHS
or
BEHIND 1-4095 HOURS
DAYS
WEEKS
MONTHS

NAAA:
N = Numeric
AAA = Three alphanumeric
characters

N

Difference between the scheduled project finish date and the
estimated project finish date in the type of units specified on
the type-2 input record to SSP.

NAAA:
N = Numeric
AAA = Three alphanumeric
characters

M

Project Status

-4095 to +4095 or blank

Identification code of starting node of the activity.

J
Identification code of ending node of the activity.

Total Float
The amount of time by which the actual completion of the activity can be delyed after its earliest finish time before it causes
a delay in the scheduled project finish date. It is calculated as
the difference between the latest finish date and the earliest
finish date, in the units specified on the type-2 input record to
SSP. If the latest finish date precedes the earliest finish date,
this field will be negative. If the activity has been reported as
finished, this field wi II contain a blank.
A negative total float indicates that the activity is on a path
that wi II prevent the scheduled project finish date from being
achieved.

o

0-4095

Scheduled Activity Duration
The duration for the given activity used in the determination of
early and late start and finish dates and of total project duration. This amount is in the units specified on the type-2 input
record to SSP. On the initial PEP run for the project, this field
is initia I ized as the duration used for the given activity in the
schedule that was selected from the DSRP output tape. It can
be changed on any PEP run using characters 26 through 29 of the
type E input record.

P

0-4095

Actua I Activity Duration
The difference between the activity's actual finish date and its
actual start date, as specified on the type-E input records to PEP.
The units are the same as those specified on the type-2 input
record to SSP.

Q

0-4095

Duration Difference
The difference between the activity's scheduled duration
and its actual duration.

30

Field

Contents

Description

R

Date DDMMMYY

Schedule Start Date
The date on which the activity is scheduled to start. On the
initial PEP run, this field is initialized as the earliest start date
from the selected schedule of the DSRP output, unless changed
by input of a type-E record. It can be changed on any PEP run.
Note that this field is not automatically changed as a result of
duration changes, actual start and finish reports, etc. It must
be changed specifically, using characters 12 through 18 of the
type-E input record. Actual start dates are compared with this
field to determine by how many units the activity was actually
started ahead of or behind schedule.

S

Date (DDMMMYY) or STARTED

Earliest Start Date

If an actual start date has been reported for an activity on either
this run or on a previous PEP run (on a type-E PEP input record),
The word STARTED is printed in this field. If not, this is the
earliest date on which the activity can start, based on its position in the network and on the effec tive date of the run.
It is the date corresponding to the time which is determined as
follows:
The sum of the durations (actual for completed activities and
scheduled for noncompleted activities) along the longest path
to each node is calculated. That sum is assigned as the time
for that node, unless it corresponds to a date prior to the effective date of the run, in which case the time corresponding
to the effective date is assigned as the time for the node.
This means that no earliest start dates can precede the effective date of the run. This modified node time assignment is
also used during the calculation of the longest paths to all
succeeding nodes.
The earliest start date may not be modified directly with input
data. It is recomputed during every PEP run.

T

Date: DDMMMYY

Latest Start Date

If an actual start date has been reported for the activity on either
this run or a previous PEP run, that start date is printed in this
field. If not, this is the date by which the activity should start
in order to be finished by its latest finish date. It is calculated
by subtracting the activity's scheduled duration from its latest
finish date.
The latest start date may not be modified directly with input data.
It is recomputed during every PEP run.

If the latest start time is negative (i.e., precedes the proj ect
start time), this field will be blank.

u

Date: DDMMMYY

Scheduled Finish Date
The date on which the activity is scheduled to finish. On the
initial PEP run, this field is initialized as the earliest finish
date for the activity from the selected schedule of the DSRP output. After that, it can be changed on any PEP run. Note that
this field is not automatically changed as a result of duration
changes, actual start and finish reports, etc. It must be changed
specifically using characters 19 through 250f the type-E input
record. Predicted finish dates (earliest finish) are compared
with this field to determine by how many units the activity was
actually finished ahead of or behind schedule.

31

Field

Contents

Description

v

Date (DDMMMYy) or FINISHED

Earliest Finish Date

If an actual finish date has been reported for an activity on
either this run or a previous PEP run (on a type-E PEP input record), the word FINISHED is printed in this field. If not, this is
the date on which a given activity should be finished if it is
started at its earliest start time. It is the date corresponding to
the time that is calculated by adding the activity's scheduled
duration to its earliest start time. The earliest finish date may
not be modified directly with input data. It is recomputed during every PEP run.

w

Date: DDMMMYY

Latest Finish Date

If an actual finish date has been reported for the activity on
either this run or a previous PEP run, that finish date is printed
in this field. If not, this is the date by which the activity
should be finished in order to avoid exceeding the scheduled
completion date of the project. It is the date that corresponds
to the difference between the project scheduled completion time
and the sum of the scheduled durations of all activities along
the longest path from the finish of the given activity to the project schedu led completion time.
If the latest finish time is negative (i.e., precedes the project
start time), this field will be blank. If the latest finish date precedes the earliest finish date, a negative total float will result.

x

0-9999 (plus or minus)

Total Slip
The accumulated amount of change in the scheduled finish date
since the first PEP run. Each time an activity's scheduled finish date is changed (using characters 19 through 25 of the typeE input record), the difference between the old scheduled finish
time and the new scheduled finish time is added to the total slip
accumulated for that activity since the initial PEP run for the
project. This new total slip is written onto the activity status
output fi Ie on magnetic tape and is the input to the next PEP run.
Changes to scheduled finish dates introduced on the initial PEP
run for the project do not increase the total slip. Note that the
total slip accumulation is reduced if the new scheduled finish
date is earlier than the old scheduled finish date.

Y

0-9999 (always positive)

Number of Slips
The accumulated number of extensions of the scheduled finish
date since the first PEP run. Each time a scheduled finish date
is changed to a later date (using characters 19 through 25 of the
type-E input record), the number of slips accumulated for this
activity since the initia I PEP run is increased by 1. The number
of slips is written onto the activity status output file on magnetic
tape and is input to the next PEP run.
Changes to scheduled finish dates introduced on the initial PEP
run for the project do not increase the number of slips. If the
scheduled finish date is changed to an earlier date, no change
is made in the number of slips.

AA

0-4095 (plus or minus)

Predicted Status
This number is a prediction of how far ahead of or behind schedule an unfinished activity will finish. For a finished activity,
it wi II be zero. For an unfinished activity, it wi II be the difference between the scheduled finish date and the earliest finish

32

Field

Contents

Description

AA {cont.}

date. A plus sign indicates a prediction that it will finish ahead
of schedule. A minus sign indicates a prediction that it wi II finish behind schedule.

BB

Actual Status

0-4095 {plus or minus}

This number shows how far ahead of or behind schedule an activity was reported to have actually started or finished. It is
set to zero when the activity is

1. started or finished on schedule.
2. not started and not scheduled to have started.
3. started, not finished, and not scheduled to have finished.

If the activity has not started, but is scheduled to have started,
its actual status is set to the difference between its scheduled
start time and the effective time of the current run.

If the activity has not finished, but is scheduled to have finished,
the actual status is set to the difference between the scheduled
finish time and the effective time of the current run. If the activity has finished, the actua I status is set to the difference between the scheduled finish time and the actual finish time.
In any of the above cases, a plus sign indicates that the activity
is on or ahead of schedule. A minus sign indicates that it is behind schedule.
CC,
DD,
EE

Same as fi e Ids L, M, and N

FF

Any six alphanumeric characters

Activity Identification Numbers
These fields contain the same information as the corresponding
fields on the left side of the listing. They are repeated here to
faci litate reference to the listing.
Cost Code or Part of Activity Description
From characters 37 through 42 of the SSP type-5 input record, or
from characters 44 through 49 of the PEP type-E input record.
Can be used as a sort key for PEPSORT.

GG

Any six alphanumeric characters

Responsibility Code or Part of Activity Description
From characters 43 through 48 of the SSP type-5 input record, or
from characters 50 through 55 of the PEP type-E input record.
Can be used as a sort key for PEPSORT.

HH

Any 32 alphanumeric characters

Activity Description
From characters 49 through 80 of the SSP type-5 input record, or
from characters 14 through 45 of the PEP type-F input record.

The updated activity status file is written on tape 2 in BCD. A detailed layout of this tape is in the appendix. This
tape is used as input to PEP on the next progress evaluation, at which time it is mounted on unit 1. Tape 2 also provides the input data to the PEPSORT program. For input to PEPSORT this tape is mounted on unit 2.
Error List
Upon detection of an error, PEP enters an error subroutine that types an error number.
is defined in the Project Management System Reference Manua I.

The meaning of these error

nUI~lbers

PROGRAM ORGANIZATION DESCRIPTION
PEP is a self-contained program, coded in relocatable form in SDS META-SYMBOL lang~age. It contains its own
loader (card or paper tape) and, therefore, does not require a ,"'ONARCH system tape. Extensive usage has been
made of the META-SYMBOL external reference provision for defining data storage to the various subroutines in the
program. The majority of data used by the program is located in a subroutine called Common.
33

The program is constructed in two segments. A mutual Common area is shared by these two segments. Furthermore,
each segment has an exc lusive storage area that is not shared. Segment I contains the initial activity status fi Ie
tape setup, parameter input processing, and network construction logic. It is made up of 32 subroutines. Segment II
is made up of 30 subroutines and contains the necessary logic to accomplish activity posting, status evaluation, and
progress evaluation report output.
The program determines the type of configuration on which it is being run and computes array data offsets based on
the amount of storage avai lab Ie. Automatic checks are made to determine if the problem being run wi II fit into the
computer storage avai lable.
PEP Storage Arrangement
The storage arrangement for the SDS 920 Computer version of PEP is shown in Figure 9.
ous subroutine numbers denotes first (F) or second (S) segment.

The S or F in front of the vari-

Segment II is loaded into the computer first and written on tape 2 minus its Common (SOl), Magnetic Tape Read (S02),
and Segment II Load (S03) routines. At load time the relocatable binary addresses are converted to absolute addresses.
All external references are also assigned absolute binary addresses. Note that although subroutines SOl, S02, and
S03 are not written on tape 2 with the remainder of the routines in segment II, all external references between the
two groups of routines are already set up.
After segment II has been written on tape 2, segment I is loaded into the computer by the loader, which is in high
core memory. Segment I is loaded at the same location as segment II and contains identical copies of subroutines
SOl, S02, an~ S03 (see Figure 9). An interface between segments I and II has now been set up, since all external
references by segment II to routines SOl, S02, and S03 are identical to external references to F01, F02, and F03.
Control
Routine
ment II
ment II

is next transferred to Segment I Control Control (F04). After the execution of segment I, the Segment II Load
(F03) is entered. This routine loads segment II from tape 2 using the Magnetic Tape Read Routine (F02). Segis loaded just above F03 and, therefore, does not interfere with the loading routine's operation. After seghas been loaded, transfer is made to Segment II Control (S04) and the remainder of the program is executed.

A number of data overlaps are made during various phases of both segments I and II.
during these various phases are discussed under IIPEP Execution Description. II

The data storage arrangements

Tape Layouts
The layout of the input file to PEP on the initial progress run is identical to the layout of the Detailed Scheduled
Report written off-line by DSRP. On subsequent runs, the activity status fi Ie is used as input. This fi Ie is written
on tape 2 by PEP during the previous progress run. Also on this tape is the project parameter file which contains
total project data, such as start date, units type, days-off, holidays, etc. The parameter fi Ie precedes the activity
status fi Ie.
Detailed layouts of both the parameter file and the activity status file are in the appendix.
PEP Execution Description
After segment II has been loaded on tape 2 and segment I into core memory, the loading program transfers control to
Segment I Control (F. D. F04).
Segment I Control enters the I/O Device Selection Routine (F. D. F06) at entry $SCAP2. This routine requests the input and output configuration description from the typewriter. The program can place the configuration description
in the permanent data region, if desired. When this provision is used, no typewriter request will be made.
Control is next transferred to the Segment I Setup Routin (F07), which determines the extent of core and calculates
the vector offsets used by segment I. These vectors are illustrated at the top of the PEP storage map shown in Figure 9. During the different phases of segment I execution, the avai lable storage area is assigned for various vector
usage.
There are basically three major phases to segment I:
1.
2.
3.

A parameter fi Ie preparation phase
An internal topological sort phase
A network update and tape sort phase

34

SEGMENT II

SEGMENT I
Approxi mate
Location

Topological
Sort Phase

Parameter
Input Phase

Variable

J Abbreviated
Activity Record

Tape Sort
Phase

Activity Data
Post Phase

Status Evaluation
Phase

Sorted
Record Area

Intermediate
Buffer Phase

MN Vector

Sequence
Selected

I Abbreviated
Activi ty Record

Card Storage
Buffer Area

Durtas Vector

New MN
Vector

Parameter
Region
Time Vector

Parameter
Region

J Abbreviated
Activity Record

10027

Successor
Vector
Binary Holidays

06000

F32.
F3l.
F30.
F29.
F2B.
F27.
F26.
F25.
F24.
F23.
F22.
F2l.
F20.
F19.
F1B.
F17.
F16.
F15.
F14.
F13.
F12.
F 1l.
FlO.
F09.
FOB.
F07.
F06.
F05.
F04.
01101
00654

00000

7560

B
Segment I Data Routine
Decimal to Binary Conv.
Date Comparison Routine
Ut iI ity Pac kage
Error Routine
Paper Tape Routine
Card Read Routine
Magnetic Tape Setup Routine
Binary to Decimal Integer Conv.
Magnetic Tape Write Routine
Schedule Request Routine
Read BC D Record Routi ne
Tape Sort Routine
M and N Assignment Routine
Topological Sort Routine
(Not used)
Unsorted Activity Assign.
Topological Sequence Control
Blanks to Zero Routine
Network Change Routine
Initial Abbreviated Activity File
Hoi iday Sort Routi ne
Parameter and Hoi iday Input
Initial Input Tape Routine
Erase Routine
Segment I Setup Routine
I/O Device Selection Routine
First Run Request Routine
Segment I Control

S30.
529.
52B.
527.
S26.
525.
S24.
S23.
522.
52l.
520.
519.
S lB.
517.
S 16.
515.
514.
513.
S 12.
51l.
510.
S09.
SOB.
507.
506.
505.
504.

Segment II Preparation Routine
Binary to Decimal Integer Converion Routine
Double-Precision Binary to BCD Conv.
Decimal to Binary Conversion Routine
Date Conversion Routine
Utility Package
Error Routine
End Routine
Paper Tape Read Routine
Card Read Routine
Magnetic Tape Write Routine
Magnetic Tape Setup Routine
Date to Basic Units Routine
Calendar Routine
Report Line Output Routine
Print Evaluation Routine
Print Initial ization Routine
Print Control Routine
Status Evaluation Routine
Reverse PERT Routine
Forward PERT Routine
Segment II Setup Routine
Blanks to Zero Routine
Post Routine
Activity Change Routine
Erase Routi ne
Segment II Control

B
F03 and S03.
F02 and 502.

B
FOl and SOl
Common
Storage

{

Segment II Load Routine
Magnetic Tape Read Routine
Input/Output Area
Fixed Common

Figure 9.

PEP Storage Arrangement

35

B

B

During the initial progress evaluation run, there is an additional phase for preparation of the initial activity status
file from the DSRP output tape.
During the topological sort phase, three large vectors are maintained in memory to define the project's network structure. These vectors are called the abbreviated activity records. The BCD I, J, and Duplication Codes are stored in
these vectors, along with other brief indicator data. Each of these vectors occupies a third of the storage space
available.
After completion of the topological sort, a vector (called the successor vector) is stored over the miscellaneous abbreviated activity record (Dublication Codes). A vector (called the new MN vector) is set up over the I abbreviated activity record. The J abbreviated activity record space is allocated to the storage of three groups of data. The
areas for the storage of these groups are called the selected area, the sequenced area, and the record storage area.
It is the function of the Segment I Setup Routine to set up addresses referring to the above data.
.
After the Segment I Setup Routine has been executed, tape 2 is position after its first record, which contains segment II. Subroutine First Run Request (F05) is entered at FRSTRUN to request (from the typewriter) it this is an initial progress evaluation run. If a yes (Y) answer is received, subroutine Initial Input Tape (F09) is entered to prepare
the initial activity status and parameter fi les from data on the DSRP output tape. If a no (N) answer is given by the
user, this subroutine is skipped.
Initial Input Tape reads parameter and holiday information from the DSRP tape and constructs a porameter file on
tape 2, just behind segment II. Next, the Schedule Request Routine (F22) is entred to request the end date or number of the schedule from the DSRP tape to be used as the proj ect schedule. After receiving an answer from the typewriter, InitiaJ Input Tape searches the tape for the requested schedule.
When the requested schedule is found, it is read into memory, one activity at a time. Early start and finish dates
are assigned as schedule start and finish dates for the current activity. The schedule duration for the activity is assigned the value for duration contained on DSRP output tape. This data is then written on tape 2 behind the parameter file as the activity status record for the current activity.
The above procedure is repeated for each activity in the project. The first word of each activity status record contains a type 2 identification code. A blank activity status record, containing a type-9 code, is written on tape after
the last activity has been processed.
Next, a statement is typed to the user stating that if tape 1 is to be saved, it should be replaced with an available
tape. The program halts after this request and waits for a run command. After returning to run status, tape 1 is rewound and the parameter and activity status files are copied onto it from tape 2; at this point the status of tapes 1
and 2 is identical to what it would be if this were a subsequent progress evaluation run. Initial Input Tape returns
contro I to Segment I Contro I.
The program now executes the various routines required to update the project's network structure. The first of these
routines is the Initial Abbreviated Activity File Routine (F12); it inserts the BCD I, J, and Dupe Code activity designations from the previous run's network configuration into the abbreviated activiy records (see Figure 9).
The next routine entered is the Network Change Routine (F13), which reads the type D network change records into
memory from cards or paper tape. Each is tested to determine if it contains an addition (new), deletion, or replacement to the network. The I, J, and Dupe Codes of new activities are placed at the end of the abbreviated activity
records. Deletions are flagged, and replacements inserted over the activities to be replaced. A count cf the number
of activities in the new configuration is generated during this posting loop.
When a non-network change input record is encountered, tape 1 is rewound and positioned at the beginning of the
activity status file from the previous progress evaluation run. Tape 2 is already positioned for writing the activity
status file for the new network configuration in unsorted order. The following general procedure is used in generating the new fi Ie on tape 2.
An activity status record is brought into memory from tape 1 and checked against its corresponding abbreviated activity entry to determine if it is to be replaced or deleted. If it is to be replaced, the I, J, Dupe Code from the
abbreviated activity record is moved into the activity status record over the old I, J, Dupe Code, and the new record is written on tape 2. If the activity has been deleted, it is not written on tape 2.
After all retained and replaced activities have been written on tape 2, the new activities are posted. The activity
status records for these new activities are set to blanks, except for the I, J, Dupe Code and activity number entries.

36

Data for these new activities is supplied during the activity change phase of segment II.
after the last new activity record on tape 2 to flag the end of the activity status fi Ie.

A 9-code record is written

A test is made to determine if the current run is an initial progress evaluation run. If it is not an initial run, the comment "SAVE TAPE 1 IF TAPE SAVE REQUIRED" is typed. The program halts and waits for a continue command. When
this occurs, control is returned to Segment I Control.
The next routine entered is the Topological Sequence Control Routine (F15) which sets up addresses for the various
vectors needed during the topological sort and tape sort phases. The Topological Sequence Control routine first sets
up addresses of various data arrays, to take advantage of the amount of core storage available. This routine also
computes the number of records that can be handled in the available core storage during each pass of the unsorted
activity file. Topological Sequence Control next executes a number of subroutines. After all these subroutines are
executed, the result is a magnetic tape fi Ie of activity records in a sequence such that no activity precedes any of
its predecessors. This tape file contains internally assigned node numbers, M and N, and a new activity number K.
All three of these numbers are assigned in an ascending sequence, based on the topologically ordered activity
records.
The first of the sequencing routines entered is Unsorted Activity Number Assignment Routine (F 16). This routine
stores a record number in the first 12 bits of each entry in the successor vector. This number is assigned in ascending
order, based on the origninal input sequence of the original activities and network changes.
The Topological Sort Routine (F18) is executed to assign each of the activities to a position in a thread such that every item on the thread follows all its predecessor activities. This is accomplished by creating an arbitrary initial
thread, then '!loving along this thread, examining the I and J of each activity to find if the activity has successor
activities that are assigned to the thread ahead of the given activitiy. When one is found, it is moved to the end of
the thread, from which position it wi II later be examined to determine if it sti II follows all its predecessors. If it
does not, it is moved to the end again. This process continues until the last activity of the thread has been examined
without finding any succeeding activities ahead of it. Activities are not physically moved from their I, J, Duplication Code sequence during this process. Instead, the last 12 bits of each entry in the successor vector is set to contain the number of the activity immediately succeeding it in the thread.
Once the topologica I thread has been determined, it is possible to assign new identification numbers M and N to the
nodes based on their order of appearance within the thread. This is accomplished by the execution of the M and N
Assignment Routine (F19). It should be noted that all starting nodes (nodes with no activities leading into them) are
assigned the number 1, and all ending nodes (nodes with no activities leading out of them) are assigned the highest N.
The next task is to sort the activity status records on tape into the newly determined topological sequence. Since
the program must operate on a minimum configuration having only two tape units, the sort is required to make multiple passes through the unsorted activity status fi Ie, obtaining as many records as possible (n records) each pass, and
writing them on the sorted activity status file tape. This is accomplished by extracting the next n items from the
successor vector (as defined by the thread) and moving them into the selected area. The number of the activity in
the sorted sequence is now inserted in the last 12 bits of the extracted words. The first 12 bits of these words retain
the number of the activity in the origina I sequence. These extracted words are now sorted on the origina I sequence
number and stored into the sequenced area shown in Figure 9. They are now in the same sequence as the records in
the unsorted activity status fi Ie.
Since these records are not contiguous, a complete pass through the unsorted fi Ie is required to read each group of
n activity status records. As the records are read, their input locations are calculated based on their new sequence
number; thus, after each pass storage wi" contain the next n records in the assigned topological sequence. They
are now written on the sorted activity status file tape. As many passes are made through the unsorted file as are required to place all the records in their new sequence in the sorted file.
Control is returned to Segment I Control which rewinds tape 2 and transfers to the Segment II Load Routine.
routine brings segment II into memory and transfers to the Segment II Control Routine (504).

This

The first subroutine executed by segment II is the Activity Change Routine (506). This routine updates the data contained in the activity status file with current reporting information entered on E- and F-type cards or paper tape
records.
The method used for posting this information is

1.

Tape 1 is assigned as the input tape, and tape 2 is assigned as the output tape.

2.

The parameter file is read into core from the input tape and written on the output tape.

37

3.

E and F records are read from cards or paper tape unti I the avai lable buffer area for this data has been
fi II ed.

4.

An activity status record is read into memory from the input tape.

5.

The Post Change Routine (507) is entered. This subroutine posts all E and F record information, contained
in the buffer area, belonging to the activity status record currently in memory.

6.

Items 4 and 5 are repeated unti I all activities on the input tape have been updated by the E- and F-type
records in the buffer.

7.

If there are more E and F records to be posted, they are stored in the buffer region until it is again filled.

8.

The input tape is assigned as the output tape, and the output tape assigned as the the input tape.

9.

Steps 1 through 6 are repeated.

The above sequence is repeated until all activity data is posted. A check is made to determine if the last pass
through the posting loop left the updated activity status fi Ie on tape 1. If so, the routine returns to Segment I Control. If not, tape 2 is copied onto tape 1 before the routine returns.
Segment II Setup Routine (509) is entered next in order to set up various data used by segment II. The project's parameter file is brought into core from tape 1. Data contained in this file is converted from BCD to binary and moved
to various working storage areas. Vector offsets used by segment II are computed and extent of storage checks are
made. The Calendar Routine (517) is entered at its initialization entry $CALEI. Upon return from the Calendar initialization, the effective date is converted to basic units and the routine returns to Segment II Control.
Tape 1 is now ·positioned at the beginning of the activity status file in preparation for the generation of the early start
times by the Forward PERT Routine (510). This routine constructs the vector of expected early start times based on current activity status, as defined by actual start and finish information, future scheduled activity durations, and the
effective date of the current progress eva luation run.
Three vectors are generated by the Forward PERT Routine.

These vectors are

1.

MN vector - contains the node number at the beginning and end of each activity.

2.

Durtas vector - contains information needed to compute late node times. If an activity is already started,
its entry in this vector will be its actual start time in basic units. If the activity is not started, its scheduled duration is entered. When a duration is entered, a bit is merged into position zero.

3.

Time vector - contains early node times in basic units in right 12 bits of word.

The activity status fi Ie is processed, one record at a time, in constructing the above records.
The Reverse PERT Routine (511) is entered next. This routine works backward through the network to determine the
latest time at which the various nodes can occur, without affecting the finish time of the total project. These late
finish times are stored in the left 12 bits of the various elements of the time vector.

It is now possible to evaluate the current status of each activity in the project by reading the activity status record
for one activity at a time from tape 1. The updated activity status records can then be written on tape 2. In preparation for this updating, Segment II Control transfers to the Magnetic Tape Setup Routine (S 19) which rewinds tapes
1 and 2, and prepares tape 2 for writing.
Control is next transferred to the Status Evaluation Routine (512). This routine reads one activity status record at a
time from tape 1. The status of this activity is then computed by processing the various vectors, previously mentioned
against the schedule information contained in the record. An updated record for the activity is then written on tape
2. The above is repeated for each activity in the network. After a II activities have been eva luated, the routine
computes an evaluation of the total project and stores parameters describing its status in Common. A return to Segment II Control is then executed.
Using the Utility Package (525) at entry SETTl, tapes 1 and 2 are once again rewound, but this time tape 1 is prepared for writing. Control is then transferred to the Print Control Routine (S 13). Print Control enters the Print Initialization Routine (514) at entry PEPINT. This routine initializes the page and line counters and returns.
The first activity status record is brought into memory from tape 2. Checks are made to determine if "major activity"
and/or "future activity" only printouts are desired. If so, the activity in memory is checked to determine if it meets
these specifications. The Print Evaluation Routine (515) is entered, and the status report lines for the current activity

38

are output on tape 1 and the line printer (if requested). The above sequence is repeated until all activities have
been processed. The routine then returns to Segment II Control.
The End Routine (523) is the last routine entered. This routine types the word END, places an end-of-fi Ie mark on
tape 1, rewinds tapes 1 and 2, and halts to terminate the program.

39

4. PROGRESS EVALUATION SORT PROGRAM
This section describes the SDS Progress Evaluation Sort Program (PEPSORT), the fourth in the SDS Project Management
Series. It receives its input from the Progress Evaluation Program (PEP).
PROGRAM FUNCTION
The Progress Evaluation Sort Program (PEPSORT) sorts the activity status file from the Progress Evaluation Program.
The output of the program is a sorted off-line magnetic tape and, if an on-line printer is available, an on-line printout. The activity status file, described in detail in the appendix, may be sorted on any of 19 keys and up to 13 keys
in a single run.
PEPSORT USAGE
The minimum configuration used by PEPSORT consists of 8192 words of core, two magnetic tape units, paper tape and
typewriter input, and an off-line printer. It automatically expands its operational capabilities as the configuration
increases. Provisions are also made for operation with card reader input and on-line printer output. The number of
activities processed by the program can be increased by adding more core storage to the configuration.
The maximum number of activities handled by the PEPSORT program operating on an SDS 920 Computer is
Memory
{words}

Activities

8, 192
12,228
16,384

2864
3375
5461

These figures are slightly less for SDS 910 Computer operation due to the use of programmed operators.
Loading Procedures
The procedures for PEPSORT operations are presented in the Pro ject Management System Reference Manual (publ i cation number 90 08 18). Instructions for filling out data forms for PEPSORT are also contained in the Reference Manual.
PEPSORT Output
Output always consists of an off-line BCD file on unit 1. If an on-line printer is available, an on-line printout will
occur in addition to the off-line file. The off-line provision allows the user to obtain multiple copies of the output
without rerunning the program.
The report produced by PEPSORT furnishes progress information in various selected sequences which facilitate analysis
of the status of the project and of the reasons for delays. The contents of the fields on this report are similar to those
of the Progress Status Evaluation Report (see Figure 8), except that this report includes total and earned cost fields
that do not appear on the Progress Status Evaluation Report. Aside from these fields, only the sequence of the activities has been changed.
Error List
Upon internal detection of an error, the program enters an error routine which types an error number. The meanings
of error numbers are defined in the Reference Manual. After the error number has been printed, in most cases a restart can be made by clearing the halt. A complete restart from the beginning of the program can always be made by
pressing START, then STEP and RUN.
PROGRAM ORGANIZATION DESCRIPTION
PEPSORT is a self-contained program, coded in relocatable form in SDS META-SYMBOL language. It contains its
own loader (card or paper tape) and, therefore, does not require a MONARC H system tape. Extensive use has been
made of the META-SYMBOL external reference provision for defining data storage to the various subroutines in the
program. The majority of data used by the program is located in a subroutine called COMMON.
The program is composed of 36 subroutines connected by a main control program. This subroutine module construction
provides a high degree of flexibility and facilitates system maintenance.
Logic is provided for the program to
40

determine the type of configuration on which it is being run. Array data offsets are computed based on the amount
of storage available. Automatic checks are made to determine if the problem being run will fit into the computer.
PEPSORT Storage Arrangment
The storage arrangement for PEPSORT is shown in Figure 10. Core storage is divided into three basic regions. The
first region is the Common region. This region contains 273 words of constants, and scalar and short vector temporary storage. Common is followed by the program area. This area contains 35 relocatable subroutines which occupy
2463 words of core. The thi rd region is a data area that extends from the end of the program section to the end of
the core. During the input phase (Phase I) of execution, this section contains only the 517-word parameter file. The
internal sort phase (Phase II) requires three vectors:
1.

S vector - Si is the successor of the i -th activity.

2.

PC vector - PCi is the value of the current primary code for the i -th activity.

3.

SC vector - SCi is the value of the current secondary code for the i -th activity.

These three vectors occupy the data region during Phase II.
During the tape sort, Phase III, different vectors are required in addition to the S vector:
1.

Select vector - contains selected elements of the S vector for the current pass.

2.

Seq.uenced vector - contains the selected vector, sorted on original activity number.

3.

Tape record region - contains one record for each element in the select vector.

Tape Layouts
The input tape format is presented in detail in the appendix.

1.

Parameter file (BCD) - one record

2.

Activity file (BCD) - one record per activity

This tape contains two files:

PEPSORT Execution Description
After completion of loading, control is transferred to the Main Control Program MAINCON (F. D. 3); the Main Control then branches to Address Calculation Routine ADRES1 (F. D. 23), which determines the amount of storage available and calculates the addresses to be used in Phases I and II. Main Control next transfers to the Parameter Read
Routine PARMRD (F. D. 4) which reads the parameter file from the input tape and moves the effective date into
Common.
Main Control then transfers to the Input Control Routine CARDRD (F. D. 8). CARDRD requests the input device from
the typewriter using the Input Device Selection Routine SCAP2 (F. D.5). The data records are then read from either
paper tape or cards. The data is moved into Common and control is returned to Main Control. Control is then transferred to Run Heading and Parameter Print Routine HEADPG (F. D. 31) to print the heading page.
Next, each requested sort key is converted from a BCD code to a numeric code, which is the subscript of the key in
the input tape record. These numbers are stored in vector form in Common. Control is then transferred to the Main
Sort Control Routine SORT (F. D. 13). This routine selects the numeric keys two at a time (starting with the last two),
reads the activity status file, and then transfers to Store Routine STORE (F. D. 16), which stores the selected record
elements in the PC and SC vectors. If this is the first pass, the S vector is initialized to
Si = i + 1, i = 0
Control is then transferred to the Internal Sort Routine SORT2K (F. D. 25), which sorts the PC and SC values by modifling the S vector. Upon return from SORT2K, a check is made to determine if all the requested keys have been selected. If they have not, the next two are selected and the process is repeated until the keys are exhausted. When
all the keys have been used, control is returned to MAINCON.
Main Control then transfers to the

41

Approx imate
Location

PHASE I (Input)

PHASE II (Internal Sort)

PHASE III (Tape Sort)

Variable
Secondary
Code

Primary
Code

Not Used

Scattered
Tape Area

Sequenced
Select

Successor
Vector

Successor
Vector

056378
Parameter Fi Ie

~8

,I.

004248

2.
3.
4.
5.
6.
7.
8.
9.
10.
1l.
12.
13.
14.
15.
16.
17.
18.

Restart Routi ne
Common Package
Main Control Program
Parameter Read Routine
Input Device Selection Routine
Card Read Routi ne
Paper Tape Read Routine
Inpu t Contro I Routi ne
Magnetic Tape Write Routine
Magnetic Tape Read Routine
Magnetic Tape Ready Routine
BCD Code to Numeric Routine
Main Sort Control Routine
Read Codes Routine
Transfe r Index Routi ne
Store Routine
Blanks to Zeros Routine
Data Pack Routi ne

19. Binary to Decima! Conversion Routine
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
3l.
32.
33.
34.
35.
36.

Decimal into Binary Routine
Decimal into Binary Control Routine
Error Routine
Address Calculation Routine
Initial Successor Routine
Internal Sort Routine
Tape Sort Control Routine
Original Sequence Number Routine
Move Select Routine
Sort Select Routine
Read Select Routine
Run Heading and Print Routine
Main Print Control Routine
Report Line Output Routine
Sort Output Routine
Double-Precision Binary to BCD Conv.
End Routine

Common Area

00000
Figure 10.

PEPSORT Storage Arrangement

Address Calculation Routine ADRES2 (F. D. 23) to set up addresses for the tape sort. ADRES2 calculates the maximum
string length (i. e., the maximum number of records that can be read into core) using the following relationship:
Last location in core - S (NA+ 1)
STRINGM
Number of words per record + 2
NA = Number of activities
After calculating the beginning of the select, sequenced, and tape areas, based on the maximum length of the string
(STRINGM), control is returned to MAINCON. MAINCON then transfers to FINSORT (F. D. 26), the Main Tape
Sort Control. FINSORT first goes to HEADPG (F. D. 31), which initializes the line and page counters for the output,
prepares the off-line tape for writing prints the heading page on the line printer (if requested) and writes on the offline tape. Next, Original Sequence Number Routine (F. D. 27) is entered. This routine merges the original sequence

42

numbers into the S vector. Each element of S now contains its subscript in the left half of its storage location and
the next activity number in the right half:

S.

Original Activity Number

I

o

Next Activity in String

11 12

23

Control is then transferred to Move Select MVESEL (F. D. 28), which moves through the S vector, assigns new activity
numbers based on the sorted sequence, and then stores these numbers and the original activity numbers in one word
and moves it to the select area:

Original Activity Number

Select.

New Sorted Activity Number

I

o

11 12

23

The Sort Select SORTSEL Routine (F. D. 29) sorts the select area on the original activity numbers and moves the sorted
vector into the sequenced area. The sequenced area is now in the same sequence as the input tape. The Read Select
READTP Routine (F. D. 30) reads the STRINGM records into the record area and positions them according to the new
sequence. When this area is full, these records are printed on-line and written on tape. Next, a test is made to
determine whether all activities have been processed; if they have not, the process is repeated for another block of
STRINGM records. This is done until all records have been processed. At this time, control is returned to the Main
Control routfne. Main Control transfers to End (F. D. 36), which writes an end-of-fi Ie mark on tape 1 and types the
word IIEND. II End also prints total cost and earned cost for the project along with the ratio of earned to total expressed as a percent. On return from End, control is transferred to CARDRD to read input for the next case.

43

APPENDIX
SCHEDULE SPECTRUM PROGRAM OUTPUT TAPE LAYOUTS
The output tape from SSP (on magnetic tape unit 1) contains three fi les of information.

These are pictured below.

Tape 1 Arrangement

~~

______

~+~

_____

II II·· ·11
II __________

/~~

~¥~

I I

________

~/'~

Parameter fi Ie: one Unscheduled activity fi Ie: one
BCD record with 571 BCD record/fi Ie with 30 words
words.
per record.

I

11.. ·11

II~

________________ ________________-J
~¥

Scheduled event time fi Ie: one binary record
per schedule with number of events plus three
words.

In the detai led layouts of each of these fi les, shown on the following pages,
B
A
N
X

=
=
=
=

blank
alphabetic character
numeric character
positions not used

Any other characters are actuai representations.
Parameter Fi Ie Layout
Word
Number
1

Character

Field Description

A

A

A

Input Type Code (Type 1 - Run Heading)
Run Heading, first 3 characters

A

A

A

Run Heading, characters 4 to end

N

Input Type Code (Type 2 - Run Parameters A)
Type of units of Duration Code (H = hours, D =days, W =weeks, M = months)
Day of starting date

N

Month of starting date
Fi rst character of starting date

A1

Second character of starting date
Working hours/day
First day-off, first character

1

2-20

A

2-1
21
21

2

22
22

A

23
23
23

N

24
24
24

A1

25
25
25

A3

26
26
26

A5

27
27

A7

A
N
A

N

A2

A

N

A2

A4 A4

First day-off, second character
Second day-off
A3 Third day-off, first character
Third day-off, second character
Fourth day-off
A5 Fifth day-off, first character

Fifth day-off, second character
Sixth
day-off
A6 A6
A7 Seventh day-off, first character
X

X

X

Seventh day-off, second character
Not used

28-40

X

X

X

X

Not used

41

3

0

0

0

Input Type Code (Type 3 - Holiday Specifications)

44

Parameter File Layout {cont.}
Word
Number

Character

Field Description

42

0

0

N

N

Day of first holiday

43

0

A

A

A

Month of first holiday

44

0

0

N

N

Year of first holiday

45-536

Repeats above format for remaining 165 hoi idays {3 words following last holiday contain all zeros}

537
537
537
537

4

538

A

A

539

A

540-556
557

A

Input Type Code {Type 4 - Run Parameters B}
Not used
Major activity option code
Crash option code

A

A

First 4 characters of Run ID or Date

A

A

A

Last 4 characters of Run ID or Date

A

A

A

A

Run Heading

N

N

N

N

Number of activities

A
A

558-570
571

Not used
N

N

N

N

Checksum - For sync test and read test

Unscheduled Activity Record Layout
Word
Number

Character

Field Description

1

5

0

0

0

Input Type Code (Type 5 - Activity Record)

2

N

A

A

A

I node

3

N

A

A

A

J node

4

0

0

0

A

IJ Dupe Code

5

0

N

N

N

Normal Duration

6

0

N

N

N

Crash Duration

7

N

N

N

N

Norma I Cost, fi rst 4 charac ters

8

N

0

0

0

Norma I Cost, fifth character

9
9

N

A

Dummy Record Indicator (0 =not dummy; 1 = mi lestone dummy)
Transaction Code
Cost Continuity Indicator
Major Activity Code

A

9

A

9

10

0

N

N

A

First 3 characters of mi lestone date

11

A

A

N

N

Last 4 characters of mi lestone date

12

A

A

A

A

Part of Cost Center Code or Activity Description

13

A

A

0

0

Part of Cost Center Code or Activity Description

14

A

A

A

A

Part of Responsibi I ity Code or Activity Description

15

A

A

0

0

Part of Responsibi I ity Code or Activity Description

16-23

A

A

A

A

Remainder of Activity Description

24

N

N

N

N

Internal node, M

25

N

N

N

N

Interne I node; N

45

Unscheduled Activity Record Layout (cont.)
Word
Number

Character

Field Description

26

N

N

N

N

Internal Activity Number~ K

27

N

N

N

N

Crash Cost, first 4 characters

28

N

0

0

0

Crash Cost, fifth character

29

N

N

N

N

Original Activity Sequence Number

30

N

N

N

N

Checksum

Scheduled Event Time Fi Ie Record (binary)
Word
Number
1

Character

BIN/BCD

Field Description

7

0

0

0

BCD

Input Type Code (Type 7 - Schedule File)

2

0

0

B

B

BIN

Total Project Duration Time - basic units

3

-0

0

B

B

BIN

Time of Event 1 - basic units

4

0

0

B

B

BIN

Time Event 2 - basic units

NE+2

0

0

B

B

BIN

Time of Event NE (last event) - basic units

NE+3

B

B

B

B

BIN

Checksum

DETAILED SCHEDULE REPORT PROGRAM INPUT TAPE LAYOUTS
The input tape to DSRP is the output tape from SSP, described above.
PROJECT EVALUATION PROGRAM TAPE LAYOUTS

II

II ~

I

\,Project
______Parameter
~¥------~/~~----------------------------~¥----------------------------~I
Activity Status File: one 65-word BCD record for each activity in the project.
Fi Ie: one BCD record containing 517
words.
In the following detailed layouts of each of these files,
B
A
N
X

=
=
=
=

blank
alphabetic character
numeric character
positions not used

Any other characters are actual representations.

46

Project Parameter File Layout (BCD)
Word
Number
1
2
3
4
5
6
7
8
9
10

Character

Field Description

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

1
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B

B
B
B
A
B
B
B
B
B
B
B
B
B
B
B
A
B
B
B
B
B
B
B
B
A
B
B
A
B

B
B
N
A
N
N
A
A
A
A
A
A
A
B
N
A
N
B
B
B
B
B
B
N
A
N
N
A
N

B
A
N
A
N
N
A
A
A
A
A
A
A
A
N
A
N
B
B
B
B
B
B
N
A
N
N
A
N

Input Type Code (Type 1 - PEP Parameter File)
Units type, H, D, W, M
Start Day
Start Month
Start Year
Hours per Day
First Nonworking Day
Second Nonworking Day
Third Nonworking Day
Fourth Nonworking Day
Fifth Nonworking Day
Sixth Nonworking Day
Seventh Nonworking Day
Major Activities Only indicator
Effective Date Day
Effective Date Month
Effective Date Year
Not used
Not used
Not used
Not used
Not used
Not used
"'I
First Holiday Day
First Holiday Month
First Holiday Year
Second Holiday Day
Second Holiday Month
492 Words {zero if no hoi iday}
Second Holiday Year

513
514
515
516
517

B
B
B
0
0

B
A
B
0
0

N
A
N
0
0

N
A
N
0
0

164th Holiday Day
164th Ho Ii day Month
164th Holiday Year
Zero
Zero

11

~

Activity Status Record Layout (BCD)
Word
Number
1
2
3
4
5
6
7
8
9
10
11
12

Character
2
N
N
B
N
N
N
N
B
B
B
B

B
A
A
B
N
N
N
N
B
A
B
B

B
A
A
B
N
N
N
N
N
A
N
N

Field Description
B
A
A
A
N
N
N
N
N
A
N
N

Type Code (Type 2 - Activity Status Record)
Activity I Node
Activity J Node
Activity Dupe Code
Internal Activity Number
Interna I M Node
Interna I N Node
Scheduled Activity Duration (Basic Units)
Scheduled Start Day
Scheduled Start Month
Scheduled Start Year
Scheduled Finish Day

47

Activity Status Record Layout (BCD) (cont.)
Word
Number

Character

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

B
B
N
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
N

49
50
51-57
58
59
60
61
62
63
64
65

Field Description

N

A
B
N
B
A
B
B
A
B
B
A
B
B
A
B
B
A
B
B
A
B
B
A
B
N
B
N
N
B
N
B
N

A
N
N
N
A
N
N
A
N
N
A
N
N
A
N
N
A
N
N
A
N
N
A
N
N
B
N
N
B
N
B
N

0

0

0

B
A
A

B
A
B

B
A
A

N
B
N
A
A
A
A

A
B
A
A
B
N

A
A
A
B
B
N
B
B
N
B
N

A
A
A
B
B
N
B
N
N
B
N

A
A
A
B
A
N
B
N
N
N
N

±

N
N
±

N
±

±

B
N
B
N

A
N
N
N
A
N
N
A
N
N
A
N
N
A
N
N
A
N
N
A
N
N
A
N
N
B
N
N
±

Scheduled Finish Month
Scheduled Finish Year
Actual Duration (Basic Units)
Actua I Start Day
Actual Start Month
Actual Start Year
Actual Finish Day
Actual Finish Month
Actual Finish Year
Original Scheduled Finish Da y
Original Scheduled Finish Month
Origina I Scheduled Finish Year
Early Start Day
Early Start Month
Early Start Year
Late Start Day.
Late Start Month
Late Start Year
Early Finish Day
Early Finish Month
Early Finish Year
Late Finish Day
Late Finish Month
Late Finish Year
Predicted Status Criterion Magnitude
Predicted Status Criterion Sign
Estimated Total Float
Duration Difference Magnitude
Duration Difference Sign and Estimated Float Sign
Total Slip Magnitude
Total Slip Sign
Number of slips
Previous Finish Indicator (Y or N)
Fi rst Charac ter of Cost Code
Second, Third, Fourth, and Fifth Characters of Cost Code
Sixth Character of Cost Code, Blank, First, and Second Characters of
Responsibi lity Code
Third, Fourth, Fifth, and Sixth Characters of Responsibility Code
Activity Description
Activity Description
Activity Description
Major Activity Indicator
Actual Status Criterion Magnitude
Actual Status Criterion Sign
} Activity Total Cost
} Percent Completed

PROGRESS EVALUATION SORT PROGRAM INPUT TAPE LAYOUT
The Activity Status Tape, output on unit 2 by PEP and input to PEPSORT on unit 2, contains two files of information:
The project parameter file and the activity status file. These files are illustrated in the preceding discussion, "Proj_
ect Evaluation Program Tape Layouts. II

48

SUBROUTINE ROSTER
A subroutine roster is given for each program in the Project Management System. Some routines are used by several
programs, and their names appear in the individual subroutine rosters; however, only one flowchart is provided for
each such subroutine.
In the SSP and PEP subroutine rosters the deck numbers are preceded by a letter indicating that the subroutine is used
in the first (F), second (S), or third (T) segment of that program.
SCHEDULE SPECTRUM PROGRAM
Deck
Number

Routine

F01
F02
F03
F04
F05
F06
F07
F08
F09

Binary Card Load Routine
Common Data and Storage Area (Listing}______________________
SSP Control P r o g r a m _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Magnetic Tape Read _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Magnetic Tape Write
Error
Binary/Decimal Integer Conversion
Decimal/Binary Conversion Control
Decimal/Binary Conversion

53
78
126
125
123
167
81
167

Segment I - Part B:

FlO
F11
F12
F13
F14
F15
F16

Input/Output Area (Listing} _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _~
Create Abbreviated Activity Records _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Set Up Milestone Dummy Activity Records _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
End of Activity Fi Ie Record _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Assign Unsorted Activity Numbers _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Reel Change
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Verifica~on

Wri~Upda~d

Param~erReco~

57
81
82
83
84
83
84

Segment I - Part A:
F17
F18
F19
F20
F21
F22
F23
F24
F25
F26
F27
F28
F29
F30
F31
F32
F33

Non-Activity Oriented Initialization _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
I/O Device Selection
Parameter and Holiday Input
Change Input Device Selection
Parameter Conversion
Hoi iday Sort
Calendar Initial ization
Activity Record Input
Mi lestone Time Set-Up
Write Activity Record
Type Ree I Change Message
Skip Program Segments
Paper Tape Read
Card Read
Date to Basic Units Conversion
Calendar
End of Segment I Load

84
129
85
86
86
133
86
87
89
89
89
89
124
123
165
110
89

Segment II - Part B:

SOl
S02

Write Scheduled Event Time Record _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Crash _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___

90
91

Segment II - Part A:
503
504
505
506
507
508

509

Create Crash Data Arrays _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
not used
Topological 5ort_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
M and N Assignment _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Topological Tape 5ort _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Activity ~riented Initialization _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
End of Segment II Load _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

~_==_

49

95
145
147
149
99
100

Deck
Number

Routine

Page

Segment III - Part B:
TOl
T02
T03
T04
T05
T06

Input/Output Area (Listing)
Schedule Summary Report
Report Line Output
Double-Precision Binary/Decimal Conversion
Calendar
Date to Basic Units Conversion

57
100
164
128
110
165

Segment III - Part A:
T07
T08
T09
TlO
T 11
T12

102
103
103
134
103
103

Set Up Data Arrays for Summary Report
Write End of Time File Record
Read Parameter - Unit 1
Parameter Print
End of Segment III Load
SSP Start Routine

DETAIL SCHEDULE REPORT PROGRAM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Main Control - Part 1
Delay
End
Duration Read
Input Conversion
Time Vector
Calendar
Detail Schedule Report
Detail Schedule Print
Error
Card Read
Paper Tape Read
Magnetic Tape Write
Magnetic Tape Read
Report Line Output
Binary/Decimal Integer Conversion
Binary /BC D Calendar Date Conversion
Decimal/Binary Conversion
Double-Precision Binary/BCD Conversion
Common Package (Listing)
Main Control - Part 2
Parameter Control
Magnetic Tape Set Up
I/O Device Selection
Parameter Input
Hoi iday Sort
Run Heading and Paramter Print

104
105
105
106
108
109
110
116
121
123
123
124
125
126
127
153
128
128
128
59
104
128
128
129
130
133
134

PROJECT EVALUATION PROGRAM
Segment I:
F01
F02
F03
F04
F05
F06
F07
F08
F09
FlO
F11
F12
F13

Common Package (Listing)
Magnetic Tape Read
Segment II Load
Segment I Control
First Run Request
I/O Device Selection
Segment I Set Up
Erase
Initial Input Tape
Parameter and Hoi iday Input
Hoi iday Sort
Initial Abbreviated Activity Fi Ie
Network Change

64
126
136
137
136
129
136
153
138
142
133
141
141

50

Deck
Number

Routine

Page

Segment I (cont. )
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
F25
F26
F27
F28
F29
F30
F31
F32

Blanks to Zeros
Topological Sequence Control
Unsorted Activity Number Assignment
not used
Topologi cal Sort
M and N Assignment
Tape Sort
Read BCD Record
Schedule Request
Magnetic Tape Write
Binary/Decimal Integer Conversion
Magnetic Tape Set Up
Card Read
Paper Tape Read
Error
Uti Iity Package
Date Com pari son
Decimal/Binary Conversion
Segment I Data

145
147
149
153
151
125
153
128
123
124
123
152
152
167
152

Common Package (Listing)
Magnetic Tape Read
Segmen t II Load
Segment II Control
Erase
Activity Change
Post Change
Blanks to Zeros
Segment II Set Up
Forward PERT
Reverse PERT
Status Evaluation
Print Control
Print Initialization
Print Evaluation
Report Line Output
Calendar
Date to Basi c Units Conversion
Magnetic Tape Set Up
Magnetic Tape Write
Card Read
Pape r Tape Read
End
Error
Utility Package
Date Comparison
Decimal/Binary Conversion
Double-Precision Binary/BCD Conversion
Binary /Decimal Integer Conversion
Segment II Preparation

64
126
136
153
153
154
156
153
158
158
159
159
162
167
163
164
110
165
128
125
123
124
167
123
152
152
167
128
153
153

153
144
144

Segment II:
SOl
S02
S03
S04
S05
S06
S07
S08
S09
SlO
Sll
S12
S13
S14
S15
S16
S17
S18
S19
S20
S21
S22
S23
S24
S25
S26
S27
S28
S29
S30

PROGRESS EVALUA nON SORT PROGRAM
1
2
3
4
5
6

167
72
168
167
129
123

Restart
Common Package (Listing)
Main Control
Parameter Read
Input Devi ce Selection
Card Read

51

Deck
Number

Page

Routine

PEPSORT (cont. )

7
8
9
10

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

30
31
32
33
34
35
36

124
169
125
126
170
170
171
172
173
174
167
167
167
167
167
123
175
167
175
176
167
176
177
177
134
177
127
178
128
167

Paper Tape Read
Input Control
Magnetic Tape Write
Magnetic Tape Read
Magnetic Tape Ready.
BCD Code to Numeric
Ma in Sort Control
Read Codes
Transfer Index
Store
Blanks to Zeros
Date Pack
Binary/Decimal Conversion
Decimal/Binary Conversion
Decimal/Binary Control
Error
Address Calculation
Initial Successor
Sort on Two Keys
Tape Sort Control
Original Sequence Number
Move Select
Sort Select
Read Select
Run Heading and Parameter Print
Main Print Control
Report Line Output
Sort Output
Double-Prec ision Binary/BC D Conversion
End

52

SSP COMMON DATA AND STORAGE

oooec
*

00000

0 01 0 00000

00001
oor02

0 32

*
*

OOG03

0 01

*

00004

0 01 U 00000

a

1
2
3

00002

4

0 01 0 00000

5

0 OOOGO

6
7
8

9
10
11

12

00005
00006
Ouoe7
00010
00011
00012
00013

13

14
15
16

17
18
t9
20

00014
ooe15

21

00016

22

00C17

23

24
00020
00021
00022
00023
00024
00025
(JOO26

U1

w

00000035
01000000
02000000
06000000

27
:?8

2g
~o

oon27

11000000
b0505060
6C606J3:t

000:30

20606060

~3

000:31
000:32

OOC06JcQ

~4

00034
00035
00036

~

1

~2

~~

oa033

*

::'5
::'6

0

no

0

coooo

36
:37
38
~9

40
41

00037

42

00040
00041

44

Aj

45
00042

A6

OOOA3

47
48

00044
00045
001:46
CUO 7

37777777

6

OQ0062t-.1
00G0444';

oon
Don

7

A9
~o

: 1

r::2

0000
0000
0000
*
Ftl~ PROG ReAD FReM CARI.:S
0000
;JIM 02
0001
TO WRITE SE.G 1 eN TAPE
8RU WRSEGI
0002
*
0003
Te URITE SE.G 2 eN TPAE
8RU WRSEG2
0004
*
TO WRITE SE.G 3 eN TAPE
00C5
dRU URSEG3
0006
*
0008
*
0840
:£A85FF
P~D
DUKATI~N VECTeR eRIGIN MINUS 1
~ES
I ,~o
eRIGIN eF 1ST UD OF AB~ ACT REC
0360
$A3RAC
~ES
II/D C;RIGIN eF I OF ABR ACT REC
$ABRACI
~ES
0370
I :~ 0 X LAST +1 LeG eF I REC Nt:'ll INCL REM'eVAL 0000
$ABRACIL RES
0400
1-.1 n ABr~

00424

*

64 $ERD
f5 $tRI
66 $f~J

f7 $FEND
~8

$FftFF

~ ':J 5FSTCH

2 00 0 001J5
0 35 0 00000
OOOO(J354

00374
00375
00376
00377
004(10
00401
00402
004103
004G4
00405
00406
00407
00410
00411
OJ412
00413
00414
00415
00416
00417
00420
OO.i21
004122

$nY~FF~

U

00

a coooo

77000000
00770000
00(100077
77770000
00007777
77777700
00777777
00037777
00U77777
777766~C

4CO(,)0000
77777777
00412145
(.0262522
lJ0442151
00214751

70
71
72
73
74
7'5
76
77
7S
79
PO

UNiTS OF Cbt-'VERTED DATE
DA't t)F CONvERTED CALENl:AR DATE
MOr'4TH ~F C6~VERTED CALENDAR DATE
YEAR OF CONVERTED CALE"bARDA,E

1

1
1
1

DAY'FF .. 2
DAYOFF-l .. 2
OUfAREA + ACTNUMWD

1
1

DATA 0
OArA 0
DATA 0
RES
. RES
RES

I,'W
I I~ D

G:~i'H

~ES

RES
RES
RES
16~
HL T Hf:1LRJN-l.2
STA PARFD
RES
15
EQU
HftLBRG-I
I r~ U
RES

$HNGNE
~H~L8IN

$He!LDM1
~~H~LINIT
$H~LbRG
~HjL~Ml

$lAl:je!=-F
$LINEC
$l~Cr>R9

$L:':}STDYS
e2 $lSTLOC
E3 $f'\A.CC
P.4 $I"1ASKl
$~iASK2

e6 $ ~1 AS r< 4

P7

~"'ASK12

P.8

$MASK34

e.:;

~MASKI23

~O

~"'b.Sr<234

C;

OAYS\.IK-1

~I-E I J ceeE FOR ERROR TYPE OUT
I STORE FOk ERRt'tR TYPE OUT
J STttRE FOR ERROR TYPt ~UT
LAST FLOW + t
FL.jW VECTt'H< ORIGIN MINl.S 1
1 S I C~ANGE ACT IND FOR ACt I I~PUT
HALF r-.UMBEFi OF ACT
HALF NUMBER OF EVENTS
HALF NEGATIVE NUM-BER OF- tVEf.irS
BINARY HOLIDAY AREA

1

11'4 D

MAXIMUI1 NUMBER ABREVIATED AC T REC
CO!... STANT To MEASURE lAFf ERASE LNGTH
NODE NUMBEI'< VECTOR ORIGIN ~Ii~US 1
C,",t\lST FeR NO HALT IN Md fllC ARC r1 LOAD
M1 ,~US BNE = 77777777

~t.S

1

DATA

"J~N#,#FE8".'MAR#,"APR"

.. "MAY" .. "JUN· .. "jUL·

1200
0610
0580
0590
06tJO

1170
1160
1280
0935
0940
0990
06410
0620
0630

08eo
0810
0435
0740
0750
0780
0000
1145

13io

1255
1259
0800
0690
01415
0000
0350
0310
1320
1350
1360
1330
1340
1345
1365
1370
1380
0490
0000
0850

onoo

1450
0605
1120

O()~25

00442170

00426

u041644t::
00 4 16443

00427
00430

00431
00432
00433

00434
00435
00436

00216427
00622547
C()462363

00454665
U024252:3
00000420
00000000

00437
00440
00441
00442

00443
00444
00445

00446
00000437

00447

lCl ~t-1~NYR~
lC2 $MSTEND
lC3 $NI\
lC4 $NI\~RM
lC5 $NCMAX
1 C6 $f'.'C~FF

00000447

RE~

lC8
109
110
111
11 2
113
114

$NDY)FF
$NE

~ES

$~EGACIJD

~ES

$NEP2

~ES

004167
00000467

00470

t 16
117
118
1 19
120

00471

00472
00473
00 4 74
00000473
00'513
00C;14

I i~D

~ES

~ES

$NG~A

EQU

N.I\NRM

$f\.GNE
$r-.HY
f.NHYMl
$NUMAC
$NUMACT

~ES

1
15

~~UMACNG

$t-.:UMTWD
121 $NWD
122 $~JWDPW
123 $NUDY
124 $NI./DY''Il
1::?5 $NWf-iPD
126 $f\'XTAdR

KES
EQU
EQU
RES
RES

NUMAC

~ES

00517

*
*

00520
00521

cocaa001
o 00 () OO~~54

00522
u0523

o 00 0 00000
0000107?
OOOOOODO

Ooc;24

Out:;,25
00")26
00'527

(JODooaoo
uCCCOQO?

~F

ACTIVITIES

0440
0000

NEGATIVE NuMBER ~F ~CTt\jlrIES
NUMBER W~R~S IN TIME TAPE RECORD
NUMdER 3F W6RKING DAYAS TO DATE
NUMBER Wt}RK I NG tiAYS--P-E-~-~rEE·j( -.---

1
1
1
1

15

NWDY-l

128 $NXTABRI

RE:S

129 $NXTMSTA
1:!0 *
131 'f'''XTRN
1~2 '"

RES

NUMBER WORKING H6URS PEA DAY
~F NExt ABR ~CT REC tlP 1ST MSTN
wHEN THRU SETTING UP NoRMAL A8R RC
lOC I UD BF NEXl ABR ACT REC
NExT MSTN L~Y LOC (LAST A8R REC +1»

RES

NE~T

1::t3

aATA
io1LT
ril.T
JJATA
:JATA

l~C

1:::' 7 '"

00"15
00516

Ni~K

$~O\jE

I::!4 $PARFDlC
1~5 $FA.RFMlC
1::!6 $PARNUMWD
1:37 $PRNTCeDE

1
PARFD
PARFM
57(1
0

0000
0720
Cf46b
0000
0870
0000
1220
0730
1270
0785
0790
0760
0770
1254

125-8-

NUMBER

1

RES
EQU
RES
RES

NEbATIVE NuMBER BF ACT IN FINAL
NuMBER ~F ~VE~TS

~~GATIVE

N~Y-l

~ES

~ES

NTwK END TIME INCL MSTN
NUMBER ~F ACTIVITIES
NEG jF NUM ACT NBT INCL T~ BE JrEff5VD·
MAXIMUM Ntl~MAL CBST
NORMAL COSl VECTBR ORIGIN MINUS 1
N~KMAL COS1 SCALE FAtTeR
NUMBER DAYS ~FF PER WEEK
NUMBER ~F EVENTS
NEGATIVE OF NUMBER UDS IN ACT RES
NUMBER EVENTS +2
CU~RENT

~ES

$NCSC~LE

*

- -------CiTO-

EQU M6NYR-l
DATA 0
RES
RES

le7

It5

00450

In
In

1130

leo

RECORD NUMBER TB =E

AS~IGNED

NUMBER eF wORDS IN PARAMETER REcaRD
C6JE F6R WHETHER ~R NHT 6UTP0T IS
JESJRED crN 6N-lINE PRINTER
1:3 8 '"
1~9 •
Y=YfS, N=NB
l~O * NfTE THAT A8crVE 2 WtlRDS ~~~ TE3TED 8EF~PE T~PE-IN jF THE CBDES
141 *
IS REQJESTED. IF CBDES I\RE TMERf (FR~M CARDS ADDED T6
142.
MACHINE LA~GUAGE P~BGR~M DEC~) THE R~~UESTS ARE ~~T EXECUTED
143 ~PECIND
RES
1
I~DICATES IF 1ST TIME T~RU INPUT
144 $RELMST
KES
1
CU~RENT RELATIVE MSTN rIME
1~~ ~~GIND~V
DAT~ 0
CBD~ F~R D~VICE SELEC1ED F~R
REG
14A *
INP~T: C=CDS P=PAPER TP ~=MAG TP
1~7 $RPUN~
D~TA 2
UNIT NUMBER F~R RlcrUTS~

04 ~'-o"

0715
1225

1230
1253
1257
1240
0470
0480
0000
0510
0520
0550
0560
1410
0147
0146
1300
oh5b
0060

0070

0570
0500
0030
0040
0000

*

00"331
00532
00533
00534
00535
001:136

I,)

00 0 00000

00~37

00540
00541
00542
00543
00544
00545
00~46

00547

148 j.P.UNIDAS
lA9 $RUNID8S
I!:O $SARST
151 $SCALE
152 $SCHED
153 $SCf-'EDOFF
154 $SC~IN
15:5 $SCHNUM
156 *
157 $SDAY
158 $5DTIY
159 $SEG1NW
160 $SEG2ENDC
1 € 1 $SEG2NW
162 $SEG3NW
1 € 3 $SELECT
If4

00550
00551
00552
00'553
00000534
00554
001:155
00556
00557
00560
00'361
001:562

01
0-

77777716
20000000
00000562

00563
00564
00565

'j7777777

00566
00567
00570
00571

DOOOOO03

*

1 f 5 S'SELECTL
1f6 $SEO
1f7 *
If8 $SEQENC
I€Y $SEQL
170 $SLSCALE
t 7 1 $SLMAX
172 $SLftPEIN
173 $SMBNTH
174 $C3TRINGM
175 $SYfAR
176 $SYRTYP
177 i>TAG
170 $TA.G8IT
179 $TAGDEL
leo $TEND
1 e 1 $THRtDIN
1 1:1)
*
It13 $THRC;:E
~£.

1)0000000

OO~72

00573
00574
00'575
00576

110000002

*

~TLA::5T
~Tl"FF

~TOUTO

IPI3 $TWO
1~9

~TYSDAY

OO~77

00"'00

193 $W83
t;~

OOe04
OOflO5
00606
00607
00610

$\.19.1

195 $W85
196 $YEAR
197 !YMnFt:tR

00603

*

~TIME

lPS
le6
1t17

190 $UNITS
1 <; 1 ~W31
1<;2 $W82

OOflOl
00602

•

1,'14

00 0 OOOGO
00 0 00000
2 00 0 00522

2
2

00000000

l e 8 !YMDt-tMI
199 $YMDH"
2CO $V'MDt-tPl
2C1 ~lEt:((j
202

RUN ID FRO"'I RUN PARAMEIER

~ES

~ES

~L r
RES

1
SCAP27

RES

RES
~ES

RES

CA~D

1 S T Lec CAN-T CLf1BBER-5E~ 3
PLACES TO SHIFT TO SCALF SL6PE
ORIGIN OF ~CHEDULE FILt: COVER LABELS
FI~ST TI "'IE 6F SCHEDULE FILE +1
ORIGIN FOR INPUT OF SCf-ED TIME FILE
SCnEDULE NUf-18ER FOR - SO~MARY KP'T 'CINE

0670
0680
0000
0650
0920
0930
0000

-b-icf6---

0710
1080
'T050
0000
NUMBER OF \.r~RDS IN PROGRAM SEG 1
ENiJ SEG 2. A8R ACT REC START NEXT Loe 0000
fii'o
NUMBER eF \.lORDS IN 'PROGRAM ~EG 2
1
1480
NUMBER OF wORDS IN PROGRAM SEG 3
1
0220
START ~F SAVE FOR 1ST IoiD OF ABR ACT
1
RC;:CjRD FOR NEXT 50 RE-C- tHPEADE tiS-Err- --cji~Hj
0280
RES
I," D LA~T +1 WD eF' SELECT A~EA
02tO
START of SAVE FOR SAME AS SELECT
RES
0250
ArI~30
33 $IA31
34 $1A,32
35 ~JA33

~ES

000
1

RES

1

~ES

1
1
1
1
1

RES
RES
RES
~ES

RES
RES
RES
RES
RES
RES
RES
RES
r(Y
2570
2580

2590
2600
2610
2620
2630
26 4 0
2650
2660
2670
2680
2690
2700
2710
2720
2730
2740
2760
2770
2780
2790
2~00

2810
2820
2830
28~0

0000C12~

OCOOO12t1
000OO12C:;
00000126
00000127

c: 1 '1lt AR30
92 $eAR31

E.QU
EQU
EOU
~3 $~AR32
<:;4 $BAR33
EOU
~5 $8UTAREAL E.QU
96
97
~ES
98 $PARAMET
99 $PARAHED t:OU
EOU
tCo $PARAMA
Ef.lU
1 C 1 $PARA2
EOU
Ie 2 $PARA3
EQU
1('3 $PARA5
1('4 $PARA6
EOU
1('5 $PARA7
EOU
EQU
lC6 $RUNIND
EQU
tC7 $PARA4
EQIJ
lca $PARH8L
EQu
lC~ $PARFD
EQU
11 J ~PARFM
EOU
1 11 $PARFY
EI.lU
1 J 2 $PARAM8
EOU
113 $RUNIDA
EQU
114 $RUNID3
EOu
115 $PARIliA
EQU
11 6 $PARNE
tQU
1 J 7 $PAREND
lid $LASTPRL
EWU
EQU
11 9 $YMDH
END
120

..

8UTAREA+29
!5UTAREA+30
8UTAREA+31
8UTAREA+32
8UTAREA+33

..

00127
00000127
00000153
00OOO15d
OCOOO15~

00000157
00000160
00000161
00001157
00000156
00COO177
00000200
00000201
00000202
00001157
00001160
0000llft
0000120]
00001204
00001221
00000401
0000020(1

11l
-0

2R50
28fO
2870
2880
2890
3000
3010
3020

LA~T WBRD ~F eUTPUT ARE A.
LA:;T+l l.iBRD BF BUTPl!T AREA
P~~A"lETtR REGIBN

57C
PARAMET
PARAMET+20
PARAMET+21
PARAMET+22
PARAMET+24
PARAMET+25
PARAMET+26
PARAMET+536
PARAMET+23
PARAMET+40
PARAMET+41
PARAMET+42
PARAMET+43
PARAMET+536
PARAMET+537
PARAMET+538
PARAl'lET+556
PARAf'lET+557
PAR A~l E T +5 7 a
PARAMET+170
PARFD

STcrRAGE AREA FBR PARAMETERS
START of RUN HEADlNG Ar1EA
START EtF PARAMETER A AREA

30-~O

RUN BPTI8N INDICATBRS
START dF Ht1LIDAY AREA-TYPE
1ST MeLIDAY DAY
1ST HdLIDAY M(jNTH
1ST H6LIDAY YEAR
START dF PARAMETER B A~EA
Isr \.iD RUN I D
2f\JD WD RUN I D
NUMBER BF .ACTIVITIES
NEMBER OF t VE~lT S
LIJC OF LAST PARAMETER + 1
1 S I \.ID BF 3\JD PER HBll

CeDE

IN PARAM AREA

3040
3050
3060
3070
3080
3090
3100
3110
3120
3130
3140
-:rf~O

3160
3170
. 3180
3185
3186
-3190
3200
3210
9999

DSRP COMMON DATA AND STORAGE
1
2

00000

oonoo

3

00012

00000000
20000000
00000033
01000000
02000000
05000000
60606060
000OOO5d
OCOQOO60
00000030
1)0000024

uOO13

OOOOU06F-

OOCOI
00002
00r03
001j04
00005
00006
00007
00010

oOrll

*
*

CcrMM8N STBRAGE REGIt:1N
Pt.~MENANT DATA REGIt:1N
~ORG

DATA
4 $lER(j
DATA
5 $BCDPL
DATA
6 $8CDDP
DATA
7 $BCDI000
DATA
8 $8C!J2000
DATA
9 $8CD5000
Ii) $FCD8LK
DATA
DATA
1 1 $~CDASS
DATA
12 $PLKICH
DATA
13 $1-<
DATA
14 $D
GATA
15 $U

0
0
020000000
000000033
'1000'
'2000'
'5000'
,
.,

BCD
BCD
8CD
8CD
BCD
BCD
8CD
BCD
peD

PLUS
DE.CIMAl PBINT
1000
2000
5000
BLANK \JBRD

' D'

1 CHARACTER 8i..At-4K
1 CHARACTER H
CHARACTER D
BeL

' 1.1'

8CD

CHA~ACTER

'"
, ',
' O-l'

A~TERISK

\.J

1000
1010
1020
1025
1030
1040
1044
1048
1050
1060
1070
1080
1090
1100
1110

00014
00015
00016
00017
00020
00021
00022

00000044

15 $r.

0000002~

17 $8CDC
18 $BCDN

OOO?~

OQQ06264
0000444f00006364
00006625
00006330
00002651
00006221

00024
00025
00026
00027
00030
00031

00000045
00000070
00006060
60604560

000~2

00033
00034
00035
00036
00037
00040
00(141
00042
00043
00044
00045
00046

00412145
00262522
01)442151
00214751
00442170
00416445
0041644l
00216427
00622547
00462363
00454665
00242523

00047
00050
00051
00052
00053
00054
00055

77000000
77770000
77777700
00770000
00777700
00777777
00007700
00007777
00000077
37777777
00003777
40007777
0(1000017
00037777
40000000
00010000

oon~6

COO'.'7
00060
00061
00062
00063
00064
oon6S
00066
00067
00070
00071
00072
00073
00074
00075
00076
00077
00100

2
2
2
2
2

00
CO
00
00
00

() 0024.d
0 00453
0 00455
0 0045.d
0 00000

o CO 0 01433
o 00 0 00455
o 00 0 00454
OOOOOOO?

19
20
21
22
23

$8CDY
$BLKDAY
$~AT3

$DAYUKO
SDAYSUK

24 $1'10NYRO
25 $1'10NYR

DATA 'M'
DATA 'C·
DATA 'N·
DATA 'Y·
DAfA· ,
DA

r A·

BCD
Bcn
BCD
eCD
BCD

N'

~ES

DA TA • SU·

.·1'10·.·

1 CHARACTER M
1120
1 CHARACTER C
1130
1 CHARACTER N
1140
1 CHARACTER Y
1150
2 CHARACTER 8LAN~
1160
BCD NI N 3RD cHXIfAClER-P6SnT"6"N-- 11-'-0DAYS ~F THE UEEK
1180
TU· .. • ut:'.· TH' .:FR·.· SA' ________________1_1~~

OF -n-iE--rrAR---- ----------------mnrDATA ·JAN'.·FEB',·MAR·.'APR·,'MAY·,·JUN·,·JUL·
1210
RES

M~NTkS

26

1220

MASKS
DATA 077000000
DATA 077770000
DATA 077777700
DATA 000770000
DATA 000777700
~2 ~"'I~SK23
DATA 000777777
33 S~AS234
DATA 00n007700
34 $"'ASK3
35 $MASK34
DATA 000007777
36 $MASI<4
DATA 000000077
37 $MASKt-4
DATA 037777777
38 $MASKI1R DATA 00('1003777
DATA 040007777
39 $MASKlll
JATA 000000017
40 S"'ASK9
CATA 037777
41 $"'AS~AD
42 $",ASKNG
DATA O.dOOOOOOO
DATA 000010000
43 5~NEll
BNE A1 8M BF 11
I~~TPucrIBN REGIBN
44 '*
45 SDVOFM1
HlT
DAYBFF-l .. 2
Y~DH-l,2
46 SYMDHMl
!-ILT
47 $YHD!-IPI
t-.lT
YMDH+l.2
48 $YMDHO
YMDH.2
t-.LT
49 $TAG
rilT
0.2
50 $MAXLOC
RES
1
PARAM8
!:::l $LOCPR8
I-"LT
PARFM
52 $PARFMlC I-"LT
PARFD
~3 $PARFDLC t-.LT
54 $RPUNO
DATA
?

1230
1240

27 '*
29 $"'''51(1
29 $I'1A5K12
30 ~I'1ASK123
31 $I'1ASr<2

--T250

1255
1200
1270
1280
1290
1300
1310
1320
1340
1350
1360

1370
1380
1:190

- i 4001410
1422
1424
1426
1430
1440
1452
1454
1456
1457

00101
00102
00101
00104
00103
001CO
OOtC7

00110
00111
00112
00113
00114
00115
00116
00t17
00120
00121
00122
00123
00124
001?5
00126
00127

2 00 0 00402
n 35 0 00454
000000~5

00000000
00000000
00000000

OOl~2

00133
00134
00'35
00136
C01~7

00000000
0000107?
00000000

001~7

00150
00151
00152
00153
00154
00155
00157
OOIEO
00161
00162
00000110
00165

1

'57

RES

1
1

=~

fO
€1
€2
€3
64
65

~MN(,}FF

~ES

$ABOFF
RES
DM 1 hLT
$I-iBLINIT ST A
$"'I~.n

,.

$TC~SA

lCO $TC(,}S8
i Cl -$UNITS
lC2 $DAY
le3 $~ONTH
104 $VEAR
1(5 $YMDFOR
lC6 $NIJREC
le7 $WBI

~ES

~wa2

RES
RES
RES
RES
RES
RES
EQU
RES
RES

lC9 HiB3

~E5

1 C·S

t-.J~

TA~

N('}

TA~

TIME VECT('}i1
TIME VECT('}r(

1

.... ~l81N-l,2
PARHf1L+l

$A.CTNUMIJD DATA 29
$CHINDEV RE~ 1
$CURHOL
~ES
1
RES 1
66 $DURI
~ES
€7 $DUR2
1
~ES
c8 ~DUR.3
1
RES 1
f9 $DS
70 $t:I'JDFILE RES 1
OAf A 0
71 $ERI
DATA 0
72 $ERJ
DATA 0
73 $fRD
RES
74 $fNDAC
1
RES 1
75 $FIRPAS
RES 1
76 $lINCNT
77 $LINEC
~ES
1
7t3 $LOSTDYS RES
1
RES 1
79 $MAJ(3R
~ES
eo $NA
1
RES 1
e 1 $NE
~ES
82 $t\!EP2
1
F(ES 1
e3 $NEGACWD
e4 $NDY~FF
RES
1
RES 1
85 $NiJD
RES 1
e6 $"!IJDPIJ
137 $t-.JIJHPD
RES 1
~ES
es $SYRTYP
1
("\
89 $PRNTCODE DATA
~O $PARNUMIJD DATA 570
DATA
~ 1 $RGINDEV
0
92 $FUNIDAS r?ES
1
~ES
93 $RU~IDBS
1
C;4 SSDAY
RES 1
9:; $SM(,}NTH
RES 1
96 $SDTIY
RES
1
97 $SYEAR
RES 1
RES
~8 $TYSDAY
1
99

00T56

00163
00164

1

~ES

58 $TBFF

00131

00!40
00t41
00t42
00143
00144
00145
00146

~ES

~5

OOt~o

0-

$TVMl

56 $TVM2

1
1
1

1
1
1

1

ACTNUMWD

--

~

1460
1470
1.480
1490
1500
1505
1510

DUMMY FOR 1ST IJD CAL .... ~LDAS
REGULAR SCALAR Tt:MP~ ··RE·GT~N-------------··· '-'-'TS-2-0
NO) I./DS) IN ACTIvITY RECORD
1530
1540

... --- .. - . . -.-- . -...---.. ·----····-rs;-o

--

DURATION DAY
BCI:
1560
MONTH
ECD
1570
DURATI~N YEAR (fR··-e-,. STC-"UNr,';~'Clr-158 0-DURATIfN etF SCHEDI..LE
1590
1595
16-00-'
FOR STORAGE OF
I.J. AND DUPE CODE
1610
FOR ERROR PRINTOUT
1620
('}UTARt:.A + ACTNUMWl
1630
FIRST PASS INDICTOR
1640
LINE COUNfER
1650
DuRATI~N

.--.. 1-655--

1658
MAJOR ACTIVITY INtICTOR
1660
NuRSE-ReF ACTTVITrrs---··----·
1670
NUM8ER OF EVENTS
1680
NUM8Ei< OF EVENTS + 2
1685
NEG. SF N~~-'-\JDSI KACr~--J(ES:-----·- T~
NO. DAYS-~FF PER wK
1690
NUMBER ~F WORKING DAYS
1700
f\JUM8ER ~ -':'\J Slncrm;--DA-VS .~ R ·QtE~·-f71o-NUMBER OF WORKING HRS PER DAY
1720
STARl YEAR TYPE
1726
. f130·
1735
1740
-li4S-

1748
START DAY
1750
--- ---.--. _.'-nw
START Ml'JNTH
START DAY TYPE
1764
START YEAR
1770
TYPE DAY'· P R'B J~--snl(TS-lfN- - .-----T775
DOUBLE. PRECISI(,}N
1780
TOTAL COST
1790
---'--'TBOCf
BAS Ie -UNfrS"',y-pr-1li11H CA TeR
1810
1820
183d
YMD FoRMAT INDICATOR
1840
1850
1860
1870
1880

00166
001f7
C)017l1
~O?C7

(,1)?26

OQ?45

t 1 J i Wd ,1
1 1 1 :£,\..0:3:::112 *
1 1 3 H"w[l'
1 1 ~ q: ~~ rl Y
1 1 '5 f!-'tJLjRG

RES
RES

~D~Y3FF

~E::::

11 b

1 17

R~;;;

VEe

7

1 :::.

rleLliJAY
DAY-~FF

*

C~DE

~

I A2

~ES

1
J

:10:/57
OU?f.J
OCi?f:1
00262

121 $IA3

$IA.I1

RES
KE5

B

123

~IA::;

"IA?t

~ES

r~STA-

~

I A2 7
,t; 1 A? a

tiES

CtjSTA- 2
MILESleNE FLAG -BCD
DLl~AT IflN-3IN.ARY

OU'IJ
0831:3

14')
t .:1 6
1.:1 7
14 ~
149
1'::"
,,0
1: 1

"'IA3C
lIA31
$TA32
'5IA33

00'16

1~2

'f.lA~4

~E:3

00'1 7
0032(1
003;;1

1::05 ~IA0j
1 C:::.1 i Y A3 t:

~E':3

1:=:5 :f-JA37

RES

OJ~?2

1 c:: 6

~1~3~

RES

00:10
Ou~11

(10:312
00'113

'>.

I A 2';

.-(E3
,,~': S

-?E3
>-25 $IAI2
226 $SCHFMON
227 $IAI3
228 $SCHFYER

RES
r-75
00276
00277
00:100

.

00 4 40
00000440
000004 4 0
00000441
00000441
00000442
00000442
:)0000443
00000443
00000444
0000044.c1
00OO044~

00000445
00000446
00000446
00000447
00000447
00000450
00000450
00000451
000004:51
0OOO045?
00000452
0000045~

OOOC045~

00000454
00n0045.c1
00000455
00000455

1792
1793
1794
EARLY FINISH IN eASIC UNITS
1795
LA.TE FINISH IN BA.SIC L!N ITS
TOTAL- Flt1AT'-l-N-BTNA~
1796
ORG. SCHD. FIN. IN BA.SIC UNITS 1797
1800
BASIC UNITS TYPE INDICATtlR
.. ----- -----1 8Ta
1820
1830
----------T840
H1D FC1RMAT tNOicAr~R
1860
1870

~ES

RES
~ES

RES
RES
~ES

RES
RES
RES
RES
RES

1
1
1

1
1
1
1
1
1

T1feo-

RES
15
RES 15
15
RES
RES 7
RES
18
1 e,
RES
~ES
3
RES
EQU
EQu
EQLJ
EQU
EQU
EQU
EQU
EQu
EQU
EQLJ
EQU
EQU
EQU
tQu
tQu
EQu
EQU
EQU
EQU
EQU
EQU
EQt;
EQLJ
EQLJ
EQU
EQu
EQU
EQJ

1890
1900
2000'
REG. VECTfjR TEMP. REGION
I\lUMBtR OF i.JORKING DAY~ PER YEA~ 2002
2004
NUMBER OF HOLIDAVS PER YEAR
--- - - - ' - - -- ---2606
HOLIDAY ORGINS
2010
DAY-OFF VECTOR
2020
USt.R-S COMMEt-JT REGION 1
-_ - ----- __
2030
USER-S COMMENT REG f ,rf 2
2040
CHECK DURATI~N VECTeR
2060
I i'liPUT Rt.GION
--- -------- .. --2070
2075
2080
----._-_._-----

-

70
IA
1 ~.
I A+ 1
IA+l
IA+2
IA+2
IA+3
IA+3
IA+4
IA+4
IA+5
IA+5
IA+6
1.A+6
IA+7
IA+7
I.A+8
IA+8
I.A+9
IA+9
IA+I0
1.A+I0
1 .A + 11
I A+ 11
I A+ 12
IA+12
I~+13

I A+ 13

..

.

---'--- ----

.-

-------~B-

2090
2095

IN BCD

.- -- --- -------2Y()O-

J IN BCD

2105
2110

IJ DLJP 1 N aCD
K

. 211 S-

IN RCD

2120
2125

M IN 8eD

21~

N IN BCD

2135
2140

-.-.----~.

-----~

--_. _..

-21a-s-

SCHEDULED DURATljN (BASIC UNITS)2150
2155
-2160
SCHEDULED START LAY
2165
SCHEDULED START ~eNT (l\lPHA.
2170
-_.

----2175

SCHEiJULED START YEAR ( 2 DIGITS) 2180
2185
SCHEDULED FINISH DAY
2190
2195
SCHEDULED FINISH MONTI- (ALPHA)
2200
2210
SCHEDULED FINISH YEAR
2215

0-0

00000456
00000456
00000457
00(100457
00('00460
00000460
00000461
00000461
00000462
00000462
0000046:!
0000046:!
00000464
00000464
aOOO046c;
00000465
0000046f,
00000466
00000467
00000467
OCOO0470
00000470
00n00471
00000471
00000472
0000047:2
00000473
00000473
00000474
00000474
0000047~

0000047'5
0000047f
00000476
00000477
00000477
00000500
00000500
00000501
00000501
00000502
00000502
00000503
1l0000503
00000504
00000504
UOOO0505
00OO050c;
00000506
00000506
00000507
00000507
00000510
;)0000510
1)000U511

229 $IA1.1
2~O $ACTDUR
2:!1 $IA15
2:!2 $ACTSDAY
233 $IAI6
2:!4 $ACTSMBN
235 $IA17
236 $ACTSYER
237 $I~18
238 $ACTFDAY
239 $IA19
240 $ACTFHON
241 $IA20
242 $ACTFYER
243 $IA21
244 $~h~GFDAY
245 $JA?2
246 $ORGFMON
247 $IA23
248 $eRGFYER
249 $IA=,4
250 $EARSDY
?~l $IA25
252 $EARSMN
253 $IA26
2':'4 $EARSYR
2~5 $IA?7
256 $lATSDY
257 ~IA28
2'58 $LA1SI'1N
259 $IA29
2~0 $lATSYR
261 $IA30
2152 $EARFDY
2~3 $JA31
2E4 $t:ARFMN
2E5 $IA32
2E6 $EARFYR
267 $1.A33
2t:8 $lATFDY
2E9 $IA34
270 $LATFMN
271 $IA35
272 $lATFYR
273 $IA36
274 $SCHCRIT
275 ~'A37
276 $SCHCRIS
277 $IA38
278 $FSTTFL
279 $IA39
2PO $nIFFDUR
2eJ ~I.40
2P2 $1;IFFDUS
283 $JA41

EQU
EQU
EQU
EQU
EQU
EQU
EQJ
EQU
EQu
EQU
EQu
EQu
EQu
EQU
EQU
EQiJ
EQU
EQU
EQU
EQU
EQ~

EQU
EQU
EQu
EQU
EQu
EQ~

EQU
EOU
EQU
Ewu
EQU
EQ~

EQu
EQu
EOU
EQu
EQU
EQu
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQu
EQU
EQU
EQU
EQl.l
EQLI
EQl.
EQU
EQlJ

IA+14
IA+14
IA+ 15
1"+15
IA+16
IA+16
1"+17
f,e.+17
IA+18
lA+18
IA+19
I A.+ 19
11.+20
IA+20
IA+21
IA+21
IA+22
IA+22
IA+23
IA+23
IA+24
IA+24
IA+25
1"+25
IA+26
IA+25
1"+27
IA+27
IA+23
1.6+28
1,6+29
1,6+29
1"+30
IA+30
1"+31
IA+31
1,4+32
IA+32
IA+33
IA+33
IA+34
1"+34
IA+35
IA+35
IA+36
1,6+36
IA+37
IA+37
1"+38
IA+3d
IA+39
1.6.+39
IA+40
IA+40
IA+41

2220
2225
2230
2235

ACTUAL DURATletN (8ASIC UNiTS)
ACTUAL START DAY

---_._- _.

-_.

2240-

ACTUAL START MetNTH

2250
2255
---------2 2 (, 0
ACTUAL START YEA~
2265
ACTUAL FINISH DAY
2270
-- -----------------22752280
ACTUAL FINISH MOl\TH
2285
ACTUAL F j Nlst:-C-YEAR------------ ----------n9Cr 2295
etRIGINAl FINISH [AY
2300
---------

----2305

BRIGINAL FINISH t-'I'nllTH

2~10

2315
tjRIGINAl FINISH YEAR

2~20

EARLY START DAY

2325
?330

.

------

--

.---

---~~S-

23 4 0
2345
----2350--EARLY STARr YE-AR2355
LATE START DAY _-- .-.--.
2360
----2365
LATE START Mc}NTH
2370
2375
_ ---_._--··----2-380
LATE START YE-AR
2385
EARLY FINISH DAY
2390
2395
EARLY FINISH MetNTH
2400
2410
EARLY FINISH YEAR
2415
2420
LATE FINISH DAY
2425
-----2430--LATE FINISH MONTI2435
2440
-- --2445LATE FINISH YEAR
2450
SCHEDULE CRITERI~N
2451
- - __
- --- -2452--:;CHEDULE CRITERIjN S.I GN
2453
24'54
- 2455- ESTIMATED TOTAl.. FLOAT
2456
DIFFERENTIAL DURATI~N
2457
2458
DIFFERENTIAL DURATljN SIGN
2459
2460
EARll START MONTI-

-

-~----

----.-~-----

•..

."

~

~--~--

...

. .

---.~-

..

00000511
0000051?
00000512
00000513
00000513
00000514
00000515
00000516
00000517
00000520
00000521
00000522
00000523
OCOO0524
00000525
00000526
00000527
0000ci530
00000531
00000532
00000532
00000533
0000053~

00000534
00000534
00000535
00000535
00000536
00000537
00000540
00000541
00000542
00000543
00000544
00OO054c:;
00000441

'"

0

0OOO052~

00546
00000546
00000547
00000550
00000551
0000055?
00000553
00000554
0OOOO55'i
00000556
00000557
00000560
OO(lOO561
00000562

284
285

$T~TSLIP
$1~42

2e6

$T~TSLIS

2e7
2e8
2e9
290
291
292
293
294
2q5
?96
297
298
2q9
3(;0

$IA4J

3C1

3(;2
3(;3
3(;4
3C5
3C6
3(;7
3(;0
~C9

310
311
:312
313
314
315
316
:317
318
319
320
:321
322
323
324
325
326
327
328
329
330
331
332
333
3:'14
335

$N~SLIPS

$IA44
$IA45
$IA46
$IA47
$IA48
$IA49
$tA50
$JA51
$IA52
$IA53
$IA54
$TA55
$IA56
$IA57
$IA58
$MAJAIN
$JA59
$MILDAY
$IA60
$MILMRN
$IA61
$MILYER
$IA62
$IA63
$IA64
$IA65
$IA66
$14.67
$IA68
$IA69
$JNPUTAR
$ I 4. Ei-JD

*
*
*

$"'UTAREA

*

$~ARl

$BAR2
$~ARJ
$~AR4

$eAR5
$I"AR6
$RAR7
'~AR8

EQU
EQlJ
EQLJ
EQLJ
EQU
EQU
EQU
EQU
EQU
EQlJ
EQu
EQU
EQU
EQLJ
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQLJ
EQU
EQU
EQU
EQU
EQU
ElJU
EQU
EQU
EQlJ
EQU

RES

70

EQu

EQU
EQU
EQU
EQU
EQLJ
EQu
EQU
EQU
t:QU

EQU
EQU
EQu
EQU

337

~t;AR12

338 $f\AR13

TOTAL SLIP SIGN
NUMBt.R fF SLIPS
PREVIOUS SLIP INi:ICATB~
~

---

~

_ _ _ • __ • • _ _ . • • __ 4. _ _ _ ~ _ _ _ _

•

__

COST CODE
. -- -

RE: SP 3 NS 18 IL rTY--~nt
ACTIvITY DESCRIPTION

---"---_..

-

~

2-~f/3

--

-- - ._--- ---

-_...

2474
2475

24762477
2478
2479
2480
2481
2482
2483
2484

MAJOR ACTIVITY II\DICATOR
MILESTONE DAY

-- ---2485-

MILES TON-E MONTH

2486
2487
------24 88---2489
2490

MILESTONE YEAR
-- --_._------" .._-

---------:[4-91-

2492
2493
··---24~4---

2495
2496
2491
2510
2520

2530-

$flAR9
$I"ARll

2461
2462
2463
2464-2465
2466
- -;2-4012468
2469
--24m
2471
2472

T6TAL SLIP

I~.+58

I.A+58
IA+59
IA+59
IA+60
IA+60
IA+61
IA+61
IA+62
IA+63
IA+64
I ~ +65
1 f.. +66
IA+67
IA+68
IA+69
1 Al
INPUTAR+50

~~ARI0

33b

11<+41
IA+42
IA+42
IA+43
11<+43
IA+44
lA+45
IA+46
IA+47
IA+48
IA+49
IA+50
IA+51
lA+52
IA+53
11<+54
IA+55
IA+56
IA+57

BUTAREA
BUTAREA+l
OUTAREA+2
BUTAREA+3
eUTAREA+4
BUTAREA+5
OUTAREA+6
BUTAREA+7
BUTAREA+8
BUTAREA+9
t1UTAREA+I0
OUT ARE.A+1!
OUTAREA+12

2540
2550

~-

--,.-

- - --- -- ---_ .._--_. - -

2560
2570
-----25~O

2590
2600

26To
2620
2630
264b

2650
2660
2670

00000563
00000564
0000056~

'-J

00000566
00000567
00000570
00000571
00000572
00000573
00000574
00000575
00000576
00000577
00000600
00000601
00000602
00000603
00000604
00000605
00000606
00000607
00000607
00000610
00000611
00000612
00000613
00000614
00000615
0000061~

00000617
00000620
oon00621
00000622
OO{JOO623
0000062.1
00000625
00000625
00000627
00000630
00000631
00000632
00000633
00000634
00000635
00000636
00000637
00000640
00000641
00G00642
0000064;:t
00000644
00000645
00000646
00000647
00000650

339
340
341
342
343
344
345
346
347
348

$BARI4
$OARI5
$OARI6
$RARI7
$!'lARI8
$OARI9
$RAR20
$BAR21
$BAR22

EQU
EQu

EQU

EQU
EGlU
EGlU
EQU
EQU
EQU
$~AR23
EGlU
EQU
~49 $BAR24
EGlU
350 $etAR25
EQU
351 $RAR26
EQU
352 $~AR27
EQU
3~3 $OAR28
3':'4 $~AR29
EGlU
EGlU
355 $BAR30
EQU
356 $8AR31
EQU
357 $~AR32
EQU
358 $BAR33
3~9 $eUTAREAL EGlU
EGlU
3~0 $eAR)4
EGlU
3fl $~AR35
EQU
362 $BAR36
363 $OAR37
EGlU
364 $eAR38
EGlU
EQU
365 $~AR39
EQU
3~6 $eAR40
EQU
3f7 $BAR41
368 $BAR42
EGlU
EQU
369 $OAR43
EQU
370 $~AR44
EQU
371 $eAR45
EGlu
372 $8AR46
EQU
373 $fAR47
EQu
374 $R.AR48
EQU
375 $8AR49
376 $t'AR50
EGlU
377 $8AR51
EGlU
EQU
378 $8AR52
EQU
379 $~AR53
3eO $~AR54
EGlU
EQU
3el $~AR55
EGlU
3e2 $8AR56
EQU
3e3 $8AR57
EQU
3e4 $6AR58
EQU
3e5 $OAR59
EQU
3e6 $R.AR60
EQU
3e7 $~AR61
EQu
3e8 $OAR62
EQU
3e9 $~AR63
EQLI
~90 $fiAR64
EQU
391 $eAR65
392 $~AR66
EGlU
3Q3 $fiAR67
EQU

BUTAREA+13
BUTAREA+14
BUTAREA+15
BUTAREA+16
BUTAREA+17
BUTAREA+18
BUTAREA+19
BLJTAREA+20
BUTAREA+21
6UTAREA+22
BUTAREA+23
BUTAREA+24
6UTAREA+25
BUTAREA+26
BUTAREA+27
6UTAREA+28
6UTAREA+29
BUTAREA+30
OUTAREA+31
OUTAREA+32
BUTAREA+33
BUTAREA+33
ftUTAREA+34
OUTAREA+35

2680
2690

27-bo

--.----- ----_.

.-

---_

.. ----_ ..

_-

-----

~

-------

- -------

--- -

----

2710
2720
- -- ---27"30
2740
2760
2770
2780
2790

-------~-

2810
2820
2830
2840
2850
2-860
2870
2880
- - ---- 2 8 90--

--------

LAST WORD OF BUT PUT AREA
LAjT+l \JORD 6~ OUTPUr AP.EA

3000
3010

- --- ------- --3Q21Y--

~UTAREA+36

OUTAREA+37
OUTAREA+38
BUTAREA+39
OUTAREA+40
BUTAREA+41
BUTAREA+42
BUTAREA+43
OUTAREA+44
OUTAREA+45
~UTAREA+46

OUTAREA+47
3UTAREI\+48
ttUTAREA+49
OUTAREA+50
BUTAREA+51
~lITAREA+52

BUTAREA+53
OUTAREA+54
OUTAREA+55
OUTAREA+56
OUTAREA+57
OUTARE4+58
OUTAREA+59
OUTAREA+60
t;UTAREA+61
OUTAREA+62
OUTAREA+63
OUTAREA+64
rjUTAREA+65
OUTAREA+66

-

----_.---

- - .. __ .. ----

------- _._-- "---- -

"------ -- .. _---- ---

3030
3040
------3()503060
3070
3080
3090
3100
3110
3120
3130
3140
3150
3160

-317cf
31~0

3190
-----3"200 3210
3220
-3230
3240 .
3250

-- ----:fi6-d .
3270
3280
3290
3300
3310
~r320

3330

00000651
00000652
00000653
00000644
(lOOO0370
00000412
00000435
00000436
00000437
00000440
00000104
00000170
00000304
00000323
00000342

394 $('4A~6.'3
395 $~AR69
:t96 $~AR70
397 $CHRAPI
398 $USCMIL
399 $USCM2L
4CO $CI(DURI
4CJ $CKDUR2
4C2 $Cio(DUR3
403 $CKDURL
4C4 $ACTNUMIJD
4C5 $EFFDATE
4C6 $NIJDYMI
407 $NHYMl
4C8 $HOLOMI
409

3340
3350

OUTAREA+67
OUTAREA+68
OUTAREA+69
OUTAREA+62
USCR1-1
USCR?-l
CKDUR
CKDUR+l
CKDUR+2
CKDUR+3
NWBAR
EFFDAY+3
NWDV-l
NHY-l

33~0

.-

----

---.-- ----... - ..----- ---

--~

-----

"'~LttRG-l

4000
4010
4020
4030
--------4-040--4050
4060

---------- -4"070-4080
4090

----- -----aTOU"

4110
9999

PEPSORT COMMON

'-.J

'"

EQLJ
EQU
EQlJ
EQU
EQU
EQU
EQu
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
END

lJ'1nno

ocoee
OOOOt
OOOO~

00001
00004

n') 0 ('I (I to 1
6060606:"J

OCr-'OS

oon22
00023
00024
;JOO25
00021'1
fJ0027
OOn30
"0031
"'0032
nOO33
flonJ4

00035
OOf136
0(1017
oon40

'10000004
2000000';
10000033
37777777

Qoooooon
QOOOOOCO
QOOOOOO!J

(1000000n
']oonCOCIl
M,!(lQO!lOO

6060602.:1
nnOOOO4U

tJOnOn041j
r"IO:10C()41

600CCJ4J

1
2 SACTA.
J iACT88
4 SACTK
5 SACTMJI"'WD
0 SBCORLI(
7 $8CT)Cf'D~
8

SaCn~l

9 S8CDPL
10 $dCDDP

11 $OACTI
12 $EFFrAY
13 $EFFMftN
14 $EFFYER
15 $EtvDFILE
16 SERe
17 SERI
18 $EFolJ
19 $EXPFMN
20 SEX"FDY
21 iEXPFYR
22 $UNITS
23 SIAO
24 $IA
25 $C~OE
20 i I A1
27 $18CD

RORG
RES
RES
RES
DATA
DATA
RES
EQU
DATA
DATA
DATA
RES
~ES

RES
RES
DATA
DATA
DATA
DATA
DATA
DATA
DATA
",ES

EQU
FoQU
E!~ LJ
EQU

DATA AREA
ACT Nt'. "'F CURRENT ACT
,. (t\io. etF Rf.CttROS TO WRITE)
CURRENT NO ttF ACT PROCESSE!)
NO wORDS IN ACT REC"RD
Bcn S'-ANK

COMMI~N

0

1
1
1

.65

0000
0020
OOJO
004&0
0050

13
BCDC~DE-l

·+000·
·000."
OJ7777777
1

1
1

1
()

0
()

r)

0
0
II

70
lAO

DII

INPUT AREA

JA

U+l
IA+1

2080
2085
I

TN BCD

2090

00000042
00000042
OOaCCU4J
QOOOrJ43
00000')44
00000044
50000045
QOOOO045
nOOOOO46
~OOOOO46

00000047
00000047
gOOOO050
OOOOOO5U
00000051
00000051
~OOOOO52
OOOOOO~2

0(1000053
nOOOO053
60000J5 4
ooooe054
00000055
60000055
0000005~

'J

w

nOOOO056
00000057
00000057
QOOOO061J
00000060
60000061
nOOOOQ6t
00000062
00000062
':'0000063
60000063
')000006 4
r'lOOOOO6 41
nOOOOO65
(;0000065
60000066
(lOOIJOO6~

60000J67
nOOOO'J67
nOOOO07 1)

~000007')

OOOOe!)71
noooe071
nOOf)C072
~0"OOJ72

nOOOOJ73
90000073
1)000007 4
I"00ON)741
60000075

28 SJA:2
29 SJBCn
30 SIA)
31 $IJDUP
32 SI.4
33 SKBcn
34 51A5
35 5MBCO
36 $IA6
37 SNEICe
38 $IA7
39 SSCHDUR
40 SIA8
41 SSCHSDAV
42 SIA9
43 SSCHSM~N
44 SIAI0
45 SSCHSVE~
46 S [ A11
47 SSCio1FDAV
48 SIA12
49 SSCHFf"lON
50 SIA13
51 SSCHFVER
52 SIA14
53 SACTDUR
54 SIA15
55 SACTSDAY
56 $IAI6
57 SACTSM~N
58 $IA17
59 $ACTSVER
60 SIAlP
61 S,6.CTFDAV
(;2 SlAte;
63 S A.ClF MOt~
64 SIo420
65 S~CTFYER
6e> $IA21
67 SORGFDAY
68 $IA22
69 SORGFMON
70 SIA23
71 S6RGFVER
72 SIA24
73 SEAqSDY
74 SIA25
75 $EA~SH'"
76 SIA2~
77 $EA~~VR
78 SIA27
79 SLArSDV
80 $IA28
81 SLATSMN
82 $IA29

EQU
EQU
E"QU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQlJ
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
E'ClU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
F.QU
Er~u

EQU
EQU
EQU
EQU

IA+2
IA+2
tA+3
1~+3

lA+4
lA+4
IA+5
IA+5
IA+6
U+6
I ~.+7
I~+7

IA+8
IA+8
IA+9
IA+9
1.+10
IA+I0
IA+l1
lA+l1
IA+12
IA,+12
IA+13
lA+13
IA+14
IA+14
IA+15
IA+15
IA+16
lA+16
1.+.17
Il+17
lA+18
,,6.+18
1.+19
lA+1Q
IA+20
IA+20
IA+21
'.+21
IA+22
I~+22

IA+23
lA+23
IA+24
1.+24
IA+25
tA+25
lA+26
I/;.. +26
1/;.+27
lA+27
IA+28
IA+28
lA+29

2095

2100
2105
2110
IJ DUP IN SCD
2115
K IN BCD
2120
2125
M IN BCD
2130
2135
N IN RCD
2140
____ .-il45
----------------_. SCI-IEDULED DURATI~N (BASIC UNJTS)2150
2155
SCI-IEDULED START DAV
2160
2165
SCI-IEDULED STAqT MeNT (ALPHA)
2170
2175
SCI-IEDULED STA~T VEA~ ( 2 DIGITS) 2180
2185
SCHEDULED FINISI"'4 DAY
2190
2195
SCI-IEDULED FINISH M~NTH (ALPHA)
2200
2210
SCHEDULED FINISH YEAR
2215
2220
ACTUAL DURATION (BASIC UNITS)
2225
2230
ACTUAL START DAY
2235
2240
ACTUAL START M6NTH
2250
2255
ACTUAL START YEAR
2260
2265
ACTUAL FINISH DAV
2270
2275
ACTUAL FINISH Ml'NTH
2280
2285
ACTUAL FINISH VEAR
2290
2295
6RIGINAL FINISH DAY
2300
2305
~RIGINAL FINISH M~NTH
2310
2315
~RIGINAL FINISH YEAR
2320
2325
EARLV START DAY
2330
2335
EARLV START M~NTH
23410
2345
_E ARL Y START YE~R
2350
2355
LATE START DAY
2360
2365
LATE START MONT'"
2370
2375
J

IN BCD

,.,0000075
60000()7 fi
QOClOOO7b
nOOOO077
QOOOOO77
QOOO010L1
OOOOOtOu
000001C1.

nooaCl01

~000C1C2
~OOOOlC2
00000103
gOOOC1GJ
noooOlc4
;;0000104
;;0000105
;;0000t05

';OOOOI0e
;;0000t06
tiOOO01C7
60000107
00000 t 1 '1
1]00UOll0

"-J

~

QOOOOlt l
110000 til
00000112
·300001 t 2
!,oono 1 13
00000tt3
QOOOCtl d
00000115

83 SLATSYR
I3A SIA30
85 $EARFDY
86 SIA31
87 SfARFMN
88 SIAJ2
89 SEARFYR
90 SIA3::!
91 SLATFDY
92 SIAJ.t
93 SLATFM~
94 $IA35
95 SLATFYR
96 SIA36
97 SSCHeRIT
98 $IA37
99 SSCHCRIS
100 SIA3B
101 $ESTTFL
102 51A39
103 $OIFFDUR
104 ~IA40
105 $OIFFDUS
106 S1A41
107 $HHSLIP
1na $lA42
1(') 9 $Tt)TSLIS
110 SIA43
J.JJ $Nt)SLIPS
112 $IA4.t
113 $IA45

00cac 1 16

lJ4

(lOOGe1t7

115 $IA47
lt6 $IAd8
117 $IA49
tiP $IA5G
11 Q $IA51
120 51A52
121 SIA53
122 SlA54
123 $IA55
124 $IA56
125 $IA57
126 $1A.58
127 $MAJAIN
128 $IA59
129 $MILDAY
1]0 $IA60
131 $MIL~"N
132 $IA61
133 $MILye:~
134 iIA52
135 $IAOL
136 $IA63
137 iIA.64

" (I 0 0 G 1.

2 '1

"000(1121
';rOO0122
;OOOn12J
~OOO01?4

00000125
nOOOO12~

60(1)01')7
r:000013fJ
(1000013 1
noooot32
00000t32
nOOOO13J
Snnoot33
:]0000t3 4
(10000134
60000135
f]OOOOt3:
.)0000 t 3t
;1 n !) f) 0 t ~ t
~OOOOt~7

n(lr"):'( 14fl

$1A.4~

fQU
EQU
EQU
fQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
r::QU
EQLJ
EQU
EQU
EQU
EQU
EGU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQLJ
EQU
e:QU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

IA+29
lA+30
IA.+31
IA+32
IA+32
IA+33
IA+33
1.+34
IA+34
IA+35
JA+36
IA+37
lA.+37

LATE FINISH DAY
LATE FINISH Mt)NTH
LATE FIN ISH YEAR
SCHEDULE

CRITERI~N

SCHEDULE

CRITERJ~N

SIGN

11-+38

I.+38
IA+39
1.+39
IA+410
IA+40
IA+Al
U+41
IA +42
IA+42
1.6+43
JA+43
IA+44
IA+45
IA+46
1.4+47
IA+48
IA.+49
lA+50

ESTIM4TED TeTAL FLeAT
DIFFERENTIAL DI.JR AT 1 eN
DIFFERENTIAL

DUR.TI~N

SIGN

TOTAL SLIP
Tt)TAL SLIP SIGN
NU~BER OF SLl~S
PREVleus SLIP INDICATOR

COST CODE
RE&ONSIJn~ITV

CODE
ACTIVITY DESCRIPTION

1~+51

IA+52
I A..+53
1.+54
IA+55
[A+56
10\+57
JA+58

'~+64

EQU

EARLY FINISH YEAR

J~+J6

EGIU

EGIU

EARLY FINISH MONTH

I~+35

fQU

EQU
EQU
EQll

EARLY FINISH DAY

IA+~l

IA+58
tA+59
IA+59
1.+60
lA.+60
IA+61
fA+61
IA+62
IAO+62
r A. +6·3

E'QU

LATE START YEAR

I~+30

MAJt)R ACTIVITY INDICATOR
MILEST~NE

DAV

2J80
2Jt\5
2390
2395
2400
2410
2415
2420
2425
2430
2435
2440
2445
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
248A

MILESTeNE Mt)NTH

2485
24E'6

MILESTt)NE YEAR

2487
2488
2489
2490

110000141
;;UOOGI42
60000143
nOO00141.
Q(JOOOt45
nOOOO041
;;0('100123

00146
00000147
,)0000150
",0000t51
;;onOO152
0('000 IS;:!

'I
OJ

"onor,154
nOClOCt55
';0000156
,jO'JOO15 7
Ooooe 16')
,10']0('1161
00000162
60000t63
0 000 016<1
00000165
nOOOOI6~

60000167
nOQOO171J
;0000171
';OOOn.172
60000t7 3
1")0000t74
nooonl7:
';OOOOt7f;
6000l'H 77
QOOOO20 'J
OUOO(,)201
00000202
~OOOO2C3
';000020 4
';01J0C205
,;0000206
601300207

,)0000207
QOOOO2tG
"0000211
nOOOG2t2
~on002tJ
00000214

138
139
J40
141
142
143
144
145
146
147

$IA65
S1A66
$IA67
S1A68
$IA69
:iINPlJTAR
S I AE~JD

1413

SOUT.RE~

*
*
*

14Q *
1'50 SOAR2
151 SeAR3
152 seAR4
15~ SOARS
154 !OAR6
155 $eAR]
156 SOARB
157 SOAR9
158 SOAR10
159 SOAR11
160 SOAR12
16 t. SOAR13
162 $OARI4
163 SOAR15
164 SOARlb
165 SOARl7
166 S6AQ18
167 S6AR19
168 $OAR20
169 seAR21
170 $RAR22
171 SOAR23
172 $OAR24
t73 $"A~25
174S $!5AR2f,
175 $OAR27
176 $~AR28
177 'OAR29
178 $OA"30
179 SOAR31
180 $OA~32
181 $OA"33
182 iOUTAREAL
183 S6AR34
184 SOAR35
185 SOAR36
186 $~~~37
187 Sl'tAR38
188

$6A~3Q

60000215

1~9

'!.'UR4Q

00 000217

190

$OA~42

"OOOG22D
·jOOO0221

191 $OAR43
192 $f"AR44

EQU
EQU
EQU

IA+66
IA+67

I~+65

~QU

1~+68

EQU
EQU
EQU

IA+69
I A1
INPUTAR+50

RES

70

EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EWU
EQU
EQU
EQU
EQU
EQU
E(JU
E(,lU
EQU
EQU
EQU
EQU
EGJU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQl,;

2491
2492
2493
2494
2495
2496
2497
2510
2520
2530
2540
2550
2560
2570
2580
2590

OUTAREA+l
OUTARE~+2
6UT~REA+3

OUTAREA+4
6UTAREA+5
OUTAREA+6
OUTAREA+7
OIJTAREA+8
OUTAREA+9
OUTAREA+l0
OUTAREA+l1

2600

2610
2620
2630
2640
2650
26bO

OUT~REA+12

2670
2680
2690
2700
2710
2720
2730
2740

OUTARE~+13

OUTAREA+14
OUTARE~+15

OUT~RE~+16

6UTAREA+17
OUTAREA+18
OUTAREA+19
OUTAREA+20

27bO

OLJT~REA+21

OUTAREA+22
OlJTAREA+23
BUTAREA+24
~UTAREA+25
~UTAREA+26

OUTAREA+27
~UTAREA+28
~UTAREA+29

OUTAREA+30
OUTAREA+Jl
OUTAREA+32
OUTAREA+33
OUTAREA+33
eUTAREA+34
eUTAREA+35
BUTAREA+36

EQlJ

~UTAREA+37

EG1LJ
EQU
EQU
EQU
EOU

I'HJT AREA+38
~n!T

AREA+39

eUT~REA+41
~UTAREA+42

OUTAREA+43

LAST WORD OF OUTPUT ARE~
LAST+1 W"RD OF OUTPUT AREA

2770
2780
2790
2800
2810
2820
2830
28.u
2850
2860
2870
2880
2890
JOOO
JOI0
J020
3030
3040
3050
3060
3080
3090
3100

nOOOO222
~()'JCG223
00000224
';0000225
riOOO0226
QOOO0227
"0000230
;;0000231
;;0000232
~OO(J0233
;;OOO023~
';O'JOC235
;;0000236
';0000237
(;0000241
00000241
00000242
nOOO02403
00000244
"0000244
~OOO0245

';0000246
60000247
nOOOO25Cl
nnOO0251
riOOO0252
nOOO0253
'l

0-

1)0;>54
('0255
a025~

('0251
00='61"1
Dil:?6t

00;>62
~.I0263

<,0='64
00'-65
()O:?6F,

00267
0027r)
~O271

90272
00273
0027.1
00275
00?71,

']0277

770aOOOU
7777000']
6077770!l
007700(\U
f100077C(1
0(""JOO077
nOOr:'7777
777777()r)
;0777777
'10077777
,:,0077777
77777777
77777677
';0000001

!"!O:tOf)
~(1301

1030?
n0301
'1()30d

"OOO0~CIj

f~'O~05

~06U~05J

(lQ306

C:l1tlUO~v(.J

.;)(1:t:J 7

10rClC'J(')

193 S6AR45

EQlJ

~UTAREA+4<1

194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212

HtAR4'"

EQlJ

~UTH(EA+45

$OA~47

SOAR53
S"AR54
S"AR55
SOAR56
SOAR57
St'URS8
SOAR59

EQU
EQU
EQU
EQU
t:QU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

$~AR60

E~U

S~A'Hll

EQU
EQU

$~A~4~

$'AR49
56ARSO
SOARS1
$~UR52

SOA~62

OUT_REA+46
~UT.REA+47

I'1UTAREA+48
~UTAREA+49

OUT4REA+50
BUTAREA+51
~LJTAREA+52

eUTAREA+53
~UTAREA+5d

l'.UTAREA+55
eUTAREA+56
eUTAREA+57
~UTAREA+5R

OlJTAREA+59
OUTAREA+60
r:tUT.AREA+61
OUTAREA+62
OUTAREA+62
OUTAREA+63

3110
3120
3130
3140
3150
3160
3170
3180
3190
3200
3210
3220
3230
3240
3250
3260
327G
3280
4000
3290
330G
3310
3320
3J30
3340
3350
3360

$eAIHPl
E~U
S6AR63
EQU
21~ SOAR64
EQU
214 SOAR65
EQU
~UTAREA+64
E(JU
215 $6AR66
~UTAREA+65
216 seAR67
EQU
OUTAREA+66
EQU
217 S~AR68
"UTI\REA+67
218 SOAR69
EQU
OUTAREA+68
219 ~6AR70
EQU
BUTAREA+69
220 SlINEC
RES
1
221 SLFlK
~ES
1
0060
1\1'" ~F FIRST ACT IN CURRENT __ ~L~CK
222 $MAJOR
RES
1
223 SMASKI
DATA 077000000
224 SMASK12
DATA 077770000
225 $MAS"23
DATA 000777700
226 iMASK2
D4TA 00770000
D_T4 00007700
227 $MASKJ
228 SMASK4 DATA
00000077
229 SMASK34
DATA 000007777
0070
230 $MA~K123 DATA 077777700
231 $MAS1<234
tlATA
00777777
232 ~"'ASItAD~ [JAT4 000077777
233 $"'ASK~DA
DATA 000077777
0080
234 $MAXA8R
RES
1
MAX LENGTH rtF S VECT~R
235 $MOtIJE
!JATA "1
0090
236 SNA
RES
1rOTAL Nrt rtF ACT
1
0100
237 SNC~DES
RES
1
23R iNEGNw
DATA -65
NEG NO l'tF ~~RDS IN ACT REC~RD
239 Sl"NE
DATA
1
240 $PAG~C
RES
1
241 $FlC
RES
1
LOC OF FlRIMARY CODES .TAGED
242 $PC~rE
RES
1
243 $~F~RINT RES
1
244 $FlRf\,JTCODE DATA 0
~UTPUT ON PRINTE V-YES. N-Ne
245 $PSTATUS DATA •
•
246 $QT
DATA
0
247 $RGI~;DEV
DATA ()
DEVICE SEL. C6DE. C-CDS.P-FlAPER.M-MAGTAFlE

OIJ~10

00311
n0312

':;000G001

Q031~

C0314
(I0~15

f)f)31f1
(lO~17

CI 0 3 2:1
1)0321
O'J~2?

',)0323
:;0321\

00341
0034?
(10343
'..J
'..J

a0344

Q034r:;
OO~5("1

QOOOOOO'J

1]0000001)
1")00000011
';0000323
5060606 1.i
Ii060fl06!J
57777777
2000000l!
'1000C35u

0Cl~51

"Hl:15'

iOl")ococJ

(H)~5'

"0000002

1")0:154
OO~7'"

':10420
01')42t

'1").1122

SRUNID
SRU"JIDPI
$RPUNt'
SS
SSC
$SC"DE
SSECKEY
$SELFCT
$SEGl
$SEQFND
$ SE :JL

259 $SE_LECTL

1014f,

00347

248
249
250
251
252
253
254
255
256
257
258

2 35 0 J0176
~ 35 0 i.10420
nonO('lIJOIJ

nO(100422

260
261
262
263
264
265
266
267
268
269
270
271
272
::73
274
275
276
277
278
279
280

RES
RES
DATA
RES
RES
RES
~ES
~ES

f. MEMORY CAPACITY?

yes

yes

82

SET UP MILESTONE DUMMY ACTIVITY RECORDS (cont.)

END ACTIVITY FILE AND REWIND UNIT 2
$SCAPll

ERASE 600 WORDS OF TAPE IN
ORDER TO FOLLOW THIS FILE
LATER WITH SCHEDULED EVENT
FILE

HALT

MSTWSR

SET NORMAL DURATION OF TAPE
MILESTONE DUMMY OUTPUT RECORD c TIME FROM FIRST WORD OF
ABBREVIATED ACTIVITY RECORD B
(CONVERTED TO DECIMAL)
REEL CHANGE VERIFICATION (F. D. F15)
SSCAP19
MOVE I AND J FROM MSTN DUMMY
ABBREVIATED ACTIVITY RECORD TO
MSTN DUMMY TAPE RECORD OUTPUT AREA

HALT

~

RETURN TO CONTROL
IF CLEAR HALT
CONVERT ACCUMULATED TAPE RECORD NUMBER TO DECIMAL AND
STORE IN TAPE ACTIVITY RECORD
OUTPUT AREA

RETURN FROM MSTWSR

83

NONACTIVITY ORIENTED INITIALlZATlONS

$SCAPI P5

R

CONVERT NA (NUMBER OF
ACTIVITIES) TO BCD AND
STORE IN PARAMETER RECORD (DECSCSR)

S
U
B
R

CONVERT NE (NUMBER OF
EVENTS) TO BCD AND STORE
IN PARAMETER RECORD
(DECSCSR)

S

DETERMINE MAXIMUM NUMBER OF
ABBREVIATED ACTIVITY RECORDS
WHICH CAN BE CONTAINED IN
AVAILABLE CORE AND STORE THAT
NUMBER IN "MAXABR."

SET UP ORIGINS OF EACH OF 3
SECTIONS OF ABBREVIATED ACTIVITY RECORDS (WITH INDEX TAGS)
IN "ABRAC," "ABRACI," AND
"ABRACJ." ABBREVIATE ACTIVITY
RECORDS START AFTER LAST WORD
OF PROGRAM SEGMENT II; 1/30F
AVAILABLE STORAGE IS ALLOWED
FOR EACH OF THE 3 SECTIONS.

SET UP ORIGIN-I OF EACH OF 3
SECTIONS OF ABBREVIATED ACTIVITY RECORDS (WITH INDEX TAGS)
IN "ABRACMl," "ABRACIM1," AND
"ABRACJMl."

SET LAST LOCATlON+ I OF SEQUENCING AREA AND ORIGIN OF TAPE
SORT THREADED SEQUENCE TAPE INPUT AREA = "ABRACJ"+2(MAXIMUM
STRING SIZE) IN "THREDIN" (WITHOUT INDEX TAG)

U

B

SET LAST LOCATION + 1 OF TAPE
SORT SEQUENCING AREA = "ABRACJ"
+ 2 (MAXIMUM STRING SIZE) IN
"SEQL" (WITH INDEX TAG)

SET LAST LOCATION + 1 OF TAPE
SORT SELECT AREA= "ABRACJ"+ MAXIMUM STRING SIZE IN "SELECTL"
(WITH INDEX TAG)

RETURN TO CONTROL

ASSIGN UNSORTED ACTIVITY
NUMBERS
INITIALIZE LOCATION OF NEXT
ABBREVIATED ACTIVITY RECORD
MISCELLANEOUS WORD = ".ABRAC"
IN "NXTABR" (WITH NO INDEX)

SSCAPI3P7

I

RETURN TO
CONTROL

WRITE UPDATED PARAMETERS

$SCAPI9P5

STORE UNSORTED ACTIVITY NUMBER IN LEFT 12 BITS OF FIRST WORD
OF ABBREVIA TED ACTIVITY RECORD
A.
RIGHT 12 BITS UNCHANGED.

SET ORIGIN OF TAPE SORT SEQUENCING AREA = "ABRACJ"+
MAX STRING SIZE (WITHOUT INDEX TAG) IN "SEQ"

LAST ABBREVIATED ACTIVITY RECORD PROCESSED (INCLUDING
MILESTONE DUMMIES AND RECORDS TO BE REMOVED)?
yes

RETURN TO CONTROL

84

PARAMETER AND HOLIDAY SUBROUTINE (SSP only)
$PAHSR

S
U

B
R

S
U

MAG. TAPE READ
READ PARAMETER
FILE INTO PARAMETER
REGION.

S
U
B

READ PARAMETER
CHANGE RECORD
FROM PAPER TAPE.

READ PARAMETER
CHAN GE FROM CARDS.

R

A

~

MOVEUC

RECORD

~

PARAMETER C A R D
(LAST OF SET)

85

SET UP EFFECTIVE DAlE:
EFFDAY
EFFMON
EFFYER

CALENDAR INITlAllZATIONS
$SCAP6P5

S
U
B

R

ENTER CALENDAR SUBROUTINE
AT INITlAllZA nON ENTRY
(CALE 1)

RETURN TO
CONTROL
PARAMETER CONVERSIONS

FILE CHANGE INPUT DEVICE SELECTION SUBROUTINE
$SCAP4

$SCAP5P5

S
U
B

CONVERT START DAY TO
BINARY (BCDCON)

R

S
U

B

R

TYPE MESSAGE "ENTER CHANGE DEVICE SELECTION CODE (C, P, ORM)"

CONVERT START YEAR TO
BINARY (BCDCON)

CONVERT TO BINARY AND
S
U
SAVE NUMBER OF WORKBING HOURS PER DAY
R
(BCDCON)

RETURN TO
CONTROL

RETURN TO
CONTROL

86

ACTIVITY RECORD INPUT
$SCAP7

S
U

B

PROCREC

READ ACTIVITY RECORD
CARD (CRDSR)

R

MOVE ACTIVITY DATA INTO OUTPUT AREA, EXPANDING IT INTO
MAGNETIC TAPE ACTIVITY RECORD
FORMAT

S

RETURN TO CONTROL AT
BASE +2 (END ACT RETURN)

U

B

87

READ ACTIVITY RECORD
FROM PAPER TAPf (PTRSR)

ACTIVITY RECORD INPUT (cont.)

MTAC
S
U

B

READ ACTIVITY RECORD FROM
MAGNETIC TAPE (MTRSR)

R

EXPECTED ACTIVITY
NUMBER = ACTIVITY
NUMBER READ FROM TAPE?

yes

yes

S
U
B

DUMMY ACTIVITY (NORMAL DURATION) + CRASH DURATION + NORMAL COST + CRASH COST = O?

TYPE TAPE OUT OF
SYNCH ERROR 215

HALT

IF PRESS START

RETURN TO CONTROL AT
BASE+ 1 (NOT END ACT FILE)
RETURN TO CONTROL
ROUTINE TO RESET ACTIVITY
NUMBER AND START INPUT OVER

U

RETURN TO CONTROL AT BASE + 1
(NOT EN D OF ACT)

B
R

TYPE 214 ERROR
MESSAGE (ERROR)

HALT

88

SKIP PROGRAM SEGMENTS

RELATIVE MILESTONE TIME SET UP
$SCAP8

S
U
B

R

EXECUTE UNIT CONVERSION
AND CALENDAR DATE SUBROUTINE (DA TBBU)

RETURN TO
CONTROL

RETURN TO
CONTROL

END SEGMENT I LOAD ROUTINE
ENTER FROM LOADING
EXECUTION RECORD

WR.ITE ACTIVITY RECORDS ON UNIT 2
$SCAP10

S
U
B

WRITE ACTIVITY RECORD ON
UNIT 2 (MTWSR)

R

RETURN TO
CONTROL

S
U
B

WRITE PROGRAM SEGMENT I
ONTO UNIT 2 (MTWSR)

R

RETURN TO
CONTROL

BRANCH INTO LOADER TO LOAD
SEGMENT II FROM CARDS

89

WRITE SCHEDULED EVENT TIME RECORD

SSCAP22

TW -

SET UP LOCATION OF FIRST WORD
OF TIME OUTPUT AREA (SAME AS
FIRST WORD OF LABEL VECTOR)

RIGHT 12 BITS OF TV

no

SET UP LOCATION OF LAST WORD
OF TIME OUTPUT AREA+ 1, WITH
INDEX (LAST WORD OF LABEL VECTOR+3)

MOVE LAST TIME FROM LAST WORD
OF OUTPUT RECORD TO SECOND
WORD OF OUTPUT RECORD (TOTAL
PROJECT DURATION)

S

U

SET RECORD TYPE CODE IN FIRST
WORD OF TIME OUTPUT AREA =
'7000' FOR SCHEDULED TIME RECORD

WRITE SCHEDULED TIME RECORD
ON MAGNETIC TAPE UNIT 1
(MTWSR)

RETURN TO
CONTROL

W - - 1 (TIME OUTPUT IN DEX)
NOTE THAT T1 WILL BE STORED IN
THE THIRD WORD OF THE TIME OUTPUT AREA

MOVETD

90

CPM CRASH SUBROUTINE

Ll = 0
L2 = 0

CLEAR LABELS

L3 = 0
L4 = 0

L4 = 77778
L3 = 0

L2
Ll

==K

DONE

I---~.

RETURN

TO SECOND LABELING

91

CPM CRASH SUBROUTINE (cont.)

SECOND LABELING

K = 2, FORWARD

92

CPM CRASH SUBROUTINE (cont.)

(L2)
(TYPE 2)

93

CPM CRASH SUBROUTINE (cont.)

yes

o
94

CREATE CRASH DATA ARRAYS

HALT

95

CREATE CRASH DATA ARRAYS (cont.)

yes

NoeST
SET LZe 0

96

CREATE CRASH DATA ARRAYS (cont.)

o
CK = -2?
(ZERO DIVISOR SIGNAL)

yes

yes

CK=-l?
(BIG SLOPE SIGNAL)
HALT

SHIFT CK RIGHT NUMBER OF
PLACES SPECIFIED BY "SLSCALE"
(MAXIMUM CK vVILL BE 12 BITS)
AND ROUND

97

CREATE CRASH DATA ARRAYS (cont.)

SHIFT NUMBER OF PLACES SPECIFIED BY "SLSCALE" OFF LEAST SIGNIFICANT END OF CK. (MAXIMUM
CK WILL BE 12 BITS) AND ROUND

98

ACTIVITY ORIENTED INITIAL/ZATIONS
$SCAP13P5

S
U
B

ERROR 122 TYPEOUT (ERROR)

R

RETURN TO CONTROL

HNA
NE
HNE
NEP2
HNGNE
NGNE
NGNA
MNOFF
ABOFF
COFF
TOFF
FOFF
LABOFF
FEND
TEND
SLOPEIN
TlMf
NCOFF
NCORG
SCHED
SCHEDOFF
SCHIN

One-Half Number of Activities Rounded
Number of Events
One-Half Number of Events Rounded
Number of Events Plus 2
Negative of HNE
f'legative of f'JE
Negative of Number of Activities

I

Origin-1 of MN Vector
Origin-1 of Normal and Crash Duration Vector
Origin-1 of Slope Vector
W· h
Origin-1 of Node Time Vector
I ~t
Origin-1 of Uti lity Flow Vector
Tn ex
Origin-1 of Label Vector
ag
Last+1 Location of Utility Flow Vector
Last+ 1 Location of Node Time Vector
Origin of Slope Vector - No Index Tab
Origin of Node Time Vector - No Index Tag
Origin-l of Normal Cost Vector - Wilh Index Tag
Origin of Normal Cost Vector - No Index Tag
Origin of Scheduled Time Vector - No Index Tag
Origin-l of Scheduled Time Vector - With Index Tag
Origin of Magnetic Tape Scheduled Time rile

99

END SEGMENT II LOAD PROGRAM
$SCAP23
ENTER FROM LOADING END CARD
WITH EXECUTION ADDRESS

COMPUTE NUMBER OF WORDS IN
PROGRAM SEGMENT II = LAST
WORD OF SEGMENT II - ORIGIN OF
MAGNETIC TAPE WRITE SUBROUTINE
+ 1. SAVE IN COMMON STORAGE

SET UP SEGMENT II ORIGIN FOR
MAGNETIC TAPE WRITE SUBROUTINE

= ORIGIN OF MAGNETIC TAPE
WRITE SUBROUTINE

SCHEDULE SUMMARY REPORT OUTPUT
$SCAP29

RETURN TO CONTROL
(END OF PROGRAM)

S
U
B

(ERROR) 2 J 1 TYPE-OUT

HALT

S
U
B

READ SCHEDULED TIME RECORD
FROM TAPE UNIT 1
(MTRSR)

R

lOUT OF SYNCH)
TAPE UNIT 1 READY?

100

SCHEDULE SUMMARY REPORT OUTPUT (cont.)

SHIFT CK (SLOPE) LEFT SAME NUMBER OF PLACES WAS ORIGINALLY
SHIFTED RIGHT DURING SCALE TO
12 BITS

DETERMINE LOCATION OF TMK
(SCHEDULED TIME OF STARTING
NODE M OF ACTIVITY K)

yes

NOTCR
ACTUAL COST- NC K (NC IS
NORMAL COST FROM HALFWORD)

101

SET UP DATA ARRAYS FOR SUMMARY REPORT
$SCAP27

yes

STNC
TURN ON SIGN BIT OF MNK
IN MN VECTOR
HALT

TEST MILESTONE ;)UMMY ACTIVITY
INDICA ~OR FROM RECORD = 1?
(MILESTONE DUMMY RECORD?)
yes

STMS
TURN ON 13lli.BIT (FROM
LEFT) OF MNK

SHIFT NUMBER OF PLACES SPECIFIED
BY "NCSCALE" OFF LEAST SIGNIFICANT END OF NORMAL COST (NC),
AND ROUND OFF (MAXIMUM NC
WILL BE 12 BITS)

TEST K ODD OR EVEN?

102

WRITE END OF TIME FILE RECORD

READ PARAMETERS - UNIT 1

$SCAP23P5

$SCAP24

S
U

B
R

WRITE END OF FILE TYPE RECORD ON MAGNETIC TAPE UNIT
1 (MTWSR)

S
U
B
R

RETURN TO CONTROL

READ PARAMETERS INTO
PARAMENTER AREA FROM
UNIT 1 (MTRSR)

RETURN TO CONTROL

END SEGMENT III LOAD PROGRAM
$SCAP79
ENTER FROM LOADING END CARD
WITH EXECUTION ADDRESS

COMPUTE NUMBER OF WORDS IN
PROGRAM SEGMENT III = (1) + (LAST
WORD OF SEGMENT III) - (ORIGIN
OF MAGNETIC TAPE WRITE SUBROUTINE), AND SAVE IN COMMON
STORAGE AREA

SET UP SEGMENT !II OR!G!!'! FOR
TAPE WRITE SUBROUTINE = ORIGIN
OF MAGNETIC TAPE WRITE SUBROUTINE

SSP START ROUTINE
$SCAP95
ENTER FROM LOADING END CARD
WITH EXECUTION ADDRESS

U

B

103

READ SEGMENT I FROM MAGNETIC TAPE UNIT 2, USING
SEPf~RATE COpy OF MAGNETIC
TAPE READ SUBROUTINE
(MTRSRST)

CONTROL BLOCK

1
S
U
B
R

TRANSFER TO PART 2
FOR PROGRAM SETUP

1

CLEAR

S
U
B
R

CLEAR VECTOR REGION

!

READRC

DET AIL SCHEDULE
OUTPUT ROUTINE

1

1

• BUILD MN AND AB
VECTORS FROM UNSCHEDULED ACTIVITY
FILE

S
U
B
R

TO DETAIL SR. FOR
DETAIL SCHEDULE

• SET SIGN OF MN
NEGATIVE FOR NONCONTINUOUS ACTIVITIES

1

• SET NE TO NUMBER
OF LAST MODE

RDDUR
S
U
B
R

I

TO DUREAD FOR
PROJECT DURATION

---

S
U
B
R

S
U

9 CARD

B

TO TVSR FOR TIME
VECTOR

TO END SUBR FOR
END PRINT. STOP

R

COMPUTE VECTOR
OFFSETS WITH TAG:
MNOFF
ABOFF
TOFF

1

$PART2

!
S
U
B
R

TO MAGNETIC TAPE
SETUP ROUTINE

1
S
U
B
R

!
ERROR
16

READ
UPDATE
SORT
PRINT

no

8

IS DATA TYPE
~ 8?

t yes
5'V~

WILL PROBLEM
FIT IN CORE?

no

IS START DATE
GIVEN?

NWDPW

~

7 - NDYOFF

~ yes

-

S
U
B
R

TO CALENDAR SETUP

RETURN TO
PART 1
ERROR
12

RUN ID IN COMMON

I

FIND MAX LOCATION
IN COMPUTER

FITS

no

• yes

TO PARAMETER CONTROL
ROUTINE FOR PARAMETER

1
ERROR

SETUP TIME VECTOR LOAD
LOCATION IN TIMESR

ERROR
13

BAD START
MONTH
INCORRECT
lJNIT TYPE

S
U

B
R

104

TO INPCON TO CONVERT
1ST DURATION

COMPUTE NUMBER OF DAYSOFF/WEEK AND BUILD DAYOFF VECTOR

CONVERT AND SET UP NA,
MAJOR, SDAY, SMONTH,
SYEAR, UNITS, NWHPD,
FIRPAS ~ -1

DELAY ROUTINE

$T1DLAY

$T2DLAY

DELAY UNTIL BUFFER W
AND TAPE 1 READY

DELAY UNTIL BUFFER W
AND TAPE 2 READY

RETURN

RETURN

END ROUTINE

$ENDSRP

T
5
U
B
R

TO CERROR TO TYPE
END

WRITE END-OF-FILE
ON BCD OUTPUT TAPE

1

HLT

RETURN

105

DURA nON READ ROUTINE

$DUREAD

T
ON

TURN OFF FIRPAS

FIRPAS?

(FIRST PASS)
OFF
~

C
CARDS

CKINP

RC INDEV?

P
PAPER TAPE
S

5
U
B

~------------~~------------~ ~

READ CARD

READ PAPER TAPE

R

R
,8 or 9
ERROR ...- - - - - t
8

DATA
TYPE?

t-_9_ _ _ EXIT, END
CKDTYP

OF JOB

NMON = DS
S. TRANSFER TO CONVERT
U ROUTINE FOR DUR1,
B DUR2, DUR3

R

YRCOUN

DURTYP _-"--....

DURATION
GIVEN AS

~1~~~~~R:_I-E_i~_·D_D_A_TE~.~
DURATION
GIVEN IN
BASIC UNITS

RETURN

DR 1

J

1

YEAR = YEAR + 1

t

CONVERT DURATION TO
SNFL NEG? J ) - - - - I BINARY AND STORE IN DS

yes , - -........----.......
,no

'--_ _ _ _ _ _ _y_e_s, NMON > 1?

Schedule
number given

no IS START
BLANK OUT DUR1, DUR2,
1 + - - - - - - 1 YEAR GIVEN?
AND DUR3

MAKDA TE

HOURS
r---------------------------~

!

UNIT
TYPE?

,..-_________________W_K---"

COMPUTE
END DATE

yes

MNON = MNON + 12
MONTH = MONTH + NMON

YEAR = SYEAR
MONTH = SMONTH
DAY = SDAY

MONTHS

1

DAY

,..-____________________________
no; MON TH

>

12?

NWD = DS
NWD = DS

x

DAYS!WK

1
S
' -_ _ _ _ _ _....,.......... ~ ~~~~~FiR TO CALENDAR

YEAR = YEAR + 1
MONTH = MONTH - 12

R

1

I

NWD = DS /tlRS

.

'I

DAY

(ROUND DOWN)

L

J
CONVERT DATE TO BCD
AND STORE IN DUR1,
DUR2, DUR3

~RETURN

106

DURATION READ ROUTINE (cont.)

2

1 ENDAH

no

ERROR
9

START
YEAR
GIVEN?
lyes

UNIT
TYPE

CONVERT DATE
TO BINARY DAY,
MONTH, YEAR

yes

=

4?

Months

r
o

TURN YMDFOR
ON (BDC
FORMAT)

NMON

=0

l
SET UP DAY,
MONTH,
YEAR

IX

= YEAR - SYEAR-1

t---

1
S
U
B
R

TRANSFER TO
CALENDAR
ROUTINE,
ENTRY 3

1
DS

HOURS

= NWD x.l:iBL
DAY

!

DAYS
WEEK
(ROUND UP)

DS = NWD/

WEEKS

UNIT
TYPE?

DAYS

DS = NWD

J
RETtRN

1
yes

-

SMONTH =
MONTH?

_f

no

I

NMON = MONTH - SMONTH -1

+ SEPARATED

(IX)?

I

~

1
1

NMON = 12 x IX

I

NMON = NMON + 1

I

ADJACENT

NMON = NMON + MONTH - SMONTH + 11

J

I

r

1
no

(31-SDAY

yes

+ DAY , 30)

-I

?

J
1

DS = NMON
I
RETURt'~

107

1
1

J

INPUT CONVERSION ROUTINE

(

1

NUMBER 1 ) - - - .

INCREASE CHARACTER STATUS

(

1

SHIFT AND ADD
CHARACTER TO
DURI

NUMBER 3

~------____- ,

NUMBER 4

1
BLANK 1ST CHARACTER OF IAI

!

}--SHIFT AND ADD
CHARACTERTO ~----------~~~
DUR3

(

(

ALPHA 1

ALPHA 2

SAVE IAI

)---.
INCREASE
CHARACTER
STATUS

(

=0
$INPCON

1

NUMBER 2 ) - - - .

(

SNFL

CLEAR DUR1,
DUR2, AND DUR3

C
...

!

}---

_O_UT_ _) - - - .

INCREASE
CHARACTER
STATUS

INITIALIZE WORD
INDEX = 0

SHIFT AND ADD
CHARACTER TO
DUR2

SET CHARACTER
STATUS CONTROL
FOR START

RESTORE IA 1

!

)---.

RETURN

I

(

SWITCH

r

)---.
CHANGE DUR3 TO
DURI AND CLEAR
DURI

INCREASE WORD
INDEX BY 1

t

TO
ALPHA 1

C

(

WORD INDEX
> 50?

yes

SNFL
NEGATIVE?

,

----.&.----_ no
CHAR

~ERROR
II

SKIP

ALPHA lA

(

yes

1------.

= N?

no

ERROR

LOAD A REG WITH
CHARACTER WORe
ON WORD INDEX

SKIP

INITIALIZE SHIFT
COUNTER TO 4

yes

1
SNFL

=

1---+

-1

I

NEXT

SKIP

l

DECREASE SHIFT\
COUNTER BYI \L-~+_______________~
AND CHECK FOR
NEGATIVE

*

1
2
3
4

NUMBER
NUMBER
NUMBER
NUMBER

1
2
3
4

a.-________N_U_M_E_R_IC"1

PICK UP NEXT
CHARACTER
AND CHECK

BLANK

r

J

*
ALPHA

2 SWITCH
3 ERROR
4 OUT

ALPHA lA
ALPHAI
ALPHA2
ERROR

ZERO

*

* 1 SKIP

1
2
3
4

1
2
3
4

SKIP
NUMBER 2
ERROR
NUMBER 4
*CHARACTER STATUS

108

TIME VECTOR ROUTINE

sCHNO = 1
MOVE DUR3
TO BINsN
(IN BINARY)

TURN ON 1ST PASS GATE
IGATPI

S
U
B
R

TRANSFER TO MAGNETIC TAPE READ ROUTINE, BINARY MODE,
LEFT SIDE STORE

SCHNO = SCHNO + 1

Off
CHECK END OF t-0_n_ _ _ _ _~ TO ERROR ROUTINE FOR
) ....- - - t FILE INDICATOR (USE CRASH TIMES)
STATEMENT PRINT
~--~-n-o---J
~_ _ _ _- J

~\

I

sNFL NEG?

\

1

SCHNO = BINSN?

RETURN
BREAK UP AND STORE
DURATION JUST READ
IN DR

ciS'
FPCK
TURN OFF
GATE IGATPI

....____________O_n~C.HECK IGATPI FOR
1ST PASS 1ST PAsSs

9

OFF
DR < DS {
\

DRvs.DS?

\t-_DR_'_D_s_ _ _ _ _ _ _--'f~

---""T'"D-R-=-D..J/

,..-_ _...L-_ _",\ yes
DR> DS?

Jt---....L---~

\-.. _ _..,..... _ _.1

MOVE LEFT HALF OF TIME
VECTOR TO RIGHT SIDE

6T=Ds-DR

TO ERROR ROUTINE FOR
STATEMENT PRINT

~

T

=0

;=

0

f----- RETURN

; > NE

BREAK UP TV; FOR TL
AND TR

~

I

TV; = TL

yes

I

I
109

M

= O?
nu

TL = TR?

\

no

TV; = TL +

~

T

I

~

CALENDAR ROUTINE
ENTRY I - SETUP
GI

STORE START YEAR AND
START DAY TYPES

INCREASE CKYEAR
AND YRTYP BY 1

SYRTYP = YRTYP
SDTlY = TYPDA Y

INlTlALlZE VECTOR
SUBSCRIPTS
YMDTS = I
ACCHS = I
NYEAR = I
ACCDYC = 0

HPICKUP
TRANSFER TO HCB FOR
BINARY HDAY,
HMONTH, AND HYEAR
OF NEXT HOLIDAY

ON

NYEAR = NYEAR + I
YRCON
YEAR CONTROL LOOP

no

yes

. . . - - - . RETURN

NWDY NYEAR ~ 0
NHY NYEAR - 0
HOLORGNYEAR ~ 0
NMONTH = I
LDCNT~O

yes

MONTH CONTROL LOOP

TYPDA Y = TYPDA Y -7

NMONTH

~

NMONTH + I

110

START DAY ALREADY REACHED

LDCNT = LDCNT + 1

LOSTDYS = -LDCNT

NWDY = 0
1
ACCDYC = 1
GATE 2 SET ON

yes

no

SET NDFLG ON

yes

yes

NWDYNYEAR =
NWDY NYEAR + 1

ADVANCE TYPDAY TO
NEXT DAY TYPE (CYCLIC)

YMDTS = YMDTS + 3

HOLORGNYEAR = ACCHS

ICHD
TRANSFER TO HCB FOR
BINARY HDAY, HMONTH,
AND HYEAR OF NEXT
HOLIDAY

NHY NYFAR = NHY YE.AR + 1
'------~HOLBINACCHS

= ACCDYC

ACCHS '" ACCHS + 1

111

NDAY = NDAY

~

1

CALENDAR ROUTINE (cont.)
ENTRY 2 - WORKING DAYS GIVEN
ENTRY 3 - EVENT DATE GIVEN

TURN
GATE 3
ON

TURN OFF
GATE 4

BCD

MOVE
DAY
}
tDAYG
MONTH TO .. MONTHG
YEAR
~YEARG

CLEAR
SUMERS
TND = LOSTDYS
ZWD = 0

BINARY -BINARY
INITIALIZE YEAR
TYPE AND DAY
TYPE.
YRTYP = SYRTYP
SDTCY = SDTlY

CONVERT
DAY
}
{DAYG
MONTH TO MONTHG
YEAR
YEARG
BCD -

NY = 0

Q

~

NY = NY + 1
ERROR

YEAR = SYEAR + NY -1

OFF

ON

,---------~----------'~y-e-s----------------~4---------------~ye-s~

112

BINARY

CALENDAR ROUTINE (cant.)

YEAR FOUND,
EDIT MONTHS
AND DAYS

YERFND

FHY = HOLORG

Ny

LHY= FHY + NHY NY-l

yes

no

DELDAY = 0

DELDAY = 1

TDLY = NWDY NY

TURN ON GATE 3

LDAYTYP = SDTCY + DELDAY

LDAYTYP = 1

LACCDM = TND + DELDA Y + 365
NMONTH = 12

ENTER REVERSE
MONTH EDIT LOOP

4,6,9,11
OTHER

DIM = 28
DELTA = -1

DIM = 29
DELTA=O

DIM = 31
DELTA=2

OFF

113

DIM = 30
DELTA = 1

CALENDAR ROUTINE {cont.}

AL

~
4

ERROR

'L

TDLY=Q ~
~
----....--",

IDLY = TDLY - WDM

no

r

no
} ...- ; - - - - - - - - - - - - . . . : . : : : : . . . . , TDLY>O?
EVENT OCCURS IN"
START MONTH?
yes

NY = 1?
yes

COMPUTE TOTAL WORKING DAYS
PRIOR TO CURRENT MONTH

OFF

)

1

r

GATE 4

\..

"""ON
J

no

__N_W_D_>_TD
......
LY_+_Z_W_D_?_,/)r---------....-----..:.:n:.0-l( NMONTH = MONTHG?

)

yes

yes

LACCDM = FACCDM-1

I = SDAY
TYPDA Y = TYSDA Y
LDAYTYP = LDAYTYP -(DELTA + 1)

CLDAYTYP>O?~~-i-es----

FACCDM =
FACCDM + 1-1

LOA YTYP
I,WD = 0

=

7 + LOA YTYP

L

NMONTH = NMONTH -1

MONTH = NMONTH
NHTEST = FHY

yes

r

,

no

G3 J+--;"'-.{, NMONTH > O? ~....- - _ ERROR 2

I = 1
TYPDAY = LOAYTYP-DELTA

l:WD = r'lD+TDLY

RETURN
TYPDAY

'>

,

O? ~...y - e - s - - . , . . . - - - - - - - - - . - 1 I IS CURRENT DAY
I
~NORMALDA,{ OFF?

no

~r------------'{

yes

NHTEST

~-

=

NHTEST + 1

ON ,_ _......lL-_",,"
.-------..(\...
GATE 4? )
TYPDA Y = 7 + TYPDA Y

d
ZWD

OFF

f----

--.J{

. . . (-+---_-I"\.
L....

~

no ,

I = DIM?

)

NWD = NWD -1

'yes

ERROR 3

.114

I+---i

J

= Z.WD?

REI" IL..-____ ~~s

I = 1+1

NWD

ZWD + 1

1 ~ l

'--_ _ _ _-r-_ _ _ _ _n.....(o(NWD

-

=

~~n

FACCDM = FACCDM , 1

ADVANCE TYPDAY
(CYCLIC)

r

IS CURRENT DAY A HOLIDAY? ")

DAY = I

(

I = DAY G?

_____
n--l0

ZWD-l

CALENDAR ROUTINE (cont.)

SUBTRACT
HOLIDAYS

no

CAL

4

115

DETAIL SCHEDULE SUBROUTINE
$DETAIL

~.
=0

K

I

•

=

K

K

)

I

-l

\

K+ 1

K

= K+

l
DONE

yes

K> NE

1

1no
SET AB
ON K

PICK UP M AND
NON K

1
BREAK UP M
AND N

BUILD DURATION
INTO LEFT HALF
T VECTOR ON K

1
= O?

yes

DURATION

= CD

r
PICK UP AND BREAK UP
LAST LATE F IN ISH TIME
ON NE

1

=0

1

DS
1

= NA

K

no

1

PICK UP TM AND
TN ON M AND N

1

yes

no

PICK UP AND BREAK UP
M AND N ON K

BREAK UP TM
ANDTN

= O?

K

1

1
..:,T

1

!

K >NA

N

LSCALC

=0

N

= TN-TM

~

yes

O?

K

= K-l

To

!

TLA TEM

PICK UP AND BREAK UP
DURCUR FROM LEFT HALF
OF T VECTOR ON K

PICK UP A AND
BON K

= TTEST

j

!

1

BREAK UP A
AND B

1

1

no

yes

B>AT
NOT CRASHED

CRASHED

CHECK SIGN OF
MN ON K?

-t

1

DURATION = B

TTEST

'? CONTINUOUS

NONCONTINUOUS

yes

PICK UP AND BREAK UP
LATE FINISH TIME FROM
AB VECTOR ON N (TLATE)

DURATION

= DT

= TLATEN

- DURCUR

I
PICK UP AND BREAK UP
TLATEM ON M

DURATION = A

116

no
TLA TEM / TTEST?

DETAIL SCHEDULE SUBROUTINE (cont.)

DS
2

FREE FLOAT = t>.T-B
DURATION

K

= BK

yes

BUILD TLATEX INTO
LEFT HALF T VECTOR
PICK UP AND BREAK UP
TM AND TN FROM T
VECTOR (LT) ON M
AND N

POSITIOt'~

TAPE AT

BEGINNING OF
UNSCHEDULED
ACTIVITY FILE

TO SCHEDULED ACTIVITY
HEADING SUBROUTINE

CONVERT FROM BCD
TO BINARY A, B,
ACOST, BCOST, K

DS
3

yes

MILESTONE
DUMMY
READ UNSCHEDULED
ACTIVITY RECORD FROM
UNIT 1 IN BCD

RETURN

117

DETAIL SCHEDULE SUBROUTINE (cont.)

PICK UP AND BREAK UP
EARLY START AND LATE
fiNISH fROM T VECTOR
ONM

ADD DURATION TO EARLY
START fOR EARLY fiNISH
~--------

ISUBTRACT DURATION FROM
LATE FINISH FOR LATE START

TOTAL FLOAT = LATE FINISH - EARLY START - DURATION

TOTAL FLOAT

__________________________

~no

~

= O?
yes
NOCRIT

SET CRITICAL INDICATOR
EQUAL BLANK

SET CRITICAL INDICATOR
EQUAL ASTERISK

I

A = B?

~

______________ I DURATION = B?

yes

yes

I

.--_ _ _ _
ye_s-4 DURATION = A? '-_n_o_ _ _ _ _ _...

COST = ACOST
K

COSTe (ACOST - BCOST)(B-DURATION)/(B-A)
+BCOST

STCST

TCOST" TCOST + COST
K
(DOUBLE-PRECISION)

·cb...
OS

"

118

DETAIL SCHEDULE SUBROUTINE {cont.}

(s)

Y

NXCAlD

x=

0

YEAR = SYEAR
MONTH = SMONTH
DAY = SDAY

x=

X+ 1

SET MONTH COUNTER
NMON TO BASIC UNITS
OF CURRENT EVENT ON X
yes

X) 4?

DS
5

YEAR = YEAR + 1

yes

SYEAR = O?

!
!+--

CLEAR CALENDAR DAY,
MONTH, YEAR OF
CURRENT EVENT ON X

BASIC UN IT
( TYPE

H_O_u_Rs~;1

1

CONVERT BASIC UNITS
IN HOURS TO WORKING
DAYS FOR CURRENT EVENT
ON X

1 DAYS

' ..M_O_N_T...;.H_S_ _ _ _ _-'
J

4

I~W~EE~K~S~_ _ _ _ _ _ _ _ _ _~

r -_ _ _ _ _ _ _ _ _ _ _ _

2

NMON = NMON - 12

yes

NMON) -I?

1

3

CONVERT BASIC UNITS
IN WEEKS TO WORKING
DAYS FOR CURRENT EVENT

STORE BASIC UNITS IN
DAYS FOR WORKING DAYS
FOR CURRENT EVENT ON
X

01'-1 X

I

T
TRANSFER TO CALENDAR
S SUBROUTINE - ENTRY 2
~ WITH NUMBER OF
R WORKING DAY FOR
DA TE OF CURRENT EVENT

MONTH = MONTH + NMON

STORE DAY, MONTH, YEAR
OF CURRENT EVENT IN
BINARY ON X

MONTH) 12?

yes

YEAR

=

YEAR + I

MONTH = MONTH - 12

119

DET AIL SCHEDULE SUBROUTINE (cont.)

yes

yes

CONVERT BCD
MILESTONE
DATE TO
BINARY. STORE
IN DAY,
MONTH,YEAR

yes

yes

SET FLAG =
BLANK

OUTPUT
yes

s
U

B

PRINT
SCHEDULED
ACTIVITY

DS
3

120

PROCESS NEXT
ACTIVITY

DETAIL SCHEDULE PRINT SUBROUTINE

$SRPINT

MOVE 1ST LINE OF
COLUMN HEADING
(INCLUDING CONTROL
CODE) TO OUTPUT
AREA

PRINT
INITIALIZATION
ENTRY

TRANSFER TO RLOUTSR

1

LINE COUNTER = 50
PAGE COUNTER = 1

ZERO LINE COUNTER

MOVE 2ND LINE OF
COLUMN HEADING (INCLUDE CONTROL CODE)
INTO OUTPUT AREA

INCREMENT PAGE COUNT
BY 1

TRANSFER TO RLOUTSR

!

RETURN

$SOUTSR

!

ACTIVITY PRINTOUT
ENTRY

~
(::)

TO
DPRTl

LINE COUNTER

> 22?
yes

TRANSFER TO RLOUTSR TO
OUTPUT DETAIL SCHEDULE
PAGE HEADING

SET SKIP TO TOP OF FORM
CODE INTO OUTPUT AREA

TOTAL COST
PRINT ENTRY

$TOTCPR

~
MOVE TOTAL COST OF
SCHEDULE HEADING TO
OUTPUT AREA

CONVERT PAGE COUNTER
TO BCD AND STORE IN
OUTPUT AREA
MOVE 'DETAIL SCHEDULE
REPORT' HEADING TO
OUTPUT AREA

~
yes

SNLF NEG?

'-----~

MOVE SCHEDULe
NUMBER AND
VALUE TO OUTPUT AREA

CONVERT DOUBLEPRECISION COST TO BCD
AND STORE IN OUTPUT
AREA

MOVE RUN ID NUtvA,BER
TO OUTPUT AREA

SET UPSPACE 3 LINE CODE
IN OUTPUT AREA
MOVE COMPL DATE,
DURATION, RUN ID AND
PAGE HEADINGS TO OUTPUT AREA

CONVERT TOTAL DURATION
TO BCD AND STORE IN
OUTPUT AREA

I
TRANSFER TO RLOUTSR
IS START DATE
GIVEN?

yes

i~T ~~~~~~~~~;O BLANK

BUILD AND SET UP START
DATE IN OUTPUT AREA

t-------------------------...J

121

RETURN _

EJECT TO TOP OF FORM

DETAIL SCHEDULE PRINT SUBROUTINE (cont.)

1
LOAD INDEX = (-2)
TO STORE LEFT I, J
AND DUP. CODE IN
OUTPUT AREA

MOVE MILESTONE FLAG
TO OUTPUT AREA

1
SET UPSPACE 2 LINE
CODE INTO OUTPUT
AREA

MOVE I, J, AND DUP.
CODE TO OUTPUT
AREA ON INDEX

1
RIGHT
TRANSFER TO RLOUTSR

1
MOVE COST AND
RESPONSIBILITY CODES
TO OUTPUT AREA

TEST FOR LEFT
OR RIGHT I,
J DUP. CODE
PASS

1

LEFT

MOVE M, N, K, AND
CRITICAL INDICATOR
TO OUTPUT AREA

1
MOVE ACTIVITY
DESCRIPTION TO
OUTPUT AREA

CONVERT DURATION
AND COST TO BCD
AND STORE IN OUTPUT
AREA

!
CONVERT THE BASIC
UNITS OF EARLY START
EARLY FINISH, LATE '
START, AND LATE
FINISH TO BCD AND
MOVE INTO OUTPUT
AREA

!
SET UPSPACE 2 LINE
CODE INTO OUTPUT
AREA

!

LOAD INDEX = (+22)
TO STORE RIGHT I,
J, AND DUP. CODE
IN OUTPUT AREA

SET UP MILESTONE
INDICATOR IN
OUTPUT AREA

SET UP CONTINUOUS
ACTIVITY INDICATOR
IN OUTPUT AREA

CONVERT TOTAL FLOAT
AND FREE FLOAT TO BCD
AND STORE IN OUTPUT
AREA

IS A CALEN-

\

CONVERT EARLY START
EARLY FINISH, LATE
START, AND LATE
FINISH DATES TO BCD
AND STORE IN OUTPUT
AREA

DARSTARTDATE\~y_e_s______________~
GIVEN?

TRANSFER TO RLOUTSR

!

RETURN

122

ERROR SUBROUTINE

CARD READ SUBROUTINE

$CRDSR
CONTINUE ENTRY
$CERROR

SET UP ERROR HALT

FORM COMMON MARK
POINT

ERROR 105
DELAY TILL BUFFER
READY

DELAY TILL BUFFER
READY
INITIALIZE WIM
INSTRUCTION TO
START OF INPUT
AREA

READY TYPEWRITER

READY TYPEWRITER

TYPE STOP XXXX

TYPE NOTE XXXX

NOP ERROR STOP

RETURN

TYPE
I = XXXX
J = XXX X
D = XXXX

123

PAPER TAPE READ SUBROUTINE

$PTRSR

T
DELAY TILL
BUFFER READY

1

PT
1

INCREASE WOR'?-

NEXT WORD =
ALL BLANK

....--=....;.,+...." COUNT BY 1.

CHECK FOR +.

SAVE INDEX

=f

'---.,.....-~

+

T

STORE WORD
ON INDEX

LOAD INDEX
=-51
L-_ _ _ _ _ _ _--'WORD FUL

1
START PAPER
TAPE, 1 CHARACTER READ

DISCONNECT

1_ ,("EDUCE CHARAC
SHIFT 6 BITS TO ....-_---1"/ lER COUNTER
LEFT AND MASK
AND CHECK FOR
L-_ _ _ _-J~
~EGATNE

1

j

I~----____________~r~~__________~

~-

INITIALIZE
CHARACTER
COUNT = 3

• RETURN
• RELOAD INDEX
• DISCONNECT

!

ERROR

CLEAR
CHARACTER
ACCUMULATOR

'\

= + INCREASE W O R : b

BUFFER ERRORf-GoNE
TEST?
PT
"'_ _ _ _- J
1

I

COUNT BY 1.
CHECK FOR +.

=f

+

,""

I

L-...:~

ADD BLANK TO
CHARACTER
ACCUMULATOR

t

BRING CHARACTER INTO
MEMORY

J
IS THIS CHARACTER A SPACE?

CRRTNTEST
no

yes

CARRIAGE
RETURN TEST

[yes
CHANGE TO
BLANK

SHIFT 6 BITS TO
LEFT AND MASK

I

ADDCHAR

STORE WORD
ON INDEX

t

r

FULL,
IGNORE

V:O:D

REDUCE CHARAC~
REGION
~_+~/iNCREASE WORD
ADD CHARACTER
TER COUNTER
NOT FULL
COUNT (INDEX)
TO ACCUMUJ---'---+i AND CHECK FOR I = BY 1.
LATOR
NEGATIVE
/1-;;:",,:----------------+\ CHECK FOR +.

r

'* -

124

1L-__

MAGNETIC TAPE WRITE SUBROUTINE
$MTWSR
CHECKSUM ENTRY

•

CSWRIND = +

$MTWSRNC
NO CHECKSUM ENTRY

•

SET UP WRITE, FILE PROTECT,
TAPE READY, ERASE REVERSE,
AND ERASE FORWARD
INSTRUCTIONS. SAVE INDEX.

CSWRIND =-

15T RETRY

...-----------------1

REDUCE AND
TEST RETRIES
INDICATOR

DELAY TILL TAPE READY
FOR TURN AROUND

2ND RETRY

1

COMPUTE LAST LOCATION
TO WRITE FROM + 1
LOAD INDEX WITH NEGATIVE OF WORD COUNT

DELAY TILL BUFFER READY

ERASE FORWARD TILL
WORD COUNT GOES +

1 INTO ERASE AND RETRY
INDICATOR

1

~______~J~L---------------------------_.
CHECK FOR FILE
PROTECT RING

NO RING

{~'-

ERASE FORWARD TILL
WORD COUNT GOES +

r

_ _ _ _ _ _ _ _ _ _ _ _E_R_RO_R_ 1 _ 1 5 - t . & > PRESS
START

RING ON

DELAY TILL BUFFER READY

LOAD INDEX WITH NEGATIVE OF WORD COUNT

1=

+

IINNCDREXEA~~

1.

=+

, - - - - -.....
, NO CHECKSUM

CHECK FOR +. I - - - - - - - + t \ .

SWRIND

J

CHECKSUM

1
DELAY TILL TAPE READY

LOAD INDEX WITH NEGATIVE OF WORD COUNT

ADD WORD TO CHECKSUM

WRITE CHECKSUM ON TAPE

1
DELAY TILL BUFFER READY

START TAPE IN MOTION

MEMORY TO BUFFER ON
INDEX

BUFFE: ERROR
TEST

1

ERROR
1--------------'

NO ERROR

t

CLEAR CHECKSUM

TERMINATE OUTPUT

125

I----~ LOAD INDEX AND RETURN

MAGNETIC TAPE READ SUBROUTINE
EI'ITRY FOR
LEFT HALF STORE

NO CHECKSUM
ENTRY

ENTRY FOR
NORMAL STORE

MTRSRNC

$MTRSR

$MTRSRI

r--------~~--------~ ~

T
CHECKSUM INDICATOR
=(-;

C'1ECKSUM INDICATOR
=

(-)

CHECKSUM INDICATOR
= (+)

MTERROR

TAPE READY
DELAY

DELAY TILL
BUFFER READY

'----,~r---.....J

t

1
SET UP COMMON
MARK LOCATION

SET UP NORMAL

r-----""'I READ DUMMY

I+-----------------J

ERROR 108

yes

HALT

rt' RECORD

~

TEST SHORT
RETRYS = 5 ) -

\~~!iV

1

~

SET UP LEFT
HALF SHIFT
DUMMY

I

COMPUTE LAST
LOCATION OF
INPUT AREA
PLUS 1

!

ADD WORD TO
CHECKSUM

_---~==n-°=1~~ . . ln r'\F REr"nQ\....._ _ _ _ _-,

r - _ -_ _ _. . .

,,"''''v-~

-

'-~"

l

'l yes

l-

ENDflLE = -1
STORE WORD

1

~

yes

!

CHECK fOR
9000 CODE?

INCREMENT
WORD COUNT
BY 1

•

EOF TEST! no
END-Of-FILE
fLAG IN 1ST
WORD?

1

yes
no

t

+yes

STORE CHECKSUM FROM BUFFER WHEN
READY

1

BUFFER READY
TEST

yes

1

CLEAR CHECKSUM
ACCUMULATOR

SET UP RETURN

WORD COUNT
~+?

STORE BUffER
WHEN READY

ENDFILE = a

BUFFER ERROR
TEST?

ERROR
yes

READ

1

!

no

INITIALIZE
LONG AND
SHORT RETRY TALLIES TO 5 AND 3

READ TAPE

MT
1
LOAD INDEX TO
NEGATIVE Of
NUMBER OF
WORDS

yes

SHIFT AND
MERGE WITH
OLD DATA

SET UP READ, TAPE
TEST, BACK-SPACE
AND fORWARD
SKIP INSTRUCnONS

1

no

LEFT HALF
STORE?

SAVE INDEX

1

BACKSP

BACKSPACE ON

TAPE READY
DELAY

SET ENDflLE INDICATOR ~ (-1)

CHECKSUM
TEST?

!

MATCH

ok

yes

IS SPECIFIED BUF-

J

t---....--_-i FER CHANNEL
READY?

J

):-

!L-

RELOAD INDEX
AND RETURN

no

okf

~-------I

NO
MATCH

126

REPLACE 12'5 BY
00 IN COMPUTED
CHECKSUM AND I+RECHECK

REPORT LINE OUT SUBROUTINE
$RLOUTSR

T
SAVE INDEX

SET UP TAPE UNIT NUMBEK
INCREMENT LINE COUNTER

RLMTW
TRANSFER TO MTWSRN
TO WRITE RECORD ON
MAGNETIC TAPE (NO
CHECKSUM)

IS ON-LINE
PRINT
REQUESTED?

no

yes

6

L£!!~ \

DELAY TILL PRINTER READY

ERROR 116

yes

4 TO PRINT ERROR
COUNTER

HAVE 5 WRITE
ATTEMPTS BEEN
MADE?

I-n_o_ _ _ _ _ _ _ _ _---t~

.--_ _ _ _
5 K_I_P-{( SK IP OR SPACE)J-S_P_A_C_E_ _ _---.

RETURN

SKIP PRINTER

i

UPSPACE PRI NTER

LOAD INDEX
ELCR
CLOUT

REMOVE CONTROL
CHARACTER

SET OUTPUT AREA
TO BLANKS

OK

DELAY TILL BUFFER READY

BUFFER ERROR
TEST?

LOAD INDEX

~-

ERROR

1ERivllNATE uulPul Af'HJ

- JJ

INCREASE LINE COUNT

MEMORY TO BUFFER TILL
INDEX GOES f

CONNECT PRINTER

127

BINARY TO BCD CALENDAR DATE CONVERSION SUBROUTINE

DECIMAL TO BINARY CONVERSION SUBROUTINE DOUBLE-PRECISION BINARY TO BCD CONVERSION SUBROUTINE

$BCDCALSR

. $BDD

1

$DIB

SAVE INDEX

SIMULATE 50S DECIMAL
TO BINARY SINGLEPRECISION, FIXEDPOINT PROGRAM
OPERATOR

!
LOAD INDEX WITH LOCATION OF CALENDAR DAY

1

RETURN
RETURN

MAGNETIC TAPE SETUP ROUTINE
PARAMETER CONTROL SUBROUTINE

PICK UP CALENDAR YEAR
ON INDEX AND CONVERT
TO BCD USING POP BID

l

TRANSFER TO DECIMAL
SCALE SUBROUTINE
DECSCSR TO SCALE, AND
BLANK LEADING ZEROS,
SIGN AND DECIMAL POINT

1
PICKUP CALENDAR DAY
ON INDEX AND CONVERT
TO BCD USING POP BID

$PARCON

T
S
U
B
R

TO SCAP3 TO READ
PARAMETERS FROM
MAGNETIC TAPE

I
j
5
U
B
R

TO SCAP2 FOR I/O
DEVICE SELECT
CODES

!

!

RGINDEV- CHINDEV

TRANSFER TO DECSCSR

!
J
PICK UP BCD MONTH
NAME FROM "MONTHSOF-THE-YEAR TABLE"
ON MONTH NUMBER
IN INDEX

I

PACK BCD DATE IN A AND
B REGISTERS AS FOLLOWS:
A

DEVICE CODE
S
ERROR RETURN
U
B
R

S
U
B
R

B

RELOAD INDEX

TO SCAP5 TO BRING
IN PARAMETER
CHANGES FROM
SELECTED DEVICE

!
TO SCAP6 TO
SEQUENCE
HOLIDAYS

1

IMIMIYIYII BIDIDIMI

1

5
U
B
R

TO SCAP26 TO
OUTPUT HEADING
AND PARAMETER
PAGE

l

!

SIMULATE SDS DOUBLEPRECISION BINARY-TODECIMAL, FIXED-POINT
CONVERSION PROGRAM
OPERATOR

$MTSEruP

1
DELAY TILL TAPE
UNIT 1 READY

1
REWIND TAPE
UNIT 1

1
DELAY TILL TAPE
UNIT 2 READY

1
REWIND TAPE
UNIT 2

1
DELAY TILL BUFFER W READY

1
DELA Y TILL TAPE
UNIT 2 READY

1
ERASE FORWARD
600 WORDS ON
TAPE UNIT 2

1
TERMINATE OUTPUT

REruRN

~

RETURN

RETUltN

128

I/O DEVICE SELECTION ROUTINE
$SCAP2

T

no

IS INPUT DEVICE CODE
LOADED WITH
PROGRAM DECK?

yes

PRTST

rlIS PRINTER
yes

CODE LOADED
WITH PROGRAM
DECK?
no

no

IS ENTERED
CODE C
OR P?

yes

DELAY TILL
BUFFER READY

TYPE "ON LINE
PRINTER" (y
OR N)

DELAY TILL
BUFFER READY

DEVINST
TYPE "ENTER
INPUT DEVICE
CODE" (C
OR P)

TERMINATE
OUTPUT

TERMINATE
OUTPUT

DELAY TILL
BUFFER READY

DELAY TILL
BUFFER READY

READ TYPED-IN
CODE Y OR N

READ TYPED-IN
CODE C OR P

ELIMINATE
EXTRANEOUS
CODE

1
1

!

1

ELIMINATE
EXTRANEOUS
CODE

DISCONNECT
BUFFER W

1
DISCONNECT
BUFFER W

1
yes

RETURN

129

IS ENTERED
CODE
'Y OR N'?

no

PARAMETER INPUT ROUTINE
$SCAP3

$ SCA P5

T

T
SET BRANCH A3
= 0 (CHANGE
INPUT)

CLEAR PARAMETER REGION

INITIALIZE INSTRUCTION
FOR STORAGE OF 1ST HOLIDAY IN COMMON REGION

SET BRANCH A = 1

I

DSRP
INITIALIZE INSTRUCTION
ONLY
.------1 FOR STORAGE OF 1ST
HOLIDAY IN COMMON
REGION

PARIN
E

TEST SELECTED
CHANGE INPUT
DEVICE?
CARDS

SSP ONLY
PAPER
TAPE
....-------'l~----4{CHECK INPUT DEVICE

r

,_---..L.----

PARIN
E

PAPER
TAPE

I

OTHER
BACK TO
_ _ _ _ _ _ _..... START OF
PARCON

~

CARDS

TYPE~J------------..!

RESELECT
DEVICE

~--------~-l~~~
READ ENTIRE 570-WORD
PARAMETER RECORD INTO
PARAMETER REGION

BRANCH B3 = 0

RETURN

.--------.1 TO PAPER TAPE READ ROUTINE FOR INPUT RECORD

BRANCH B3

=1

TO CARD READ ROUTINE L-FOR INPUT RECORD
~--------~

ERROR
SET INDEX = -20

1

(6,7,9 ""0 9)

(1)
RUN
HEADING

MOVE HEADING DATE
FROM INPUT AREA TO
PARAMETER AREA

~~~AMETERS

A{

~YPEIN~;~;::' jr------:~-)~_A_M_E_T_ER_S

TES1T

MOVE RUN PARAMETER
DATA FROM INPUT AREA
TO PARAMETER AREA

(8) SSP ONL Y

(5)

(8) DURATION
SElECT

..B

PARIN
A

MOVE RUN PARAMETER
DATA FROM INPUT AREA
TO PARAMETER AREA

OK DSRP ONLY
PARIN
B

DSRP

(5)ACTIVITY
OK SSP
ONLY

PARIN
C

I

I

PAPER TAPE, B3

0

"' BRANCH B3=1. CARDS
\. BRANCH B3? I)---......:..~:.....:.:...:....:.::....:.....------------------_....J

G
130

Y

PARAMETER INPUT ROUTINE (conL)

HOLIN

TRANSFER TO HOLIDAY
STORE ROUNTINE - YEAR

SET HOLIDAY TYPE CODE=3

1

H
no

CHECK/IS
1ST OR 2ND
~y;,...e_s_ _...... ERROR 102
CHARACTER OF
YEAR BLANK?
j

RELOAD BSAVH

SHIFT LEFT 6 BITS FOR
EACH UNIT OF YEAR
COUNT

STORE BSAVH IN ASAVH

LOAD
A REG = ORG. WD
B REG = ORG. (WD + 1)

LOAD INDEX WITH -50

T
INITIALIZE SHIFT COUNTER
FOR 4 CHARACTERS (= -3)

1
PICK UP NEXT WORD FROM
INPUT AREA ON INDEX
(B REGISTER)

YEAR SHIFT COUNT = 3 SHIFT COUNT

I

1
SHIFT NEXT CHARACTER
INTO A REGISTER FOR
PROCESSING

DIGIT OR
BLANK /

\.

TRANSFER TO HOLIDAY
STORAGE ROUTINE-MONTH

1

MOVE IN 3RD MONTH
CHARACTER

CHECK 3RD r E R
CHARACTER

HOLIDAY STORE
ROUTINE

BLANK
REDUCE AND
TEST SHIFT
COUNTER

yes .--

ANY SHIFTS
LEFT?

STORE A REGISTER IN
CURRENT HOLIDAY
LOCATION

i

PICK UP NEXT WORD
(B REGISTER)

t

!

"~ DIGIT OR

ALL CHARACTERS
NOT PROCESSED

SET ASAVE = B REGISTER

CHECK
)
CHARACTER
10THER

(

,.---

I-n
....o_ _ _ _ _ _ _ _ _ _----I

DONE

GET NEXT WORD

INCREASE AND
TEST WORD
COUNTER
(INDEX)

1

0)

1

TRANSFER TO HOLIDAY
STORAGE ROUTINE - DAY
(BACK SHIFT 1)

CURRENT LOCATION =
CURRENT LOCATION +1

C

1

AREA
OVERFLOW?

I

yes

OK
no

(
RETURN

ERROR 110

131

CHECK 2ND '}...!B:!:LA::.:.::N~K_ _ _ _ _ ERROR 102
CHARACTER J
j

PARAMETER INPUT ROUTINE (cont.)

"'---1

MOVE ACTIVITY
CHANGE DATA
TO ACTIVITY
CHANGE SAVE
REGION

yes

RETURN

MOVE ACTIVITY
DAT A TO REGULAR ACTIVITY
SAVE REGION

TRANSFER TO
CERROR TO
TYPE NOTE 110

SET 3 WORDS
OF NEXT
HOLIDAY TO
ZERO

RETURN

132

HOLIDAY SORT SUBROUTINE

$SCAP6

no

INITIALIZE HOLIDAY
MONTH LOCATION

REMOVE BINARY MONTH
NUMBERS FROM ALL
HOLIDAY MONTHS.
LOAD INDEX

=0

RETURN
EXCHANGE OUT OF
SEQUENCE HOLIDAY
DAY, MONTH, AND
YEAR WITH PREVIOUS
HOLIDAY DAY,
MONTH AND YEAR

NO HOLIDAYS

STORE MONTH NUMBER
IN 1ST CHARACTER OF
BCD MONTH

RETURN

HOLIDAYS

INTITIALIZE 1ST HOLIDAY
DAY LOCATION INTO INDEX

~-----------------4 INCREASE MONTH LOCATION BY 3

SEQUENCE CHECK

INCREASE INDEX
BY 3

ERROR 112

133

RUN HEADING AND PARAMETER PRINT SUBROUTINE

SSCAP26

T
SET OUTPUT AREA TO ALL
BLANKS

SET UPSPACE 2 LINE CODE INTO OUTPUT AREA

TRANSFER TO RLOUTSR

!
SET SKIP TO TOP OF FORM
CODE INTO OUTPUT AREA

MOVE RUN ID TITLE TO OUTPUT AREA

SET UP UNITS TYPE IN OUTPUT AREA

l
MOVE DETAIL SCHEDULE
REPORT HEADING TO
OUTPUT AREA

MOVE RUN ID NUMBER
TO OUTPUT AREA

SET UP START DATE IN OUTPUT AREA

TRANSFER TO RLOUTSR

SET UP WORK HOURS/DAY
IN OUTPUT AREA

MOVE 1ST LINE OF COLUMN
HEADING INTO OUTPUT AREA

SET UP NORMAL WORK DAYS
IN OUTPUT AREA

SET UPSPACE 5 LINE CODE IN
OUTPUT AREA (045606060)

SET UP SCHEDULE OPTION
CODE, MAJOR ACTIVITY
OPTION CODE, AND SCHEDULE SPECTRUM OPTION CODE
IN OUTPUT AREA

TRANSFER TO RLOUTSR

SET UPSPACE 2 LINE CODE
IN OUTPUT AREA

!
TRANSFER TO RECORD LINE
PRINT SUBROUTINE (RLOUTSR)

1
SET UPSPACE 2 LINE CODE IN
OUTPUT AREA (042606060)

1
MOVE 1ST HEADING CARD IMAGE INTO OUTPUT AREA

!
BLANK OUT CARD TYPE

1
TRANSFER TO RLOUTSR

MOVE 2ND LINE OF COLUMN
HEADING INTO OUTPUT AREA

1
MOVE TYPE 4 PARAMETER
CARD IMAGE INTO OUTPUT
AREA

SET UPSPACE 1 LINE CODE IN
OUTPUT AREA (041606060)

!
BLANK OUT CARD TYPE

0
RUNPl

134

TRANSFER TO RLOUTSR

RUN HEADING AND PARAMETER PRINT SUBROUTINE (cont.)

RUNP3

MOVE "HOLIDAY CALENDAR DATES" HEADING TO
OUTPUT AREA

SET UPSPACE 4 LINES CODE
IN OUTPUT AREA

SET UPSPACE 2 LINE CODE
IN OUTPUT AREA

TRANSFER TO RLOUTSR

INITIALIZE PICKUP INSTRUCTIONS FOR OUTPUT
OF CALENDAR DATES OF
HOLIDAYS

TRANSFER TO RLOUTSR

= +

t

SET UPSPACE 3 LINE CODE
IN OUTPUT AREA

LINE NOT DONE

TEST FOR LAST
HOLIDAY

1-----------------------+4 BUILD

HOLIDAY DATE AND
STORE IN OUTPUT AREA

DONE

TRANSFE~

LINE DONE

ADVANCE INDEX
BY 2 AND CHECK
FOR PLUS

INCREASE HOLIDAY PICKUP INSTRUCTIONS BY 3

LOAD INDEX WITH NEGATIVE OF NUMBER OF
HOLIDAYS PER LINE (-22)

(

+

lU !(LUUi'K

TO PRINT LAST HOLIDAY
LINE

1

Rt iURr'l

135

SEGMENT 2 LOAD SUBROUTINE

s
U TO T2DLA Y FOR BUFFER W
B AND TAPE 2 DELAY.
R

s
U
B
R

TO T2DLAY

s
U TO MTRSR TO BRING IN
B SEGMENT 2 FROM TAPE 2.
R

FIRST RUN REQUEST SUBROUTINE (F.D. F05)

SEGMENT 1 SETUP SUBROUTINE (F. D. F07)

215 ERROR

COMPUTE MAXIMUM WORKING
SPACE AVAILABLE (STASGI).

COMPUTE MAXIMUM LENGTH
OF ABBREVIATED ACT. RECORD.
MAXLAAR ~ ST~SGI

136

SEGMENT 1 CONTROl

AT END OF
SEGMENT 1

U

B
R

BRING IN SEGMENT 2.

$SEG1CON

r- - - - - - - - - - - - -

-

~S::,~O~) S
U
B

-

_,

TO SCAP2 TO REQUEST I/O
lJEVICE SELECT CODE.

R

S
U
B
R

TO SEGI SU TO SET UP
SEGMENT 1.

POSITION TAPE 2 AFTER 1ST RECORD
(SEGMENT 2).

1
S
U
B
R

TO FRSTRUN TO REQUEST
IF THIS IS FIRST PROGRESS
RUN.
yes~

S
U
B
R

S

U
B

TO SG2LOAD TO LOAD
SEGMENT 2.

R

TO INT A PE TO PREPARE
INITIAL PEP TAPE FROM
DSRP OUTPUT TAPE.

L

+
S
U
B
R

POSITION TAPE 2 TO BRING IN
SEGMENT 2.

TO PAHSR FOR PARAMETER
AN D HOLIDAY SETUP.

~
S
U
B
R

TO TO PSEQ TO PERFORM
TOPOLOGICAL SORT.

TO INABBF TO SET UP INITIAL
ABBREVIATED ACT. FILE.

~
S
U
B
R

137

TO NETCHN FOR NETWORK
CHANGES.

-

no

INITIAL INPUT TAPE PREPARATION SUBROUTINE

SKIP 1 ST FOUR AND READ
5TH RECORD FROM TAPE 1
(DSP OUTPUT TAPE)

IS 3RD WORD (1A2) : 'UNIT'?
yes

READ 1ST RECORD OF
PARAMETERS INTO INPUT
AREA (STARTING AT lAO)

CLEAR PARAMETER REGION
AND SET 1 CODE

MOVE FOLLOWING PARAMETERS
FROM INPUT AREA TO PARAMETER
REG'Ot~:

•
•
•
•

UNITS
START DAY, MONTH, YEAR
NUMBER OF WORK DAYS
NON-WORK DAYS

S
U TRANSFER TO DA TBRK FOR
B 3-WORD HOL.

EJECT

READ HOLIDAY RECORD
INTO lAO.
5
U
B
R

138

TRANSFER TO REQSCH
TO REQUEST SELECTED
SCHEDULE END DATE
OR NUMBER.

INITIAL INPUT TAPE PREPARATION (Cont.)

REQUESTED SCHEDULE FOUND

SCHFOUND
SKIP NEXT 2 RECORDS FROM TAPE 1

BLAN K OUTPUT AREA

S
U

B

READ 1ST LINE OF ACT. DATA
FRO'v\ TAPE 1

TRANSFER TO DATBRK FOR
3 PARTS OF CURRENT
SCHEDULE END DATE.

MATCH

S
U

TRANSFER TO RDBCDR FOR
NEXT RECORD FROM TAPE 1.

CHECK ENDFILE INDICATOR.

TEST FOR WORD COST IN IA22
yes

U
B
R

CONVERT THE FOLLOWING
PARAMETERS TO NEW ACT.
TAPE FORMAT AND STORE
IN OUTPUT AREA:
• IBCD, JBCD, IJDUP
• SCHDUR
• SCHSDAY, SCHSMON, SCHSYER
• SCHFDAY, SCHFMON, SCHFYER
• MAJAIN
• COST
• SET PERCENT COMPLETEe 0

5
U

TRANSFER TO ACTOUT2 TO
WRITE ACT. RECORD ON
TAPE 2.

TRANSFER TO RDBCDR FOR I ~I
RECORD OF NEXT SCHEDULE.
MOVE COST CODE, RESP. CODE,
AND ACT. DESCRIPTION INTO
OUTPUT AREA.

CHECK END FILE INDICATOR
OFF
NOT
EJECT
CODE

EJECT
CODE
FOUND

139

INITIAL INPUT TAPE PREPARATION (Cont.)

SCHDONE
S
U

B

S
U
B

S
U
B

TRANSFER TO ACTOUT2 TO
WRITE 9 CODE RECORD ON
TAPE 2.

TRANSFER TO SA'vETl 10
REQUEST SAVE TAPE 1,
HLT AND CONTINUE

SKIP FORWARD I BINARY RECORD
ON TAPE 2.

REWIND TAPES I AND 2.

WRITE 9 CODE RECORD ON TAPE I.
TRANSFER TO SETT] FOR TAPE 1
SETUP AND TAPE 2 REWIND

9 CODE

9 CODE CHECK

NOT 9 CODE

SKIP FORWARD] RECORD BINARY.

S

READ ACT. RECORD FROM TAPE 2

B

R

READ PARAMETER FILE FROM 2.

WRITE PARAMETER FILE ON TAPE 1.

U

DELAY TAPE 2

140

TRANSFER TO ACTOlJTl TO
WRITE ACT. RECORD ON
TAPE 1.

INITIAL ABBREVIATED ACTIVITY FilE SUBROUTINE

$INAB8F

S
U
B
R

READ ACT. RECORD
FROM TAPE J

NETWORK CHANGE ROUTINE

$NETCHN

I
o

~AD ~ffR

TAff RECORD INTO 1M.

PAPER TAPE

1 CARDS

CHECK BRANCHB3 FOR CARDS
OR PAPER TAPE.

t
~~~~~~~~~~~~~~~~~~~~~~~~~~R_EA_D~C_A_R_D~IN_T_O~IA_J_.~~~

----~r__---- NON-

NETWORK CARD

NETWORK
CHANGE CARD
BREAK UP INPUT 1'5, J'S, DUP'S.

D-DELETE

STORE I, J, DUP IN ABBREVIATED
ACT. RECORD ON CURACT.

SEARCH I, J, DUP MATCH FOR
KMAT.

STORE NEW I, J, DUP ON KMAT.
SET CHANGE FLAG ON.

141

SEARCH I, J, DUP MATCH FOR
KMAT.

NETWORK CHANGE (Cont.)

9 CODE CHECK

yes

BLANK OUTAREA,
MOVE I, J, DUP ON CURACT.
SET K = CURACT.

yes
yes
CHECK FOR ZERO I ON CURACT.

CURACT = CURACT+l

MOVE NEW I, J, DUP INTO OUTAREA.

I S DELETE
FLAG ON?
yes

WRITE 9 CODE
RECORD ON TAPE.

CURACT

=

CURACT+l

142

PARAMETER AND HOLIDAY SUBROUTINE (PEP only)
$PAHSR

s
u

S

MAG. TAPE READ

U

READ PARAMETER FILE INTO PARAMETER REGION.

READ PARAMETER
CHANGE RECORD
FROM PAPfR TAPE.

II

B

RUD PARAMETER
CHAt'-lGE FROM
CARDS.

SET UP EFFECTIVE DATE:
EFFDAY
EFFMON
EFFYER

TEST FOR ANY
HOIIDI \

RfCORl!P~!~~

P,L,IU,Ml Tl R
C ,\RD ,LP,ST

OF SeTl
A

HOLIDAY CHANGES

TOPOLOGICAL SEQUENCING CONTROL PROGRAM

UNSORTED ACTIVITY NUMBER ASSIGNMENT SUBROUTINE

STOPSEQ

~
SET UP ABBREVIATED ACT. RECORD
ADDRESSES.

~
COMPUTE Nl..MBER OF RECORDS IN
INPUT STRING:
STRING= SPACE AVAILABLE
(2 + NO. WDSjREC.)
ROUND DOWN.

!
SET UP ADDRESSES FOR SELECT
VECTOR, SEQUENCE VECTOR AND
THREDIN VECTOR.

~

(FI6)

STORE UNSORTED ACT. NUMBER
IN LEFT 12 BITS OF 1 ST WORD OF
ABBREVIATED ACT. RECORD A.
(RIGHT 12 BITS UNCHANGED.)

S
TO SCAPI3P7 TO STORE UNSORTED
U ACT. NUMBER IN ABBREVIATED ACT.
B RECORD.
R

1

(FI7)

S
U TO SCAP13P8 TO SORT ABBREVIATED
B ACT. RECORD ON I, J, D.
R

~
S
U
B
R

TO SCAPI4 FOR TOPOLOGICAL
THREAD CREATION.

~
S
U
B
R

8

(FI9)

TO SCAPIS FOR ASSIGNMENT OF
M AND N INTERNAL NODE
NUMBERS

~
S
U
B
R

(FIS)

(F20)

TO SCAP20 TO PERFORM MAG.
TAPE TOPOLOGICAL SORT.

~

144

TOPOLOGICAL SORT SUBROUTINE

NXTRM
yes

TURN ON TERMINAL THREAD
FLAG IN ACT. G (SIGN BIT OF J )·
G

SANG = H
(SET SAN OF END OF
CURRENT THREAD =
START OF PREVIOUS THREAD).

SET END OF ABBREVIATED
ACT. RECORD FLAGS:
IX = 377777778

J

X

= 377777778

SET ACT. NUMBER H = 0
(START OF PREVIOUS THREAD)
SET ACT. NUMBER F = 1
(START OF CURRENT THREAD)

SET SUCCEEDING ACT.
OF ACT. A= A+l.
(SANA = A+ 1 ).
SETEND
SET ACT. NUMB~R C = F
(THREAD EXAMINATION NUMBER).

SANA = 77778 (END THREAD FLAG)

145

TOPOLOGICAL SORT (Cant. )

SET IE NEGATIVE SO CAN
RECOGNIZE ON TYPE-OUT
AS BEING REACHED TWICE
IN THREAD.

ERROR 205 TYPE-OUT AND CONTINUE.
yes

TYPlP

SET LOOP TYPE-OUT COUNTER = 20

TSTERM
TEST TERMINAL THREAD FLAG
STORED IN SIGN BIT OF J

a.

OFF

CONER
ON
t--D-O-N-O-T-US-E--'

SAND

ACTIVITY B

= SANE

(CLOSE THREAD TO
SKI P ALL ACTIVITIES
WITH I = I OF THE
ACTIVITY TO BE
MOVED TO END OF
THREAD)

SANB I O? (IS ACT. B ALREADY
IN CURRENT THREAD?)

nO

COUNTER> TOTAL
NUMBER OF ACTIVITIES?

INCREASE LOOP DETECTION COUNTER
BY 1.

A ~ B?
(IS ACT. B ALREADY LAST ITEM
IN CURRENT THREAD?)

"Y,-e_s-+---+l

yes

SANA = B
(PUT ACT. B AT END OF THREAD)

SET THREAD CLOSE-UP
INDEX (D) ~ START OF
CURRENT THREAD INDEX (F).

yes
SAND

= C?

(IS ACT. C IN THREAD
AHEAD OF ACT. B?)

CLTSTI
SET SAME I THREAD
CLOSE-UP INDEX (E) = B

146

M AND N ASSIGNMENT SUBROUTINE

$SCAP18

STORE X IN RIGHT 12 BITS OF IE'

yes

INITIALIZE A INDEX = NUMBER OF
1ST ACTIVITY IN TOPOLOGICAL
SEQUENCE.

NXIM
SET FOUND J INDICATOR = -1
FOR NO J = CURRENT I

(END NODE)

LKNGJ
yes

J NEGATIVE?
E
(TERMINAL THREAD FLAG
STILL ON FROM SCAP 14?)

SET E INDEX (FOR SEARCH
FOR END NODES) = 1

SET Q INDEX (NUMBER OF 1ST
ACTIVITY WITH CURRENT I) = A

NXTI
A = SANp (SUCCEEDING ACT.

EQUIM

NUMBER OF CURRENT ITEM
IN THREAD).

STORE X IN LEFT 12 BITS OF I .
A

yes

STORE X IN RI GHT 12 BITS
OF ID (LEFT 12 BITS UNCHANGED).

INCREASE FOUND J INDICATOR BY 1.

147

M AND N ASSIGNMENT (Cont.)

SET G INDEX = ACT. H
(NUMBER OF 1ST ACTIVITY
IN THREAD) FOR MOVE
FROM I AREA.

148

TAPE SORT SUBROUTINE

SET 1ST K OF CURRENT
SET OF IN PUT (L PK) = I.
no

SET TOPOLOGICAL SEQUENCE
ACT. NLMBER, (K) = I.

SET NEXT ACT. NLMBER (AA)
"' ORIGINAL ACT. NLMBER OF
ORIGIN OF TOPOLOGICAL
THREAD.

OAN

= m7S
CSX
PREVENTS BEIN G SELECTED
AGAIN AS SMALLEST ACT.
NUMBER

MOVESEQ

DELAY TILL TAPE 2 READY.
OANC = OAN

CSX

TANC = TAN
CSX
(MOVE SMALLEST ACT. NUMBER
TO SEQUENCED AREA.)

REWIND TAPE 2.

yes

SET SELECTED ACT. STORAGE
INDEX, (B) = 1 FOR MOVE TO
SELECTED AREA.

CSA = OAN
B
(NEW SMALLEST ACT. NUMBER.)

SET LEFT 12 BITS OF WORD B

= UNSORTED ACT. NUMBER
OF ACT. AA, (UAN

AA

(NEW SMALLEST
FOUND)

).

yes

SET RIGHT 12 BITS OF WORD B
= K (TOPOLOGICALLY SEQUENCED
ACT. NUMBER, (TAN)).
SET CURRENT SMALLEST ACT.
NUMBER (CSA) = 377mn S'
SET AA = SUCCEEDING ACT.
NLMBER OF ACT. AA, (SANAA)'

SET SELECTED ACT. STORAGE INDEX b
MOVE FROM SEQUENCED
AREA TO SELECTED AREA.

= 1 FOR

B= LIMIT?
\ SELECTED ACT.
STORAGE AREA FILLED?)

SET SEQUENCED ACT. STORAGE
INDEX C = 1 FOR MOVE TO
SEQUENCED AREA.

yes

149

TAPE SORT (Cont.)

INCREASE I ST LOCATION OF
TAPE BY NUMBER Of
WORDSjRECORD
SKIPSEG
SKIP PAST PROGRAM SEGMENT
RECORDS ON TAPE 2.

WRTHR
WRITE ACT. RECORD ON TAPE I
(NOW SEQUENCED TOPOLOGICALLY).

INITIALIZE 1ST LOCATION FROM
WHICH TO WRITE RECORD =
ORIGIN OF TAPE RECORD AREA.

INITIATE UNIT 2 REWIND (INPUT).

LPK (LAST K OF PREVIOUS SET OF
INPUT) = LPK + MAX. NUMBER OF
RECORDS THAT CAN BE IN ONE
SORTED STRING.

RWINPUT
DELAY TILL UNIT 2 READY.
ACT. NUMBER TAN = 77778?
(END FLAG?)
no

MOVE END ACT. RECORD TYPE
CODE (6000) TO I ST WORD OF
ACT. RECORD AREA.

CALCULATE I ST LOCATION D FOR
INPUT OF ACT. RECORD C FROM
TAPE = (TOP-LPK) x (WDjREC)
+ ORIGIN OF TAPE INPUT AREA

WRITE END ACT. RECORD ON
TAPE 1.

SET UP INSTRUCTIONS FOR TESTS
OF TAPE RECORD NUMBERS FROM
INPUT.

CONVERT ORIGINAL ACT.
NUMBER OANC TO BCD AND
SAVE FOR COMPARISON.

CONVERT MOAN' NOAN, KOAN
TO BCD AND STORE IN CURRENT
TAPE RECORD.
ERASE 600 WORDS ON TME 1
(ALLOWS RE-READ AND CONTINUE
WRITE).

RDTPTH
READ NEXT I\CT. RECORD FROM
TAPE UNIT 2 STARliNG AT
LOCATION D IN TOPOLOGICAL
TAPE INPUT AREA.

SKETP
yes

RECORD NUMBER OANC =
RECORD NUMBER FROM TAPE,'
SKIP PARAMETERS ON TAPE 2
(PEP ONLY,.

REWIND TAPE 2 AND SKIP
PROGRAM SEGMENTS.

150

SCHEDULE REQUEST SUBROUTINE

$REQSCH

r-----------------+I

TYPE-OUT MESSAGE: ENTER SELECTED ....._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _--,
SCHEDULE END DATE ON NLMBER

REO

REQ
READ IN 1 CHARACTER FROM
TYPEWRITER

DELAY 60 MSEC.

DELAY 60 MSEC.

yes

WIMS
READ IN 1 CHARACTER FROM
TYPEWRITER

READ IN 1 CHARACTER FROM
TYPEWRITER
yes

no (digit)

NOFD
CLEAR SELCTY (SCHEDULE
NLMBER ACCUMULATOR).

MOVE CHARACTER INTO RIGHT
SIDE OF SELCTY.

1*
READ IN 1 CHARACTER FROM
TYPEWRITER.

IN YEAR CHARACTERS.
CHECK FOR *.

1*
READ IN 1 CHARACTER TILL
CARRIAGE RETURN.

151

SEGM.ENT I DATA ROUTINE

DATE COMPARISON SUBROUTINE
$DATCOIv\

BRANCH TO
$SEGICON

THIS ROUTINE COMPARES A DATE STORED IN
DURI, DUR2, AND DUR3 WITH A CHECK DATE
STORED IN CKDURI, CKDUR2, CKDUR3.
NOTE:
IF THE DATE IN THE DUR LOCATIONS OCCURS
AFTER THE DATE IN THE CKDUR REGION, THE
ROUTINE FORWARDS TO ENTRY+2; OTHERWISE,
IT FORWARDS TO ENTRY+1.

THIS ROUTINE CONTAINS THE TRANSFER ADDRESS FOR ENTERING
THE PROGRESS EVALUA nON PRO GRAM. IT IS ENTERED BY THE
UNIVERSAL LOADER.
ALSO CONTAINED IN THIS ROUTINE ARE EQUIVALENCE INSTRUCTIONS DEFINING THE ARRANGEMENT OF THE PARAMETER REGION
DURING SEGMENT 1.

UTILITY PACKAGE

MTWSR

S
U

B

WRITE ACTIVITY STATUS RECORD
ON TAPE 2 (BCD) FROM OUTPUT
AREA.

ENTERS WITH DATE IN COMPACT
FORM IN A AND B REGISTERS

e£.~
A REG

---

MMYY

S
U
B
R

MTWSR
WRITE ACTIVITY STATUS RECORD
ON TAPE 1 (BCD) FROM OUTPUT
AREA

CONVERT BCD 4-DIGIT NUMBER IN
A REGISTER TO BINARY.
PLACE RESULT IN A REGISTER.

TYPE MESSAGE: REPLACE TAPE 1
IF TAPE SAVE REQUIRED.

$SETTl

B REG

BREAKS DATE UP AS FOLLOWS:
BBDD IN DURI AND A REGISTER.
BMMM IN DUR2 AND B REGISTER.
BBYY IN DUR3.

ERASE 1 SO WORDS ON TAPE I.

REMOVE BIT ZERO OF A REG.

MERGE RIGHTMOST 11 BITS OF
A REGISTER INTO BITS 1-11 OF
B REGISTER.
MOVE B REGISTER TO A REGISTER.

BREAK WORD IN A REGISTER INTO
2 PARTS:
BITS 0-11 TO A REGISTER (RIGHT
JUSTIFY)
BITS 12-23 TO B REGISTER (RIGHT
JUSTIFY)

MERGE RIGHTMOST 12 BITS OF
A REGISTER INTO BITS 0-11 OF
B REGISTER.
MOVE B REGISTER TO A REGISTER.

T2DLA{
DELAY TILL BUFFER W AND TAPE I
READY.
•

DELAY TILL bUFFER W AND TAPE 2
READY

152

SEGMENT 2 CONTROL

BLANKS TO ZERO SUBROUTINE

SSEG2CON
-l--

BlTOZ

CHANGE All BLANK CHARACTERS
IN A REGISTER TO ZERO.

S
U
B
R

TO ACTCHN TO CHANGE
ACTIVITY DATA.

!
S
U
B
R

TO SEG2SU TO SET UP
SEGMENT 2.

S
U
B
R

POSITION TAPE I AT
BEGINNING OF ACTIVITY
FilE.

!
READ BCD RECORD SUBROUTINE

U
B

R

READ I BCD OUTPUT RECORD
WITHOUT CHECKSUM INTO
INPUT AREA.

$DECSCSR

ENTRY WITH BINARY NLtvlBER AT A BINARY
MAGNITUDE OF 23.
NUMBER MUST BE POSITIVE AND lESS
THAN 999999.
EXITS WITH A 6-BCD CHARACTER NLMBER.
FIRST 2 DIGITS ARE IN POSITIONS 3 AND 4
OF B REGISTER, AND LAST 4 CHARACTERS
ARE IN A REGISTER.

i

MTRSRNC

S

BINARY TO DECIMAL INTEGER CONVERSION SUBROUTINE

S
U
B
R

TO FRPERT FOR ESTIMATED
EARLY STARTS.

!
S
U
B
R

TO RVPERT FOR ESTIMATED
lATE FINISHES.

S
U
B
R

POSITION TAPES I AND 2
AT BEGINNING OF ACT.
FilE.

ERASE SUBROUTINE
$ERASE 1

~

!
SEGMENT 2 TAPE PREP.
SG2TOTP

S
U

B

R

TO MTSETUP TO PREPARE
TAPE 2 FOR WRITE AND
TO REWIND TAPE I.

S
U
B
R

TO SEVAl TO EVALUATE
SCHEDULE STATUS.

i
S
U
B
R

5

U
B
R

TO SETTI TO REWIND TAPE 2
AND TO PREPARE TAPE I FOR
WRITE.

+
TO PRINCO TO PRINT
SCHEDULE EVALUATION
REPORT.

j
S
U
B
R

TO ENDSRP END OF PROGRAM

153

$ERASE 2

ACTIVITY CHANGE ROUTINE

TO SETTI FOR REWIND I AND 2
AND PREPARE I FOR WRITE.

TO MTSETUP FOR REWIND I AND
2 AND PREPARE 2 FOR WRITE.

SETUP INPUT TAPE READ
OUTPUT TAPE WRITE
INPUT TAPE DELAY
OUTPUT TAPE DelAY
INSTRUCTIONS ON INDEX

READ PARAMETERS FROM IN TAPE
AND WRITE ON OUT TAPE.

MOVE CARD TO CARDST AREA.

PASS = 0

CHECK FOR G TYPE CARD

154

yes

ACTIVITY CHANGE (Cant.)

READ NEXT ACTIVITY RECORD
FROM IN TAPE INTO OUTAREA.

155

POST CHANGE SUBROUTlN~

SPOST

MOVE RESPONSIBLE CODE TO
OUTAREA.
no

IS RESPONSIBLE CODE BLANK?

yes

TYPE COMMENT: ACTUAL START>
EFFECTIVE DATE.
MOVE COST CODE TO OUTAREA.

>

IS ACTUAL START
EFFECTIVE DATE?

NEXT
CARD

IS ACTUAL START DATE BLANK?

MOVE ACTIVITY DESCRIPTION
TO OUTAREA.

MOVE SCHD DURATION TO OUT AREA.
SET 1ST CHARACTER OF NUMBER
SLIPS TO S.

yes
yes

BREAK UP SCHEDULE START DATE
AND MOVE TO OUTAREA.

IS NEVI SCHEDULE FINISH
> OLD SCHEDULE FINISH?

IS SCHEDULE DURATION BLANK?

MOVE NEW SCHEDULE FINISI! TO
ORG. SCHEDULE FINISH.

MOVE NEW SCHEDULE FINISH TO
OUTAREA.

;es

IS OLD SCHEDULE FINISH BLANK?

156

IS SCHEDULE FINISH BLANK?

yes

POST CHANGE (Cont.)

yes

MOVE PERCENT COMPLETE
TO OUTPUT AREA.

157

SEGMENT 2 SETUP ROUTINE

FORWARD PERT SUBROUTINE

$SEG2SU

CLEAR MN, DURTAS, AND TIME
VECTORS.

TRANSFER TO MTRSR TO READ IN
NEXT ACTIVITY STATUS RECORD.
yes

SHIFT FOR LATEST FIN ISH TIME
(TPSF).

MOVE CURRENT NODE TIME INTO
TM ON M.

yes

TRANSFER TO DATBBU FOR SCHEDULE
START (TSS) AND SCHEDULE FINISH
(TSF) IN BASIC UN ITS.

*MN ~ -0 ON K.
TN' ~ TM.

DUR - TSF- TSS

TRANSFER TO DATBBU FOR ACTUAL
START IN BASIC UNITS (TAS) ALSO, STORE TAS IN DURTAS, ON K.
STORE DUR IN DURTAS VECTOR
WITH 1 BIT IN POSITION ZERO,
ON K.

TRANSFER TO DATBBU FOR ACTUAL
FINISH IN BASIC UNITS (TAF)

158

REVERSE PERT SL8ROUTINE
$RVPERT

STORE SCHEDULED FINISH
TIME IN

T~TE

(TPSF).

STATUS EVALUATION SUBROUTINE

PICK UP AND BREAK UP
TM ON M AND TN ON
N FROM LEFT SIDE OF
THE VECTOR.

RECRD

REMOVE BIT 1
TM' = TN-DURTAS

S

MTRSR

U

READ NEXT ACTIVITY STATUS
RECORD FROM TAPE 1
STARTING AT lAO.

B

TM' = DURTAS

S
U

S
U

CONVERT SCHDUR TO BINARY
AND STORE IN DUR.

159

DATBBU
CONVERT SCHEDULE START
DATE TO BASIC UNITS AND
STORE IN TSS.

DATBBU
CONVERT SCHEDULE FINISH
DATE TO BASIC UNITS AND
STORE IN TSF.

DUR = TSF- TSS
CONVERT DUR TO BCD AND
STORE IN SCHDUR.

STATUS EVALUATION (Cont.)

ERS

CMPEF
S
U
B
R

DATBBU
CONVERT EARLY FINISH TIME
TO DATE.

S
U
B
R

DATBBU
CONVERT EARLY START TIME
(TMR) TO DATE.

COMPUTE LATE START TIME:
TLS = TNL-DUR

S
U

B
S
U
B
R

R

~
CONVERT LATE FINISH TO
DATE.

S
U
B
R

MTWSR
WRITE 9 CODE RECORD ON
TAPE 2.

DATBBU
CONVERT LATE START TIME
TO DATE.

S
U

DATBBU
CONVERT TOTAL PROJECT
~~PEDc;i~ FINISH TIME (TNR NE )

BLANK ACTDIJ! AND DIFfDUR

S
U
B

MOVE BCD WORD FINISHED INTO
EARLY FINISH SLOTS.

DATBBU
CONVERT TOTAL PROJECT
SCHEDULED FINISH TIME
(TPSF) TO DATE.

CONVERT TOTAL FLOAT AND
TOTAL FLOAT SIGN TO BCD.

S

DATBBU

U

CONVERT ACTUAL FINISH DATE
TO BASIC UNITS AND STORE IN
TAF.

CONVERT NEGATIVE PSTATUS
SIGN TO BCD.

CONORG
S
U
B

DATBBU
CONVERT ORIGINAL SCHEDULE
FINISH DATE TO BASIC UNITS
AND STORE IN TORG.
CONVERT PLUS PSTATUS SIGN
TO BCD.
CONVERT DA AND DIFA TO BCD
AND STORE IN ACTDUR AND
DIFFDUR.

BLANK ESTIMATED TOTAL FLOAT.

MTWSR
U

WRITE UPDATED ACTIVITY
STATUS RECORD ON TAPE 2.

160

STATUS EVALUATION (Ccmt )

PICK UP TMR (POSSIBLE EARLY
ST ART TIME) FROM TIME
VECTOR ON K.

COMPUTE EARLY FINISH TIME:
TEF ~ TMR+DUR

COMPUTE PREDICTED STATUS:
SCR = TSF- TEF
COM PUTE PREDI CTED STATUS:
SCR ~ TSF- TEF

S
U

DATBBU
CONVERT ACTUAL START DATE
TO BASIC UNITS AND STORE
IN TMR.

~

~
TEF

~

TMR+DUR

161

~

~

PRINT CONTROL ROUTINE

BRING IN NEXT ACTIVITY RECORD
FROM TAPE 2

CHECK RECORD CODE

RECOK
CHECK FOR MAJOR ACT.
PRINT ONLY

~A..:..::L:..::L_ _ _ _ _ _-,

MAJOR
ONLY

IS THIS A MAJOR ACT. ?

yes

SHOULD PAST ACT. BE PRINTED?

'--------r------J

yes

PESR EC
TO PVOUT TO PRINT ACTIVITY
STATUS

PRINT INITIALIZATION ROUTINE
$PEPINT

INITIALIZE LINE COUNTER AND
PAGE COUNTER

162

yes
PAST AND
FUTURE

PRINT EVALUATION SUBROUTINE
$PVOUT

SET UP I, J, DUP AT BOTH ENDS
OF PRINTOUT.
SET UP SCHEDULED STATUS
CRITERION.
MOVE PROJECT STATUS HEADING
INTO OUTAREA WITH EJECT CODE.
TO RLOUTSR TO PRINT 3RD LINE
OF COLUMN HEADINGS.
SET UP TOTAL ESTIMATED FLOAT.
SET UP EFFECTIVE DATE IN
OUTAREA.
SET UP 3RD LINE OF COLUMN
HEADINGS.

SET UP DURATION OUTPUTS.

TO RLOUTSR TO PRINT 2ND LINE
OF COLUMN HEADINGS.

SET UP START AND FINISH
COLUMNS.

SET UP 2ND LINE OF COLUMN
HEADINGS WITH UPSPACE 1 CODE.

SET UP TOTAL SLIP AND NUMBER
OF SLIPS.

TO RLOUTSR TO PRINT 1ST LINE
OF COLUMN HEADINGS.

TO RLOUTSR TO OUTPUT LINE.

SET UP 1ST LINE OF COLUMN
HEADINGS WITH UPSPACE 3 CODE.

SET UP UPSPACE 1 CODE.

TO RLOU1SR TO PRINT 3RD LINE
OF HEADING.

MOVE COST CODE, RESP. CODE,
AND ACTIVITY DESCRIPTION
INTO OUTAREA.

SET UP RUN-ID IN OUTAREA.

SET UP PROJECT SCHEDULE FINISH
NOTE AND DATE.

TO RLOUTSR TO PRINT 1 ST LINE
OF HEADING.

MOVE PROJECT ESTIMATED FINISH
COMMENT AND DATE TO
OUTAREA.
SET UP PROJECT STATUS
COMMENT.

TO RLOUTSR TO PRINT 2ND LINE
OF HEADING.

163

TO RLOUTSR TO PRINT LINE.

REPORT LINE OUT SUBROUTINE

SETUP TAPE UNIT NLMBER
INCREMENT LINE COUNTER

CLOUT
IS ON-LINE PRINT REQUESTED?

SET OUTPUT AREA TO BLANKS.

yes

DELAY TILL PRINTER READY.

4 TO PRINT ERROR COUNTER.

REMOVE CONTROL CHARACTER.

DELAY TILL BUFFER READY.

MEMORY TO BUFFER TILL
INDEX GOES +.

164

yes

HAVE 5 WRITE ATTEMPTS BEEN
MADE?

DATE TO BASIC UNITS SUBROUTINE

BLANK:
DURl
DUR2
DUR3

yes

DATBASU
NWD = HOURS/DAY
(ROUND DOWN)

NWD = DA TBASU

STNWD

YEAR = YEAR+ 1
S
U

CALE2
CONVERT DAY BASIC UN ITS
TO DATE.

CONVER
CONVERT BINARY DAY, MONTH,
YEAR TO BCD. STORE IN DUR1,
DUR2, DUR3.

165

DATE TO BASIC UNITS (Cont.)

yes

yes (MONTHS)

CONVERT BCD DATE IN DURI,
DUR2, DUR3 AND STORE IN
DAY, MONTH, YEAR.

S
U
B

R

CALE3
CONVERT DATE TO DAY
BASIC UN ITS.

166

BINARY TO DECIMAL CONVERSION
SUBROUtiNE

RESTART SUBROUTINE

DECIMAL INTO BINARY CONTROL

sLMltouflNE

--.$DECSCSR

BRANCH TO MAINCON

PARAMETER READ SUBROUTINE

READ PARAMETER FILE FROM
TAPE 2. STORE EFFECTIVE
DATE IN COMMON.

ENTRY WITH A BINARY NUMBER
AT A BINARY MAGNITUDE OF
23.
NUMBER MUST BE POSITIVE AND
LESS THAN 999999.
EXITS WITH A 6-BCD-CHARACTER
NUMBER. FIRST 2 DIGITS ARE IN
POSITIONS 3 AND 4 OF B
REGISTER, AND LAST 4
CHARACTERS ARE IN A REGISTER.

CONVERT BCD 4-DIGIT NUMBER
IN A REGISTER TO BINARY.
PLACE RESULT IN A REGISTER.

+

$8LDST

RETURN

INITIAL SUCCESSOR SUBROUTINE

RETURN
CHECK FOR FIT IN CORE.
INITIALIZE S VECTOR.
S; = L+J FOR; = 0, NA.

RETURN
DECIMAL TO BINARY CONVERSION
SUBROUTINE

BLAN KS TO ZEROS SUBROUTINE

RETURN
$BLTOZ

$DIB

CHANGE ALL BLANK CHARACTERS
IN A REGISTER TO ZEROS

SIMULATE SDS DECIMAL TO
BINARY, SINGLE-PRECISION,
FIXED-POINT PROGRAM
OPERATOR.

T

ORIGINAL SEQUENCE NUMBER
SUBROUTINE

•

RETURN

RETURN
DATE PACK SUBROUTINE

MERGE THE ORIGINAL ACT.
NUMBERS INTO THE RIGHT HALF
OF THE S VECTOR.

$DATEPCK

RETURN

PACK A 3-WORD DATE
(D, M, Y) INTO ONE WORD.

RETURN

INITIALIZE PRINT SUBROUTINE

END SUBROUTINE

PRINTIN

'END

SET LINE COUNTER TO 50.
SET PAGE COUNTER TO J.
REWIND J AND ERASE A GAP.

WRITE END OF FILE ON TAPE J.
TYPE THE WORD 'END' ON
TYPEWRITER.

RETURN

RETURN

167

MAIN CONTROL
SMAINCON

~

S
U
B
R

ADRESI
FIND MACHINE SIZE.
COM PUTE ADDRESSES OF
S, PC, sc.

1

S
U
B
R

PARMRD
READ PARAMETER FILE FROM
INPUT TAPE. MOVE
EFFECTIVE DATA TO COMMON.

J

-.

S
U
B
R

CARDRD
READ DATA FROM CARDS OR
PAPER TAPE. STORE DATA IN
COMMON.

1
S
U
B
R

BCDNUM
CONVERT BCD SORT KEYS TO
NUMERICAL SORT KEYS.

1
S
SORT
U
B MAIN INTERNAL SORT CONTROL.
R

1
S
U
B

R

ADRES2
SET UP ADDRESSES FOR TAPE
SORT.

1
S
U

FIN SORT

B

MAIN TAPE SORT cor--mOL.

R

1
S
U

B
R

END

-WRITE EOF ON OFF-LINE TAPE.
TYPE END ON TYPEWRITER

I

168

END

HALT WHEN NO
MORE INPUT
RECORD PRESENT

INPUT CONTROL ROUTINE

S
U
B
R

SCAP2
REQUEST INPUT DEVICE CARDS
OR PAPER TAPE.

S
U
B

CRDSR
READ CARD

R

S
U

PTRSR

B

READ PAPER TAPE

R

yes

yes

MOVE 'A' COMMENT TO
COMMON

yes

BRANCH = O?

BREAK UP SORT CODES AND
MOVE TO COMMON

169

MAGNETIC TAPE READY

$T2DLAY

STI DLAY

BCD CODE TO NUMERIC

$BCDNU'It

no

NO CODES

yes

170

MAIN SORT CONTROL

SSORT

T
FIRST PASS INDICATOR ON

I

IX

=

NCODES

I

~

SECONDARY KEY IND. ON
SEC KEY = -I

(SRTCD(lX)

= COST

OR RESP?) yes

no

(

LAST KEY IX < 1 ? ) yes

1

no

I
SRTCD(IX-I)

= COST

SECONDARY KEY INDICA TOR
OFF SECKEY = 0

I

1

OR RESP] yes

I

no

~

PCODE
SRTCD(IX)
IX = IX+I

SCODE
PCODE

= SRTCD(IX)
= SRTCD(lX-I)

S

CODES

U

READ DATA FROM TAPE AND
STORE IN PC, SC

B
R

no

r
\..

FIRST PASS?

)

yes

S
BLDSI

U

B
R

INITIALIZE S, Sj

= j+1

SET FIRST PASS INDICATOR OFF

..

S
U

SORT2K

B
R

SORT ON ONE OR TWO KEYS

I
no /

IX

•

= IX+2

t
IX

=

O?

J
,yes

J

RETURN

171

1

READ CODES
$CODES

(B) = CONTENTS OF
THE B REGISTER
PRIMARY
S
U
B
R

TRANCAL
COMPUTE TRANSFER INDEX - LP

yes

S
U
B

TRANCAL
- LS -

R

S
U
B

S
U

S
U

MTRSR
READ MAG. TAPE

STORE
STORE PRIM. CODE IN
PeRC

STORE
STORE SEC. CODE IN
SC RC

172

TRANSFER INDEX

(A) = CO NTENTS OF THE
A REGISTER.

NORMAL L = 1

COST CODE L = 3

=

RESP. CODE L

4

STATUS L = 5

FLOAT L = 6

DURATION DIFF L

TOTAL SLIP L

=

ACTUAL STATUS L

=7

8

=5

173

STORE
L
= TRANSFER INDEX
CN = NLMERIC CODE
(A) = CONTENTS OF A REGISTER

(A) = IAOCN

U
B

DATEPAK
PACK 3-WORD DATE
INTO 1 WORD

RESPONSIBILITY CODE

174

SORT ON TWO KEYS

ADDRESS CALCULATION

LEGI = -1

Nl P '" 0
Nl = So
CALCULATE MAXIMUM
NUMBER OF ACTIVITIES:
MAX = LSTl~-ENDP

SECKEY?
no

yes

$ADRES2

SIT P '" N2
SNZ'" 11
SN1 '" SN2

SEC. OUT OF SEQ.
yes

yes

175

MOVE SElECT SUBROUTINE

MAIN TAPE SORT CONTROL

yes

SET REMAINDER OF
SELECT EQUAL TO -1
S

PRINTIN

U

INITIALIZE PAGE AND LINE
COUNTERS (PAGEC, LlNEC)
PREPARE TAPE 1. FOR WRITE.

B

S
U
B

CREATE A WORD WITH ORIGINAL
ACT. NUMBER IN lEFT HALF AND
K IN RIGHT HALF AND STORE IT
IN SElECTC.

ORGSEQ
MERGE ORIGINAL SEQUENCE
NUMBERS INTO THE lEFT
HALF OF THE S VECTOR.

yes

U
B
R

MVESEl
INSERT NEW ACT. NUMBERS
AND MOVE TO SELECT AREA.

lPK

~

lPK+STRINGM

SORTSEl
U
B
R

S
U
B

SORT SELECT AREA ON
ORIGINAL ACT. NUMBER
AN D MOVE TO SEQ. AREA.

READTP
READ INPUT TAPE INTO
RECORD BLOCK IN SORTED
SEQ.

U
B
R

PRINT
WRITE AND PRINT THIS
BLOCK OF RECORDS.

176

SORT SELECT ROUTINE

READ SELECT

MAIN PRINT CONTROL

SSORTSEL

PICK UP ACT. NUMBER
FROM RECORD AN D
CONVERT TO BINARY
(ACTNW).

u
PRlt'-lT ;\t'-lD WRITE'
RECORD ON TAPE

177

SORT OUTPUT

SET UP I, J, DUP AT BOTH ENDS OF
PRINTOUT.

MOVE PROJECT STATUS HEADING
INTO OUTAREA WITH EJECT CODE.

SET UP EFFECTIVE DATE IN OUTAREA.

TO RLOUTSR TO PRINT 3RD LINE OF
COLLMN HEADING.

SET UP TOTAL ESTIMATED FLOAT.

SET UP RUN-ID IN OUTAREA.
SET UP 3RD LINE OF COLLMN
HEADINGS.
CLEAR REMAINDER OF OUTAREA.

TO RLOUTSR TO PRINT 1 ST LINE
OF HEADING.

SET UP START AND FINISH COLUMNS.
TO RLOUTSR TO PRINT 2ND LINE
OF COLUMN HEADINGS.

SET UP 2ND LINE OF COLLMN
HEADIN GS WITH UPS PACE 1 CODE.

TO RLOUTSR TO PRINT 1ST LINE OF
COLUMN HEADINGS.

MOVE 1ST RUN OF USER'S
COMMENTS TO OUT AREA.

SET UP TOTAL SLIP AND NUMBER OF
SLIPS.

SET UP PREDICTED AND ACTUAL
STATUS.

TO RLOUTSR TO OUTPUT LINE.

SET UP 1ST LINE OF COLUMN
HEADINGS WITH UPSPACE 3 CODE.

CLEAR REMAINDER OF OUTAREA.
TO RLOUTSR TO PRINT 3RD LINE
OF HEADING.

MOVE COST AND RESD. CODE AND
ACTIVITY DESCRIPTION INTO
OUTPUT AREA.

TO RLOUTSR TO PRINT LINE.

SET UP UPSPACE 1 CODE IN OUTAREA.
CLEAR REMAINDER OF OUTAREA.
TO RLOUTSR TO PRINT 2ND LINE OF
HEADING.

178



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Producer                        : Adobe Acrobat 9.13 Paper Capture Plug-in
Modify Date                     : 2009:09:17 16:58:33-07:00
Create Date                     : 2009:09:17 16:58:33-07:00
Metadata Date                   : 2009:09:17 16:58:33-07:00
Format                          : application/pdf
Document ID                     : uuid:37a4b4bb-f2b2-461c-9467-3165dc830788
Instance ID                     : uuid:586b51fe-fe13-47e5-855b-88612445d609
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 181
EXIF Metadata provided by EXIF.tools

Navigation menu