RUED - edit RU file containing zero or more run-units.

Syntax:

RUED [Update=]rufile [edit_opt]* [list_opt]* [comm_opt]*

Edit Options:

(+|-)CLear (-)         Append=[name,name,...<]file
Delete=name,name,...   [Include=][name,name,...<]file
ReName=oldname>newname Replace=[name,name,...<]file

Listing Options:

(+|-)Listing           (+|-)Verbose (-)

Command Options:

(+|-)ComPress (-)      (+|-)RespectCase (-)  
(+|-)Safely (-)        (+|-)Zdebug (-)       
Update=rufile

Examples:

rued /rufile
rued +clear u=/rufile a=file1 a=file2 a=file3
rued u=/rufile rp=name<file
rued /rufile del=x,y,z +compress

Options:

rufile
is the name of an RU file that you want to update. This file must be random. If the RU file does not exist, RUED creates it, provided that you also specify the +CLear option.
Update=rufile
is similar to just specifying the RU file name on the command line. However, when you use this form, RUED automatically checks for duplicate entries. RUED goes through each set of duplicate run-units and deletes all but one; the one that is left is the one that came last in the RU file's index of RUs. RUED also updates the available space entries in the catalog blocks of the RU file.
+Zdebug
displays various internal information. This is only intended for use by the developers maintaining RUED. +Zdebug's behavior is subject to change without notice.

Edit Options:

Edit options prescribe individual editing operations. +CLear may only be specified once; the others may be specified as many times as appropriate. If any edit options are specified, duplicate entries are deleted as with the Update= form. In addition, RUED updates the available space entries in the catalog blocks of the RU file.

Append=file
appends all the run-units from "file" into the RU file being edited. The file must be another RU file. A run-unit may not be appended if the RU file already contains a run-unit with the same name.
Append=name,name,...<file
is similar to the previous form. However, it only appends the run-units whose names are specified.
+CLear
clears and initializes the RU file. This option is required when creating a new RU file. If applied to an existing RU file, it deletes all the current contents.
Delete=name,name,...
deletes the named run-units from the RU file.
ReName=oldname>newname
changes the name of a run-unit. Note that the options are processed in the order they appear. Thus you can change a run-unit's name anytime after appending (or replacing) it, but not before.
Replace=file
takes all the run-units from "file" and uses them to replace run-units of the same name that are currently in the RU file. There must be old run-units of the same name in the RU file.
Replace=name,name,...<file
is similar to the previous option, but only replaces the named run-units.
Include=file
 
Include=name,name,...<file
performs either an Append or Replace action, as appropriate. The "Include=" string may be omitted if the RU file name is specified with "Update=rufile"; however, "Include=" must be specified if the "Update=" is omitted. Thus you can say either
rued u=rufile file1 file2
         or
rued rufile i=file1 i=file2

but you cannot say

rued rufile file1 file2

Command options are processed in the order they appear on the command line. The exception to this is +CLear which is always processed first, regardless of its position on the command line.

Listing Options:

Listing options control the amount of information that RUED displays.

+Listing
displays a listing of the RU file. By default, RUED usually does not display a listing; however, if there are no non-listing options on the command line, RUED displays a listing, whether or not +Listing is specified.
+Verbose
gives a running commentary of the edit operations being performed. If you specify +Verbose with +Listing, the listing also shows the location of the catalog blocks, available space blocks, and the available space.

Command Options:

Command options apply to all the operations of the RUED command.

+ComPress
compresses the RU file after it has been updated. In a compressed RU file, all catalog blocks appear at the start of the file. Also, there is no space between the elements of the RU file or between catalog blocks; thus there is no available space in the RU file, with the possible exception of one free space following the last run-unit. You may not use +ComPress together with the +Safely option.
+Safely
updates the RU file in a way that tries to protect the file from damage if there is a system crash or some other kind of interrupt that terminates RUED abnormally. The idea is that the RU file is always left in a valid state between I/O operations. If there is an interruption during the update, the RU file continues to be usable; however, there is no way to determine which editing operations, if any, succeeded before the interruption. The available space records may not be correct after an interruption. This mode of updating may require substantially more file space for the RU file than is strictly needed, because there must be space for both the old and new copies of the run-units. Updating one run-unit at a time can restrict this excess space to the size of the run-unit. Catalog blocks are kept contiguous, except for the first.
+RespectCase
does not change the letters in element names to upper case. If you do not specify this option (or if you specify -RespectCase), RUED automatically converts element names since $RUN card processing expects that all names are in uppercase ASCII.

Description:

RUED edits an RU file, containing zero or more run-units. The most common use of a file with multiple run-units is a tpr library.

If neither +ComPress nor +Safely is specified, RUED does a normal update. The normal update is faster than a compress update, and requires less disk space than a safe update. The RU file is not left in a compressed state, and the catalog blocks may not be contiguous. With either a compress or a normal update that is a very small chance that a system interruption during the update could leave the RU file damaged.

Running in Batch:

You can run RUED in batch using the following JCL:

$       program   rued
$       limits    ,40k
$       prmfl     **,r/c,r,cmdlib/etc/qstar
$       data      cz
   command line

The command line following the $DATA statement is the same as the RUED command line you would use in TSS. In the rare case when you need to specify a non-uppercase name you would need to specify the "+Respcase" option and bracket the command line with a $ASCII/$ENX pair.

The following is an example of building a NSC tpr, and using RUED to add it to a tpr library. Note the use of a $PRMFL card to preallocate the tpr library, and avoid potential busy file problems.

$      select  &system/profile.prod/nsc
$      run     rufile=&cv00rp/nsc_ru
$      prmfl   s*,r/c,s,/tprsrc.c
$      file    v*,v1s,10r
$      data    cz
$      ascii
nsc fc*s* stdlib=tp8 use=C$TPROG name=CTPR output=fc*v*
$      enx
$      program rued
$      limits  ,40k
$      prmfl   **,r/c,r,cmdlib/etc/qstar
$      prmfl   ot,w,r,/tprlib
$      file    in,v1r
$      data    cz
rued Update=fc*ot fc*in

See Also:

expl l
for an alternate method of listing an RU library.

Copyright © 1996, Thinkage Ltd.