 This dataset is named 'STORET.HELP.PLOTTING.SOP'                       00000100
 and was last updated March 11, 1981 by Lee Manning                     00000200
                                                                        00000300
    This is an attempt to put in one place all of the rules             00000400
and procedures which currently exist for the processing of              00000500
STORET plots.                                                           00000600
    It is intended as an internal document only, and users              00000700
need not be aware of its contents.                                      00000800
                                                                        00000900
 1. SCOPE                                                               00001000
      The software affected by these procedures is as                   00001100
      follows:                                                          00001200
               PGM=PLOT  (All options)                                  00001300
               PGM=LOC   (All options)                                  00001400
               PGM=MSP   (PLOTP plots, and all QUALMAPs)                00001500
                                                                        00001600
 2. PROGRAMMERS                                                         00001700
               PGM=PLOT     Lee Manning                                 00001800
               PGM=LOC      Tom Dewald                                  00001900
               PGM=MSP      Bob Greenspun/Tom Dewald                    00002000
               PGM=DESPOOL  Lee Manning                                 00002100
                                                                        00002200
 3. DATASETS                                                            00002300
               STORET.PLOT.SPOOL                                        00002400
                 The spool of Calcomp driver instructions               00002500
                 for all user plots.                                    00002600
               STORET.PLOT.STATS                                        00002700
                 The audit trail accounting dataset for                 00002800
                 all user plots and the DESPOOL program.                00002900
               STORET.PLOT.BKSTATS                                      00003000
                 Audit trail accounting data for all plots              00003100
                 older than that found online via PLOTREC               00003200
               STORET.CLIST(PLOTREC)                                    00003300
                 The TSO command for listing recent additions           00003400
                 to STORET.PLOT.STATS.  Also resets STATS file.         00003500
               STORET.CLIST(SPOOL)                                      00003600
                 TSO command which invokes the DESPOOL program          00003700
                 interactively, to list a summary of jobs on            00003800
                 the plot spool.                                        00003900
               LJMA014.SOURCE.DESPOOL                                   00004000
                 The source for the despooling program,                 00004100
                 also known as the TSO SPOOL command.                   00004200
               CWT.STORET.SOURCE(PLOT)                                  00004300
                 Source for PLOT main program                           00004400
               RXGA036.LOADPOST(POST)                                   00004500
                 Load module form of POST Subroutine                    00004600
               CNA036.RXG.LOAD.SUBLIB(IDACCT) on OSRAM1                 00004700
                 Load module form of IDACCT Subroutine                  00004800
               CLMF023.OBJ.CALIB                                        00004900
                 Object decks for CalComp 1051/918                      00005000
                 plotter software. FORTRAN HX.                          00005100
   more here later ......                                               00005200
                                                                        00005300
 4. RULES FOR SOFTWARE DESIGN                                           00005400
      In order for the DESPOOLing program (and the SPOOL command)       00005500
    to function properly, every job which creates plotter output        00005600
    must internally perform the following functions.                    00005700
      For STORET purposes, all plotting output must be directed         00005800
    to FORTRAN unit 10 (ddname FT10F001).  This is accomplished         00005900
    via the CalComp initialization call                                 00006000
                      CALL PLOTS(0,0,10)                                00006100
    This creates a search record in the CalComp driver instructions.    00006200
    Immediately after this, a call to SYMBOL must be done with          00006300
    the text "BEGIN JOB" followed by the text returned from             00006400
    subroutine IDACCT (which contains the USERID, JOB #, and DATE/TIME).00006500
      At end of job, a similar protocol must be observed. A search      00006600
    record must be created (any call to PLOT with a negative third      00006700
    argument), and a call to SYMBOL must follow immediately with        00006800
    the text 'END JOB' followed by the text returned from IDACCT.       00006900
      These two text strings must be present in the spooled Calcomp     00007000
    code to insure proper DESPOOLing.                                   00007100
      Accounting trails must be created for both begin and end of       00007200
    job.  The accounting data is posted in dataset STORET.PLOT.STATS    00007300
    by subroutine POST.  POST internally updates the dataset,           00007400
    insuring integrity by enquing ddname PLOTREC, qname STORET, and     00007500
    rname PLOT.  The text of the accounting record is                   00007600
           col 1-2    Always blank                                      00007700
           col 3-10   Program name (PLOT,LOC,MSP)                       00007800
           col 11     Always blank                                      00007900
           col 12     '1' at begin job, '2' at end job.                 00008000
           col 13-80  Text returned from IDACCT.                        00008100
    The programmer must insure the above format, and make two           00008200
    calls to POST, one at or near the CalComp initialization            00008300
    call to PLOTS(0,0,10), the other at or near the final               00008400
    call to PLOT(x,y,999).                                              00008500
      Programmers should assume that the pen is at the lower left       00008600
    corner of the plotting area when the run begins, and at end of      00008700
    run should advance the pen beyond the plotting area by at least     00008800
    five inches, and reset the origin at that point.  This will normally00008900
    be done with the '999' call to PLOT.  Great care must be taken      00009000
    to insure that the absolute "Y" (North) pen displacement from       00009100
    plot begin to plot end is zero.  The spooled plots cannot           00009200
    be automatically plotted if this is not the case.                   00009300
      Normally, resetting the origin during plotting should be          00009400
    kept to a minimum, as full advantage of the plotter blocking        00009500
    factor cannot be taken during an origin reset.                      00009600
                                                                        00009700
 5. OPERATING PROCEDURES                                                00009800
                                                                        00009900
      User jobs are run on a demand basis, as required by the           00010000
    user.  Most run in the "deep" overnight queue, but this is          00010100
    not a STORET System requirement.  As they run, they add             00010200
    driver instructions at the end (DISP=MOD) of dataset                00010300
    STORET.PLOT.SPOOL, and accounting records in dataset                00010400
    STORET.PLOT.STATS.                                                  00010500
      TSO command PLOTREC lists the first 53 records of                 00010600
    STORET.PLOT.STATS, normally the most recent 26 jobs to              00010700
    access the plotting system.  This dataset is reset from             00010800
    time to time (via the PLOTREC command), and its current             00010900
    contents are archived to STORET.PLOT.BKSTATS.                       00011000
      The DESPOOL program can read from the spool itself, and           00011100
    by searching for the CalComp instructions which create the          00011200
    text of the BEGIN or END JOB messages, determine the start          00011300
    and stop points of each user run (thus the requirement for          00011400
    the presence of these messages on the plot itself).                 00011500
      If invoked interactively via the TSO SPOOL command, the           00011600
    program prints a report on the current contents of the              00011700
    plot spool.  If invoked in the batch, it produces a similar         00011800
    report, and performs a variety of optional functions as             00011900
    well.                                                               00012000
      Once a day, at the end of the graveyard shift, the operations     00012010
    crew at the central computer submits a two-step job called the      00012020
    DESPOOL RUN. The JCL for this run is in LJMA014.DESPOOL.CNTL.       00012030
    The first step reads the existing spool file, and prints the        00012040
    report, embellished by the mailing addresses of each user with      00012050
    a job on the spool.                                                 00012060
      The second step repeats the report, complete with mailing         00012070
    addresses, and produces a library tape (RETPD=30) copy of it,       00012080
    and punch card versions of all driver code for transmission         00012090
    via phone lines to the Washington (DC) Data Center.                 00012100
      The printout from this job is routed automatically to remote      00012110
    13, and the punch to remote 20.  At remote 20, the punch is         00012120
    automatically reformatted into CalComp driver instructions          00012130
    and placed on tape.  The tape is hand carried to the STORET         00012140
    plotter, where all actual plotting is done.                         00012150
      Remote 20 personnel make a second copy of each tape, as backup.   00012160
    if errors are discovered on the original, the backup is brought     00012170
    to the plotter and used.                                            00012180
      In the unlikely event that both tapes are bad, the tape copy      00012190
    of the spool file (at RTP, remember ?) can be read by a JCL         00012200
    stream found in LJMA014.RESPOOL.CNTL.  This RESPOOL RUN             00012210
    duplicates the functions of the DESPOOL RUN, except for the         00012220
    creation of the backup tape.                                        00012230
