Your Adager Guide (Section 9 of 13) First | Prev Table of Contents | Index Next | Last
Running Adager
At first (and whenever you need a refresher), we recommend running Adager on-line with its default novice mode:
:run Adager.Pub.Rego
If you want a more direct approach to the task at hand, without the social graces, run Adager with its optional expert mode by adding a run-time parm value:
:run Adager.Pub.Rego; parm=1
Run-time parmsThere are other parm values besides"; parm=1"
that you can use to control various aspects of Adager. These parm values are additive (for instance,"; parm=48"
tells Adager to do whatever parm=16 does and to do whatever parm=32 does). These are the meanings:
parm=0
Novice mode (the default). Lots of talk and helpful hints.
parm=1
Expert mode. Less chatting.
parm=2
Force batch dialogue while running in session mode. This is useful for the development of script files that you can then use if you run Adager as a child process (you would specify Adager's $stdin file to be your script file and you would run Adager as a child process with parm=2 from within your parent application so that Adager follows its batch dialogue).
parm=4
Renumber paths according toDBSCHEMA
's order. (This applies only to those paths that do not currently followDBSCHEMA
's order.)
parm=8
Create a StreamFile (with the appropriate batch dialogue) while running in session.
parm=16
Force signed non-negative numbers (as opposed to unsigned non-negative numbers, which is the default) when initializing or converting data items or fields to "P" (packed decimal) or "Z" (zoned decimal) types.
parm=32
Do not reblock datasets (even if they might benefit from Adager's automatic reblocking).
Job-Control Words (JCWs)In addition to run-time parms, there are several Job-Control Words (JCWs) that you can use to control Adager's behavior.
To specify a value for a JCW, issue the commandSetJcw X n
before yourun Adager
("X" is the Adager JCW that you want to specify and "n" is the value you desire for it; for example, to allow Adagerin batch modeto establish a dialogue with the operator through the system console in case of difficulties, doSetJcw AskOperator 1
).
Adager automatically places appropriate JCWs in the StreamFiles it creates (if you approve).
These are the meanings of Adager's JCWs:
AdagerRollBack n
You do not set this JCW. Adager returns it as part of a protocol with cooperative processes (such as NetBase or any of your in-house systems) to let them know whether Adager rolled back any of your requested operations due to resource limitations and how many operations were rolled back. Normally, Adager returnsAdagerRollBack
as zero. If there were any roll backs, "n" tells how many.
AdagerTermType 9
Disables the sending of display enhancements to your terminal, Macintosh, PC, or Unix workstation. If they (or their terminal emulator firmware or software) are not compatible with the HP terminal protocol, these escape sequences are inconvenient.
AskOperator 1
Allows Adager, when running as a job in batch mode, to establish a dialogue with the operator through the system console if Adager runs into difficulties.
ForbidTpiMaint 1
During database renaming, database copying, and detail dataset repacking, Adagerby defaultautomatically maintains the TPI structures used by Omnidex or Superdex.ForbidTpiMaint
disables automatic Adager maintenance of Third-Party Indexing (TPI) via the TpiMaint intrinsic. You must then run your TPI utility to resynchronize your indexes.
AdagerListRec n
Adager builds its StreamFiles with a default record width of 248 bytes. To override this value specify "SetJCW AdagerListRec n" (before running Adager with ";parm=8") where n is a value between 80 and 248.
AdagerNoJumbo 1
Disables jumbo datasets. If you provide new specifications (more capacity, more fields, more paths) that would require changing a dataset into a jumbo dataset and if you have also specified theAdagerNoJumbo
JCW, Adager will NOT allow the transformation.
Communicating with AdagerAdager guides you at every step with sensible[DEFAULTS]
displayed in brackets.
If you want context-sensitive help on the spot, answer any Adager prompt with a question mark "?"
At any Adager prompt, you may issue an MPE commandwhich can be a user-defined command (UDC)preceded by a colon ":" (the command, in turn, can even run other programs or invoke UDCs). For instance:
Capacity [NO CHANGE] ? :show job
In this example, the underlined ":showjob
" is your answer to Adager's prompt. Adager passes your request directly to MPE's Command Interpreter. After the operating system returns control to Adager, Adager re-issues its original prompt to you; you can then answer with Adager-related information or you can issue another MPE command or a UDC such as this:
Capacity [NO CHANGE] ? :qc
In this case, ":qc
" stands for a user-defined command (UDC) that, in turn, stands for ":run QueryCalc
" (from AICS) and may contain indirect references to other UDCs and MPE commands.
Adager commandsYou may answer the "Adager command?" question with an Adager verb (add, change, copy, decompile, delete, erase, examine, fix, move, reblock, redefine, rename, repack, replace, report, shuffle) and a database object (capacity, chain, database, date, field, item, path, primary, schema, security, set, sort).
For example: Add Path, Change Capacity, Fix Chain, Repack Dataset, Field Add.
The verb may come before or after the object. If you specify only the verb, Adager then asks for the appropriate object. If you specify only the object, Adager then asks for the appropriate verb.
For nostalgic reasons, Adager understands its original one-word function names, such as DetPack, MastCap, PathAdd, FieldDel, etc.
You do not have to type the whole name of an Adager command, as long as your partial command is unambiguous. For instance, "f a" means "Field Add."
Adager menuIf you prefer, you may answer the "Adager command?" question with the word menu for a menu-oriented interface to Adager functions.
:pscreenYou may use Adager's special ":pscreen
" command to capture any part of your screen to a printer or to a disc file.
CommentsYou may append<<comments>>
to your answers to Adager prompts.
Running Adager in batch modeAccording to MPE requirements, you need tostream
a StreamFile to launch a job. Your StreamFile logs on in batch mode to invoke Adager. Because there is no interactive dialogue in batch mode, your StreamFile must contain correct responses to all of the prompts that Adager issues at job run time.
Automatically creating a StreamFile
You may certainly create a StreamFile manually, with an editor, but this is a tedious and error-prone task. Adager provides a way which is simpler and safer. Log on in session mode and:
:run Adager.Pub.Rego; parm=8
With parm=8, Adager opens your database in shared, read-only mode and lets you specify changes without actually applying them. In the process, Adager builds a StreamFile on your behalf, with the appropriate job statement and the necessary Adager dialogue (but without passwords, so that unauthorized people who may happen upon the StreamFile will not be able to submit it as a job).
For documentation purposes, you may ask Adager to include its prompts as comments within the StreamFile.
Adager lets you create a Qedit StreamFile file which you can launch as a job from within Qedit (MPE's command interpreter does not recognize Qedit StreamFiles).
System Managers or Account Managers creating StreamFiles
By running Adager withparm=8
, a user with special capabilities can save some time:
In either case, the StreamFile will logon as the database's creator in the database's group and account without any further work on your part.
- A user with Account Manager (AM) capabilities can create a StreamFile to change any database in the account.
- A user with System Manager (SM) capabilities can create a StreamFile to change any database in the system.
Adager's philosophy is: If you are authorized (by MPE and by IMAGE) to do something in a complicated way, Adager helps you do it in a simple way.
For instance, there is no reason for Adager to force you to go through hoops if you already have the necessary MPE capabilities to use restricted commands (such as"listfile -3"
or"listuser; pass"
or"listacct; pass")
that let you find out passwords that you can then use to logonin session or in batchas the creator of a given database.
Your Adager Guide (Section 9 of 13) First | Prev Table of Contents | Index Next | Last