.COMMENT THIS SOURCE FILE SHOULD BE PROCESSED WITH THE AUGUST 1983
.COMMENT VERSION OF THE FORMAT PROGRAM TO PRODUCE THE FORTRAN
.COMMENT VERSION OF THE ROUTINE WHICH ISSUES HELP MESSAGES IN THE
.COMMENT RESUME PROGRAM
.COMMENT
.OUTPUT WIDTH 59.RIGHT MARGIN 80.LENGTH 10.LEADING.TRAILING
.PAGE LENGTH 22.PAGING
.DEFINE GROUP
      GO TO 5
$$$$$ CONTINUE$=
.DEFINE PREFACE
      WRITE(ITTY,$)
.DEFINE BOTTOM
      IF(IVIDEO.LT.0)GO TO $
      WRITE(ITTY,1)
      CALL GETLIN(ITTY,LTRBFR,LMTBFR,MAXBFR)
      IF(MAXBFR.GT.0)GO TO 6
      IF(IVIDEO.GT.0)CALL RSMWIP(ITTY)
 $$$$ CONTINUE$=
.END DEFINITION
.PROGRAM
      SUBROUTINE JOBHLP(ITTY,KNDMSG,LTRBFR,LMTBFR,MAXBFR,IVIDEO)
C     RENBR(/JOBS PROGRAM, ISSUE INSTRUCTIONS)/M:99999
C
C     DONALD BARTH, YALE SCHOOL OF MANAGEMENT
C
C     THIS ROUTINE IS PART OF THE JOB INTERVIEW REQUEST SYSTEM
C
C     ITTY   = UNIT NUMBER FOR READING AND WRITING TO TERMINAL
C     KNDMSG = SELECTS WHICH MESSAGE IS TO BE ISSUED
C     LTRBFR = RETURNED WITH COMMAND TYPED BY USER IF THE
C              MESSAGE IS LONGER THAN 1 SCREEN.
C     LMTBFR = MAXIMUM NUMBER OF CHARACTERS IN COMMAND TYPED
C              BY THE USER
C     MAXBFR = RETURNED WITH NUMBER OF CHARACTERS TYPED BY THE
C              USER IF MESSAGE IS LONGER THAN 1 SCREEN
C     IVIDEO = SELECTS WHETHER SCREEN IS CLEARED
C            = -1, PAPER OUTPUT, DO NOT ISSUE FORM FEEDS
C            = 0, SCROLLING VIDEO, DO NOT ISSUE FORM FEEDS
C            = 1, CLEAR SCREEN AT START AND IN MIDDLE OF LONG
C              MESSAGES.
C            = 2, DO NOT CLEAR SCREEN AT START, BUT DO CLEAR
C              SCREEN IN MIDDLE OF LONG MESSAGES.
C
      DIMENSION LTRBFR(LMTBFR)
    1 FORMAT(1X/' (press RETURN to continue)',_$)
    2 FORMAT(1A1)
    3 FORMAT(1X)
      MAXBFR=0
C
C     INDICATE IF ISSUE FORM FEEDS AFTER FULL SCREENS
      IF(IVIDEO.LE.0)GO TO 8
C
C     IF ON VIDEO TERMINAL AND ARE GOING TO ISSUE MULTIPLE
C     PAGES, THEN ISSUE FORM FEED THAT PUTS NEXT TYPING ON
C     TOP LINE OF THE SCREEN.
      IF(IVIDEO.EQ.1)CALL RSMWIP(ITTY)
    8 CONTINUE
C
C     TRANSFER TO WRITE STATEMENT FOR DESIRED MESSAGE
      GO TO(
     1  100, 200, 300, 400, 500, 600, 700, 800, 900,   6,
     2 1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,
     3 2100,2200,2300,2400,2500,2600,2700,2800,2900,3000,
     4 3100,3200,3300,3400,3500,3600,3700,3800),KNDMSG
      GO TO 6
C
C     ASK FOR THE NAME OF THE USER
.TEXT 100
Type your name exactly as you want to have it appear on the lists which
are given to the recruiters.
.PROGRAM
C
C     INITIAL QUESTION IF NAME IS CORRECT OR TERMINAL TYPE
.TEXT 1200.NO JUSTIFY.NO PAGING
Type one of the following commands:
.LEFT MARGIN 5.skip
.I-5
YES##If you want your name to be given to the recruiters exactly as
you have specified it here.
.I-5
NO###If you want to change how your name is to appear.
.LEFT MARGIN 0
.PROGRAM 3000
      GO TO 5
$$$$$ CONTINUE$=
.CONTINUE
You are assumed to be using a slow hardcopy terminal which types directly
onto paper.
.PROGRAM 3100
      GO TO 5
$$$$$ CONTINUE$=
.CONTINUE
You are assumed to be using a fast video terminal on which the last line
displayed appears at the bottom of the screen forcing the previous lines
to scroll upward.
.PROGRAM 3200
      GO TO 5
$$$$$ CONTINUE$=
.CONTINUE
You are assumed to be using a video terminal on which this program
can erase the screen when the screen fills.
.PROGRAM 3300
      GO TO 5
$$$$$ CONTINUE$=
.CONTINUE
If this assumption about the type of terminal which you are using is
wrong, then you should select the proper type of terminal by typing
one of the following instead of YES or NO.  You will again be
asked whether your name is correct.
.skip.left margin 9.i-9
SLOW#####if you are using a hardcopy terminal which types directly
onto paper.
.i-9
FAST#####if you are using a video terminal on which the last line
displayed appears at the bottom of the screen forcing the previous
lines to scroll upward.
.i-9
PAGING###if you are using a video terminal on which this program can
erase the screen when the screen fills.
.LEFT MARGIN 0.JUSTIFY
.text.paging
.program
C
C     DESCRIBE THE COMMANDS
.TEXT 2200
.JUSTIFY
You will be asked the question "WHAT NEXT?"  repeatedly by this program.
This program expects that you will use a number rather than a name
to identify each firm with which you want to request an interview.
To request an interview with a particular firm you would first type
.left margin 9.no justify
.indent -9
LIST#####to discover the number assigned to the firm
.indent -9
and then you would type
.indent -9
REQUEST##followed by the number assigned to the
firm.
.skip
.indent -9
Other commands which you can type in response to the "WHAT NEXT?"
request are:
.indent -9
CANCEL###followed by the number assigned to a firm to cancel a request
for an interview.
.indent -9
PRIORITY#followed by the number assigned to a firm to change the
priority of (or the bid for) a request for an interview.
.indent -9
REPORT###to obtain a list of the firms with which you have already
requested interviews.
.indent -9
SAVE#####to save a copy of the requests which you have made so far.
.indent -9
TIME#####followed by the number assigned to a firm to change the times
when you would prefer to have the interview be scheduled.
.LEFT MARGIN 0.justify
Finally, when you have finished your requests, type the EXIT command
in response to the "WHAT NEXT?"  request to save your requests and
to quit the program.  You will be able to run the program later to
modify your requests.
.PROGRAM
C
C     SHORT LIST OF THE COMMANDS
.TEXT 200.NOFILL
The following is a summary of the available options
.SKIP
CANCEL   to cancel request
EXIT     to save requests and exit
LIST     to list firms and their numbers
NAME     to change how your name is shown to the recruiters
PAPER    to obtain a file which you can then print
PRIORITY to change priority or bid
REPORT   to list requests made so far
REQUEST  to request interview
SAVE     to save requests but not exit
TIME     to change preferred dates or times
.skip
The following options select terminal type
.skip
SLOW     for paper output terminal
FAST     for video without screen clear
PAGING   for video with screen clear
.skip-2
Now you can either press the return key to get a more detailed explanation,
or you can type a word in this list to perform the corresponding option.
.LEFT MARGIN 0.FILL.JUSTIFY.PAGE
.PROGRAM
C
C     LONG LIST OF WHAT NEXT OPTIONS
.CONTINUE
.LEFT MARGIN 9.JUSTIFY
.I-9
CANCEL###and a firm number to cancel a request for an interview with
the firm.  If you cancel a request you have made during the current
stage, then you will regain the ability to make another request and
to reuse the priority bid used for this request.
.I-9
EXIT#####to save the requests which you have made so far and then exit
from this program.  You can run this program later, as often as you
want, to change your requests.  You must, however, complete your
selections by the announced due date.  Your requests cannot be processed
unless you use the SAVE option to save your requests or the EXIT option
to exit from the program.
.I-9
LIST#####to list the numbers identifying the firms.  These numbers
are needed for the REQUEST, PRIORITY, TIME and CANCEL commands.
.I-9
NAME#####to check or change how your name will be shown to recruiters.
.I-9
PAPER####to write a report of the firms with which you have requested
interviews into a file which you can then print.  This report contains
the same information about each request as is shown to you directly by
the REPORT command.
.I-9
PRIORITY#and a firm number to change the priority of (or the bid for)
a request for an interview with the firm.
.I-9
REPORT###to list the firms with which you have requested interviews
so far.  Requested times and the priorities or bids you assigned
to these requests are also shown.
.I-9
REQUEST##and a firm number to request an interview with that firm.
.I-9
SAVE#####to save the requests which you have made so far.  If the
computer dies, then these will be the requests which will be in effect
when you run this program the next time.  The SAVE command does not
exit you from this program.  You can continue to request additional
interviews now.
.I-9
TIME#####and a firm number to change the date and/or the times at which
you would prefer to have your interview with the firm be scheduled.
You will be asked to specify the date when you would like to have the
interview if the firm is holding interviews on more than 1 date.  You
will then be asked to specify the time at which you most prefer
to have the interview.  You can specify additional times in decreasing
order of preference.  If you have specified a date, then the times
will apply only for that date.  If you have not specified a date, then
the times will apply on any date.  After you have specified as many
times as you want, merely press the RETURN key again to get back to
the "WHAT NEXT?"  request.
.skip.test page 4
.i-9
Following commands change how terminal you are using is handled by
this program
.skip
.i-9
SLOW#####if running this program from a slow or hardcopy terminal
.test page 2
.i-9
FAST#####if running this program from a fast video terminal which cannot
clear the screen between pages
.test page 2
.i-9
PAGING###if running this program from a fast video terminal which can
clear the screen when instructed to do so by the program
.LEFT MARGIN 0
.NO JUSTIFY
.PROGRAM
C
C     ASK FOR IDENTIFICATION CODE OF FIRM
.TEXT 300
Type the number which identifies the firm with which you want to request
an interview.  If you do not know this number, merely press the RETURN
key now and issue the LIST command in response to the "WHAT NEXT?"
request.
.TEXT 1000
Type the number which identifies the firm with which you want to cancel
your request for an interview.  If you do not know this number, merely
press the RETURN key now and issue the REPORT command in response to
the "WHAT NEXT?"  request.
.TEXT 1100
Type the number which identifies the firm with which you want to change
the priority of your request for an interview.  If you do not know
this number, merely press the RETURN key now and issue the REPORT
command in response to the "WHAT NEXT?"  request.
.TEXT 1800
Type the number which identifies the firm with which you want to change
the times when you would like to have the interview be held.  If you
do not know this number, merely press the RETURN key now and issue
the REPORT command in response to the "WHAT NEXT?"  request.
.PROGRAM
C
C     AFTER SHOWING FIRM NAME, ASK IF THIS IS THE CORRECT FIRM
.TEXT 400
.LEFT MARGIN 5
.I-5
Type one of the following commands:
.I-5
YES##If this is the correct firm.
.I-5
NO###If this is not the correct firm.  The option which you requested
will not be performed.
.LEFT MARGIN 0
.PROGRAM
C
C     ASK IF USER WANTS TO SEE A SUMMARY OF THE FIRMS REQUESTED
.TEXT 500.no paging
You cannot request interviews at this time.  However, you can review
your current requests and the action taken on your earlier requests.
.SKIP
Type one of the following commands.
.LEFT MARGIN 5
.I-5
YES##If you want to review your requests.
.I-5
NO###If you do not want to review your requests.
.LEFT MARGIN 0
.text.paging
.PROGRAM
C
C     ASK IF USER WANTS PAPER COPY OF REPORT
.TEXT 3600
The interviews which you have requested can be summarized in a file
which you can then print.
.skip
Type one of the following commands:
.LEFT MARGIN 5
.I-5
YES##If this if you want to obtain a file which you can then print.
.I-5
NO###If this if you do not want a paper copy of your requests.
.LEFT MARGIN 0
.PROGRAM
C
C     PRIORITY ASSIGNMENT TYPE 1
C     ASK USER TO ASSIGN PRIORITY VALUE
.TEXT 2100
.JUSTIFY
You must specify a different number as the priority for each request.
The request to which you assign a priority of 1 should be the request
which you most want to be successful.  The requests to which you assign
higher numbers should be the ones, in turn, about which you are less
concerned.  If you assign a priority number to the current firm which
is the same as the priority number which you have already assigned
to some other firm, then that other firm will be instead assigned the
lowest numbered priority (i.e., of most concern to you) which is not
currently in use.  You should make sure that there are no gaps in the
priority values which you assign before you EXIT the final time from
the program.  If there are gaps, i.e., if one of the numbers 1 through
N is not in use where N is the number of interviews which you have
requested, then some of your requests will be treated as of less concern
to you than they need be.  If you later decide that you want to change
the priorities of your requests, then you can issue the PRIORITY command
in response to the "WHAT NEXT?"  request.  If you are requesting
interviews in the second stage when the excess interview slots which
were not assigned in the first stage are being requested, then you
can again assign priorities starting with 1; you do not have to select
values which are greater than those which you selected in the first
stage.
.NO JUSTIFY
.PROGRAM
C
C     PRIORITY ASSIGNMENT TYPE 2
C     ASK IF USER WANTS TO ASSIGN HIGH PRIORITY TO REQUEST
.TEXT 600
You can assign a high priority to a limited number of requests.  If
you do assign such a high priority to the current request, then your
request will be honored before a low priority made by anyone else in
the current stage of the current round.
.SKIP.LEFT MARGIN 5
.I-5
Type one of the following commands:
.I-5
YES##If you want to assign a high priority to this request.
.I-5
NO###If you do not want to assign a high priority to this
request.
.LEFT MARGIN 0
.PROGRAM
C
C     PRIORITY ASSIGNMENT TYPE 3
C     ASK AMOUNT USER WANTS TO BID
.TEXT 2400
.JUSTIFY
Type the amount that you want to bid on your request for an interview
with this firm.  This will be a number of zero or greater.  The highest
bids will be assigned interviews first, then the next highest, and
so on.  While you can bid zero on your request, such zero bids will
be assigned last, and will be the least likely to get an interview
if the firm is oversubscribed.  The total of your bids for all of your
requests is limited.  If you bid more than you have left, then the
excess will be removed from the lowest of your bids for interviews
with other firms.
.PROGRAM
C
C     ASK IF USER WANTS TO SEE A SUMMARY OF THE FIRMS REQUESTED
.TEXT 700
.NO JUSTIFY
NOTE: if you answer YES to the following question, then you CANNOT
revise your interview requests further unless you contact the SOM
computer services staff.
.PROGRAM
C
C     ASK IF USER REALLY WANTS TO SUBMIT
.TEXT 800
Type one of the following commands:
.LEFT MARGIN 5.I-5
YES##If you do not want to make any further changes in your requests
for interviews during the current stage of the current round.  Your
requests cannot be processed until and unless you complete the SUBMIT
option.  You will be unable to revise your interview requests further
unless you contact the SOM computer services staff.
.I-5
NO###If you still want to make changes in your requests for interviews.
.LEFT MARGIN 0
.PROGRAM
C
C     TELL USER WHAT PROGRAM THIS IS
.TEXT 900
This program allows you to sign up for any of the firms which are
conducting open interviews in the near future.  You should type _?
if you do not understand any question and want further instructions.
.skip
If you see that you have made a mistake in the line which you are
typing, press the key marked on various terminals as DEL, DELETE or
RUBOUT as many times as are necessary to back up past the character
in error, then type the correct character and the rest of the line.
DO NOT use the keys marked with arrows to correct anything.
.PROGRAM
C
C     TO MANY INTERVIEWS REQUESTED
.TEXT 1300.COMMENT ARRAY SPACE EXCEEDED
You have already requested as many interviews in the current round
as this program can process.  If you really want to request an interview
with this firm, then you will have to cancel one of your other requests.
.TEXT 1900.COMMENT SEASON
You have already requested as many interviews during the current
interview season as you are allowed.  If you really want to request
an interview with this firm, then you will have to cancel one of your
other requests.
.TEXT 3400.COMMENT ROUND
You have already requested as many interviews during the current round
as you are allowed.  If you really want to request an interview with
this firm, then you will have to cancel one of your other requests.
.TEXT 3500.COMMENT STAGE
You have already requested as many interviews during the current stage
of the current round as you are allowed.  If you really want to request
an interview with this firm, then you will have to cancel one of your
other requests.
.PROGRAM
C
C     INSTRUCTIONS FOR SELECTING TIMES
.TEXT 2000
Please note that you are not required to state any time preferences.
If you do state some time preferences, then we will attempt to honor
them, but no promise is made or implied.  If you do not want to state
any time preferences, then you should merely press the RETURN key in
response to the next question.
.TEXT 1600
Type the starting times of the interviews you prefer, one per line
and with the most desired time first.  When you have specified all
of the starting times that interest you, merely press the RETURN key
again without having typed anything else.  You should type the times
in a form similar to 3:15pm, although the am is not needed for morning
interviews and the colon and minutes are not needed for interviews
which start on the hour.
.TEXT 1700
Type one of the following commands:
.LEFT MARGIN5.i-5
YES##If you have specified the starting times of the interviews which
you most desire for this firm.
.i-5
NO###If you want to specify more starting times.  These will be given
lesser preference than the ones you have already typed in.
.LEFT MARGIN 0
.TEXT 2300
.justify
Type the date when you prefer to have the interview with this firm.
This date can be typed in any conventional manner such as 3-FEB-83
or FEBRUARY 3, 83.  If possible, your interview will be scheduled on
the date you request.  You can only specify a single such date.  You
will be asked later to specify the time of the day when you prefer
to have the interview.  Those times will only be given higher priorities
on this date.  Merely press the RETURN key now if you have no preference
about the date when the interview is scheduled, or if you want the
times that you will specify to be given higher priority on all dates.
.PROGRAM
C
C     INSTRUCTIONS FOR ENTERING PASSWORD
.TEXT 1400
.NO JUSTIFY
The password which you have specified cannot be used because it is
computationally similar to a password already in use.  This does not
mean that these passwords are visually similar.
.break
Please select another password.
.NO JUSTIFY
.TEXT 3700
The password that you have selected is not meant to be used at this
point.
.BREAK
Please select another password.
.TEXT 1500
Type one of the following commands:
.BREAK.lm5.i-5
YES##if you specified the correct password and you really do want to
start a new set of interview requests
.BREAK.I-5
NO###if you requested some interviews earlier but you specified the
wrong password now
.LM0
.TEXT 2500
.JUSTIFY
If this is the first time that you have used this program, then you
should type a word or a short phrase which you do not believe can be
guessed by anyone else who will be running this program.  This word
or phrase will be used to prevent anyone else gaining access to your
requests through this program.  This word or phrase is not related
to and does not depend upon the password through which you may have
gained access to the account from which you are running this program.
The word or the words of a phrase must be formed from the alphabetic
letters A through Z and the digits 0 through 9.  No other characters
are allowed.  The word or phrase, counting the separations between
the words of a phrase as 1 character each, can contain up to 20
characters.
.skip
If you have used this program before, and merely wish to review or
modify your requests, then you must type the word or the phrase which
you specified when you first ran this program, but you do not need
to match the cases of any of the alphabetic letters A through Z in
the word or phrase.  You can type capital alphabetic letters where
you originally specified lower case letters, and vice versa.  You will
have to contact the computer services staff if you have forgotten your
password.
.PROGRAM
C
C     ERROR IN THE PASSWORD FILE
.NO JUSTIFY
.TEXT 2600
Through an administrative error, the number which you have been assigned
has also been assigned to someone else.  Please contact the JOBS program
administrator to have this problem corrected.  You cannot run this
program until then.
.JUSTIFY
.PROGRAM
C
C     PASSWORD ASSIGNED TO USER
.TEXT 2700
You must prove that you know both the number and the password which
were assigned to you in order to gain access to this program.  Please
type the password now.  This password is not related to and does not
depend upon the password through which you may have gained access to
the account from which you are running this program.  You will have
to contact the JOBS program administrator if you have forgotten either
your number or your password.
.PROGRAM
C
C     ASK NUMBER ASSOCIATED WITH THE PASSWORD
.TEXT 2800
You must prove that you know both the number and the password which
were assigned to you in order to gain access to this program.  Please
type the number now.  You can type the password to the right of the
number or on the next line.  You will have to contact the JOBS program
administrator if you have forgotten either your number or your password.
.PROGRAM
C
C     USER SELECTED PASSWORD
.TEXT 2900
.JUSTIFY
If this is the first time that you have used this program, then you
should type a word or a short phrase which you do not believe can be
guessed by anyone else who will be running this program.  This word
or phrase will be used to prevent anyone else gaining access to your
interview requests through this program.  This word or phrase is not
related to and does not depend upon the password through which you
may have gained access to the account from which you are running this
program.  The word or the words of a phrase must be formed from the
alphabetic letters A through Z and the digits 0 through 9.  No other
characters are allowed.  The word or phrase, counting the separations
between the words of a phrase as 1 character each, can contain up to
20 characters.
.skip
If you have used this program before, and merely wish to review or
modify your interview requests, then you must type the word or the
phrase which you specified when you first ran this program, but you
do not need to match the cases of any of the alphabetic letters A
through Z in the word or phrase.  You can type capital alphabetic
letters where you originally specified lower case letters, and vice
versa.  You will have to contact the JOBS program administrator if
you have forgotten your password.
.NO JUSTIFY
.PROGRAM
C
C     ASK IF REALLY WANT TO CANCEL REQUEST MADE IN PREVIOUS STAGE
.TEXT 3800
You requested this interview prior to the current stage.  If you cancel
this request, then this interview or your position on the waiting list
will be allocated to someone else.  Cancelling this request will not
regain for you the ability to make an additional interview request
and it will not regain for you the ability to make an additional high
priority request or auction bid.  Once you have cancelled this request,
you cannot restore it.
.skip
Type one of the following commands:
.BREAK.lm5.i-5
YES##if you really want to cancel your request for an interview
with this firm.
.BREAK.I-5
NO###if you still want to have an interview with this firm, or if you
got to this question by mistake.
.LM0
.PROGRAM
      GO TO 5
C
C     RETURN TO CALLING PROGRAM
    5 WRITE(ITTY,3)
    6 RETURN
      END
