BIM-EDIT User Reference Manual

advertisement
BIM-EDIT
PROGRAM EDITOR
SYSTEM REFERENCE MANUAL
Release 5.4
(COPYRIGHT © 2000, B I MOYLE ASSOCIATES, INC.)
BIM-EDIT is a proprietary product of B I Moyle Associates, Inc. It cannot be reproduced,
changed, copied, or stored in any form (including, but not limited to, copies on magnetic media)
without the express prior written permission of B I Moyle Associates, Inc.
This documentation applies to Release
5.4 of the program product BIM-EDIT.
Original Printing........................07/11/2000
Last Revised ...............................08/23/2000
TABLE OF CONTENTS
Chapter 1. Introduction ............................................................................................................1
Chapter 2. Writing Procedures ................................................................................................2
Basic Procedures...................................................................................................................... 3
The Rules of Basic Procedures ........................................................................................ 4
Editing without the LCA and Text Display Area ................................................................. 4
Command Line Equivalents of LCA Commands........................................................ 5
Text Display Area Equivalents ......................................................................................... 6
Positioning in a Session ..................................................................................................... 6
Making a Display Session into a Procedure........................................................................ 7
Variables.................................................................................................................................... 8
Variable Declaration........................................................................................................ 8
Array Variables .................................................................................................................. 9
Signed NumericVariables................................................................................................ 9
Variable Substring Support.............................................................................................. 9
Variable Replacement .................................................................................................... 10
Assigning Values to Variables......................................................................................... 12
The PARSE Command ...................................................................................................... 14
Control Commands................................................................................................................. 16
Commentary on Complicated Procedures ....................................................................... 21
The MAPF Command.............................................................................................................. 22
Predefined Variables............................................................................................................... 25
PPDCOND, SIBRETCD and SIBMSG................................................................................. 29
The EXAMINE Command........................................................................................................ 31
Text-Following Commands..................................................................................................... 34
Use of INCLUDE and PPDTRAP ........................................................................................ 34
Special Rules ...................................................................................................................... 36
Manipulation of Data within ........................................................................................... 36
Using BROWSE and READ to Process Members, Libraries, etc. ....................................... 37
Application Interface Capability for Procedures .............................................................. 42
Debugging Procedures .......................................................................................................... 44
Special Techniques.................................................................................................................. 47
Modularity........................................................................................................................... 47
Passing Values Between Procedures ............................................................................ 47
Making Procedures Into Commands ............................................................................ 48
Batch Utility and Application Interface Input as a Procedure................................. 49
Chapter 3. Advanced User Command ..................................................................................50
ADD - Set variable to current value plus specified value ................................................ 53
AUDITF - Write following comment lines to audit trail ....................................................... 54
AUDITRP - Write member audit trail to tape ....................................................................... 55
BLOCK - Execute following line(s) until ENDBLOCK/LEAVE/LOOP .................................. 57
BROWSE - Set TXM variables to attributes of next member ............................................. 58
BROWSEL - Set TXL variables to attributes of next library.................................................. 59
CONSOLEF - Write following lines to operating system console ..................................... 60
DECLARE - Create new variable........................................................................................... 61
DEQUEUE - Release exclusive ownership of common resources ................................... 64
DISPLAYF - Display following lines.......................................................................................... 65
DIVIDE - Set variable to current value divided by specified value ................................ 66
EJECT - Skip to top of page.................................................................................................... 67
I
TABLE OF CONTENTS
ELSE - Execute following line(s) if preceding IFTHEN is false..............................................68
ENDBLOCK - Marks the end of a preceding BLOCK sequence ......................................69
ENDIF - Marks the end of a preceding IFTHEN/ELSE sequence .......................................70
ENQUEUE - Synchronize access to common resources ....................................................71
EXAMINE - Test current session line for character string ....................................................72
EXIT - Terminate procedure ....................................................................................................75
GOSUB - Perform commands starting at LABEL until next RETURN..................................76
GOTO - Execute starting at matching LABEL ......................................................................77
HEADF - Set page heading to the following lines ..............................................................78
HEXIF - Execute following line only if (hex) test is true........................................................79
HEXREQ - Performs various hexadecimal operations ........................................................81
IF - Execute following line only if test is true .........................................................................83
IFD - Execute following line only if test is true ......................................................................85
IFTHEN - Execute following line(s) only if test is true............................................................87
INCLUDE - Incorporate lines from another source during process..................................89
INSERTF - Alter session text - insert following lines................................................................94
INTERVAL - Determine the interval between two dates and times ................................95
LABEL - Execute starting here after matching GOTO........................................................97
LEAVE - Continue processing following the next ENDBLOCK command......................98
LOADD (VSE) - Create member from VSE sublibrary member ........................................99
LOADD (MVS) - Create member from MVS PDS member................................................100
LOADDL (VSE) - Create members from VSE sublibrary members ...................................101
LOADDL (MVS) - Create members from MVS PDS members ...........................................102
LOADT - Create members from a..........................................................................................103
LOGF - Write following lines to $LOG ....................................................................................106
LOGON - Enter BIM-EDIT ..........................................................................................................107
LOOP - Continue processing at the preceding BLOCK command ...............................109
LUCL - Close a connection to a partner BIM-EDIT..............................................................110
LUOP - Open a connection to a partner BIM-EDIT.............................................................111
LURC - Receive a response or data from a partner BIM-EDIT..........................................112
LUSD - Send a command or data to a partner BIM-EDIT..................................................113
MAPF - Display following lines and obtain user response .................................................114
MULTIPLY - Set variable to current value multiplied by specified value ........................118
OUTPUTF - Write following lines to the SIBOUTPT destination ............................................119
PARSE - Set variables to procedure operand values ........................................................121
PEND - Establish a password for one-time batch use........................................................123
PHONETIC - Convert a name or word to a phonetic value.............................................125
PRINT - Print member or session text......................................................................................126
PRINTF - Print following lines ....................................................................................................129
PUNCH - Punch member text.................................................................................................131
PUNCHF - Punch following lines .............................................................................................134
PUNCHI - Punch single line......................................................................................................135
PUNCHL - Punch text for all members of a specified library ............................................136
READ - Set TXM variables to attributes of specified member ..........................................137
READL - Set TXL variables to attributes of specified library ...............................................138
READP (VSE) - Set PWR variables for POWER job entry......................................................139
READP (MVS) - Set JCT,JOE,JQE,PDB variables for JES data sets ....................................141
REPRO - Write member text to tape .....................................................................................143
REPROF - Write following lines to tape..................................................................................147
REPROI - Write single line to tape ..........................................................................................149
REPROL - Write text for all members of a library to tape...................................................151
II
TABLE OF CONTENTS
RETURN - Return to statement following preceding GOSUB............................................ 152
SEGMENT (VSE) - Close and reopen SYSLST ........................................................................ 153
SEND - Transfer text of a member to an application ........................................................ 154
SENDF - Transfer following lines to an application ............................................................. 156
SENDI - Transfer single line to an application ..................................................................... 157
SENDMSG - Send a message to the terminal message area.......................................... 158
SENDN - Transfer a specified session line to an application ............................................ 159
SET - Set variable to specified value .................................................................................... 160
SETD - Set variable to value of another variable ............................................................... 164
SETL - Set variable to length of another variable value ................................................... 166
SETM - Set variable to message text of message id.......................................................... 167
SHOW (VSE) - Display BIM-EDIT status information ............................................................. 168
SHOW (MVS) - Display BIM-EDIT status information............................................................ 170
SNAP - Activate / Deactivate snapshot debugging ........................................................ 172
STACKF - Write following lines to $STACK............................................................................. 173
SUBMITF - Submit following lines for batch processing...................................................... 174
SUBTRACT - Set variable to current value minus specified value ................................... 176
TRANSFER - Transfer from one procedure to another ....................................................... 177
VAPPEND - Set variable to current value extended by characters .............................. 178
VEXAMINE - Test variable for character string.................................................................... 179
VLOWERCA - Set variable to current value translated to lowercase............................ 181
VTESTNUM - Test variable for valid numeric string.............................................................. 182
VTRUNCAT - Set variable length to exclude trailing blanks ............................................. 183
VUPPERCA - Set variable to current value translated to uppercase ............................ 184
WAIT - Give up control for a specific time interval............................................................ 185
Chapter 4. Predefined Variables ............................................................................................186
Miscellaneous Variables ......................................................................................................... 188
JCT Variables (MVS Only) ....................................................................................................... 189
JOEVariables (MVS Only) ....................................................................................................... 192
JQEVariables (MVS Only) ....................................................................................................... 193
MMP Variables.......................................................................................................................... 194
OPS Variables ........................................................................................................................... 201
PDB Variables (MVS Only) ...................................................................................................... 202
PPD Variables ........................................................................................................................... 204
Special Processing for INCLUDE Commands............................................................... 209
Input Modifications made by Text-Following Commands........................................ 210
PWR Variables (VSE Only)....................................................................................................... 212
SIB Variables.............................................................................................................................. 214
SSD Variables ............................................................................................................................ 224
TXL Variables ............................................................................................................................. 229
TXM Variables ........................................................................................................................... 230
TXS Variables ............................................................................................................................. 234
TXU Variables ............................................................................................................................ 235
XTR Variables............................................................................................................................. 238
Chapter 5. Batch Utility.............................................................................................................239
Batch Utility JCL ........................................................................................................................ 240
Batch Utility for LU 6.2 .............................................................................................................. 241
Using ++() to Batch Process Lines Longer than 80 Characters ....................................... 242
Printing from Batch Utility........................................................................................................ 242
III
TABLE OF CONTENTS
Chapter 6. Application Interface............................................................................................244
Application Interface Modules..............................................................................................245
Using the Application Interface.............................................................................................246
Commands for the Application Interface...........................................................................247
Returning Data from BIM-EDIT Commands..........................................................................248
Application Interface Program Example.............................................................................250
Chapter 7. BIM-EDIT Installable Features ...............................................................................252
DEMO - Demonstrate BIM-EDIT Features (VSE Only) ..........................................................254
PASSWORD - Verification Feature .........................................................................................255
TODAY - Reminders of Calendar Events ..............................................................................256
INSTALL and SERVICE - Apply IBM Corrective Service (VSE only) ....................................257
ARCHIVE and RECOVER - BIM-EDIT Archive Facility...........................................................258
Generation Library ($SIT.GEN) .........................................................................................258
Archive Library ($SIT.ARCHIVE)........................................................................................258
COPYBOOK - VSE Copy Book Facility (VSE Only) ...............................................................260
Chapter 8. Operator, Administrator Commands ..................................................................264
ABENDXIT (VSE) - Activate or inactivate the abend intercept exit ................................266
ALTERS - Alter library/user security entry ...............................................................................268
ALTERU - Alter user attributes ..................................................................................................269
ARCHIVE - Write members in archive library to tape ........................................................272
AUDITCF - Re-connect audit trail to a member .................................................................275
AUTHORIZ - Bypass library security .........................................................................................276
BACKUPG (VSE) - Create a complete logical system backup tape .............................277
BACKUPG (MVS) - Create a complete logical system backup tape ............................279
BACKUPP (VSE) - Create a complete physical system backup tape ............................281
BACKUPP (MVS) - Create a complete physical system backup tape ..........................282
BACKUPS - Create a selective logical system backup tape ...........................................283
BROWSES - Set TXS variables to next library/user security entry.......................................286
BROWSEU - Set TXU variables to attributes of next user.....................................................287
BYPASS - Execute following line at a higher command level ..........................................288
CHECKRST - Re-establish a CHECKOUT relationship...........................................................289
CONNECT - Establish connection to VTAM or TCP/IP ........................................................291
CONTROLP (VSE) - Issue a command string to POWER.....................................................292
CONTROLP (MVS) -Issue a command string to JES ............................................................293
CORE (VSE) - Display contents of computer memory.......................................................294
CORE (MVS) - Display contents of computer memory .....................................................295
DEALLOC (MVS) - Make allocated PDSs available for other processes ........................296
DEFINES - Create a new library/user security entry ............................................................297
DEFINEU - Create a new user .................................................................................................298
DEFINEX - Create a mail proxy entry.....................................................................................302
DISABLE - Make a BIM-EDIT command or userid inaccessible .........................................303
DISCONN - Terminate connection to VTAM or TCP/IP ......................................................304
DISPLAYI (VSE) - Display text of an ICCF member ..............................................................305
ENABLE - Make a BIM-EDIT command or userid accessible.............................................306
FALTERS - Display / alter a library/user security entry .........................................................307
FALTERU - Display / alter user attributes................................................................................308
FDEFINES - Create a new library/user security - formatted screen .................................309
FDEFINEU - Create a new user - formatted screen ............................................................311
GETI (VSE) - Alter session text - insert text of an ICCF member ........................................313
IV
TABLE OF CONTENTS
INQUIREU - Display user attributes......................................................................................... 314
LIBRARYG (VSE) - Display list of members on a logical backup tape............................ 315
LIBRARYG (MVS) - Display list of members on a logical backup tape .......................... 316
LIBRARYI (VSE) - Display list of members in an ICCF library .............................................. 317
LIBRARYN - Display list of BIM-EDIT temporary passwords................................................. 318
LIBRARYR - Display list of BIM-EDIT routines .......................................................................... 319
LIBRARYS - Display list of library/user security entries ......................................................... 320
LIBRARYT - Display list of active BIM-EDIT tasks.................................................................... 322
LIBRARYX - Display list of mail proxies ................................................................................... 324
LOADI (VSE) - Create member from ICCF library member.............................................. 325
LOADIL (VSE) - Create members from ICCF library members......................................... 326
LISTI (VSE) - Display text of an ICCF member...................................................................... 328
NEWCOPY - Load a new copy of a BIM-EDIT module...................................................... 329
PRINTG (VSE) - Print members contained on a logical backup tape ........................... 331
PRINTG (MVS) - Print members contained on a logical backup tape.......................... 332
PURGEN - Delete a BIM-EDIT temporary password ........................................................... 333
PURGES - Delete library/user security entry......................................................................... 334
PURGET - Delete BIM-EDIT task............................................................................................... 335
PURGEU - Delete BIM-EDIT user.............................................................................................. 336
PURGEX - Delete mail proxy................................................................................................... 337
READS - Set TXS variables to specified library/user security entry................................... 338
READU - Set TXU variables to attributes of specified user................................................. 340
RECOVER - Recover a member to a previous change level.......................................... 341
REORG - Concatenate fragmented areas in the BIM-EDIT library ................................. 344
RESTORE (VSE) - Re-create a specified member from a logical backup tape ........... 345
RESTORE (MVS) - Re-create a specified member from a logical backup tape.......... 348
RESTOREL (VSE) - Re-create a specified library from a logical backup tape .............. 350
RESTOREL (MVS) - Re-create a specified library from a logical backup tape............. 352
SETKEYS - Set user's PF keys to initial standards ................................................................... 354
SHUT - Shut Down BIM-EDIT for normal use .......................................................................... 355
TRACE - Activate or inactivate the trace facility............................................................... 357
VERIFY - Check the integrity of the BIM-EDIT library........................................................... 358
ZAP - Apply temporary fixes to BIM-EDIT.............................................................................. 359
Chapter 9. Installation and Maintenance..............................................................................360
Upgrades ................................................................................................................................... 360
Contacting BIM-EDIT Technical Support ............................................................................. 360
First Time Installation on VSE ................................................................................................... 361
System Prerequisites.......................................................................................................... 361
Distribution Tape Format.................................................................................................. 361
Installation Steps................................................................................................................ 361
First Time Installation on MVS ................................................................................................. 371
System Prerequisites.......................................................................................................... 371
Distribution Tape Format.................................................................................................. 371
Installation Steps................................................................................................................ 371
Installing BIM-EDIT under an Alternate System Name ....................................................... 379
First Time Logon ........................................................................................................................ 380
Initial Contents of Libraries ..................................................................................................... 382
Common Problems.................................................................................................................. 384
Chapter 10. Operations and Administration..........................................................................386
V
TABLE OF CONTENTS
Starting BIM-EDIT .......................................................................................................................387
Controlling BIM-EDIT from the System Console ...................................................................389
Backups and Restores .............................................................................................................390
Logical vs Physical .............................................................................................................390
Backup/Restore Scenarios...............................................................................................390
Full Backup ..........................................................................................................................391
Full Logical Restore ............................................................................................................392
Selective Logical Restore .................................................................................................393
Selective Logical Backup.................................................................................................394
Full Physical Restore...........................................................................................................395
User Definition and Modification ...........................................................................................396
Creating a User ..................................................................................................................396
Changing a User ................................................................................................................397
Deleting a User ...................................................................................................................397
Library Security ..........................................................................................................................398
Basic Library Security.........................................................................................................398
Generic Library Security ...................................................................................................399
Library Security for VSE Sublibraries and MVS PDSs .....................................................399
External Security (MVS Only) ..................................................................................................401
Purge Control ............................................................................................................................402
Background ........................................................................................................................402
Continuing Maintenance ................................................................................................402
Getting a Member Back ..................................................................................................402
Managing Disk Space .............................................................................................................404
How BIM-EDIT Uses Disk Space ........................................................................................404
Fragmentation ...................................................................................................................404
Estimating the Blocks Required for a BIM-EDIT Library ................................................405
Converting BIM-EDIT Blocks to FBA Blocks/CKD Tracks...............................................406
Doing Something About Too Little Space.....................................................................406
Managing Memory Utilization ................................................................................................407
Memory Management Control Variables ....................................................................408
Initial Storage Estimates for VSE ......................................................................................409
Initial Storage Estimates for MVS .....................................................................................410
Transferring Members from Other Editors.............................................................................412
Transferring Members from ICCF (VSE Only).................................................................412
Transferring Members from MVS PDSs or VSE Sublibraries ..........................................412
Transferring Members using the LOADT Command....................................................412
Transferring Members by Creating a BIM-EDIT Command Tape..............................413
Chapter 11. Customizing BIM-EDIT..........................................................................................414
Modifying System Control Variables.....................................................................................415
Modifying DEFINE Templates ..................................................................................................416
Disabling TYPE Check........................................................................................................417
Modifying HELP Displays ..........................................................................................................418
Modifying Error Messages .......................................................................................................419
Controlling Logon .....................................................................................................................420
Forcing Secured Logon ....................................................................................................420
Overriding Logon ...............................................................................................................420
Customizing the Logon Screen .......................................................................................421
Performing Special Processing after LOGON (LOGON Procedure) ........................421
Performing Special Processing before LOGON (BIXLOGN Module)........................421
VI
TABLE OF CONTENTS
Controlling Access to POWER Job Entries or JES Data Sets ............................................. 423
Modifying COMPILE, PROCESS, and SUBMIT....................................................................... 425
The COMPILE command ................................................................................................. 425
The PROCESS command ................................................................................................. 428
The SUBMIT command ..................................................................................................... 428
The SUBMITF Exit (BIXPWSB) .............................................................................................. 429
Modifying Other System Procedures.................................................................................... 430
Creating Library, User and Site Commands ....................................................................... 431
How Command Resolution Works ................................................................................. 431
Creating Your Own Commands .................................................................................... 432
Preempting BIM-EDIT's Commands................................................................................ 432
Creating a CHECKIN Command Which Keeps Old Versions.......................................... 434
Altering System Commands, Names and Restrictions (BIFXCCM Table) ...................... 435
Structure of the System Command Table .................................................................... 435
Changing BIFXCCM.......................................................................................................... 436
Creating Commands Which Access CICS Transactions (BIFXCTR Table)..................... 438
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)................................ 440
Background........................................................................................................................ 440
Modifying BIM-EDIT Modules ........................................................................................... 442
Creating New BIM-EDIT Modules.................................................................................... 444
Deleting BIM-EDIT Modules.............................................................................................. 444
Changing MAPF Screen Attribute Characters (BIFTBAT Table)....................................... 446
Changing the CICS Data Module (BIMCSDT) .................................................................... 447
Chapter 12. BIM-EDIT BTAM Terminal Interface Facility........................................................448
Table Generation..................................................................................................................... 449
Defining a BTAM BTMOD.................................................................................................. 450
Defining a BIM-EDIT BTAM Interface Terminal Control Table .................................... 451
BIMTCT Parameters for TYPE=INITIAL.........................................................................452
BIMTCT Parameters for TYPE=LINE.............................................................................453
BIMTCT Parameters for TYPE=TERMINAL ..................................................................454
Startup........................................................................................................................................ 456
Shut Down ................................................................................................................................. 457
Messages................................................................................................................................... 458
Chapter 13. Technical Overview ............................................................................................459
Register Utilization / Calling Conventions............................................................................ 459
Control Blocks / Buffers ........................................................................................................... 460
Key Sequence Access ............................................................................................................ 461
Text Access .............................................................................................................................. 462
Recovery / Integrity ................................................................................................................. 464
Index............................................................................................................................................465
VII
TABLE OF CONTENTS
VIII
Chapter 1. Introduction
This manual is the second of two manuals describing BIM-EDIT, a data storage and
editing program for IBM mainframe computers. The audience for this manual is
advanced BIM-EDIT users, and those who are assigned to install, maintain, and manage
BIM-EDIT.
In general, this manual is written on the assumption that you have read and understood
the first manual, the BIM-EDIT User Reference Manual. (However, it should be possible
to perform the initial installation of BIM-EDIT without a detailed understanding of the
product).
This manual is subdivided into two parts: the Advanced User chapters and the
Operations and Administration chapters. The Advanced User chapters follow:
•
Chapter 2 is a tutorial on how to write procedures.
•
Chapter 3 is the reference chapter for additional commands that are used in BIMEDIT procedures and when using BIM-EDIT in batch.
•
Chapter 4 is the reference chapter on the predefined variables.
•
Chapter 5 explains how to use BIM-EDIT in batch.
•
Chapter 6 explains how to access BIM-EDIT from a user program.
•
Chapter 7 describes BIM-EDIT procedures applications that are installed with the
product.
The remaining chapters are the Operations and Administration chapters:
•
Chapter 8 is the reference chapter on the Operator and Administrator commands.
•
Chapter 9 describes how to install and maintain BIM-EDIT.
•
Chapter 10 describes issues relating to keeping BIM-EDIT running.
•
Chapter 11 discusses various ways you can customize BIM-EDIT to your needs.
•
Chapter 12 discusses BIM-EDIT's BTAM interface.
•
Chapter 13 provides technical detail on how BIM-EDIT works. Its principal value is
as background information.
This version of BIM-EDIT is capable of cooperating with the PC-based product BIMEDIT/XP. BIM-EDIT/XP is designed to offload processing from the mainframe to the
user's workstation and to provide an editing environment released from the restrictions
of the IBM 3270 display terminal protocol.
When the term "Workstation" appears in this manual to describe a method of online
access to BIM-EDIT, it refers to BIM-EDIT/XP.
This manual is not intended as documentation for BIM-EDIT/XP.
Chapter 1. Introduction
Page 1
Chapter 2. Writing Procedures
This chapter discusses writing procedures. BIM-EDIT procedures are a powerful feature
you can use to:
•
perform automatic processing
•
simplify complex editing needs
•
perform actions to many members
•
modify the function of BIM-EDIT commands
BIM-EDIT has special commands that may be used in a procedure to control the
execution of normal BIM-EDIT commands. In aggregate, these commands constitute a
"computer programming language". In order to write procedures with any complexity,
you must learn how to use this language.
Writing procedures is also relevant to the way BIM-EDIT is used from batch processing
(the Batch Utility) and when BIM-EDIT is called directly from a program you might
write (the Application Interface).
This chapter will explain how to write procedures, with integrated examples. It is
intended to be read in sequence. It is not intended to be used for reference. Detailed
reference information about commands is provided in Chapter 4, Commands, in the
BIM-EDIT User Reference Manual, and Chapters 3, Advanced User Commands, and 7,
Operator and Administrator Commands, in this manual. Detailed reference information
about predefined variables is available in Chapter 4, Predefined Variables, in this
manual.
The sections in this chapter are:
Page 2
•
Basic Procedures
•
Editing Without the LCA and Text Display Area
•
Making a Display Session into a Procedure
•
Variables
•
Control Commands
•
The MAPF Command
•
Predefined Variables
•
The EXAMINE Command
•
Text-Following Commands
•
Using BROWSE and READ to Process Members, Libraries, Etc.
•
Application Interface Capability for Procedures
•
Debugging Procedures
•
Special Techniques
BIM-EDIT System Reference Manual
Basic Procedures
Basic Procedures
Procedures can be quite simple. If you create a member of type PROC and enter BIMEDIT commands into it, you will have a procedure. You can execute the procedure by
typing the EXECUTE command followed by the name of the member.
An Example
Suppose you have been given the assignment of modifying a member by changing all
instances of the string of characters SYSLST to SYSOUT. Also suppose you are required
to insert a line before every line you change which reads:
* FOLLOWING CHANGED BY <your initials> <today's date>
You could perform this change instance-by-instance by the following sequence of
operations:
1.
Use the LOCATE command to find the next instance of SYSLST.
2.
Use the CHANGE command (or directly edit) to change it to SYSOUT.
3.
Move up one line.
4.
Insert the comment line.
But what a bore if there were fifty instances of SYSLST!
It would be quicker to use multiple commands on the command line as described in
Chapter 6 of the BIM-EDIT User Reference Manual, but there are limitations to that
approach:
•
If you have to perform the same process several times with intervening commands,
you will have to re-key the multiple commands.
•
The commands are limited to about 74 characters total.
(You can get around these limitations in some cases by assigning commands to PF keys
and by clever use of the CHANGE command. However, your "solution" will become
more and more convoluted.)
Instead, let's create a simple procedure to perform this edit:
=> define lst2out,proc;ed
Now type the following commands into the session:
l SYSLST
;find next entry
;(procedure will err here if no more)
c SYSLST,SYSOUT
;perform the change
up 1
;up a line
insi '* FOLLOWING CHANGED BY WDM 12/31/95' ;insert marker line
and finally:
=> save
Chapter 2. Writing Procedures
Page 3
Editing without the LCA and Text Display Area
To use this procedure, position at the top of an EDIT session of the member to be
changed and type:
=> &exec lst2out
Now just keep hitting ENTER until the following message appears:
(BIRSCN1A) ** STR "SYSLST" NOT FOUND **
(This message will appear when the LOCATE command on the first line of the
procedure fails by not finding the string. Since this is an error, the procedure will
terminate at that point.)
The Rules of Basic Procedures
To create a procedure, you simply DEFINE a member of type PROC, EDIT it and type
BIM-EDIT commands into the text area, one to a line. Almost any BIM-EDIT command
can be used in a procedure. Once you have all the commands typed, save the session.
There are a few things to be aware of while entering the procedure:
•
You cannot use the semicolon (;) to put multiple commands on a line because all
text to the right of a semicolon on a procedure line is treated as a comment.
•
You can make comment lines by beginning a line with an asterisk (*), although
using semicolons is more flexible. (Asterisks are an old method of commenting
BIM-EDIT procedures. New procedures should use semicolon.)
•
You can continue a command to the next line by ending the first line with a space
followed by a dash (" -").
To invoke a procedure, you can use the EXECUTE command followed by the name of
the procedure member or, if the name of the procedure is less than eight characters and
it is in the attached library, simply type the name of the procedure member (that is,
leave off the EXECUTE).
When a procedure is invoked, the commands you typed into it will be processed by
BIM-EDIT, in the order they appear in the member, until it encounters
•
the end of the procedure
•
an error, or
•
one of the special procedure commands that changes the order of execution (to be
described shortly)
Editing without the LCA and Text Display Area
Editing a session is different in a procedure than it is on the screen. This is because the
LCA and the text display area are not accessible to a procedure. Specifically for use in
procedures and the Batch Utility (BIM-EDIT executed in batch), BIM-EDIT provides a
set of commands to perform changes to sessions without reference to the LCA or the
text display area. This section discusses the command line equivalents of what you are
used to doing on the screen. (You may have noticed the example in the previous section
used INSERTI, one of these commands.)
Page 4
BIM-EDIT System Reference Manual
Editing without the LCA and Text Display Area
Command Line Equivalents of LCA Commands
A number of commands are fairly direct equivalents of the LCA commands. For
example, LADD can be used to add lines to a session, just like the LCA "A" command. A
table of similar equivalencies is given below. All of these commands are documented in
detail in Chapter 4 of the BIM-EDIT User Reference Manual.
These commands all share some common features:
•
They operate on the current session.
•
They operate starting at or after the "current line".
•
They have an FCT operand that specifies how many lines are to be affected. If no
value is specified for FCT, one line will be affected. If "*" is specified for FCT, the
command will affect all lines from the current line to the end of the session.
•
If relevant, they have a ZONE operand that specifies the column range that is to be
affected. If no value is specified for ZONE, the current session zone will be used.
The following table lists equivalencies:
An
B
Cn
Dn
G
I
Jn
Kn
LADD n (or INSERTI)
UP 1 then GET $STACK
STACK n,CL
DELETE n
MERGE
GET $STACK
MERGE n
STACK n,AP
Mn
Nn
"n
<n
>n
+n
(n
)n
STACK n,CL then DELETE n
STACK n,AP then DELETE n
DUP n
SHIFT -n
SHIFT +n
CENTER n
JUSTIFYL n
JUSTIFYR n
These commands can fairly easily substitute for the type of LCA command that
specifies a number of lines. They are often more convenient than LCA commands if a
ZONE must be specified. However, the bracketed (double letter) LCA feature has no
direct equivalent -- you must determine the number of lines to be affected before using
a command.
Chapter 2. Writing Procedures
Page 5
Editing without the LCA and Text Display Area
Text Display Area Equivalents
Three commands are used to perform most of the text display modifications that are
done in procedures:
INSERTI
used to insert a line containing text in one action. The line is inserted after
the current line and the inserted line becomes the current line.
OVERLAY
used to put text on the current line at a specified column location. It is
used where the column is known. (Inserting or deleting characters at a
column can be done using the SHIFT command with an appropriate
ZONE operand).
CHANGE
used to type over a line or insert or delete characters in a line (by
changing to a longer or shorter string). It is used where the prior contents
are known.
One other command should be mentioned in this context: the INSERTF command will
insert a number of lines into a member. It will be described later in the "Text-Following
Commands" section.
Positioning in a Session
The final area of difference is positioning in a session. Unlike online editing, where you
can scroll through the session and identify the location of the edit by sight, in a
procedure you must always use a command to position exactly. The commands which
can be used to position are:
TOP
BOTTOM
UP
DOWN (or NEXT)
POSITION
LOCATE
LOCATEU
NFIND
NFINDUP
FIND
FINDUP
Notes:
1.
FORWARD and BACK are not typically used in procedures because they are
dependent on logical screen size, which may differ by terminal. (Although the
combination BOTTOM and then FORWARD is sometimes used).
2.
BOTTOM positions to the last screen in the session. To position to the last line of a
session, use BOTTOM followed by FORWARD.
3.
The bottom is the last line of the session but the top is one line before the first line of
the session. FINDUP, LOCATEU, and NFINDUP from the bottom of a session will
not find the target if it is on the last line but FIND, LOCATE, and NFIND from the
top of a session will find the target if it is on the first line. Similarly, INSERTI from
the top of the session will insert the first line of the session (that is, the inserted line
will be "after the line before the first line of the session").
These commands are described in more detail in Chapter 4 of the BIM-EDIT User
Reference Manual.
Page 6
BIM-EDIT System Reference Manual
Making a Display Session into a Procedure
Making a Display Session into a Procedure
One of the most common uses of basic procedures is making a display session into a
procedure. For example, suppose you need to ALTER all members of the current library
which are of type COBOL and contain the string PAYABLE in their title. You want to
change the assigned user to PATTY. If there were many members, you would have to
do a fair amount of typing to make this change manually. However, it is easy to do this
task as follows:
1.
Use the command
=> LIB TYPE=COBOL TITLE=\PAYABLE FMT=NAME
to create a display session with just the member names, like the following:
-- TOP OF DISPLAY -CJA22
CJA23
CJA24
CJA26
CJA27
CJA39
CJA67
-- END OF DISPLAY --
2.
Use the commands
=> OVERLAY 1 'ALTER' *
=> OVERLAY 35 'USER=PATTY' *
to change the display session to this:
-- TOP OF DISPLAY -ALTER
CJA22
ALTER
CJA23
ALTER
CJA24
ALTER
CJA26
ALTER
CJA27
ALTER
CJA39
ALTER
CJA67
-- END OF DISPLAY --
3.
USER=PATTY
USER=PATTY
USER=PATTY
USER=PATTY
USER=PATTY
USER=PATTY
USER=PATTY
Use the command
=> EXECUTE /
to execute the display session as commands.
With a little ingenuity, this technique can be used to purge, rename or modify members.
It can also be used for other types of entities which are listed in display sessions.
Chapter 2. Writing Procedures
Page 7
Variables
Variables
Simply storing and executing sequences of BIM-EDIT commands in a member is
convenient but not particularly powerful. One weakness is that these sequences of
commands aren't "generic", that is, they can't be used for several similar tasks. For
example, we would have to write a different procedure if we wanted to change
LEDGER1 to LEDGER2 instead of SYSLST to SYSOUT. Of course, there is more to BIMEDIT's procedure capabilities. To make procedures generic, we need to discuss
"variables".
BIM-EDIT variables are named locations in which you can store numerical working
values (for example, the current line number) or character working values (for example,
source and target strings of a CHANGE command). The variables discussed in this
section are ones you "declare" to BIM-EDIT before you use them. They can have nearly
any name and value you care to give them. (There are also "predefined variables" which
you can use to interact with BIM-EDIT itself. We will discuss them later in this chapter.)
Variable Declaration
Before you can use a declared variable, you must tell BIM-EDIT to reserve space and a
name for it by using the DECLARE (abbreviated DCL) command. DECLARE can only
be used within a procedure and has six operands:
•
The name you want to give the variable (up to 8 characters, cannot be a name
already used for a variable, or a name reserved for a predefined variable).
•
The type of value the variable is to contain:
CHAR
NUM
NUMS
character
unsigned numeric
signed numeric
•
The maximum length of the variable's value.
•
The "format" in which to represent the variable value when it is "replaced" into
commands or displays (V=variable length, F=fixed length, Z=fixed length number
with zero suppress, E=fixed length number with commas)
•
The "case" of the value of the variable. If case is omitted, it is assumed to be "U" for
upper case but "M" for mixed case can be specified.
•
The "scope" of the variable. If scope is omitted, it is assumed to be "local" (only
visible to the current procedure). "GLOBAL" can be specified to make the variable
visible to all procedures nested within a call.
Examples of the use of the DECLARE command would be:
DECLARE MYVAR,CHAR,10,V
DCL GEORGE72,NUM,6,F
;CREATE "MYVAR" - VALUE CAN BE 10 CHAR VARYING LEN
;CREATE "GEORGE72" - VALUE CAN BE 6 DIGIT FIXED LEN
Locally declared variables are available only within the procedure they are declared in.
That is, they cease to exist when the declaring procedure terminates. However, globally
declared variables remain available as long as any procedure for this logon is executing.
Page 8
BIM-EDIT System Reference Manual
Variables
Array Variables
Array variables can be defined by following the 'name' field of the DECLARE command
by the number of entries to be contained in the array. The following example declares
an array of 43 entries for variable name CMD:
DECLARE CMD(43),CHAR,1,F
Array variables can be of any type (CHAR, NUM or NUMS).
Individual array entries are referenced by including the desired occurrence immediately
after the variable name, enclosed in parentheses. The occurrence value can either be a
literal, or a numeric variable:
SETD VAR1 CMD(1)
SETD VAR1 CMD(&N)
(this requires variable PPDVBL to be set to 1)
If you specify the array occurrence number as a variable, your procedure must also set
the predefined variable PPDVBL to 1 to enable variable replacement.
Signed Numeric Variables
Numeric variables can be defined as either "Signed" or "Unsigned":
DECLARE N1,NUM,3,F
DECLARE N2,NUMS,3,F
(Declare an unsigned numeric variable)
(Declare a signed numeric variable)
SET N2,1
SET N2,-1
(set the variable N2 to a positive 1)
(set the variable N2 to a negative 1)
If an attempt is made to generate a negative number in an unsigned variable, the
offending command will be rejected.
Variable Substring Support
A special syntax can be used by procedures to provide 'substring' access to variables:
varname{start,length}
•
The value for 'start' represents the starting position, relative to 1, of the substring. It
cannot exceed the length of the data in the variable.
•
The value for 'length' represents the length of the substring. The sum of 'start' plus
'length' cannot exceed the length of the data in the variable.
Assuming the variable VAR1 contains the value: "ABCDEF":
SET VAR2 VAR1{1,3}
SET VAR2 VAR1{2,1}
•
(VAR2 will contain 'ABC')
(VAR2 will contain 'B')
Substring notation can be used anywhere in a procedure where a variable can be
used, including variable substitution. The values for 'start' and 'length' can also be
variables.
IF VAR1{&S,&L} EQ 'ABC'
Chapter 2. Writing Procedures
Page 9
Variables
If you specify 'start' or 'length' as variables, your procedure must also set the
predefined variable PPDVBL to 1 to enable variable replacement.
•
When using substring notation with an arrayed variable, the array index must
appear before the substring value:
IF CMD(10){1,3} EQ 'ABC'
The above example checks for positions 1 through 3 of the 10th array entry of
variable CMD to be equal to 'ABC'.
Variable Replacement
The principal use of variables is to "replace" their values into commands or text in order
to get work done. Replacement of the variable value for the variable name will occur
anywhere within the procedure if:
•
The variable name (in uppercase) is preceded by an ampersand (&)
•
The procedure contains the following command prior to the line where replacement
is to take place:
SET PPDVBL,1
Variable replacement will take place before any other processing of the line occurs.
Because of this, the value that is replaced into a command may be an operand, a part of
an operand, or several operands. For example, consider:
LOCATE &STR
If the variable STR had the value "Jones", this line will be processed by BIM-EDIT as a
simple LOCATE command:
LOCATE Jones
But if the variable STR had the value "XXX case=m zone=1-10", this line will be treated
as a more complex command:
LOCATE XXX case=m zone=1-10
And if STR had the value "XXXX YYYY ZZZZ", the same line would be in error:
LOCATE XXXX YYYY ZZZZ
You should consider the possibility that the value of a variable is
null (contains no characters) or contains special characters which
would cause errors. Generally, replacement entry for a CHAR variable
into a command should be enclosed in single LOCATE '&STR'
There are some additional rules for variable replacement:
•
Page 10
To be recognized, a variable name must be uppercase. It must end with a character
which is invalid in a variable name, which serves to separate it from any text which
follows it. If the special character following the variable name is a period (.), it will
be removed when the replacement is done.
BIM-EDIT System Reference Manual
Variables
•
If the & is followed by text which is not a declared or predefined variable name, the
line remains as is.
•
After any replacement takes place, the line will be re-examined to see if other
replacements can be performed.
These rules allow some tricky (and very useful) things to be done:
1.
The value of a variable can be butted up against other text by inserting a period
between the variable name and the text. For example, if SIZE is a variable which has
the value "32", the statement:
OVERLAY 20 'SIZE=&SIZE.K'
would overlay the text "SIZE=32K" in column 20 of the current line. (Without the
period, BIM-EDIT would have attempted to find the value of the variable SIZEK).
Note that the "period rule" has a problem-prone side effect: it is common to store
the name of a member in one variable and the name of its library in another. When
the time comes to replace the full member name into a command, you must place
TWO periods between the variable names because the first period will be
eliminated by the period rule:
EDIT &LIBNAME..&MEMNAME
2.
A value of a variable can be replaced into a line to make the name of another
variable, whose value is then replaced. For example, suppose:
•
LINE is not declared as a variable.
•
The following are declared:
DCL LINE01,CHAR,50,V
DCL LINE02,CHAR,50,V
DCL LNO,NUM,2,F
•
The following are values
LINE01's value is "This is the first line"
LINE02's value is "This is the second line"
LNO's value is 1
The command
INSERTI '&LINE&LNO'
will cause a line reading "This is the first line" to be inserted in the current session.
The sequence of events is this:
a.
BIM-EDIT would find &LINE, but it wouldn't replace it because LINE is not
declared as a variable.
b.
BIM-EDIT would find &LNO and would replace it with "01". (The leading zero
would be inserted because the format is "F").
Chapter 2. Writing Procedures
Page 11
Variables
c.
Having made a replacement, BIM-EDIT would re-examine the line and find
&LINE01, which it would replace with "This is the first line". There are no more
replacements.
d. Since the text is enclosed in single quotes, it will be treated as a single operand
to the INSERTI command.
Assigning Values to Variables
The following commands are used to set or modify the values of variables:
SET
sets the value of a variable to a specified value. Its first operand is the
name of the variable and its second operand is the value. For example,
SET MYVAR,'JELLO'
will set the value of variable MYVAR to the string of five characters
"JELLO". (If MYVAR was declared with a maximum length less than
five, the value will be truncated).
Replacement can be used in the value operand of the SET command to
set the value of a variable in a way which involves the value of another
variable. For example,
SET YOURVAR,'PLUM &MYVAR'
will set the value of variable YOURVAR to the five characters "PLUM "
followed by the value of the variable MYVAR. (If MYVAR still has the
value "JELLO", YOURVAR would have the value "PLUM JELLO").
SET has two optional operands which can be used to set a variable to
PART of a character string value. For example,
SET YOURVAR,'JELLO',3,2
will set the value of variable YOURVAR to the two characters starting
with the third character in "JELLO" -- in other words "LL".
SETD
sets the value of a variable to the value of another variable. Its first and
second operands are the names of variables. For example:
SET VAR2,625 SETD VAR1,VAR2
will set VAR1 to the value of VAR2, that is, 625. You can use SET with
replacement to move a value from one variable to another, but SETD
avoids the possibility of problems when the value to be moved contains
special characters
SETD has two optional operands exactly like SET which can be used to
set a variable to part of the value of another variable.
SETL
Page 12
sets the value of a variable to the current length of the value of another
variable. Its two operands are the names of two variables. As an
example,
BIM-EDIT System Reference Manual
Variables
SET PHRASE,'All our yesterdays'
SETL PHRASEL,PHRASE
would set the value of variable PHRASEL to 18.
SETM
sets the value of a variable to the message text associated with a
message id defined in;
$SYS.CTRL.MESSAGES or
$SIT.CTRL.MESSAGES.
As an example,
SETM MSG,'BIGMODE'
will set the value of MSG to:
(BIGMODE ) ** A SESSION MUST BE ACTIVE FOR THIS COMMAND **
ADD
adds a specified value to the value of a NUM variable. For example,
SET COUNT,1
ADD COUNT,2
will set the value of COUNT to 3. If you want to add the value of one
variable to another, you must use replacement:
ADD COUNT,&SUBCNT
SUBTRACT
subtracts a specified value from the value of a NUM or NUMS variable.
BIM-EDIT NUMS variables can be either positive or negative integers.
BIM-EDIT NUM variables can only be positive integers. It is an error if
the result of a NUM variable becomes negative. Note that SUBTRACT
cannot be abbreviated SUB because SUB is the abbreviation for
SUBMIT.
MULTIPLY
multiples a specified value by the value of a NUM variable.
DIVIDE
divides a specified value into the value of a NUM variable.
VAPPEND
moves characters after the used portion of a specified CHAR variable.
VTRUNCAT
sets the value of a specified CHAR variable to not include any trailing
blank portion.
VUPPERCA
translates the value of a specified CHAR variable to uppercase.
VLOWERCA
translates the value of a specified CHAR variable to lowercase.
If you are used to "compiled" computer languages, the syntax of the BIM-EDIT variable
assignment commands can be initially awkward, particularly when replacement is
used. Try to remember that the FIRST operand for any of these commands is the name
of a variable. The SECOND operand may be either a value (in which case replacement
must be used to get the value of a variable) or the name of a variable (in which case
replacement should not be used). Some more examples may help clarify this:
Chapter 2. Writing Procedures
Page 13
Variables
SET A,1
SET A,S
SETD A,S
SET A,&S
SETD A,&S
ADD A,1
ADD A,&B
ADD A,B
;SETS A TO A VALUE OF 1
;SETS A TO A VALUE OF "S" (ERR IF A WAS DECLARED NUM)
;SETS A TO VALUE OF VARIABLE S
;SETD A,S DOES SAME THING (WITH FEWER POTENTIAL PROBLEMS)
;SETS A TO VALUE OF VARIABLE WHOSE **NAME** IS VALUE OF S
;INCREMENTS VALUE OF A BY 1
;INCREMENTS VALUE OF A BY VALUE OF B
;ALWAYS AN ERROR
The PARSE Command
There is one other command which can be used to set the values of variables, the
special-purpose PARSE command. The purpose of PARSE is to set variables to the
values of "parameters" which were supplied when the procedure was started. PARSE is
very important because it provides one of the major ways in which you can tell a prewritten procedure what you want it to do.
The parameters of a procedure behave just like the operands of a command. In fact,
from a usage standpoint, procedures behave so much like commands that you may be
unaware that quite a number of the standard BIM-EDIT "commands" are implemented
as procedures. PARSE is easiest to explain with an example:
DCL MEM,CHAR,10,V
DCL FCT,NUM,5,V
PARSE MEM,FCT
This PARSE command will set the values of the variables MEM and FCT to the values
specified when the procedure was invoked. If the procedure is named TESTPROC and
it was invoked with
=> TESTPROC MEMBER1,15
the value of MEM will be "MEMBER1" and the value of FCT will be 15 after the PARSE
command is executed. The PARSE command handles the other forms you are familiar
with for BIM-EDIT command operands. A few more examples:
=> TESTPROC FCT=15 MEM=MEMBER1
will have exactly the same effect as the first invocation.
=> TESTPROC MEM='DAVID,MARY'
will set MEM to the ten character string "DAVID,MARY" and will set FCT to zero.
You should be careful in naming the variables used in a PARSE because those names
become a part of how your procedure can be invoked. We recommend you use the
same names used for operands having similar functions in BIM-EDIT commands.
Variables on the PARSE command for which no corresponding value is provided in the
invocation will be set to null if CHAR and zero if NUM.
Page 14
BIM-EDIT System Reference Manual
Variables
Improvements to the Change-with-Comment Example
We can now use what we have learned about variables to make the example from the
first section of this chapter more generic. The improved procedure reads:
SET PPDVBL,1
DCL FSTR,CHAR,30,V
DCL TSTR,CHAR,30,V
DCL DATE,CHAR,8,V
DCL INIT,CHAR,3,V
PARSE FSTR,TSTR,DATE,INIT
LOCATE '&FSTR'
CHANGE '&FSTR','&TSTR'
UP 1
INSI '* CHANGED &DATE &INIT'
The procedure can now be used to change any string to any other string. The date of the
change and the initials of the person making the change can also be provided. To use
this procedure, we would enter a command like:
=> LST2OUT SYSLST SYSOUT 3/8/92 WDM
Chapter 2. Writing Procedures
Page 15
Control Commands
Control Commands
So far, we have explained how to make basic procedures and how to use variables to
make them generic. However, these procedures are just a way to record a string of
commands and play them back -- interesting, but not really powerful. In this section, we
add the last element necessary to make them powerful: control commands.
Control commands allow you to write a procedure which does not execute in a simple
sequence from top to bottom. Control commands alter the sequence in which other
commands are executed. With control commands, you can
•
execute commands over-and-over, in what programmers call a "loop"
•
execute commands selectively, depending on conditions arising during processing
•
terminate the procedure before the bottom
Control commands can only be used in a procedure. BIM-EDIT provides several control
commands:
EXIT
This command terminates a procedure. It has two operands, a "return
code" and a message. If "return code" is not "OK", the procedure is
considered to have terminated with an error. The message will be
displayed on the information line when the procedure terminates. For
example,
EXIT ER,'MEMBER NAME OMITTED'
will terminate the current procedure with a return code of "ER" and a
message of "MEMBER NAME OMITTED". Because the procedure is in
error, the command used to invoke it will stay on the command line.
GOTO
This command works hand-in-hand with the LABEL command. GOTO
causes BIM-EDIT to start executing commands at a different line in the
procedure. Specifically, it will set the line following the matching
LABEL command as the next line where it will execute. (Programmers
say that the GOTO "branches" or "jumps" to the LABEL command.)
GOTO has one operand, which is the name on the matching LABEL
command (an arbitrary eight character name -- it CAN be the same as a
command name or a variable name). If the corresponding LABEL
precedes the GOTO in the procedure, the name must be preceded by a
minus sign. For examples, see LABEL.
GOSUB
Page 16
This command works hand-in-hand with the LABEL and RETURN
commands. The GOSUB command is similar to the PERFORM function
in other languages. GOSUB causes BIM-EDIT to start executing
commands at the line following the matching LABEL command, and
will return to the line following the GOSUB when a RETURN
command is executed. GOSUBs can be nested 16 levels deep. Each
RETURN command executed will return to the most recent GOSUB
command.
BIM-EDIT System Reference Manual
Control Commands
GOSUB has one operand, which is the name on the matching LABEL
command. If the corresponding LABEL precedes the GOSUB in the
procedure, the name must be preceded by a minus sign.
LABEL
The LABEL command does nothing if it is executed -- its only purpose
is to serve as the target point for a matching GOTO or GOSUB. LABEL
has one operand, the name on the matching GOTO/GOSUB
command(s). LABEL has special formatting rules: the word LABEL
must start in column 1 and the name must be separated from the label
name by one space.
An example of the use of GOTO and LABEL is:
SET PPDVBL,1
DCL LINE,NUM,6,V
LABEL L100
GOTO L200
NEVER EXECUTED
LABEL L200
ADD LINE,1
INSERTI 'This is line &LINE'
GOTO -L100
The sequence of execution for this example is:
1.
Declare the variable LINE. (A newly declared NUM variable has a
value of zero; a CHAR variable has a value of null.)
2.
Execute the LABEL L100 command, which does nothing.
3.
Execute the GOTO L200 command, which causes the command
following the LABEL L200 to be the next command executed.
4.
Add 1 to the value of the variable LINE, making its new value 1.
5.
Insert the line "This is line 1" into the current session.
6.
Execute the GOTO -L100 command, which causes the command
following the LABEL L100 to be the next command executed.
7.
Execute the GOTO L200 command, which causes the command
following the LABEL L200 to be the next command executed.
8.
Add 1 to the value of the variable LINE, making its new value 2.
9.
Insert the line "This is line 2" into the current session.
10. And so forth, endlessly repeating steps 6 through 9.
You should note that the line NEVER EXECUTED is indeed never
executed (which is a good thing, since it would be an error unless
somebody had defined a procedure NEVER). You should also note that
this is what programmers call an "infinite loop" -- it will go on forever.
Fortunately, BIM-EDIT has safeguards against this kind of a procedure,
which would otherwise continue to execute until it reached the member
size limit or filled the BIM-EDIT library.
If you have never done any programming, you may find that you have
to look at this example for a while to see how it works. You may find it
Chapter 2. Writing Procedures
Page 17
Control Commands
useful to draw arrows from the GOTO commands to the matching
LABEL commands.
IF
The IF command allows "intelligence". Using the IF command, you can
have a BIM-EDIT procedure alter its course of action depending on the
outcome of a test. The IF command has three operands:
•
the name of a variable whose value is to be tested.
•
the type of test to be performed. The codes which can be used are
EQ meaning "equal to", NE meaning "not equal to", LT meaning
"less than", GT meaning "greater than", LE meaning "less than or
equal to", and GE meaning "greater than or equal to".
•
a specified value to test the variable's value against.
If the test is satisfied, BIM-EDIT will execute the command on the line
after the IF command, otherwise it will ignore it.
Example of the IF command:
SET PPDVBL,1
DCL STR,CHAR,50,V
DCL FCT,NUM,6,V
PARSE STR,FCT
IF FCT,EQ,0
EXIT SV,'FCT MUST BE SPECIFIED'
LABEL LOOP
UP 1
INSERTI '&STR &FCT'
SUBTRACT FCT,1
IF FCT,GT,0
GOTO -LOOP
This procedure corrects the flaws of the GOTO/LABEL example. It
obtains the value of a string and a count as parameters through the
PARSE command. Then it checks to see if the count is zero -- if it is, it
exits the procedure with an error message. Finally, it inserts lines into
the current session consisting of the value of the string and the value of
the counter. Each time a line is inserted, the count is decremented by 1.
So long as the count is greater than zero, lines continue to be inserted.
Put more plainly, the procedure inserts into the current session a
specified number of lines containing a specified string followed by the
insertion number.
It is not a requirement, but it helps readability to indent the command
which follows an IF command by several spaces as a reminder that its
execution is conditional on the IF.
Page 18
BIM-EDIT System Reference Manual
Control Commands
IFD
The IFD command operates just like the IF command except that a
variable name is used for the second value. Thus you can use
IFD VAR1,EQ,VAR2
GOTO EQUAL
instead of
IF VAR1,EQ,&VAR2
GOTO EQUAL
IFTHEN
The IFTHEN command works hand-in-hand with the ELSE and ENDIF
commands. These three commands allow one or more commands to be
executed based on the true or false state of the IFTHEN comparison.
The IFTHEN command has the same three operands as the IF
command. If the condition in the IFTHEN is true, all commands that
follow it, up to the next ELSE or ENDIF command will be processed. If
the condition in the IFTHEN is false, all commands that follow it are
bypassed until the next ELSE or ENDIF command is found.
The ELSE command marks the beginning of one or more commands
that are to be processed only if the IFTHEN condition is false.
The ENDIF command must be used to terminate each IFTHEN
command sequence.
IFTHEN/ELSE/ENDIF command sequences can be nested up to
sixteen levels.
IFTHEN DEST,EQ,'LIBR'
(commands processed if condition one is
IFTHEN SIBUSER EQ LARS
(commands processed if condition one
ELSE
(commands processed if condition one
condition two is false)
ENDIF
ELSE
(commands processed if condition one is
ENDIF
Chapter 2. Writing Procedures
; condition one
true)
; condition two
and two are true)
is true and
false)
Page 19
Control Commands
BLOCK
The BLOCK command works hand-in-hand with the ENDBLOCK
LOOP and LEAVE commands. These four commands provide for one
or more commands to be executed repeatedly without the use of
GOTOs or LABELs. The command sequence to be executed begins with
the BLOCK command and ends with the ENDBLOCK command.
The LOOP command is used in conjunction with an IF command or as
an operand on the ENDBLOCK command. It causes execution to
resume at the command following the BLOCK command.
The LEAVE command is also used in conjunction with an IF command.
It causes execution to resume at the command following the
ENDBLOCK command, in essence, ending the BLOCK/ENDBLOCK
structure.
The BLOCK/ENDBLOCK structure can be nested up to 16 levels.
Following are two examples of BLOCK/ENDBLOCK structures.
SET CT,0
BLOCK
IF A,NE,'B'
LEAVE
... commands to be repeated
ADD CT,1
IF CT,LT,10
LOOP
ENDBLOCK
SET CT,0
BLOCK
ADD CT,1
IF CT,GT,10
LEAVE
IF A,NE,'B'
LEAVE
... commands to be repeated
ENDBLOCK LOOP
Page 20
BIM-EDIT System Reference Manual
Commentary on Complicated Procedures
Commentary on Complicated Procedures
The control commands give you the capability to write complex procedures. In the next
few sections, we will show you other features that make BIM-EDIT procedures even
more powerful. It is already time for some comments on structure and efficiency:
1.
The speed of a procedure is primarily related to number of commands executed.
Look for ways to eliminate loops by using smarter commands. For example,
CHANGE, OVERLAY, SHIFT, JUSTIFYL, and JUSTIFYR are much more efficient
over a number of lines than a procedure with a line-by-line loop.
2.
A procedure of just 200 lines can be hard to understand if it isn't written carefully.
Use meaningful names for variables and labels. Try to do things in a logical order.
Use comments liberally. Use blank lines to separate logical sections.
Final Improvements to the Change-with-Comment Example
Using what we now know, we will make the final improvements in our first example:
SET PPDVBL,1
DCL
DCL
DCL
DCL
FSTR,CHAR,30,V ;DECLARE VARIABLES
TSTR,CHAR,30,V
DATE,CHAR,8,V
INIT,CHAR,3,V
PARSE FSTR,TSTR,DATE,INIT
IF DATE,EQ,''
;ESTABLISH DEFAULT VALUES
SET DATE,'12/31/95'
IF INIT,EQ,''
SET INIT,'WDM'
LABEL LOOP
;LOOP TO HERE
LOCATE "&FSTR"
;TERMINATES WHEN CAN'T FIND MORE
CHANGE "&FSTR","&TSTR"
UP 1
INSI "* CHANGED &DATE &INIT"
GOTO -LOOP
;AND GO FOR SOME MORE
We have added two features: the ability to use default values (if DATE is not specified,
"12/31/95" will be used; if INIT is not specified, "WDM" will be used) and a loop so that
all instances of the string from the current line forward will be changed in one
execution.
(This is not an infinite loop -- it will end when the LOCATE command gets an error
from not being able to find another instance of FSTR. We will explain in two more
sections how the procedure can detect that the LOCATE failed and end gracefully. We
will leave it to you to make that modification and make the date automatically today's
date.)
Chapter 2. Writing Procedures
Page 21
The MAPF Command
The MAPF Command
We can now build procedures that do the kinds of things that BIM-EDIT commands do
-- accept some parameters, perform some processing, and return a message. But what
about tasks that need to interact with the user? For example, a procedure in which the
user would be given a menu of selections or a long- running procedure that would
periodically tell the user what it is doing. For these types of jobs, BIM-EDIT provides
the MAPF command.
The MAPF command implements full-screen interaction. It displays a screen full of
information and can be written to allow the user to update or enter information in preformatted areas of the screen. MAPF is the only command that allows interactive
communication between a procedure and a user.
MAPF is a multiple-line command. The MAPF is followed by lines which "paint" the
contents of the screen to display. The screen lines end at a special terminator line
containing the four characters "++/*". In the screen lines, MAPF is sensitive to certain
special characters to define fields:
&
Variable replacement. (This isn't really special to MAPF, but it is worth listing
because it is used to obtain "display-only fields" on MAPF.)
{
Start update field; low intensity
!
Start update field; high intensity
¦
Start update field; no display. This option is for passwords.
}
End update field, if any; subsequent text is low intensity
¬
End update field, if any; subsequent text is high intensity
Any of the three "start update field" characters mark the beginning of a position on the
screen where the user can enter data. The "start update field" character must be
followed on the MAPF lines by the name of a CHAR variable to contain the data. The
variable name must be followed, after some optional blanks, either by one of the two
"end update field" characters, or by the start-field character of the next updateable field.
The space between the "start update field" character and the "end update field"
character must be exactly the maximum length of the value for the variable. The
exception to this rule is when the length of the variable name exceeds the maximum
length of the value. In this case, BIM-EDIT will shift-left the data that follows the long
variable name, based on the difference between the data length declared for the field,
and the length of the variable name.
When the MAPF is executed, the current values of the variables in the update fields will
be replaced into those areas of the screen. The user will be able to move the cursor to the
update fields and change the values that are displayed there. When an ENTER or PF
key is hit to transmit the screen, BIM-EDIT will copy the changed values for the update
fields back into the associated variables.
MAPF Example
This procedure enters name and address data at fixed positions into a member. It allows
use of the full width of the member line without using the VIEW command. (It is
Page 22
BIM-EDIT System Reference Manual
The MAPF Command
possible to write a full add/change/delete procedure, but you would need to use
"predefined variables", which are discussed in the next section, to display data from the
member for editing.)
DCL O,CHAR,1,V
;CONTINUE OPTION (NAME 1 CHAR FOR MAPF)
DCL NAME,CHAR,40,V
;NAME TO BE ENTERED
DCL ADDR,CHAR,40,V
;ADDRESS LINE TO BE ENTERED
DCL CITY,CHAR,20,V
;CITY TO BE ENTERED
DCL ST,CHAR,2,V
;STATE TO BE ENTERED (NAME LE 2 CHAR FOR MAPF)
DCL ZIP,CHAR,9,V
;ZIP CODE TO BE ENTERED
DCL MSG,CHAR,50,V
;MESSAGE LINE
EDIT MKTG.ADDRESSES
DOWN 999999
;NEW ADDS AT THE BOTTOM
LABEL LABDSP
;COME HERE FOR NEW ENTRY
SET NAME,''
SET ADDR,''
SET CITY,''
SET ST,''
SET ZIP,''
SET MSG,'PLEASE TYPE NEXT ENTRY'
SET O,'Y'
;ASSUME THE USER WANTS TO ENTER MORE
LABEL LABERR
;COME HERE FOR CORRECTIONS
MAPF
---------------------NAME:!NAME
ADDRESS:!ADDR
CITY:!CITY
STATE:!ST}
ZIP CODE:!ZIP
MORE ENTRIES?!O}
NAME AND ADDRESS ENTRY --------------------------
}
}
}
} (REQUIRED)
(REQUIRED)
(REQUIRED)
(REQUIRED)
(Y/N/Q)
¬&MSG
++/*
IF O,EQ,'Q'
EXIT OK,'NAME AND ADDRESS ENTRY ABORTED'
SET MSG,''
IF ADDR,EQ,''
;CHECK FOR ERRORS
SET MSG,'ADDRESS IS REQUIRED'
IF CITY,EQ,''
SET MSG,'CITY IS REQUIRED'
IF ST,EQ,''
SET MSG,'STATE IS REQUIRED'
IF ZIP,EQ,''
SET MSG,'ZIP CODE IS REQUIRED'
IF MSG,NE,''
;IF ANY ERRORS, DON'T INSERT LINE
GOTO -LABERR
INSERTI '&NAME'
;INSERT NEW ENTRY
OVERLAY 42 '&ADDR'
;AND ADD OTHER FIELDS (FIXED FORMAT)
OVERLAY 126 '&CITY'
OVERLAY 148 '&ST'
OVERLAY 152 '&ZIP'
IF O,EQ,'N'
;GET OUT IF REQUESTED
EXIT OK,'NAME AND ADDRESS ENTRY ENDED'
GOTO -LABDSP
;GO BACK FOR ANOTHER ENTRY
The procedure initialization is fairly standard. The variable MSG is used as an indicator
whether the previous entry had errors. If MSG is null, the previous entry worked and
Chapter 2. Writing Procedures
Page 23
The MAPF Command
the procedure nulls out all the variables except the option variable, O, which is set to 'Y',
so it doesn't have to be filled in by the user each time. If MSG is not null, the previous
entry had an error and the variables are left with their values for correction. The MAPF
displays either empty space for the user to enter into or the previous values if there was
an error. MSG itself is displayed in high intensity on the bottom of the screen (because it
is preceded by the not symbol). After the user has filled in the fields and transmitted the
screen, the procedure checks for the abort option, then checks the values. If any errors
are found, the procedure goes back to display before inserting the new line. If no errors
are found, the line is inserted, the end option is checked, and then the procedure goes
back to display a screen for the user to enter more values.
Additional MAPF Rules
MAPF has relatively few additional rules:
Page 24
•
If the MAPF screen does not contain any updateable fields, then the MAPF screen
will be sent to the terminal, but no input request will be attempted. Control will be
returned directly to the procedure for continued execution. If your procedure has
the potential to enter a loop sending multiple MAPF screens of this type, your
procedure should include a test of field SIBSIGNL to allow the user to interrupt
processing using the ATTN key.
•
The MAPF must not have more lines than the physical screen size of the terminal
where it is run. If your site has terminals of different sizes, you may have to write
procedures for the smallest size.
•
It is possible to determine what key (ENTER, PF, or CLEAR) was pressed by the
user to transmit the screen and where the cursor was positioned. It is also possible
to position the cursor and cause the screen to beep when it is displayed. These
topics are covered in the next section on "predefined variables".
BIM-EDIT System Reference Manual
Predefined Variables
Predefined Variables
In addition to the variables you declare, BIM-EDIT provides more than 200 "predefined
variables". By referring to predefined variables, you can control BIM-EDIT and obtain
information on BIM-EDIT entities (for example, the characteristics of a member).
You refer to predefined variables in the same way you refer to other variables:
•
replace their values into commands and data by using ampersand and the variable
name
•
change their values by using SET, SETD, SETL, ADD, SUBTRACT, MULTIPLY,
DIVIDE, VAPPEND, VTRUNCATE, VUPPERCA, and VLOWERCA. (However,
many predefined variables are "read-only" and cannot be changed this way).
You are probably already familiar with some predefined variables without knowing it:
the PF1 through PF24 values you SET to change the way your PF keys work are
predefined variables.
Chapter 4 of this manual is the reference on predefined variables. In the remainder of
this section we will describe briefly some of the variables that are most useful in writing
procedures. When you have time, it is worthwhile to review Chapter 4.
Predefined variables are separated into groups indicated by their initial three letters.
Predefined variables fall into three usage categories: those that control the operation of
the BIM-EDIT procedure processor, those that describe stored entities and those that
describe current processing.
Predefined Variables that Control the BIM-EDIT Procedure Processor
Predefined variables which begin with PPD control the execution of commands in
procedures. For example, the command
SET PPDVBL,1
which we told you to use when you want variable replacement, sets the value of
predefined variable PPDVBL, which controls whether variable replacement takes place.
You can also set PPDVBL to 0, which will suppress variable replacement.
There is one group of PPD variables for every procedure that is currently active
(multiple procedures are active when a procedure invokes another procedure). At any
point in time, a procedure can only access the group for the procedure that is currently
active.
The following are the PPD predefined variables of note:
PPDALARM
If you set to 1, beeper will sound when a MAPF is sent.
PPDCOND
If you set to 1, commands which fail do not actually terminate the
procedure (see further discussion below).
PPDCSFLD
Name of the variable where you want the cursor positioned when a
MAPF is sent.
PPDINCL
If you set to 1, INCLUDE commands will be recognized. See discussion
in the "Text-Following Commands" section.
Chapter 2. Writing Procedures
Page 25
Predefined Variables
PPDKEY
Will be set to name of the key pressed to transmit the screen to MAPF.
Allows procedures to be function key sensitive.
PPDLITEX
If you set to 1, the PPDLITDL character will be expanded to a double
instance during variable value replacement.
PPDLITDL
Quote character (' or ") to be expanded during replacement.
PPDLPCTR
Counter of how many backward GOTOs have occurred so far.
PPDLPLMT Limit on backward GOTOs - protects against infinite loops.
PPDMSGF
Will be set to 1 after MAPF if any fields were changed.
PPDVBBAS
First column active for variable value replacement.
PPDVBL
If you set to 1, variable value replacement will take place.
PPDVBLMT
Number of columns active for variable value replacement.
Additional PPD variables are described below in the section on "Text-Following
Commands".
Predefined Variables that Describe Stored Entities
All the groups of predefined variables which describe stored entities work in a similar
manner:
•
Each group of variables describes one type of entity (for example, TXM variables
describe members).
•
At any point in time, each group describes one entity (for example, the TXM
variables describe one member -- the "last referenced member").
•
A BIM-EDIT command which accesses an entity (such as the EDIT command
accessing a member) automatically changes the values of the predefined variables
for that type of entity to be those for the entity it accessed.
•
There are READ and BROWSE commands (described later in this chapter) which
change the predefined variables to be those for a different entity without
performing any other function.
The groups of predefined variables that describe stored entities are:
TXL
describes a library. Variables of note:
TXLLIB
TXLTITLE
TXM
describes a member. Variables of note:
TXMDTCRE
TXMDTUPD
TXMLIB
TXMMEM
TXMSZLN
TXMTITLE
TXMTYPE
TXMUSER
Page 26
the name of the library.
the title of the library.
he date the member was created.
the date the member was last updated.
the name of the library containing the member.
the name of the member within the library.
the number of lines in the member.
the title of the member.
the type of the member.
the user who originally defined the member.
BIM-EDIT System Reference Manual
Predefined Variables
All the attributes of the member (which can be set with the ALTER and DEFINE
commands) can be accessed as TXM variables.
TXS
describes a library/user security record. These variables are primarily of
interest to the System Administrator.
TXU
describes a user. These variables are primarily of interest to the System
Administrator.
XTR
has variables that describe the current member or session. Variables of note:
XTREUSER
XTRSLINE
the user who currently has the member under edit.
the text of the current line in the current session.
The XTR variables are known as "extracted" variables because BIM-EDIT
doesn't actually store their values, as it does for the other variables that describe
stored entities. Each time you request the value of an XTR variable, BIM-EDIT
performs some work to determine it.
On VSE, there is an additional group of stored entity predefined variables:
PWR
describes a POWER job entry. Variables of note:
PWRCLASS
PWRJNAME
PWRJNUM
PWRQUEUE
PWRUSER
the class of the job entry.
the job name of the job entry.
the job number of the job entry.
the queue (R=RDR,P=PUN,L=LST) of the job entry.
the user for the job entry.
There is no group of predefined variables that describes a VSE sublibrary member.
On MVS, there are four additional groups of stored entity predefined variables:
JCT
describes JES data sets. Variables of note:
JCTCLASS
JCTJCLAS
JCTJNAME
JCTPNAME
JCTTSUID
JOE
describes JES data sets. Variables of note:
JOECURCL
JQE
the current class of the data sets.
describes JES data sets. Variables of note:
JQEJCLAS
JQEJNAME
JQEJOBNO
PDB
the class of the data sets.
the class of the job.
the name of the job.
the "programmer name" specified.
the TSO user id specified in the NOTIFY.
the class of the data sets.
the job name of the data sets.
the job number of the data sets.
describes JES data sets. Variables of note:
PDBCLASS
PDBDDNAM
PDBDSKEY
PDBSNAME
the class of the data sets.
the DD name of the data sets.
the data set number.
the step name for the data sets.
There is no group of predefined variables that describes an MVS PDS member.
Chapter 2. Writing Procedures
Page 27
Predefined Variables
Predefined Variables that Describe Current Processing
Predefined variables which describe current processing change as you execute
commands.
MMP
System Memory Map values. These variables are primarily of interest to the
System Administrator.
OPS
Operating system date and time. Variables:
OPSDATE
OPSTIME
SIB
System Information Block (information about current user). Variables of note:
SIBCSCOL
SIBCSROW
SIBLIB
SIBMSG
SIBOUTPT
SIBPAGE
SIBRETCD
SIBSCRPM
SIBSESSD
SIBSSNU1
SIBSSNU2
SIBTRMID
SIBUSER
SSD
the current date.
the current time.
the cursor column when the last screen was transmitted.
the cursor row when the last screen was transmitted.
current attached library.
message returned from a procedure or command (see further
discussion below)
you can set to determine destination of the OUTPUTF
command (see section on "Text-Following Commands").
current page in printed output.
value returned to indicate the success of the previous
procedure or command (see further discussion below).
number of the current primary screen (see further discussion in
the section on the EXAMINE command).
number of sessions active.
current session number for the top (or only) logical screen.
current session number for the bottom logical screen.
current terminal ID
current user ID
Session control values. (There is one group of SSD variables for every session
that is currently active. At any point in time, a procedure can only access the
group for the session that is currently active.) Variables of note:
SSDBASE1 and SSDBASE2.
number of the current line in the current session. There is one
variable for each logical screen. See SIBSCRPM.
SSDCOL1 and SSDCOL2.
number of the column where the last search command found
its result. There is one variable for each logical screen. See
SIBSCRPM.
SSDLIB
name library of the member currently being edited (if edit
session).
SSDMEM
name of the member currently begin edited (if edit session).
SSDTYPE
type of the current session. Some of the values are ED=EDIT,
DI=DISP, LP=LISTP, LI=LIST.
Page 28
BIM-EDIT System Reference Manual
Predefined Variables
PPDCOND, SIBRETCD and SIBMSG
It is often awkward and sometimes impossible to avoid executing commands which
"fail" inside a procedure. For example, if you write a procedure which is to use a
LOCATE command to find all instances of several strings of characters in a member,
you have a problem: after you have found the last instance of the first string, the
LOCATE command will "fail", causing the procedure to terminate before you get a
chance to look for the second string.
Clearly, in this case the failure of the LOCATE command is an expected outcome -- not
an "error". BIM-EDIT provides capabilities to allow procedures to treat the "failure" of a
command as a normal event and continue to execute. These capabilities are built on
three predefined variables: PPDCOND, SIBRETCD, and SIBMSG.
When variable PPDCOND is set to 1, a procedure will continue to execute after a
command within it "fails" -- the procedure can determine the command failed by testing
the command "return code" available in variable SIBRETCD and the message in variable
SIBMSG. If a command sets any return code other than "OK", it "failed".
Command return codes are two characters and are documented in the "Use in a
Procedure" topic of each command. Messages are the characters which would be
displayed on the information line if the same error occurred when executing the
command directly. As you may have suspected, the return code and message set by the
EXIT command will be present in SIBRETCD and SIBMSG after termination of a
procedure by an EXIT command.
The "Use in a Procedure" topic of each command documents the 'expected' return codes
for that command. Since most BIM-EDIT commands invoke common routines for
internal processing, other return codes, such as 'SV' can be returned. Your procedures
should be written such that any return code other than what is 'expected' will terminate
the procedure with something like:
EXIT &SIBRETCD,'&SIBMSG'
so that the unexpected return code is reported to the user of the procedure.
All commands except IF and IFD set SIBRETCD and SIBMSG. Therefore, SIBRETCD
must either be tested by the next command after a command whose failure is
anticipated or the next command must be a SET command to save the value of
SIBRETCD for later testing. As an example, this is a procedure which searches for one
string, and if not found, searches for another:
SET PPDVBL,1
DCL STR1,CHAR,50,V
DCL STR2,CHAR,50,V
PARSE STR1,STR2
SET PPDCOND,1
LOCATE '&STR1'
IF SIBRETCD,NE,'OK'
LOCATE '&STR2'
EXIT &SIBRETCD,'&SIBMSG'
;NEED THIS SO THAT PROC FAILS IF BOTH LOCATES FAIL
Leaving PPDCOND at 1 throughout a procedure complicates debugging. PPDCOND
should be set to 1 only where command errors are anticipated. That way, if an
Chapter 2. Writing Procedures
Page 29
Predefined Variables
unanticipated error occurs, the procedure will terminate rather than continuing to
execute.
Page 30
BIM-EDIT System Reference Manual
The EXAMINE Command
The EXAMINE Command
EXAMINE is a useful command which is easy to forget. It searches the current line in
the current session for a string. If the string is found, EXAMINE returns OK; if the string
is not found it returns NF. EXAMINE is often used to apply additional tests to a line
once it is found, typically by the LOCATE command. EXAMINE, like LOCATE, sets
SSDCOL1 or SSDCOL2 (depending on which logical screen is active) to the column at
which the text was found.
As an example of the use of EXAMINE, here is a procedure to go through a VSE JCL
member and replace all "SIZE=..." parameters on EXEC lines with "SIZE=AUTO". We
can't use a CHANGE command because we don't know what follows SIZE=. "SIZE=..."
may be followed by other parameters -- we need to exactly replace the value following
"SIZE=" with "AUTO", even though the value may be a different length than the four
characters "AUTO". That is, the procedure will replace:
EXEC ...,SIZE=4K,PARM='XYZ'
or
EXEC ...,SIZE=3285K,PARM='XYZ'
with
EXEC ...,SIZE=AUTO,PARM='XYZ'
Chapter 2. Writing Procedures
Page 31
The EXAMINE Command
Example
SET PPDVBL,1
DCL C1,NUM,3,V
DCL C2,NUM,3,V
DCL MEM,CHAR,33,V
PARSE MEM
EDIT &MEM
LABEL NEXTEXEC
SET PPDCOND,1
LOCATE ' EXEC '
IF SIBRETCD,NE,OK
GOTO EXIT
EXAMINE 'SIZE='
IF SIBRETCD,NE,OK
GOTO -NEXTEXEC
SETD C1,SSDCOL&SIBSCRPM
ADD C1,5
SET C2,71
EXAMINE ',' ZONE=&C1-70
IF SIBRETCD,EQ,OK
SETD C2,SSDCOL&SIBSCRPM
EXAMINE ' ' ZONE=&C1-70
IF SIBRETCD,NE,OK
GOTO NOSPACE
IFD SSDCOL&SIBSCRPM,LT,C2
SETD C2,SSDCOL&SIBSCRPM
LABEL NOSPACE
SET PPDCOND,0
SUBTRACT C2,&C1
IF C2,LE,4
GOTO LENGTH&C2
SUBTRACT C2,4
SHIFT -&C2,ZONE=&C1-70
GOTO LENGTH4
LABEL LENGTH1
SHIFT +1,ZONE=&C1-70
LABEL LENGTH2
SHIFT +1,ZONE=&C1-70
LABEL LENGTH3
SHIFT +1,ZONE=&C1-70
LABEL LENGTH4
OVERLAY &C1,'AUTO'
GOTO -NEXTEXEC
LABEL EXIT
SAVE
;COLUMN POSITION ONE (START OF VALUE)
;COLUMN POSITION TWO (END OR LENGTH OF VALUE)
;MEMBER TO WORK ON
;COME HERE TO PROCESS ANOTHER EXEC STATEMENT
;NEED CONDITIONAL FOR LOCATE AND EXAMINE
;FIND THE NEXT EXEC STATEMENT
;NO MORE, WE'RE DONE
;FIND SIZE=, IF ANY
;IF NO SIZE=
; GO TRY TO FIND ANOTHER EXEC
;STORE POSITION OF SIZE=
;ADD LENGTH OF SIZE= (BEGIN OF VALUE)
;SET POSSIBLE END OF VALUE
;FIND COMMA FOLLOWING SIZE=VALUE
;IF COMMA
; STORE NEW END OF VALUE
;FIND SPACE FOLLOWING SIZE=VALUE
;IF NO SPACE
; NOTHING TO TEST
;IF SPACE BEFORE COMMA
; STORE NEW END OF VALUE
;DON'T NEED CONDITIONAL ANY MORE
;GET LENGTH OF VALUE
;IF LENGTH LESS THAN OR EQUAL TO "AUTO"
; GO TO LABEL FOR THAT LENGTH
;LENGTH GREATER, DETERMINE AMOUNT OF LEFT SHIFT
;DO SHIFT
;GO PROCESS LIKE LENGTH 4
;LENGTH 1 WILL FALL THRU 3 RIGHT SHIFTS
;LENGTH 2 WILL FALL THRU 2 RIGHT SHIFTS
;LENGTH 3 WILL FALL THRU 1 RIGHT SHIFT
;COME HERE WHEN LENGTH IS RIGHT
;INSERT "AUTO"
;GO LOOK FOR ANOTHER EXEC
;COME HERE WHEN DONE
Notes (this is a fairly tricky procedure):
Page 32
1.
The first part of the procedure is fairly standard: we edit the member and use a loop
with a LOCATE command to find each line containing " EXEC ". (Note that we
might find this string in some other context, but we were careful to include blanks
on either side so that possibility should be remote).
2.
Then we use the EXAMINE to determine whether the line has a SIZE=. If it doesn't,
we go EXEC hunting again.
3.
If we do find a "SIZE=", things start getting complicated. We store the column
location of "SIZE=" in variable C1 from the variable name SSDCOL&SIBSCRPM.
What we are doing here is that we know that the EXAMINE command stores the
BIM-EDIT System Reference Manual
The EXAMINE Command
location where it found the string in one of two predefined variables, SSDCOL1 or
SSSDCOL2, depending on whether logical screen 1 or 2 is the primary logical
screen. We know that SIBSCRPM is the number of the primary logical screen. So
what we do is let BIM-EDIT replace &SIBSCRPM with the number of the logical
screen, forming the name of the variable containing the column where EXAMINE
found "SIZE=".
4.
Now we need to find the end of the value which follows "SIZE=". We know that
this value will be terminated by the first of a comma, a blank, or column 71. We set
C2 to 71. Then we use EXAMINE to look for comma and blank. If it finds one or the
other, we set C2 to that column. If both, we set C2 to minimum of two positions,
otherwise C2 stays 71.
5.
If the value that follows "SIZE=" isn't exactly four characters, we need to shift the
remainder of the line so it will still be right next to "SIZE=AUTO". We know the
beginning and end columns of the value, from which we can calculate the length. If
the length is greater than four, we do a left shift of the remainder of the line and go
to perform the overlay. If the length is less than four, we need to do a right shift,
which we do by using a GOTO command with a label that is determined by the
amount of the shift (we could have calculated a right shift amount like we did for
left shift, but the technique used is more instructive). The labels we GOTO are
arranged so that each shift adds onto the next, finally arriving at the point where we
do the OVERLAY and go see if there are more EXEC statements to change.
Chapter 2. Writing Procedures
Page 33
Text-Following Commands
Text-Following Commands
BIM-EDIT contains an unusual class of commands that are used in procedures to move
lines of text from one place to another. These commands, which we generically call the
"text-following commands", process all lines after them in a procedure until they hit a
termination line consisting of the four characters "++/*". Text-following commands are
ultimately used for most bulk transfers of BIM-EDIT lines. The SUBMIT, PRINT,
PUNCH, and REPRO commands operate by invoking procedures which in turn invoke
the SUBMITF, PRINTF, PUNCHF, and REPROF text-following commands.
A List of Text-Following Commands
The following is a list of text-following commands, distinguished by the destination to
which they send the output lines:
AUDITF
AUDITCF
CONSOLEF
DISPLAYF
HEADF
INSERTF
LOGF
OUTPUTF
PRINTF
PUNCHF
REPROF
STACKF
SUBMITF
sends to the member audit trail (comments)
sends to the member audit trail (audit lines)
sends to the operator's console
sends to a display session (see notes below)
sends to a storage area for the printer page heading
sends to the current session
sends to $LOG MAPF sends to the screen (described in a previous
section)
sends to a variety of destinations (see notes below)
sends to the printer (see notes below)
sends to the punch
sends to an output tape
sends to $STACK
sends to the operating system's input reader
As a quick example of how these commands can be used, here is a procedure that will
edit a member and insert a notice regarding its imminent deletion:
SET PPDVBL,1
DCL MEM,CHAR,33,V
PARSE MEM
EDIT &MEM
INSERTF
****************** PURGE WARNING &OPSDATE *********************
*
THIS MEMBER HAS NOT BEEN UPDATED IN 90 DAYS.
*
*
IF THIS NOTICE IS NOT REMOVED BY 90 DAYS AFTER TODAY, *
*
THIS MEMBER WILL BE PURGED.
*
***************************************************************
++/*
SAVE
The five lines between the INSERTF and the ++/* are inserted into the member. The
current date replaces &OPSDATE in the first line.
Use of INCLUDE and PPDTRAP with Text-Following Commands
A major additional feature of text-following commands is their ability to execute other
commands within the scope of a text-following command.
Page 34
BIM-EDIT System Reference Manual
Text-Following Commands
The INCLUDE command is a special and very common case of executing a command
within the scope of a text-following command. If you want to write a procedure which
uses text-following commands to move a whole member, you will use the INCLUDE
command. The INCLUDE command will only be recognized if predefined variable
PPDINCL has a value of "1". As an example, the following is a simple SUBMIT
procedure:
SET PPDVBL,1
SET PPDINCL,1
;REQUIRED FOR INCLUDE TO BE RECOGNIZED
DCL MEM,CHAR,33,V
PARSE MEM
SUBMITF
/INCLUDE &MEM
++/*
EXIT OK
The /INCLUDE &MEM causes the lines of the specified member to be inserted into the
input to the SUBMITF command. All the lines of the member are submitted. A sequence
of commands like this is used in the procedures which implement the PUNCH, PRINT,
and REPRO commands.
The ability to execute other commands within the scope of a text-following command is
not limited to INCLUDE. If predefined variable PPDTRAP has a value of "1", any line in
the scope of a text-following command which begins with the right parenthesis ")" will
be treated as a command. As an example of the use of this feature, consider the
following "improved" SUBMIT procedure:
SET PPDVBL,1
SET PPDINCL,1
;REQUIRED FOR INCLUDE TO BE RECOGNIZED
SET PPDTRAP,1
;REQUIRED FOR LINES BEGINNING WITH ) TO BE RECOGNIZED
DCL MEM,CHAR,33,V
DCL CL,CHAR,1,V
DCL L,NUM,3,V
PARSE MEM
SETL L,MEM
SETD CL,MEM,&L,1 ;LAST CHARACTER OF MEMBER NAME
SUBMITF
)IF CL,NE,'J'
) INCLUDE JCLLIB.PRE-&CL
/INCLUDE &MEM
)IF CL,NE,'J'
) INCLUDE JCLLIB.POST-&CL
++/*
EXIT OK
This procedure avoids having JCL in the member to be submitted. It does this by
adopting the convention that the last character of the member name indicates the type
of JCL to be used (if the last character is "J", it means that the member has JCL in it
already). Unless the last character is "J", a member from the JCL library is included
before and after the specified member to provide pre-member and post-member JCL.
(We do not actually recommend this implementation of a SUBMIT procedure. We feel it
is more satisfactory to use the member attributes to determine what JCL is to be used.
However, since we have not yet discussed the READ command, this example used
member name. See "Modifying the COMPILE, PROCESS, and SUBMIT Commands" in
Chapter 10 for suggestions regarding SUBMIT procedures.)
Chapter 2. Writing Procedures
Page 35
Text-Following Commands
Special Rules for Some Text-Following Commands
A few text-following commands have special rules and capabilities:
DISPLAYF
DISPLAYF has one operand -- the text to be displayed on the
information line for the session it creates. The REFRESH command will
attempt to execute this text as a command to recreate the session.
HEADF
does not produce any output directly. Instead it stores the text to be
used as a page heading for subsequent PRINTF commands.
MAPF
has a lot of special rules. It was previously described in this chapter in
the section "The MAPF Command"
OUTPUTF
can behave like other text-following commands, based on the value of
predefined variable SIBOUTPT:
A
D
I
K
L
AUDITF
DISPLAYF
INSERTF
STACKF
LOGF
N
P
R
S
U
CONSOLEF
PRINTF
REPROF
SUBMITF
PUNCHF
OUTPUTF is useful primarily for display procedures, where output
may be redirected to different outputs. For example, if the procedure is
run in both batch and online. SIBOUTPUT is initialized to "D" for
online BIM-EDIT and "P" for batch BIM-EDIT.
PRINTF
accepts two operands: whether the text is to be translated to upper case
(the default is don't translate) and whether the lines are to be numbered
as they are printed (the default is don't number). Whenever the lines on
a page exceeds PPDPGSIZ, PRINTF will eject a page and print the
contents of page heading storage, as set by HEADF.
Manipulation of Data within Text-Following Commands
(This discussion covers features of the text-following commands that are complicated to
describe and rarely used. You may wish to skip over it until you need it.)
Text-following commands can perform manipulations on input lines as the lines are
processed. Most of these manipulations are controlled by PPD variables:
PPDADJ
causes modification of lines which begin with characters which might
cause problems if they were processed by the operating system (JCL
indication characters). Such lines will be shifted right one column and
preceded with a not symbol (¬) if PPDADJ is "1".
PPDHEX and PPDHEXC cause hexadecimal codes in the text lines to be translated. If
PPDHEX is "1", and PPDHEXC is non-blank, any instance of the
PPDHEXC character on a line will be examined to see if it is followed
by two hexadecimal digits. If it is, the three characters will be replaced
by the single character which would be represented by the two
hexadecimal digits. The hex translation controlled by these variables
applies to commands in procedures.
Page 36
BIM-EDIT System Reference Manual
Using BROWSE and READ to Process Members, Libraries, etc.
PPDOVBAS, PPDOVLMT and PPDOVSTR cause constant text to be overlayed on each
line as it is processed. PPDOVBAS is the starting column for the
overlay, PPDOVLMT is the number of columns to be overlayed, and
PPDOVSTR is the text to be overlayed. PPDOVBAS and PPDOVLMT
must be non-zero before overlay will take place.
PPDSHIFT
causes modification of lines which begin with a not symbol (¬) or two
periods (..). If PPDSHIFT is "1", such lines are shifted left one column in
the case of the not symbol and two columns in the case of the two
periods. This manipulation is the inverse of the one controlled by
PPDADJ.
PPDSPFMT and PPDSPCOL cause the overlaying of member stamp information.
PPDSPFMT specifies the format of the stamp information and
PPDSPCOL specifies the column on the line at which it is to be
overlayed. The overlay takes place only if both variables are non-zero.
This feature is useful for printing a member with the stamp
information.
PPDTRAP
causes lines beginning with the right parenthesis ")" to be treated as
commands if PPDTRAP is "1". Was discussed in detail previously.
For more detail on these features, see the PPD group in Chapter 4, Predefined Variables,
in this manual. There are additional features beyond those described here, particularly
to suppress manipulation of text lines within members brought into the procedure by
INCLUDE. Briefly, if PPDADJ, PPDHEX, PPDINCL, PPDSHIFT, PPDTRAP, or
PPDVBL is set to "2", their function will take place in the current procedure but not in
any INCLUDEed members.
One other type of manipulation takes place which is not controlled by the PPD
variables. If a text-following command recognizes four lines in sequence beginning with
the four characters "++()" it will assemble them into one long line before processing. The
interpretation of the lines is as follows:
line
line
line
line
1:
2:
3:
4:
++()
++()
++()
++()
text
text
text
text
characters
characters
characters
characters
1-64
65-128
129-192
193-253
++() will only be recognized when the input lines are coming from an 80 column source
(a batch input data stream or an 80 column tape). This feature provides a capability to
move long BIM-EDIT text lines through a narrow external medium and then reconstruct
them. PUNCHF and REPROF produce lines in this format if their input is wider than 80
columns.
Using BROWSE and READ to Process Members, Libraries, etc.
One of the purposes of procedures is to perform dumb tasks -- tasks that are so
ponderous you would rather spend the time to write a procedure and make it work
than just do the task. An important class of such tasks is when something has to be done
to every member in a library (or every library in the system). Marching through all the
entries in a library is what the BROWSE command does.
Chapter 2. Writing Procedures
Page 37
Using BROWSE and READ to Process Members, Libraries, etc.
Another common class of procedures process an entity based on its attributes. Given an
entity name, you can get its attributes using the READ command.
BROWSE to Access Every Member's Attributes
Every time you execute a BROWSE command, the values in the TXM predefined
variables change to those for the next member (in alphanumeric sequence in the
specified library) after the member whose values are currently in the TXM variables. To
get the first member in the library, you set TXMMEM to null (that is, '') and issue a
BROWSE. When you reach the last member in the library, BROWSE will return a nonOK return code.
Thus, you can write a procedure that will process all members in a library by making a
loop around a BROWSE command. Start the loop by setting TXMMEM to null and end
it when BROWSE returns a non-OK code. For example, the following procedure will
change one specified "library-name" to another anywhere it appears on a COPY
statement in a COBOL program in the specified library.
SET PPDVBL,1
DCL LIB,CHAR,16,V
DCL FSTR,CHAR,8,V
DCL TSTR,CHAR,8,V
PARSE FSTR,TSTR,LIB
;GET STRINGS AND SPECIFIED LIBRARY
SETD TXMLIB,LIB
;SET LIB WE WILL USE
IF LIB,EQ,''
;IF NO LIBRARY SPECIFIED
SETD TXMLIB,SIBLIB
; USE ATTACHED LIBRARY
SET TXMMEM,''
;START AT THE BEGINNING
SET PPDCOND,1
;NEED SO BROWSE, EDIT, AND LOCATE DON'T
TERM
LABEL LOOP
;COME HERE FOR NEXT MEMBER
BROWSE
;GET NEXT MEMBER
IF SIBRETCD,NE,OK
;IF NO MORE, WE'RE DONE
EXIT OK,'LIBRARY "&TXMLIB" FIXED'
IF TXMTYPE,NE,'COBOL'
;IF TYPE ISN'T COBOL, IGNORE
GOTO -LOOP
EDIT
;EDIT MEMBER (LAST REF SET BY BROWSE)
IF SIBRETCD,NE,OK
;IF MEMBER CHECKED OUT OR CURRENTLY EDITED
GOTO -LOOP
; IGNORE
LABEL LOOP2
;COME HERE FOR NEXT COPY STATEMENT
LOCATE ' COPY ',ZONE=11-16 ;FIND A COPY STATEMENT
IF SIBRETCD,NE,OK
;IF NO MORE, DONE WITH THIS MEMBER
GOTO SAVE
CHANGE '&FSTR','&TSTR',ZONE=17-25
;MAKE THE CHANGE
GOTO -LOOP2
;GO LOOK FOR MORE COPY STATEMENTS
LABEL SAVE
;NO MORE CHANGES
SAVE
;SAVE THE EDIT SESSION
GOTO -LOOP
;GO LOOK FOR MORE MEMBERS
READ to Access a Specific Member's Attributes
The READ command sets the TXM variables with the attributes of a referenced
member. If a member name is specified, it sets the attributes of the named member. If
no name is specified, it sets the attributes for the "last referenced member". Since READ
does not open a session or access the member text, it is quite rapid. Its primary use is in
the initial processing of procedures which process members.
Suppose you want to write a procedure that performs an EDIT of a specified member if
the requesting user is the user assigned to the member, and a LIST otherwise. The
Page 38
BIM-EDIT System Reference Manual
Using BROWSE and READ to Process Members, Libraries, etc.
procedure is to behave like the EDIT command: member name is optional -- if not used,
the "last referenced member" (name held in TXMLIB and TXMMEM) will be used. You
could write that procedure like this:
SET PPDVBL,1
DCL MEM,CHAR,33,V
PARSE MEM
READ &MEM
;LONG ENOUGH TO ALLOW LIB.MEM
;GET MEMBER NAME (NULL IF NONE ENTERED)
;GET MEMBER ATTRIBUTES (LAST REF IF NULL,
; ERR AT THIS POINT IF NOT EXIST)
IFD TXMUSER,EQ,SIBUSER
;IS OWNER SAME AS CURRENT USER?
GOTO EDITOK
;YES, EDIT
LIST
;'READ' SET LAST REFERENCED MEMBER
EXIT OK,'MEMBER "&TXMLIB..&TXMMEM" ASSIGNED TO USER "&TXMUSER"'
LABEL EDITOK
EDIT
;'READ' SET LAST REFERENCED MEMBER
BROWSEL and READL to Access Library Attributes
You can use BROWSEL and READL to access libraries in the same way BROWSE and
READ access members. These commands will only provide you information about
libraries to which you have an adequate access level. Like READ, the primary use for
READL is at the beginning of a procedure which has been given a library name to
obtain attributes (in the TXL variables) for that library or determine that it does not
exist. Like BROWSE, BROWSEL will put into the TXL variables the attributes of the
next accessible library after the one whose name is in TXLLIB. By using both BROWSEL
and BROWSE, you can access every member in every library to which you are
authorized.
Example of a procedure to list the first line of every PROC type member in every library
which is accessible to the user:
Chapter 2. Writing Procedures
Page 39
Using BROWSE and READ to Process Members, Libraries, etc.
SET PPDVBL,1
SET PPDINCL,1
STACK 0,CL
;CLEAR STACK
SET PPDCOND,1
;NEED FOR BROWSEL
SET PPDLPLMT,5000
;EXPECTING LOTS OF MEMBERS
SET TXLLIB,''
;START BEFORE THE FIRST LIBRARY
LABEL LIBLOOP
;COME BACK HERE FOR MORE LIBRARIES
BROWSEL
;GET THE NEXT LIBRARY
IF SIBRETCD,NE,OK
;IF NO MORE
GOTO EXIT
; FINISH UP
SETD TXMLIB,TXLLIB
;MAKE SURE BROWSE USES RIGHT LIB
SET TXMMEM,''
;START BEFORE THE FIRST MEMBER
LABEL MEMLOOP
;COME BACK HERE FOR MORE MEMBERS
BROWSE
;GET THE NEXT MEMBER
IF SIBRETCD,NE,OK
;IF NO MORE IN THIS LIBRARY
GOTO -LIBLOOP
; GO FOR NEXT LIBRARY
IF TXMTYPE,NE,'PROC'
;IF NOT A PROC
GOTO -MEMLOOP
; GO FOR NEXT MEMBER
LIST &TXMLIB..&TXMMEM
;OPEN MEMBER
STACK 1,AP
;TRANSFER FIRST LINE TO STACK
QUIT
;CLOSE LIST SESSION
GOTO -MEMLOOP
; GO FOR NEXT MEMBER
LABEL EXIT
DISPLAYF "ALLPROCS"
;START A DISPLAY SESSION
Members in all Libraries with TYPE=PROC
--------------------------------------/INCLUDE $STACK
;get the names of the procedures
++/*
TOP
;GO TO TOP OF DISPLAY SESSION
This procedure accumulates the names in $STACK and then INCLUDEs them into the
DISPLAYF command. There are other ways to achieve the same effect: start the display
session and then use INSERTI to add the names one-by-one, or execute the BROWSE
loop inside the DISPLAYF by using trap character commands. The $STACK approach is
most efficient because the lines will not be individually audited as they are found.
Other Types of BROWSE and READ
On VSE, there is no BROWSE-type command for POWER job entries. There is, however,
a READP command which will update the job entry attributes in the PWR predefined
variables. (You should use READP to check the status of a POWER job entry whenever
you access it, since its status may be changed at any time by the computer operator or
POWER). There are no BROWSE or READ commands to access VSE sublibrary
members. (To work around, you can create a LIBRARYD display and step through it
within the procedure.)
On MVS, there is no BROWSE-type command for JES data sets. There is, however, a
READP command which will update the data sets attributes in the JCT, JQE, JOE, and
PDB predefined variables. (You should use READP to check the status of data sets
whenever you access them, since their status may be changed at any time by the
computer operator or JES). There are no BROWSE or READ commands to access MVS
PDS members. (To work around, you can create a LIBRARYD display and step through
it within the procedure.)
There are two additional sets of BROWSE and READ commands:
•
Page 40
BROWSEU and READU access BIM-EDIT user entries.
BIM-EDIT System Reference Manual
Using BROWSE and READ to Process Members, Libraries, etc.
•
BROWSES and READS access BIM-EDIT library/user security records.
The use of these commands is restricted to the System Administrator.
Chapter 2. Writing Procedures
Page 41
Application Interface Capability for Procedures
Application Interface Capability for Procedures
BIM-EDIT contains a special interface that procedures can use to communicate with
other BIM-EDIT systems in your VTAM network. This interface can be used in
procedures to communicate commands, send and receive text, or for many other
possible uses.
The feature is patterned after the batch Application Interface using VTAM's LU6.2
Program to Program communication protocol and is based on four new procedure
commands (LUOP, LUSD, LURC and LUCL). These commands provide the OPEN,
SEND, RECEIVE and CLOSE functions necessary to establish, maintain and terminate a
BIM-EDIT to BIM-EDIT partnership/connection.
With minimal variation, the LU6.2 application interface conversation protocol, as
documented in Chapter 6, Application Interface, applies to these procedures as well. Of
course APPC=YES is a required BIMEDIT APPL parameter, for all potential partner
BIM-EDITs.
Almost any interaction can be accommodated with this feature. The following list
contains just a few examples:
•
Sending or receiving members between BIM-EDIT systems, MVS or VSE.
•
Submit MVS JCL member text from the VSE system to the JES2 spooler on the MVS
system (or the reverse scenario).
•
Sending mail to users on the remote partner BIM-EDIT system.
•
Setting system variables on the remote partner BIM-EDIT such as the system
timeout interval.
•
Retrieving any display type session from the remote partner BIM-EDIT such as DA,
DQ, SHOW, CORE, any 'LIB' type command, etc.
•
Remote DEFINE, ALTER, PURGE functions.
•
Remote Shutdown command.
•
Checkout/Checkin source control between two BIM-EDIT systems could be
established.
It is also possible to create a procedure to process command lists in order to coordinate
activity between two BIM-EDIT systems. An example of that is included in the
$SYS.UDP library. Look for a series of example members whose names all begin with
"BIPX".
The four procedure commands are documented in Chapter 3 of this manual. They all
require the uses of the same three operands:
Page 42
LINED
Name of a 253 byte declared char variable, data line area.
STATUS
Name of a 2 byte declared char variable, status area.
WORKAREA
Name of a 253 byte declared char variable, work area.
BIM-EDIT System Reference Manual
Application Interface Capability for Procedures
The procedure must specify the same WORKAREA variable on all commands.
Information is stored in this area at OPEN that is required for the other three LUxx
commands.
Here is an example that would retrieve a JCL member from a remote partner BIM-EDIT
and submit it for execution on the host system:
SET PPDVBL,1
DCL MEM,CHAR,33,V
DCL LINED,CHAR,253,V,CASE=M
DCL STATUS,CHAR,2,V
DCL WORK,CHAR,253,V
DCL PARTNER,CHAR,8,F
DCL LOGMODE,CHAR,8,F
PARSE MEM PARTNER LOGMODE
;HOUSEKEEPING
SET LINED "&PARTNER&LOGMODE"
SET STATUS OK
LUOP LINED,STATUS,WORK,LOG=OFF
SETD MSG,SIBRESP
GOSUB CHECK
;SET LINED FOR OPEN COMMAND
;GET THE JCL VARIABLE INFO
;OPEN CONVERSATION WITH PARTNER
;CAPTURE RC & MSG
SET LINED "LOGON &SIBUSER $SIBPSWD"
LUSD LINED,STATUS,WORK
;SEND LOGON TO PARTNER
LURC LINED,STATUS,WORK
;RECEIVE THE STATUS
SETD MSG,SIBRESP
;CAPTURE RC & MSG
GOSUB CHECK
SET LINED "SEND &MEM"
LUSD LINED,STATUS,WORK
LURC LINED,STATUS,WORK
SETD MSG,SIBRESP
GOSUB CHECK
BLOCK
LURC LINED,STATUS,WORK
SETD MSG,SIBRESP
GOSUB CHECK
IF STATUS EQ EF
LEAVE
STACKI "&LINED"
ENDBLOCK LOOP
;SEND 'SEND' REQUEST
;RECEIVE THE STATUS
;CAPTURE RC & MSG
;RECEIVE LOOP
;RECEIVE THE TEXT
;CAPTURE RC & MSG
;CHECK FOR END OF TEXT
;STASH FOR LATER HANDLING
LUCL LINED,STATUS,WORK
;CLOSE CONVERSATION WITH PARTNER
SUBMIT $STACK
;DISPATCH THE JOB
EXIT OK,"&MEM FROM &PARTNER SUBMITTED BY &SIBUSER"
LABEL CHECK
IF STATUS EQ EF
;END OF FILE IS OK?
RETURN
IF STATUS EQ OK
;OK?
RETURN
LUCL LINED,STATUS,WORK
;CLOSE CONVERSATION WITH PARTNER
EXIT OK,"&MEM FROM &PARTNER, ERROR STATUS=&STATUS"
Chapter 2. Writing Procedures
Page 43
Debugging Procedures
Debugging Procedures
When you write complex procedures, you will find that you sometimes have trouble
getting them to work right. Maybe you used the wrong command, or maybe you didn't
consider something, or maybe who knows what. Welcome to one of the necessary tasks
of programming -- getting the "bugs" out of your procedure.
Elementary Precautions
Before you start testing a procedure, you should consider what bad things the
procedure can do if it fails. For example, procedures which purge may purge the wrong
things. Procedures which use SUBMITF, CONSOLEI or CONSOLEF may confuse
Computer Operations if they are not working correctly. Even procedures which create
things can make trouble if they run amok and create thousands.
You should analyze for these possibilities and take precautions before testing:
•
replace damaging commands with safe surrogates. For example, a SUBMITF can be
replaced with DISPLAYF until what appears in the display session looks good. You
may be able to replace PURGE with an ALTER or a RENAME (or have the System
Administrator turn on Purge Control).
•
if a procedure operates on all elements in a library, test it against a library that
doesn't contain anything important.
Tracking Down the Source of a Message
The error message produced when a command fails is often not specific. For example,
the message
(BIREDUPA) ** COMMAND ALLOWED ONLY IN UPDATE SESSIONS **
simply says that some command which alters session text was attempted against a
session that wasn't an EDIT or DISPLAY session. The command could be anywhere in a
procedure. If the procedure executes other procedures, it could be in one of them.
Rather than searching aimlessly through your procedure for the source of the message,
use SNAP mode.
The command SNAP ON turns on SNAP mode. SNAP OFF turns off SNAP mode.
When SNAP mode is "on", BIM-EDIT will write to your $LOG the exact line on which a
fatal command error occurred and all enclosing procedures and includes. If you are
debugging procedures, turn on SNAP mode.
SNAP mode tells you where your procedure was when the lights went out. However, it
is the nature of debugging that you often need more information.
Obtaining the Values of Variables
The values of variables generally control the operation of procedures. Shortly after you
have determined where your procedure failed, you will almost undoubtedly want to
know the values of some of the variables. Unfortunately, all the local variables died
with the procedure - so they are no longer available to interrogate.
Page 44
BIM-EDIT System Reference Manual
Debugging Procedures
To get the values of variables, you will need to modify the procedure to display them
before it terminates. The following are the commands which are most useful to display
the variables:
SHOW LOCAL and SHOW GLOBAL. These commands display all variables you have
declared. If you can determine where to insert it, SHOW will display
the variables. SHOW's disadvantage is that it creates a session. If the
procedure is to continue after SHOW, you may have to adjust for the
extra session.
EXIT
You can display the values of a few variables in an EXIT command
message. If you know exactly where the bug starts and what variables
you are interested in, add a command like:
EXIT ER,'BUG!!! V1="&V1" V2="&V2"'
MAPF
This command can display the values of many variables as many times
as you need. The disadvantages of this approach are that it takes more
effort to code and it doesn't leave any permanent record, so that you
have to copy the values on a pad of paper as they go by.
Tracing Procedure Flow
If you know where the procedure was when it died, and you know the values of the
variables, you may still have some big questions: How did it get that way? Which of the
seemingly myriad commands in the procedure caused it to happen?
The answers can often be obtained by the brute force technique of "tracing". The essence
of tracing is the same as unrolling a ball of string as you go through a maze so that you
can follow it back to find the entrance. Tracing generates a list as your procedure goes
along of where it has been (and key variable values, if pertinent). BIM-EDIT provides a
special PPD variable (PPDTRACE) that when set to '1', will generate a trace of all
LABEL commands in the $LOG file. You can also generate trace entries using several
standard BIM-EDIT commands as described below.
The key issue is where to put the trace: you can use $LOG, a session, the system
console, the printer, or even $STACK or the screen -- each has strengths and
weaknesses:
$LOG
It is usually easy to add LOGI or LOGF commands to your procedure
at critical points to cause a trace to be written. It doesn't disrupt the
operation of the procedure (unless the procedure's function is to write
to $LOG) and works in both batch and online (in batch you will have to
print $LOG before you end because the $LOG of a batch user is not
saved). The disadvantage is that $LOG is limited size -- you may need
more lines in the trace than $LOG will retain.
console
You can trace to the system console using CONSOLEI or CONSOLEF
commands, if Computer Operations allows it.
printer
Tracing to the printer is also easy: add PRINTF commands to your
procedure. Printed output does not have a size limit and is ideal for
batch tracing. However, this technique is only practical from batch
because each PRINTF would create a separate data set from online. If
Chapter 2. Writing Procedures
Page 45
Debugging Procedures
your procedure uses MAPF commands (most large procedures do), it
cannot be executed in batch.
screen
You can trace to the screen by adding MAPF commands to the
procedure. This is often appealing and does not create any limitations,
but it can be time-consuming to hit the enter key after each trace screen
is displayed. MAPF is also bulky, requiring at least three lines of
procedure code for each trace entry.
$STACK
You can easily trace into $STACK, if your procedure doesn't use it for
some other purpose. Simply execute STACKI or STACKF commands.
session
Finally, you can trace into a session by using the ROTATE and INSERTI
or INSERTF commands. A session can typically be larger than $LOG,
and can be used in either batch or online. However, if your procedure
uses multiple sessions (many do), it can be complicated to determine
how to get to the trace session and back -- you may have more bugs in
your session trace commands than in your procedure.
Traps for the Unwary
We are aware of a few "traps" in writing BIM-EDIT procedures. These are problems that
you can look right at and not see. The following list is provided so you can check for
them when you simply can't find what is wrong.
1.
A procedure line will be considered to continue onto the next line if the line ends
with a space dash (" -"). If you should be so unlucky as to end the comment on a
procedure line with a dash, the next command will be treated as part of that
comment and will not be executed. For example,
OVERLAY 41,'!'
OVERLAY 50,'!'
;THIS IS THE FIRST OVERLAY ; AND THIS IS THE SECOND
OVERLAY 50,'!' will never be executed because BIM-EDIT sees it as part of the
comment started on the preceding line.
Page 46
2.
The values of variables are replaced into commands before the commands are
interpreted. If the value of a variable contains a space, a comma, an equal sign or a
semicolon, and its replacement entry is not contained in quotes, very odd things
may happen. Enclose replacement entries in quotes, especially if they derive from
values which the user entered as a parameter or on a MAPF. (To be bullet-proof,
you also need to handle the case where the variable value CONTAINS quotes. You
can handle this case if you either always use single quotes or always use double
quotes to contain replacement entries in your procedures. Setting PPDLITEX to "1"
and PPDLITDL to the quote character you use will cause any instances of that
character to be expanded to a double character during replacement and then
returned to a single character during command interpretation.
3.
If PPDCOND is left at "1" throughout a procedure, the procedure becomes much
harder to debug. What happens is that a command fails when you weren't
expecting it and the procedure keeps going with no checks of SIBRETCD after that
command. By the time something bad enough to stop the procedure happens, it
may be several commands further along. Always set PPDCOND back to "0" as soon
as practical.
BIM-EDIT System Reference Manual
Special Techniques
Special Techniques
Procedures can get very complicated and very powerful. This section covers some
issues that are only relevant for advanced procedure writing.
Modularity
If you write a procedure which gets very large, you should consider breaking it into
procedures executing sub-procedures. For example, you might have a main menu
procedure which just displays a MAPF selection screen and then executes one of several
sub-procedures to do the selected task. There are several reasons for breaking up large
procedures:
1.
Subprocedures will allow you to re-use programming. Modularity also means that
all the commands that handle particular "concepts" appear in one place and they are
easier to modify when the concept changes.
2.
Procedures are hard to maintain when they get to be too large because it becomes
difficult to keep track of all the GOTOs that branch to a particular label.
3.
There is a limit on how many variables can be active at one time. Since, once
declared, a variable cannot be gotten rid of except by exiting the procedure,
subprocedures conserve variable space. Also, the larger the procedure is, the more
likelihood that you will re-use a work variable (such as I or CNT) at an
inappropriate time. Breaking the procedure into subunits gives you a new and
completely independent set of variables to use.
4.
Commands which are branched over by means of a GOTO take time. There can be a
slight efficiency gain by putting large sections of commands which are often
branched over into a subprocedure, so only the subprocedure invocation is
branched over. However, this will only be a saving in special circumstances,
because invoking a procedure generally involves reading from disk the member
containing the procedure, which takes orders of magnitude more resources than
skipping lines.
Passing Values Between Procedures
When you use subprocedures, you will discover that it isn't always easy to get variable
values from a subprocedure. (Sending values to a subprocedure is easy so long as they
will fit on the procedure invocation line). There are three ways a subprocedure can
communicate values to its invoker:
1.
Return the result in SIBMSG. This will work fine so long as the invoker removes the
result on the next command after the call, because SIBMSG is changed by every
command.
2.
Return the results in variables declared with SCOPE=GLOBAL. These variables
continue to be available after the subprocedure exits. The main disadvantage to this
approach is that large procedure applications may need to develop conventions to
avoid accidentally using the same name for global and local variables.
3.
In the subprocedure, build a member containing SET commands. INCLUDE this
member in the invoker after the invocation. This approach is not especially efficient
Chapter 2. Writing Procedures
Page 47
Special Techniques
but can transmit an essentially unlimited amount of information between
procedures. Be sure that the name of the member you create uses the current user
ID (SIBUSER) to prevent trouble if more than one user is executing the procedures
at the same time. For example:
Invoking procedure:
DCL RESULT,NUM,8,V
MODULUS RESULT 45 28
INCLUDE WORK.&SIBUSER.RESULTS
Invoked procedure MODULUS:
SET PPDVBL,1
DCL MOD,NUM,8,V
DCL VARNAME,CHAR,12,V
DCL DIVIDEND,NUM,8,V
DCL DIVISOR,NUM,8,V
PARSE VARNAME,DIVIDEND,DIVISOR;NAME OF VAR TO SET AND VALUES TO USE
SETD MOD,DIVIDEND
;CALCULATE MODULUS
DIVIDE DIVIDEND,&DIVISOR
MULTIPLY DIVIDEND,&DIVISOR
SUBTRACT MOD,&DIVIDEND
SET PPDCOND,1
;MEMBER MAY ALREADY EXIST
DEFINE WORK.&SIBUSER.RESULTS
SET PPDCOND,0
;NOW IT SHOULD EXIST
EDIT
;EDIT THE PARM MEMBER
DELETE *
;DELETE ANY LINES THAT MAY BE IN IT
INSERTI 'SET &VARNAME,&MOD'
;MAKE A SET COMMAND
SAVE
;SAVE THE MEMBER
Making Procedures Into Commands
BIM-EDIT encourages the use of procedures as commands. In addition to the facilities
we have previously described in this chapter, there are some additional features that are
specifically designed to facilitate the use of procedures as commands or to replace
commands:
Page 48
•
There are four "command tables", which BIM-EDIT uses to translate a command
name to a procedure name. These command tables are the Attached Library
command table, the User command table, the Site command table, and the System
command table. A procedure will be found more efficiently if it is in a command
table than if it is executed implicitly. There are several other advantages to the use
of command tables: they can allow procedures to be found no matter what library
you are attached to, they allow you to name procedure members with names that
make sense in your library organized even though different names make sense to
invoke them, and they allow you to invoke procedures with the same names that
you would use to invoke a BIM-EDIT command (in other words, to replace a
command with a procedure).
•
BYPASS is a command that is useful when writing a procedure that replaces a
system command. For example, you can write a procedure which would be invoked
to handle the DEFINE command. It could enforce site-specific rules on how a
member is defined. However, without BYPASS, there would be a logical problem:
when your procedure tried to invoke the true DEFINE command, it would instead
BIM-EDIT System Reference Manual
Special Techniques
invoke itself. BYPASS forces the invocation of the command on the following line to
take place using the next higher command table.
•
AUTHORIZ is a command that allows a procedure to access members that the user
executing it would not be allowed to access directly. AUTHORIZ is only available
to procedures executing out of the $SYS and $SIT libraries.
For more information on making procedures into commands, see "Creating Library,
User, and Site Commands" in Chapter 11 of this manual.
Batch Utility and Application Interface Input as a Procedure
BIM-EDIT treats the input commands in Batch Utility and the Application Interface
almost identically to the way it treats procedures. The text- following commands (with
the exception of MAPF) can be used. GOTO, LABEL, IF, and IFD can be used (GOTO in
direct input can only branch forward). GOSUB, LOOP and RETURN cannot be used.
Variables can be declared, set, and replaced. For more information see Chapter 5, Batch
Utility, and Chapter 6, Application Interface, in this manual.
Chapter 2. Writing Procedures
Page 49
Chapter 3. Advanced User Commands
The command descriptions presented in this chapter use the same format as those
documented in the BIM-EDIT User Reference Manual. For information about the
presentation format, refer to Chapter 4, Commands, in the User Reference Manual.
The following table lists the BIM-EDIT advanced user commands, along with a brief
description of their function. Commands are separated into categories.
Commands to Start Execution
Identify user for Batch Utility or Application Interface
Establish password for one-time batch use.
LOGON
PEND
Commands Used to Manipulate Variables
ADD
DECLARE
DIVIDE
HEXREQ
INTERVAL
MAPF
MULTIPLY
PARSE
PHONETIC
SET
SETD
SETL
SETM
SHOW
SUBTRACT
VAPPEND
VEXAMINE
VLOWERCA
VTESTNUM
VTRUNCAT
VUPPERCA
Page 50
DCL
DIV
HEXR
MULT
SUBT
VAPP
VEXAM
VLOW
VTRUN
VUPP
Set variable to current value plus specified value.
Create new variable.
Set variable to current value divided by specified value
Performs various hexadecimal operations.
Determine the interval between two dates and times.
Display following lines and obtain user response.
Set variable to current value times specified value.
Set variables to procedure operand values.
Convert a name or word to a phonetic value.
Set variable to specified value.
Set variable to value of another variable.
Set variable to length of another variable value.
Set variable to message text of message id.
Display BIM-EDIT status information and variables.
Set variable to current value minus specified value.
Set variable to current value extended by characters.
Test variable value for specified character string.
Set variable to current value translated to lowercase.
Test variable value for convertibility to numeric.
Set variable to current value shrunk by trailing blanks.
Set variable to current value translated to uppercase.
BIM-EDIT System Reference Manual
Commands Used to Control Execution
BLOCK
DEQUEUE
ELSE
ENDBLOCK
ENDIF
ENQUEUE
EXAMINE
EXIT
GOSUB
DEQ
ENQ
EXAM
GOTO
HEXIF
IF
IFD
IFTHEN
LABEL
LEAVE
LOOP
RETURN
SENDMSG
SNAP
TRANSFER
WAIT
TRAN
Execute following line(s) until ENDBLOCK / LEAVE /
LOOP.
Release exclusive ownership of common resources.
Execute following line(s) if preceding IFTHEN is false.
Marks the end of a preceding BLOCK sequence.
Marks the end of a preceding IFTHEN/ELSE sequence.
Synchronize access to common resources.
Test current session line for character string.
Terminate procedure.
Perform commands starting a LABEL until next
RETURN.
Execute starting at matching LABEL.
Execute following line only if (hex) test is true.
Execute following line only if test is true.
Execute following line only if test is true.
Execute following line(s) only if test is true.
Execute starting here after matching GOTO.
Continue processing following the next ENDBLOCK
command.
Continue processing at the preceding BLOCK
command.
Return to statement following preceding GOSUB.
Send a message to the terminal message area.
Activate / Deactivate snapshot debugging.
Transfer from one procedure to another.
Give up control for a specific time interval.
Commands Used to Obtain Entity Information
Set TXM variables to attributes of next member.
Set TXL variables to attributes of next library.
Set TXM variables to attributes of specified member.
Set TXL variables to attributes of specified library.
(VSE) Set PWR variables to attributes of POWER job
entry.
(MVS) Set JOE,JQE,JCT,PDB var. to attr. of JES data
sets.
BROWSE
BROWSEL
READ
READL
READP
READP
Commands Used in Applications Interface
SEND
SENDF
SENDI
SENDN
Chapter 3. Advanced User Commands
Transfer text of a member to an application.
Transfer following lines to an application.
Transfer single line to an application.
Transfer a specified session line to an application.
Page 51
Commands Used for Printing and Punching
Skip to top of page.
Set page heading to the following lines.
Print member text.
Print following lines.
Punch member text.
Punch following lines.
Punch single line.
Punch text for all members of a specified library.
Close and reopen SYSLST (VSE only).
EJECT
HEADF
PRINT
PRINTF
PUNCH
PUNCHF
PUNCHI
PUNCHL
SEGMENT
Commands Used to Transfer Text
AUDITF
AUDITRP
CONSOLEF
DISPLAYF
INSERTF
LOADD
AUDF
AUDRP
CONSF
DISPF
INSF
LOADDL
LOADT
LOGF
OUTPUTF
REPRO
REPROF
REPROI
REPROL
STACKF
SUBMITF
OUTF
SUBF
Write following comment lines to member audit trail.
Write member audit trail to tape.
Write following lines to operating system console.
Display following lines.
Alter session text - insert following lines.
Create member from VSE sublibrary or MVS PDS
member.
Create members from VSE sublibrary or MVS PDS
members.
Create members from "foreign" offload tape.
Write following lines to $LOG.
Write following lines to the SIBOUTPT destination.
Write member text to tape.
Write following lines to tape.
Write single line to tape.
Write text for all members of a library to tape.
Write following lines to $STACK.
Submit following lines for processing.
Commands Used in LU 6.2 Application procedures
LUCL
LUOP
LURC
LUSD
CLOSE LU62 program conversation with a partner
BIM-EDIT.
OPEN LU62 program conversation with a partner BIMEDIT.
RECEIVE responses and or data from the partner BIMEDIT.
SEND command or data to the partner BIM-EDIT.
The following pages provide a detailed explanation of each command.
Page 52
BIM-EDIT System Reference Manual
ADD
ADD
Use ADD to add a specified value to a specified variable.
Required Operands
OPER1
is the name of a previously declared numeric variable.
OPER2
is a non-negative numeric integer.
OPER2 will be added to the contents of the OPER1 variable. The result will be stored in
the OPER1 variable.
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. For online help, refer to topics 'DECLARE',
'ARRAYS', and 'SUBSTR'.
When Valid
ADD can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
ADD normally returns OK. (See SIBRETCD.)
Example
Procedure to use ADD in processing a sequence of statements 12 times:
DECLARE COUNTER,NUM,6,V
SET COUNTER,0
LABEL D20
ADD COUNTER,1
IF COUNTER,GT,12
GOTO E20
.... lines to be processed 12 times ....
GOTO -D20
LABEL E20
Chapter 3. Advanced User Commands
Page 53
AUDITF
AUDITF
Use AUDITF to write comment lines to a member's audit trail. The lines following the
AUDITF command will be written to the audit trail. An end-of-text line (++/*)
terminates the AUDITF command.
AUDITF may also be entered as AUDF.
AUDITF ignores any operands.
Audit lines created by AUDITF are prefixed with the seven characters ".**** ".
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more examples, refer to the BIM-EDIT System Reference Manual Chapter 2, Writing
Procedures.
When Valid
AUDITF can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
AUDITF normally returns OK. (See SIBRETCD.)
Example
Create documentation in the audit trail concerning a forthcoming new release:
AUDITF
******************************************************************
RELEASE 2.7A DEVELOPMENT STAGE:
START DATE
: 07/01/91
DEVELOPMENT PERSONNEL : TIM JOHNSON, MARK NELSON
******************************************************************
++/*
Page 54
BIM-EDIT System Reference Manual
AUDITRP
AUDITRP
Use AUDITRP to write a copy of a member's audit trail to tape.
AUDITRP may also be entered as AUDRP.
Required Operands
MEM
is the member whose audit trail is to be written to tape.
DATE
specifies how much of the audit trail to write to tape. If DATE is
specified as an asterisk (*), the entire audit trail is written to tape.
Otherwise, DATE is entered in one of these formats:
"mm/dd/yy",
"mm/dd/yyyy",
"dd/mm/yy"
or
"dd/mm/yyyy" depending upon the system date format set by
your System Administrator. In this case, the audit trail up to and
including DATE is written to tape.
Optional Operands
TIME
optionally is used to further qualify how much audit trail to be
written to tape. If a TIME is entered as hh:mm:ss, the audit trail
up to and including the TIME within DATE is written to tape.
The following parameters are valid only on the first AUDITRP, REPROI, or REPROF
command (REPRO uses REPROF) read by BIMUTIL. These operands are only valid
in VSE.
OPEN
is the value for the VSE tape open option. It may be specified as
REWIND or NOREWIND. The default is NOREWIND.
CLOSE
is the value for the VSE tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is
NOREWIND.
LABEL
is the value for the VSE tape label option. It may be specified as
YES or NO. YES indicates that the tape created will be a VSE
standard label tape. The file name for the labeled tape is
TPBODTF. NO means that the tape is unlabelled. The default is
NO.
AUDITRP sets the "last referenced member".
On VSE, AUDITRP writes output to a tape on logical unit SYS005.
On MVS, AUDITRP writes output to ddname BIFREPRO.
Records are written in a fixed block format (record size=80, block size=16000). The tape
file is opened on the first AUDITRP, REPROF, or REPROI command (REPRO uses
REPROF) and remains open until the batch utility reaches end of job.
AUDITRP writes an exact copy of the member's audit trail in the format it appears
when SCREEN AUDIT=ON. AUDITRP breaks apart audit lines longer than 80
characters to a four-line format with each line beginning "++()". These lines will be
Chapter 3. Advanced User Commands
Page 55
AUDITRP
reassembled if presented as input to the "text following" commands AUDITF,
CONSOLEF, DISPLAYF, INSERTF, LOGF, MAPF, OUTPUTF, PRINTF, PUNCHF,
REPROF, STACKF, and SUBMITF. For details of the ++() format, see the PPD
predefined variables.
There is no BIM-EDIT command which processes the AUDITRP format tape to rebuild
a member's audit trail or to rollback edits to a member. AUDITRP is provided for use in
site-specific audit analysis, not as a transfer or backup feature. AUDITRP does not alter
the member's audit trail.
When Valid
AUDITRP can only be used in batch utility. If your System Administrator has set
MMPAUCTL to a value of "1", the user must have ADM command access level.
Otherwise, the user must have DEF access level for the MEM library.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Member not found.
Inadequate access level.
AUDITRP sets the TXM variables to the attributes of MEM.
VSE Example
Write the audit trail through Dec 31, 1996 for member IJC2500 to tape:
// JOB AUDITRP
// ASSGN SYS005,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
AUDITRP IJC2500,12/31/1996
/*
/&
MVS Example
Write the audit trail through Dec 31, 1996 for member IJC2500 to tape:
//AUDITRP JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFREPRO DD
DSNAME=BIFREPRO,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
AUDITRP IJC2500,12/31/1996
Page 56
BIM-EDIT System Reference Manual
BLOCK
BLOCK
Use the BLOCK command to identify one or more following lines, up to the next
ENDBLOCK command (related by nesting level) as a complete logic unit. The BLOCK
command would normally be used in a procedure.
Optional Operands
Label name. LABEL can be up to 8 characters in length,
composed of the letters A-Z, the numerals 0-9, and the special
characters dash (-), dollar sign ($), and the underscore (_). Use a
LABEL name to specify a branch destination for a GOTO,
GOSUB, ENDBLOCK, ENDIF or LEAVE. This operand
functions the same as if the BLOCK command was preceded
with a LABEL command. NOTE: The performance option
(PPDPFOPT=1) will be forced active for this option, duplicate
LABEL NAMEs are not allowed.
LABEL
Nested BLOCK commands are supported up to 16 levels.
When Valid
The BLOCK command can only be used in a procedure.
Use in a Procedure
Return Codes:
OK
SV
Nesting limit exceeded.
Example
The following example shows the BLOCK command used within a procedure.
SET ....
...
BLOCK
IF A,NE,'B'
LEAVE
IF C,NE,'D'
LEAVE
.... Statements
...
ADD CT,1
IF CT,LT,10
LOOP
ENDBLOCK
...
...
EXIT
Chapter 3. Advanced User Commands
Page 57
BROWSE
BROWSE
Use BROWSE to set the TXM predefined variables to the attributes of the member
following the one whose name is currently in the TXM variables.
BROWSE has no operands.
If TXMMEM is blank, TXM will be set to the attributes of the first member in the
TXMLIB library.
BROWSE is useful within a procedure to perform some action against a succession of
members of a library. Refer also to the READ command.
For more extensive discussion and examples, see the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. See BIM-EDIT System Reference Manual
Chapter 4, Predefined Variables, or HELP TXM for more information on the TXM
variables.
When Valid
The user must have LIST access level to the TXMLIB library.
Use in a Procedure
Return Codes:
OK
EF
SC
Successful.
No more members in library.
Inadequate access level.
Example
Procedure to make global changes to every member of the OM20 library:
SET PPDCOND,1
SET TXMLIB,OM20
SET TXMMEM,''
LABEL D20
BROWSE
IF SIBRETCD,NE,OK
GOTO E20
EDIT
CHANGE LOOPCNTR,PPDLPCTR,*
CHANGE LOOPLMT,PPDLPLMT,*
SAVE
GOTO -D20
LABEL E20
EXIT OK,'## GLOBAL CHANGE OPERATION COMPLETE ##'
Page 58
BIM-EDIT System Reference Manual
BROWSEL
BROWSEL
Use BROWSEL to set the TXL variables to the attributes of the library immediately
following the one whose name is currently held in the TXL variables.
BROWSEL has no operands.
If TXLLIB is blank, TXL will be set to the first library in the system. BROWSEL will
bypass libraries for which the access level is less than EXEC.
BROWSEL is useful within a procedure to perform some action against a succession of
libraries. Refer also to the READL command.
For more extensive discussion and examples, see the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. See BIM-EDIT System Reference Manual
Chapter 4, Predefined Variables, or HELP TXL for more information on the TXL
variables.
Use in a Procedure
Return Codes:
OK
EF
Successful.
No more libraries.
Example
BROWSEL, in conjunction with BROWSE, could be used to perform some action against
every member of the BIM-EDIT system. The following procedure is such an example:
SET PPDCOND,1
SET PPDVBL,1
SET TXLLIB,''
LABEL D10
BROWSEL
IF SIBRETCD,NE,OK
GOTO E10
SET TXMLIB,&TXLLIB
SET TXMMEM,''
LABEL D20
BROWSE
IF SIBRETCD,NE,OK
GOTO E20
EDIT
CHANGE LOOPCNTR,PPDLPCTR,*
CHANGE LOOPLMT,PPDLPLMT,*
SAVE
GOTO -D20
LABEL E20
GOTO -D10
LABEL E10
EXIT OK,'## GLOBAL CHANGE OPERATION COMPLETE ##'
Chapter 3. Advanced User Commands
Page 59
CONSOLEF
CONSOLEF
Use CONSOLEF to write lines to the operating system console. The lines following the
CONSOLEF command will be written. The end-of-text line (++/*) terminates the
CONSOLEF command.
CONSOLEF may also be entered as CONSF.
CONSOLEF ignores any operands.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more extensive discussion and examples, see the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
CONSOLEF can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
Example
From within a procedure, write lines to the system console:
CONSOLEF
******************************************************************
THE FRIDAY OPERATING RUN HAS NOW BEEN SUBMITTED.
THIS INCLUDES:
1) DAILY RUN
2) END OF WEEK RUN
******************************************************************
++/*
Page 60
BIM-EDIT System Reference Manual
DECLARE
DECLARE
Use DECLARE to create a new variable.
DECLARE may also be entered as DCL.
Required Operands
NAME
NAME can be up to 8 characters in length, composed of the
letters A-Z, the numerals 0-9, and the special characters dollar
sign ($), underscore (_), and number sign (#). NAME must not
start with the characters "JCT", "JOE", "JQE", "MMP", "OPS",
"PDB", "PPD", "PWR", "SIB", "SSD", "TXL", "TXM", "TXS", "TXU",
or "XTR" as these are reserved for predefined variables.
To DECLARE an array, suffix the name with the number of
entries in the array within parentheses:
DCL NAME(24),CHAR,80,V
TYPE
Specify "CHAR" for a character variable, "NUM" for a numeric
variable or NUMS for a signed numeric variable. Signed
numeric variables are capable of containing negative as well as
positive values.
LENGTH
specifies the maximum length the variable data can assume. For
numeric data (TYPE=NUM), length must be a value between 1
and 8. Signs are not processed by BIM-EDIT. For character data
(TYPE=CHAR), length must be a value between 1 and 253.
Optional Operands
FMT
controls the manner in which variables are replaced within text
or commands.
The following formats are provided:
"F"
indicates that the replacement value of the variable will
always occupy LENGTH characters i.e. it is of "fixed"
length. Padding will take place with blanks on the right
for CHAR variables and with zeroes on the left for NUM
variables.
"V"
the default, indicates that the replacement string will
occupy a varying number of positions, determined by the
current length of the variable data.
"Z"
is specified only for numeric variables. It functions like
FMT="F", except that the leading zeros are replaced with
blanks.
"E"
is specified only for numeric variables. Numeric variables
are "edited" by inserting commas and suppressing leading
zeros. As such, the replacement string may occupy more
positions than its declared length.
Chapter 3. Advanced User Commands
Page 61
DECLARE
Optional Operands (continued)
If FMT is not specified, V is assumed.
Examples:
DECLARE
CHAR,6
CHAR,6
NUM,6
NUM,6
NUMS,6
NUMS,6
NUMS,6
NUMS,6
CASE
------------ <&VALUE.> -------------SIGN SET VALUE FMT=F
FMT=V
FMT=Z
FMT=E
+
+
-
'ABCD'
' BC '
5
5000
5
5000
-5
-5000
<ABCD >
< BC >
<000005>
<005000>
<000005>
<005000>
<-000005>
<-005000>
<ABCD>
< BC >
<5>
<5000>
<5>
<5000>
<-5>
<-5000>
< 5>
< 5000>
<
5>
< 5000>
<5>
<- 5000>
< 5>
< 5,000>
<
5>
< 5,000>
<5>
<- 5,000>
CASE
specifies whether input data from the MAPF and PARSE
commands is to be translated to upper case. If CASE is specified
as U, translation will occur. If CASE is specified as M, translation
will not occur. If CASE is not specified, translation will occur.
SCOPE
specifies which procedures have access to this variable.
INIT
SCOPE=LOCAL
(default) the variable is known only within
the current procedure, and only for the life
of the current procedure.
SCOPE=GLOBAL
the variable is known to all other
procedures in current procedure execution.
SCOPE=USER
the variable is known to all procedures
executed by the current user as long as the
user is logged on to the BIM-EDIT system.
SCOPE=SYSTEM
the variable is known to all procedures for
all users until BIM-EDIT is shut down.
SYSTEM variables can only be declared and
set by users with ADM command security .
specifies an initial image to set into the variable.
Variables, if not predefined, must be declared prior to being referenced. Variables are
usually declared at the start of a procedure. Variables should not be declared within a
section of the procedure that is executed multiple times. Such a situation would result
in a "variable already declared" error on the second iteration.
Character variables are initialized to a blank value. Numeric variables are initialized to
a zero value unless, of course, the INIT parameter is used.
Variables declared with SCOPE=GLOBAL provide a convenient means of
communicating information between procedures. After global variables are declared,
any procedure has complete access to them. Global variables remain declared until
BIM-EDIT returns to online command mode. For batch utility or application interface,
they remain declared for the entire logon. Variables declared with SCOPE=USER
Page 62
BIM-EDIT System Reference Manual
DECLARE
remain declared for the users entire logon. Variables declared with SCOPE=SYSTEM
remain declared, until BIM-EDIT EOJ, available for reference by all users. SYSTEM
variables should be declared, set or altered only by the system administrator. Procedure
$SIT.PROC.SYSTDVB, if it exists, will be executed at BIM-EDIT startup to declare and
set SITE standard SYSTEM variables.
For more extensive discussion and examples of the use of variables, see the BIM-EDIT
System Reference Manual Chapter 2, Writing Procedures.
When Valid
DECLARE can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
DECLARE normally returns OK. (See SIBRETCD.)
Example
The following lines declare LIB as a character variable, length 16, with a varying format,
and CTR as a numeric variable, length 6, with a fixed format:
SET PPDVBL,1
DECLARE LIB,CHAR,16,V
DCL CTR,NUM,6,F
SET LIB,'EDITOR'
SET CTR,45
EXIT OK,'LIB="&LIB." CTR="&CTR."'
Executing this procedure will result in the following message:
LIB="EDITOR" CTR="000045"
Chapter 3. Advanced User Commands
Page 63
DEQUEUE
DEQUEUE
DEQUEUE is used to cause a procedure to release exclusive ownership of a common
resource previously acquired by an ENQUEUE command. The exclusive ownership
remains in effect until the task issues a DEQUEUE command in the same or subsequent
procedure. If a DEQUEUE command is not issued, exclusive ownership remains until
BIM-EDIT is cycled.
DEQUEUE may also be entered as DEQ.
Required Operands
is the 1 to 8 character alphanumeric name used to identify the
common resource previously acquired by an ENQUEUE.
RESID
Optional Operands
FORCE causes a requested DEQUEUE to be effective from a task
other than the owning task which may no longer be available to
do the function. FORCE is recognized only for users with ADM
command security.
OPT
When Valid
The DEQUEUE command can only be used in a procedure, batch utility, or the
application interface.
Use in a Procedure
Return Codes:
OK
NF
SV
Successful.
Resource not found in Resource Enqueue table (BIFTBRQ).
Resource not owned by issuing task or other parameter errors.
Example
DEQ MASTLOG
Page 64
;(Release exclusive ownership of resource MASTLOG)
BIM-EDIT System Reference Manual
DISPLAYF
DISPLAYF
Use DISPLAYF to create a display session. The lines following the DISPLAYF command
will compose the display. The end-of-text line (++/*) terminates the DISPLAYF
command.
DISPLAYF may also be entered as DISPF.
Optional Operands
STR
is a character string that will be displayed in the information line
of the DISP session. The REFRESH command will attempt to
recreate a DISP session by processing the STR value as a
command. STR can be up to 37 characters in length. If STR is not
specified, a value of "DISPLAYF" is assumed.
The display session created by DISPLAYF becomes the current session. This session
must remain current until the end-of-text line (++/*) is processed. Thus, you cannot
enter (through use of PPDTRAP features) commands such as EDIT, END, and ROTATE
that change the current session until the end-of-text line has been processed.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more discussion on text-following commands, refer to the BIM-EDIT System
Reference Manual Chapter 2, Writing Procedures. Use OUTPUTF to output to a display
session in online but to the printer or the console in batch as the LIBRARY command
does.
When Valid
DISPLAYF can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
DISPLAYF normally returns OK. (See SIBRETCD.)
Example
Procedure to display information about a library:
SET PPDVBL,1
DECLARE LIB,CHAR,16,V
PARSE LIB
READL &LIB
DISPLAYF 'INQL &TXLLIB'
NAME
: &TXLLIB
TITLE
: &TXLTITLE
USER
: &TXLUSER
++/*
Chapter 3. Advanced User Commands
Page 65
DIVIDE
DIVIDE
Use DIVIDE to arithmetically divide a specified variable by a specified value.
DIVIDE may also be entered as DIVI or DIV.
Required Operands
OPER1
is the name of a previously declared numeric variable.
OPER2
is a numeric integer greater than zero.
Optional Operands
OPER3
is the name of a previously declared numeric variable, into
which the remainder from the divide is to be stored.
The value of the OPER1 variable will be divided by the OPER2 value. The result,
truncated to an integer, will be stored in the OPER1 variable. If the optional OPER3
variable is provided, the remainder from the divide will be stored there. If OPER3 is
omitted, the remainder is lost.
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. For online help, refer to topics 'DECLARE',
'ARRAYS', and 'SUBSTR'.
When Valid
DIVIDE can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
DIVIDE normally returns OK. (See SIBRETCD.)
Examples
Procedure to display the number of bytes per transmission since this terminal logged
on.
SET PPDVBL,1
DCL X,NUM,6,V
SETD X,SIBSDBYT
DIVIDE X,&SIBSDTRM
EXIT OK,'BYTES PER TRANSMISSION SINCE LOGON = &X'
Procedure to divide to values that have been input to it, and display the results at the
terminal.
SET PPDVBL,1
DCL NUM1,NUM,6,V
DCL NUM2,NUM,6,V
DCL OPER1,NUM,6,V
DCL OPER3,NUM,6,V
PARSE NUM1,NUM2
SETD OPER1,NUM1
DIVIDE OPER1,&NUM2,OPER3
EXIT OK,'THE VALUE &NUM1 / &NUM2 = &OPER1, WITH A REMAINDER OF &OPER3'
Page 66
BIM-EDIT System Reference Manual
EJECT
EJECT
Use EJECT to skip to top of page.
EJECT has no operands.
When Valid
EJECT can only be used in batch utility.
Use in a Procedure
EJECT normally returns OK. (See SIBRETCD.)
Example
After defining a new heading, skip to top of page:
HEADF
TIME ANALYSIS REPORT
---------------------------------------------------------------------++/*
EJECT
Chapter 3. Advanced User Commands
Page 67
ELSE
ELSE
Use ELSE to end the current related IFTHEN "truth" condition and reverse that
condition for procedure statements following ELSE and continuing to the related
ENDIF statement.
Optional Operands
is a name specified on a LABEL statement. See the LABEL
command. If the label precedes the ELSE, prefix the label with a
dash (-).
LABEL
ELSE causes no position change unless, of course, the optional label parameter is used.
Use of the optional LABEL parameter ends the IFTHEN block including all nesting
levels.
When Valid
ELSE can only be used in a procedure. The ELSE command must have been preceded
by a IFTHEN command and statements following must end with the ENDIF command.
Use in a Procedure
Return codes:
NF
Prior IFTHEN index not found
Example
The following example shows the ELSE command used within a procedure.
DECLARE MEM,CHAR,33,V
DECLARE DEST,CHAR,4,V
PARSE MEM,DEST
IFTHEN DEST,EQ,'LIBR'
ELSE
IFTHEN SIBUSER EQ LARS
SET MEM ACCT1
ENDIF
ENDIF
EXIT
Page 68
BIM-EDIT System Reference Manual
ENDBLOCK
ENDBLOCK
Use ENDBLOCK to end the current logical block of commands and continue processing
at the next following command.
When Valid
ENDBLOCK can only be used in a procedure. It must also have been preceded by a
BLOCK command.
Use in a Procedure
Return codes:
NF
Related BLOCK index not found
Example
The following example shows the ENDBLOCK command used within a procedure.
SET ....
...
BLOCK
IF A,NE,'B'
LEAVE
IF C,NE,'D'
LEAVE
.... Statements
...
ADD CT,1
IF CT,LT,10
LOOP
ENDBLOCK
...
...
EXIT
Chapter 3. Advanced User Commands
Page 69
ENDIF
ENDIF
Use ENDIF to end the current IFTHEN or ELSE "truth" condition and restore "truth"
condition to a "TRUE" state for subsequent processing.
ENDIF causes no position change.
When Valid
ENDIF can only be used in a procedure. It must also have been preceded by a IFTHEN
command.
Use in a Procedure
Return codes:
NF
Related IFTHEN index not found
Example
The following example shows the ENDIF command used within a procedure.
DECLARE MEM,CHAR,33,V
DECLARE DEST,CHAR,4,V
PARSE MEM,DEST
IFTHEN DEST,EQ,'LIBR'
IFTHEN SIBUSER EQ LARS
SET MEM ACCT1
ENDIF
ENDIF
EXIT
Page 70
BIM-EDIT System Reference Manual
ENQUEUE
ENQUEUE
ENQUEUE is used to cause procedures to synchronize access to common resources by
establishing exclusive ownership of the resource by the issuing task. The exclusive
ownership remains in effect until the task issues a DEQUEUE command in the same or
subsequent procedure. If a DEQUEUE command is not issued, exclusive ownership
remains until BIM-EDIT is cycled.
ENQUEUE may also be entered as ENQ.
Required Operands
is any 1 to 8 character alphanumeric name used to identify the
common resource.
RESID
Optional Operands
YES indicates a conditional request. NO or omitted indicates not
conditional. When YES is specified, if the resource is not
available, control will be returned to the procedure with 'NA'
return code. When YES is not specified, if the resource is not
available, the procedure will be placed on the resource ENQ
wait chain.
COND
When Valid
The ENQUEUE command can only be used in a procedure, batch utility, or the
application interface.
Use in a Procedure
Return codes:
OK
NA
NF
SV
Successful.
Resource not available, currently in use by another task (Conditional
requests only)
Resource not found or Resource Enqueue table (BIFTBRQ) is full.
Resource already owned by issuing task or other parameter errors.
Example
ENQ MASTLOG,YES
;Acquire exclusive ownership of resource MASTLOG
IF SIBRETCD,NE,OK
EXIT NA,'** UNABLE TO UPDATE MASTER LOG, TRY lATER **'
Chapter 3. Advanced User Commands
Page 71
EXAMINE
EXAMINE
Use EXAMINE to test the current line of the current session for a character string.
EXAMINE may also be entered as EXAM.
Optional Operands
STR
is the string to search for. Up to 72 characters can be specified. If
the value of STR begins with the backslash character (\), the
search will use Extended Search Pattern rules, as described
below. If STR is not specified, the value for STR and any other
operands not specified will be inherited from previous search
commands, also as described below.
ZONE
is the column range for the search. Enter it in the format "xxxyyy" where xxx and yyy are numbers between 1 and 253
separated by a dash (-). For example, to limit the search to
columns 10 to 20, specify ZONE as "10-20". ZONE=5 is the same
as ZONE=5-5, ZONE=5-* is the same as ZONE=5-253 and
ZONE=-5 is the same as ZONE=1-5. If ZONE and STR are not
specified, the ZONE specification is inherited from previous
search commands, as described below. If ZONE, after any
inheriting, is not specified, the current session zone is searched
(see the ZONE operand of the DEFINE, ALTER, and SESS
commands.)
CASE
specifies whether upper/lower case should be considered when
determining matches. If specified as "U", case is ignored ("the"
matches "The"). If specified as "M", both case and letters must
match. If CASE and STR are not specified, the CASE
specification is inherited from previous search commands, as
described below. If CASE, after any inheriting, is not specified,
"U" is assumed.
EXAMINE is primarily useful in procedures.
If the value of STR begins with a backslash (\), BIM-EDIT treats STR as an Extended
Search Pattern, with certain characters having special meanings:
Page 72
?
matches any single character
*
matches any sequence of zero or more characters
@
matches zero or more instances of the character that follows the @
!
matches the beginning of the line
<
matches the beginning of the line or any non-alphanumeric character
>
matches the end of the line or any non-alphanumeric character
|
separates two patterns, EITHER of which may match for a successful search
+
separates two patterns, BOTH of which must match for a successful search
BIM-EDIT System Reference Manual
EXAMINE
~
reverses the success/failure of the pattern following it
%
marks the position on the line where the match is considered to occur
\
suppresses the special meaning of the character that follows the \
A common use of the extended search string is to position the cursor at the first nonblank character in a line. The following examine command will perform this function:
=> examine "\@ %?";cursor
A common mistake is to use the following examine command:
=> examine "\~ ";cursor
This search will only position to text lines that do not contain any blanks because the
search request says, in effect, find a blank anywhere in the search area, and then reverse
the match to a false condition.
See Chapter 6, Advanced Techniques, in the BIM-EDIT User Reference Manual for more
information about Extended Search Patterns.
If STR is not specified on the command, BIM-EDIT uses as default operand values those
from previous search commands. Using this feature, you can easily request searches
which are similar or identical to the last one. For example, after an EXAMINE command
which failed to find the string on the current line, you need only enter
=> locate
to find the next instance forward from the current line. To achieve this, BIM-EDIT stores
a previous value for the STR, COL, CASE, and ZONE operands of the search commands
(EXAMINE, FIND, FINDUP, LOCATE, LOCATEU, NFIND, NFINDUP, or QUALIFY).
These previous values will be inherited by operands omitted from a search command
which does not specify STR. Whenever a search command specifies STR, the previous
values are set to those specified on that command or "not specified".
Use in a Procedure
Return Codes:
OK
NF
Successful.
String not found.
If STR exists on the current line within the ZONE columns, the column where the string
is found is placed in the predefined variable SSDCOL1 (if in split-screen mode, and if
the lower logical screen is current, the column is placed in SSDCOL2). The CURSOR
command can be used to place the cursor at the indicated location.
Chapter 3. Advanced User Commands
Page 73
EXAMINE
Example
Procedure to move the cursor to the next instance of a specified search pattern. It will
handle multiple instances on the same line.
SET PPDVBL,1
DCL ZONST,NUM,3,V
DCL STR,CHAR,72,V
PARSE STR
SETD ZONST,SSDCOL&SIBSCRPM.
; COLUMN FOR LAST SUCCESS
ADD ZONST,1
; NEXT POSSIBLE OCCURRENCE
SET PPDCOND,1
EXAMINE '&STR.' ZONE=&ZONST.-&SSDZONLM.
; TEST THIS LINE
IF SIBRETCD NE OK
; IF NOT FOUND, SEARCH FOR SUBSEQUENT LINE
LOCATE '&STR.'
; NOTE SPECIFYING STR RESETS ZONE
IF SIBRETCD NE OK
EXIT NF,'(USERMESG) ** STR "&STR" NOT FOUND **'
CURSOR
EXIT
Page 74
BIM-EDIT System Reference Manual
EXIT
EXIT
Use EXIT to terminate a procedure or, if processing input from SYSIPT, terminate the
job step.
Optional Operands
CODE
will be assigned to SIBRETCD before exiting. If CODE is not
specified, SIBRETCD is set to OK before exiting.
MSG
will be assigned to SIBMSG before exiting. If MSG is not
specified, no assignment to SIBMSG is made. The SIBMSG
contents are normally displayed on the information line.
ID
is the message identifier for a message that can be found in
$SYS.CTRL.MESSAGES or $SIT.CTRL.MESSAGES. If a value is
entered for MSG this operand is ignored.
If a procedure executes another procedure (or command) and wishes to use the CODE
and/or MSG returned by EXIT, it must do so in the very next command following, since
that command will set its own return code and message, overwriting what was
returned.
When a procedure is executed as an online command, the command which invoked it
will remain on the command line after EXIT if CODE is not returned as "OK". If MSG is
not returned, the normal status line will be displayed. A message is displayed with high
intensity if the first field is enclosed within parentheses and it is followed by a blank
and two asterisks:
BICBRWMB (BICBRWMB) ** NO MORE MEMBERS **
For more examples, see the BIM-EDIT System Reference Manual Chapter 2, Writing
Procedures.
If EXIT is used from the application interface, BIM-EDIT will close the interface.
When Valid
EXIT can only be used in a procedure, batch utility, or the application interface.
Example
The following is typical of how EXIT might be used within a procedure to handle a
"member not found" situation:
SET PPDCOND,1
SET PPDVBL,1
DECLARE MEM,CHAR,33,V
PARSE MEM
READ &MEM
IF SIBRETCD,NE,OK
EXIT NF,'(OMPSM3XA) ** MEMBER "&TXMLIB..&TXMMEM" DOES NOT EXIST **'
Chapter 3. Advanced User Commands
Page 75
GOSUB
GOSUB
Use GOSUB to perform (i.e. transfer command processing and return to the next
following command) the subroutine at the named LABEL. Performed routines must end
with a RETURN command.
Required Operands
is a name specified on a LABEL statement. See the LABEL
command. If the label precedes the GOSUB, prefix the label with
a dash (-).
LABEL
GOSUB is either forward (to a label following the GOSUB) or backward (to a label
preceding the GOSUB). Backward GOSUB is allowed only when processing lines in a
member or a session. Nesting is allowed up to 16 levels deep.
For more discussion and examples, see the BIM-EDIT System Reference Manual
Chapter 2, Writing Procedures.
When Valid
GOSUB can only be used in a procedure. Whenever a backward GOSUB is executed,
predefined variable PPDLPCTR is incremented. When the value of PPDLPCTR exceeds
the value of PPDLPLMT, the GOSUB will fail. PPDLPLMT is initialized to 1000.
Use in a Procedure
Return codes
OK
SV
SV
LABEL found
LABEL not found
LABEL Duplicate (Only when PPDPFOPT=1 for performance option
activated)
Example
The following example shows the GOSUB command used within a procedure.
DECLARE COUNTER,NUM,6,V
SET COUNTER,0
LABEL D20
GOSUB E20
;Perform routine starting a label E20
EXIT OK,'FUNCTION COMPLETE'
LABEL E20
RETURN
command
Page 76
;Returns to next command following the GOSUB
BIM-EDIT System Reference Manual
GOTO
GOTO
Use GOTO to branch (i.e. transfer command processing) to the command after the
corresponding LABEL command. GOTO would normally be used in a procedure.
Required Operands
LABEL
is a name specified on a LABEL statement. See the LABEL
command. If the label precedes the GOTO, prefix the label with
a dash (-).
GOTOs are either forward (to a label following the GOTO) or backward (to a label
preceding the GOTO). Backward GOTOs are allowed only when processing lines in a
member or a session (i.e. not from a medium such as SYSIPT, an INCLUDE tape, or the
application interface, which cannot be accessed backward.)
For more discussion and examples, see the BIM-EDIT System Reference Manual
Chapter 2, Writing Procedures.
When Valid
GOTO can only be used in a procedure, batch utility, or the application interface.
Whenever a backward GOTO is executed, predefined variable PPDLPCTR is
incremented. When the value of PPDLPCTR exceeds the value of PPDLPLMT, the
GOTO will fail. PPDLPLMT is initialized to 1000.
Use in a Procedure
GOTO returns SV for LOOP LIMIT, LABEL NOT FOUND or DUP LABEL (if
PPDPFOPT=1) else it returns OK.
Example
The following example shows how the GOTO command could be used within a
procedure that processes a sequence of statements 12 times:
DECLARE COUNTER,NUM,6,V
SET COUNTER,0
LABEL D20
ADD COUNTER,1
IF COUNTER,GT,12
GOTO E20
SPLIT 73
NEXT
SHIFT +1
NEXT
GOTO -D20
LABEL E20
Chapter 3. Advanced User Commands
Page 77
HEADF
HEADF
Use HEADF set the heading lines for subsequent print pages. The lines following the
HEADF command will be printed at the top of each page. The end-of-text line (++/*)
terminates the HEADF command.
HEADF has no operands.
If you use variables in heading lines (for example, SIBPAGE, OPSDATE, or OPSTIME),
you need to consider whether the value should be replaced when the heading is set or
when the heading is printed. If PPDVBL has a value of 1 when the heading is set,
replacement will take place at that time. Replacement will always take place if there are
any variables in the heading when it is printed.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For examples, see the BIM-EDIT System Reference Manual Chapter 6, Batch Utility.
When Valid
HEADF can only be used in batch utility.
Use in a Procedure
HEADF normally returns OK. (See SIBRETCD.)
Example
Define a new heading, then force a skip to top of page:
HEADF
TIME ANALYSIS REPORT
----------------------------------------------------------------------++/*
EJECT
Page 78
BIM-EDIT System Reference Manual
HEXIF
HEXIF
The HEXIF command is used to perform hexadecimal comparisons. The line in the
procedure following the HEXIF command is only executed if the specified condition is
true. If the condition is not true, the following line will be ignored (this is the same as
the IF command).
Required Operands
OPER1
is the name of a variable that must have been previously
declared. If declared numeric it will be treated as a numeric
value. If declared as char, then it will be treated as a signed hex
value, that is 0-9 and A-F as valid digits. In both cases it must be
declared as 8 digits or less.
COND
must be one of the following:
LT
LE
EQ
IV
less than
NE not equal
less than or equal
GE greater than or equal
equal
GT greater than
checks for invalid hexadecimal or numeric contents in
OPER1, based on its declared type. Oper2 is not used for
this condition, and can be omitted.
The format of OPER1 and OPER2 will be equalized before
performing the requested function; that is both will be converted
to a signed fullword hexadecimal value. It is allowable to mix
hexadecimal and numeric formats between OPER1 and OPER2.
The comparison is always done on signed fullword hexadecimal
values.
OPER2
can be any one of the following:
•
the name of a previously declared numeric or character
variable following the same rules as OPER1.
•
a hexadecimal literal containing only the digits 0-9, A-F.
•
a decimal numeric literal beginning with the letter 'N', a plus
sign '+' or the neg sign '-', and followed by only the digits 0-9
(e.g., N123, +123, -123).
OPER2 values must be 8 digits or less (e.g., +12345678).
The HEXIF command syntax is not symmetrical. It compares a VARIABLE on the left
with a VALUE on the right.
When Valid
The HEXIF command can only be used in a procedure, batch utility, or the application
interface.
Use in a Procedure
The HEXIF command normally returns OK. (See SIBRETCD.)
Chapter 3. Advanced User Commands
Page 79
HEXIF
Examples
In the following examples, X and Y are declared as either CHAR or NUM of a length of
8 or less. CHAR and NUM values can be freely mixed in the requests.
HEXIF X EQ C
HEXIF
HEXIF
HEXIF
HEXIF
HEXIF
HEXIF
HEXIF
HEXIF
HEXIF
HEXIF
X EQ 0C
X EQ F7
X EQ 33
X EQ N33
X EQ -33
X EQ Y
3 EQ Y
X EQ 04F7KA
X EQ N97A45
&X EQ Y
HEXIF X IV
Page 80
;COMPARE THE VALUE OF X TO HEX VALUE OF C (numeric -4)
;UNLESS PRECEDED BY A 0 ANY VALUE GREATER THAN 7 IN THE
;LEFTMOST DIGIT OF THE HEX VALUE WILL BE TREATED AS A
;NEGATIVE NUMBER
;COMPARE THE VALUE OF X TO HEX VALUE OF 0C (numeric 12)
;COMPARE THE VALUE OF X TO HEX VALUE OF F7 (numeric -9)
;COMPARE THE VALUE OF X TO HEX VALUE OF 33 (numeric 51)
;COMPARE THE VALUE OF X TO NUMERIC VALUE OF 33
;COMPARE THE VALUE OF X TO NUMERIC VALUE OF -33
;COMPARE THE VALUE OF X TO THE VALUE OF Y
;INVALID - 3 IS NOT A VARIABLE NAME
;INVALID - K IS NOT A VALID HEX DIGIT
;INVALID - A IS NOT A VALID NUMERIC DIGIT
;VALID ONLY IF THE VALUE OF X IS THE NAME OF A VARIABLE ;THEN COMPARES THE VALUE OF THAT VARIABLE (I.E. THE VALUE
;OF THE VALUE OF X) TO THE VALUE OF Y
;VERIFY THAT VALUE OF X MATCHES THE TYPE OF X (HEX/NUM)
BIM-EDIT System Reference Manual
HEXREQ
HEXREQ
The HEXREQ command is used to perform hexadecimal math. It may also be used to
convert numeric fields to hexadecimal fields and vice-versa.
HEXREQ may also be entered as HEXR.
Required Operands
OPER1
is the name of a variable that must have been previously
declared. If declared numeric it will be treated as a numeric
value. If declared as char, then it will be treated as a hex value,
that is 0-9 and A-F as valid digits. In both cases it must be
declared as 8 digits or less.
COND
must be one of the following:
+
*
/
=
add OPER2 to OPER1
subtract OPER2 from OPER1
multiply OPER1 by OPER2
divide OPER1 by OPER2, (optional) remainder in OPER3
convert the contents of OPER2 to the declared format of
OPER1 and store in OPER1
(results are always returned in OPER1)
The format of OPER1 and OPER2 will be equalized before
performing the requested function; it is allowable to mix
hexadecimal and numeric formats between OPER1 and OPER2.
The operation is always done in hexadecimal.
OPER2
can be any one of the following:
•
the name of a previously declared numeric or character
variable following the same rules as OPER1.
•
a hexadecimal literal containing only the digits 0-9, A-F.
•
a decimal numeric literal beginning with the letter 'N', and
followed by only the digits 0-9 (e.g., N123).
•
a decimal numeric literal beginning with a '-' or '+', and
followed by only the digits 0-9 (e.g., -123 or +123).
OPER2 values must be 8 digits or less.
any hex value with the high order 8-bit on '8,9,A,B,C,D,E,F' will
be treated as a negative number. It is best to enter these as 08, 09,
0A,...
Chapter 3. Advanced User Commands
Page 81
HEXREQ
Optional Operands
is the name of a previously declared variable, into which the
remainder from the divide is to be stored. If declared numeric it
will be stored as a numeric value. If declared as char, it will be
stored as a hexadecimal value, that is 0-9 and A-F as valid digits.
In both cases it must be declared as 8 digits or less.
OPER3
All operations are performed algebraically.
When Valid
The HEXREQ command can only be used in a procedure, batch utility, or the
application interface.
Use in a Procedure
Return Codes:
OK
ZD
Successful.
Divisor was found to be zero.
Example
ADD variable AMT to variable TOTAL:
DECLARE AMT,CHAR,3,F
DECLARE TOTAL,CHAR,8,F
HEXREQ TOTAL = N100
; SET TOTAL to 100 (X'64')
HEXIF TOTAL,IV
EXIT ER,'FIELD TOTAL - &TOTAL IS INVALID'
HEXREQ AMT = OFF
; SET AMT to X'0FF' (255)
HEXREQ TOTAL + AMT
EXIT OK,'NEW TOTAL IS &TOTAL'
; TOTAL = X'00000163'
Page 82
BIM-EDIT System Reference Manual
IF
IF
Use the IF command to only process the next line in the procedure if a specified
condition is true. If the condition is not true, the following line will be ignored. The IF
command would normally be used in a procedure.
Required Operands
OPER1
is the name of a variable that must have been previously
declared.
COND
is the condition to test for. One of the following must be
specified:
LT
LE
EQ
OPER2
less than
less than or equal
equal
NE
GE
GT
not equal
greater than or equal
greater than
is a value. If the OPER1 variable is of type numeric, OPER2 must
be an unsigned integer.
If the OPER1 variable has type CHAR, its value is compared alphamerically with the
OPER2 value. If the two comparison values are not the same length, the shorter one is
padded on the right with blanks to cause the lengths to be the same.
If the OPER1 variable has type NUM or NUMS, the comparison is performed
algebraically.
Use the IFD command to directly compare the values of two variables. For more
discussion, see the IFD command.
Nested IF commands are not supported but can easily be simulated with a combination
of IFs and GOTOs.
Notes
1.
The BIM-EDIT IF command syntax is not symmetrical. It compares a VARIABLE on
the left with a VALUE on the right. Thus, the following commands will be treated
as noted in the comments:
IF X EQ 3
IF X EQ &Y
IF 3 EQ &Y
IF X EQ Y
IF &X EQ &Y
2.
;COMPARE THE VALUE OF X TO 3
;COMPARE THE VALUE OF X TO THE VALUE OF Y
; IFD X EQ Y SHOULD BE USED INSTEAD
;INVALID - 3 IS NOT A VARIABLE NAME
;COMPARE THE VALUE OF X TO THE CHARACTER Y
;VALID ONLY IF THE VALUE OF X IS THE NAME OF A VARIABLE -;THEN COMPARES THE VALUE OF THAT VARIABLE (I.E. THE VALUE
;OF THE VALUE OF X) TO THE VALUE OF Y
When you use the IF command to compare the value of OPER1 to an OPER2 value
supplied by variable replacement using the ampersand (&), you should place
OPER2 in quotes if it might contain characters such as blank, comma, or equal sign
that would confuse the scan. Thus, you would use
IF X EQ '&Y.K'
Chapter 3. Advanced User Commands
Page 83
IF
(You should also set PPDLITEX to 1 and PPDLITDL to '''' if there is any possibility
that Y can contain a single quote character.)
For more extensive discussion and examples of the IF command and variables, refer to
the BIM-EDIT System Reference Manual Chapter 2, Writing Procedures. For online
help, refer to topics 'DECLARE', 'ARRAYS', and 'SUBSTR'.
When Valid
The IF command can only be used in a procedure, batch utility, or the application
interface.
Use in a Procedure
The IF command does not change the return code.
Example
If variable DEST is equal to blanks, exit the procedure with an error message:
DECLARE MEM,CHAR,33,V
DECLARE DEST,CHAR,4,V
PARSE MEM,DEST
IF DEST,EQ,''
EXIT SV,'(OMPRLSTA) ** OPERAND "DEST" IS REQUIRED **'
Page 84
BIM-EDIT System Reference Manual
IFD
IFD
Use the IFD command to only process the next line in the procedure if a specified
condition is true. If the condition is not true, the following line will be ignored. The IFD
command would normally be used in a procedure.
Required Operands
OPER1
is the name of a previously declared variable.
COND
is the condition to test for. One of the following must be
specified:
LT
LE
EQ
less than
less than or equal
equal
NE
GE
GT
not equal
greater than or equal
greater than
is the name of a previously declared variable.
OPER2
If the OPER1 and OPER2 variables have type CHAR, their values are compared
alphamerically. If the two comparison values are not the same length, the shorter one is
padded on the right with blanks.
If the OPER1 and OPER2 variables have type NUM or NUMS, their values are
compared algebraically.
If the OPER1 and OPER2 variables have different types, the comparison cannot succeed.
Message BICIFDXB will be returned with an "SV" return code.
Use the IF command to compare the value of a variable to a literal value or a value
created by replacement. For more discussion, see the IF Command.
For more extensive discussion and examples of the IFD command and variables, refer to
the BIM-EDIT System Reference Manual Chapter 2, Writing Procedures. For online
help, refer to topics 'DECLARE', 'ARRAYS', and 'SUBSTR'.
When Valid
The IFD command can only be used in a procedure, batch utility, or the application
interface.
Use in a Procedure
Return Codes:
SV
Variables types are not the same.
Otherwise, IFD command does not change the return code.
Chapter 3. Advanced User Commands
Page 85
IFD
Example
If variable MINUEND is less than variable SUBTRHND, exit the procedure with an
error message:
DECLARE MINUEND,NUM,9,F
DECLARE SUBTRHND,NUM,9,F
PARSE MINUEND,SUBTRHND
IFD MINUEND,LT,SUBTRHND
EXIT SV,'(SUBTESTA) ** RESULT CANNOT BE NEGATIVE **'
Page 86
BIM-EDIT System Reference Manual
IFTHEN
IFTHEN
Use the IFTHEN command to process following lines in the procedure if a specified
condition is true. If the condition is not true, the following lines will be ignored until the
related ELSE or ENDIF command is encountered. The IFTHEN command would
normally be used in a procedure.
Required Operands
OPER1
is the name of a variable that must have been previously
declared.
COND
is the condition to test for. One of the following must be
specified:
LT
LE
EQ
less than
less than or equal
equal
NE
GE
GT
not equal
greater than or equal
greater than
is a value. If the OPER1 variable is of type numeric, OPER2 must
be an unsigned integer.
OPER2
If the OPER1 variable has type CHAR, its value is compared alphamerically with the
OPER2 value. If the two comparison values are not the same length, the shorter one is
padded on the right with blanks to cause the lengths to be the same.
If the OPER1 variable has type NUM or NUMS, the comparison is performed
algebraically.
Nested IFTHEN commands are supported up to 16 levels.
Notes
1.
The BIM-EDIT IFTHEN command syntax is not symmetrical. It compares a
VARIABLE on the left with a VALUE on the right. Thus, the following commands
will be treated as noted in the comments:
IFTHEN
IFTHEN
IFTHEN
IFTHEN
IFTHEN
2.
X EQ 3
X EQ &Y
3 EQ &Y
X EQ Y
&X EQ &Y
;COMPARE THE VALUE OF X TO 3
;COMPARE THE VALUE OF X TO THE VALUE OF Y
;INVALID - 3 IS NOT A VARIABLE NAME
;COMPARE THE VALUE OF X TO THE CHARACTER Y
;VALID ONLY IF THE VALUE OF X IS THE NAME OF A VARIABLE
;THEN COMPARES THE VALUE OF THAT VARIABLE (I.E. THE
;VALUE OF THE VALUE OF X) TO THE VALUE OF Y
When you use the IFTHEN command to compare the value of OPER1 to an OPER2
value supplied by variable replacement using the ampersand (&), you should place
OPER2 in quotes if it might contain characters such as blank, comma, or equal sign
that would confuse the scan. Thus, you would use
IFTHEN X EQ '&Y.K'
(You should also set PPDLITEX to 1 and PPDLITDL to '''' if there is any possibility
that Y can contain a single quote character.)
Chapter 3. Advanced User Commands
Page 87
IFTHEN
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. For online help, refer to topics 'DECLARE',
'ARRAYS', and 'SUBSTR'.
When Valid
The IFTHEN command can only be used in a procedure.
Use in a Procedure
The IFTHEN command does not change the return code.
Example
The following example shows the IFTHEN command used within a procedure.
DECLARE MEM,CHAR,33,V
DECLARE DEST,CHAR,4,V
PARSE MEM,DEST
IFTHEN DEST,EQ,'LIBR'
IFTHEN SIBUSER EQ LARS
SET MEM ACCT1
ENDIF
ENDIF
EXIT
Page 88
BIM-EDIT System Reference Manual
INCLUDE
INCLUDE
Use INCLUDE to incorporate lines from another source during processing. INCLUDE is
especially useful in a member being processed by a SUBMIT or COMPILE command.
INCLUDE may also be entered as INCL.
Required Operands
MEM
is one of the following:
member
a library member. If specified without a library
name, BIM-EDIT will retrieve MEM from the
library for the member containing the
INCLUDE, not the currently attached library.
However, if the member containing the
INCLUDE is the slave member in a checkout
relationship, BIM-EDIT will retrieve MEM from
the master library, not the slave library. To
INCLUDE a member from the slave library,
specify the library name as a part of MEM.
$STACK
the stack area.
$LOG
the log area.
$MAIL
the mail log area.
(TP80)
Lines from tape will be processed. The tape
should contain 80 byte records. Maximum block
size allowed is 16000 bytes.
(TP81)
Lines from tape will be processed. Maximum
block size allowed is 16200. The first byte of
each record will be ignored; bytes 2-81 will be
processed. This option allows you to process
SYSPCH tapes.
On VSE, SYS004 should be assigned to the tape
drive.
On MVS, input will be read from ddnames
BIFTP80 and BIFTP81, respectively.
(CONS)
Lines from the system CPU console will be
processed.
(CARD)
Lines from SYSIPT will be processed.
(SESS)
Lines from the current session will be processed.
Chapter 3. Advanced User Commands
Page 89
INCLUDE
Optional Operands
ID
is the value of a "--BATCH,ID=name" within the included
member. The data following the "--BATCH,ID=name" statement
will be included until the next "--BATCH,ID=name" statement or
the end of the included member.
The following parameters are valid only on the first INCLUDE (TP80) or INCLUDE
(TP81) command read by BIMUTIL. These operands are only valid in VSE.
OPEN
is the value for the VSE tape open option. It may be specified as
REWIND or NOREWIND. The default is NOREWIND.
CLOSE
is the value for the VSE tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is
NOREWIND.
LABEL
is the value for the tape label option. It may be specified as YES
or NO. YES indicates that the input tape will be a VSE standard
label tape. NO means that the tape is unlabelled. The file name
for a TP80 labeled tape is TPBIDTF. The file name for a TP81
labeled tape is TPBADTF.
An included member (or $STACK, etc.) can itself INCLUDE from another source. This
nesting process is limited to 6 levels.
INCLUDEs are often used while submitting a job for processing. In this usage it is
necessary to prefix the INCLUDE command with either a right parenthesis ")" or a slash
"/" so that BIM-EDIT can distinguish it as a command rather than normal text. (The
right parenthesis, otherwise known as the TRAP character, can only be used if the
predefined variable PPDTRAP has a value of either "1" or "2" and the INCLUDE is
being used within a “text-following” type command. The SUBMIT procedure supplied
with BIM-EDIT sets PPDTRAP to "1", but it may be modified by your System
Administrator.)
Any data on the INCLUDE statement that is considered comment must be preceded by
a semi-colon (;).
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
If the member is currently being edited, INCLUDE will retrieve the text of the member
ignoring any changes made in edit session.
Sub-Includes
To create an INCLUDE member with sub-includes simply insert a --BATCH,ID=name
with a one to eight character name to be associated with the data following the -BATCH statement. In this way several groups of include data can be maintained within
Page 90
BIM-EDIT System Reference Manual
INCLUDE
a single include member. The following is an example of an INCLUDE member with
several groups of include data within it.
Example:
MEMBER=MASTER-INCLUDE
--BATCH,ID=PRTFILE
FD PRINTER
LABEL RECORDS ARE OMITTED
RECORD 133 CHARACTERS
DATA RECORD IS PRINT-OUT.
01 PRINT-OUT PIC X(133).
--BATCH,ID=PRTRECD
01 LINE-TO-PRINT.
05 LINE-TO-PRINT-CC
PIC X(1).
05 LINE-TO-PRINT-DATA
PIC X(132).
--BATCH,ID=PRTWRITE
WRITE PRINT-OUT FROM LINE-TO-PRINT
AFTER POSITIONING FORMS-CONTROL.
To include a portion of the above member the include statement may be coded as
follows:
/INCLUDE COPYLIB.MASTER-INCLUDE,ID=PRTRECD
When Valid
INCLUDE can only be used in a procedure, batch utility, or the application interface. If
MEM is specified as a library member, the user must have LIST access level for the
MEM library.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Member not found.
Inadequate access level.
In a text following mode, such as while submitting a job, INCLUDEs are processed only
if the predefined variable PPDINCL has a value of either "1" or "2". If PPDINCL has a
value of "0", INCLUDE commands are ignored.
INCLUDE has two special features with respect to the predefined variables PPDADJ,
PPDHEX, PPDINCL, PPDSHIFT, PPDTRAP, and PPDVBL:
1.
When an INCLUDE command is processed, the values of these predefined
variables are saved for later restoration when the included text has been completely
processed. Thus, if the included text sets any of these variables, the new value has
no effect outside the scope of the included text.
2.
If one of these predefined variables has a value of "2" when the INCLUDE
command is encountered, a value of "0" is assigned to the variable before starting to
process the included text. (After the included text is processed, the original value of
"2" is restored.) For all values other than "2", variables are not updated. This feature
Chapter 3. Advanced User Commands
Page 91
INCLUDE
allows you to include the text of a member, but not process INCLUDEs found
within the included text. By assigning a value of "2" to PPDINCL, the original
INCLUDE is processed, but INCLUDEs found within the included text will simply
be treated as text.
Examples
Quite often a number of programs need access to the same record descriptions. Rather
than duplicate the record description in each program, each record description is held
in a unique member. Each program, then, has an include line for each record
description it will need. The following program is such a case. The first few lines of the
program are presented:
OMCRSEQ: PROC;
/INCLUDE OMBSIB
/INCL OMBSSED
SSEDPTR = SIBSESSP
/INCLUDE OMBRRH
RRHPTR = SIBRRHP
Process input from tape. Record size is 80 bytes:
VSE Job Control
// JOB OMJLOAD
// ASSGN SYS004,TAPE
// PAUSE MOUNT BIM-EDIT INPUT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
ATTACH OM20
INCLUDE (TP80)
/*
/&
MVS Job Control
//INCLJOB JOB
//BIMUTIL EXEC
//STEPLIB DD
//BIFTP80 DD
//
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
ATTACH OM20
INCLUDE (TP80)
/*
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIFREPRO,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
SYSOUT=A
*
When submitting a BIM-EDIT batch utility job from online, it may be desirable to leave
INCLUDE commands in the input unprocessed during the online SUBMIT but process
them later during batch utility execution. The main reasons for doing this are:
Page 92
•
Reduce the amount of data that must be processed through the online system and
the spooler.
•
Allow processing members that contain data (such as lines beginning with /*)
which is difficult to include in a processing job.
BIM-EDIT System Reference Manual
INCLUDE
The following shows one way to accomplish this:
.
.
JCL to execute the batch utility
.
LOGON $SYS,$SYS
SET PPDUTLOG,0
;SUPPRESS LOGGING INPUT LINES
SET PPDINCL,2
;PROCESS one level of INCLUDE DURING BATCH
EXECUTION
PRINTF
)SET PPDINCL,0
;DON'T PROCESS INCLUDE DURING SUBMIT
/INCLUDE BIM.WDM-TEST
++/*
The key concept is that the )SET PPDINCL,0 line is executed during the online SUBMIT
to suppress immediate processing of all INCLUDE commands following it. The )SET
PPDINCL, 0 line is not submitted. All other lines are processed by SUBMIT as data and
then later processed by the batch utility as commands.
Chapter 3. Advanced User Commands
Page 93
INSERTF
INSERTF
Use INSERTF to insert lines after the current line of the current session. The lines
following the INSERTF command will be inserted. The end-of-text line (++/*)
terminates the INSERTF command.
INSERTF may also be entered as INSF.
INSERTF ignores any operands.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more extensive discussion and examples, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
INSERTF can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
INSERTF normally returns OK. (See SIBRETCD.)
Example
In batch utility, define and load a member from inline input:
ATTACH OM20
DEFINE OMREXIO,(ASM)
EDIT
INSERTF
.. text to load into OMREXIO ..
++/*
SAVE
Page 94
BIM-EDIT System Reference Manual
INTERVAL
INTERVAL
Use INTERVAL to determine the interval, in years, days, hours, minutes, and seconds
between two dates and times.
INTERVAL may also be entered as INTV.
Required Operands
INPT1
The name of a 19 position CHAR type local variable where the
first input date and time is stored in the format:
MM/DD/YYYY HH:MM:SS
(e.g. 12/30/1999 22:58:58, MMPDTCTL=U - USA)
DD/MM/YYYY HH:MM:SS
(e.g. 30/12/1999 22:58:58, MMPDTCTL=I – INT’L)
or
The name of a 17 position CHAR type local variable where the
first input date and time is stored in the format:
MM/DD/YY HH:MM:SS
(e.g. 12/30/99 22:58:58, MMPDTCTL=U - USA)
DD/MM/YY HH:MM:SS
(e.g. 30/12/99 22:58:58, MMPDTCTL=I - INT'L)
or
The name of a 14 position CHAR type local variable where the
first input date and time is stored in the format:
YYYYMMDDHHMMSS (e.g. 19991230225858)
INPT2
The name of a CHAR type local variable, where the second
input date and time is stored, in one of the formats shown for
INPT1
INTVL
The name of a 22 position CHAR type local variable where the
resulting interval time is stored in the format:
YYYYDDDDHHMMSSxyyddhms, where:
YYYY = Years
DDDD = Days
HH
= Hours
MM
= Minutes
SS
= Seconds
x
= Hex Return Code
( X'00' = OK )
( X'01' - X'0E' = Index to an
INPT1/INPT2 error field
yy
= Hex Years
dd
= Hex Days
h
= Hex Hours
m
= Hex Minutes
s
= Hex Seconds
When Valid
INTERVAL can only be used in a procedure.
Chapter 3. Advanced User Commands
Page 95
INTERVAL
Use in a Procedure
Return codes:
OK
SV
Syntax error, length of variable violation or variable name not found.
Example
The following example shows the INTERVAL command used within a procedure to
capture the run duration of the procedure.
DCL
DCL
DCL
DCL
DCL
DCL
DCL
HH,CHAR,2,V
MM,CHAR,2,V
SS,CHAR,2,V
SDATIM,CHAR,19,V
EDATIM,CHAR,19,V
DURATION,CHAR,22,V
X,CHAR,1,V
LABEL INIT
SET PPDHEX,2
SET SDATIM,"&OPSDATE &OPSTIME"
- Procedure logic
LABEL WRAP
SET EDATIM,"&OPSDATE &OPSTIME"
INTERVAL EDATIM,SDATIM,DURATION
SETD X,DURATION,15,1
IF X NE "&PPDHEXC.00"
EXIT OK,'INPUT ERROR - &SDATIM OR &EDATIM'
SETD
SETD
SETD
EXIT
Page 96
HH,DURATION,9,2
MM,DURATION,11,2
SS,DURATION,13,2
OK,"DURATION:
&HH HOURS, &MM MIN, &SS SECS."
BIM-EDIT System Reference Manual
LABEL
LABEL
Use LABEL to specify a branch destination for a GOTO or GOSUB statement. LABEL
would normally be used in a procedure.
Required Operands
NAME
label name. NAME can be up to 8 characters in length,
composed of the letters A-Z, the numerals 0-9, and the special
characters dash (-), dollar sign ($), and the underscore (_).
NOTE: If the performance option (PPDPFOPT=1) is active,
duplicate LABEL NAMEs are not allowed.
For performance reasons, some special rules apply to the LABEL command. The LABEL
command itself must begin in column 1 (column 2 if the trap character is needed).
Exactly one space should follow the LABEL command. The label name should then
immediately follow. These rules allow the GOTO and GOSUB commands to compare
specific columns within a line when scanning for the correct label.
When Valid
LABEL can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
LABEL returns OK except when duplicate label detected when the performance option
(PPDPFOPT=1) is active. It then returns SV.
Example
The following example shows how the LABEL command could be used within a
procedure that processes a sequence of statements 12 times:
DECLARE COUNTER,NUM,6,V
SET COUNTER,0
LABEL D20
ADD COUNTER,1
IF COUNTER,GT,12
GOTO E20
.... lines to be processed 12 times ....
GOTO -D20
LABEL E20
Chapter 3. Advanced User Commands
Page 97
LEAVE
LEAVE
The LEAVE command is used within BLOCK/ENDBLOCK constructs. Use LEAVE to
continue processing at the line immediately after the following related ENDBLOCK
position (related by the nesting count). LEAVE is normally used after an 'IF' command
and would be effective if the tested condition is true.
When Valid
LEAVE can only be used in a procedure. The LEAVE command must precede an
ENDBLOCK command and must have been preceded by a BLOCK command.
Use in a Procedure
Return codes:
NF
Related BLOCK index not found
Example
The following example shows the LEAVE command used within a procedure.
SET ....
...
BLOCK
IF A,NE,'B'
LEAVE
IF C,NE,'D'
LEAVE
.... Statements
...
ADD CT,1
IF CT,LT,10
LOOP
ENDBLOCK
...
...
EXIT
Page 98
BIM-EDIT System Reference Manual
LOADD (VSE version)
LOADD (VSE version)
Use LOADD to create a BIM-EDIT member from a VSE sublibrary member.
Required Operands
MEMD
the name and type of an existing VSE sublibrary member. The
currently attached sublibrary (see ATTACHD) will be used
unless the library and sublibrary are prefixed to the member
name and type (i.e. library.sublib.member.type).
MEM
is the member to be created. MEM must not already exist. Unless
the library name is prefixed to the member name, MEM will be
created in the currently attached library (see ATTACH).
Optional Operands
TYPE
is the type for the BIM-EDIT member to be created. Attributes
(but not text) will be set from the type as described in the
DEFINE command. If not specified, type VSE will be used.
When Valid
BIM-EDIT must be running in a separate partition and under VSE/SP release 2.1 or
later. The user must have LIST access level for the MEMD library and DEF access for
the MEM library.
Use in a Procedure
LOADD normally returns OK. (See SIBRETCD.)
LOADD is implemented as system procedure BIPLDDX.
Examples
Create member SAMSON in library OVERHAUL containing the text of member
SAMSON.P of sublibrary ZAPFSTUF.GENERAL. Member type is to be TEXT:
=> loadd zapfstuf.general.samson.p,overhaul.samson,text
Create member WORKSTAN in the current library containing the text of member
P710010X.C in the current sublibrary. Member type is to be VSE:
=> loadd P710010X.C,WORKSTAN
Chapter 3. Advanced User Commands
Page 99
LOADD (MVS version)
LOADD (MVS version)
Use LOADD to create a BIM-EDIT member from a Partitioned Data Set (PDS) member.
Required Operands
MEMD
the name of the PDS member. The currently attached PDS (see
ATTACHD) will be used unless the PDS name is prefixed to the
member name (i.e. pdsname.member).
MEM
is the member to be created. MEM must not already exist. Unless
the library name is prefixed to the member name, MEM will be
created in the currently attached library (see ATTACH).
Optional Operands
TYPE
is the type for the BIM-EDIT member to be created. Attributes
(but not text) will be set from the type as described in the
DEFINE command. If not specified, type PDS will be used.
When Valid
The user must have LIST access level for the MEMD library and DEF access level for the
MEM library.
Use in a Procedure
LOADD normally returns OK. (See SIBRETCD.)
LOADD is implemented as system procedure BIPLDDX.
Examples
Create member SAMSON in library OVERHAUL containing the text of member
SAMSON of PDS ZAPFSTUF.GENERAL.P. Member type is to be TEXT:
=> loadd zapfstuf.general.p.samson,overhaul.samson,text
Create member WORKSTAN in the current library containing the text of member
P710010X in the current PDS. Member type is to be PDS:
=> loadd P710010X,WORKSTAN
Page 100
BIM-EDIT System Reference Manual
LOADDL (VSE version)
LOADDL (VSE version)
Use LOADDL to create BIM-EDIT members from the members of a VSE sublibrary.
LOADDL has no operands.
LOADDL creates a procedure called TEMP-LOADDL in the current library containing
LOADD commands for all the members in the currently attached VSE sublibrary.
Before PROCESSing TEMP-LOADDL, you may wish to examine it to delete any
LOADD commands that are not desired.
When Valid
BIM-EDIT must be running in a separate partition and under VSE/SP release 2.1 or
later. The user must have LIST access level for the current VSE sublibrary and DEF
access level for the current BIM-EDIT library.
Use in a Procedure
LOADDL normally returns OK. (See SIBRETCD.)
LOADDL is implemented as system procedure BIPLDDL.
Example
Create BIM-EDIT members in the current BIM-EDIT library from all members of VSE
sublibrary SYSLIB.SLI:
=>
=>
=>
=>
attachd syslib.sli
loaddl
process temp-loaddl
purge temp-loaddl
Chapter 3. Advanced User Commands
Page 101
LOADDL (MVS version)
LOADDL (MVS version)
Use LOADDL to create BIM-EDIT members from the members of a Partitioned Data Set
(PDS).
LOADDL has no operands.
LOADDL creates a procedure called TEMP-LOADDL in the current library containing
LOADD commands for all the members in the currently attached PDS. Before
PROCESSing TEMP-LOADDL, you may wish to examine it to delete any LOADD
commands that are not desired.
When Valid
The user must have LIST access level for current PDS and DEF access level for the
current BIM-EDIT library.
Use in a Procedure
LOADDL normally returns OK. (See SIBRETCD.)
LOADDL is implemented as system procedure BIPLDDL.
Example
Create BIM-EDIT members in the current BIM-EDIT library from all members of PDS
BIM0001.SOURCE
=>
=>
=>
=>
Page 102
attachd bim0001.source
loaddl
process temp-loaddl
purge temp-loaddl
BIM-EDIT System Reference Manual
LOADT
LOADT
Use LOADT to create BIM-EDIT members by copying from a "foreign" offload tape.
LOADT copies all members on the tape into the current library using the names they
had on the "foreign" system.
Required Operands
INPUT
specifies type of input tape. Specify "TP80" for a tape which
contains 80 byte records and "TP81" for a tape which contains 81
byte records. The maximum block sizes are 16000 bytes and
16200 bytes, respectively.
FMT
specifies the format of the data on the tape. Specify "ICCF" for an
ICCF PUNCTL tape. Specify "MAINT" for a VSE SSERV
PUNCH format tape. Specify "IEBUPDTE" for an MVS
IEBUPDTE format tape. Specify "CONDOR" for a blocked
CATALS/BKEND format tape with standard labels.
Optional Operands
The following parameters are valid only on the first LOADT command read by
BIMUTIL. These operands are only valid in VSE.
OPEN
is the value for the VSE tape open option. It may be specified as
REWIND or NOREWIND. The default is NOREWIND.
CLOSE
is the value for the VSE tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is
NOREWIND.
LABEL
is the value for the VSE tape label option. It may be specified as
YES or NO. YES indicates that the tape created will be a VSE
standard label tape. NO means that the tape is unlabelled.
FMT=CONDOR has a default of YES, while all other formats
default to NO. The file name for a TP80 labeled tape is TPBIDTF.
The file name for a TP81 labeled tape is TPBADTF.
On VSE, SYS004 should be assigned to the tape drive.
On MVS, input will be read from ddnames BIFTP80 and BIFTP81, respectively.
All members on the tape are copied to BIM-EDIT except those which already exist in the
library. A message is displayed for each member that is loaded and for each member
that cannot be loaded.
If a character is found in the name that is not valid for a BIM-EDIT member name, it is
changed to a dash (-).
Chapter 3. Advanced User Commands
Page 103
LOADT
The ICCF format supports tapes generated by VSE ICCF DTSUTIL as a result of
"PUNCH ... PUNCTL" commands. The format of these tapes is:
ADD MEMBER (lib1 member1 user1)
member1 text lines
END OF MEMBER
ADD MEMBER (lib2 member2 user2)
member2 text lines
END OF MEMBER
The MAINT format supports tapes generated by VSE SSERV as a result of "PUNCH"
commands or VSE/SP 2.1 LIBR as a result of "PUNCH ... FORMAT=OLD" commands.
The format of these tapes is:
CATALS x.member1
BKEND
member1 text lines
BKEND
CATALS x.member2
BKEND
member2 text lines
BKEND
The IEBUPDTE format supports the basic syntax for updating PDS members. There is
no standard way to produce this format, although it could be produced by using several
lines of IEBPTPCH commands. The format of these tapes is:
./ ADD NAME=member1
member1 text lines
./ ADD NAME=member2
member2 text lines
The MAINT and IEBUPDTE control lines as processed by IBM allow for a number of
other parameters besides the member name. LOADT is not written to process these
additional parameters.
The CONDOR format supports tapes generated by CONDOR's CAMSERV with SYS005
assigned to a tape. The output is a standard labeled, blocked tape with the following
format:
CATALS x.member1
BKEND
member1 text lines
BKEND
CATALS x.member2
BKEND
member2 text lines
BKEND
LOADT is intended for use to transfer members between machines. To convert from
ICCF to BIM-EDIT, use LOADI or LOADIL. To convert from VSE sublibraries or MVS
PDSs to BIM-EDIT, use LOADD or LOADDL.
When Valid
LOADT can only be used in batch utility. The user must have DEF access level for the
currently attached library.
Page 104
BIM-EDIT System Reference Manual
LOADT
Use in a Procedure
Return Codes:
OK
SC
Successful.
Inadequate access level.
Example
Process input from an ICCF tape. Record size is 80 bytes:
VSE Job Control
// JOB CONVERT
// ASSGN SYS004,TAPE
// PAUSE MOUNT ICCF OUTPUT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
ATTACH CONVLIB
LOADT TP80,ICCF
/*
/&
MVS Job Control
//CONVERT JOB
//BIMUTIL EXEC
//STEPLIB DD
//BIFTP80 DD
//
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
ATTACH OM20
LOADT TP80,ICCF
/*
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=ICCFBACK,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
SYSOUT=A
*
Chapter 3. Advanced User Commands
Page 105
LOGF
LOGF
Use LOGF to write lines to $LOG. The lines following the LOGF command will be
written to $LOG. The end-of-text line (++/*) terminates the LOGF command.
LOGF ignores any operands.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more extensive discussion and examples, see the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
LOGF can only be used in a procedure, batch utility, or the application interface.
However, $LOG is not saved if the task is not an online user.
Use in a Procedure
LOGF normally returns OK. (See SIBRETCD.)
Example
From within a procedure, write lines to log:
LOGF
******************************************************************
THE FRIDAY OPERATING RUN HAS NOW BEEN SUBMITTED.
THIS INCLUDES:
1) DAILY RUN
2) END OF WEEK RUN
******************************************************************
++/*
Page 106
BIM-EDIT System Reference Manual
LOGON
LOGON
Use LOGON to begin using BIM-EDIT. LOGON is required as the first line of a batch
utility run.
Required Operands
USER
is the user ID.
PSWD
is the password associated with USER.
Optional Operand
FORCE
is an option to "force" a logoff of a user currently logged on to
BIM-EDIT. The FORCE option is only presented to the user if the
userid is recognized as "already logged on". Enter as
FORCE=YES.
Under CICS, the transaction code chosen by your site, usually EDTR, is used instead of
LOGON. You will be prompted for your user id and password (unless your site has
modified the BIXLOGN routine to obtain user identification in some other way.) This is
still processed as a LOGON, even though you do not enter it as a command.
An alternate LOGON screen, that has a "new password" field, is available by renaming
$SYS.CTRL.LOGONNEW and $SYS.CTRL.LOGONNEW-F to $SYS.CTRL.LOGON and
$SYS.CTRL.LOGON-F respecitively. This LOGON screen allows the user to change
his/her password at logon time. This screen adds the optional "NEWPSWD" field
between the PSWD and FORCE fields.
When Valid
Check with your System Administrator regarding restrictions for LOGON. The exit
routine distributed with BIM-EDIT implements no special restrictions. (Changes to the
BIXLOGN exit routine are described in the System Reference Manual.)
Use in a Procedure
Return codes are not relevant, since unsuccessful logon will preclude executing any
command that could make use of the return code.
Chapter 3. Advanced User Commands
Page 107
LOGON
Examples
Logon as user HKL. Password is SFXX:
VSE Job Control
// JOB BIMUTIL
// EXEC BIMUTIL
LOGON HKL,SFXX
.... BIM-EDIT commands
/*
/&
MVS Job Control
//LOGONJOB JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON HKL,SFXX
.... BIM-EDIT commands
/*
Page 108
BIM-EDIT System Reference Manual
LOOP
LOOP
Use LOOP to continue processing at the line immediately following the prior related
BLOCK position (related by the nesting count). LOOP is normally used after an 'IF'
command and would be effective if the tested condition is true.
LOOP commands are used within BLOCK/ENDBLOCK constructs and are normally
used after 'IF' commands. LOOP loops back to the prior related BLOCK position.
When Valid
LOOP can only be used in a procedure. LOOP command must have been preceded by a
BLOCK command.
Use in a Procedure
Return codes:
NF
Related BLOCK index not found
Example
The following example shows the LOOP command used within a procedure.
SET ....
...
BLOCK
IF A,NE,'B'
LEAVE
IF C,NE,'D'
LEAVE
.... Statements
...
ADD CT,1
IF CT,LT,10
LOOP
ENDBLOCK
...
...
EXIT
Chapter 3. Advanced User Commands
Page 109
LUCL
LUCL
Use LUCL to CLOSE a conversation with a partner BIM-EDIT, using the application
interface LU 6.2 protocol from within a procedure. This command requires that a
communication link has been established with the PARTNER via a previously
successful execution of the LUOP command.
Required Operands
LINED
Name of a 253 byte declared character variable, data line area.
The contents of this variable are not used or changed by this
command. It is required simply to have a consistent command
syntax within all of the LUxx commands.
STATUS
Name of a 2 byte declared character variable, status area. The
contents of this variable are not used or changed by this
command. It is required simply to have a consistent command
syntax within all of the LUxx commands.
WORKAREA
Name of a 253 byte declared character variable, work area. This
must be the same variable specified on the LUOP command.
Optional Operands
ON/OFF, $LOG recording operand (The default is OFF).
LOG
With minimal variation, the LU 6.2 application interface conversation protocol, as
documented for batch purposes, applies for procedures.
For more information, refer to Chapters 2 and 6 in the BIM-EDIT System Reference
Manual.
When Valid
The user must have OPER or ADM command security.
Use in a Procedure only
Return Codes:
OK
CL
LU
SV
Successfully disconnected the communication link with the PARTNER.
Failure to disconnect or not connected with the PARTNER BIM-EDIT.
LU 6.2 protocol failure.
Severe error, usually accompanied with a message.
Examples
See provided procedure examples in $SYS.UDP.
BIPXCOM, BIPXRCV, BIPXSND
Page 110
BIM-EDIT System Reference Manual
LUOP
LUOP
Use LUOP to OPEN a conversation with a partner BIM-EDIT, using the application
interface LU 6.2 protocol from within a procedure.
Required Operands
LINED
Name of a 253 byte declared character variable, data line area.
STATUS
Name of a 2 byte declared character variable, status area.
WORKAREA
Name of a 253 byte declared character variable, work area.
Optional Operands
ON/OFF, $LOG recording operand (The default is OFF).
LOG
To OPEN a conversation with a PARTNER BIM-EDIT, you must provide a PARTNER
application name and LOGMODE name in the LINED variable.
NAME....LOGMODE.
COL = 0.......8.......
P390EDITEDITLU62
By declaring unique WORKAREA variables, a procedure is able to establish multiple
partner BIM-EDIT conversations.
With minimal variation, the LU 6.2 application interface conversation protocol, as
documented for batch purposes, applies for procedures.
For more information, refer to Chapters 2 and 6 in the BIM-EDIT System Reference
Manual.
When Valid
The user must have OPER or ADM command security.
Use in a Procedure only
Return Codes:
OK
OP
LU
SV
Successfully established the communication link with the PARTNER.
Failure to establish the communication link with the PARTNER BIM-EDIT.
LU 6.2 protocol failure.
Severe error, usually accompanied with a message.
Examples
See provided procedure examples in $SYS.UDP.
BIPXCOM, BIPXRCV, BIPXSND
Chapter 3. Advanced User Commands
Page 111
LURC
LURC
Use LURC to receive responses or data lines from a partner BIM-EDIT, using the
application interface LU 6.2 protocol from within a procedure. This command requires
that a communication link has been established with the PARTNER via a previously
successful execution of the LUOP command.
Required Operands
LINED
Name of a 253 byte declared character variable, data line area.
STATUS
Name of a 2 byte declared character variable, status area.
WORKAREA
Name of a 253 byte declared character variable, work area. This
must be the same variable specified on the LUOP command.
Optional Operands
ON/OFF, $LOG recording operand (The default is OFF).
LOG
The response status codes will be returned in the STATUS variable, data lines in the
LINED variable.
With minimal variation, the LU 6.2 application interface conversation protocol, as
documented for batch purposes, applies for procedures.
For more information, refer to Chapters 2 and 6 in the BIM-EDIT System Reference
Manual.
When Valid
The user must have OPER or ADM command security.
Use in a Procedure only
Return Codes:
OK
LU
SV
*
Successfully processed.
LU 6.2 protocol failure.
Severe error, usually accompanied with a message.
Other error codes resulting from partner execution of commands.
Examples
See provided procedure examples in $SYS.UDP.
BIPXCOM, BIPXRCV, BIPXSND
Page 112
BIM-EDIT System Reference Manual
LUSD
LUSD
Use LUSD to SEND a command or data to a partner BIM-EDIT, using the application
interface LU 6.2 protocol from within a procedure. This command requires that a
communication link has been established with the PARTNER via a previously
successful execution of the LUOP command.
Required Operands
LINED
Name of a 253 byte declared character variable, data line area.
STATUS
Name of a 2 byte declared character variable, status area.
WORKAREA
Name of a 253 byte declared character variable, work area. This
must be the same variable specified on the LUOP command.
Optional Operands
ON/OFF, $LOG recording operand (The default is OFF).
LOG
The command to be sent to the partner must be placed in the LINED data line variable
with the STATUS variable set to OK.
With minimal variation, the LU 6.2 application interface conversation protocol, as
documented for batch purposes, applies for procedures.
For more information, refer to Chapters 2 and 6 in the BIM-EDIT System Reference
Manual.
When Valid
The user must have OPER or ADM command security.
Use in a Procedure only
Return Codes:
OK
LU
SV
*
Successfully sent the command.
LU 6.2 protocol failure.
Severe error, usually accompanied with a message.
Other error codes resulting from partner execution of sent commands.
Examples
See provided procedure examples in $SYS.UDP.
BIPXCOM, BIPXRCV, BIPXSND
Chapter 3. Advanced User Commands
Page 113
MAPF
MAPF
Use MAPF to display lines and obtain input from the terminal. The lines following the
MAPF are displayed and the keyboard is freed. Keyboard entry is allowed where
"updateable fields" have been indicated by special coding in the lines following the
MAPF. The end-of-text line (++/*) terminates the MAPF command.
MAPF has no operands.
MAPF is the only way to interact (engage in a dialog) with a procedure. MAPF and the
no-session display are the only BIM-EDIT displays that are not sessions. Because of this,
MAPF will use the entire screen even though you may be in split-screen mode and will
not allow you to enter commands.
Inside a procedure, a MAPF will look something like the following
=>
LIST
COLOSSAL.MENU
SESS=A 1( 1) LINE=
34(
256)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7-*===* MAPF
*===*
COLOSSAL INVESTMENTS SELECTION MENU
*===*
&SECURITY
*===*
*===*
B = BUY
*===*
S = SELL
*===*
*===*
ENTER SELECTION {S} AND QUANTITY {QUAN}
*===* ++/*
When processed, this command will display:
COLOSSAL INVESTMENTS SELECTION MENU
INTERNATIONAL BUSINESS MACHINES COMMON
B = BUY
S = SELL
ENTER SELECTION
_
AND QUANTITY
100
(Assuming the value of the variable SECURITY is "INTERNATIONAL BUSINESS
MACHINES COMMON", the value of the variable S is " ", the value of the variable
QUAN is "100", and the value of the predefined variable PPDVBL is "1" OR "2".)
On this screen, you may enter a value for variable S at the current location of the cursor
(after SELECTION) and you may modify the value of the variable QUAN ("100") after
QUANTITY. Data cannot be entered in other locations. When you hit ENTER, CLEAR
or a PF or PA key, the procedure will continue executing after MAPF's ++/*. The
changed values of S and QUAN will be available to the procedure if the user hit ENTER
or a PF key, but not if the user hit CLEAR or a PA key.
MAPF displays normal text at the row and column in which it appears on the display
lines. However, MAPF does most of its work by being sensitive to special characters in
the display lines:
Page 114
BIM-EDIT System Reference Manual
MAPF
Ampersand
(&)
If the predefined variable PPDVBL is "1" or "2", and the
ampersand is followed immediately by the name of a
variable, the value of the variable will be replaced into the
display. Display intensity will carry from the preceding
text. (This is, in fact, normal variable replacement.)
Left brace
({)
Starts a low-intensity updateable field. Must be followed
immediately by the name of the variable whose value
corresponds to the field contents.
Explanation mark
(!)
Starts a high-intensity updateable field. Must be followed
immediately by the name of the variable whose value
corresponds to the field contents.
Broken vertical bar
(¦)
Starts a no-display updateable field. Must be followed
immediately by the name of the variable whose value
corresponds to the field contents.
Right brace
(})
Ends an updateable field. Any following text will be
displayed in low intensity.
Not symbol
(¬)
Ends an updateable field. Any following text will be
displayed in high intensity.
Common combinations are:
{FIELD }
Low intensity field, low intensity non-field text
!FIELD }
High intensity field, low intensity non-field text
{FIELD ¬
Low intensity field, high intensity non-field text
The length of the updateable field is determined by the position of the starting and
ending characters. Since the name of the variable that corresponds to a field must also
be placed between the starting and ending characters, the length of the name of a
variable used in a MAPF should not be longer than its value.
If you do use a variable name whose name is longer than its declared value length, BIMEDIT will shift-left the data that follows the long variable name, based on the difference
between the data length declared for the field, and the length of the variable name.
Notes
1.
The two end-field characters can be inserted anywhere in non-updateable text to
change the intensity of subsequent text. Their use is not restricted to terminating an
updateable field.
2.
Updateable fields need not be terminated by one of the two end-field characters.
They can also be terminated by the start-field character of the next updateable field.
3.
Your System Administrator has the option of customizing the table of special MAPF
characters. This topic is covered in Chapter 11, Customization, in the BIM-EDIT
System Reference Manual.
4.
A variable that corresponds to a field must have been previously declared as a
character variable. Its declared length must exactly match the number of positions
between the field start character and the field end character.
5.
If the variable was declared with CASE=U, input data is translated to upper case on
receipt from the map.
Chapter 3. Advanced User Commands
Page 115
MAPF
6.
If the MAPF screen does not contain any updateable fields, then the MAPF screen
will be sent to the terminal, but no input request will be attempted. Control will be
returned directly to the procedure for continued execution.
7.
The MAPF must not have more lines than the user's current screen size.
8.
If predefined variable PPDALARM is set to "1" when the MAPF is executed, the
terminal will beep. Any other value will suppress this function.
9.
If predefined variable PPDCSFLD is set to the name of a variable which appears as
a field in the MAPF, the initial cursor position will be at the beginning of that field.
10. The key that the user entered to transmit the screen is available in the predefined
variable PPDKEY. PPDKEY assumes one of the following values:
ENTER
CLEAR
PA1, PA2, PA3
PF1, PF2, ..., PF24
11. The position of the cursor when the user transmitted the screen is available in the
predefined variables SIBCSROW and SIBCSCOL.
12. If any fields were changed by the user, predefined variable PPDMSGF will have the
value "1" after the MAPF. Otherwise it will be "0".
13. Whether the MAPF is generated in default or alternate terminal mode is controlled
by the value of predefined variable PPDSCRSZ when the MAPF is issued. If it has
the value "A", alternate mode is used. If it has the value "D", default mode is used.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more extensive discussion and examples, see the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
MAPF can only be used in an online procedure.
Use in a Procedure
MAPF normally returns OK. (See SIBRETCD.)
Example
Within an online procedure, interact with the user to get a job name to submit:
Page 116
BIM-EDIT System Reference Manual
MAPF
DECLARE JOB,CHAR,8,V
SET PPDVBL,1
MAPF
-AP20- ACCOUNTS PAYABLE SYSTEM
ENTER JOB TO BE RUN:
{JOB
}
AVAILABLE JOBS
---------------------------------------------------------------------ESAP010 VENDOR LISTING
ESAP020 ACCOUNTS PAYABLE AGING
ESAP030 PAYMENTS SUMMARY
ESAP040 CASH PAYMENTS JOURNAL
++/*
SUBMIT &JOB
Chapter 3. Advanced User Commands
Page 117
MULTIPLY
MULTIPLY
Use MULTIPLY to arithmetically multiply a specified variable by a specified value.
MULTIPLY may also be entered as MULT.
Required Operands
OPER1
is the name of a previously declared numeric variable.
OPER2
is a non-negative numeric integer.
The contents of the OPER1 variable will be multiplied by the OPER2 value. The result
will be stored in the OPER1 variable.
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. For online help, refer to topics 'DECLARE',
'ARRAYS', and 'SUBSTR'.
When Valid
MULTIPLY can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
MULTIPLY normally returns OK. (See SIBRETCD.)
Example
Procedure to calculate the percent of BIM-EDIT 16K memory blocks currently in use:
SET PPDVBL,1
DCL PERCENT,NUM,8,V
SETD PERCENT,MMP16KUS
MULTIPLY PERCENT,1000
;SCALE BEFORE INTEGER DIVISION
DIVIDE PERCENT,&MMP16KDP
ADD PERCENT,5
;ROUND TO NEAREST PERCENT
DIVIDE PERCENT,10
EXIT OK,'&PERCENT.% OF 16K MEMORY BLOCKS ARE IN USE'
Page 118
BIM-EDIT System Reference Manual
OUTPUTF
OUTPUTF
Use OUTPUTF to write lines to a destination determined by the value of the predefined
variable SIBOUTPT. The lines following the OUTPUTF will be written to the
destination. The end-of-text line (++/*) terminates the OUTPUTF command.
OUTPUTF may also be entered as OUTF.
The following table shows how OUTPUTF functions for specific values of SIBOUTPT.
For example, if SIBOUTPT has a value of K, OUTPUTF functions exactly like the
STACKF command.
A
D
I
K
Appl Int.
DISPLAYF
INSERTF
STACKF
L
N
P
LOGF
CONSOLEF
PRINTF
R
S
T
U
REPROF
SUBMITF
AUDITF
PUNCHF
OUTPUTF's operands are treated as if they were operands to the indicated command.
For online BIM-EDIT, SIBOUTPT is initialized to "D", causing output to be directed to a
DISP session.
On VSE, if running in batch utility with the first UPSI bit on, SIBOUTPT is initialized to
"N", causing output to be directed to the system console. If the first UPSI bit is off,
SIBOUTPT is initialized to "P", causing output to be directed to the printer.
On MVS, batch utility always initializes SIBOUTPT to "P", causing output to be directed
to the printer.
Regardless of the environment, output can be directed to a different destination by
setting SIBOUTPT to a different value. (SIBOUTPT also controls where output is
directed for display-type commands such as LIBRARY.)
OUTPUTF is useful when you are writing a procedure whose output should be sent to
different destinations depending on where it is run.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more discussion on text-following commands, refer to the BIM-EDIT System
Reference Manual Chapter 2, Writing Procedures.
When Valid
OUTPUTF can only be used in a procedure, batch utility, or the application interface.
(Usage may be further restricted by the value of SIBOUTPT. For example, SIBOUTPT R
can only be used in batch utility, because the REPRO command can only be used in
batch utility.)
Use in a Procedure
OUTPUTF normally returns OK. (See SIBRETCD.)
Chapter 3. Advanced User Commands
Page 119
OUTPUTF
Example
Procedure to output information about a library to the console:
SET PPDVBL,1
DECLARE LIB,CHAR,16,V
PARSE LIB
READL &LIB
SET SIBOUTPT,'N'
OUTPUTF
NAME
: &TXLLIB
TITLE
: &TXLTITLE
USER
: &TXLUSER
DATE CREATED
: &TXLDTCRE
++/*
Page 120
BIM-EDIT System Reference Manual
PARSE
PARSE
Use PARSE to set specified variables to values determined from the procedure
parameter character string (PARMLIST).
Required Operands
VBL1
is the name of a previously declared variable (see the DECLARE
command.) The variable can be declared with any attributes.
PARSE will verify that the value in PARMLIST that is to be
parsed into the VBL1 variable conforms with these attributes.
For character variables, data is translated to upper case if the
variable is declared (explicitly or by default) as an upper case
variable.
Optional Operands
VBL2-24
are an additional 23 variable names that can be specified. The
discussion regarding VBL1 also applies to VBL2-24.
When a procedure is invoked, the entire parameter string is assigned to a predefined
variable named PARMLIST. If the parsing scheme used by PARSE is not adequate for a
particular situation, PARMLIST can be analyzed directly.
Since PARSE always analyzes the PARMLIST variable, it can be used to analyze data
other than the parameter string. If you have other data to parse (for example, data from
a session line) you can assign that data to the PARMLIST variable, and then issue the
PARSE command.
If a variable is declared with CASE=U, PARSE will translate its value to uppercase.
PARSE uses the same analysis routines used by BIM-EDIT commands, that is, operands
can be entered positionally, by keyword, or by a combination of the two methods.
For more extensive discussion and examples, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
PARSE can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
PARSE normally returns OK. (See SIBRETCD.)
Example
Retrieve the parameters for a procedure:
Chapter 3. Advanced User Commands
Page 121
PARSE
DECLARE MEM,CHAR,33,V
DECLARE OPT,CHAR,8,V
PARSE MEM,OPT
IF MEM,EQ,''
EXIT ER,'** MEMBER REQUIRED **'
IF OPT,EQ,''
SET OPT,PROD
If the above procedure were called SMAP, we could invoke the procedure with
parameters as follows:
=> smap omrexio,prod
We could also have invoked it as follows:
=> smap opt=prod,mem=omrexio
Or, as follows:
=> smap omrexio,opt=prod
Page 122
BIM-EDIT System Reference Manual
PEND
PEND
Use PEND to create a one-time use password (a "pending" password).
PEND has no operands.
PEND will place a temporary password in the predefined variable SIBPDPSW. A
temporary password is good for a one-time logon in batch (i.e., a second logon using
the password will fail). By using a temporary password, your permanent password is
not revealed to someone who views the BIM-EDIT job while it is in POWER or JES. A
user may have multiple temporary passwords outstanding at one time. System variable
MMPTPEXP can be used to control how long temporary passwords are maintained.
Temporary passwords will be maintained until one of the following occurs:
1) A batch job is submitted as shown in the example below.
2) Your BIM-EDIT library is restored.
3) The temporary password is manually deleted using the PURGEN command.
4) The number of days specified in MMPTPEXP has passed. The temporary password
will then be purged on the next BIM-EDIT startup. If MMPTPEXP has not been set,
seven days will be assumed.
Use in a Procedure
PEND normally returns OK. (See SIBRETCD.)
Example
Submit a job which logs on to batch utility using a temporary password and whatever
user executes the SUBMITF. The PEND command's temporary password is replaced
into the LOGON command as the job is submitted:
VSE Job Control
SET PPDVBL,1
PEND
SUBMITF
* $$ JOB JNM=BIJSCAN,CLASS=C,DISP=D,USER=&SIBUSER
* $$ LST DISP=H,CLASS=A,COPY=1
// JOB
BIJSCAN
SCAN LIBRARY
// EXEC BIMUTIL
LOGON &SIBUSER,&SIBPDPSW
SCAN ED30,BIRDKAQ
/*
/&
* $$ EOJ
++/*
Chapter 3. Advanced User Commands
Page 123
PEND
MVS Job Control
PEND
SET PPDVBL,1
SUBMITF
//SCANJOB JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON &SIBUSER,&SIBPDPSW
SCAN ED30,BIRDKAQ
/*
++/*
Page 124
BIM-EDIT System Reference Manual
PHONETIC
PHONETIC
Use PHONETIC to convert a name or word to a phonetic code. Normally one would
use the code for comparing like sounding words such as names or for indexing records
keyed by names. This can be used in situations where spelling differences may occur.
Required Operands
CODE
The name of a local variable in which to store the resulting code.
Maximum length is 16, minimum is 2.
NAME
Name or word to be converted. Maximum length is 16,
minimum is 2.
The result variable must be the same size as the input and can be the same variable.
Conversion results are left justified.
Examples of conversion:
NAME:
Stewart
Stuart
Houston
Huston
CODE:
S363
S363
H235
H235
When Valid
PHONETIC can only be used in a procedure.
Use in a Procedure
Return codes:
OK
SV
Conversion failure. Syntax error or length violation.
Example
The following example shows the PHONETIC command used within a procedure to
compare the Swedish spelling of the name "Larsson" to the American or English
spelling "Larson". In either case the result code will be "L625".
DECLARE NAME,CHAR,16,V
DECLARE NAM2,CHAR,16,V
DECLARE CODE,CHAR,8,V
DECLARE COD2,CHAR,8,V
PARSE NAME,NAM2
PHONETIC CODE,&NAME
PHONETIC COD2,&NAM2
IF CODE NE COD2
EXIT ER,'NAMES DO NOT MATCH - &CODE, &COD2'
EXIT OK,'MATCH CODE=&CODE'
Chapter 3. Advanced User Commands
Page 125
PRINT
PRINT
Use PRINT to print the text of a member.
PRINT can also be entered as RELIST.
Optional Operands
MEM
is an existing member. If MEM is not specified, the "last
referenced member" is used.
For online print on VSE, MEM can be specified as "/" to print the
current session, "$STACK" to print your STACK area, "$MAIL"
to print your MAIL queue, or "$LOG" to print your LOG area.
CLASS
is the job class for the resulting print. If CLASS is not specified,
"A" is used.
FNO
is the form number for the resulting print. If FNO is not
specified, the operating system's default form number will be
used. (For VSE, the default is blanks.)
CASE
If CASE is specified as "U", text will be translated to upper case.
If CASE is specified as "M", text will not be translated. If CASE is
not specified, "M" is assumed.
FMT
specifies the format to use when printing lines. Specify "NO" if
exact line images are to be printed. Specify "YES" if lines are to
be prefixed with line numbers. If FMT is not specified, a value of
"YES" is assumed.
PGSIZ
printed page size. A value specified for PGSIZ will determine
the number of lines to be printed on a page. If PGSIZ is not
specified the number of lines per page will be the value of
MMPPGSIZ.
PSWD
If the member is password protected, the password must be
entere. The password may be up to 8 characters in length
consisting of any characters.
Optional Operands (VSE only)
Page 126
RJEID
RJEID may be specified as a value of "1" to "250". RJEID may also
be specified as "R001" to "R250" but in this case must be 4
characters long.
JSEP
If JSEP is specified as "0", no page separator pages will be
printed. A value of "1" to "9" will cause POWER to print as many
page separators as the value specified.
COPY
COPY may be specified as a value from 1 to 255 to indicate the
number of copies to be printed. The default is 1.
BIM-EDIT System Reference Manual
PRINT
Optional Operands (VSE only, continued)
DESTNODE
Is a 1 to 8 character name of a nodeid to which POWER is to
route the listing. If omitted the destination will be the system on
which BIM-EDIT is running.
DESTUSER
Is a 1 to 8 character name of a destination userid or "ANY". If
omitted DESTUSER will default to "LOCAL". DESTUSER may
also be used to specify a RJEID value but only if the "Rnnn"
format is used. DESTUSER will always override any RJEID
specified.
UINF
is the 16 character user information to be associated with the
POWER LST output.
On VSE, PRINT can be used both under online BIM-EDIT and in batch utility. Direct
online print (and printing the current session) is only available for VSE/SP version 2.1
and later. For prior releases, if PRINT is invoked online, it submits a job that invokes the
PRINT procedure in batch utility.
On MVS, batch utility PRINT writes its output to ddname SYSPRINT. For MVS, if
PRINT is invoked online, it submits a job that invokes the PRINT procedure in batch
utility.
The PRINT command, both online and batch, determines the number of line to print on
a page based on the value of the variable MMPPGSIZ.
PRINT sets the "last referenced member".
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Member not found.
Inadequate access level.
PRINT sets the TXM variables to the attributes of MEM.
PRINT is implemented as the system procedure BIPPRNT. PRINT handles the actual
printing by invoking the PRINTF command.
Examples
From online, print the member XIL0250. Translate to upper case:
=> print xil0250,case=u
From batch, print the members RMGL300 and RMGL400:
Chapter 3. Advanced User Commands
Page 127
PRINT
VSE Job Control
// JOB PRINT
// EXEC BIMUTIL
LOGON $SYS,$SYS
PRINT RMGL300
PRINT RMGL400
/*
/&
MVS Job Control
//PRNTJOB JOB
//BIMUTIL EXEC
//STEPLIB DD
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
PRINT RMGL300
PRINT RMGL400
/*
Page 128
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
*
BIM-EDIT System Reference Manual
PRINTF
PRINTF
Use PRINTF to print lines. The lines following the PRINTF command will be printed.
The end-of-text line (++/*) terminates the PRINTF command.
Optional Operands
STR
ignored. (Provided for compatibility with DISPLAYF operands
when using PRINTF through the OUTPUTF command.)
FMT
specifies the format to use when printing lines. Specify "0" if
exact line images are to be printed. Specify "1" if lines are to be
prefixed with line numbers. If FMT is not specified, a value of
"0" is assumed.
CASE
specifies how text is to be translated before processing. If CASE
is specified as "U", text will be translated to upper case. If CASE
is specified as "M", text will not be translated. If CASE is not
specified, "M" is assumed.
On VSE, if PRINTF is used online, BIM-EDIT will directly create a POWER job entry in
the LST queue. The attributes of the POWER job entry created are determined by the
contents of certain variables, which the procedure containing PRINTF must declare as
follows:
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
LSTCLASS,CHAR,1,V
LSTCOPY,NUM,3,V
LSTDISP,CHAR,1,V
LSTPRI,CHAR,1,V
LSTFCB,CHAR,8,V
LSTFNO,CHAR,8,V
LSTNAME,CHAR,8,V
LSTUSER,CHAR,16,V
LSTJSEP,NUM,3,V
LSTRJEID,CHAR,4,V
LSTDSNOD,CHAR,8,V
LSTDSUSR,CHAR,8,V
;POWER CLASS
;NUMBER OF COPIES
;DISPOSITION (K,L,D,H)
;PRIORITY
;FORMS CONTROL BUFFER NAME
;FORMS NAME
;POWER JOB NAME
;POWER USER INFORMATION
;JOB SEPARATOR PAGE COUNT
;REMOTE DESTINATION FOR PRINT
;DESTINATION NODE
;DESTINATION USER
On MVS, PRINTF will write its output to ddname SYSPRINT.
See the PRINT procedure source for an example of online PRINTF usage.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more discussion on text-following commands, refer to the BIM-EDIT System
Reference Manual Chapter 2, Writing Procedures.
On VSE, online PRINTF sets "last referenced POWER job entry".
Chapter 3. Advanced User Commands
Page 129
PRINTF
When Valid
On VSE, PRINTF can only be used in a procedure or batch utility. If running under an
earlier release than VSE/SP 2.1, only batch utility usage is available.
On MVS, PRINTF can only be used in batch utility.
Use in a Procedure
PRINTF normally returns OK. (See SIBRETCD.)
On VSE, online PRINTF sets the PWR variables to the attributes of the entry printed.
Example
Print member OMRPWR3 with all INCLUDEs expanded:
SET PPDINCL,1
PRINTF
/INCLUDE OMRPWR3
++/*
Page 130
BIM-EDIT System Reference Manual
PUNCH
PUNCH
Use PUNCH to punch the text of a member.
Optional Operands
MEM
is the member to be punched. If MEM is not specified, the "last
referenced member" is used.
FMT
is the format to punch the member in. FMT can have the
following values:
TEXT
Only the member text is written.
TEXTADJ
Only the member text is written with textfollowing adjustment. Lines which will be
adjusted are those starting with the two
characters "/*", "/+", "/&", the four characters "*
$$" or "++/*", and for MVS, the two characters
"//".
DEFINE
The member text is preceded by appropriate
DEFINE, EDIT, and INSERTF commands.
Member text is followed by ++/* and a SAVE
command.
DEFINADJ
The member text is preceded by appropriate
DEFINE, EDIT, and INSERTF commands.
Member text is followed by ++/* and a SAVE
command. Text-following adjustment will occur
for lines which start with the two characters
"/*", "/+", "/&", the four characters "* $$" or
"++/*", and for MVS, the two characters "//"
ICCF
The member text is preceded by an appropriate
ADD MEMBER line and followed by END OF
MEMBER.
IEBUPDTE
The member text is preceded by an appropriate
./ ADD line.
VSE
The member text is preceded by a CATALOG
statement and followed by a /+. The VSE
member.type is the BIM-EDIT member name
(not to exceed 8 characters) and the member
type.
If FMT is not specified, TEXT is assumed.
Chapter 3. Advanced User Commands
Page 131
PUNCH
Optional Operands (continued)
CDATE
is used to specify the disposition of the create date. CDATE can
have the following values:
KEEP
The DEFINE statement punched will contain the
original create date.
mm/dd/yy, mm/dd/yyyy, dd/mm/yy or dd/mm/yyyy
depending upon the date format set by the
System Administrator. If the date is valid the
DEFINE statement will be punched with the
specified date.
If CDATE is not specified, the create date will be the current
date when the DEFINE statement, which is punched, is used as
input to define the member.
CTIME
is used to specify the disposition of the create time. CTIME can
have the following values:
KEEP
The DEFINE statement punched will contain the
original create time. If CDATE=KEEP has been
specified and CTIME is omitted, CTIME will
default to a value of KEEP.
hh:mm:ss
The DEFINE statement punched will contain the
specified time.
If CTIME is not specified, the create time will be the current time
when the DEFINE statement, which is punched, is used as input
to define the member.
PSWD
If the member is password protected, the password must be
entere. The password may be up to 8 characters in length
consisting of any characters.
On VSE, PUNCH can be used both under online BIM-EDIT and in batch utility. Direct
online punch (and punching the current session) is only available for VSE/SP version
2.1 and later. For prior releases, if PUNCH is invoked online, it submits a job that
invokes the PUNCH procedure in batch utility.
On MVS, PUNCH writes output to the ddname SYSPUNCH. Records are written in a
fixed unblocked format (record size=80).
When used from a batch utility the output file is opened on the first PUNCHF or
PUNCHI command (PUNCH uses PUNCHF) and remains open until the batch utility
reaches end of job.
PUNCH breaks apart member lines longer than 80 characters to a four-line format with
each line beginning with "++()". These lines will be reassembled if presented as input to
the "text following" commands AUDITF, CONSOLEF, DISPLAYF, INSERTF, LOGF,
MAPF, OUTPUTF, PRINTF, PUNCHF, REPROF, STACKF, and SUBMITF. For details of
the ++() format, see the PPD predefined variables.
Page 132
BIM-EDIT System Reference Manual
PUNCH
The FMT operand provides a mechanism for easily punching members in a format that
can be read by another product to create the member on that product.
PUNCH sets the "last referenced member."
To PUNCH all members in a library, use PUNCHL.
When Valid
The user must have LIST access level for the MEM library. On MVS, PUNCH can only
be used in batch utility.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Member not found.
Inadequate access level.
PUNCH sets the TXM variables to the attributes of MEM.
PUNCH is implemented as the system procedure BIPPUNM. PUNCH handles the
actual punching by invoking the PUNCHF command.
Example
Punch the members OMREXIO and OMREXOP:
VSE Job Control
// JOB PUNCH
// EXEC BIMUTIL
LOGON $SYS,$SYS
ATTACH AP31
PUNCH OMREXIO
PUNCH OMREXOP
/*
/&
MVS Job Control
//PNCHJOB JOB
//BIMUTIL EXEC
//STEPLIB DD
//SYSPRINT DD
//SYSPUNCH DD
//SYSIN
DD
LOGON $SYS,$SYS
ATTACH AP31
PUNCH OMREXIO
PUNCH OMREXOP
/*
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
SYSOUT=P
*
Chapter 3. Advanced User Commands
Page 133
PUNCHF
PUNCHF
Use PUNCHF to punch lines. The lines following the PUNCHF command will be
punched. The end-of-text line (++/*) terminates the PUNCHF command.
PUNCHF ignores any operands.
On VSE, PUNCHF writes output to the logical unit SYSPCH. Records are written in a
fixed unblocked format (record size=80).
On MVS, PUNCHF writes output to the ddname SYSPUNCH. Records are written in a
fixed unblocked format (record size=80).
The output file is opened on the first PUNCHF or PUNCHI command and remains
open until the batch utility reaches end of job.
PUNCHF breaks apart input lines longer than 80 characters to a four-line format with
each line beginning with "++()". These lines will be reassembled if presented as input to
the "text following" commands AUDITF, CONSOLEF, DISPLAYF, INSERTF, LOGF,
MAPF, OUTPUTF, PRINTF, PUNCHF, REPROF, STACKF, and SUBMITF. For details of
the ++() format, see the PPD variables description.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more discussion on the text-following commands, refer to the BIM-EDIT System
Reference Manual Chapter 2, Writing Procedures.
When Valid
PUNCHF can only be used in batch utility.
Use in a Procedure
PUNCHF normally returns OK. (See SIBRETCD.)
Example
Punch member OMRPWR3 with all INCLUDEs expanded:
SET PPDINCL,1
PUNCHF
/INCLUDE OMRPWR3
++/*
Page 134
BIM-EDIT System Reference Manual
PUNCHI
PUNCHI
Use PUNCHI to punch a specified line (sometimes referred to as the "immediate" line).
PUNCHI may also be entered as PUNI.
Required Operands
is the line to punch. LINE can be up to 80 characters in length.
LINE
On VSE, PUNCHI writes output to the logical unit SYSPCH. Records are written in a
fixed unblocked format (record size=80).
On MVS, PUNCHI writes output to the ddname SYSPUNCH. Records are written in a
fixed unblocked format (record size=80).
The output file is opened on the first PUNCHF or PUNCHI command and remains
open until the batch utility reaches end of job.
PUNCHI is often used to intersperse job control statements with a PUNCH output
which is intended to be used as batch reader input.
When Valid
PUNCHI can only be used in batch utility.
Use in a Procedure
PUNCHI normally returns OK. (See SIBRETCD.)
Example
Punch JCL lines:
VSE Job Control
PUNCHI
PUNI
PUNCHI
PUNCHI
'// JOB DMX0235'
'// EXEC DMX0235,SIZE=256K'
'/*'
'/&'
MVS Job Control
PUNCHI
PUNI
PUNCHI
PUNCHI
'//PAYJOB JOB ...'
'//STEP1 EXEC PROC=DMP0235'
'//SYSIN DD *
'/*'
Chapter 3. Advanced User Commands
Page 135
PUNCHL
PUNCHL
Use PUNCHL to punch the text of all members in a library.
Required Operands
LIB
is the library for which all members are to be punched.
FMT
is the format in which to punch the members.
PUNCHL works by performing a PUNCH command on all members of the library. See
the PUNCH command for more detail.
When Valid
PUNCHL can only be used in batch utility. The user must have LIST access level for the
LIB library.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Library not found.
Inadequate access level.
PUNCHL is implemented as the system procedure BIPPUNL. PUNCHL browses
through the library and invokes the PUNCH command for each member.
Example
Punch all members in library 4218:
VSE Job Control
// JOB PUNCH
// EXEC BIMUTIL
LOGON $SYS,$SYS
PUNCHL 4218
/*
/&
MVS Job Control
//PNCHLJOB JOB
//BIMUTIL EXEC
//STEPLIB DD
//SYSPRINT DD
//SYSPUNCH DD
//SYSIN
DD
LOGON $SYS,$SYS
PUNCHL 4218
/*
Page 136
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
SYSOUT=P
*
BIM-EDIT System Reference Manual
READ
READ
Use READ to set the TXM variables to the attributes of a specified member.
Optional Operands
is the member to be read. If MEM is not specified, the "last
referenced member" is used.
MEM
Refer to the BROWSE command to set the TXM variables to the attributes of several
members in succession.
For more examples of READ and BROWSE, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. See BIM-EDIT System Reference Manual
Chapter 4, Predefined Variables, or HELP TXM for more information on the TXM
variables.
When Valid
The user must have LIST access level for the MEM library.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Member not found.
Inadequate access level.
Example
Display the title of a specified member:
SET PPDVBL,1
SET PPDCOND,1
DECLARE MEM,CHAR,33,V
PARSE MEM
READ &MEM
IF SIBRETCD,NE,OK
EXIT ER,'(DISPLAYM) ** MEMBER "&TXMLIB..&TXMMEM" DOES NOT EXIST **'
EXIT OK,'MEMBER "&TXMLIB..&TXMMEM" HAS TITLE "&TXMTITLE"'
Chapter 3. Advanced User Commands
Page 137
READL
READL
Use READL to set the TXL variables to the attributes of a specified library.
Required Operands
is the library name.
LIB
Refer to the BROWSEL command to set the TXL variables to the attributes of several
libraries in succession.
For more discussion of READL and BROWSEL, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. See BIM-EDIT System Reference Manual
Chapter 4, Predefined Variables, or HELP TXL for more information on the TXL
variables.
When Valid
The user must have LIST access level for the LIB library.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Library not found.
Inadequate access level.
Example
Display the title of a library.
SET PPDVBL,1
SET PPDCOND,1
DECLARE LIB,CHAR,33,V
PARSE LIB
READL &LIB
IF SIBRETCD,NE,OK
EXIT ER,'(OMPPRTLA) ** LIBRARY "&LIB" DOES NOT EXIST **'
EXIT OK,'LIBRARY "&LIB" HAS TITLE "&TXLTITLE"'
Page 138
BIM-EDIT System Reference Manual
READP (VSE version)
READP (VSE version)
Use READP to set the PWR variables to the attributes of a specified POWER job entry.
Optional Operands
PRM1-4
select the POWER job entry to be accessed. The four operands
allow you to specify the queue (RDR,LST,PUN,XMT), job name,
job number, and segment number. They can be specified in any
order, except that segment, if specified, must follow job number.
Which entry will be selected depends on the operands specified:
queue, job name, job number, segment
The specified queue will be searched for the entry for the
specified name, number, and segment.
queue, job name
The specified queue will be searched for the first entry for
the specified name.
queue, job number
The specified queue will be searched for the first entry for
the specified number, without regard to the job name.
job number
job name
The LST queue will be searched for the first entry for the
specified number or name.
queue
The specified queue will be searched for the first entry for
the job name and number of the "last referenced POWER job
entry"
If PRM1-4 is not specified at all, the "last referenced POWER job
entry" will be used.
READP without any operands can be used to assure that the values in the PWR
variables reflect the current status of the "last referenced POWER job entry".
For more extensive discussion and examples, refer to System Reference Manual Chapter
2, Writing Procedures.
When Valid
Check with your System Administrator to determine the restrictions on access to
POWER job entries at your site. The exit routine distributed with BIM-EDIT provides
several restriction schemes your System Administrator can select among. (Use of and
changes to the BIXPWQA exit routine are described in the System Reference Manual.)
Chapter 3. Advanced User Commands
Page 139
READP (VSE version)
Use in a Procedure
Return Codes:
OK
NF
*
Successful.
Job entry not found.
Codes as defined by the BIXPWQA exit routine.
Examples
Display the user of a POWER job entry.
SET PPDVBL,1
SET PPDCOND,1
DCL PRM1,CHAR,8,V
DCL PRM2,CHAR,8,V
DCL PRM3,CHAR,8,V
DCL PRM4,CHAR,8,V
PARSE PRM1,PRM2,PRM3,PRM4
READP &PRM1 &PRM2 &PRM3 &PRM4
IF SIBRETCD,NE,OK
EXIT ER,'(DISPLAYP) ** JOB "&PRM1 &PRM2 &PRM3 &PRM4" DOES NOT EXIST **'
EXIT OK,'JOB "&PRM1 &PRM2 &PRM3 &PRM4" HAS USER "&PWRUSER"'
Page 140
BIM-EDIT System Reference Manual
READP (MVS version)
READP (MVS version)
Use READP to set the JCT, JOE, JQE, and PDB variables to the attributes of specified JES
data sets.
Optional Operands
JOB
selects the JES job. If JOB contains letters, it specifies a jobname
label from the Job Control Language JOB statement. If JOB is
entirely digits, it specifies a job number assigned by JES. If not
specified, the job from "last referenced JES data sets" will be
used.
GROUP and DSET are mutually exclusive; if one is specified,
the other must not be.
GROUP
selects the data sets within the specified job. If GROUP is a
single letter or digit, it specifies all data sets in the GROUP class
in the JES "hold queue". If GROUP is "SYSOUT", it specifies all
SYSOUT data sets. If GROUP is any other multiple character
value, it specifies all data sets in the GROUP outgrp in the JES
"output queue".
An outgrp may be composed of three parts separated by periods
in the form "name.qualifier.copy" where "name" is the JES or
user-specified name, qualifier is a JES-assigned number, and
copy is the copy number. All data sets matching a partial outgrp
specification (for example, "name" only) will be inserted. To
distinguish an outgrp with a one-character name from a class,
follow the name with a period.
DSET
selects the data set to be inserted within the specified job. DSET
can specify a user data set name from the ddname label of a Job
Control Language DD statement. The data set name may be
qualified by entering it in the form stepname.ddname. If the
data set name is not unique within the job, the first instance will
be used. You can specify JES pre-defined data sets, of which the
most useful is $JCL, which contains the Job Control Language
for the job. DSET can also be specified as a JES-assigned data set
number which is always unique. Use the INQUIREP command
to display a list of data sets and their numbers.
If none of JOB, GROUP and DSET are specified, the "last
referenced data sets" are inserted. If only JOB is specified, all
SYSOUT data sets are selected.
READP without any operands can be used to assure that the values in the variables
reflect the current status of the "last referenced JES data sets".
For more extensive discussion and examples, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
Chapter 3. Advanced User Commands
Page 141
READP (MVS version)
When Valid
Check with your System Administrator to determine the restrictions on access to JES
data sets at your site. The exit routine distributed with BIM-EDIT provides several
restriction schemes your System Administrator can select among. (Use of and changes
to the BIXPWQA exit routine are described in the BIM-EDIT System Reference Manual.)
Use in a Procedure
Return Codes:
OK
NF
*
Successful.
Data sets not found.
Codes as defined by the BIXPWQA exit routine.
Examples
Display the user of a specified JES job.
SET PPDVBL,1
SET PPDCOND,1
DCL PRM1,CHAR,8,V
DCL PRM2,CHAR,8,V
PARSE PRM1,PRM2
READP &PRM1 &PRM2
IF SIBRETCD,NE,OK
EXIT ER,'(BIMFALPA) ** JOB "&PRM1 &PRM2" DOES NOT EXIST **'
EXIT OK,'JOB "&PRM1 &PRM2" HAS USER "&JCTTSUID"'
Page 142
BIM-EDIT System Reference Manual
REPRO
REPRO
Use REPRO to write the text of a member to tape.
Optional Operands
MEM
is the member to be written to tape. If MEM is not specified, the
"last referenced member" is used.
FMT
is the format to write the member in. FMT can have the
following values:
TEXT
Only the member text is written.
DEFINE
The member text is preceded by appropriate
DEFINE, EDIT, and INSERTF commands.
Member text is followed by ++/* and a SAVE
command.
ICCF
The member text is preceded by an appropriate
ADD MEMBER line and followed by END OF
MEMBER.
IEBUPDTE
The member text is preceded by an appropriate
./ ADD line.
VSE
The member text is preceded by a CATALOG
statement and followed by a /+. The VSE
member.type is the BIM-EDIT member name
(not to exceed 8 characters) and the member
type.
If FMT is not specified, TEXT is assumed.
CDATE
is used to specify the disposition of the create date. CDATE can
have the following values:
KEEP
The DEFINE statement written to tape will
contain the original create date.
mm/dd/yy, mm/dd/yyyy, dd/mm/yy or dd/mm/yyyy
depending upon the date format set by the
System Administrator. If the date is valid the
DEFINE statement will be written to tape with
the specified date.
If CDATE is not specified, the create date will be the current
date when the DEFINE statement, which is written to tape, is
used as input to define the member.
Chapter 3. Advanced User Commands
Page 143
REPRO
Optional Operands (continued)
CTIME
is used to specify the disposition of the create time. CTIME can
have the following values:
KEEP
The DEFINE statement written to tape will
contain
the
original
create
time.
If
CDATE=KEEP has been specified and CTIME is
omitted, CTIME will default to a value of KEEP.
hh:mm:ss
The DEFINE statement written to tape will
contain the specified time.
If CTIME is not specified, the create time will be the current time
when the DEFINE statement, which is written to tape, is used as
input to define the member.
The following parameters are valid only on the first AUDITRP, REPROI, or REPROF
command (REPRO uses REPROF) read by BIMUTIL. These operands are only valid
in VSE.
OPEN
is the value for the VSE tape open option. It may be specified as
REWIND or NOREWIND. The default is NOREWIND.
CLOSE
is the value for the VSE tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is
NOREWIND.
LABEL
is the value for the VSE tape label option. It may be specified as
YES or NO. YES indicates that the tape created will be a VSE
standard label tape. The file name for the labeled tape is
TPBODTF. NO means that the tape is unlabelled. The default is
NO.
On VSE, REPRO writes output to a tape on logical unit SYS005.
On MVS, REPRO writes output to ddname BIFREPRO.
Records are written in a fixed block format (record size=80, block size=16000). The tape
file is opened on the first AUDITRP, REPROF, or REPROI command (REPRO uses
REPROF) and remains open until the batch utility reaches end of job.
REPRO breaks apart member lines longer than 80 characters to a four-line format with
each line beginning with "++()". These lines will be reassembled if presented as input to
the "text following" commands AUDITF, CONSOLEF, DISPLAYF, INSERTF, LOGF,
MAPF, OUTPUTF, PRINTF, PUNCHF, REPROF, STACKF, and SUBMITF. For details of
the ++() format, see the PPD predefined variables.
The FMT operand provides a mechanism for easily writing members in a format that
can be read by another product to create the member on that product.
REPRO does not perform any special handling for member lines whose values may
cause problems if the output is reprocessed as reader input. If this is the intention, you
may wish to consider special handling for lines beginning with:
Page 144
BIM-EDIT System Reference Manual
REPRO
++/*
BIM-EDIT end of input
* $$
VSE/POWER JECL
/*
VSE and MVS JCL end of file
/&
VSE JCL end of job
//
MVS JCL
REPRO sets the "last referenced member."
To write all members in library to tape, use REPROL.
When Valid
REPRO can only be used in batch utility. The user must have LIST access level for the
MEM library.
Use in a Procedure
Return Codes:
OK
Successful.
NF
Member not found.
SC
Inadequate access level.
REPRO sets the TXM variables to the attributes of MEM.
REPRO is implemented as the system procedure BIPREPM. REPRO handles the actual
writing by invoking the REPROF command.
Example
Write the text for member AR34.OMREXIO to tape:
VSE Job Control
// JOB REPRO
// ASSGN SYS005,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
ATTACH AR34
SET PPDVBL,1
REPROI '**** START OF MEMBER OMREXIO, WRITTEN ON &OPSDATE AT &OPSTIME'
REPRO OMREXIO
/*
/&
Chapter 3. Advanced User Commands
Page 145
REPRO
MVS Job Control
//REPRO
JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFREPRO DD
DSNAME=BIFREPRO,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
ATTACH AR34
SET PPDVBL,1
REPROI '**** START OF MEMBER OMREXIO, WRITTEN ON &OPSDATE AT &OPSTIME'
REPRO OMREXIO
/*
Page 146
BIM-EDIT System Reference Manual
REPROF
REPROF
Use REPROF to write lines to tape. The lines following the REPROF command will be
written to tape. The end-of-text line (++/*) terminates the REPROF command.
Optional Operands
The following parameters are valid only on the first AUDITRP, REPROI, or REPROF
command (REPRO uses REPROF) read by BIMUTIL. These operands are only valid
in VSE.
OPEN
is the value for the VSE tape open option. It may be specified as
REWIND or NOREWIND. The default is NOREWIND.
CLOSE
is the value for the VSE tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is
NOREWIND.
LABEL
is the value for the VSE tape label option. It may be specified as
YES or NO. YES indicates that the tape created will be a VSE
standard label tape. The file name for the labeled tape is
TPBODTF. NO means that the tape is unlabelled. The default is
NO.
On VSE, REPROF writes output to a tape on logical unit SYS005.
On MVS, REPROF writes output to ddname BIFREPRO.
Records are written in a fixed block format (record size=80, block size=16000). The tape
file is opened on the first AUDITRP, REPROF, or REPROI command (REPRO uses
REPROF) and remains open until the batch utility reaches end of job.
REPROF breaks apart member lines longer than 80 characters to a four-line format with
each line beginning with "++()". These lines will be reassembled if presented as input to
the "text following" commands AUDITF, CONSOLEF, DISPLAYF, INSERTF, LOGF,
MAPF, OUTPUTF, PRINTF, PUNCHF, REPROF, STACKF, and SUBMITF. For details of
the ++() format, see the PPD predefined variables.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more discussion of text-following commands, refer to the BIM-EDIT System
Reference Manual Chapter 2, Writing Procedures.
When Valid
REPROF can only be used in batch utility.
Use in a Procedure
REPROF normally returns OK. (See SIBRETCD.)
Chapter 3. Advanced User Commands
Page 147
REPROF
Example
Write member OMRPWR3 to tape. Process all INCLUDES:
SET PPDINCL,1
REPROF
/INCLUDE OMRPWR3
++/*
Page 148
BIM-EDIT System Reference Manual
REPROI
REPROI
Use REPROI to write a specified line (sometimes referred to as the "immediate" line) to
tape.
Required Operands
LINE
is the line to write to tape. LINE can be up to 80 characters in
length.
Optional Operands
The following parameters are valid only on the first AUDITRP, REPROI, or REPROF
command (REPRO uses REPROF) read by BIMUTIL. These operands are only valid
in VSE.
OPEN
is the value for the VSE tape open option. It may be specified as
REWIND or NOREWIND. The default is NOREWIND.
CLOSE
is the value for the VSE tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is
NOREWIND.
LABEL
is the value for the VSE tape label option. It may be specified as
YES or NO. YES indicates that the tape created will be a VSE
standard label tape. The file name for the labeled tape is
TPBODTF. NO means that the tape is unlabelled. The default is
NO.
On VSE, REPROI writes output to a tape on logical unit SYS005.
On MVS, REPROI writes output to ddname BIFREPRO.
Records are written in a fixed block format (record size=80, block size=16000). The tape
file is opened on the first AUDITRP, REPROF, or REPROI command (REPRO uses
REPROF) and remains open until the batch utility reaches end of job.
REPROI is often used to intersperse job control statements with REPRO output which is
intended to be used as batch reader input.
When Valid
REPROI can only be used in batch utility.
Use in a Procedure
REPROI normally returns OK. (See SIBRETCD.)
Example
Write text of last referenced member to a tape with job control that will allow it to be
inserted back to BIM-EDIT:
Chapter 3. Advanced User Commands
Page 149
REPROI
VSE Job Control
REPROI '// JOB COPYBACK'
REPROI '// EXEC BIMUTIL'
REPROI 'LOGON $SYS,$SYS'
REPROI 'DEFINE &TXMLIB..&TXMMEM'
REPROI 'EDIT'
REPROI 'INSERTF'
REPRO &TXMMEM..&TXMLIB
REPROI '++/*'
REPROI 'SAVE'
REPROI '/*'
REPROI '/&'
MVS Job Control
REPROI '//COPYBACK JOB ....'
REPROI '//BIMUTIL EXEC PGM=BIMUTIL'
REPROI '//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR'
REPROI '//SYSPRINT DD
SYSOUT=A'
REPROI '//SYSIN
DD
*'
REPROI 'LOGON $SYS,$SYS'
REPROI 'DEFINE &TXMLIB..&TXMMEM'
REPROI 'EDIT'
REPROI 'INSERTF'
REPRO &TXMMEM..&TXMLIB
REPROI '++/*'
REPROI 'SAVE'
REPROI '/*'
Page 150
BIM-EDIT System Reference Manual
REPROL
REPROL
Use REPROL to write to tape the text of all members in a library.
Required Operands
LIB
is the library for which all members are to be written to tape.
FMT
is the format in which to write the members.
command.
See REPRO
REPROL simply REPROs all members of the library. For details, see REPRO command.
When Valid
REPROL can only be used in batch utility. The user must have LIST access level for the
LIB library.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Library not found.
Inadequate access level.
REPROL is implemented as the system procedure BIPREPL. REPROL browses through
the library and invokes the REPRO command for each member.
Example
Write to tape all members in library 4218:
VSE Job Control
// JOB REPROL
// ASSGN SYS005,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
REPROL 4218
/*
/&
MVS Job Control
//REPROJOB JOB
//BIMUTIL EXEC
//STEPLIB DD
//BIFREPRO DD
//
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
REPROL 4218
/*
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIFREPRO,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
SYSOUT=A
*
Chapter 3. Advanced User Commands
Page 151
RETURN
RETURN
Use RETURN to end a performed routine in a procedure that was entered by a GOSUB
command. Processing continues at the command following the GOSUB used to enter
the performed routine.
For more discussion and examples, see the BIM-EDIT System Reference Manual
Chapter 2, Writing Procedures.
When Valid
RETURN and GOSUB can only be used in a procedure. A routine ending with a
RETURN command must have been entered by a GOSUB command.
Use in a Procedure
Return codes:
OK
SV
Location found
Location not found
Example
The following example shows the RETURN command used within a procedure.
DECLARE COUNTER,NUM,6,V
SET COUNTER,0
LABEL D20
GOSUB E20
;Perform routine starting a label E20
EXIT OK,'FUNCTION COMPLETE'
LABEL E20
RETURN
Page 152
;Returns to next command following the GOSUB command
BIM-EDIT System Reference Manual
SEGMENT (VSE only)
SEGMENT (VSE only)
Use SEGMENT to close and reopen the BIM-EDIT print output. SEGMENT is only
available under VSE.
Optional Operands
JECL
is the POWER "* $$ LST" card that determines the next POWER
LST entry to be created. If JECL is not specified, a value of "* $$
LST" is assumed.
SEGMENT is used when processing batch utility input from the system console. Rather
than end the job to see print output, you can issue the SEGMENT command.
The characteristics (class, copies, etc.) of the POWER job entry made accessible as a
result of this command will be those from the batch utility startup JCL or the operand of
the previous SEGMENT command. The command's operand will determine the
characteristics the POWER job entry made accessible by the next SEGMENT command
or at end of job.
When Valid
SEGMENT can only be used in batch utility.
Use in a Procedure
SEGMENT normally returns OK. (See SIBRETCD.)
Example
Print member CUM3200, then segment output:
PRINT CUM3200
SEGMENT
Chapter 3. Advanced User Commands
Page 153
SEND
SEND
Use SEND to transfer lines of a member, one by one, to an application.
Optional Operands
MEM
is the member to be sent. If MEM is not specified, the "last
referenced member" is used. It can also be "$STACK" to send the
contents of the stack area or "/" to send the current session.
INCL
specifies whether INCLUDEs are to be expanded. Specify "ON"
if INCLUDEs are to be expanded. Specify "OFF" if they are not
to be expanded. If INCL is not specified, INCLUDEs will not be
expanded.
TRAP
specifies whether lines within MEM starting with the right
parenthesis ")" will be intercepted and passed to the command
processor. Specify "ON" if such lines are to be intercepted.
Specify "OFF" if such lines are not to be intercepted. If TRAP is
not specified, such lines will not be intercepted.
VBL
specifies whether variables within the MEM lines are to be
replaced. Specify "ON" if variables are to be replaced. Specify
"OFF" if variables are not to be replaced. If VBL is not specified,
variables will not be replaced.
HEX
specifies whether HEX replacement is to take place. Specify
"ON" if HEX replacement is to take place. Specify "OFF" is HEX
replacement is not to take place. If HEX is not specified,
replacement will not take place.
ADJ
specifies whether statements within the MEM lines are to be
adjusted by prefixing them with a not symbol (see PPDADJ in
the PPD documentation).
PSWD
If the member is password protected, the password must be
entered. The password may be up to 8 characters in length
consisting of any characters.
See the predefined variables PPDINCL, PPDTRAP, PPDVBL, and PPDHEX for further
explanation of the operands of this command.
SEND initially sends a null message (return code only) to the application. If the code is
"OK", it indicates that all is well and that SEND is ready to send the member lines. The
lines are then sent, one at a time. After all lines are sent, a null message with return code
set to "EF" is sent.
SEND sets the "last referenced member".
See Chapter 6, Applications Interface, in the BIM-EDIT System Reference Manual.
When Valid
SEND can only be used in an application interface dialog.
Page 154
BIM-EDIT System Reference Manual
SEND
Use in a Procedure
Return Codes:
EF
OK
NF
SC
End of member code.
Successful.
MEM not found.
Inadequate access level.
SEND is implemented as the system procedure BIPSEND. SEND handles the actual
sending by invoking the SENDF command.
SEND sets the TXM variables to the attributes of MEM.
Example
In the following example, three items are shown on each line:
•
direction of flow:
-> from application to BIM-EDIT.
<- from BIM-EDIT to application.
•
return code.
•
text.
Dialog by an application to retrieve member $SYS.SRC.BIFARMP:
->
<->
<<<-
OK
OK
OK
OK
OK
OK
<<-
OK
EF
LOGON $SYS,$SYS
SEND $SYS.SRC.BIFARMP
line #1 text
line #2 text
....
line #n text
Chapter 3. Advanced User Commands
Page 155
SENDF
SENDF
Use SENDF to transfer lines to an application. All lines following the SENDF command
will be sent. The end of text line (++/*) terminates the SENDF command.
SENDF has no operands.
After all lines are sent, SENDF will send a null message with a return code of "EF" to the
user application.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more discussion on text-following commands, refer to the BIM-EDIT System
Reference Manual Chapter 2, Writing Procedures. Also see Chapter 6, Applications
Interface, in the BIM-EDIT System Reference Manual.
When Valid
SENDF can only be used within a procedure, and only within an application interface
dialog.
Use in a Procedure
Return Codes:
EF
OK
End of lines.
Successful.
Example
Body of a procedure to send member $SYS.SRC.BIFARMP to an application:
SET PPDINCL,1
SENDF
/INCLUDE $SYS.SRC.BIFARMP
++/*
Page 156
BIM-EDIT System Reference Manual
SENDI
SENDI
Use SENDI to transfer a single line to an application. SENDI is often used by a user
application to retrieve values of variables.
Required Operands
is the line to be sent to the user application.
LINE
If variable replacement is active (PPDVBL has a value of "1" or "2"), variables within
LINE will be replaced prior to sending LINE to the user application. The most common
use of this command is that the user application issues the SENDI command with
variable names within the LINE text. When LINE is sent back to the user application,
the variable names will have been replaced with their values.
See Chapter 6, Applications Interface, in the BIM-EDIT System Reference Manual.
When Valid
SENDI can only be used in an application interface.
Use in a Procedure
SENDI normally returns OK. (See SIBRETCD.)
Example
In the following example, three items are shown on each line:
•
direction of flow:
-> from application to BIM-EDIT.
<- from BIM-EDIT to application.
•
return code.
•
text.
Dialog by an application to retrieve the values of the TOTMEM and TOTLINE
variables:
->
<->
<-
OK
OK
OK
OK
SET PPDVBL,1
## VARIABLE SET ##
SENDI '&TOTMEM &TOTLINE'
0143 015263
Chapter 3. Advanced User Commands
Page 157
SENDMSG
SENDMSG
Use SENDMSG to send a message of up to 78 characters to the line-2 message area of
the screen and not wait for the user to press an AID key.
Required Operand
MSG
specifies the text of the message to be sent to the line-2 message
area. The message can be up to 78 characters in length.
Optional Operands
BRIGHT
specifies whether the message should be displayed in bright or
normal intensity. Specify "YES" to display as bright and "NO" to
display in normal intensity. "NO" is the default.
ALARM
specifies whether the terminal alarm should be activated when
the message is sent. Specify "YES" to activate the alarm and
"NO" to not activate the alarm. "NO" is the default.
Use SENDMSG in an online procedure to send status type messages to the terminal
user and allow the procedure to continue execution.
When Valid
SENDMSG can only be used in an online procedure. If executed from other than a
VTAM terminal session, this command will be ignored and processing of the procedure
will continue.
Use in a Procedure
SENDMSG normally returns OK. (See SIBRETCD.)
Example
The following example will send a status message to the terminal in normal
intensity:
=> sendmsg '&cnt members have been processed' bright=no
Page 158
BIM-EDIT System Reference Manual
SENDN
SENDN
Use SENDN to transfer a specified line within a session to an application.
Required Operands
is the line number.
LINE
When used with a LIST session of a member, SENDN provides a more flexible but less
automatic (and more CPU intensive) way of retrieving member data than that provided
by the SEND procedure. To send the entire contents of a session, use the SEND /
command.
See Chapter 6, Applications Interface, in the BIM-EDIT System Reference Manual.
When Valid
SENDN can only be used in an application interface dialog.
Use in a Procedure
Return Codes:
OK
EF
Successful.
Line number exceeds number of lines in session.
Example
In the following example, three items are shown on each line:
•
direction of flow:
-> from application to BIM-EDIT.
<- from BIM-EDIT to application.
•
return code.
•
text.
Dialog by an application to retrieve line number #5 of the library display of $SYS.SRC:
->
<->
<-
OK
OK
OK
OK
LIBRARY $SYS.SRC.
SENDN 5
text of line #5 of library display
Chapter 3. Advanced User Commands
Page 159
SET
SET
Use SET to set a specified variable to a specified value.
Required Operands
DEST
is the name of the variable. The variable must either be a
predefined updateable variable, or a variable declared by the
DECLARE command. The following is a list of predefined
variables that are commonly referenced by the SET command:
PF1-24
PF1OPT-PF24OPT
PA1-3
ENTER
CLEAR
PPDALARM
PPDCOND
PPDHEX
PPDHEXC
PPDINCL
PPDPGSIZ
PPDTRAP
PPDUTLOG
PPDVBL
SIBCMPR
SIBCSCTL
SIBDFLCA
SIBHEXC
SIBOUTPT
SIBPAGE
SIBTABC
function key settings
function key processing options
PA key settings
ENTER key setting
CLEAR key setting
MAPF audible alarm flag
conditional execution flag
hex translation flag
hex translation escape character
text-following include flag
printed page size
text-following trap flag
batch utility input log flag
variable replacement flag
screen transmission compression flag
extended cursor control flag
default LCA location
command line hex escape character
output destination
current page number in print output
logical tab character
See the PPD and SIB predefined variables for more information.
SRC
Page 160
is the data value to assign to the variable.
BIM-EDIT System Reference Manual
SET
Optional Operands
BASE
specifies a starting location in SRC. If BASE is not specified, a
value of 1 is assumed.
LENGTH
specifies a length. LENGTH is used in conjunction with BASE to
specify a substring of SRC to assign to the DEST variable. If
LENGTH is not specified, the remainder of SRC starting at BASE
is assigned to the DEST variable.
OPT
specifies a PF key option. OPT may be specified as one of the
following:
AFTER
PF key data will be processed after the
command line.
BEFORE
PF key data will be processed before the
command line.
IGNORE
PF key data will not be processed if there is data
on the command line.
ONLY
Only PF key data will be processed. Data on the
command line is used if the 'data insert'
character is found. If the 'data insert' character is
not found, the data on the command line is
ignored.
If omitted, AFTER is assumed.
(The KEYS command may be easier to use than the SET command to set the commands
for function keys. KEYS displays the current settings and allows you to change the
settings by overtyping them.)
It is possible to have command line input data (up to four separate parameters) merged
with PF key data before the command string is presented to BIM-EDIT. The parameter
data insertion will take place when a PF key is depressed and the associated PF key data
has a reverse quote (`) imbedded within it. Any number of reverse quote marks can
appear with the PF key definition. As each reverse quote mark is encountered in the PF
key data it is replaced with a parameter from the command line input. If only one
parameter is entered on the command line all reverse quote marks encountered in the
PF key data will be replaced with that single parameter. If two command line
parameters are entered and there are five occurrences of the reverse quote mark in the
PF key data, parameter one from the command line will replace the first reverse quote
mark and command line parameter two will replace reverse quote two through five.
The processing option for the data insertion must be set to "ONLY".
Use SETD to set a variable to the value of another variable. Use SETL to set a variable to
the length of the value of another variable.
If DEST is a varying format character variable, the following conventions apply:
Chapter 3. Advanced User Commands
Page 161
SET
•
If the length of SRC data (or LENGTH, if specified) is greater than the declared
length of the DEST variable, data beyond the declared length is truncated. The
DEST variable's current length is set to its declared length.
•
If the length of SRC data (or LENGTH, if specified) is less than or equal to the
declared length of the DEST variable, the DEST variable's current length is set to the
length of SRC data (or the substring of SRC data).
If DEST is a fixed format character variable, the following conventions apply:
•
If the length of SRC data (or LENGTH, if specified) is greater than the declared
length of the DEST variable, data beyond the declared length is truncated. The
DEST variable's length is set to its declared length.
•
If the length of SRC data (or LENGTH, if specified) is less than the declared length
of the DEST variable, the SRC data is treated as if it contained enough trailing
blanks so that its length exactly matched the declared length of the DEST variable.
If DEST is a numeric variable, an error occurs if:
•
SRC data is not an integer.
•
The numeric value of SRC data is negative.
•
The numeric value of SRC data exceeds that which can be held within DEST. For
example, if DEST is declared with a length of 3, the numeric value of SRC must not
exceed 999.
SET does not translate the case of variable values, even if the destination variable was
declared with CASE=U. See VUPPERCA for this facility.
For more extensive discussion and examples of the SET command and variables, refer
to the BIM-EDIT System Reference Manual Chapter 2, Writing Procedures. For online
help, refer to topics 'DECLARE', 'ARRAYS', and 'SUBSTR'.
Use in a Procedure
Return Codes:
OK
SV
Successful.
Length greater than 253 or not found.
Examples
Set the HEX character:
=> set sibhexc,@
Set the PF12 function key:
=> set pf12,'rot -'
Clear PF21:
=> set pf21,''
From within a procedure, declare a variable and assign the character string "PREFIX: "
plus characters 1-3 from TXMMEM to it:
Page 162
BIM-EDIT System Reference Manual
SET
SET PPDVBL,1
DECLARE WORK,CHAR,11,V
SET WORK,'PREFIX: &TXMMEM',1,11
From within a procedure, execute another procedure and obtain both the return code
and message from its execution:
SET PPDVBL,1
DCL WORKMSG,CHAR,82,V
DCL WORKRET,CHAR,2,V
EXEC PROC2
SET WORKMSG,'&SIBRESP.'
SET WORKRET,'&WORKMSG.',1,2
SET WORKMSG,'&WORKMSG.',3,80
Note that where both the return code and the message resulting from a command are
needed, a sequence similar to the above MUST be used because the first SET command
will overwrite the return code and message with its own.
Chapter 3. Advanced User Commands
Page 163
SETD
SETD
Use SETD to set a specified variable to the value of another specified variable.
Required Operands
DEST
is the name of the destination variable. The variable must either
be a predefined updateable variable, a key (PF1-24, PA1-3,
CLEAR, ENTER), a key option (PF1OPT-PF24OPT), or a variable
declared by the DECLARE command.
SRC
is the name of the source variable. The variable must either be a
predefined variable, a key (PF1-24, PA1-3, CLEAR, ENTER), or a
variable declared by the DECLARE command.
Optional Operands
BASE
specifies a starting location in SRC data. If BASE is not specified,
a value of 1 is assumed.
LENGTH
specifies a length. LENGTH is used in conjunction with BASE to
specify a substring of SRC data to assign to the DEST variable. If
LENGTH is not specified, the remainder of SRC data starting at
BASE is assigned to the DEST variable.
SETD differs from SET in that SETD assigns the value of a source variable to the
destination variable, while SET assigns the value of a source operand to the destination
variable. When moving all or part of a value from one variable to another, use SETD to
simplify handling values which contain quotes or other special characters. When
moving a concatenation of variable values and/or literal character strings to a variable,
use SET with replacement of variable values or VAPPEND.
If DEST is a varying format character variable, the following conventions apply:
•
If the length of SRC data (or LENGTH, if specified) is greater than the declared
length of the DEST variable, data beyond the declared length is truncated. The
DEST variable's current length is set to its declared length.
•
If the length of SRC data (or LENGTH, if specified) is less than or equal to the
declared length of the DEST variable, the DEST variable's current length is set to the
length of SRC data (or the subtring of SRC data).
If DEST is a fixed format character variable, the following conventions apply:
•
If the length of SRC data (or LENGTH, if specified) is greater than the declared
length of the DEST variable, data beyond the declared length is truncated. The
DEST variable's length is set to its declared length.
•
If the length of SRC data (or LENGTH, if specified) is less than the declared length
of the DEST variable, the SRC data is treated as if it contained enough trailing
blanks so that its length exactly matched the declared length of the DEST variable.
If DEST is a numeric variable, an error occurs if:
Page 164
BIM-EDIT System Reference Manual
SETD
•
SRC data is not an integer.
•
The numeric value of SRC data is negative.
•
The numeric value of SRC data exceeds that which can be held within DEST. For
example, if DEST is declared with a length of 3, the numeric value of SRC must not
exceed 999.
You cannot use SETD with SIBRETCD or SIBMSG because these two variables are reset
at the beginning of command execution.
SETD does not translate the case of the value, even if the destination variable was
declared with CASE=U. See VUPPERCA for this facility.
For more extensive discussion and examples of the SETD command and variables, refer
to the BIM-EDIT System Reference Manual Chapter 2, Writing Procedures. For online
help, refer to topics 'DECLARE', 'ARRAYS', and 'SUBSTR'.
Use in a Procedure
SETD normally returns OK. (See SIBRETCD.)
Examples
Assign the value held in PF1 to PF13:
=> setd pf13,pf1
From within a procedure, declare a variable and assign characters 2-4 from TXMMEM
to it:
DECLARE WORK,CHAR,3,V
SETD WORK,TXMMEM,2,3
Chapter 3. Advanced User Commands
Page 165
SETL
SETL
Use SETL to set a specified variable to the length of the value of another specified
variable.
Required Operands
DEST
is the name of the destination variable. The current length of the
data stored in the SRC variable is assigned to the DEST variable.
DEST must be a numeric variable declared with the DECLARE
command.
SRC
is the name of the source variable. The current length of the data
stored in SRC is assigned to the DEST variable.
For more extensive discussion and examples, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
Use in a Procedure
SETL normally returns OK. (See SIBRETCD.)
Examples
Obtain the current length of the data held in variable NAME. Assign it to the variable
NAMEL.
DECLARE NAME,CHAR,8,V
DECLARE NAMEL,NUM,3,V
PARSE NAME
SETL NAMEL,NAME
Page 166
BIM-EDIT System Reference Manual
SETM
SETM
Use SETM to set a specified variable with the message text for a specified message
identifier.
Required Operands
DEST
is the name of the variable. The variable must either be a
predefined updateable variable, or a variable declared by the
DECLARE command.
SRC
is the 1 to 8 character message identifier of the message text to be
retrieved
from
$SYS.CTRL.MESSAGES
or
$SIT.CTRL.MESSAGES.
Optional Operands
is an optional 1 to 8 character message identifier that is to
replace the message identifier in the message text retrieved from
$SYS.CTRL.MESSAGES or $SIT.CTRL.MESSAGES
ID
SETM does not translate the case of message text, even if the destination variable was
declared with CASE=U. See VUPPERCA for this facility.
Use in a Procedure
Return Codes:
OK
SV
Successful.
Variable not found.
Examples
From within a procedure, declare a variable and assign the message text associated with
message TESTPRCA to it:
SET PPDVBL,1
DECLARE MSG,CHAR,80,V
SETM MSG,TESTPRCA
Chapter 3. Advanced User Commands
Page 167
SHOW (VSE version)
SHOW (VSE version)
Use SHOW to display BIM-EDIT status information. When SHOW is invoked online, it
creates a DISP session for the results.
Optional Operands
OBJ
Specifies what display to create. Options are:
AVAIL
BIM-EDIT available storage table. This option is
normally only used by your System
Administrator.
GEN
BIM-EDIT frequently referenced general
information. Some of the fields displayed are:
user id, terminal id, current library, "last
referenced member", "last referenced POWER
job entry", current VSE sublibrary, and "last
referenced VSE member".
GLOBAL
BIM-EDIT global variables, i.e., variables
created with the DECLARE command with
SCOPE=GLOBAL.
USER
BIM-EDIT user variables, i.e., variables created
with
the
DECLARE
command
with
SCOPE=USER.
SYSTEM
BIM-EDIT system variables, i.e., variables
created with the DECLARE command with
SCOPE=SYSTEM.
LOCAL
BIM-EDIT local variables, i.e., variables created
with
the
DECLARE
command.
If
PPDTRACE=1, internally created local variables
supporting GOTO, GOSUB and RETURN
indexing,
for
the
performance
option
(PPDPFOPT=1) are included in the display.
PF, PFK, KEY, or KEYS
the functions and processing options assigned to
the PF keys and the special keys CLEAR,
ENTER PA1, PA2, and PA3.
Page 168
MMP
BIM-EDIT memory map predefined variables.
OPS
BIM-EDIT
variables.
operating
PPD
BIM-EDIT
variables.
procedure
PWR
POWER job entry predefined variables.
system
predefined
processor
predefined
BIM-EDIT System Reference Manual
SHOW (VSE version)
Optional Operands (continued)
SIB
BIM-EDIT system interface block predefined
variables.
SSD
BIM-EDIT session control block predefined
variables.
TXL
BIM-EDIT
variables.
library
attributes
predefined
TXM
BIM-EDIT
variables.
member
attributes
predefined
TXS
BIM-EDIT security entry predefined variables.
TXU
BIM-EDIT user attributes predefined variables.
VBL
All BIM-EDIT predefined, GLOBAL and local
variables.
XTR
BIM-EDIT extracted predefined variables.
??
User's internal command stack.
If OBJ is not specified, "GEN" is assumed.
All password fields are encrypted and will be displayed only if
the user has ADM level access.
For definitions of the predefined variables, see Chapter 4, Predefined Variables, in the
BIM-EDIT System Reference Manual.
Use in a Procedure
SHOW normally returns OK. (See SIBRETCD.)
If SHOW is invoked in batch utility, the display destination is controlled by predefined
variable SIBOUTPT.
Examples
Show keys:
=> show keys
Show general information:
=> show
Chapter 3. Advanced User Commands
Page 169
SHOW (MVS version)
SHOW (MVS version)
Use SHOW to display BIM-EDIT status information. When SHOW is invoked online, it
creates a DISP session for the results.
Optional Operands
OBJ
Specifies what display to create. Options are:
AVAIL
BIM-EDIT available storage table. This option is
normally only used by your System
Administrator.
GEN
BIM-EDIT frequently referenced general
information. Some of the fields displayed are:
user id, terminal id, current library, "last
referenced member", "last referenced JES data
sets", current PDS, and "last referenced PDS
member".
GLOBAL
BIM-EDIT global variables, i.e., variables
created with the DECLARE command with
SCOPE=GLOBAL.
USER
BIM-EDIT user variables, i.e., variables created
with
the
DECLARE
command
with
SCOPE=USER.
SYSTEM
BIM-EDIT system variables, i.e., variables
created with the DECLARE command with
SCOPE=SYSTEM.
JCT
JES job control table.
JOE
JES job output element.
JQE
JES job queue element.
LOCAL
BIM-EDIT local variables, i.e., variables created
with
the
DECLARE
command.
If
PPDTRACE=1, internally created local variables
supporting GOTO, GOSUB and RETURN
indexing,
for
the
performance
option
(PPDPFOPT=1) are included in the display.
PF, PFK, KEY, or KEYS
the functions and processing options assigned to
the PF keys and the special keys CLEAR,
ENTER PA1, PA2, and PA3.
Page 170
MMP
BIM-EDIT memory map predefined variables.
OPS
BIM-EDIT
variables.
operating
system
predefined
BIM-EDIT System Reference Manual
SHOW (MVS version)
Optional Operands (continued)
PDB
JES peripheral dataset block.
PPD
BIM-EDIT
variables.
SIB
BIM-EDIT system interface block predefined
variables.
SSD
BIM-EDIT session control block predefined
variables.
TXL
BIM-EDIT
variables.
library
attributes
predefined
TXM
BIM-EDIT
variables.
member
attributes
predefined
TXS
BIM-EDIT security entry predefined variables.
TXU
BIM-EDIT user attributes predefined variables.
VBL
All BIM-EDIT predefined, GLOBAL and local
variables.
XTR
BIM-EDIT extracted predefined variables.
??
User's internal command stack.
procedure
processor
predefined
If OBJ is not specified, "GEN" is assumed.
All password fields are encrypted and will be displayed only if
the user has ADM level access.
For definitions of the predefined variables, see Chapter 4, Predefined Variables, in the
BIM-EDIT System Reference Manual.
Use in a Procedure
SHOW normally returns OK. (See SIBRETCD.)
If SHOW is invoked in batch utility, the display destination is controlled by predefined
variable SIBOUTPT.
Examples
Show keys:
=> show keys
Show general information:
=> show
Chapter 3. Advanced User Commands
Page 171
SNAP
SNAP
Use SNAP to specify whether BIM-EDIT will output debugging information when a
procedure terminates with a SV or non-OK return code.
Required Operands
is the operation to be performed. Specify "ON" if BIM-EDIT is to
output debugging information when a procedure terminates by
encountering an error or processing an EXIT with a non-OK
return code. Specify "OFF" if BIM-EDIT is to cease outputting
such information. SNAP is set "OFF" by LOGON.
OPER
Debugging information is written to the following destinations:
•
Online tasks write to $LOG.
•
Batch utility tasks write either to the printer or to the system console.
•
Application interface tasks write to the system console.
If PPDCOND is set to 1, only SV return codes will produce snap output. If PPDCOND
is set to 0, all non-OK return codes will produce snap output.
The snap facility lists the procedures and INCLUDEs that are active. A snap result looks
like the following:
LIST $LOG session after SNAP output
=>
LIST
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
$LOG
SESS=A 1( 1) LINE=
512(
534)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7-------------------------------- SNAP OUTPUT --------------------------COMMAND SOURCE
LINE #
COMMAND STRING
--------------------------------- ------ -----------------------------(COMMAND LINE)
------ test
ED41A.TEST
8 ED SMORF
(BIGNFTXM) ** MEMBER "ED41A.SMORF" NOT FOUND **
-- END OF LOG --
When Valid
SNAP cannot be used in a procedure.
Examples
BIM-EDIT is to output debugging information:
=> snap on
Page 172
BIM-EDIT System Reference Manual
STACKF
STACKF
Use STACKF to write lines to $STACK. The lines following the STACKF command will
be written to $STACK. The end-of-text line (++/*) terminates the STACKF command.
STACKF ignores any operands.
STACKF appends lines to $STACK. It does not clear $STACK. The command
STACK 0,CL
can be used to clear $STACK.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more discussion of text-following commands, refer to the BIM-EDIT System
Reference Manual Chapter 2, Writing Procedures.
When Valid
STACKF can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
STACKF normally returns OK. (See SIBRETCD.)
Example
From within a procedure, write lines to $STACK:
SET PPDTRAP,0
STACKF
)INCLUDE PAYRL.PREJCL
)INCLUDE PAYRL.DATA
)INCLUDE PAYRL.POSTJCL
++/*
Chapter 3. Advanced User Commands
Page 173
SUBMITF
SUBMITF
Use SUBMITF to submit lines for batch processing. The lines following the SUBMITF
command will be submitted. The end-of-text line (++/*) terminates the SUBMITF
command.
SUBMITF may also be entered as SUBF.
SUBMITF ignores any operands.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
On VSE with the distributed exit routine, SUBMITF will create any missing "* $$ JOB",
"* $$ LST", and "* $$ PUN" lines using the values in the local variables CLASS, DISP,
USER, LSTCLASS, LSTDISP, PUNCLASS, and PUNDISP. It will also create missing
"/*", "/&", and "* $$ EOJ" lines.
If you are running VSE/SP release 2.1 or later or you are running MVS and your
terminal is running under control of SNA, you may interrupt a long running SUBMIT
command by pressing the ATTN key.
For more extensive discussion and examples, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
SUBMITF can only be used in a procedure, batch utility, or the application interface.
Check with your System Administrator to determine the restrictions on SUBMITF at
your site.
On VSE, the exit routine distributed with BIM-EDIT requires the "* $$ JOB" line to have
a correct JNM field and, if present, precede the "// JOB" line. The "// JOB" line must be
present and have a correct name field.
On MVS, the exit routine distributed with BIM-EDIT makes no restrictions.
(Changes to the BIXPWSB exit routine are described in Chapter 11, Customization, of
the BIM-EDIT System Reference Manual.)
Use in a Procedure
Return codes are available after the end-of-text line (++/*) has been processed.
Return Codes:
OK
AT
*
Page 174
Successful.
Command interrupted by ATTN key.
Codes as defined by the BIXPWSB exit routine.
BIM-EDIT System Reference Manual
SUBMITF
Example
SUBMIT is implemented as a procedure. The following is a simplified form of that
procedure. It verifies that the member to be submitted exists, and then submits it:
SET PPDVBL,2
SET PPDINCL,1
DECLARE MEM,CHAR,33,V
PARSE MEM
READ &MEM
SUBMITF
/INCLUDE &TXMLIB..&TXMMEM
++/*
EXIT OK,'## MEMBER "&TXMLIB..&TXMMEM" SUBMITTED ##'
Chapter 3. Advanced User Commands
Page 175
SUBTRACT
SUBTRACT
Use SUBTRACT to subtract a specified value from a specified variable.
SUBTRACT may also be entered as SUBT.
Required Operands
OPER1
is the name of a previously declared numeric variable.
OPER2
is a numeric integer (a negative is prefixed with a dash - ).
OPER2 will be subtracted from the value of the OPER1 variable. The result will be
stored in the OPER1 variable. An unconditional error occurs if the result is less than 0
and OPER1 is not a signed numeric variable (TYPE=NUMS).
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures. For online help, refer to topics 'DECLARE',
'ARRAYS', and 'SUBSTR'.
When Valid
SUBTRACT can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
SUBTRACT normally returns OK. (See SIBRETCD.)
Example
The following example shows how the SUBTRACT command could be used within a
procedure to search for a string of characters on every third line above the current line:
SET PPDVBL,1
DCL LINE,NUM,6
DCL STR,CHAR,65,V
PARSE STR
SETD LINE,SSDBASE&SIBSCRPM
;GET CURRENT LINE NUMBER
LABEL LOOP
IF LINE,LE,3
;ARE THERE 3 LINES LEFT?
EXIT ER,'(SITFND3U) ** STR "&STR" NOT FOUND **'
SUBTRACT LINE,3
;UP THREE LINES
POSITION &LINE
SET PPDCOND,1
;EXAMINE USES RETURN CODE
EXAMINE "&STR"
IF SIBRETCD,EQ,OK
;IF WE FOUND IT, GET OUT
EXIT OK
SET PPDCOND,0
;OTHERWISE TRY AGAIN
GOTO -LOOP
Page 176
BIM-EDIT System Reference Manual
TRANSFER
TRANSFER
Use TRANSFER to execute the procedure specified by MEM without creating a new
procedure nesting level.
TRANSFER may also be entered as TRAN.
Required Operands
MEM
is the member to be executed. If MEM is not specified, the "last
referenced member" is used. The member to be executed must
be of type "PROC". MEM can also be "$STACK", in which case
the contents of the stack area are executed as a procedure or "/",
in which case the current session is executed.
......
Additional parameters are placed in the PARMLIST variable.
These parameters are retrievable from within the procedure via
the PARSE command.
Control is not returned to the procedure issuing the TRANSFER command.
For more discussion and examples, see the BIM-EDIT System Reference Manual
Chapter 2, Writing Procedures.
When Valid
TRANSFER can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
Return Codes:
OK
NF
Successful.
Member not found.
Example
The following example shows how the TRANSFER command could be used within a
procedure passing three parameters to the new procedure:
DECLARE MEM,CHAR,16,V
DECLARE STRTLINE,NUM,6,V
DECLARE ENDLINE,NUM,6,V
ED &MEM
LOCATE "<DATA>"
IF SIBRETCD,NE,OK
GOTO E20
SETD STRTLINE,SSDBASE1
LOCATE "<EOD>"
IF SIBRETCD,NE,OK
GOTO E20
SETD ENDLINE,SSDBASE1
TRANSFER DATAEXTR &MEM,&STRTLINE,&ENDLINE
LABEL E20
EXIT SV,"NO <DATA> FOUND"
Chapter 3. Advanced User Commands
Page 177
VAPPEND
VAPPEND
Use VAPPEND to append a specified character value to the end of the current value of
a specified variable.
VAPPEND may also be entered as VAPP.
Required Operands
DEST
is the name of a previously declared varying length character
variable.
SRC
If not enclosed in quotes, SRC is the name of a previously
declared character variable which contains the character value to
be concatenated. If enclosed in quotes, SRC is the character value
itself (up to 253 characters).
The character string represented by SRC is concatenated after the last character in the
DEST variable. If the DEST variable is not large enough to hold the result, the result is
truncated.
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
VAPPEND can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
VAPPEND normally returns OK. (See SIBRETCD.)
Example
Procedure to display the operating system release.
SET PPDVBL,1
DCL MSG,CHAR,80,V
IF MMPOPSYS EQ 'M'
EXIT OK,'RUNNING UNDER MVS'
SET MSG,'RUNNING UNDER VSE '
IF MMPOPREL EQ 43
VAPPEND MSG,'RELEASE 1.3'
IF MMPOPREL EQ 44
VAPPEND MSG,'RELEASE 1.3.5'
IF MMPOPREL EQ 45
VAPPEND MSG,'RELEASE 2.1'
EXIT OK,'&MSG'
Page 178
BIM-EDIT System Reference Manual
VEXAMINE
VEXAMINE
Use VEXAMINE to search for a specified character value within a specified variable.
VEXAMINE may also be entered as VEXAM.
Required Operands
OBJ
is the name of a previously declared character variable.
STR
If not enclosed in quotes, STR is the name of a previously
declared character variable which contains the character value to
search for. If enclosed in quotes, STR is the character value itself
(up to 72 characters). If the value begins with the backslash
character (\), the search will use Extended Search Pattern rules,
as described below.
Optional Operands
ZONE
is the column range for the search. Enter it in the format "xxxyyy" where xxx and yyy are numbers between 1 and 253
separated by a dash (-). For example, to limit the search to
columns 10 to 20, specify ZONE as "10-20". If ZONE is not
specified, the entire variable is searched.
CASE
specifies whether upper/lower case should be considered when
determining matches. If specified as "U", case is ignored ("the"
matches "The"). If specified as "M", both case and letters must
match. If CASE is not specified, "U" is assumed.
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
If the value of STR begins with a backslash (\), BIM-EDIT treats STR as an Extended
Search Pattern, with certain characters having special meanings:
?
matches any single character
*
matches any sequence of zero or more characters
@
matches zero or more instances of the character that follows the @
!
matches the beginning of the variable value
<
matches the beginning of the value or any non-alphanumeric character
>
matches the end of the value or any non-alphanumeric character
|
separates two patterns, EITHER of which may match for a successful search
+
separates two patterns, BOTH of which must match for a successful search
~
reverses the success/failure of the pattern following it
%
marks the position in the value where the match is considered to occur
\
suppresses the special meaning of the character that follows the \
Chapter 3. Advanced User Commands
Page 179
VEXAMINE
See Chapter 6, Advanced Techniques, in the BIM-EDIT User Reference Manual for more
information about Extended Search Patterns.
When Valid
VEXAMINE can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
Return Codes:
OK
NF
String found.
String not found.
If STR is found in the specified variable within the specified ZONE columns, the
column where it is found is placed in the predefined variable PPDCOL.
Example
Procedure to report all PF keys which reference a specified search value.
SET PPDVBL,1
DCL PFNO,NUM,3,V
DCL STR,CHAR,80,V
DCL MSG,CHAR,80,V
PARSE STR
SET PFNO,0
LABEL PFLOOP
ADD PFNO,1
SET PPDCOND,1
VEXAMINE PF&PFNO,STR
; REPLACE PFNO TO GET NAME
IF SIBRETCD,EQ,OK
VAPPEND MSG,',PF&PFNO'
SET PPDCOND,0
IF PFNO,LT,24
GOTO -PFLOOP
IF MSG EQ ''
EXIT OK,'NO PF KEY REFERENCES "&STR"'
SETD MSG,MSG,2
; GET RID OF INITIAL COMMA
EXIT OK,'&MSG REFERENCE(S) "&STR"'
Page 180
BIM-EDIT System Reference Manual
VLOWERCA
VLOWERCA
Use VLOWERCA to translate the value of a specified variable to lower case.
VLOWERCA may also be entered as VLOWER or VLOW.
Required Operands
OBJ
is the name of a previously declared character variable.
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
VLOWERCA can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
VLOWERCA normally returns OK. (See SIBRETCD.)
Example
Procedure to check whether its parameter contains any uppercase letters:
SET PPDVBL,1
DCL PARM,CHAR,80,V,M
DCL TEMP,CHAR,80,V,M
PARSE PARM
SETD TEMP,PARM
VLOWER TEMP
IFD PARM,NE,TEMP
EXIT NG,'** PARAMETER MUST NOT CONTAIN UPPERCASE **'
Chapter 3. Advanced User Commands
Page 181
VTESTNUM
VTESTNUM
Use VTESTNUM to test the value of a specified variable to determine whether it is
numeric.
Required Operands
is the name of a previously declared character variable.
OBJ
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
VTESTNUM can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
Return Codes:
OK
NU
Characters are numeric.
Characters are not numeric.
Example
Procedure for a single function calculator.
SET PPDVBL,1
DCL MULT1,CHAR,8,V
DCL MULT2,CHAR,8,V
DCL PROD,NUM,8,V
DCL MSG,CHAR,80,V
LABEL LOOP
MAPF
MULTIPLY {MULT1
} X {MULT2
}
&MSG
++/*
SET PPDCOND,1
SET MSG,'** NOT NUMERIC **'
VTESTNUM MULT1
IF SIBRETCD EQ OK
VTESTNUM MULT2
IF SIBRETCD NE OK
GOTO -LOOP
SET PPDCOND,0
SETD PROD,MULT1
MULTIPLY PROD,&MULT2
IF PROD EQ 0
EXIT OK,'PRODUCT IS ZERO -- NORMAL END'
SET MSG,'PRODUCT IS &PROD'
GOTO -LOOP
Page 182
BIM-EDIT System Reference Manual
VTRUNCAT
VTRUNCAT
Use VTRUNCAT to remove trailing blanks from the value of a specified variable.
VTRUNCAT may also be entered as VTRUNC or VTRUN.
Required Operands
is the name of a previously declared varying length character
variable.
OBJ
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
VTRUNCAT can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
Return Codes:
OK
NF
VF
VT
Successful.
Variable not found.
The variable format is invalid.
The variable type is invalid.
Example
Procedure to extract information from the fixed format LIBT display to construct a
variable format message.
SET PPDVBL,1
DCL MSG,CHAR,80,V
DCL TEMP,CHAR,80,V
LIBT
F &SIBUSER COL=8
SET MSG,'TASK STATUS FOR USER=&SIBUSER: '
SETD TEMP,XTRSLINE,17,4
VTRUNCAT TEMP
VAPPEND MSG,'LINK=&TEMP '
SETD TEMP,XTRSLINE,32,8
VTRUNCAT TEMP
VAPPEND MSG,'TERMINAL=&TEMP '
SETD TEMP,XTRSLINE,41,8
VTRUNCAT TEMP
VAPPEND MSG,'STATUS=&TEMP '
EXIT OK,'&MSG'
Chapter 3. Advanced User Commands
Page 183
VUPPERCA
VUPPERCA
Use VUPPERCA to translate the value of a specified variable to upper case.
VUPPERCA may also be entered as VUPPER or VUPP.
Required Operands
OBJ
is the name of a previously declared character variable.
For more discussion and examples of variables, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
VUPPERCA can only be used in a procedure, batch utility, or the application interface.
Use in a Procedure
VUPPERCA normally returns OK. (See SIBRETCD.)
Example
Procedure to create a non-unique key for a mailing database application. It takes data
from global variables LASTNAME, ZIPCODE, and CITY and returns the key in global
variable KEYCODE.
DCL TEMP,CHAR,10,V
SETD KEYCODE,LASTNAME,1,2
SETD TEMP,ZIPCODE,1,5
VAPPEND KEYCODE,TEMP
SETD TEMP,CITY,1,3
VAPPEND KEYCODE,TEMP
VUPPER KEYCODE
EXIT OK
Page 184
BIM-EDIT System Reference Manual
WAIT
WAIT
WAIT is used to cause a procedure to delay processing for an interval of time.
Required Operands
FOR
is an integer representing the interval in seconds (1 - 55924).
UNTIL
a subsequent time of day in the form - HHMM, where HH is the
hour, in 24 hour format, and mm is the minutes. The FOR and
UNTIL operands are mutually exclusive.
When Valid
The WAIT command can only be used in a procedure, batch utility, or the application
interface.
Use in a Procedure
Return Codes:
OK
SV
Successful.
Interval not within valid range or timer function rejected by the operating
system.
Example
WAIT 20
or
WAIT FOR=20
or
WAIT UNTIL=1320
(wait for 20 seconds)
(wait for 20 seconds)
SUBMIT member
LABEL DOWAIT
WAIT 30
LISTP LST,member
IF SIBRETCD,NE,OK
GOTO -DOWAIT
Chapter 3. Advanced User Commands
(wait until
1:20 pm)
;submit jobstream
;wait 30 seconds
;check for job completion
;if not done, go wait again
Page 185
Chapter 4. Predefined Variables
This chapter describes BIM-EDIT's predefined variables. Predefined variables are those
you may reference even though you have not created them using the DECLARE
command (in fact, the DECLARE command will be rejected if you try to use a
predefined variable name). You are already be familiar with a few predefined variables,
for example those which contain the commands to be executed when a PF key is hit.
There are many more predefined variables.
There are three principal ways you can use the predefined variables:
1) You can set predefined variables to control the function of BIM-EDIT (PPD and SIB
variables are used in this way).
2) You can use predefined variables in procedures to access descriptive information
3) You can SHOW the contents of groups of predefined variables to see why BIMEDIT is performing in a particular way.
Except for the miscellaneous predefined variables (CLEAR, ENTER, PARMLIST, PA1PA3, and PF1-PF24), predefined variables are separated into groups indicated by the
first three letters of the variable names. The groups are as follows:
Predefined Variable Group
JCT
On MVS, Job Control Table
Information Accessed
last referenced JES job
JOE
On MVS, Job Output Element
last referenced JES data sets
JQE
On MVS, Job Queue Element
last referenced JES job
MMP
System memory map
BIM-EDIT system status/control
OPS
Operating system
Date and time
PDB
On MVS, Partitn Data Periph Blk
last referenced JES data sets
PPD
Procedure processor data
current BIM-EDIT procedure
PWR
On VSE, POWER job entry
last referenced POWER job entry
SIB
System interface block
current BIM-EDIT task
SSD
Session control block
current BIM-EDIT session
TXL
Library attributes
current BIM-EDIT library
TXM
Member attributes
last referenced BIM-EDIT member
TXS
Library/User Security
BIM-EDIT security record
TXU
User attribute variables.
BIM-EDIT user attributes
XTR
Extract variables
BIM-EDIT session/member status
The rest of this chapter is devoted to a detailed description of the predefined variables.
Each variable description provides the variable type (CHAR, NUM), the variable
length, whether the variable is "updateable" with the SET or SETD command, and a
Page 186
BIM-EDIT System Reference Manual
description of the variable. All predefined variables are of varying format, i.e., format
"V".
See the DECLARE command for an explanation of variable type, variable format, and
variable length.
Chapter 4. Predefined Variables
Page 187
Miscellaneous Variables
Miscellaneous Variables
The miscellaneous predefined variables are those which hold the PARMLIST for a
procedure or the command strings associated with the special keys.
Miscellaneous Variables
Page 188
CLEAR
command string for the CLEAR key (type=char, length=127,
updateable).
EMTER
command string for the ENTER key (type=char, length=127,
updateable). This value is only used if no data has been entered
anywhere on the screen, and the transmission was initiated by the
ENTER key.
PARMLIST
concatenated procedure parameter string (type=char, length=127,
updateable). Set when a procedure is invoked. Used as input to the
PARSE command. When procedures invoke other procedures, each
active procedure has its own PARMLIST variable.
PA1-PA3
command strings for the PA keys (type=char, length=127,
updateable).
PF1-PF24
command strings for
updateable).
PF1OPTPF24OPT
processing options for the PF keys (type=char, length=6,
updateable). Can be set to AFTER, BEFORE, IGNORE, ONLY. These
variables are undefined until their corresponding PFn variable has
been set to a non-blank value.
the
PF
keys
(type=char,
length=127,
BIM-EDIT System Reference Manual
JCT Variables (MVS Only)
JCT Variables (MVS Only)
JCT variables access the JES Job Control Table. The values of these variables describe a
JES job and are strongly related to the values of the JQE variables. "Last referenced JES
data sets" is another way of saying "the JES data sets currently indicated by the JCT,
JOE, JQE, and PDB variables".
Commands which access JES data sets, such as LISTP, use and set the JCT variables.
Each BIM-EDIT task has one set of JCT variables, which are initialized at logon and held
until logoff. The values of the JCT variables remain constant until changed by a
command that accesses JES data sets. This is the case even if events outside of BIMEDIT alter or delete JES data sets. To assure current information, a READP command
can be used to refresh the values of the JCT variables before use.
The following table describes the JCT variables.
JCT Variables
JCTACCTN
job accounting number (type=char, length=4, read-only). From
accounting information on JOB or NETACCT statements.
JCTBYTES
generated output bytes (type=num, length=8, read-only).
JCTCARDS
number of input lines (type=num, length=8, read-only).
JCTCLASS
execution job class (type=char, length=1, read-only). From CLASS
parameter on JOB statement. Can be changed by system operator.
JCTCPYCT
job print copy count (type=num, length=3, read-only). From COPIES
parameter on JOBPARM statement.
JCTESOUT
estimated output (lines plus cards) (type=num, length=8, read-only).
From accounting information on JOB statement or CARDS and
LINES parameters on JOBPARM statement.
JCTESTBY
estimated output bytes (type=num, length=8, read-only). From
BYTES parameter on JOBPARM statement.
JCTESTLN
estimated output lines (type=num, length=8, read-only). From
accounting information on JOB statement or LINES parameter on
JOBPARM statement.
JCTESTPG
estimated output pages (type=num, length=8, read-only). From
PAGES parameter on JOBPARM statement.
JCTESTPU
estimated output punch (type=num, length=8, read-only). From
accounting information of JOB statement or CARDS parameter on
JOBPARM statement.
JCTETIME
estimated execution time (type=num, length=8, read-only). From
accounting information on JOB statement or TIME parameter on
JOBPARM statement.
JCTEXSID
execution processor system ID (type=char, length=4, read-only).
From ROUTE XEQ statement.
Chapter 4. Predefined Variables
Page 189
JCT Variables (MVS Only)
Page 190
JCTFORMS
job output forms ID (type=char, length=8, read-only). From FORMS
parameter on JOBPARM statement.
JCTIOPRI
JES initial output selection priority (type=num, length=3, read-only).
From PRTY parameter on JOB statement or PRIORITY statement.
Can be changed by system operator.
JCTIPRIO
JES initial job selection priority (type=num, length=3, read-only).
From PRTY parameter on JOB statement or PRIORITY statement.
Can be changed by system operator or with ALTERP command.
JCTJCLAS
JES execution job class (type=char, length=1, read-only). From
CLASS parameter on JOB statement. Can be changed by system
operator.
JCTJNAME
job name label from JOB statement (type=char, length=8, read-only).
JCTLINCT
lines per page (type=num, length=3, read-only). From LINECT on
JOBPARM statement.
JCTLINES
generated output lines (type=num, length=8, read-only).
JCTMCLAS
MSGCLASS parameter from JOB statement (type=char, length=1,
read-only).
JCTODTON
date on output processor (type=char, length=8, read-only).
JCTODTN is in the format "mm/dd/yy" or the format "dd/mm/yy"
depending upon the value of MMPDTCTL, where "mm" is the
month (01-12), "dd" is the day (01-31) and "yy" is the year (01-99).
JCTOPRIO
JES output selection priority (type=num, length=3, read-only). From
PRTY parameter on JOB statement or PRIORITY statement.
JCTPAGES
generated output pages (type=num, length=8, read-only).
JCTPNAME
"programmer" name on JOB statement (type=char, length=20, readonly).
JCTPRIO
JES execution selection priority (type=num, length=3, read-only)
From PRTY parameter on JOB statement or PRIORITY statement.
JCTPUNCH
generated punched output (type=num, length=8, read-only).
JCTRDRON
time on input processor (type=char, length=8, read-only).
JCTRDRON is in the format "hh:mm:ss" where "hh" is hours (00-23),
"mm" is minutes (00-59), and "ss" is seconds (00-59).
JCTRDSID
input processor system ID (type=char, length=4, read-only).
JCTRDTON
date on input processor (type=num, length=8, read-only).
JCTRDTON is in the format "mm/dd/yy" or the format
"dd/mm/yy" depending upon the value of MMPDTCTL, where
"mm" is the month (01-12), "dd" is the day (01-31), and "yy" is the
year (01-99).
JCTRNODE
input processor node number (type=num, length=5, read-only).
BIM-EDIT System Reference Manual
JCT Variables (MVS Only)
JCTROOMN
"programmer" room number (type=char, length=4, read-only). From
accounting info on JOB statement or ROOM parameter on
JOBPARM statement.
JCTTSUID
timesharing user ID (type=char, length=7, read-only). From NOTIFY
parameter on JOB statement or NOTIFY statement.
JCTXDTOF
date off execution processor (type=char, length=8, read-only).
JCTXDTOF is in the format "mm/dd/yy" or the format
"dd/mm/yy" depending upon the value of MMPDTCTL, where
"mm" is the month (01-12), "dd" is the day (01-31), and "yy" is the
year (01-99).
JCTXDTON
date on execution processor (type=char, length=8, read-only).
JCTXDTON is in the format "mm/dd/yy" or the format
"dd/mm/yy" depending upon the value of MMPDTCTL, where
"mm" is the month (01-12), "dd" is the day (01-31), and "yy" is the
year (01-99).
JCTXEQOF
time off execution processor (type=char, length=8, read-only).
JCTXEQOF is in the format "hh:mm:ss" where "hh" is hours (00-23),
"mm" is minutes (00-59), and "ss" is seconds (00-59).
JCTXEQON
time on execution processor (type=char, length=8, read-only).
JCTXEQON is in the format "hh:mm:ss" where "hh" is hours (00-23),
"mm" is minutes (00-59), and "ss" is seconds (00-59).
JCTXOUT
generated output records (type=num, length=8, read-only).
Chapter 4. Predefined Variables
Page 191
JOE Variables (MVS Only)
JOE Variables (MVS Only)
JOE variables access the JES Job Output Element. JOE variables describe a JES output
group. "Last referenced JES data sets" is another way of saying "the JES data sets
currently indicated by the JCT, JOE, JQE, and PDB variables".
Commands which access JES data sets, such as LISTP, may use and set the JOE
variables. Each BIM-EDIT task has one set of JOE variables, which are initialized at
logon and held until logoff. The values of the JOE variables remain constant until
changed by a command that accesses JES data sets. This is the case even if events
outside of BIM-EDIT alter or delete JES data sets. To assure current information, a
READP command can be used to refresh the values of the JOE variables before use.
The following table describes the JOE variables.
JOE Variables
Page 192
JOECURCL
current sysout class for group (type=char, length=1, read-only).
From CLASS parameter on OUTPUT statement. Can be changed by
system operator or with ALTERP command.
JOEFCB
3211 Forms Control Buffer ID for group (type=char, length=4, readonly). From FCB parameter on DD or OUTPUT statements.
JOEFLASH
3800 forms flash overlay name for group (type=char, length=4, readonly). From FLASH parameter on DD or OUTPUT statements.
JOEFORM
output forms name for group (type=char, length=8, read-only). From
FORMS parameter on JOBPARM or OUTPUT statement.
JOEPGCT
total page count for group (type=num, length=8, read-only)
JOEPRIO
job priority for group (type=num, length=3, read-only). From PRTY
parameter on JOB statement or PRIORITY statement. Can be
changed by system operator or with ALTERP command.
JOERECCT
total record count for group (type=num, length=8, read-only)
JOERNODE
node number for group (type=num, length=4, read-only). From
ROUTE PRINT or ROUTE PUNCH statements.
JOEUCS
3211 Universal Character Set ID for group (type=char, length=4,
read-only). From UCS parameter on DD or OUTPUT statement.
JOEWPAGN
number of pages processed so far for group (type=num, length=8,
read-only).
JOEWRECN
number of records processed so far for group (type=num, length=8,
read-only).
JOEWTRID
data set external writer name for group (type=char, length=8, readonly). From SYSOUT parameter of DD statement or WRITER
parameter of OUTPUT statement.
BIM-EDIT System Reference Manual
JQE Variables (MVS Only)
JQE Variables (MVS Only)
JQE variables access the JES JOB Queue Entry. The values of JQE variables describe a
JES job and are strongly related to the JCT variables. "Last referenced JES data sets" is
another way of saying "the JES data sets currently indicated by the JCT, JOE, JQE, and
PDB variables".
Commands which access JES data sets, such as LISTP, use and set the JQE variables.
Each BIM-EDIT task has one set of JQE variables, which are initialized at logon and
held until logoff. The values of the JQE variables remain constant until changed by a
command that accesses JES data sets. This is the case even if events outside of BIMEDIT alter or delete JES data sets. To assure current information, a READP command
can be used to refresh the values of the JQE variables before use.
The following table describes the JQE variables.
JQE Variables
JQEJCLAS
JES job class (type=char, length=1, read-only). From the CLASS
parameter of the JOB statement.
JQEJNAME
JES job name (type=char, length=8, read-only). From job name label
of the JOB card.
JQEJOBNO
JES job number (type=num, length=5, read-only). Assigned by JES.
JQEPRNOD
node number (type=num, length=5, read-only). This may be input
node or execute node.
JQEPRIO
job priority (type=num, length=3, read-only). From PRTY parameter
on JOB statement or PRIORITY statement.
JQETYPEJ
JES job type (type=char, length=1, read-only). JQETYPEJ indicates
how the job was initiated, where "J" means normal initiation, S
means system started task, T means logged on TSO user.
Chapter 4. Predefined Variables
Page 193
MMP Variables
MMP Variables
MMP variables are the central controls for a BIM-EDIT system. All users of a BIM-EDIT
system share a single set of MMP variables.
Many of the MMP variables deal with BIM-EDIT's management of memory buffers.
BIM-EDIT manages buffers in 5 specific sizes: 16K, 4K, 1K, 256 bytes, and 64 bytes.
Memory management is discussed under "Managing Memory Utilization" in Chapter
10, Operations and Administration, of the BIM-EDIT System Reference Manual.
To update any of the updateable variables in this group, the user must have ADM
command access level.
The following table describes the MMP predefined variables.
MMP (System Memory Map) Variables
MMPAUCTL
audit control flag (type=char, length=1, updateable). Controls use of
the commands CHECKIN, AUDITCL and ALTER AUDIT=OFF. If
MMPAUCTL is "1", these commands are only valid to a user with
ADM command access level, otherwise any user with DEF access
level to the library containing a member may use the commands.
MMPBACKP
backup running flag (type=char, length=1, read-only). If
MMPBACKP is "1", there is a BIM-EDIT backup running and certain
commands are not allowed (for a list, see BACKUPG in HELP or
Chapter 8 of the BIM-EDIT System Reference Manual).
MMPBKDTE
date of last full logical backup (type=char, length=10, read-only).
MMPBKTME
time of last full logical backup (type=char, length=8, read-only).
MMPCNSLI
CONSOLEI COMMAND flag (type=char, length=1, updateable).
When set to zero console command capability is disabled. When set
to a value of 1 to 4 that level user and any user above that level is
allowed to enter console commands:
1
2
Page 194
USER level
EXTU level
3
4
OPER level
ADM level
MMPCPYBK
Copy Book Facility Flag (type=char, length=1, updateable). Set to '1'
to activate the Copy Book facility at BIM-EDIT startup
MMPDSCTL
display session control flag (type=char, length=1, updateable). If
MMPDSCTL has a value of "0", DISP sessions cannot be updated. If
MMPDSCTL is "1", they are updateable but auditing is not on. If
MMPDSCTL is "2", DISP sessions are updateable and audited.
MMPDSIZE
POWER DBLK size (VSE only, type=num, length=7, read only)
MMPDTCTL
date format control flag (type=char, length=1, updateable). If
MMPDTCTL is "U", U.S.A format (MM/DD/YYYY) is used to
display dates. If MMPDTCTL is "I", International format
(DD/MM/YYYY) is used.
BIM-EDIT System Reference Manual
MMP Variables
MMPEXTNM
Extended name control (type=char, length=1, updateable). This
option is used to control the separator character and parsing rules
that BIM-EDIT uses to distinguish a library name from a member
name as specified in all BIM-EDIT commands. The following values
can be set:
0
This is the default. In this mode, either a '.' or a '\' can be used as
a separator between the library name and the member name.
Member names cannot contain periods.
1
In this mode, you can define member names that contain
periods, but you then must use the '\' separator between the
library name and member name to access such members. In this
mode, any value entered for a command containing a period,
but no '\' will be assumed to be in lib.mem format.
2
This mode requires the use of the '\' to separate the library name
and member name. All references to values without the '\' will
be assumed to be member names in the currently attached
library.
MMPICCTL
VSE ICCF control flag (type=char, length=1, updateable). If
MMPICCTL has a value of "1", access to the ICCF file is allowed. If
MMPICCTL has a value of "0", access to the ICCF file is not allowed.
MMPICCTL is provided to prevent attempting to access the ICCF
files when they are not defined to the BIM-EDIT partition. This type
of access would abend BIM-EDIT. MMPICCTL has meaning only on
VSE.
MMPKSIDP
number of 4K buffers used for the key sequence index (type=num,
length=5, read-only).
MMPKSRDP
Number of Key Sequence Data records (type=num, length=7, readonly) Each BIM-EDIT library, each member, etc. constitutes a key seq
data record member.
MMPLDUSG
number of 16K buffers used for BIM-EDIT code on VSE (type=num,
length=5, read-only). MMPLDUSG has meaning only on VSE.
MMPLGEXP
LOGON expiry value (type=char, length=1, updateable). Specifies
the number of LOGON attempts a user will be allowed before the
user record is disabled. MMPLGEXP may have a value of 0 to 9. A
value of "0" means that the number of LOGON attempts is
unlimited.
MMPLGTYP
logon type control flag (type=char, length=1, updateable). If
MMPLGTYP has a value of "F", the user id and password can be
entered when the BIM-EDIT task is initiated. If MMPLGTYP has a
value of "S", the user id and password are entered through a
formatted screen with a non-display field for the password.
MMPLGTYP has meaning only when a BIM-EDIT task is initiated
using a CICS transaction or a VTAM logon with data specified.
MMPMPLDP
number of 4K buffers allocated (type=num, length=5, read-only).
Chapter 4. Predefined Variables
Page 195
MMP Variables
MMPMPLUS
number of 4K buffers in use (type=num, length=5, read-only).
MMPMPMDP
number of 1K buffers allocated (type=num, length=5, read-only).
MMPMPMUS
number of 1K buffers in use (type=num, length=5, read-only).
MMPMPSDP
number of 256 byte buffers allocated (type=num, length=5, readonly).
MMPMPSUS
Number of 256 byte buffers in use (type=num, length=5, read-only).
MMPMVTRL
MVT Release level
0
Not an MVT System
147 MVT 9.3 or below
148 MVT 9.4 and above
(type=num, length=3, read-only)
MMPMXGRP
maximum number of groups users will default to. (type=num,
length=1, read-only). Max value is 9.
MMPMXSES
maximum number of sessions users will default to. (type=num
length=2, read-only). Max value is 99.
MMPNOTFY
JOB NTFY= control flag (type=char, length=1, updateable). Controls
the activation of the POWER NTFY= jobcard support.
"0" indicates that the support is not to be activated.
"1" indicates that the support is to be activated.
You must cycle BIM-EDIT to have this change take affect.
Limitations on use of the option:
you cannot use this feature if you run ICCF on the same VSE
machine. - you can only activate this option in one BIM-EDIT
system per VSE machine.
MMPOPREL
VSE operating system release (type=num, length=3, read-only).
MMPOPREL assumes one of the following values depending upon
the VSE operating system release:
43
44
45
53
54
57
59
60
VSE release 1.3
VSE release 1.3.5 (or Software Pursuits MVT)
VSE/SP release 2.1
VSE/ESA 1.1
VSE/ESA 1.3 and 1.4
VSE/ESA 2.1 and 2.2
VSE/ESA 2.3
VSE/ESA 2.4
MMPOPREL has meaning only for VSE.
MMPOPSYS
Page 196
operating system type (type=char, length=1, read-only). If
MMPOPSYS is "D", BIM-EDIT is running under VSE or MVT. If
MMPOPSYS is "M", BIM-EDIT is running under MVS.
BIM-EDIT System Reference Manual
MMP Variables
MMPPGCTL
purge control flag (type=char, length=1, updateable). If MMPPGCTL
has a value of "1", purge control is active (purged members are
copied to the $SIT.PURGE library). If MMPPGCTL has a value of "0",
purge control is not active. See "Purge Control" in Chapter 10 of the
BIM-EDIT System Reference Manual.
MMPPGSIZ
default number of lines to be printed per page (type=num, length=5,
updateable). MMPPGSIZ is set to 59 on the starter library, a value
appropriate for 6 lines per inch printing. The number of lines printed
per page is actually determined by the PPDPGSIZ predefined
variable. MMPPGSIZ provides the initial value that will be assigned
to PPDPGSIZ at logon.
MMPPWCTL
POWER or JES access control flag (type=char, length=1, updateable).
The use of this flag is determined by the BIXPWQA exit routine. See
Chapter 11, Customization, in the BIM-EDIT System Reference
Manual.
MMPPWRNM
POWER filename control flag (type=char, length=1, updateable). If
MMPPWRNM has a value of "1" IJQFILE and IJDFILE will be used
to access the POWER files. See "Installation and Maintenance" in
Chapter 9 of the BIM-EDIT System Reference Manual.
MMPQBKDP
POWER data buffers, number acquired at startup. Max number set
at MMPQBKSP. (VSE only, type=num, length=5, read only).
MMPQBKSP
POWER data buffers, number requested. (VSE only, type=num,
length=5, updateable). Number of large buffers, to try to allocate at
startup, as a POWER data buffer pool. The size of each is
MMPQBSZ. These buffers are only acquired if your POWER system
has a DBLK size greater than 12288.
MMPQBKSW
POWER data buffers, number swappable, (VSE only, type=num,
length=5, read only).
MMPQBSZ
POWER data buffer size, (VSE only, type=char, length=7, read only).
The size of each data buffer will be the POWER DLBK size
(MMPDSIZE) multiplied by 1.33 and then rounded up to the next
1K. These buffers are only used if the DBLK size is greater than
12288.
Chapter 4. Predefined Variables
Page 197
MMP Variables
MMPSECUR
external security interface control. (type=char, length=1,
updateable). MMPSECUR assumes one of the following values:
A
I
R
T
ACF2 is used to validate access.
BIM-EDIT validates access internally.
RACF is used to validate access.
TOP/SECRET is used to validate access.
BIM-EDIT checks external security for the 16 character VSE
sublibrary name, 44 character MVS PDS name or the 16 character
BIM-EDIT library name. It doesn't check the member name.
A change to MMPSECUR takes effect after restarting BIM-EDIT.
When changing to external security, take precautions in case an error
in security setup causes BIM-EDIT to reject your logon when you try
to correct the error.
MMPSPCTL
stamp control flag (type=char, length=1, updateable). Controls use
of the commands STAMPCL and ALTER STAMP=OFF. If
MMPSPCTL is "1", these commands are valid only to a user with
ADM command access level, otherwise any user with DEF access
level to the library containing a member may use the commands.
MMPSPHGL
stamp highlight flag. (type=char, length=1, updateable). If
MMPSPHGL has the value "0", stamped lines will not be
highlighted. If MMPSPHGL is "1", they will be highlighted.
MMPSPOOL
spooler type (type=char, length=1, read-only). If MMPSPOOL is "J",
BIM-EDIT is running with JES2. If MMPSPOOL is "P", BIM-EDIT is
running with POWER. If MMPSPOOL is "S", BIM-EDIT is running
with SPRI.
MMPSPREL
spooler release (type=num, length=3, read-only). Possible values:
On VSE, MMPSPREL assumes one of the following values:
18
33
34
35
POWER release 1.2
POWER release 2.1
POWER release 2.2
POWER release 2.3
65
81
97
100
POWER release 4.1
POWER release 5.1
POWER release 6.1
POWER release 6.4
On SPRI, MMPSPREL has no meaning.
On MVS, MMPSPREL assumes one of the following values:
19
33
34
49
51
Page 198
JES release 1.3
JES release 2.1
JES release 2.2
JES release 3.1
JES release 3.3
66
67
81
82
JES release 4.2
JES release 4.3
JES release 5.1
JES release 5.2
BIM-EDIT System Reference Manual
MMP Variables
MMPSTOIN
BIM-EDIT system task timeout value (type=num, length-4, update)
specified in seconds. minimum=120 maximum=9999. Initial value is
0. Set it to the desired timeout value for automatic logoff. Effective
for tasks waiting for input from CICS (XPCC) terminals or VTAM
terminals. A period of inactivity, exceeding the interval will result in
task termination and user logoff. A value of zero (0) seconds
inactivates the expire function.
MMPSYNAM
BIM-EDIT system name (type=char, length=8, read-only). The name
used internally to transfer requests and results between the user and
BIM-EDIT. Normally, this will be "BIMEDIT", but if more than one
copy of BIM-EDIT is running each must have a unique system name.
(See "Starting BIM-EDIT" in Chapter 10 of the BIM-EDIT System
Reference Manual.)
MMPSYREL
BIM-EDIT release (type=char, length=4, read-only). For example, a
value of "5.4A" would indicate release 5.4, revision A.
MMPSYSID
SYSTEM ID (type=char, length=1, updateable). Valid values are any
valid displayable character. This value will be displayed on the
command line prior to the '>' in place of the '='.
MMPTCPAP
TCP/IP APPL Name (type=char, length=8, updateable) used by
TCP/IP OCS version.
MMPTCPDP
TCP/IP Session Depth (type=num, length=5, read-only).
MMPTCPIA
TCP/IP Interface active (type=char, length=1, read-only).
'C'
'I'
'O'
MMPTCPIF
CONNECTIVITY SYSTEMS (VSE)
IBM (MVS)
OPEN CONNECT (VSE)
TCP/IP Interface (type=char, length=1, updateable).
'C'
'I'
'J'
'O'
CONNECTIVITY SYSTEMS (VSE)
IBM >= V3R2 (MVS)
IBM V3R1 (MVS)
OPEN CONNECT SYSTEMS (VSE)
MMPTCPJB
TCP/IP Job Name (type=char, length=8, updateable) used by MVS
TCP/IP.
MMPTCPLU
TCP/IP LU Name (type=char, length=8, updateable) used by
TCP/IP OCS version.
MMPTCPPI
TCP/IP Port Number in Use (type=num, length=5, read-only).
MMPTCPPT
TCP/IP Port Number (type=num, length=5, updateable).
MMPTCPSI
TCP/IP Partition ID (type=num, length=5, updateable). Used by
TCP/IP Connectivity Systems.
Chapter 4. Predefined Variables
Page 199
MMP Variables
MMPTCPST
TCP/IP Session Status (type=char, length=1, read-only).
'0'
'1'
'2'
Page 200
TCP/IP Interface Inactive
TCP/IP Interface Active
TCP/IP Interface Close in Prograss
MMPTPEXP
Temporary password expiry (type=num, length=4, updateable). The
value specifies the number of days, after creation, before a
temporary password will be purged during BIM-EDIT startup. If
this field is not set, the assumed default will be (7) days.
MMPVTCVD
LU 6.2 Conversation Depth (type=num, length=5, read-only). The
number of BIM-EDIT VTAM sessions that are currently handling an
LU 6.2 conversation. Each workstation that is logged on uses three
LU 6.2 conversations. The LU 6.2 version of the Batch Utility and
Application Interface each use one LU 6.2 conversation per currently
executing copy.
MMPVTSSD
VTAM Session Depth (type=num, length=5, read-only). The number
of VTAM sessions currently open by this BIM-EDIT system, not
including LU 6.2 sessions. Changes as interactive users, Batch Utility
executions, and Application Interface programs request to
communicate to BIM-EDIT through VTAM.
MMPVTSTS
VTAM interface status (type=char, length=1, read-only). If
MMPVTSTS is "0", the VTAM interface is inactive. If MMPVTSTS is
"1", the VTAM interface is active. If MMPVTSTS is "2", the VTAM
interface is in the process of closing.
MMP16KCU
number of 16K buffers that must be available before processing an
input message (type=num, length=5, updateable).
MMP16KDP
number of 16K buffers allocated (type=num, length=5, read-only).
MMP16KMU
maximum number of 16K buffers used since BIM-EDIT last started
(type=num, length=5, read-only).
MMP16KSP
number of 16K buffers to try to allocate at startup (type=num,
length=5, updateable).
MMP16KSW
number of 16K buffers available, including those areas that can be
"acquired" from waiting tasks (type=num, length=5, read-only).
MMP16KUS
number of 16K buffers in use (type=num, length=5, read-only).
MMP64BDP
number of 64 byte buffers allocated (type=num, length=5, readonly).
MMP64BUS
number of 64 byte buffers in use (type=num, length=5, read-only).
BIM-EDIT System Reference Manual
OPS Variables
OPS Variables
The OPS variables access operating system values. The following table describes these
variables.
OPS (Operating System) Variables
OPSDATE
the current date, as held by the operating system (type=char,
length=10, read-only). OPSDATE is either in the format
"mm/dd/yyyy" or the format "dd/mm/yyyy" depending upon the
value of MMPDTCTL, where "mm" is the month (01-12), "dd" is the
day (01-31), and "yyyy" is the year.
OPSTIME
the current time, as held by the operating system (type=char,
length=8, read-only). OPSTIME is in the format "hh:mm:ss" where
"hh" is the hour (00-23), "mm" is the minute (00-59), and "ss" is the
second (00-59).
Chapter 4. Predefined Variables
Page 201
PDB Variables (MVS Only)
PDB Variables (MVS Only)
PDB variables access the JES Partition Data Peripheral Block. This block describes an
individual JES data set. When BIM-EDIT accesses a group of JES data sets, it creates
artificial values in the PDB variables to describe the group. "Last referenced JES data
sets" is another way of saying "the JES data sets currently indicated by the JCT, JOE,
JQE, and PDB variables".
Commands which access JES data sets, such as LISTP, use and set the PDB variables.
Each BIM-EDIT task has one set of PDB variables, which are initialized at logon and
held until logoff. The values of the PDB variables remain constant until changed by a
command that accesses JES data sets. This is the case even if events outside of BIMEDIT alter or delete JES data sets. To assure current information, a READP command
can be used to refresh the values of the PDB variables before use.
The following table describes the PDB variables.
PDB Variables
Page 202
PDBBYTCT
actual byte count of data set (type=num, length=8, read-only).
PDBCLASS
output class of data set (type=char, length=1, read-only). From the
SYSOUT parameter of the DD statement or MSGCLASS parameter
of the JOB statement or the CLASS parameter of the OUTPUT
statement. Can be changed by system operator or with ALTERP
command.
PDBCOPYS
number of copies of data set (type=num, length=3, read-only). From
the COPIES parameter of the DD or OUTPUT statements.
PDBDDNAM
DD name of data set (type=char, length=8, read-only). From label of
the DD statement that created data set.
PDBDSID
data set identification for external JES reader/writer (type=char,
length=3, read-only). From WRITER parameter of OUTPUT
statement or the DSID parameter of DD statement.
PDBDSKEY
data set number (type=num, length=5, read-only). Unique number
assigned by JES. User data sets have numbers starting with 100.
PDBFCB
3211 Forms Control Buffer ID for data set (type=char, length=4,
read-only). From FCB parameter of DD or OUTPUT statement.
PDBFLASH
3800 forms flash overlay ID (type=char, length=4, read-only). From
FLASH parameter of DD or OUTPUT statement.
PDBFORMS
forms ID code for data set (type=char, length=8, read-only). From
FORMS parameter of OUTPUT statement.
PDBID
output group qualifier for data set (type=char, length=8, read-only).
First qualifier of outgroup name assigned by JES.
PDBLRECL
maximum logical record length in this data set (type=num, length=5,
read-only).
BIM-EDIT System Reference Manual
PDB Variables (MVS Only)
PDBNAME
output group name for data set (type=char, length=8, read-only).
Outgroup name prior to qualifier assigned by JES. From JES or on
GROUPID parameter of OUTPUT statement. See PDBID.
PDBPGCT
page count for this data set (type=num, length=8, read-only).
PDBPRIO
data set priority (type=num, length=3, read-only). From PRTY
parameter of JOB or OUTPUT statement. Can be changed by system
operator or with ALTERP command.
PDBRECCT
data set record count (type=num, length=8, read-only).
PDBSNAME
step name which produced data set (type=char, length=8, readonly). From label of EXEC statement.
PDBUCS
1403 or 3211 Universal Character Set ID (type=char, length=4, readonly). From UCS parameter of OUTPUT statement.
Chapter 4. Predefined Variables
Page 203
PPD Variables
PPD Variables
The PPD variables control the operation of a procedure or batch execution.
Since a procedure can invoke another procedure or a batch utility execution can invoke
a procedure, there can be more than one set of PPD variables active at a time for a user,
although only the set for the current procedure is visible. When a procedure is invoked,
a new set of PPD variables is initialized for that procedure. When a procedure ends, the
PPD variables revert to those for the invoking procedure. The updateable PPD variables
can be changed with the SET or SETD commands.
See BIM-EDIT System Reference Manual, Chapter 2, Writing Procedures, for a
discussion of using many of these variables.
The following table describes the PPD variables.
PPD (Procedure Processor Data) Variables
Page 204
PPDADJ
text-following adjustment flag (type=char, length=1, updateable). If
PPDADJ has a value of "1" or "2" (see note about INCLUDE at the
end of this table), certain lines presented to a command such as
SUBMITF will be "adjusted" by prefixing them with a not symbol
(¬). Lines which will be adjusted are those starting with the two
characters "/*", the two characters "/+", the two characters "/&", the
four characters "* $$", or the four characters "++/*". In addition, any
line already prefixed by either the PPDADJ or PPDSHIFT characters
("¬" or "..") will have an additional not symbol (¬) added to the
beginning of the line. If PPDADJ has a value of "0", adjustment will
not occur. PPDADJ is initialized to "0". This facility is provided to
convert member text lines which would not be acceptable as BIMEDIT SYSIN to an innocuous form. See PPDSHIFT for the inverse
function.
PPDALARM
MAPF audible alarm flag (type=char, length=1, updateable). If
PPDALARM has a value of "1", MAPF commands will sound the
terminal alarm (that is, beep) when they display. If PPDALARM has
a value of "0", the alarm will not be sounded. PPDALARM is
initialized to "0".
PPDBLKCT
BLOCK command nesting level count used for indexing to the
appropriate BLOCK location. BLOCK increments the value,
ENDBLOCK decrements the value. (type=num, length=5, read only)
PPDCOL
column at which variable value matched a search (type=num,
length=3, read-only). Initialized to zero. Changed by a successful
VEXAMINE command.
BIM-EDIT System Reference Manual
PPD Variables
PPDCOND
conditional execution flag (type=char, length=1, updateable). If
PPDCOND has a value of "0", execution of the procedure will be
terminated if a command results in a non-OK return code. If
PPDCOND has a value of "1", execution will be terminated if a
command is rejected (typically for breaking syntax rules), but
otherwise control is returned to the procedure. If PPDCOND has a
value of "2", control will always be returned to the procedure; if a
command would normally be rejected, its return code will be "SV".
PPDCOND is initialized to "0".
If PPDCOND is 1 or 2, it is up to the commands which follow the
command returning the code to check the SIBRETCD value and act
accordingly. If execution of the procedure is terminated due to a
non-OK return code or reject when PDCOND is 0 or 1, the error
message associated with the error code will be displayed.
PPDCSFLD
name of MAPF field to receive cursor (type=char, length=8,
updateable). If the value of PPDCSFLD is not the name of a variable
attached to an updateable field, MAPF will place the cursor at the
upper-leftmost field. Initialized to blanks.
PPDHEX
text-following hex flag (type=char, length=1, updateable). If
PPDHEX has a value of "1" or "2" (see note about INCLUDE at the
end of this table), hex translation will occur on lines encountered in a
procedure, including commands and lines processed by a textfollowing command. If the PPDHEXC character is found in a line,
and if the following two characters are valid hex digits, the three
characters are converted to the single character having that
hexadecimal representation. If PPDHEX has a value of "0", hex
translation will not occur. PPDHEX is initialized to "0". This feature
is provided to simplify handling of characters which do not have
keyboard representations. See "Hexadecimal Display and Editing" in
Chapter 6 of the BIM-EDIT User Reference Manual. See also
SIBHEXC for hex translation on the command line. If the hex
character or string contains invalid characters (i.e. space, comma,
single or double quotes, etc.) the entire string must be enclosed
within single or double quotes.
PPDHEXC
text-following hex escape character (type=char, length=1,
updateable). PPDHEXC is initialized to "@". See PPDHEX.
PPDIFTCT
IFTHEN command nesting level count used for indexing to the
appropriate ENDIF location. IFTHEN increments the value, ENDIF
decrements the value (type=num, length=5, read only)
PPDINCL
text-following include flag (type=char, length=1, updateable). If
PPDINCL has a value of "1" or "2" (see note about INCLUDE at the
end of this table), lines beginning with /INCL or )INCL will be
treated as INCLUDE commands if they are presented to a command
such as SUBMITF. If PPDINCL has a value of "0", /INCL and )INCL
will be treated as normal text. PPDINCL is initialized to "0".
Chapter 4. Predefined Variables
Page 205
PPD Variables
Page 206
PPDKEY
MAPF transmission key (type=char, length=5, read-only). PPDKEY
is set by a MAPF command to indicate the key which was hit to
transmit the screen. It will be "ENTER", "CLEAR", "PF1" through
"PF24", or "PA1" through "PA3".
PPDLITDL
primary literal delimiter character (type=char, length=1,
updateable). Indicates whether apostrophe (') or quote mark (") is the
character which will be doubled during value replacement. That is,
PPDLITDL modifies the operation of PPDLITEX. Only has effect
when set to apostrophe (') or quote mark ("). Initialized to
apostrophe.
PPDLITEX
literal delimiter expansion control (type=char, length=1,
updateable). Indicates how the PPDLITDL character will be
expanded when a variable value containing it is replaced into a line.
If PPDLITEX is set to "0", no expansion takes place. If PPDLITEX is
set to "1", all instances are doubled. If PPDLITEX is set to "2", all
instances are quadrupled. Initialized to "0".
PPDLPCTR
GOTO and GOSUB loop counter (type=num, length=8, updateable).
See the PPDLPLMT description.
PPDLPLMT
GOTO and GOSUB loop limit (type=num, length=8, updateable). If a
GOTO command which references a LABEL before it in the
procedure is encountered, PPDLPCTR is incremented, then
compared with PPDLPLMT. If PPDLPCTR is greater than
PPDLPLMT, the procedure is terminated. This facility is provided to
prevent accidental infinite loops. PPDLPLMT is initialized to 1000.
PPDMSGF
MAPF message flag (type=char, length=1, read-only). PPDMSGF is
set by a MAPF command to indicate whether any data was entered.
If PPDMSGF has a value of "1", some data was entered. If PPDMSGF
has a value of "0", no data was entered. PPDMSGF is also set to "0"
when CLEAR or a PA key is pressed.
PPDOVBAS
text-following overlay column base (type=num, length=3,
updateable). PPDOVBAS is used in conjunction with PPDOVLMT
and PPDOVSTR. Each line presented to a command such as
SUBMITF will be overlayed by the string held in PPDOVSTR at the
column range specified by PPDOVBAS and PPDOVLMT.
PPDOVBAS and PPDOVLMT should specify a column range no
wider than 8 columns. Overlay occurs only if a valid column range is
specified. PPDOVBAS and PPDOVLMT are initialized to 0, thus
inhibiting overlay processing. PPDOVSTR is initialized to blanks.
PPDOVLMT
text-following overlay column
updateable). See PPDOVBAS.
PPDOVSTR
text-following overlay string (type=char, length=8, updateable). See
PPDOVBAS.
limit
(type=num,
length=3,
BIM-EDIT System Reference Manual
PPD Variables
PPDPFOPT
Performance Option. Set to '1' to activate. Duplicate labels may not
be used when choosing this option. This option can have significant
reduction in procedure run time in procs executing frequent GOTO
commands.
PPDPGSIZ
printed page size (type=num, length=5, updateable). When running
BIM-EDIT in batch utility, a skip to top of page occurs when the
current line number exceeds PPDPGSIZ. PPDPGSIZ is initialized to
the value of MMPPGSIZ.
PPDPRLIB
library name of current procedure (type=char, length=16, read-only).
PPDPRMEM
member name of current procedure (type=char, length=16, readonly).
PPDSCRSZ
MAPF screen size (type=char, length=1, updateable). If PPDSCRSZ
has a value of "D", the default screen size will be used for MAPF. If it
has a value of "A", the alternate screen size will be used. The size of
"default" and "alternate" can be obtained from SIBSCADP,
SIBSCAWD, SIBSCDDP and SIBSCDWD. PPDSCRSZ is initialized to
the value of SIBSCRSZ.
PPDSHIFT
text-following shift flag (type=char, length=1, updateable). If
PPDSHIFT has a value of "1" or "2" (see note about INCLUDE at the
end of this table), certain lines presented to a command such as
SUBMITF will be shifted left. Lines with a not symbol (¬) in column
1 will be shifted left one position, thus deleting the not symbol. Lines
with two periods (..) in columns 1 through 2 will be shifted left two
positions, thus deleting the two periods. PPDSHIFT is initialized to
"0". See PPDADJ for the inverse function.
PPDSPCOL
text-following stamp overlay column (type=num, length=3,
updateable). PPDSPCOL is used in conjunction with PPDSPFMT.
Each line presented to a command such as SUBMITF will be
overlayed by member stamp information at the column specified by
PPDSPCOL. This feature is provided to allow member stamps to be
printed or otherwise processed. The stamp values are not altered.
Stamp overlay occurs only if a valid column and format is specified.
PPDSPCOL is initialized to 0, thus inhibiting stamp overlay.
Chapter 4. Predefined Variables
Page 207
PPD Variables
PPDSPFMT
text-following stamp overlay format (type=char, length=1,
updateable). PPDSPFMT is used in conjunction with PPDSPCOL.
Stamp information is formatted as follows, depending upon the
value of PPDSPFMT and upon the value of MMPDTCTL:
PPDSPFMT
1
2
3
4
5
6
MMPDTCTL="U"
MMPDTCTL="I"
mmddt
mmyyt
uuuut
t,mm/dd/yyyy,uuuu
mmddyyt
mddyuuuu
ddmmt
mmyyt
uuuut
t,dd/mm/yyyy,uuuu
ddmmyyt
ddmyuuuu
where:
dd
m
= day of update
= month of update
(A=October, B=November, C=December)
mm = month of update
y
= year of update, last digit only
yy
= year of update
yyyy = year of update
t
= type of update (A=add, M=modify)
uuuu = first four characters of user id
Stamp overlay occurs only if a valid column and format is specified.
PPDSPFMT is initialized to "0", thus inhibiting stamp overlay.
Page 208
PPDSUBCT
GOSUB command nesting level count. Used for RETURN command
indexing to the appropriate return location from the GOSUB
performed subroutine. GOSUB increments the value, RETURN
decrements the value. (type=num, length=5, read-only)
PPDTRAP
text-following trap flag (type=char, length=1, updateable). If
PPDTRAP has a value of "1" or "2" (see note about INCLUDE at the
end of this table), lines presented to a command such as SUBMITF
will be processed as commands if they begin with the right
parentheses ")". If PPDTRAP has a value of "0", lines beginning with
right parentheses will be treated as normal text. PPDTRAP is
initialized to "0".
PPDTRACE
procedure trace flag (type=char, length=1, updateable). If
PPDTRACE has a value of "1" every LABEL command will cause a
diagnostic message to be written to $LOG. The message will contain
the procedure library and member being executed as well as the
name of the label.
BIM-EDIT System Reference Manual
PPD Variables
PPDUTLOG
batch utility input log flag (type=char, length=1, updateable).
Controls input logging of a Batch Utility execution. "Primary output
destination" is the printer if utility is getting its input from batch and
is the console if utility is getting its input from the console.
PPDUTLOG can assume one of the following values:
0
Input data and success messages not logged. Error messages
logged to primary output destination.
1
Input data, success messages, and error messages logged to
primary output destination.
The following are for special situations:
2
Input data and success messages not logged. Error messages
logged to primary output destination and console.
3
Input data, success messages, and error messages logged to
primary output destination and console.
Note that when PPDCOND is not "0", an error message will be
output like a success message. PPDUTLOG is initialized to "1", so
input is normally printed. To avoid printing input, set PPDUTLOG
to "0" immediately after the LOGON command.
PPDVBBAS
starting column for variable replacement (type=num, length=3,
updateable). See description of PPDVBL. PPDVBBAS is initialized to
1.
PPDVBL
variable replacement flag (type=char, length=1, updateable). If
PPDVBL has a value of "1" or "2" (see note about INCLUDE at the
end of this table), &VARNAME will be replaced by the value of
variable VARNAME (if VARNAME is a valid variable name and
&VARNAME occurs between the PPDVBBAS column and the
PPDVBLMT column) when it is encountered in a procedure. If
PPDVBL has a value of "0", variable replacement will not occur.
PPDVBL is initialized to "0".
PPDVBLMT
ending column for variable replacement (type=num, length=3,
updateable). See description of PPDVBL. PPDVBLMT is initialized
to 253.
Special Processing for INCLUDE Commands
In addition to procedure call nesting, INCLUDE command nesting also may take place
within a procedure. INCLUDE nesting and procedure invocation nesting are
completely independent of each other. To provide some control over INCLUDE
commands, note that PPDADJ, PPDHEX, PPDINCL, PPDSHIFT, PPDTRAP, and
PPDVBL have special properties in conjunction with the INCLUDE command:
1.
When an INCLUDE command is processed, the values of these predefined
variables are saved for later restoration when the included text has been completely
processed. Thus, if the included text sets any of these variables, the new value has
no effect outside the scope of the included text.
Chapter 4. Predefined Variables
Page 209
PPD Variables
2.
If one of these predefined variables has a value of "2" when the INCLUDE
command is encountered, a value of "0" is assigned to the variable before starting to
process the included text. (After the included text is processed, the original value of
"2" is restored). For all values other than "2", variables are not updated. For
example, this feature allows you to include the text of a member, but not process
INCLUDEs found within the included text. By assigning a value of "2" to PPDINCL,
the original INCLUDE is processed, but INCLUDEs found within the included text
will simply be treated as text.
Input Modifications made by Text-Following Commands
The "text-following" commands AUDITF, CONSOLEF, DISPLAYF, INSERTF, LOGF,
MAPF, OUTPUTF, PRINTF, PUNCHF, REPROF, STACKF, and SUBMITF modify the
lines that they process based on special character strings and the value of some PPD
predefined variables. The effects of each PPD variable are described above. Below is a
reference table of all the modifications made, organized by the type of line it affects:
1.
Lines beginning with a not symbol (¬). If the predefined variable PPDSHIFT has a
value of "1" or "2", lines with a not symbol (¬) in column 1 will be shifted left one
position, thus deleting the not symbol. This feature (and the "two period" feature
described next) are useful for inputting lines in the batch utility which begin with
sequences not allowed by JCL (such as "/*"). They may also be used to input a line
starting with the end-of-text sequence "++/*".
2.
Lines beginning with two periods (..). If the predefined variable PPDSHIFT has a
value of "1" or "2", lines with two periods (..) in columns 1 through 2 will be shifted
left two positions, thus deleting the two periods.
3.
Lines beginning with right parentheses ")". If the predefined variable PPDTRAP has
a value of "1" or "2", lines with right parentheses ()) in column 1 will be treated as
BIM-EDIT commands.
4.
Lines beginning with the four characters ++(). If input is from an "80 column
source" (SYSIPT, TAPE, or the operating system console), lines with the four
characters "++()" in columns 1 through 4 will be treated as though they were
generated by the AUDITRP, PUNCHF, or REPROF command. That is, four
successive ++() input lines will be combined to produce a single result line of up to
253 characters. The lines are assumed to contain the following:
Input
Input
Input
Input
line
line
line
line
1:
2:
3:
4:
++()Columns
++()Columns
++()Columns
++()Columns
1-64
65-128
129-192
193-253
of
of
of
of
Result
Result
Result
Result
line
line
line
line
This feature is provided to transfer long BIM-EDIT member lines using 80 column
media. This translation is not under control of a PPD variable.
5.
Page 210
Lines beginning with "/*", "/+", "/&", "* $$", or "++/*". If the predefined variable
PPDADJ has a value of "1" or "2", lines with the two characters "/*", the two
characters "/+", the two characters "/&", the four characters "* $$", or the four
characters "++/*" starting in column 1 will be shifted one character to the right and
prefixed with a not symbol (¬).
BIM-EDIT System Reference Manual
PPD Variables
6.
Lines beginning with /INCL. If the predefined variable PPDINCL has a value of "1"
or "2", lines which begin with /INCL will be interpreted as INCLUDE commands.
7.
Lines containing the PPDHEXC character (originally "@") followed by two
hexadecimal digits. If the predefined variable PPDHEX has a value of "1" or "2", the
three characters will be replaced by the single character whose hexadecimal
representation is given by the two digits.
8.
All lines. If the predefined variable PPDSPCOL has a value which is a valid column
number and the predefined variable PPDSPFMT has a value which is a valid stamp
format, all lines will be overlayed with "member stamp" information in column
PPDSPFMT using format PPDSPFMT.
9.
All lines. If the predefined variables PPDOVBAS and PPDOVLMT have values
which are valid column numbers, all lines will be overlayed with the value of
PPDOVSTR in columns PPDOVBAS through PPDOVLMT.
Chapter 4. Predefined Variables
Page 211
PWR Variables (VSE Only)
PWR Variables (VSE Only)
PWR variables access the attributes of a POWER job entry. "Last referenced POWER job
entry" is another way of saying "the POWER job entry currently indicated by the PWR
variables".
Commands which access POWER job entries, such as LISTP, use and set the PWR
variables. Each BIM-EDIT task has one set of PWR variables, which are initialized at
logon and held until logoff. The values of the PWR variables remain constant until
changed by a command that accesses a POWER job entry. This is the case even if events
outside of BIM-EDIT alter or delete the POWER job entry. To assure current
information, a READP command can be used to refresh the values of the PWR variables
before use.
The following table describes the PWR variables.
PWR (POWER Job Entry Record) Variables
Page 212
PWRCLASS
class (type=char, length=1, read-only). If PWRQUEUE is R, from
CLASS operand of * $$ JOB statement. If PWRQUEUE is L, from
CLASS operand of * $$ LST statement. If PWRQUEUE is P, from
CLASS operand of * $$ PUN statement. If PWRQUEUE is X, from
the CLASS operand as indicated by PWRTYPE. Can be changed by
system operator and with the ALTERP command.
PWRCOPY
number of copies (type=num, length=3, read-only). From COPY
operand of * $$ LST or * $$ PUN statement. Can be changed by the
system operator and with the ALTERP command.
PWRCTLD
number of records, data and control (type=num, length=6, readonly).
PWRDATE
date created (type=char, length=8, read-only). PWRDATE is
formatted as either "mm/dd/yy" or "dd/mm/yy" depending upon
your site's operating system options, where "mm" is the month (0112), "dd" is the day (01-31), and "yy" is the year (01-99).
PWRDISP
disposition code (type=char, length=1, read-only). From the DISP
operand of the * $$ JOB, LST, or PUN statement. Can be changed by
the system operator and with the ALTERP command.
PWRDSNOD
destination node (type=char, length=8, read-only). From the XDEST,
LDEST, or PDEST operands of the * $$ JOB statement or the DEST
operand of the * $$ LST or PUN statement. Can be changed by the
system operator and with the ALTERP command.
PWRDSUSR
destination user (type=char, length=8, read-only). From the XDEST,
LDEST, or PDEST operands of the * $$ JOB statement or the DEST
operand of the * $$ LST or PUN statement. Can be changed by the
system operator and with the ALTERP command.
BIM-EDIT System Reference Manual
PWR Variables (VSE Only)
PWRFORM
forms identifier (type=char, length=4, read-only). From the FNO
operand of the * $$ LST or PUN statement. Can be changed by the
system operator and with the ALTERP command.
PWRJNAME
job name (type=char, length=8, read-only). From JNM operand of *
$$ JOB statement.
PWRJNUM
job number (type=num, length=5, read-only). Unique number
assigned by POWER.
PWRJSEP
number of job separator pages (type=num , length=1, read-only).
From the JSEP operand of the * $$ LST or PUN statement.
PWRORNOD
originating node (type=char, length=8, read-only). Supplied by
POWER, site specific.
PWRORUSR
originating user (type=char, length=8, read-only). Supplied by
POWER, site specific.
PWRPAGE
number of pages (type=num, length=5, read-only).
PWRPRTY
priority (type=char, length=1, read-only). From PRI operand of * $$
JOB, LST, or PUN statements. Can be changed by the system
operator and with the ALTERP command.
PWRQRLC
number of records, data only (type=num, length=6, read-only).
PWRQUEUE
POWER queue (type=char, length=1, read-only). PWRQUEUE
assumes one of the following values:
L
X
list queue
XMT queue
P
punch queue
R
reader queue
PWRSEGMT
segment number (type=num, length=3, read-only). Assigned by
POWER when output is segmented.
PWRSEQNU
SPRI Sequence Number for this element (type=num , length=5, readonly). Meaningful only when running under SPRI.
PWRSYSID
system ID (type=char, length=1, read-only). From SYSID operand of
* $$ JOB, LST, or PUN statements. Can be changed by the system
operator or with the ALTERP command.
PWRTYPE
POWER job entry type (type=char, length=1 read-only). PWRTYPE
assumes one of the following values:
L
list type
P
punch type
R
reader type
PWRTYPE differs from PWRQUEUE only for XMT queue entries.
PWRUSER
Chapter 4. Predefined Variables
user info (type=char, length=16, read-only). From USER operand of *
$$ JOB, LST, or PUN statements. Can be changed by the system
operator and with the ALTERP command.
Page 213
SIB Variables
SIB Variables
The SIB variables control a BIM-EDIT task. Each active task (online user, workstation
user, batch utility execution, or application interface execution) has its own set of SIB
variables. SIB values are initialized at logon from a disk copy for the logon user (some
variables in the disk copy are accessible to other users as the TXU variables). Updates to
SIB variables are saved to the disk copy of SIB, but only for online users and
workstation users. Updateable SIB variables can be changed with the SET, SETD, and
SETL commands.
The following table describes the SIB variables.
SIB (System Interface Block) Variables
Page 214
SIBATTR
Usage is site-defined (type=char, length=8, read-only). Initialized to
the value of TXUATTR for the logon user.
SIBCMPR
Screen transmission compression flag (type=char, length=1,
updateable). If SIBCMPR has a value of "0", transmission is not
compressed. If SIBCMPR has a value of "1", repeated characters are
coded in a compressed format before they are sent to the terminal. If
SIBCMPR has a value of "2", in addition only the portions of the
screen image which differ from the previous image are sent. Setting
SIBCMPR to "2" can eliminate 50% of the screen traffic but each
online task with SIBCMPR set to "2" requires 4K extra BIM-EDIT
memory. Initialized to the value last set by the logon user. When a
user is defined, SIBCMPR is assigned a value of "1".
SIBCSCOL
column position of cursor when user transmitted current screen
(type=num, length=3, read-only). Far left of screen is column 1.
BIM-EDIT System Reference Manual
SIB Variables
SIBCSCTL
extended cursor control flag (type=char, length=1, updateable). A
value of zero to 6 is valid and has the following meaning:
0
Cursor always returns to command line.
1
Cursor returns to first column of first line added. Otherwise,
cursor returns to command line.
2
Cursor returns to first column of first line added, or cursor
returns to LCA of first line updated. Otherwise, cursor returns to
LCA of previously deleted line.
3
Cursor returns to first column of first line added or, if text area is
updated, cursor returns to its input location. Otherwise, cursor
returns to command line.
4
Cursor returns to first column of first line added or, if text area is
updated, cursor returns to its input location. Otherwise, cursor
returns to LCA of previously deleted line.
5
Cursor returns to first column of first line added or, if text area is
updated, cursor returns to column 1 of line that cursor was on
when ENTER was hit. Otherwise, cursor returns to command
line.
6
Cursor returns to first column of first line added or, if text area is
updated, cursor returns to column 1 of line that cursor was on
when ENTER was hit. Otherwise, cursor returns to LCA of
previously deleted line.
SIBCSROW
row position of cursor when user transmitted current screen
(type=num, length=3, read-only). Top of screen is row 1.
SIBDATE
task start date (type=char, length=10, read-only). SIBDATE is held in
the format "mm/dd/yyyy" or the format "dd/mm/yyyy"
depending upon the value of MMPDTCTL.
SIBDFLCA
default LCA location (type=char, length=1, updateable). Used to
initialize SSDLCA when a new session is started. Initialized to the
value last set by the logon user. SIBDFLCA can have the value "L",
indicating the LCA displays on the left side of the screen, or "R",
indicating the LCA displays on the right side of the screen. When a
user is defined, SIBDFLCA is assigned a value of "L".
SIBDIALG
task dialog type (type=char, length=1, updateable). Indicates how
this task communicates to the BIM-EDIT system.
A
T
= Application Interface
= Terminal
U = Batch Utility
W = Workstation
SIBDT1
message data #1 (type=char, length=36, read-only). Used for
replacement in error messages. Set by each command. See
$SYS.CTRL.MESSAGES for examples of use.
SIBDT2
message data #2 (type=char, length=36, read-only). See SIBDT1.
Chapter 4. Predefined Variables
Page 215
SIB Variables
SIBGRPCC
current number of groups in use. (type=num, length=1, read-only).
SIBGRPCR
current active group (type=num, length=1, read-only).
SIBGRPMX
max groups allowed for this user (type=num, length=1, read-only).
SIBGRP0x
letter value for each group number (type=char, length=1, readonly). If SIBGRP0x has a value, the user is autherized to use this
group. SIBGRP0x occurs 9 times, once for each possible group.
SIBGRPSx
number of active sessions in each group (type=num, length=2, readonly). SIBGRPSx occurs 9 times, once for each possible group.
SIBHEXC
command line hex escape character (type=char, length=1,
updateable). Command line hex translation is activated when
SIBHEXC contains a non-blank value. See Chapter 6, Advanced
Techniques, in BIM-EDIT User Reference Manual. See also PPDHEX
for hex translation in a procedure. Initialized to the value last set by
the logon user. When a user is defined, SIBHEXC is set to blank.
SIBHMLB
the current home library (type=char, length=16, read-only).
Initialized to the value last set by the logon user. Can be changed by
the ATTACH command.
SIBHMLBD
current home VSE sublibrary or MVS PDS (type=char, length=16 for
VSE, length=44 for MVS, read-only). Initialized to the value last set
by the logon user. Can be changed by the ATTACHD command.
SIBLCCAS
last search command case (type=char, length=1, read-only). Set to
the value of the CASE operand by the search commands EXAMINE,
FIND, FINDUP, LOCATE, LOCATEU, NFIND, NFINDUP,
QUALIFY, and SCAN. If CASE is not specified when STR is
specified, SIBLCCAS is set to null. SIBLCCAS is inherited for the
value of the CASE operand by these same search commands when
neither STR or CASE is entered. If the inherited value is null,
SSDCASE is used by the command. Initialized to the value last set
by the logon user.
This variable is provided to allow easy re-execution of searches in
different ways without having to re-enter the operands.
Page 216
SIBLCCOL
last search command column (type=num, length=3, read-only). Like
SIBLCCAS, but relates to COL operand of search command.
SIBLCSTR
last search command pattern (type=char, length=72, read-only). Set
to the value of the STR operand by the search commands EXAMINE,
FIND, FINDUP, LOCATE, LOCATEU, NFIND, NFINDUP,
QUALIFY, and SCAN. If STR is not specified, used as value of STR
operand by these same search commands. Initialized to the value
last set by the logon user. See also SIBLCCAS.
SIBLCZON
last search command zone (type=char, length=7, read-only). Like
SIBLCCAS, but relates to ZONE operand of search command.
BIM-EDIT System Reference Manual
SIB Variables
SIBLEVEL
procedure nesting level (type=num, length=5, read-only). Initialized
to zero for both online and batch utility BIM-EDIT.
SIBLGLMT
$LOG limit (type=num, length=6, read-only). Specifies the
maximum number of lines that may exist in $LOG at any time. After
this point has been reached, for every line added at the end of $LOG,
a line from the top of $LOG is deleted. Initialized to the value of
TXULGLMT for the logon user.
SIBLGSIZ
number of lines in $LOG (type=num, length=6, read-only). Increases
due to user commands until SIBLGSIZ equals SIBLGLMT.
SIBLIB
the current library (type=char, length=16, read-only). Initialized to
the value last set by the logon user. Can be changed by the ATTACH
command.
SIBLIBD
current VSE sublibrary or MVS PDS (type=char, length=16 for VSE,
length=44 for MVS, read-only). Initialized to the value last set by the
logon user. Can be changed by the ATTACHD command.
SIBLNUM
current line number in print output (type=num, length=4,
updateable). SIBLNUM is incremented before printing each line.
Initialized to zero.
SIBLSCDP
logical screen depth (type=num, length=2, read-only). If SIBLSCDP
has a value of 1, there is one logical screen displayed. If SIBLSCDP
has a value of 2, there are two logical screens displayed. Initialized
to 1. Can be changed by SPLIT option of SCREEN command.
SIBLSPDS
last referenced VSE sublibrary member or MVS PDS member
(type=char, length=33 for VSE, length=52 for MVS, read-only). The
value is split at a fixed position between the sublibrary or PDS name
and the member name. On VSE, sublibrary name is in positions 1-16
and memname.type is in positions 17-33. On MVS, PDS name is in
positions 1-44 and member name is in positions 45-52. Changes due
to commands that reference VSE sublibrary members or MVS PDS
members. Used as default by these commands when a member
name is not specified. Initialized to the value last set by the logon
user.
SIBMLLMT
$MAIL limit (type=num, length=6, read-only). Specifies the
maximum number of lines that may exist in $MAIL at any time.
After this point has been reached, for every line added at the end of
$MAIL, a line from the top of $MAIL is deleted. Initialized to the
value of TXUMLLMT for the logon user.
SIBMLQDP
number of messages in incoming-mail queue (type=num, length=5,
read-only). Changes as a result of receiving and opening mail.
SIBMLSIZ
number of lines in mail log (type=num, length=6, read-only).
Increases as a result of mail commands until SIBMLSIZ equals
SIBMLLMT.
Chapter 4. Predefined Variables
Page 217
SIB Variables
SIBMLUSR
mail user id (type=char, length=8, read-only). SIBMLUSR is the user
for which mail is being processed. SIBMLUSR is equal to SIBUSER
unless the user is acting as a proxy for another user Initialized to the
value last set by the logon user. Can be changed with the ATTACHX
command.
SIBMSG
return message (type=char, length=80, read-only). When a command
returns a non-OK SIBRETCD, it also sets SIBMSG to describe the
error.
SIBNTFY
contains the job completion notification option to be used by the
SUBMITF command. (type=char, length=8, updateable). This field is
automatically set by the SUBMIT command using the data from its
NTFY operand. It is cleared after each job submission. Procedures
can set this field prior to each SUBMITF:
SIBOUTPT
YES
Send completion message to the user submitting the job.
NO
Don't send any completion message (default)
xxxxxxxx
Send completion message to BIM-EDIT user xxxxxxxx.
output destination (type=char, length=1, updateable). The
OUTPUTF command directs output to the SIBOUTPT destination as
follows:
A
D
I
K
L
N
application interface
display session
insertion into session
$STACK
$LOG
system console
P
R
S
T
U
printer
tape
submission to POWER or JES
insertion into audit
punch
For batch utility jobs, SIBOUTPT also determines where output from
display-type commands such as LIBRARY will be directed. When
used for this purpose, SIBOUTPT must be set to one of the following
values:
D display session
N system console
P
printer
When BIM-EDIT is used online, output from display-type
commands is always directed to a display session, and SIBOUTPT is
initialized to "D".
On VSE, for batch utility jobs, SIBOUTPT is initialized to "P" if the
first UPSI bit is off, and initialized to "N" if the first UPSI bit is on.
On MVS, for batch utility jobs, SIBOUTPT is initialized to "P".
Page 218
SIBPAGE
current page number in print output (type=num, length=4,
updateable). SIBPAGE is incremented before printing each page
heading. Initialized to zero.
SIBPDPSW
temporary password created by PEND command (type=char,
length=8, read-only).
BIM-EDIT System Reference Manual
SIB Variables
SIBPSWD
permanent password (type=char, length=8, read-only). Will be blank
if user executing command does not have ADM command access.
Can be changed with PASSWORD command.
SIBPPSWD
temporary member password used by INCLUDE, PRINT, PUNCH,
SUBMIT, PROCESS and SEND (type=char, length=8, updateable).
The password can be viewed by users with ADM security access
level. This field will be blank if user executing command does not
have ADM command access.
SIBRCBYT
number of bytes received from this terminal since logon (type=num,
length=8 read-only). Meaningful only for online tasks.
SIBRCTRM
number of transmissions received from this terminal since logon
(type=num, length=8 read-only). Meaningful only for online tasks.
SIBRESP
command response (type=char, length=82, read-only). SIBRESP is an
alias for the combined value of SIBRETCD and SIBMSG. SIBRESP is
useful in a procedure to store the complete command response for
subsequent testing or use.
SIBRETCD
command return code (type=char, length=2, read-only). All
commands except IF and IFD set SIBRETCD. Successful commands
set SIBRETCD to "OK". Each command description provides a list of
any non-OK codes returned. The special value "SV" is returned by a
command which is rejected due to syntax errors when PPDCOND
has a value of 2. "SV" is not documented on each command.
SIBRETCD is provided to allow testing for successful execution
within a procedure when PPDCOND is not 0. Since all commands,
except IF and IFD set SIBRETCD, it may be necessary to store the
value of SIBRETCD to a temporary variable to implement some
procedures.
SIBSCADP
number lines on screen, alternate mode (type=num, length=5, readonly). Determined from the terminal control entry for this terminal.
Meaningful only for online tasks.
SIBSCAWD
number columns on screen, alternate mode (type=num, length=5,
read-only). Determined from the terminal control entry for this
terminal. Meaningful only for online tasks.
SIBSCDDP
number lines on screen, default mode (type=num, length=5, readonly). Determined from the terminal control entry for this terminal.
Meaningful only for online tasks.
SIBSCDWD
number columns on screen, default mode (type=num, length=5,
read-only). Determined from the terminal control entry for this
terminal. Meaningful only for online tasks.
Chapter 4. Predefined Variables
Page 219
SIB Variables
Page 220
SIBSCRBx
beginning line numbers of the screens (type=num, length=3, readonly). SIBSCRB0 is line number of the top of the physical screen,
SIBSCRB1 is the number of lines preceding the information line of
the first logical screen, and SIBSCRB2 is the number of lines
preceding the information line of the second logical screen. If not in
split screen mode, SIBSCRB2 will be zero. Changes as a result of the
use of the SCREEN command.
SIBSCRDx
line number depths of the screens (type=num, length=3, read-only).
SIBSCRD0 is the number of lines in the physical screen, SIBSCRD1 is
the number of lines in the first logical screen including the command
line, and SIBSCRD2 is the number of lines in the second logical
screen including the divider line. If not in split screen mode,
SIBSCRD2 will be zero. Changes as a result of the use of the
SCREEN command.
SIBSCRLx
limit line numbers for the screens (type=num, length=3, read-only).
SIBSCRL0 is line number of the bottom of the physical screen,
SIBSCRL1 is the line number of the bottom of the first logical screen,
and SIBSCRL2 is the line number of the bottom of the second logical
screen. If not in split screen mode, SIBSCRL2 will be zero. Changes
as a result of the use of the SCREEN command.
SIBSCRPM
primary logical screen number (type=num, length=1, read-only).
When in split-screen mode, SIBSCRPM has a value of 1 if the upper
logical screen is primary and has a value of 2 if the lower logical
screen is primary. When out of split-screen mode, SIBSCRPM has a
value of 1. Initialized to 1.
SIBSCRSZ
initial screen size (type=char, length=1, read-only). If SIBSCRSZ has
a value of "D", new sessions and procedures will be created with the
default screen size. If SIBSCRSZ has a value of "A", new sessions and
procedures will be created with the alternate screen size. Initialized
to the value last set by the logon user. Can be changed with the ALT
mode of the SCREEN command when at the no-session display.
SIBSCRWD
current screen width (type=num, length=3, read-only). The width of
the screen in columns. Can be changed with the ALT mode of the
SCREEN command.
SIBSDBYT
number of bytes sent to this terminal since logon (type=num,
length=8 read-only). Useful to determine the impact of SIBCMPR
compression. Meaningful only for online tasks.
SIBSDTRM
number of transmissions sent to this terminal since logon
(type=num, length=8 read-only). Useful to determine the impact of
SIBCMPR compression. Meaningful only for online tasks.
BIM-EDIT System Reference Manual
SIB Variables
SIBSECAT
attached user/library security level (type=char, length=1, read-only).
The value of SIBSECAT ranges from "0" to "6" as follows:
0
1
2
3
NULL level
EXEC level
LIST level
EDIT level
4
5
6
DEF level
DEFL level
DEFS level
Initialized to the value of TXSSEC for SIBLIB and the logon user. See
"Library Security" in Chapter 10 of the BIM-EDIT System Reference
Manual.
SIBSECCM
command security level (type=char, length=1, read-only). The value
of SIBSECCM ranges from "1" to "4" as follows:
1
2
USER level
EXTU level
3
4
OPER level
ADM level
Initialized to the value of TXUSECCM for the logon user. If a
command's use is restricted, it is noted in the command description.
SIBSECLB
system-wide library security level (type=char, length=1, read-only).
The value of SIBSECLB ranges from "0" to "6" as follows:
0
1
2
3
NULL level
EXEC level
LIST level
EDIT level
4
5
6
DEF level
DEFL level
DEFS level
Initialized to the value of TXUSECLB for the logon user. See "Library
Security" in Chapter 10 of the BIM-EDIT System Reference Manual.
SIBSECPD
security level for user and attached VSE sublibrary or MVS PDS
(type=char, length=1, read-only). The value of SIBSECPD ranges
from "1" to "6" as follows:
1
2
3
EXEC level
LIST level
EDIT level
4
5
6
DEF level
DEFL level
DEFS level
Initialized to the value of TXSSEC for SIBLIBD and the logon user.
See "Library Security" in Chapter 10 of the BIM-EDIT System
Reference Manual.
SIBSECPW
POWER or JES security level (type=char, length=1, read-only). The
function of SIBSECPW is determined by your site's BIXPWQA exit
routine. Initialized to the value of TXUSECPW for the logon user.
See Chapter 11, Customization, in the BIM-EDIT System Reference
Manual.
SIBSESSD
number of active sessions in current group (type=num, length=2,
read-only). Changes as a result of creating and terminating sessions.
SIBSESSU
total number of sessions in use by all groups (type=num, length=2,
read-only). Changes as a result of creating and terminating sessions.
Chapter 4. Predefined Variables
Page 221
SIB Variables
SIBSIGNL
SNA ATTN flag (type=char, length=1, updateable). Indicates the
ATTN key has been pressed (on a terminal under control of SNA). If
SIBSIGNL is "1", ATTN has been pressed. If SIBSIGNL is "0", ATTN
has not been pressed. SIBSIGNL is set to "0" at the start of a search
command and at the start of a first level procedure.
This variable is provided to allow writing a long-running procedure
so that the user can interrupt it.
Page 222
SIBSSDMX
max sessions user is allowed (type=num, length=2, read-only).
SIBSSNU1
current session number, upper (or only) logical screen (type=num,
length=1, read-only). Initialized to the value last set by the logon
user. Changes as a result of creating, terminating, and rotating
among sessions.
SIBSSNU2
current session number, lower logical screen (type=num, length=1,
read-only). See SIBSSNU1.
SIBSTSIZ
number of lines in $STACK (type=num, length=6, read-only).
Changes as a result of editing.
SIBSZLMT
size limit (type=num, length=6, read-only). Specifies the maximum
number of lines allowed in an EDIT session or in $STACK.
Initialized to the value of TXUSZLMT for the logon user.
SIBTABC
logical tab character (type=char, length=1, updateable). See BIMEDIT User Reference Manual, Chapter 6, Advanced Techniques for
an explanation of "Logical Tabbing". Initialized to the value last set
by the logon user. When a user is defined, SIBTABC is set to blank.
SIBTEST
test indicator (type=char, length=1, updateable). Available for use
for the duration of a task to indicate special processing. (For
example, to cause procedures to take special actions during testing.)
Not changed or used by BIM-EDIT itself. Initialized to hexadecimal
00 at logon.
SIBTIME
task start time (type=char, length=8, read-only). SIBTIME is held in
the format "hh:mm:ss" where "hh" is the hour (00-23), "mm" is the
minute (00-59), and "ss" is the second (00-59).
SIBTLDLG
task VTAM dialog type (type=char, length=1, read-only). If
SIBTLGLG has the value "N", the dialog is native VTAM. If
SIBTLDLG has the value "L", the dialog is LU 6.2. SIBTLDLG has
meaning only if the value of SIBTLLNK is "V".
BIM-EDIT System Reference Manual
SIB Variables
SIBTLINT
task interface (type=char, length=1, read-only). SIBTLINT can have
the following values, indicating how the task is communicating with
BIM-EDIT:
A
C
T
Application Interface
CICS or BTAM Interface
TSO Interface
U
V
Batch Utility Interface
VTAM Interface
In new procedures, use SIBDIALG and SIBTLMNT instead of
SIBTLINT.
SIBTLLNK
task communications link (type=char, length=1, read-only). If
SIBTLLNK has a value of "V", the task is communicating from BIMEDIT through VTAM. If SIBTLLNK has a value of "X", the task is
communicating from BIM-EDIT through an XPCC interface.
SIBTLMNT
task communications monitor (type=char, length=1, read-only). If
SIBTLMNT has a value of "C", the communications monitor is CICS
or BTAM. If SIBTLMNT has a value of "T", the communications
monitor is TSO. The value of SIBTLMNT has meaning only if the
value of SIBDIALG is "T" and the value of SIBTLLNK is "X".
SIBTLMTR
task environment (type=char, length=1, read-only). If SIBTLMTR has
a value of "C", the task is running under an online monitor such as
CICS. If SIBTLMTR has a value of "N", the task is running in batch. If
SIBTLMTR has a value of "A", the task is communicating with BIMEDIT through the application interface. If SIBTLMTR has a value of
"L", the task is communicating with BIM-EDIT through an LU 6.2
interface in a workstation dialog. In new procedures, use SIBDIALG,
SIBTLLNK and SIBTLDLG instead of SIBTLINT.
SIBTRMID
terminal ID (type=char, length=8, read-only). If this is a batch utility
task, SIBTRMID will have a value of "$BAT". If this is an application
interface task, SIBTRMID will have a value of "$APL".
SIBUSER
user ID (type=char, length=8, read-only).
Chapter 4. Predefined Variables
Page 223
SSD Variables
SSD Variables
The SSD variables control a session. A set of SSD variables is initialized when a session
is started and is held until the session is ended. Only the set for the current session is
visible.
The SSD variables for the upper and lower logical screens refer to the upper and lower
screens of the session, which only correspond to the logical screens of the display if the
same session is displayed in both. If two different sessions are displayed, the SSD
variables are those for the session displayed on the primary logical screen. The value of
variable SIBSCRPM can be used to form variable names to reference the logical screen
that is currently primary.
The following table describes the SSD variables.
SSD (Session Control Data) Variables
Page 224
SSDAUBS1
current line number for audit trail display, upper (or only) logical
screen (type=num, length=6, read-only). Initialized to zero for EDIT,
LIST or DISP sessions, unpredictable for others. Changes as a result of
repositioning in audit display.
SSDAUBS2
current line number for audit trail display, lower logical screen
(type=num, length=6, read-only). See SSDAUBS1.
SSDAUBY
number bytes in audit trail (type=num, length=8, read-only).
Initialized from TXMAUBY for EDIT and LIST sessions, to zero for
DISP sessions. Changes as a result of editing if AUDIT is on.
SSDAUCI
number 4K blocks in audit trail (type=num, length=5, read-only).
Initialized from TXMAUCI for EDIT and LIST sessions, to zero for
DISP session. Changes as a result of editing if AUDIT is on.
SSDAUDIT
audit flag (type=char, length=1, read-only). If SSDAUDIT has a value
of "1", auditing is on. If SSDAUDIT has a value of "0", auditing is off.
Initialized from TXMAUDIT for EDIT and LIST sessions, "1" for DISP
sessions, "0" for all others. Can be changed by ALTERing member and
restarting session.
SSDAULN
number lines in audit trail (type=num, length=6, read-only).
Initialized from TXMAULN for EDIT and LIST sessions, to zero for
DISP sessions. Changes as a result of editing if AUDIT is on.
SSDBASE1
current line number for text display, upper (or only) logical screen
(type=num, length=6, read-only). Initialized to zero. Changes as a
result of repositioning in the text display.
SSDBASE2
current line number for text display, lower logical screen (type=num,
length=6, read-only). Initialized to zero. Changes as a result of
repositioning in the text display.
BIM-EDIT System Reference Manual
SSD Variables
SSDBEFSP
number of display lines before current line (type=num, length=2,
read-only). Initialized to zero. Can be changed with the BEF mode of
the SCREEN command.
SSDCASE
case (type=char, length=1, read-only). If SSDCASE has a value of "U",
new or modified lines are translated to upper case. If SSDCASE has a
value of "M", translation does not occur. Initialized from TXMCASE
for EDIT and LIST sessions, to "U" for LISTP and some DISP sessions,
"M" for all others. Can be changed with the SESS command.
SSDCOL1
most recent search column, upper (or only) logical screen (type=num,
length=3, read-only). Initialized to zero. Changes as a result of using
the EXAMINE, FIND, FINDUP, LOCATE, LOCATEU, NFIND, and
NFINDUP commands.
SSDCOL2
most recent search column, lower logical screen (type=num,
length=3, read-only). Initialized to zero. Changes as a result of using
the EXAMINE, FIND, FINDUP, LOCATE, LOCATEU, NFIND, and
NFINDUP commands.
SSDCSCOL
column position to which cursor is to be positioned (type=num,
length=3, updateable). Positioning is relative to the text area of the
display. The far left of text area is column 1.
SSDCSOPT
cursor option. When set to a value of 'P' causes the screen send
routine to use the column (SSDCSCOL) and row (SSDCSROW) values
to position the cursor when a procedure completes or terminates
(type=char, length=1, updateable).
SSDCSROW
row position to which cursor is to be positioned (type=num,
length=3, updateable). Position is relative to the text area of the
display. The top row of the text area is row 1.
SSDDATAF
VSE sublibrary data flag (type=char, length=1, read-only). If
SSDDATAF has a value of "0", the VSE member was defined with
DATA=NO. If SSDDATAF has a value of "1", the VSE member was
defined with DATA=YES. If session type is not EDITD or LISTD
value is unpredictable. Not changeable.
SSDDISP1
text/audit flag, upper (or only) logical screen (type=char, length=1,
read-only). If SSDDISP1 has a value of "T", text is displayed. If
SSDDISP1 has a value of "A", the audit trail is displayed. Initialized to
"T". Can be changed with AUDIT option of the SCREEN command
for EDIT, LIST, and DISP sessions.
SSDDISP2
text/audit flag, lower logical screen (type=char, length=1, read-only).
If SSDDISP2 has a value of "T", text is displayed. If SSDDISP2 has a
value of "A", the audit trail is displayed. Initialized to "T". Can be
changed with AUDIT option of the SCREEN command for EDIT,
LIST, and DISP sessions.
SSDEOD
the EOD characters associated with the VSE member currently being
edited or listed (type=char, length=2, read-only).
Chapter 4. Predefined Variables
Page 225
SSD Variables
Page 226
SSDFCOL
find column (type=num, length=3, read-only). SSDFCOL is the
column in which FIND, FINDUP, NFIND, and NFINDUP commands
will by default search. Initialized to TXMFCOL for EDIT and LIST
sessions, to TXMFCOL from the template member for the member
type for EDITD and LISTD sessions, 1 for all others. Can be changed
with FCOL operand of the SESS command.
SSDHEX
hex flag (type=char, length=1, read-only). If SSDHEX has a value of
"1", text is displayed in hex mode. If SSDHEX has a value of "0", text
is displayed in normal graphic mode. Initialized to "0". Can be
changed with HEX option of the SCREEN command.
SSDLCA
LCA flag (type=char, length=1, read-only). If SSDLCA has a value of
"L", the LCA area is on the left-hand side of the screen. If SSDLCA has
a value of "R", the LCA area is on the right-hand side of the screen. If
SSDLCA has a value of "0", the LCA area is not present. Initialized
from SIBDFLCA, unless the command, such as HELP, suppresses
LCA. Can be changed with LCA option of the SCREEN command.
SSDLIB
library name of member being edited/listed (type-char, length=16,
read-only). Initialized from TXMLIB for EDIT or LIST sessions, from
MEM operand for LIBRARY displays, unpredictable for all others.
Not changeable.
SSDLIBD
library name of VSE sublibrary or MVS PDS member being
edited/listed (type=char, length=16 for VSE, length=44 for MVS,
read-only). Initialized for EDITD, LISTD, and LIBRARYD sessions,
unpredictable for all others. Not changeable.
SSDMEM
name of member being edited/listed (type=char, length=16, readonly). Initialized from TXMMEM for EDIT or LIST sessions, from
MEM operand for LIBRARY displays, unpredictable for all others.
Not changeable.
SSDMEMD
name of VSE sublibrary or MVS PDS member being edited/listed
(type=char, length=17 for VSE, length=8 for MVS, read-only).
Initialized for EDITD, LISTD, and LIBRARYD sessions, unpredictable
for all others. Not changeable.
SSDNULL
nulls flag (type=char, length=1, read-only). If SSDNULL has a value
of "1", trailing blanks are replaced with nulls. If SSDNULL has a value
of "0", trailing blanks are not replaced. Initialized from TXMNULLS
for EDIT or LIST sessions, from TXMNULLS of the template member
of the member type for EDITD or LISTD sessions, "1" for all others.
Can be changed with the NULLS operand of the SESS command.
SSDOBJ
object of session (type=char, length=46, read-only). This field is
displayed on the first 46 characters of the information line. Initialized
by command that started session. Not changeable.
BIM-EDIT System Reference Manual
SSD Variables
SSDSCRSZ
current session screen size (type=char, length=1, read-only). It
contains "D", for default screen size, or "A" for alternate screen size.
The size of "default" and "alternate" can be obtained from SIBSCADP,
SIBSCAWD, SIBSCDDP and SIBSCDWD. SSDSCRSZ is initialized to
the value of SIBSCRSZ. Can be changed with the ALT mode of the
SCREEN command.
SSDSEQBS
starting column for RESEQ command (type=num, length=3, readonly). Initialized from TXMSEQBS for EDIT or LIST sessions, from
TXMSEQBS for the template member of the member type for EDITD
and LISTD sessions, zero for all others. Can be changed with the SEQ
operand of the SESS command.
SSDSEQLM
ending column for RESEQ command (type=num, length=3, readonly). Initialized from TXMSEQLM for EDIT or LIST sessions, from
TXMSEQLM for the template member of the member type for EDITD
and LISTD sessions, zero for all others. Can be changed with the SEQ
operand of the SESS command.
SSDSTAMP
stamp flag (type=char, length=1, read-only). If SSDSTAMP has a
value of "1", stamping is on. If SSDSTAMP has a value of "0",
stamping is off. Initialized from TXMSTAMP for EDIT or LIST
sessions, zero for all others. Can be changed by ALTERing member
and restarting session.
SSDSZBY
number of bytes in text portion of session (type=num, length=8, readonly). Initialized from TXMSZBY for EDIT or LIST sessions, by
command for all others. Changes as a result of editing.
SSDSZCI
number 4K blocks in text portion of session (type=num, length=5,
read-only). Initialized from TXMSZCI for EDIT or LIST sessions, by
command for all others. Changes as a result of editing.
SSDSZLN
number of lines in text portion of session (type=num, length=6, readonly). Initialized from TXMSZLN for EDIT or LIST sessions, by
command for all others. Changes as a result of editing.
SSDTCLnn
tab column positions -- a set of 12 fields where "nn" equals 01 through
12. SSDTCL01 is the first tab column, SSDTCL02 the second, and so
on (type=num, length=3, read-only). SSDTDPTH specifies the
number of SSDTCLnn fields that have been set. Of those that have
been set, they assume a value between 1 and 253. SSDTCLnn values
are in ascending order. Initialized from TXMTCLnn for EDIT or LIST
sessions, from TXMTCLnn of template member for member type for
EDITD or LISTD sessions, null for all others. Can be changed with the
TCOL operand of the SESS command.
SSDTDPTH
number of tab columns specified (type=num, length=2, read-only).
SSDTDPTH assumes a value of 0 through 12. Initialized from
TXMTDPTH for EDIT or LIST sessions, from TXMTDPTH of the
template member for member type for EDITD or LISTD sessions, 0
for all others. Can be changed with the TCOL operand of the SESS
command.
Chapter 4. Predefined Variables
Page 227
SSD Variables
SSDTYPE
session type (type=char, length=2, read-only). SSDTYPE assumes the
following values:
DI
ED
EE
LD
LG
DISP session
EDIT session
EDITD session
LISTD session
LIST session of $LOG
LI
LP
ML
ST
LIST session of member
or MAIL session of message
LISTP session
LIST session of $MAIL
LIST session of $STACK
Initialized by command which started session. Not changeable.
Page 228
SSDTYPEM
type of member being edited/listed (type=char, length=8, read-only).
Initialized from TXMTYPE for EDIT or LIST sessions, from VSE
sublibrary member type or PDS type (last part of name) for EDITD or
LISTD sessions, null for all others. Can be changed for EDIT or LIST
sessions by ALTERing member and restarting session, not changeable
for other types.
SSDUPD
update flag (type=char, length=1, read-only). If the text of an EDIT
session has been updated, SSDUPD has a value of "1", otherwise it
has a value of "0". Initialized to "0". Changes as a result of editing.
SSDVBSE1
view column start, upper (or only) logical screen (type=num,
length=3, read-only). Initialized to 1. Can be changed with the VIEW
command.
SSDVBSE2
view column start, lower logical screen (type=num, length=3, readonly). Initialized to 1. Can be changed with the VIEW command.
SSDZONBS
starting column for zone (type=num, length=3, read-only).
SSDZONBS to SSDZONLM is the column range in which commands
like CENTER, LOCATE and CHANGE operate by default. Initialized
to TXMZONBS for EDIT or LIST sessions, to TXMZONBS from
template member for member type for EDITD or LISTD sessions, 1
for all others. Can be changed with the ZONE operand of the SESS
command.
SSDZONLM
ending column for zone (type=num, length=3, read-only).
SSDZONBS to SSDZONLM is the column range in which commands
like CENTER, LOCATE and CHANGE operate by default. Initialized
to TXMZONLM for EDIT and LIST sessions, to TXMZONLM from
template member for member type for EDITD or LISTD sessions, 124
for all others. Can be changed with the ZONE operand of the SESS
command.
BIM-EDIT System Reference Manual
TXL Variables
TXL Variables
TXL variables are the attributes of a BIM-EDIT library.
Commands which access libraries, such as ATTACH or READL, set the TXL variables.
Each BIM-EDIT task has one set of TXL variables, which are initialized at logon and
held until logoff. The values of the TXL variables remain constant until changed by a
command that accesses a library specifically.
The following table describes the TXL variables.
TXL (Library Record) Variables
TXLDTCRE
date library created (type=char, length=10, read-only). TXLDTCRE is
held either in the format "mm/dd/yyyy" or the format
"dd/mm/yyyy" depending upon the value of MMPDTCTL. Set by
DEFINEL command.
TXLLIB
library name (type=char, length=16, updateable).
TXLTITLE
title, comment, or brief description of library (type=char, length=40,
read-only). Can be changed with the TITLE operand of the
DEFINEL, ALTERL, or FALTERL commands.
TXLTMCRE
time library created (type=char, length=8, read-only). TXLTMCRE is
held in the format "hh:mm:ss", where: "hh" is the hour (00-23), "mm"
is the minute (00-59), and "ss" is the second (00-59). Set by DEFINEL
command.
TXLUSER
user ID associated with library (type=char, length=8, read-only). Can
be changed with the USER operand of the DEFINEL, ALTERL, or
FALTERL commands.
Chapter 4. Predefined Variables
Page 229
TXM Variables
TXM Variables
TXM variables are the attributes of a BIM-EDIT member. "Last referenced member" is
another way of saying "the member currently indicated by the TXM variables". The
attributes of the member are used to initialize many of the SSD variable values when an
EDIT or LIST session is started.
Commands which access members, such as ALTER, BROWSE, EDIT, LIST, or READ,
use and set the TXM variables. Each BIM-EDIT task has one set of TXM variables, which
are initialized at logon and held until logoff. The values of the TXM variables remain
constant until changed by a command that accesses a member by name or a command
such as END or ROTATE, which accesses a member implicitly.
The following table describes the TXM variables.
TXM (Member Record) Variables
Page 230
TXMATTR
Usage is site-defined (type=char, length=8, read-only). TXMATTR is
often used within a COMPILE procedure to specify the nature of the
compile, e.g., whether the output is to be link-edited, or cataloged
without link editing. Can be changed with ATTR operand of
DEFINE, ALTER, or FALTER commands.
TXMAUBY
number of audit bytes (type=num, length=8, read-only). Set to
SSDAUBY when EDIT session is saved.
TXMAUCI
number of 4096 byte blocks used by audit trail (type=num, length=5,
read-only). Set to SSDAUCI when EDIT session is saved.
TXMAUDIT
session audit flag (type=char, length=1, read-only). Used to initialize
SSDAUDIT when EDIT or LIST session is created Can be changed
with AUDIT operand of DEFINE, ALTER, or FALTER commands.
TXMAULN
number of audit lines (type=num, length=6, read-only). Set to
SSDAULN when EDIT session is saved.
TXMCASE
session case flag (type=char, length=1, read-only). Used to initialize
SSDCASE when EDIT or LIST session is created. Can be changed
with CASE operand of DEFINE, ALTER, or FALTER commands.
TXMCHECK
checkout status (type=char, length=1, read-only). TXMCHECK has a
value of "1" if the member is under checkout control as either a real
or potential master. It has a value of "2" if it is the slave member in
such a relationship. It has a value of "0", it is not under checkout
control. Can be changed with CHECK operand of DEFINE, ALTER,
or FALTER commands.
TXMCKDTE
date member checked out (type=char, length=10, read-only).
TXMCKDTE is held either in the format "mm/dd/yyyy" or the
format "dd/mm/yyyy" depending upon the value of MMPDTCTL.
TXMCKDTE will be "00/00/0000" if member is not checked out.
Changes due to CHECKOUT, CHECKIN, and CHECKPUR
commands.
BIM-EDIT System Reference Manual
TXM Variables
TXMCKLIB
library where associated member in a checkout relationship is held
(type=char, length=16, read-only). If the current member is the
master in the checkout relationship, TXMCKLIB is the slave member
library. If the current member is the slave in the checkout
relationship, TXMCKLIB is the master member library. TXMCKLIB
will be null if member is not checked out. Changes as a result of
CHECKOUT, CHECKIN, and CHECKPUR commands.
TXMCKTME
time member checked out (type=char, length=8, read-only).
TXMCKTME is held in the format "hh:mm:ss", where: "hh" is the
hour (00-23), "mm" is the minute (00-59), and "ss" is the second (0059). Changes as a result of CHECKOUT, CHECKIN, and
CHECKPUR.
TXMCKUSR
user member is checked out to (type=char, length=8, read-only).
TXMCKUSER will be null if member is not checked out. Changes as
a result of CHECKOUT, CHECKIN, and CHECKPUR commands.
TXMDTCRE
date member created (type=char, length=10, read-only).
TXMDTCRE is held either in the format "mm/dd/yyyy" or the
format "dd/mm/yyyy" depending upon the value of MMPDTCTL.
Set by DEFINE command.
TXMDTUPD
date member last updated (type=char, length=10, read-only).
TXMDTUPD is held either in the format "mm/dd/yyyy" or the
format "dd/mm/yyyy" depending upon the value of MMPDTCTL.
Set when EDIT session is saved.
TXMFCOL
session find column (type=num, length=3, read-only). Used to
initialize SSDFCOL when EDIT or LIST session is created. Can be
changed with FCOL operand of DEFINE, ALTER, or FALTER
commands.
TXMLDEF
Usage is site-defined (type=char, length=8, read-only). Typically,
TXMLDEF is used in conjunction with a COMPILE procedure.
TXMLDEF might be used to construct the name of a member that
contains appropriate LIBDEF JCL cards. Can be changed with
LIBDEF operand of DEFINE, ALTER, or FALTER commands.
TXMLIB
library name
TXMPATH.
TXMMEM
member name (type=char, length=16, updateable). See also
TXMPATH.
TXMNULLS
session nulls flag (type=char, length=1, read-only). Used to initialize
SSDNULL when EDIT or LIST session is created. Can be changed
with NULLS operand of DEFINE, ALTER, or FALTER commands.
TXMPATH
library and member name (type=char, length=33, read-only). This
field returns the values contained in TXMLIB and TXMMEM with
the '\' separator between them. See MMPEXTNM.
Chapter 4. Predefined Variables
(type=char,
length=16,
updateable).
See
also
Page 231
TXM Variables
Page 232
TXMPSWD
password (type=char, length=8, read-only). This field contains the
password of a password protected member. Password can be
viewed by users with ADM security access level. This field will be
blank if user executing command does not have ADM command
access.
TXMSEQBS
session sequence number column base (type=num, length=3, readonly). Used to initialize SSDSEQBS when EDIT or LIST session is
created. Can be changed with SEQ operand of DEFINE, ALTER, or
FALTER commands.
TXMSEQLM
session sequence number column limit (type=num, length=3, readonly). Used to initialize SSDSEQLM when EDIT or LIST session is
created. Can be changed with SEQ operand of DEFINE, ALTER, or
FALTER commands.
TXMSTAMP
session stamp flag (type=char, length=1, read-only). Used to intialize
SSDSTAMP when EDIT or LIST session is created. Can be changed
with STAMP operand of DEFINE, ALTER, or FALTER commands.
TXMSZBY
number of text bytes (type=num, length=8, read-only). Set to
SSDSZBY when EDIT session is saved.
TXMSZCI
number of 4096 byte text blocks (type=num, length=5, read-only).
TXMSZLN
number of text lines (type=num, length=6, read-only). Set to
SSDSZLN when EDIT session is saved.
TXMTCLnn
session tab columns -- a set of 12 fields where "nn" equals 01 through
12 (type=num, length=3, read-only). Used to initialize SSDTCLnn
when EDIT or LIST session is created. TXMTDPTH specifies the
number of TXMTCLnn fields that have been set. Of those that have
been set, they have a value between 1 and 253. TXMTCLnn values
are in ascending order. Can be changed with TCOL operand of
DEFINE, ALTER, or FALTER commands.
TXMTDPTH
number of session tab columns specified (type=num, length=2, readonly). Used to initialize SSDTDPTH when an EDIT or LIST session is
created. TXMTDPTH has a value of 0 through 12. Can be changed
with TCOL operand of DEFINE, ALTER, or FALTER commands.
TXMTITLE
title, comment, or brief description of member (type=char,
length=40, read-only). Can be changed with TITLE operand of
DEFINE, ALTER, or FALTER commands.
TXMTMCRE
time member created (type=char, length=8, read-only). TXMTMCRE
is held in the format "hh:mm:ss", where: "hh" is the hour (00-23),
"mm" is the minute (00-59), and "ss" is the second (00-59). Set by
DEFINE command.
TXMTMUPD
time member updated (type=char, length=8, read-only).
TXMTMUPD is held in the format "hh:mm:ss", where: "hh" is the
hour (00-23), "mm" is the minute (00-59), and "ss" is the second (0059). Set when EDIT session is saved.
BIM-EDIT System Reference Manual
TXM Variables
TXMTYPE
member type (type=char, length=8, read-only). Usage is site-defined
with the exception that a procedure must be of type "PROC". For
each valid type, a member exists in the $SIT.MODEL or
$SYS.MODEL library which serves as a template during DEFINE.
TXMTYPE is often used within a PROCESS procedure to specify the
nature of the job control to be used to process the member. Can be
changed with TYPE operand of the DEFINE, ALTER, and FALTER
commands. See DEFINE command for comments on possible values.
TXMUPUSR
user ID who last updated member (type=char, length=8, read-only).
Set when EDIT session is saved.
TXMUSER
user ID associated with member (type=char, length=8, read-only).
Usage is site-defined; may be used when "weeding" libraries. Can be
changed with USER operand of DEFINE, ALTER, or FALTER
commands.
TXMZONBS
session zone starting column (type=num, length=3, read-only). Used
to set SSDZONBS when EDIT or LIST session is created. Can be
changed with ZONE operand of DEFINE, ALTER, or FALTER
commands.
TXMZONLM
session zone ending column (type=num, length=3, read-only). Used
to set SSDZONLM when EDIT or LIST session is created. Can be
changed with ZONE operand of DEFINE, ALTER, or FALTER
commands.
Chapter 4. Predefined Variables
Page 233
TXS Variables
TXS Variables
TXS variables are the contents of a library/user security record.
Commands which access library/user security records, such as ALTERS, BROWSES,
DEFINES, FALTERS, PURGES, or READS, set the TXS variables. BROWSES uses the
value of TXSLIB and TXSUSER. Each BIM-EDIT task has one set of TXS variables,
which are initialized when first referenced and held until logoff. The TXS variables
remain constant until changed by a command which accesses library/user security
records.
The following table describes the TXS variables.
TXS (Security Record) Variables
TXSLIB
library name (type=char, length=16, updateable).
TXSSEC
security level (type=char, length=1, read-only). TXSSEC assumes a
value of "0" through "6" as follows:
0
1
2
3
NULL level
EXEC level
LIST level
EDIT level
4
5
6
DEF level
DEFL level
DEFS level
Can be changed with SEC operand of DEFINES, ALTERS, or
FALTERS command.
TXSUSER
Page 234
user ID (type=char, length=8, updateable).
BIM-EDIT System Reference Manual
TXU Variables
TXU Variables
TXU variables are the attributes of a BIM-EDIT user. The attributes of the logon user are
used to initialize many of the SIB variable values at logon.
Commands which access users, such as ALTERU, BROWSEU, DEFINEU, FALTERU,
INQUIREU, PURGEU, or READU, set the TXU variables. BROWSEU uses the value of
TXUUSER. Each BIM-EDIT task has one set of TXU variables, which are initialized
when first referenced and held until logoff. The TXU variables remain constant until
changed by a command which accesses users.
The following table describes the TXU variables.
TXU (User Record) Variables
TXUATTR
Usage is site-defined (type=char, length=8, read-only). Can be
changed with ATTR operand of DEFINEU, ALTERU, or FALTERU
commands.
TXUGRPMX
user max group value (type=num, length=1, read-only). Specifies the
maximum number of groups that the user may have. If TXUGRPMX
is not specified, users max groups will default to MMPMXGRP.
TXULGCNT
LOGON expiry count (type=char, length=1, read-only). Specifies the
number of consecutive invalid LOGON attempts a user has made
trying to logon to BIM-EDIT. A value of "D" indicates that the user
was disabled with the DISABLE command.
TXULGLMT
$LOG limit (type=num, length=6, read-only). Specifies the
maximum number of lines that may exist in $LOG at any time. After
this point has been reached, for every line added at the end of $LOG,
a line from the top of $LOG is deleted. Can be changed with LOGL
operand of DEFINEU, ALTERU, or FALTERU commands.
TXUMLAUT
specifies the setting for the 'Auto Open Mail' feature.
'0' off
'1' all mail is to be auto opened
'2' only auto open mail with NTFY=YES or NTFY=PURGE
(type=char, length=1, read-only)
TXUMLLMT
$MAIL limit (type=num, length=6, read-only). Specifies the
maximum number of lines that may exist in $MAIL at any time.
After this point has been reached, for every line added at the end of
$MAIL, a line from the top of $MAIL is deleted. Can be changed
with MAILL operand of DEFINEU, ALTERU, or FALTERU
commands.
TXUNAME
user name (type=char, length=25, read-only). Can be changed with
NAME operand of DEFINEU, ALTERU, or FALTERU commands.
Chapter 4. Predefined Variables
Page 235
TXU Variables
TXUNTFY
default submit notify OPT (at JOB completion) (type=char, length=8,
read-only).
'YES' OR 'Y'
notify this user
'NO' OR 'N'
no notification
XXXXXXXX
notify the specified userid
TXUPSWD
user password (type=char, length=8, read-only). Will be blank if
user executing command does not have ADM command access. Can
be changed with PSWD operand of DEFINEU, ALTERU, or
FALTERU commands. Can also be changed by user with
PASSWORD command.
TXUSECCM
command access level (type=char, length=1, read-only). The value of
TXUSECCM ranges from "1" to "4" as follows:
1
2
USER level
EXTU level
3
4
OPER level
ADM level
Can be changed with CMDSEC operand of DEFINEU, ALTERU, or
FALTERU commands.
TXUSECLB
system-wide library access level (type=char, length=1, read-only).
The value of TXUSECLB ranges from "0" to "6" as follows:
0
1
2
3
NULL level
EXEC level
LIST level
EDIT level
4
5
6
DEF level
DEFL level
DEFS level
Can be changed with LIBSEC operand of DEFINEU, ALTERU, or
FALTERU commands.
Page 236
TXUSECPW
POWER or JES access level (type=char, length=1, read-only). The
function of TXUSECPW is determined by the BIXPWQA exit
routine. Can be changed with PWRSEC operand of the DEFINEU,
ALTERU, or FALTERU commands.
TXUSSDMX
user max session value (type=num, length=2, read-only). Specifies
the maximum number of sessions that the user may have. If
TXUSSDMX is not specified, the user's max sessions will default to
MMPMXSES.
TXUSZLMT
size limit (type=num, length=6, read-only). Specifies the maximum
number of lines allowed in an EDIT session or in $STACK. BIMEDIT will reject an operation which would increase size beyond
TXUSZLMT. Can be changed with SIZEL operand of the DEFINEU,
ALTERU, or FALTERU commands.
TXUTRMID
terminal ID if user currently logged on (type=char, length=8, readonly). Null if user not currently logged on.
TXUUSAGE
job accounting usage (type=num, length=7, read-only). This is the
number of screen transmissions by this user since DEFINEU or the
last ALTERU USAGE=CLEAR.
BIM-EDIT System Reference Manual
TXU Variables
TXUUSER
Chapter 4. Predefined Variables
user ID (type=char, length=8, updateable).
Page 237
XTR Variables
XTR Variables
When an XTR variable is referenced, BIM-EDIT extracts its value by various processing
activities.
The following table describes the XTR variables.
XTR (Extract) Variables
XTREUSER
ID of the user editing the member described by the TXM control
block (type=char, length=8, read-only). If the member is not being
edited, XTREUSER is null.
XTRLUSER
ID of the first user found who is listing the member described by the
TXM control block (type=char, length=8, read-only). If the member
is not being listed, XTRLUSER is null.
XTRSLINE
current session line (type=char, length=253, read-only).
XTRSTAMP
current session line stamp (type=char, length=17, read-only). The
format is "t,mm/dd/yyyy,uuuu" or "t,dd/mm/yyyy,uuuu",
depending on the value of MMPDTCTL, where:
t
yyyy
mm
dd
uuuu
Page 238
type of update (A=add, M=modify)
year update made
month update made
day update made
first four characters of user who made update
BIM-EDIT System Reference Manual
Chapter 5. Batch Utility
BIM-EDIT can be used in batch as well as online. The batch utility is useful for:
•
long running or off-hours activities
•
printed output of commands
•
commands which generate punched output
•
commands which use tape drives
BIM-EDIT batch utility and BIM-EDIT online run concurrently. Using BIM-EDIT in
batch does not preclude continued online operations. A version of the batch utility is
provided which communicates over an SNA LU 6.2 link to allow a batch process to take
place on a different virtual or physical machine than the BIM-EDIT online.
On VSE, BIM-EDIT batch utility obtains initial input either from SYSIPT (normally,
cards following the JCL EXEC card) or from interactive input through the CPU console.
If the first UPSI bit is on, the console is used for input and primary output. If off,
SYSIPT is used for input and SYSLST is used for primary output.
On MVS, BIM-EDIT batch utility obtains initial input from SYSIN.
Virtually all of the commands available under online BIM-EDIT are available while
running in the batch utility. Procedure specific commands such as GOTO, IF, and the
text-following commands can be used in batch utility. Commands that pass control
'backwards' in a procedure such as GOSUB, LOOP and RETURN cannot be used. For
more information on the use of these commands, see Chapter 2, Writing Procedures,
and Chapter 3, Advanced User Commands, in this manual.
Once the batch utility is active, commands can be entered that cause subsequent input
to come from another source. Refer to documentation on the INCLUDE and EXECUTE
commands.
A single user can simultaneously use BIM-EDIT online and in batch. A user can even
log on multiple times in batch. Changes made by the batch run will affect the online
user's member storage as they are performed, but the batch run cannot affect the
contents of the online user's $LOG or the online user's default user attributes.
BIM-EDIT batch utility can SUBMIT and MAIL members. These features have been
used to create job scheduling systems and batch job completion "notify" mechanisms.
To prevent displaying your everyday password in the processing queues where it can
be viewed by others, the PEND command is provided to create a temporary (one-use)
password. A specialized SUBMIT can be written to use PEND to create a temporary
password and then replace the password into the LOGON command.
Chapter 5. Batch Utility
Page 239
Batch Utility JCL
Batch Utility JCL
BIM-EDIT batch utility job streams take the following form:
VSE Job Control
// JOB BIMUTIL
<TLBLs and ASSGNs>
.....
// UPSI 1
// EXEC BIMUTIL
LOGON <user>,<pswd>
<BIM-EDIT commands>
.....
/*
/&
(if needed)
(only if input is from console)
MVS Job Control
//BIMUTIL JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
<DDs>
(if needed)
.....
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON <user>,<pswd>
<BIM-EDIT commands>
.....
/*
Batch utility commands are read, one per line, in the order they are to be performed.
The first command must be LOGON, specifying the user and password. Input is
terminated with the two characters (/*) in columns 1-2. This applies to both console and
SYSIPT input.
The batch utility does not need any definition of the BIM-EDIT file. This is because the
batch utility performs all its access by communicating with BIM-EDIT which is running
in another partition or region.
On VSE, the batch utility requires a partition size of at least 96K.
BIM-EDIT System Name
If you have more than one BIM-EDIT system, you must run the batch utility specifying
the system name of the BIM-EDIT you want to use.
On VSE, to use a test version of BIM-EDIT which runs under system name BIMEDIT2
the JCL should be modified to:
// EXEC BIMUTIL,PARM='SYSTEM=BIMEDIT2'
On MVS, to use a test version of BIM-EDIT which runs under system name BIMEDIT2
the JCL should be modified to:
//BIMUTIL
Page 240
EXEC PGM=BIMUTIL,PARM='SYSTEM=BIMEDIT2'
BIM-EDIT System Reference Manual
Batch Utility for LU 6.2
Batch Utility for LU 6.2
To run BIM-EDIT batch utility using an SNA LU 6.2 link, modify the JCL to the
following:
VSE Job Control for LU 6.2
// JOB BIMUTIL
<TLBLs and ASSGNs>
(if needed)
.....
// UPSI 1
(only if input is from console)
// EXEC BIMUTLU,PARM='SYSTEM=BIMEDIT,UTAPPL=BIMAPPL,LOGMOD=EDITLU62'
LOGON <user>,<pswd>
<BIM-EDIT commands>
.....
/*
/&
MVS Job Control for LU 6.2
//BIMUTIL JOB ....
//BIMUTIL EXEC PGM=BIMUTLU,
//
PARM='SYSTEM=BIMEDIT,UTAPPL=BIMAPPL,LOGMOD=EDITLU62'
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
<DDs>
(if needed)
.....
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON <user>,<pswd>
<BIM-EDIT commands>
.....
/*
The PARM= value for the LU 6.2 batch utility provide for the values:
SYSTEM=
Name of the BIM-EDIT System (default "BIMEDIT "). See "Starting
BIM-EDIT" in Chapter 10, Operations and Administration, for a
description of the BIM-EDIT System Name.
UTAPPL=
Name of the LU 6.2 Logical Unit for the batch utility (default
"BIMUTIL"). Your site's VTAM definitions must have a corresponding
APPL entry.
LOGMOD=
Name of the LU 6.2 LOGMODE entry (default "EDITLU62"). Your site's
VTAM definitions must have a corresponding LOGMODE entry.
The only special limitation of the LU 6.2 batch utility is that the commands BACKUPG,
BACKUPP, BACKUPS, RESTORE, and RESTOREL are not functional due their use of
large internal communication blocks. These commands normally move so much data
that their use across network communications would not be recommended in any
event.
Chapter 5. Batch Utility
Page 241
Using ++() to Batch Process Lines Longer than 80 Characters
Using ++() to Batch Process Lines Longer than 80 Characters
In order to process lines which are longer than 80 characters, BIM-EDIT provides a
multi-line representation consisting of four short lines for each long line. Each of the
four short lines begins with the four characters "++()". Long line text is allocated to the
short lines according to the following layout:
Short line 1:
Short line 2:
Short line 3:
Short line 4:
++()Columns 1-64 of Long line
++()Columns 65-128 of Long line
++()Columns 129-192 of Long line
++()Columns 193-253 of Long line
This representation is produced for output by the PUNCH, PUNCHF, REPRO, and
REPROF commands. It is recognized on input by any of the text-following commands if
they are reading from an 80 or 81 column source (that is, SYSIN or TAPE).
Printing from Batch Utility
A number of features are provided to print from batch utility. These are described in
more detail in Chapter 3, Advanced User Commands, and Chapter 4, Predefined
Variables but brought together here as a comprehensive example.
The EJECT command skips to the top of a new page. BIM-EDIT will automatically skip
to the top of a new page if the number of lines given by predefined variable PPDPGSIZ
are printed without an EJECT. The value of PPDPGSIZ can be changed with the SET
command. EJECT will often be coded in the scope of a PRINTF command using the trap
character ')'.
The HEADF command uses the lines which follow it as the page heading for all
subsequent pages. The initial heading when batch utility is started consists of a scaleline. This can be suppressed by using HEADF to store a no-line page heading. You can
enter page headings which are wider than 80 characters by using the ++() convention
described in the previous section. Sometimes, HEADF must be coded carefully to avoid
ill-timed replacement of values for variables referenced in the heading. For example, if
you refer to the variable SIBPAGE for the page number in a heading but have PPDVBL
set to 1 when the HEADF is invoked, the current page number will be replaced into the
heading as HEADF stores it. The result will be that all pages printed will have the same
number. To avoid this, you should execute the HEADF with PPDVBL set to "0" and
then set it to "1" while printing. (Similar problems can occur with the use of trap
commands in a heading.)
The PRINTF command prints the lines which follow it. Often, these lines will contain an
INCLUDE command for a member. The INCLUDE command will only be recognized if
variable PPDINCL has a value of 1.
Predefined variable PPDUTLOG determines whether input in a batch utility run is
logged to the printer. It is initially set to 1 which causes logging. For most printing
activities, this is not desirable and will cause every line to be printed twice (once as
input and once as output).
Predefined variable SIBOUTPT determines the destination of OUTPUT from the
OUTPUTF command and from display commands such as LIBRARY. When batch
Page 242
BIM-EDIT System Reference Manual
Printing from Batch Utility
utility is started, SIBOUTPT will be set to "P" if output is to go to the printer and "C" if
output is to go to the console. If you need to obtain the output of display commands in a
session for further manipulation (for example, if you want to sort the results of a
LIBRARY display before printing it), you should set SIBOUTPT to "D" to obtain the
results in a DISP session.
Predefined variable SIBPAGE is the current page number. It is set to zero when batch
utility is started and incremented before each page heading is printed. It can be updated
with the SET command if you need to start numbering at a particular page. It can be
tested with the IF command to cause special processing to take place on certain pages
and its value can be replaced into heading text. The following is an example of batch
utility input to print the text of a member with a specialized heading:
LOGON $SYS,$SYS
SET PPDUTLOG,0
SET PPDINCL,1
HEADF
++()&SIBDATE &SIBTIME
++()
PAGE &SIBPAGE
++()
++()
++/*
SET PPDVBL,2
PRINTF
/INCLUDE &TXMLIB..&TXMMEM
++/*
/*
LISTING OF &TXMLIB..&TXMMEM
;SO HEADINGS WILL BE REPLACED
(Depending on the implementation of your SUBMIT command, this example may not
work as described because of variables being replaced or the INCLUDE being expanded
during submission rather than during batch utility execution. Check with your System
Administrator regarding how to obtain a SUBMIT with PPDVBL and PPDINCL set to
"0".)
Chapter 5. Batch Utility
Page 243
Chapter 6. Application Interface
BIM-EDIT can be called from a user program written in COBOL, PL/I (using ASSEM
interface), Assembler, or any other language which supports "standard" System 370
calling conventions. This feature is generally used to write programs that process data
that reside in BIM-EDIT. (For example, to process members containing long lines or
information from BIM-EDIT library displays.)
This chapter contains the following sections:
Page 244
•
Application Interface Modules
•
Using the Application Interface
•
Commands for the Application Interface
•
Application Interface Program Example
BIM-EDIT System Reference Manual
Application Interface Modules
Application Interface Modules
From a user program perspective, the application interface is composed of a set of
modules that allow the user program to send text lines to and receive text lines from
BIM-EDIT. The text lines are generally command lines from the user program and
member text or responses from BIM-EDIT. One set of modules is available for samemachine access to BIM-EDIT from batch and from CICS. A different set is available for
access over an SNA LU 6.2 link (generally for access from a different physical or virtual
machine.) A user program normally uses modules in only one set.
Prior to release 5.1 of BIM-EDIT, each function of the application interface, represented
by a CALL statement to a particular entry point name, was included in a separate
module that was linked into the user program. This presented release dependency
problems with new releases of BIM-EDIT.
Starting with release 5.1 of BIM-EDIT, all of the entry point names have been combined
into a single module that is linked into the application. This linked module is simply a
stub to the actual application interface that is a separate module.
Starting with release 5.2 of BIM-EDIT, the interface module 'BIUAPMD' must be SVA
resident. Refer to the section "First Time Installation on VSE" in Chapter 9 for more
information.
Same
Machine
BIUAPMD
LU 6.2
Link
BIULUMD
Module
BIUAPOP
BIULUOP
Interface stub linked into application program
BIUAPMD must be an SVA resident module.
BIULUMD is an external module loaded at execution
Entry Point Function Names
BIUAPOP
BIULUOP
Opens the application interface
BIUAPCL
BIULUCL
Closes the application interface
BIUAPRC
BIULURC
Receives message from BIM-EDIT
BIUAPSD
BIULUSD
Sends message to BIM-EDIT
The above functions are each passed four parameters:
1.
LINE (input and output): 256 byte data area to contain text sent to or received from
the module. (Even though the area must be 256 bytes, text is at most 253 bytes.) For
both BIUAPOP and BIULUOP, LINE may contain an 8-byte value:
Bytes 1- 8:
Name of the BIM-EDIT System (default "BIMEDIT ") See "Starting
BIM-EDIT" in Chapter 10, Operations and Administration, for a
description of the BIM-EDIT System Name.
For BIULUOP, LINE may contain up to three more 8-byte values:
Bytes 9-16:
Chapter 6. Application Interface
Name of the LU 6.2 Logical Unit for the program running the
application interface (default "BIMAPPL ") Your site's VTAM
definitions must have a corresponding APPL entry.
Page 245
Using the Application Interface
Bytes 17-24:
Name of the LU 6.2 LOGMODE entry (default "EDITLU62"). Your
site's VTAM definitions must have a corresponding LOGMODE
entry.
Bytes 25-32:
The LU 6.2 APPLNAME value (default "BIMEDIT ") If a value
begins with a space or is beyond LINEL, the default will be used.
The value of LINEL should correspond to the number of bytes
specified.
2.
LINEL (input and output): Halfword current text length field.
3.
STATUS (input and output): 2 byte status field. After BIUAPSD or BIULUSD,
STATUS will have the command return code value. After BIUAPOP or BIULUOP,
STATUS will be "OK", indicating successful "CL", indicating BIM-EDIT could not be
found "OP", indicating the interface could not be opened
4.
WORKAREA (work area): a 1,024 byte work area to make the routines reentrant.
This parameter must provide unique data areas for each simultaneous user.
Using the Application Interface
The application interface modules are cataloged during BIM-EDIT installation. The
modules combined require less than 16K of memory.
The modules contain a series of entry points that represent each function contained in
the application interface. The functions simply send messages to and receive messages
from BIM-EDIT, running in another partition or region (or, in the case of LU 6.2, on a
different machine.) The processing and all file I/O is performed by BIM-EDIT, which
must be running and accessible for the functions to work. The functions perform
operating system or CICS "waits", depending on the environment in which they are
used.
To use the application interface:
1.
The user program calls function BIUAPOP or BIULUOP to open the application
interface. See notes above regarding the values in LINE for BIULUOP.
2.
The user program then passes a command to BIM-EDIT by calling the function
BIUAPSD or BIULUSD. The first command sent to BIM-EDIT must be a LOGON
command.
3.
The user program then calls BIUAPRC or BIULURC, which receives the response
from BIM-EDIT.
4.
The send-command-receive-response cycle (2 and 3) is repeated as the user
program requires.
5.
When complete, the user program calls BIUAPCL or BIULUCL to close the
application interface.
This "send-command-receive-response" cycle is the norm. However, there are
exceptions, as described in the next section.
Page 246
BIM-EDIT System Reference Manual
Commands for the Application Interface
Commands for the Application Interface
Almost all commands that can be entered through the command line under online BIMEDIT can be invoked by a program using the application interface. Many procedure
commands can also be used. In addition, five commands are of special interest to a user
program.
INSERTF
The user program sends the INSERTF command to BIM-EDIT. BIMEDIT sends a response. The user program then sends as many lines as it
wants inserted. When the user program is done sending lines, it sends a
final null message with STATUS=EF.
SEND
sends to the user program all the lines of a member, the stack area, or
the current session. An option is provided to expand INCLUDEs. First,
SEND will send a null message whose STATUS indicates whether the
command was accepted. If STATUS=OK, SEND will then send all of
the lines, one at a time. After all lines have been sent, SEND will send a
null message with STATUS=EF indicating that there are no more lines.
SENDF
sends a group of lines to the user program. An end-of-text line (++/*)
terminates the group. SENDF can be used only from within a
procedure (SEND is a procedure which sends lines to the user program
by invoking SENDF).
SENDI
sends the SENDI operand back to the user program. If the predefined
variable PPDVBL has a value of "1" or "2", variables within the SENDI
operand are replaced. SENDI provides the user program access to
values stored in variables.
SENDN
sends a specified line in the current session to the user program.
SENDN provides a more flexible but less automatic (and less CPU
efficient) way of processing lines within a member than that provided
by SEND. Note that SENDN accesses the current session; to use
SENDN to send lines from a member, you first need to open a session
with its data (with a LIST command, for example).
For more detail on these commands, see Chapter 3, Advanced User Commands.
Chapter 6. Application Interface
Page 247
Returning Data from BIM-EDIT Commands
Returning Data from BIM-EDIT Commands
The following table describes how each command in BIM-EDIT generates data when
invoked from the Application Interace, or the batch BIMUTIL program.
There are three methods used by various commands:
SS
The command starts a session. The batch application must use one of the SEND
commands to retrieve the data from the session.
RL
The commands returns data lines directly to the batch application. After sending
the command and receiving the status of the command, the batch application
needs to enter a 'receive loop' to get the data from the command.
RI
The command returns a single line of data in response to the command.
There are two columns for each command:
Page 248
UT
Describes the action when the command is executed via BIMUTIL.
AP
Describes the action when the command is executed via a Batch Application.
BIM-EDIT System Reference Manual
Returning Data from BIM-EDIT Commands
Command
CORE
DA
DISPLAY
DISPLAYC
DISPLAYD
DISPLAYF
DISPLAYI
DISPLAYS
EDIT
EDITD
HELP
LIBRARY
LIBRARYD
LIBRARYG
LIBRARYI
LIBRARYL
LIBRARYN
LIBRARYP
LIBRARYQ
LIBRARYR
LIBRARYS
LIBRARYT
LIBRARYU
LIBRARYX
LIST
LISTD
LISTI
LISTP
MESSAGE
OPEN
PRINTG
QUALIFY
SCAN
SEND
SENDF
SENDI
SENDN
SHOW
Chapter 6. Application Interface
UT
RL
RL
RL
SS
SS
RL
RL
RL
SS
SS
RL
RL
RL
RL
RL
RL
RL
RL
RL
RL
RL
RL
RL
RL
SS
SS
RL
SS
RL
SS
RL
RL
RL
RL
AP
RL
RL
RL
SS
SS
SS
RL
RL
SS
SS
RL
RL
RL
na
RL
RL
RL
RL
RL
RL
RL
RL
RL
RL
SS
SS
RL
SS
RL
SS
na
SS
SS
RL
RL
RI
RI
SS
Description
Display contents of computer memory.
Display operating system's processing status.
Display text of member, $LOG, $MAIL, or $STACK.
Display System Console messages.
Display text of DOS/VSE sublibrary member.
Display following lines.
Display text of an ICCF member.
Display a list of all active sessions.
Create edit session of an existing member.
Create edit session of DOS/VSE sublibrary member.
Display information about a command.
Display list of members in a library.
Display list of DOS/VSE sublibrary members.
Display list of members on a logical backup tape.
Display list of members in ICCF library.
Display list of libraries you can access.
Display list of temporary passwords.
Display list of POWER job entries.
Display list of your mail messages.
Display list of BIM-EDIT routines.
Display list of library/user security records.
Display list of active tasks.
Display list of users.
Display list of mail proxies.
Display text of member, $LOG, $MAIL, or $STACK.
Display text of DOS/VSE sublibrary member.
Display text of an ICCF member.
Display text of POWER job entry.
Display the text of a VSE online message.
Display text of mail message.
Print members contained on a logical backup tape.
Display all lines of a session having specified pattern.
Search multiple members for a specified pattern.
Transfer text of a member to an application.
Transfer following lines to an application.
Transfer single line to an application.
Transfer a specified session line to an application.
Display BIM-EDIT general or PF key information.
Page 249
Application Interface Program Example
Application Interface Program Example
Library $SYS.SRC contains five sample programs that use the application interface:
BIMAPAS
BIMAPCB
BIMLUCB
Assembler Batch
COBOL Batch
COBOL LU 6.2
BIMAPPL
BIMAPASC
PL/I Batch
Assembler CICS
Each program prints a member without expanding INCLUDEs. A COBOL version is
presented here:
IDENTIFICATION DIVISION.
PROGRAM-ID. BIMAPCB.
******************************************************************
* BIMAPCB - SAMPLE USE OF BIM-EDIT APPLICATION INTERFACE
*
* THIS PROGRAM SHOWS HOW TO USE THE BIM-EDIT APPLICATION
* INTERFACE. FIRST OF ALL, THE PROGRAM OPENS THE APPLICATION
* INTERFACE. THIS IS DONE BY CALLING BIUAPOP. COMMANDS ARE
* THEN PASSED TO BIM-EDIT BY CALLING BIUAPSD. RESPONSES FROM
* BIM-EDIT ARE RECEIVED BY CALLING BIUAPRC. WHEN THE DIALOG
* IS COMPLETE, BIUAPCL IS CALLED TO CLOSE THE APPLICATION
* INTERFACE.
******************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT PRINTFILE
ASSIGN TO SYS008-UR-1403-S.
DATA DIVISION.
FILE SECTION.
FD PRINTFILE
LABEL RECORDS ARE OMITTED
RECORD CONTAINS 133 CHARACTERS
DATA RECORD IS PRT.
01 PRT.
02 PRTCTRL
PIC X.
02 PRTLINE
PIC X(132).
WORKING-STORAGE SECTION.
01 XLINE
PIC X(256).
01 XLINEL
PIC S9999 USAGE COMP.
01 STAT
PIC X(2).
01 WORK
PIC X(1024).
*
Page 250
BIM-EDIT System Reference Manual
Application Interface Program Example
PROCEDURE DIVISION.
OPEN OUTPUT PRINTFILE.
******************************************************************
*
IF THE LU 6.2 INTERFACE WERE TO BE USED, CODE LIKE THE
*
FOLLOWING SHOULD BE ADDED:
*
*
STRING 'BIMEDIT ', 'BIMAPPL ', 'EDITLU62', 'BIMEDIT '
*
DELIMITED BY SIZE INTO XLINE.
*
MOVE 32 TO XLINEL.
******************************************************************
CALL 'BIUAPOP' USING XLINE XLINEL STAT WORK.
IF STAT NOT EQUAL 'OK'
GO TO Z20-ERR.
MOVE 'LOGON $SYS,$SYS' TO XLINE.
PERFORM S20-REQ.
MOVE 'SEND ED41A.BIFARMP' TO XLINE.
PERFORM S20-REQ.
A20-READ.
CALL 'BIUAPRC' USING XLINE XLINEL STAT WORK.
IF STAT EQUAL 'EF'
GO TO A20-EXIT.
IF STAT NOT EQUAL 'OK'
GO TO Z20-ERR.
MOVE XLINE TO PRTLINE.
WRITE PRT BEFORE ADVANCING 1 LINES.
GO TO A20-READ.
A20-EXIT.
CALL 'BIUAPCL' USING XLINE XLINEL STAT WORK.
IF STAT NOT EQUAL 'OK'
GO TO Z20-ERR.
STOP RUN.
S20-REQ.
MOVE 80 TO XLINEL.
CALL 'BIUAPSD' USING XLINE XLINEL STAT WORK.
IF STAT NOT EQUAL 'OK'
GO TO Z20-ERR.
CALL 'BIUAPRC' USING XLINE XLINEL STAT WORK.
IF STAT NOT EQUAL 'OK'
GO TO Z20-ERR.
Z20-ERR.
MOVE XLINE TO PRTLINE.
WRITE PRT BEFORE ADVANCING 1 LINES.
STOP RUN.
Chapter 6. Application Interface
Page 251
Chapter 7. BIM-EDIT Installable Features
This chapter discusses the "Installable Features" that can be activated in BIM-EDIT.
Although most of these features are written using the BIM-EDIT procedures language
and thus cannot be run outside of BIM-EDIT, some of these features perform tasks that
could be considered to be independent of BIM-EDIT. You need very little knowledge of
BIM-EDIT and no knowledge of writing BIM-EDIT procedures to use them.
The following applications are discussed:
ARCHIVE
Source level archiving
DEMO
Demonstrate BIM-EDIT Features (VSE Only)
PASSWORD
Password Verification Feature
TODAY
Reminders of Calendar Events
INSTALL and SERVICE
Apply IBM Corrective Service (VSE Only)
COPYBOOK
VSE Copy Book Facility
In addition, there are a number of procedures in the library $SYS.UDP which have been
developed by BIM-EDIT users for their own purposes and contributed for this
distribution. These procedures may be of use to you "as is" or serve as a model for
developing your own procedures applications. BIM does not use or test these
procedures or provide support for them. You are encouraged to send any procedures
that you have written which you think might be useful for a future distribution.
Page 252
BIM-EDIT System Reference Manual
Most of the "Installable Features" are activated in BIM-EDIT using the INSTALL
command. The first time the INSTALL command is used, the following menu will be
displayed:
INSTALL
BIM-EDIT FEATURE INSTALLATION
-----------------------------------------------------------------------------Enter the number of your selection and press the ENTER key:
1
2
3
4
5
==>
IBM INSTALL/SERVICE feature (VSE only).
CALENDAR feature.
ARCHIVE feature.
DEMO feature.
PASSWORD verification feature.
Enter the number of your selection and press ENTER.
(Enter the # of your selection.
PF3 to exit.)
If you activate option 1, (IBM INSTALL/SERVICE), the INSTALL command becomes
part of that feature, and a new initial menu is displayed:
INSTALL
INSTALLATION
-----------------------------------------------------------------------------Enter the number of your selection and press the ENTER key:
1
2
3
4
5
6
==>
IBM Product Installation
Resource Definition
IBM System History Summary Status Display
Install IBM Corrective Service
Complete IBM Initial/Product Installation
BIM-EDIT Feature Installation/Removal
Enter the number of your selection and press ENTER.
(Enter the # of your selection and press pf1 for help. CLEAR or PF3 to exit.)
Select option 6 from this menu to get to the original BIM-EDIT Feature Installation
menu.
Chapter 7. BIM-EDIT Installable Features
Page 253
DEMO - Demonstrate BIM-EDIT Features (VSE Only)
DEMO - Demonstrate BIM-EDIT Features (VSE Only)
DEMO is a series of procedures that may be used interactively to become familiar with
BIM-EDIT commands and their functions. DEMO is written to allow users to try out
commands and observe the results without permanently affecting any part of the
system. The use of DEMO is described in Chapter 3 of the BIM-EDIT User Reference
Manual.
The DEMO feature is activated using the INSTALL command described at the
beginning of this chapter.
The System Administrator controls the operation of DEMO by accessing DEMO
Administration and setting:
•
The number of DEMO-only users. DEMO-only users enter the demonstration
application when they logon and can perform only those functions that DEMO will
allow. They cannot leave the DEMO application. The purpose of DEMO-only users
is to provide a way for people to try out BIM-EDIT with a very low likelihood of
causing damage. DEMO only users have userids DEMOx, where x can be 0-9 or AZ.
•
Other users that will have optional access to DEMO. These users may use the
DEMO command to initiate DEMO. BIM-EDIT access for DEMO users has
somewhat more overhead than for non-DEMO users. Those who no longer have a
need to access DEMO should be removed from the list. Changes in DEMO access
will not take place at the user's next logon.
•
The VSE job class to be used for job submission by DEMO.
•
The VSE library and sub-library name to be defined for VSE library access by
DEMO (if VSE library access is available).
When DEMO is activated for a user, it creates a User Command table (see "Creating
Library, User and Site Commands" in Chapter 11 of this manual). If your site already
uses User Command Tables, you should review the impact of activating DEMO.
Page 254
BIM-EDIT System Reference Manual
PASSWORD - Verification Feature
PASSWORD - Verification Feature
The password verification feature, when activated, changes the operation of the
PASSWORD command. The PASSWORD command can be used by a BIM-EDIT user to
change their logon password, by providing a new password as the only operand for the
PASSWORD command.
When the password verification feature is activated, the PASSWORD command is
replaced by a version that uses a MAPF session to request that both the current and the
new password be entered. When activated, this feature also restricts the use of the
PASSWORD command in procedures to BIM-EDIT users with ADM security.
When the PASSWORD verification feature is selected from the INSTALL screen, the
following screen will be displayed:
INSTALL
INSTALLATION
-----------------------------------------------------------------------------Enter the number of your selection and press the ENTER key:
1
2
==>
Install PASSWORD verification feature.
Remove PASSWORD verification feature.
Enter the number of your selection and press ENTER.
(Enter the # of your selection. PF3 to exit.)
Chapter 7. BIM-EDIT Installable Features
Page 255
TODAY - Reminders of Calendar Events
TODAY - Reminders of Calendar Events
TODAY allows you to set electronic mail reminders to yourself for dates in the future.
Reminders are sent the first time you logon on or after their date. You can set repetitive
reminders (for example, ones that would be sent the same day every week).
The TODAY feature is activated using the INSTALL command described at the
beginning of this chapter.
To create, delete, change, or view reminders, you enter the TODAY command. A screen
similar to the following will display:
TIME=22:31:37
CURRENT MONTH CALENDAR
DATE=03/19/92
TODAY IS THURSDAY, MARCH 19, 1992
------------------------------------------------------------------------------FEBRUARY
1992
|SU|MO|TU|WE|TH|FR|SA|
| | | | | | |01|
|02|03|04|05|06|07|08|
|09|10|11|12|13|14|15|
M A R C H
|16|17|18|19|20|21|22|
1992
|23|24|25|26|27|28|29|
| SU | MO | TU | WE | TH | FR | SA |
| 01 | 02 | 03 | 04 | 05 | 06 | 07 |
| 08 | 09 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
|
|
|
|
APRIL
1992
|SU|MO|TU|WE|TH|FR|SA|
| | | |01|02|03|04|
|05|06|07|08|09|10|11|
PF1 : TODAY'S NOTES
PF3 : EXIT
|12|13|14|15|16|17|18|
PF6 : EXPAND MONTH
PF7 : PREVIOUS MONTH
|19|20|21|22|23|24|25|
PF8 : NEXT MONTH
PF9 : MONTH'S NOTES
|26|27|28|29|30| | |
PF11 : PERMANENT NOTE ADMINISTRATION
TODAY is menu driven and easy to understand. All reminders (even those that have
been sent) remain in TODAY until you purge them. "Permanent notes" are reminders
that will repeat until you purge them.
Page 256
BIM-EDIT System Reference Manual
INSTALL and SERVICE - Apply IBM Corrective Service (VSE only)
INSTALL and SERVICE - Apply IBM Corrective Service (VSE only)
For VSE, BIM supplies a facility to apply IBM corrective service utilizing BIM-EDIT
rather than ICCF to create the job streams. The Corrective Service Facility provides
dialogs to generate JCL to perform the following:
•
Print documentation from an IBM service tape
•
Apply PTFs, APARs, and local fixes
•
Print information from the System History file
•
Remove information from the System History file
•
Personalize information in the System History file
•
Install Products
•
Define Corrective Service and Install Resources
•
Build and Display System History Summary Information
•
Install VSE/SP Refresh
The Corrective Service Facility is accessed via the INSTALL and SERVICE commands.
INSTALL sets options for performing corrective service on your site and initiates first
time installation of optional products. SERVICE initiates and manages the processing of
service on existing products. Both commands are menu driven. Field-level "help" is
obtained by entering "?" in the field in question. Screen-level "help" is obtained by
pressing the PF1 key. The job streams saved by the service dialog procedures are stored
in the user's currently attached library.
The Corrective Service facility requires BIM-EDIT to have VSE library access.
The Corrective Service facility is activated using the INSTALL command itself, as
described at the beginning of this chapter.
Before installing products or applying corrective service the first time, the INSTALL
selections "Resource Definition" and "Complete Initial/Product Install" must be used.
IBM Corrective Service is described in the "IBM VSE/Enterprise Systems Architecture,
Installation" (IBM manual SC33-6504, as of VSE/ESA Version 1.1). Even though the
BIM-EDIT Corrective Service Procedures are not identical to IBM's, the concept is
similar. The information in this manual can be useful in understanding this installation
and maintenance concept.
Chapter 7. BIM-EDIT Installable Features
Page 257
ARCHIVE and RECOVER - BIM-EDIT Archive Facility
ARCHIVE and RECOVER - BIM-EDIT Archive Facility
The ARCHIVE facility is based on three existing commands; CHECKIN, CHECKOUT
and PURGE, and two new commands; ARCHIVE and RECOVER. When the ARCHIVE
facility is installed, modified versions of the CHECKIN, CHECKOUT and PURGE
commands are implemented via the $SIT.PROC and $SIT.CTRL.COMMANDS. These
modified commands maintain a generation library, ($SIT.GEN) and an ARCHIVE
library, ($SIT.ARCHIVE).
Generation Library ($SIT.GEN)
The generation library contains audit information for every program "checked in" for
the number of generations specified by the generation level control value (see the
RECOVER command). Member names in the $SIT.GEN library consist of the Date and
Time that the slave member was checked in. The title field contains the original name of
the master member with a "-Gn" (where n is a numeric value to the maximum number
of generations) appended to the end. When the $SIT.GEN library contains the
maximum number of generations for a member being checked in, the oldest generation
is moved to the $SIT.ARCHIVE library.
Archive Library ($SIT.ARCHIVE)
The name of a member in the $SIT.ARCHIVE library is the same name used when the
generation was created by the checked in process. The –n is removed from the title.
If an attempt is made to purge a member that has check status set on, all existing
generations for the member are moved to the $SIT.ARCHIVE library and then the
master source is moved.
Two command procedures, (ARCHIVE and RECOVER) are provided for the
maintenance of the $SIT.ARCHIVE library.
The ARCHIVE command is used to create a job stream to back up the information
contained in the $SIT.ARCHIVE library. The entire archive process consists of the
following steps:
Page 258
1.
The master library source, minus any $SIT.GEN updates, is placed in the
$SIT.ARCHIVE library for every member that has archive information in the
$SIT.ARCHIVE library.
2.
A cut off indicator member is created in the $SIT.ARCHIVE library so any members
checked in after the time the ARCHIVE command was issued will not be included
on the ARCHIVE tape. Members written to $SIT.ARCHIVE after an ARCHIVE
request will remain in $SIT.ARCHIVE after the batch ARCHIVE job completes.
3.
The ARCHIVE job is submitted for execution. The ARCHIVE procedure uses the
JCL model BIJARCH in $SYS.JCL. If you wish to customize the JCL used to submit
the archive job you can do so by creating a copy of $SYS.JCL.BIJARCH in the
$SIT.JCL library and then modifying it there.
4.
After the ARCHIVE job runs, the TAPE-DIRECTORY member in the
$SIT.ARCHIVE library is updated to reflect all information written to the archive
BIM-EDIT System Reference Manual
ARCHIVE and RECOVER - BIM-EDIT Archive Facility
tape. Once the TAPE-DIRECTORY member has been updated, all members written
to tape are purged from the $SIT.ARCHIVE library.
The RECOVER command procedure is used to perform the following functions:
a) Recover a member from an ARCHIVE tape.
b) Recover a member from the $SIT.ARCHIVE library.
c)
Recover a member from the $SIT.GEN library.
d) Set the maximum generation level control value.
e) View ARCHIVE tape directory information.
f)
View $SIT.ARCHIVE directory information.
g) View $SIT.GEN directory information.
h) Replace a master library member with a recovered member.
Recovering a member from an ARCHIVE tape requires the submission and execution of
a batch job. Model JCL is provided in member $SYS.JCL.BIJRECV. You can customize
this JCL for your site by creating a copy of it in the $SIT.JCL library.
All other functions of the RECOVER command are performed online at time of the
request.
The recovery process uses the $SIT.RECOVER library. All the required members
needed to recover a BIM-EDIT member to a specific level are placed in this library.
When the recovery process is complete, only the recovered member will be found in the
$SIT.RECOVER library.
Refer to the ARCHIVE and RECOVER commands for additional information.
Chapter 7. BIM-EDIT Installable Features
Page 259
COPYBOOK - VSE Copy Book Facility (VSE Only)
COPYBOOK - VSE Copy Book Facility (VSE Only)
The VSE Copy Book Facility allows you to store and maintain all or some of the
copybooks used in your COBOL, PL/I and Assembler programs in your BIM-EDIT
library, and access them using the standard COPY statements you already have in your
source code. This facility is an alternate to converting some or all of your COPY
statements to BIM-EDIT INCLUDE commands.
Activating this feature requires the following steps:
1)
2)
3)
4)
5)
6)
7)
Define a special BIM-EDIT user ID.
Define the default BIM-EDIT "copy book" library.
Define BIM-EDIT security for the "copy book" library.
Optionally define additional "copy book" libraries.
Load two BIM-EDIT modules into your SVA.
Define your copy books as members in the "copy book" library.
Set the BIM-EDIT System Variable (MMPCPYBK) to 1 and cycle your BIM-EDIT
system.
Each of these steps is described in detail below.
Note:
Your BIM-EDIT system must be up and executing for the "copy book" facility to
function. If BIM-EDIT is down, the COPY statements in your assemblies and
compiles will NOT be intercepted.
The following is a list of the phases for the "copy book" facility.
BIMCOPY
BIUAPMD
BIMCPYI
BIMCPYR
BIRSICI
BIRHUCI
The primary "copy book" SVA phase.
The local application interface SVA eligible phase.
Batch phase to initialize the "copy book" interface.
Batch phase to reset the "copy book" interface.
Online system initialization phase to activate the "copy book" interface.
Online system termination phase to reset the "copy book" interface.
The remaining sections describe the steps necessary to install and activate the "copy
book" facility:
1) Enter the following command to create the user ID for the "copy book" facility:
DEFU $COPY $COPY 'ASSEM/COMP COPY FACILITY'
A LIBU display should show an entry similar to the following after the user has
been defined:
----------------------------------------------------------------USER
NAME
TERMINAL - SECURITY - USAGE S
CMD LIB PWR
S
-------- ------------------------- -------- ---- ---- - ------- $COPY
ASSEM/COMP COPY FACILITY -------- USER NULL 1
0 0
2) Enter the following command to create the $SIT.COPY library:
DEFL $SIT.COPY 'ASSEMBLER/COMPILER COPY FACILITY' $COPY
Page 260
BIM-EDIT System Reference Manual
COPYBOOK - VSE Copy Book Facility (VSE Only)
A LIBL display should show an entry similar to the following after the library has
been defined.
----------------------------------------------------------------------LIBRARY
TITLE
USER
SEC
---------------- ---------------------------------------- -------- ---$SIT.COPY
ASSEMBLER/COMPILER COPY FACILITY
$SYS
DEFS
3) Enter the following command to create the security for the $COPY user:
DEFS $SIT.COPY $COPY LIST
A LIBS display should show an entry similar to the following after the security
record has been defined:
-----------------------------LIBRARY
USER
SEC
---------------- -------- ---$SIT.COPY
$COPY
LIST
4) If you wish to have libraries other than the $SIT.COPY library from which copy
books may be retrieved, the library must be defined, LIST security for user $COPY
must be defined, and a system variable must be defined for each copy book library
using the names COPYLIB1 through COPYLIB9. Statements similar to the following
must be added to, or used to create, $SIT.PROC.SYSTDVB:
DCL COPYLIB1,CHAR,16,V,SCOPE=SYSTEM SET COPYLIB1,libname
where "libname" is the name of the BIM-EDIT library that you defined to be used
for copy book access.
The $SIT.PROC.SYSTDVB member is used to define "system variables".
The DECLARE statement must define a 16 character variable length variable with
SCOPE=SYSTEM. The first copy book library must be defined with COPYLIB1, the
second with COPYLIB2, etc. Each COPYLIBn should have a library name assigned
to it with a SET statement. The sequence that libraries will be searched is COPYLIB1
through COPYLIBn. The first COPYLIBn variable not found (or COPYLIB9) will
determine the end of the defined copy book libraries. Any COPYLIBn variable
found to have a null value (no library name) assigned to it will be ignored.
5) The following job stream will load the BIUAPMD and BIMCOPY phases into the
SVA. Once testing is complete these phases should be loaded as part of the normal
IPL process by adding them to the list of phases loaded in the ASI procedure.
// JOB SETSDL
// LIBDEF PHASE,SEARCH=lib.sublib
SET SDL
BIUAPMD,SVA
BIMCOPY,SVA
/*
/&
If for some reason you need to refresh these SVA modules after the interface has
been activated, you will need to perform the following steps:
Chapter 7. BIM-EDIT Installable Features
Page 261
COPYBOOK - VSE Copy Book Facility (VSE Only)
a) Turn off the copy book interface as described in step 8 below, or be bringing
down the BIM-EDIT partition.
b) Reload the SVA modules using the above JCL.
c) Turn the copy book interface back on as described in step 7 below, or if BIMEDIT is down, by starting BIM-EDIT.
6) Create your copy book members by defining them in your COPYLIBn libraries or
the site library $SIT.COPY. The members in these "copy book" libraries must be
named using the following convention:
1) Character 1-n (maximum of 8) of the member name must be the same as that
used for the member name of the 'copy book' in a VSE library.
2) A hyphen followed by the VSE library member type must be appended to the
end of the member name. The following is an example of a "copy book"
member name for assembler, COBOL and PL1.
COPYBOOK-A
COPYBOOK-C
COPYBOOK-P
The "copy book" data must be valid source data acceptable to the compiler or
assembler associated with the type.
If a source reference to a COPY statement is not found in the BIM-EDIT library or
libraries, the normal search of the VSE libraries will follow.
There is one system requirement that the "copy book" facility has. That is that
copybooks DFHAID.A, DFHAID.C and DFHAID.P be present in PRD1.BASE or
some other library that is in a LIBDEF search chain for every compile or assembly
that contains a COPY statement. If CICS is not a part of your system, simply define
a VSE library or sublibrary and define a DFHAID member for each type of compiler
or assembler that you have and then include this library or sublibrary as part of the
library search chain for all compilations and assemblies. The initialization process of
the copy book facility invokes the VSE LIBR interface and must request a copybook
that it knows will be found. DFHAID was chosen because it is already defined in
most VSE systems.
7) Use the SET command to set the system variable MMPCPYBK to a value of 1. The
next time BIM-EDIT is cycled, the "copy book" facility will automatically be
initialized at BIM-EDIT startup time. A message will appear on the system console
when the facility has been successfully started.
Two programs (BIMCPYI and BIMCPYR) are provided to activate and terminate
the "copy book" facility from a batch partition. These programs are intended to be
used in an emergency or for problem determination and not as a normal means of
activating or terminating the facility.
// JOB BIMCPYI
// LIBDEF PHASE,SEARCH=lib.sublib
// EXEC BIMCPYI,PARM='SYSTEM=BIMEDIT'
/&
Page 262
BIM-EDIT System Reference Manual
COPYBOOK - VSE Copy Book Facility (VSE Only)
If you have chosen your own system name for BIM-EDIT it will be necessary to
change the name in the PARM= parameter on the EXEC statement. The default
system name is BIMEDIT.
8) You are now ready to run an assembly or compilation with a COPY statement.
If for any reason the assembler or compilers do not produce the correct result, the
facility should be turned off using the following job stream.
// JOB BIMCPYR
// LIBDEF PHASE,SEARCH=lib.sublib
// EXEC BIMCPYR
/&
Chapter 7. BIM-EDIT Installable Features
Page 263
Chapter 8. Operator, Administrator Commands
The command descriptions presented in this chapter use the same format as those
documented in the BIM-EDIT User Reference Manual. For information about the
presentation format, refer to Chapter 4 of the User Reference Manual. The following
table lists the BIM-EDIT operator and administrator commands, along with a brief
description of their function. Immediately after the table, the detailed explanation of
each command appears.
ABENDXIT
ARCHIVE
AUDITCF
AUTHORIZ
BACKUPG
BACKUPP
BACKUPS
BYPASS
CHECKRST
CONNECT
CONTROLP
CORE
DEALLOC
DISABLE
DISCONN
DISPLAYI
ENABLE
GETI
LIBRARYG
LIBRARYI
LIBRARYR
LIBRARYT
LISTI
LOADI
LOADIL
NEWCOPY
PURGET
RECOVER
REORG
RESTORE
RESTOREL
SETKEYS
SHUT
TRACE
VERIFY
ZAP
Page 264
Commands Useful only to Operators or Administrators
ABX
Activate/inactivate abend intercept exit (VSE Only)
Write members in archive library to tape.
AUDCF
Re-connect audit trail to a member.
AUTH
Bypass library security.
Create a complete logical system backup tape.
Create a complete physical system backup tape.
Create a selective logical system backup tape.
Execute following line at a higher command level.
CHKR
Re-establish a CHECKOUT relationship.
Establish connection to VTAM or TCP/IP.
CP
Issue a command string to POWER or JES.
Display contents of computer memory.
DEAL
Make allocated PDS available for other process (MVS Only)
Make a BIM-EDIT command or userid inaccessible.
Terminate connection to VTAM or TCP/IP.
DII
Display text of an ICCF member (VSE Only).
Make a BIM-EDIT command or userid accessible.
Alter session text - insert ICCF member (VSE Only).
LIBG
Display list of members on a logical backup tape.
LIBI
Display list of members in ICCF library (VSE Only).
LIBR
Display list of BIM-EDIT routines.
LIBT
Display list of active tasks.
LII
Display text of an ICCF member (VSE Only).
Create member from ICCF library member (VSE only).
Create members from ICCF library members (VSE only).
NEWC
Load a new copy of a BIM-EDIT module.
PURT
Delete a BIM-EDIT task.
Recover a member to a previous change level.
Concatenate fragmented areas in the BIM-EDIT library.
Re-create a specified member from a logical backup tape.
Re-create a specified library from a logical backup tape.
Set user's PF keys to initial standards.
Shut Down BIM-EDIT for normal use.
Activate or inactivate the trace facility.
Check the integrity of the BIM-EDIT library.
Apply temporary fixes to BIM-EDIT.
BIM-EDIT System Reference Manual
ALTERS
ALTERU
BROWSES
BROWSEU
DEFINES
DEFINEU
DEFINEX
FALTERS
FALTERU
FDEFINES
FDEFINEU
INQUIREU
LIBRARYN
LIBRARYS
LIBRARYX
MODIFYS
MODIFYU
PURGEN
PURGES
PURGEU
PURGEX
READS
READU
Commands Dealing with Security and Users
ALTS
Alter library/user security record.
ALTU
Alter user attributes.
Set TXS variables to next library/user security record.
Set TXU variables to attributes of next user.
DEFS
Create a new library/user security record.
DEFU
Create a new user.
DEFX
Create a mail proxy entry.
FALTS
Display / alter a library/user security record.
FALTU
Display / alter user attributes.
FDEFS
Create a new library/user security - formatted screen.
FDEFU
Create a new user - formatted screen.
INQU
Display user attributes.
LIBN
Display list of temporary passwords.
LIBS
Display list of library/user security records.
LIBX
Display list of mail proxies.
(See ALTERS.)
(See ALTERU.)
PURN
Delete a BIM-EDIT temporary password.
PURS
Delete a library/user security entry.
PURU
Delete a BIM-EDIT user.
PURX
Delete a mail proxy.
Set TXS variables to specified lib/user security record.
Set TXU variables to attributes of specified user.
Chapter 8. Operator, Administrator Commands
Page 265
ABENDXIT (VSE Only)
ABENDXIT (VSE Only)
This command should be used ONLY under explicit instructions from a BIM technical
support representative for problem determination purposes, NEVER to attempt to
continue production processing after abends. Most BIM-EDIT abends indicate possible
memory corruption, which can cause corruption of the BIM-EDIT database if allowed to
continue.
Use ABENDXIT to activate or deactivate the internal abend intercept exit. This routine
dumps abending tasks and attempts to recover BIM-EDIT operation.
ABENDXIT may also be entered as ABX.
Optional Operands
OPER
Specify "ON" to activate the abend exit. Specify "OFF" to
inactivate the abend exit. Specify "INQ" to display the current
abend intercept exit status. If not specified, "INQ" is assumed.
QUAL
is a qualifier to limit the exit's operation. Specify a user id or a
terminal id for which task abends are to be intercepted. If the
internal TRACE was activated with a qualifier, the TRACE
qualifier prevails (see TRACE command description in Chapter
8 of the BIM-EDIT System Reference Manual.) If no qualifier is
provided, all task abends will be intercepted.
The abend exit facility is implemented as command module BICABXT. When active,
any BIM-EDIT program check will, through the exit, produce a set of PDUMPs
including:
•
•
•
•
•
•
•
•
abend savearea,
abending module,
DSA chain,
SIB,
SSD,
TSC,
MMP to end of partition,
if active, the TRACE area.
The offending BIM-EDIT task will be terminated. The terminal associated with the task
will be logged off of BIM-EDIT and BIM-EDIT will attempt to continue to operate.
When the abend exit is not active, any program check within BIM-EDIT will cause BIMEDIT termination. ABENDXIT is intended for use under controlled conditions with
assistance from a BIM technical support representative.
When Valid
ABENDXIT cannot be used in a procedure. The user must have OPER or ADM
command security.
Page 266
BIM-EDIT System Reference Manual
ABENDXIT (VSE Only)
Examples
Activate the internal abend intercept facility:
=> abendxit on
=> abendxit on,lsl
(or)
(Exit limited to tasks related to user LSL)
Inactivate the internal abend intercept facility:
=> abendxit off
Display the current internal abend intercept status:
=> abendxit inq
Chapter 8. Operator, Administrator Commands
Page 267
ALTERS
ALTERS
Use ALTERS to alter an existing library/user security record.
ALTERS may also be entered as ALTS, MODIFYS, or MODS.
Required Operands
LIB
is the library name.
USER
is the user id. Specify "$DFL" for the default record which
determines access for users who do not have a specific record for
the library.
SEC
specifies a new access level. Specify NULL, EXEC, LIST, EDIT,
DEF, DEFL, or DEFS. NULL is the access that would be achieved
if there were no applicable security record. You may need to
create a NULL record if a specific user is not to have the access
level which would otherwise be provided by the $DFL record
for the library.
(Security records can also be altered with the FALTERS command, which will display
the current access level and allow you to change it by overtyping.)
Use DEFINES to create library/user security records and PURGES to delete them.
If library/user security is altered while the user in question is logged on and attached to
the library in question, the new security level won't take effect until the user reattaches
to the library or logs off and logs back on.
For more discussion, see "Library Security" in Chapter 10 of the BIM-EDIT System
Reference Manual.
When Valid
The user must have DEFS access level for the library prefix of the LIB library (the part of
the library name preceding an imbedded period). If LIB has no prefix, the user must
have system-wide DEFS access.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Security record not found.
Inadequate access level.
Security records can be accessed within a procedure using the TXS predefined variables.
Example
Alter the security definition for library "TROI" for user "GJB" such that members within
the "TROI" library can be edited, but not defined, altered, or purged:
=> alters troi,gjb,edit
Page 268
BIM-EDIT System Reference Manual
ALTERU
ALTERU
Use ALTERU to alter user attributes.
ALTERU may also be entered as ALTU, MODIFYU, or MODU.
Required Operands
USER
is the user ID to be altered.
Optional Operands
PSWD
specifies a new password. PSWD can be up to 8 characters in
length. Users may alter their own passwords with the
PASSWORD command.
NAME
specifies a new name. NAME can be up to 25 characters in
length. It appears on the LIBRARYU display.
CMDSEC
specifies a new command access level. Specify USER, EXTU,
OPER, or ADM. For more detail on this operand, see the
DEFINEU command.
LIBSEC
specifies a new system-wide minimum library access level.
Specify NULL, EXEC, LIST, EDIT, DEF, DEFL, or DEFS. For
normal users, who are not to have access to all libraries in the
system, specify LIBSEC as NULL. For more information, see
"Library Security" in Chapter 10 of the BIM-EDIT System
Reference Manual.
PWRSEC
specifies a new POWER or JES access level. PWRSEC is a one
character value. BIM-EDIT does not edit this value in any way.
The value is passed to the BIXPWQA exit routine. For more
information, see "User Definition and Modification" in Chapter
10 of the BIM-EDIT System Reference Manual.
LOGL
Specifies a new maximum number of lines that may exist in
$LOG at any time. After this point has been reached, for every
line added at the bottom of $LOG, a line from the top of $LOG is
deleted. LOGL must be between 0 and 999,999.
MAILL
specifies a new maximum number of lines that may exist in
$MAIL at any time. After this point has been reached, for every
line added at the bottom of $MAIL, a line from the top of $MAIL
is deleted. MAILL must be between 0 and 999,999.
SIZEL
specifies a new maximum number of lines that a user can create
in a session or in $STACK. BIM-EDIT will reject operations
which would increase the size beyond SIZEL. (It is possible to
EDIT or LISTP members larger than SIZEL. But it is not possible
to add lines to the resulting session.)
Chapter 8. Operator, Administrator Commands
Page 269
ALTERU
Optional Operands (continued)
This prevents unusual functions for which library space has not
been provided, for example, issuing a GETP on a POWER job
entry or JES datasets of 400,000 lines. SIZEL must be between 1
and 999,999.
ATTR
is a field with site-defined usage. Its value can be accessed in a
procedure by referring to the predefined variable SIBATTR.
ATTR can be up to 8 characters in length.
USAGE
Specify "CLEAR" to reset the job accounting usage field.
NTFY
is the job completion notification default for the SUBMIT
command. This option is only valid for VSE/ESA release 2.1 and
above.
YES - send completion message to the user submitting the job.
NO - don't send any completion message (default).
xxxxxxxx - send completion message to BIM-EDIT user
xxxxxxxx.
GRPS
is the number of session groups the user will be allowed to use.
If GRPS is set to zero, the users GRPS value will default to the
value in MMPMXGRP. The maximum value of GRPS is 9.
MXSESS
is the maximum number of sessions the user will be allowed to
use. If MXSESS is set to zero, the users sessions value will
default to the value in MMPMXSES. The maximum value of
MXSESS is 99.
AUTOMAIL
specifies if the MAIL automatic display/open feature is to be
active for this user. If this feature is turned on for a user, the
TITLE or first non-blank line of the specified type of MAIL and
MAILI messages will automatically be displayed in the line-2
message area of the screen. The OPEN command can be entered
while the mail is displayed to view the entire contents of the
message. (Except if the NTFY=PURGE operand was specified on
the MAIL/MAILI in which case it will have already been
deleted. It can, however, still be viewed in the $MAIL log.)
NO
the feature is not active (default).
NTFY only messages that were sent with the NTFY operand
are to be automatically opened.
ALL
all messages will be automatically opened.
(The FALTERU command may provide a more convenient way of altering attributes
for a user. FALTERU displays all user attributes and allows you to change an attribute
by simply overtyping its current value.)
Page 270
BIM-EDIT System Reference Manual
ALTERU
The CMDSEC, LIBSEC, PWRSEC, LOGL, MAILL, SIZEL, GRPS, MXSESS, and
AUTOMAIL values take effect when a user logs on. If one of these values is changed
while a user is logged on, the user must log off and on again for the change to take
effect.
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
NF
Successful
User record not found.
User attributes can be accessed within a procedure using the SIB predefined variables.
Examples
Alter the user record "GJB" so that the password is "X345":
=> alteru gjb,pswd=x345
For user "SDK", provide OPER level command access and LIST level system-wide
library access:
=> altu sdk,cmdsec=oper,libsec=list
Chapter 8. Operator, Administrator Commands
Page 271
ARCHIVE
ARCHIVE
Use ARCHIVE to write members in the $SIT.ARCHIVE library to tape.
Optional VSE Operands
is the VSE tape device address on which the backup information
is to be written. If omitted, CUU will default to TAPE.
CUU
ARCHIVE generates a source member for every member referenced in the
$SIT.ARCHIVE library. The source member created is at a level that includes the
changes found in the $SIT.ARCHIVE library. Once all source members have been
created, a job stream is submitted to write the newly created source members and the
original $SIT.ARCHIVE members to tape. Changes are made to a TAPE-DIRECTORY
member in the $SIT.ARCHIVE library that identifies the tape and the member names
that were written to it. Once the tape has been successfully created and the TAPEDIRECTORY member has been updated, all members written to the tape are purged
from the $SIT.ARCHIVE library.
When Valid
ARCHIVE can be used online or in the batch utility.
Use in a Procedure
Return Codes:
OK
SV
Successful.
Previous ARCHIVE job has not run to successful completion.
ARCHIVE uses a JCL model to generate the job stream that is submitted. A default
model is supplied in $SYS.JCL.BIJARCH. You can customize this JCL by first creating a
copy of it in $SIT.JCL.BIJARCH.
Model JCL for VSE
The CUU variable does not have to be used within the JCL model. In this case the CUU
operand on the ARCHIVE command will be ignored. If the VSE library in which BIMEDIT phases reside is not permanently available, a LIBDEF statement will also be
needed. The following is the model JCL that can be found in $SYS.JCL.BIJARCH:
* $$ JOB ARCHIVE,CLASS=0,DISP=H
* $$ LST CLASS=Q,DISP=H
// JOB ARCHIVE ARCHIVE MEMBERS IN $SIT.ARCHIVE LIBRARY
// PAUSE MOUNT SCRATCH TAPE FOR ARCHIVE BACKUP ON &CUU
// ASSGN SYS005,&CUU
// TLBL BIFLOG,'&LASTMEM'
// EXEC BIMUTIL
LOGON $SYS,$SYS
ATT $SIT.ARCHIVE
Page 272
BIM-EDIT System Reference Manual
ARCHIVE
Model JCL for MVS
The following is the model JCL that can be found in $SYS.JCL.BIJARCH:
//BIJARCH JOB (BIM),
//
CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),
//
USER=EDIT,PASSWORD=EDIT
//BACKUPS EXEC PGM=BIMUTIL,TIME=(0,20),PARM='SYSTEM=P390EDIT'
//STEPLIB DD DSN=PROD.BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD DSNAME=BIFLOG.&LASTMEM2,
//
UNIT=TAPE,LABEL=(1,SL),DISP=(NEW,CATLG)
//SYSUDUMP DD SYSOUT=A
//SYSPRINT DD SYSOUT=A
//SYSIN
DD *
LOGON $SYS,$SYS
ATT $SIT.ARCHIVE
Example
ARCHIVE looks at the audit members in the $SIT.ARCHIVE library, builds a temporary
source member for each and submits a job stream to BACKUPS the temporary members
and audit members to tape. The directory entries for the temporary members and audit
members are added to the TAPE-DIRECTORY member following an entry that
identifies the tape (by date-time) that the backup was created. The TAPE-DIRECTORY
member is a permanent entry in the $SIT.ARCHIVE library.
The following is an example of a single tape backup as identified in the TAPEDIRECTORY member.
19940517-1434480
19940517-1434010
19940517-1434110
19940517-1434170
19940517-1434380
19940517-1434230
19940517-1434480
19940517-1434300
19940517-1434380
19940517-1434480
TAPE
ARCHIVE
ARCHIVE
ARCHIVE
ASM
ARCHIVE
ASM
ARCHIVE
ASM
ASM
ARCHIVE OF $SIT.ARCHIVE LIBRARY
ARCHV->ARCHIVE-MASTER.TESTPROG-3
ARCHV->ARCHIVE-MASTER.TESTPROG-4
ARCHV->ARCHIVE-MASTER.TESTPROG-3
MREPL->ARCHIVE-MASTER.TESTPROG-3
ARCHV->ARCHIVE-MASTER.TESTPROG-4
MPURG->ARCHIVE-MASTER.TESTPROG-4
ARCHV->ARCHIVE-MASTER.TESTPROG-3
MARCH->ARCHIVE-MASTER.TESTPROG-3
MARCH->ARCHIVE-MASTER.TESTPROG-4
The first line (member TYPE=TAPE) identifies a backup tape. From this line to the end
of the TAPE-DIRECTORY or next TAPE entry are additional lines that identify the
source members and audit members (TYPE=ARCHIVE) contained on this backup tape.
The first seven characters of the title identify the type of entry. The following is a list of
the different types and an explanation of what each means:
ARCHV->
This entry contains audit information only for the program name that
immediately follows the ARCHV-> in the title. It was created when a
CHECKIN request was issued and the $SIT.GEN library already
contained the maximum number of generations. The CHECKIN request
caused the oldest generation to be moved to the $SIT.ARCHIVE library
at the DATE-TIME specified by the member name.
MPURG->
This entry contains source statements for the program name that
immediately follows the MPURG-> in the title. It was created when a
PURGE command was issued for the master program. By definition, a
master program is one where checkout status is on. All generations in
Chapter 8. Operator, Administrator Commands
Page 273
ARCHIVE
the $SIT.GEN library are moved to the $SIT.ARCHIVE library before
this entry is created.
MREPL->
This entry contains source statements for the program name that
immediately follows the MREPL-> in the title. It was created when
option 5 in the RECOVER procedure was used to replace an existing
master. All generations in the $SIT.GEN library are moved to the
$SIT.ARCHIVE library before this entry is created.
MARCH->
This entry contains source statements for the program name that
immediately follows the MARCH-> in the title. It was created as a
result of an ARCHIVE request. A MARCH-> source entry is created for
every member that has audit (ARCHV->) information in the
$SIT.ARCHIVE library. All generation information in the $SIT.GEN
library is rolled back from the current master and then the source is
placed in the $SIT.ARCHIVE library.
For more information see RECOVER.
The ARCHIVE request can be initiated via BIMUTIL. The following examples contain
the JCL necessary to create and submit an ARCHIVE request.
VSE JCL
// JOB ARCHIVE $SIT.ARCHIVE LIBRARY TO TAPE
// EXEC BIMUTIL
LOGON $BKP,$BKP
ARCHIVE
/*
/&
MVS JCL
//ARCHIVE JOB
//BIMUTIL EXEC
//STEPLIB DD
//SYSPRINT DD
//SYSIN
DD
LOGON $BKP,$BKP
ARCHIVE
/*
Page 274
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
*
BIM-EDIT System Reference Manual
AUDITCF
AUDITCF
Use AUDITCF to re-connect the audit lines to a member. The lines following the
AUDITCF command will be written to the audit trail of the current EDIT session. An
end-of-text (++/*) terminates the AUDITCF command.
AUDITCF may also be entered as AUDCF.
AUDITCF ignores any operands.
Special processing may be performed for input lines beginning with the not symbol (¬),
two periods (..), right parentheses ()), the two characters /*, the two characters /&, the
four characters * $$, the four characters ++/*, the four characters ++(), or the five
characters /INCL. Input lines may be processed to convert imbedded hexadecimal
sequences or to overlay stamp or literal information. See PPD predefined variables for
details of this processing.
For more examples, refer to the BIM-EDIT System Reference Manual Chapter 2, Writing
Procedures.
When Valid
AUDITCF can only be used in a procedure, batch utility, or the application interface. It
requires ADM command security. AUDIT=ON must have been set before the member
is edited.
Use in a Procedure
AUDITCF normally returns OK. (See SIBRETCD.)
Example
Re-connect the following audit trail record the member being edited:
AUDITCF
.EDIT DATE=01/21/1997, TIME=11:44:30, USER=GOP
.ADD
LOC=
4, EXT=
1
.ADD
LOC=
7, EXT=
1
.ADD
LOC=
6, EXT=
1
.ADD
LOC=
3, EXT=
1
.ADD
LOC=
2, EXT=
1
.SAVE DATE=01/21/1997, TIME=11:45:13, USER=GOP
++/*
Chapter 8. Operator, Administrator Commands
, TERM=LL2B
, TERM=LL2B
Page 275
AUTHORIZ
AUTHORIZ
Use AUTHORIZ to bypass or to restore normal library security.
AUTHORIZ may also be entered as AUTH.
Optional Operands
LIB
is used to turn library security override "ON" or "OFF". Specify
"ON" to bypass normal library security. Specify "OFF" to restore
normal library security.
CMD
is used to turn command security override "ON" or "OFF".
Specify "ON" to bypass normal command security. Specify
"OFF" to restore normal command security.
AUTHORIZ allows system and site procedures (i.e. procedures in the $SYS and $SIT
libraries) to bypass normal security. It is intended to allow controlled access to "special"
members and commands otherwise not available.
AUTHORIZ affects only the current procedure and the current member. If you set
AUTHORIZ ON and then EXECUTE another procedure or INCLUDE another member,
the executed or included commands initially have AUTHORIZ OFF. In other words, the
executed or included commands do not inherit the AUTHORIZ setting. Similarly, if you
set AUTHORIZ ON and then EXIT from a procedure or come to the end of an included
member, the AUTHORIZ setting is restored to the value it had upon entry.
To maintain control over the use of AUTHORIZ, access by most users to the $SYS and
$SIT libraries should be limited to EXEC or LIST level.
When Valid
AUTHORIZ can be used only in procedures (or members included from procedures)
stored in the $SYS or $SIT libraries.
Use in a Procedure
AUTHORIZ normally returns OK. (See SIBRETCD.)
Example
The following procedure fragment will write an entry to member LOG.EVENT every
time it is invoked, even though the user has no access to library LOG:
SET PPDVBL,1
AUTHORIZ LIB=ON
EDIT LOG.EVENT
NEXT 999999
INSERTI "USER &SIBUSER DATE &OPSDATE TIME &OPSTIME PARMS &PARMLIST"
SAVE
AUTH LIB=OFF
.... remainder of procedure ....
Page 276
BIM-EDIT System Reference Manual
BACKUPG (VSE version)
BACKUPG (VSE version)
Use BACKUPG to create a complete "logical" system backup tape.
Optional Operands
PRINT
Specify "ON" or "YES" to print a library listing during backup. If
not specified, no library listing will be printed.
OPEN
is the value for the tape open option. It may be specified as
REWIND or NOREWIND. The default is REWIND.
CLOSE
is the value for the tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is UNLOAD.
LABEL
is the value for the tape label option. It may be specified as YES
or NO. YES indicates that the tape created will be a VSE
standard label tape. NO means that the tape is unlabelled. The
default is YES.
MIRROR
Specify YES to create a duplicate backup file. The default is NO.
The active contents of the BIM-EDIT library are written to tape with the attributes and
text of each library, member, pending password, security record, and user (with any
sessions). In each of these groups, entries are written in ascending order by name. This
format of tape allows selective member restore by RESTORE and RESTOREL and
allows the contents to be listed by LIBRARYG.
The tape created by BACKUPG will be an exact logical snapshot of the BIM-EDIT
library as of the time the job completes even though other users were performing
update operations while the logical backup was running.
The date and time of the "end of backup" is written to two MMP variables
(MMPBKDTE and MMPBKTME) and can be viewed with the SHOW MMP command.
Most operations can continue while BACKUPG is running. However, the following
commands are disabled while BACKUPG is running:
ALTERL, DEFINEL, FALTERL, PURGEL
ALTERU, DEFINEU, FALTERU, PURGEU
ARCHIVE, RECOVER
BACKUPG, BACKUPP, BACKUPS
CHECKIN, CHECKPUR, CHECKRST
PASSWORD
PURGE
RENAME
RESTORE, RESTOREL
VERIFY
BACKUPG performs some integrity checking of the BIM-EDIT library while it is
creating the tape.
BACKUPG creates an unblocked tape file "BIFLOG". Record size is 16384.
On VSE, the logical unit SYS005 must be assigned to the tape drive. If MIRROR=YES is
specified, logical unit SYS006 must also be assigned to a second tape.
It is recommended that each site backup the BIM-EDIT libraries on a daily basis using
BACKUPG. BACKUPG is preferred to BACKUPP because BACKUPP produces tapes
Chapter 8. Operator, Administrator Commands
Page 277
BACKUPG (VSE version)
that must be restored in their entirety, locks out all concurrent usage, and performs no
integrity checking.
For instructions on performing a complete restore from a logical backup tape, see
"Backups and Restores" in Chapter 10 of the BIM-EDIT System Reference Manual.
When Valid
BACKUPG can only be used in batch utility not communicating through LU 6.2. The
user must have OPER or ADM command access level.
Use in a Procedure
BACKUPG normally returns OK. (See SIBRETCD.)
Example
The following is a sample logical backup job stream:
// JOB BIJBKPG
LOGICAL SYSTEM BACKUP
// TLBL BIFLOG
// ASSGN SYS005,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
BACKUPG LABEL=YES
/*
/&
Page 278
BIM-EDIT System Reference Manual
BACKUPG (MVS version)
BACKUPG (MVS version)
Use BACKUPG to create a complete "logical" system backup tape.
Optional Operands
PRINT
Specify "ON" or "YES" to print a library listing during backup. If
not specified, no library listing will be printed.
MIRROR
Specify YES to create a duplicate backup file. The default is NO.
The active contents of the BIM-EDIT library are written to tape with the attributes and
text of each library, member, pending password, security record, and user (with any
sessions). In each of these groups, entries are written in ascending order by name. This
format of tape allows selective member restore by RESTORE and RESTOREL and
allows the contents to be listed by LIBRARYG.
The tape created by BACKUPG will be an exact logical snapshot of the BIM-EDIT
library as of the time the job completes even though other users were performing
update operations while the logical backup was running.
The date and time of the "end of backup" is written to two MMP variables
(MMPBKDTE and MMPBKTME) and can be viewed with the SHOW MMP command.
Most operations can continue while BACKUPG is running. However, the following
commands are disabled while BACKUPG is running:
ALTERL, DEFINEL, FALTERL, PURGEL
ALTERU, DEFINEU, FALTERU, PURGEU
ARCHIVE, RECOVER
BACKUPG, BACKUPP, BACKUPS
CHECKIN, CHECKPUR, CHECKRST
PASSWORD
PURGE
RENAME
RESTORE, RESTOREL
VERIFY
BACKUPG performs some integrity checking of the BIM-EDIT library while it is
creating the tape.
BACKUPG creates an unblocked labeled tape file "BIFLOG". Output will be written to
ddname "BIFLOG". If MIRROR=YES is specified, output will be written to ddname
"BIFLOG2" as well. Record size is 16384.
It is recommended that each site backup the BIM-EDIT libraries on a daily basis using
BACKUPG. BACKUPG is preferred to BACKUPP because BACKUPP produces tapes
that must be restored in their entirety, locks out all concurrent usage, and performs no
integrity checking.
For instructions on performing a complete restore from a logical backup tape, see
"Backups and Restores" in Chapter 10 of the BIM-EDIT System Reference Manual.
When Valid
BACKUPG can only be used in batch utility not communicating through LU 6.2. The
user must have OPER or ADM command access level.
Use in a Procedure
BACKUPG normally returns OK. (See SIBRETCD.)
Chapter 8. Operator, Administrator Commands
Page 279
BACKUPG (MVS version)
Example
The following is a sample logical backup job stream:
//BACKUPG JOB
//BIMUTIL EXEC
//STEPLIB DD
//BIFLOG
DD
//
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
BACKUPG
/*
Page 280
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
SYSOUT=A
*
BIM-EDIT System Reference Manual
BACKUPP (VSE version)
BACKUPP (VSE version)
Use BACKUPP to create a complete physical system backup tape.
Optional Operands
OPEN
is the value for the tape open option. It may be specified as
REWIND or NOREWIND. The default is REWIND.
CLOSE
is the value for the tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is UNLOAD.
LABEL
is the value for the tape label option. It may be specified as YES
or NO. YES indicates that the tape created will be a VSE
standard label tape. NO means that the tape is unlabelled. The
default is YES.
An exact image of the BIM-EDIT library is written to tape, i.e. BACKUPP will copy
BIM-EDIT 4096 byte blocks to tape in sequential order. Its use is rather limited, since
selective retrieval from a physical backup is not supported.
BACKUPP locks out all other access to the BIM-EDIT library while it is running.
BACKUPP creates an unblocked tape file "BIFPHY". Record size is 16384.
On VSE, the logical unit SYS005 must be assigned to the tape drive.
For instructions on restoring from a physical backup tape, see "Backups and Restores"
in Chapter 10 of the BIM-EDIT System Reference Manual.
When Valid
BACKUPP can only be used in batch utility not communicating through LU 6.2. The
user must have OPER or ADM command access level.
Use in a Procedure
BACKUPP normally returns OK. (See SIBRETCD.)
Example
The following is a sample physical backup job stream:
// JOB BIJBKPP
PHYSICAL SYSTEM BACKUP
// TLBL BIFPHY
// ASSGN SYS005,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
BACKUPP
/*
/&
Chapter 8. Operator, Administrator Commands
Page 281
BACKUPP (MVS version)
BACKUPP (MVS version)
Use BACKUPP to create a complete physical system backup tape.
An exact image of the BIM-EDIT library is written to tape, i.e. BACKUPP will copy
BIM-EDIT 4096 byte blocks to tape in sequential order. Its use is rather limited, since
selective retrieval from a physical backup is not supported.
BACKUPP locks out all other access to the BIM-EDIT library while it is running.
BACKUPP creates an unblocked tape file "BIFPHY". Record size is 16384.
On MVS, output will be written to ddname BIFPHY.
For instructions on restoring from a physical backup tape, see "Backups and Restores"
in Chapter 10 of the BIM-EDIT System Reference Manual.
When Valid
BACKUPP can only be used in batch utility not communicating through LU 6.2. The
user must have OPER or ADM command access level.
Use in a Procedure
BACKUPP normally returns OK. (See SIBRETCD.)
Example
The following is a sample physical backup job stream:
//BACKUPP JOB
//BIMUTIL EXEC
//STEPLIB DD
//BIFPHY
DD
//
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
BACKUPP
/*
Page 282
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIFPHY,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
SYSOUT=A
*
BIM-EDIT System Reference Manual
BACKUPS
BACKUPS
Use BACKUPS to create a selective "logical" system backup tape containing only
specified libraries, members, security records, and/or user records.
Optional Operand for VSE
PRINT
Specify "ON" or "YES" to print a library listing during backup. If
not specified, no library listing will be printed.
OPEN
is the value for the tape open option. It may be specified as
REWIND or NOREWIND. The default is REWIND.
CLOSE
is the value for the tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is UNLOAD.
LABEL
is the value for the tape label option. It may be specified as YES
or NO. YES indicates that the tape created will be a VSE
standard label tape. NO means that the tape is unlabelled. The
default is YES.
Optional Operand for MVS
PRINT
Specify "ON" or "YES" to print a library listing during backup. If
not specified, no library listing will be printed.
The lines immediately following the BACKUPS command specify what to write to tape.
There are four types of lines, distinguished by the first word on the line:
1.
The word LIBRARY precedes the name of a library to be backed up. Note that
LIBRARY in this case means the library definition records and not the content of the
library. You must specify both the LIBRARY and the MEMBER types to make a
backup that can be restored with the RESTORE or RESTOREL commands. The
library name may be specified using the generic format.
2.
The word MEMBER precedes the name of a member to be backed up. The member
name specified must be a complete name in the library.member format. The names
may specify a specific member name or a group of members by using the generic
format.
3.
The word SECURITY precedes the library and user name for a security record to be
backed up. The first parameter following the word SECURITY is the library name.
The next parameter is the userid to further qualify the security records to be backed
up. Both the library and userid field may be specified using the generic format.
4.
The word USER precedes the name of a USER to be backed up.
Any of the entity names may contain * or ? characters to indicate character positions
where any value can match. Any number of blanks may separate the line type words
and the entity names. The lines may be in any order and are terminated by a line
beginning with the four characters ++/*.
Chapter 8. Operator, Administrator Commands
Page 283
BACKUPS
For example, to backup all entities for the $SYS. libraries and all libraries beginning
with LX and the user and security records for user ADMN, you could use:
BACKUPS
LIBRARY
LIBRARY
MEMBER
MEMBER
SECURITY
SECURITY
SECURITY
USER
++/*
$SYS.*
LX*
$SYS.*.*
LX*.*
$SYS.* *
LX* *
* ADMN
ADMN
The specified active contents of the BIM-EDIT database are written to tape with the
attributes and text of the libraries, members, security records, and users (without
sessions, $LOG, $MAIL, or $STACK). In each of these groups, entities are written in
ascending order by name. This format of tape allows a complete logical restore or
selective member restore by RESTORE and RESTOREL and allows the contents to be
listed by LIBRARYG. Only MEMBER entities can be restored selectively. Backing up
LIBRARY, USER and SECURITY entities are only useful if you plan to perform a
complete logical restore (for example, to a new BIM-EDIT system). If you do plan a
complete logical restore, you should backup the $SYS. libraries and at least one user
with ADM command security level to restore a useful system.
BACKUPS does not assure that the entities on the tape are all "as of" the same instant in
time. If synchronization is an issue, the site must assure that other tasks are not
performing update operations on the entities being backed up while selective backup is
running.
Most operations can continue while BACKUPS is running. However, the following
commands are disabled while BACKUPS is running:
ALTERL, DEFINEL, FALTERL, PURGEL
ALTERU, DEFINEU, FALTERU, PURGEU
ARCHIVE, RECOVER
BACKUPG, BACKUPP, BACKUPS
CHECKIN, CHECKPUR, CHECKRST
PASSWORD
PURGE
RENAME
RESTORE, RESTOREL
VERIFY
BACKUPS performs some integrity checking of the BIM-EDIT library while it is
creating the tape.
BACKUPS creates an unblocked tape file "BIFLOG". Record size is 16384.
On VSE, the logical unit SYS005 must be assigned to the tape drive.
On MVS, output will be written to ddname "BIFLOG". The label and positioning
options are determined by the DD statement.
The BACKUPS is useful for
•
making archival backups of entities before they are removed permanently
•
moving entities between BIM-EDIT systems
For instructions on performing a complete restore from a logical backup tape, see
"Backups and Restores" in Chapter 10 of the BIM-EDIT System Reference Manual.
Page 284
BIM-EDIT System Reference Manual
BACKUPS
When Valid
BACKUPS can only be used in batch utility not communicating through LU 6.2. The
user must have OPER or ADM command access level.
Use in a Procedure
BACKUPS normally returns OK. (See SIBRETCD.)
Example
The following is a sample selective backup job stream:
VSE Job Control
// JOB BIJBKPS
SELECTIVE SYSTEM BACKUP
// TLBL BIFLOG
// ASSGN SYS005,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
BACKUPS PRINT=YES
MEMBER PROD.ACCT4*
MEMBER 9916.ACCT4*
++/*
/*
/&
MVS Job Control
//BACKUPS JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
BACKUPS PRINT=YES
MEMBER PROD.ACCT4*
MEMBER 9916.ACCT4*
++/*
/*
Chapter 8. Operator, Administrator Commands
Page 285
BROWSES
BROWSES
Use BROWSES to set the TXS variables to the next library/user security record after the
one currently indicated by the TXS variables. BROWSES is normally used in a
procedure.
BROWSES has no operands.
If TXSLIB is blank, the first security record in the system will be read. An "EF" code is
returned if there are no more security records.
BROWSES will bypass security records for libraries for which the user's access level is
less than DEFS.
For more extensive discussion and examples, see the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
Use in a Procedure
Return Codes:
OK
EF
Successful.
No more security records.
Example
BROWSES could be used to process every security record in the system:
SET PPDCOND,1
SET PPDVBL,1
SET TXSLIB,''
LABEL D10
BROWSES
IF SIBRETCD,NE,OK
GOTO E10
....
process security record
GOTO -D10
LABEL E10
EXIT OK,'## OPERATION COMPLETE ##'
Page 286
BIM-EDIT System Reference Manual
BROWSEU
BROWSEU
Use BROWSEU to set the TXU variables to the attributes of the next user following the
one whose ID is currently in the TXU variables. BROWSEU is normally used in a
procedure.
BROWSEU has no operands.
If TXUUSER is blank, the first user record in the system will be read. An "EF" code is
returned if there are no more user records.
For more extensive discussion and examples, see the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
Use in a Procedure
Return Codes:
OK
EF
Successful.
No more user records.
Example
BROWSEU could be used to process every user record in the system:
SET PPDCOND,1
SET PPDVBL,1
SET TXUUSER,''
LABEL D10
BROWSEU
IF SIBRETCD,NE,OK
GOTO E10
....
process user record
GOTO -D10
LABEL E10
EXIT OK,'## OPERATION COMPLETE ##'
Chapter 8. Operator, Administrator Commands
Page 287
BYPASS
BYPASS
Use BYPASS to cause the command on the following line to be processed using tables at
higher levels than the table used to resolve the current command.
For any command, BIM-EDIT matches the command with a command routine or
procedure by searching tables in the following order:
1.
Attached library command table.
2.
User command table.
3.
Site command table.
4.
System command table.
If a match is not found after searching the four tables, BIM-EDIT will look for a
procedure of the command name in the attached library.
The above search order allows a user or site to customize (front- or back-end)
commands easily by making them accessible only through procedures of the same
name.
For example, suppose a site wanted to customize the CHECKIN command. By creating
an entry in the site command table and an associated procedure in the site procedure
library, the created procedure would be invoked when CHECKIN is entered. However,
the created procedure may want to invoke the BIM-EDIT CHECKIN command. Simply
entering CHECKIN from the created procedure would cause the procedure to invoke
itself. By entering BYPASS immediately before CHECKIN, the BIM-EDIT CHECKIN
command will be invoked instead.
For more information concerning command tables, see the BIM-EDIT System Reference
Manual Chapter 11, Customization.
When Valid
BYPASS can only be used in an online procedure, batch utility, or the application
interface.
Use in a Procedure
BYPASS normally returns OK. (See SIBRETCD.)
Example
A user procedure (stored in library $USR.uuuu, where uuuu is the user id) invoked by
the command EDIT invokes EDIT at the next higher level:
SET PPDVBL,1
DECLARE MEM,CHAR,33,V
PARSE MEM
READ &MEM
BYPASS
EDIT &MEM
SCR BEF,ON,4
Page 288
BIM-EDIT System Reference Manual
CHECKRST
CHECKRST
Use CHECKRST to re-establish the checkout relationship of a working (slave) member
and the master member.
CHECKRST may also be entered as CHKR.
Required Operands
is the member that will be the master in the checkout
relationship. This member must have CHECK=ON (see the
DEFINE and ALTER commands) and must not already be
checked out.
MEM
Optional Operands
LIB
is the library in which the slave member already exists. LIB must
not be the same as the MEM library. If LIB is not entered, the
currently attached library is used.
USER
is the user to check out the member to. If USER is not specified,
the logon user ID will be used.
The slave copy of the MEM member must already exist in the LIB library under the
MEM member name.
Extreme caution is required to insure that the slave member being re-connected to the
master member has all the attributes as the master member. After the checkout
relationship has been re-established the only exception should be that the LIB member
should be flagged as the slave in the checkout relationship.
The master member is updated to indicate that it is checked out to the slave library, and
the checkout user ID. These can be displayed with the INQUIRE command.
CHECKRST sets "last referenced member" to the slave member.
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
CK
NF
SC
Successful.
One of the following:
• Member is already checked out.
• Member is not under checkout control..
One of the following:
• User not found.
• MEM member not found.
• LIB library not found.
Inadequate access level.
Chapter 8. Operator, Administrator Commands
Page 289
CHECKRST
CHECKRST sets the TXM variables to the attributes of the slave member.
Examples
Re-establish checkout relationship for master member OM20.OMRPWR3 to OMRPWR3
in library GJB for user GJB:
=> checkrst om20.omrpwr3,gjb,gjb
Re-establish checkout relationship for master member OM20.OMREXIO to OMREXIO
in the currently attached library for the currently logged on user.
=> chkr om20.omrexio
Page 290
BIM-EDIT System Reference Manual
CONNECT
CONNECT
Use CONNECT to (re)establish a connection between BIM-EDIT and VTAM or TCP/IP.
Optional Operands
VTAM
is specified to establish the connection to VTAM. This is the
default if no operands are entered.
TCP
is specified to establish the connection to TCP/IP.
BIM-EDIT will automatically connect to VTAM if VTAM is running when BIM-EDIT is
started.
If BIM-EDIT is started before VTAM, or the DISCONN command is used to terminate
the VTAM connection, or VTAM is brought down while BIM-EDIT is running, BIMEDIT will continue to run but BIM-EDIT online tasks, logged on through VTAM, will be
logged off. When VTAM becomes available, CONNECT can be used to cause BIM-EDIT
to attempt to establish the connection.
When Valid
CONNECT can be run from the batch utility, the command line, or the operator
communication facility from the system console. The user must have OPER or ADM
command access level.
Use in a Procedure
CONNECT normally returns OK. (See SIBRETCD.)
Example
The following is a sample CONNECT job stream:
VSE Job Control
// JOB CONNECT
// EXEC BIMUTIL
LOGON $SYS,$SYS
CONNECT VTAM
CONNECT TCP
/*
/&
MVS Job Control
//CONNECT JOB
//BIMUTIL EXEC
//STEPLIB DD
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
CONNECT
/*
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
*
Chapter 8. Operator, Administrator Commands
Page 291
CONTROLP (VSE version)
CONTROLP (VSE version)
Use CONTROLP to pass a command string to POWER.
CONTROLP may also be entered as CTLP or CP.
Required Operands
is a command string to pass to POWER. STR may be any string
which is a legitimate POWER command used to manipulate the
POWER queues. Since these 'command strings' always contain
blanks they must be enclosed with quotes. POWER commands
which request display information which exceeds 1 line will
display the first line on the message line and ignore the rest of
the display.
STR
CONTROLP does not set the "last referenced POWER job entry".
When Valid
The user must have OPER or ADM command access level. Security can be defined
within the BIXPWQA exit routine. BIXPWQA as distributed requires the user have a
PWRSEC value of "2" or "3" before allowing the CONTROLP function.
Use in a Procedure
Return Codes:
OK
PW
*
Successful.
Command rejected by POWER.
Other codes as set by BIXPWQA exit routine.
CONTROLP does not set the PWR variables.
Example
Release a job from the reader queue:
=> controlp 'r rdr,asm100'
Page 292
BIM-EDIT System Reference Manual
CONTROLP (MVS version)
CONTROLP (MVS version)
Use CONTROLP to pass a command string to JES .
CONTROLP may also be entered as CTLP or CP.
Required Operands
is a command string to pass to JES. STR may be any string which
is a legitimate JES command, although BIM-EDIT itself does not
edit the contents of the string.
STR
CONTROLP does not set "last referenced JES data sets".
When Valid
The user must have OPER or ADM command access level. Security can be defined
within the BIXPWQA exit routine. BIXPWQA as distributed requires the user have a
PWRSEC value of "2" or "3" before allowing the CONTROLP function.
Use in a Procedure
Return Codes:
OK
*
Successful.
Other codes as set by BIXPWQA exit routine.
CONTROLP does not set the JQE, JCT, JOE, or PDB variables.
Example
Cancel job 1228 with dump:
=> controlp '$c j1228,d'
Chapter 8. Operator, Administrator Commands
Page 293
CORE (VSE version)
CORE (VSE version)
Use CORE to create a display session of the contents of computer memory.
Required Operands
ADDR
is the name of any BIM-EDIT module, a valid address within the
BIM-EDIT partition (specified in hexadecimal), or MMP to
designate the BIFARMP module. If omitted, an attempt will be
made to extract a valid address at the current cursor location. If
no address is found at the cursor location, MMP is assumed.
Optional Operands
LEN
length to display, specified in decimal. If not specified and
ADDR is a module name, LEN will be the length of the module,
otherwise LEN will default to 4096.
The CORE command can only display BIM-EDIT's address space, including any shared
address area.
LIBRARYR can be used to display the starting addresses and lengths of the BIM-EDIT
routines and tables. LIBRARYT can be used to display the starting addresses of the SIB
and TSC blocks for each task.
When Valid
BIM-EDIT must be running under VSE/SP release 2.1 or later. The user must have
ADM command access level.
Use in a Procedure
CORE normally returns OK. (See SIBRETCD.)
Example
Display the contents of memory starting at hex location 706000:
=>
DISP
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
Page 294
-> core 706000
SESS=A 2( 2) LINE=
0(
256)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--- TOP OF DISPLAY -+000000 00706000 00000000 00005909 00000000 00000000 *................*
+000010 00706010 FFFFFFFF 00000000 00000003 E2C9C240 *............SIB *
+000020 00706020 D4E6C440 40404040 00000000 00706698 *MWD
.......q*
+000030 00706030 006AB000 006AD000 006AE000 006AC000 *......}...\...{.*
+000040 00706040 00000000 00710580 00000000 00000000 *................*
+000050 00706050 000001F4 00000000 C5C4F5F0 C1404040 *...4....ED50A
*
+000060 00706060 40404040 40404040 00000000 C5C4F5F0 *
....ED50*
+000070 00706070 C1404040 40404040 40404040 C2C9E9E4 *A
BIZU*
+000080 00706080 E2D9C640 40404040 40404040 000001F4 *SRF
...4*
+000090 00706090 00000000 00000000 00000000 00000000 *................*
BIM-EDIT System Reference Manual
CORE (MVS version)
CORE (MVS version)
Use CORE to create a display session of the contents of computer memory.
Required Operands
ADDR
is the name of any BIM-EDIT module, a valid address within the
BIM-EDIT region (specified in hexadecimal), or MMP to
designate the BIFARMP module. If omitted, an attempt will be
made to extract a valid address at the current cursor location. If
no address is found at the cursor location, MMP is assumed.
Optional Operands
LEN
length to display, specified in decimal. If not specified and
ADDR is a module name, LEN will be the length of the module,
otherwise LEN will default to 4096. address space area ID. If not
specified, the home address space is assumed.
ASN
LIBRARYR can be used to display the starting addresses and
lengths of the BIM-EDIT routines and tables. LIBRARYT can be
used to display the starting addresses of the SIB and TSC blocks
for each task.
When Valid
The user must have ADM command access level.
Use in a Procedure
CORE normally returns OK. (See SIBRETCD.)
Example
Display the contents of memory starting at hex location 706000:
=>
DISP
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
-> core 706000
SESS=A 2( 2) LINE=
0(
256)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--- TOP OF DISPLAY -+000000 00706000 00000000 00005909 00000000 00000000 *................*
+000010 00706010 FFFFFFFF 00000000 00000003 E2C9C240 *............SIB *
+000020 00706020 D4E6C440 40404040 00000000 00706698 *MWD
.......q*
+000030 00706030 006AB000 006AD000 006AE000 006AC000 *......}...\...{.*
+000040 00706040 00000000 00710580 00000000 00000000 *................*
+000050 00706050 000001F4 00000000 C5C4F5F0 C1404040 *...4....ED50A
*
+000060 00706060 40404040 40404040 00000000 C5C4F5F0 *
....ED50*
+000070 00706070 C1404040 40404040 40404040 C2C9E9E4 *A
BIZU*
+000080 00706080 E2D9C640 40404040 40404040 000001F4 *SRF
...4*
Chapter 8. Operator, Administrator Commands
Page 295
DEALLOC (MVS Only)
DEALLOC (MVS Only)
Use DEALLOC to deallocate a specific PDS or all PDSs currently allocated to BIM-EDIT.
DEALLOC may also be entered as DEAL.
Optional Operands
LIB
name of PDS to be deallocated. If specified as "ALL", deallocates
all PDSs which are available from your user ID. (If the user has
OPER or ADM command security, all PDSs allocated to BIMEDIT will be deallocated.) If LIB is not specified, the current PDS
is deallocated.
DEALLOC is used to make a PDS available for a process (such as a compress) which
requires exclusive access. PDSs are allocated to BIM-EDIT when they are first
referenced and remain allocated until DEALLOCed or BIM-EDIT is shut down.
Examples
Deallocate a BIM0001.TESTLIB.D880623
=> dealloc bim0001.testlib.d880623
Deallocate all PDSs:
=> dealloc all
Deallocate current PDS:
=> deal
Page 296
BIM-EDIT System Reference Manual
DEFINES
DEFINES
Use DEFINES to create a new library/user security record.
DEFINES may also be entered as DEFS.
Required Operands
LIB
is the library name.
USER
is the user id. Specify "$DFL" for the default entry which
determines access to the library for users who do not have a
specific record.
SEC
specifies the access level. Specify NULL, EXEC, LIST, EDIT,
DEF, DEFL, or DEFS. NULL is the access that would be achieved
if there were no applicable security record. You may need to
create a NULL record if a specific user is not to have the access
level which would otherwise be provided by the $DFL record
for the library.
Use ALTERS to alter library/user security entries and PURGES to delete them. (The
FDEFINES command may be easier to use than the DEFINES command.)
If library/user security is altered while the user in question is logged on and attached to
the library in question, the new security level won't take effect until the user reattaches
to the library or logs off and logs back on.
For more discussion, see "Library Security" in Chapter 10 of the BIM-EDIT System
Reference Manual.
When Valid
The user must have DEFS access level for the library prefix of the LIB library (the part of
the library name preceding an imbedded period). If LIB has no prefix, the user must
have system-wide DEFS access.
Use in a Procedure
Return Codes:
OK
NF
DP
SC
Successful.
User not found.
Security record already exists.
Inadequate access level.
Examples
Define security for library CBAM for user GJB. Specify DEF level access:
=> defines cbam,gjb,def
Define default security for library CMN1. Specify LIST level access:
=> defs cmn1,$dfl,list
Chapter 8. Operator, Administrator Commands
Page 297
DEFINEU
DEFINEU
Use DEFINEU to create a new user.
DEFINEU may also be entered as DEFU.
Required Operands
USER
is the user ID to be defined. USER can be up to 8 characters in
length, composed of the letters A-Z, the numerals 0-9, and the
characters dash (-), dollar sign ($), and underscore (_).
PSWD
specifies a password. PSWD can be up to 8 characters in length.
Users may alter their own passwords with the PASSWORD
command.
Optional Operands
NAME
specifies the user name. NAME can be up to 25 characters in
length. It appears on the LIBRARYU display.
CMDSEC
specifies the command access level. It is usually desirable to
restrict a user to a subset of the BIM-EDIT commands. CMDSEC
is specified as one of the following:
USER
User. Appropriate for most users. Provides access to
commands needed for normal activity.
EXTU
Extended User. As BIM-EDIT is distributed, the EXTU
command subset is identical to the USER command
subset. EXTU is provided so that a site can customize
the command table (see below) to distinguish between
two classes of normal users.
OPER
Operator. Provides access to USER commands and
operation commands such as BACKUPG.
ADM
Administrator. Provides access to USER commands,
OPER commands, and administration commands such
as DEFINEU, ALTERU, etc.
If CMDSEC is not specified, USER is assumed.
LIBSEC
Page 298
specifies the system-wide minimum library access level. Specify
NULL, EXEC, LIST, EDIT, DEF, DEFL, or DEFS. For normal
users, who are not to have access to all libraries in the system,
specify LIBSEC as NULL. For more information, see "Library
Security" in Chapter 10 of the BIM-EDIT System Reference
Manual. If LIBSEC is not specified, it is set to NULL.
BIM-EDIT System Reference Manual
DEFINEU
Optional Operands (continued)
PWRSEC
specifies the POWER and JES access level. PWRSEC is a one
character value which is passed to the BIXPWQA security exit in
SIBSECPW. BIM-EDIT does not edit this value in any way. As
distributed, the MMPPWCTL variable must be set to "1" before
the PWRSEC value will be tested in BIXPWQA. If PWRSEC is
not specified, it is set to "1". For more information, see
"Controlling access to POWER Job Entries or JES Data Sets" in
Chapter 11 of the BIM-EDIT System Reference Manual.
LOGL
Specifies the maximum number of lines that may exist in $LOG
at any time. After this point has been reached, for every line
added at the bottom of $LOG, a line from the top of $LOG is
deleted. LOGL must be between 0 and 999,999. If LOGL is not
specified, a value of 500 is used.
MAILL
Specifies the maximum number of lines that may exist in $MAIL
at any time. After this point has been reached, for every line
added at the bottom of $MAIL, a line from the top of $MAIL is
deleted. MAILL must be between 0 and 999,999. If MAILL is not
specified, a value of 500 is used.
SIZEL
specifies the maximum number of lines that a user can create in
a session or in $STACK. BIM-EDIT will reject operations which
would increase the size beyond SIZEL. (It is possible to EDIT a
member or LISTP a POWER job entry or JES data sets which is
larger than SIZEL. But it is not possible to add lines to the
resulting session.) This prevents unusual functions for which
library space has not been provided, e.g., issuing a GETP on a
POWER job entry or JES data sets of 400,000 lines. SIZEL must
be between 1 and 999,999. If SIZEL is not specified, a value of
10,000 is used.
ATTR
is a field with site-defined usage. Its value can be accessed in a
procedure by referring to the predefined variable SIBATTR.
ATTR can be up to 8 characters in length. If ATTR is not
specified, a blank value is used.
NTFY
is the job completion notification default for the SUBMIT
command. This option is only valid for VSE/ESA release 2.1 and
above.
YES - send completion message to the user submitting the job.
NO - don't send any completion message (default).
xxxxxxxx - send completion message to BIM-EDIT user
xxxxxxxx.
Chapter 8. Operator, Administrator Commands
Page 299
DEFINEU
Optional Operands (continued)
GRPS
is the number of session groups the user will be allowed to use.
If GRPS is set to zero, the users GRPS value will default to the
value in MMPMXGRP. The maximum value of GRPS is 9.
MXSESS
is the maximum number of sessions the user will be allowed to
use. If MXSESS is set to zero, this value will default to the value
in MMPMXSES. The maximum value of MXSESS is 99.
AUTOMAIL
specifies if the MAIL automatic display/open feature is to be
active for this user. If this feature is turned on for a user, the
TITLE or first non-blank line of the specified type of MAIL and
MAILI messages will automatically be displayed in the line-2
message area of the screen. The OPEN command can be entered
while the mail is displayed to view the entire contents of the
message. (Except if the NTFY=PURGE operand was specified on
the MAIL/MAILI in which case it will have already been
deleted. It can, however, still be viewed in the $MAIL log.)
NO
the feature is not active (default).
NTFY only messages that were sent with the NTFY operand
are to be automatically opened.
ALL
all messages will be automatically opened.
The command subset available for each CMDSEC type can be customized by changing
the module BIFXCCM. See "Altering System Commands, Names, and Restrictions
(BIFXCCM Table)" in Chapter 11 of the BIM-EDIT System Reference Manual.
(The FDEFINEU command may be easier to use than the DEFINEU command.)
For more discussion on creating users, see "User Definition and Modification" in
Chapter 10 of the BIM-EDIT System Reference Manual.
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
DP
Successful.
User already exists.
Attributes for the current user can be accessed within a procedure using the SIB
predefined variables. Attributes for other users can be accessed using the TXU
predefined variables.
Page 300
BIM-EDIT System Reference Manual
DEFINEU
Examples
Create a user "FRED" having the password "DEBT". Accept the defaults for the security
fields:
=> defineu fred,debt,'fred flint'
Create a user "4218" with a password of "CARS". Provide OPER level command access,
LIST level system-wide library access, and level "2" POWER/JES access:
=> defu 4218,cars,'employee #4218',cmdsec=oper,libsec=list,pwrsec=2
Chapter 8. Operator, Administrator Commands
Page 301
DEFINEX
DEFINEX
Use DEFINEX to create a mail proxy, that is, to authorize a user to process mail for
another user.
DEFINEX may also be entered as DEFX.
Required Operands
USER
is the user ID for which a proxy is to be defined.
PROXY
is the user ID that will process mail on behalf of the USER user.
DEFINEX authorizes the use of the ATTACHX command by user PROXY for user
USER.
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
DP
NF
Successful.
Proxy already exists.
User not found.
Example
Authorize user AMS to process mail for user MBX:
=> definex mbx,ams
Page 302
BIM-EDIT System Reference Manual
DISABLE
DISABLE
Use DISABLE to make a BIM-EDIT command or userid inaccessible.
Required Operands
CMD
is the command to disable. Any variation of the command can
be specified.
USER
is the userid to be disabled. A userid is disabled when more than
three consecutive unsuccessful attempts are made to LOGON to
BIM-EDIT. This request will cause the userid to be disabled, no
longer allowing the user to attempt to log on to BIM-EDIT.
All command variations will be disabled.
DISABLE makes a command or userid unavailable for use. It is ordinarily used to
disable a command temporarily. If you want a command to always be disabled (so that
you must ENABLE it before using it), you can update the BIFXCCM command table to
accomplish this. (See "Altering System Commands, Names, and Restrictions (BIFXCCM
Table)" in Chapter 11 of the BIM-EDIT System Reference Manual). Likewise, a userid
can be temporarily disabled without actually removing the user from the system.
DISABLE will have particular relevance if you have written any command modules. If
you discover a problem with a particular command, you can disable the command until
the problem is fixed.
When Valid
The user must have OPER or ADM command access level.
Use in a Procedure
Return Codes:
OK
NF
Successful.
Command not found in table.
Example
Disable the GETP command:
=> disable getp
Disable the userid GOP:
=> disable user=gop
Chapter 8. Operator, Administrator Commands
Page 303
DISCONN
DISCONN
Use DISCONN to terminate the connection between BIM-EDIT and VTAM or TCP/IP.
Optional Operands
VTAM
is specified to terminate the connection to VTAM. This is the
default if no operands are specified.
TCP
is specified to terminate the connection to TCP/IP.
BIM-EDIT will automatically terminate the connections to VTAM and TCP/IP when
BIM-EDIT is shut down.
When Valid
DISCONN can be run from the batch utility, the command line or the operator
communication facility from the system console. The user must have OPER or ADM
command access level.
Use in a Procedure
DISCONN normally returns OK. (See SIBRETCD.)
Example
The following is a sample disconnect job stream:
VSE Job Control
// JOB CONNECT
// EXEC BIMUTIL
LOGON $SYS,$SYS
DISCONN TCP
/*
/&
MVS Job Control
//CONNECT JOB
//BIMUTIL EXEC
//STEPLIB DD
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
DISCONN VTAM
/*
Page 304
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
*
BIM-EDIT System Reference Manual
DISPLAYI (VSE Only)
DISPLAYI (VSE Only)
Use DISPLAYI to create a display session of an existing ICCF member.
DISPLAYI may also be entered as DISPI or DII.
Required Operands
LIB
is the ICCF library number.
MEM
is the ICCF member name.
DISPLAYI can also be invoked by entering the T command in the LCA area of an ICCF
library display.
The DISPLAYI command will create a display session identical to the LISTI command if
MMPDSCTL is set to zero. If MMPDSCTL is set to other than zero the session created
will be updateable. Changes made to ICCF members cannot be saved, therefore, when
an updateable display session is terminated there is no change to the original member.
This command can be useful for members containing JCL that needs to be temporarily
modified prior to submission.
DISPLAYI is provided primarily for conversion purposes.
If the ICCF member is stored in a compressed format, DISPLAYI will display the
expanded form of the text.
When Valid
The user must have ADM command access level. DISPLAYI can be used only if the
predefined variable MMPICCTL has a value of "1".
Use in a Procedure
Return Codes:
OK
NF
Successful.
ICCF member not found.
Examples
Display member XRI8640 from ICCF library 35:
dii 35,xri8640
Chapter 8. Operator, Administrator Commands
Page 305
ENABLE
ENABLE
Use ENABLE to make a BIM-EDIT command or userid accessible.
Required Operands
CMD
is the command to enable. Any variation of the command can be
specified.
USER
is the userid to be enabled. A userid is disabled when more than
three consecutive unsuccessful attempts are made to LOGON to
BIM-EDIT. This request will cause the userid to be enabled,
allowing the user to again attempt to log on to BIM-EDIT.
All command variations will be enabled.
ENABLE is used to enable a command or userid that is in a disabled status. A command
might have been initially disabled (see "Altering System Commands, Names, and
Restrictions (BIFXCCM Table)" in Chapter 11 of the BIM-EDIT System Reference
Manual) or it could have been disabled by the DISABLE command. A userid may also
be disabled by the DISABLE command or will automatically be disabled if the user
makes three consecutive unsuccessful attempts to log on to BIM-EDIT.
When Valid
The user must have OPER or ADM command access level.
Use in a Procedure
Return Codes:
OK
NF
SV
Successful.
Command not found in table.
No input parameter found.
Example
Enable the GETP command:
=> enable getp
Enable userid GOP
=> enable user=gop
Page 306
BIM-EDIT System Reference Manual
FALTERS
FALTERS
Use FALTERS to display and alter a library/user security record.
FALTERS may also be entered as FALTS.
Required Operands
LIB
is the library name.
USER
is the user id.
FALTERS creates a display showing all attributes for the security record. You can
change an attribute simply by overtyping its current value.
FALTERS can also be invoked by entering the Q command in the LCA area of a
LIBRARYS display.
If library/user security is altered while the user in question is logged on and attached to
the library in question, the new security level doesn't take effect until the user reattaches
to the library or logs off and logs on again.
When Valid
FALTERS can only be used as an online command or in an online procedure. The user
must have DEFS access level for the library prefix of the LIB library (the part of the
library name preceding an imbedded period). If LIB has no prefix, the user must have
system-wide DEFS access.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Security record not found.
Inadequate access level.
FALTERS sets the TXS variables to the library/user security entry.
FALTERS is implemented as the system procedure BIPFALS.
Example
Alter the security definition for library "TROI" for user "GJB":
=> falters troi,gjb
Screen after FALTERS
FALTERS
LIBRARY,USER
: TROI,GJB
----------------------------------------------------------SECURITY LEVEL
: DEF
(PF1, PF13 = Update and End. PF2, PF14 Update and Redisplay. CLEAR=End.)
The security level displayed on this screen may be changed by overtyping it.
Chapter 8. Operator, Administrator Commands
Page 307
FALTERU
FALTERU
Use FALTERU to display and alter user attributes.
FALTERU may also be entered as FALTU.
Required Operands
is the user ID to be altered.
USER
FALTERU creates a display showing all attributes for the user. You can change an
attribute simply by overtyping its current value.
FALTERU can also be invoked by entering the Q command in the LCA area of a
LIBRARYU display.
See the ALTERU command for a discussion of changing specific user attributes.
When Valid
FALTERU can only be used as an online command or in an online procedure. The user
must have ADM command access level.
Use in a Procedure
Return Codes:
OK
NF
Successful.
User record not found.
FALTERU sets the TXU variables to the attributes of USER.
FALTERU is implemented as the system procedure BIPFALU.
Examples
Alter the user record "GJB":
=> falteru gjb
Screen after FALTERU
FALTERU
USER
: GJB
----------------------------------------------------------NAME
: GEORGIA JOHNSON-BROWN
PASSWORD
: ANX@
LOG LIMIT
: 2000
MAIL LIMIT
: 500
SIZE LIMIT
: 30000
ATTRIBUTE
:
COMMAND SECURITY : ADM
USER, EXTU, OPER, ADM
LIBRARY SECURITY : NULL
NULL, EXEC, LIST, EDIT, DEF, DEFL, DEFS
POWER SECURITY
: 2
DFLT NOTIFY OPTION:
YES, NO, userid (VSE only)
MAX GROUPS
: 0
IF ZERO WILL DEFAULT TO 1
MAX SESSIONS
: 0
IF ZERO WILL DEFAULT TO 9
AUTO OPEN MAIL
: OFF
OFF, ALL, NTFY
USAGE
: 72358
<- if CLEAR is entered in the field
TERMINAL ID
: LL01
to the right of USAGE, USAGE will
be set to zero
(PF1, PF13 = Update and End. PF2, PF14 Update and Redisplay. CLEAR=End.)
The attributes displayed on this screen may be changed by overtyping them.
Page 308
BIM-EDIT System Reference Manual
FDEFINES
FDEFINES
Use FDEFINES to create a new library/user security record by filling in attributes on
the screen.
FDEFINES may also be entered as FDEFS.
Required Operands
LIB
is the library name. If LIB is omitted, the full screen display will
prompt the user for the required and optional operands.
USER
is the user id. Specify "$DFL" for the default entry which
determines access to the library for users who do not have a
specific record. If USER is omitted, the full screen display will
prompt the user for the required and optional operands.
SEC
specifies the access level. Specify NULL, EXEC, LIST, EDIT,
DEF, DEFL, or DEFS. NULL is the access that would be achieved
if there were no applicable security record. You may need to
create a NULL record if a specific user is not to have the access
level which would otherwise be provided by the $DFL record
for the library. If SEC is omitted, the full screen display will
prompt the user for the required and optional operands.
FDEFINES creates a display showing the default security attributes. You can change an
attribute by simply overtyping its current value. See the DEFINES command for
discussion of specific attributes.
Use ALTERS or FALTERS to alter library/user security entries and PURGES to delete
them.
If library/user security is altered while the user in question is logged on and attached to
the library in question, the new security level won't take effect until the user reattaches
to the library or logs off and logs back on.
For more discussion, see "Library Security" in Chapter 10 of the BIM-EDIT System
Reference Manual.
When Valid
The user must have DEFS access level for the library prefix of the LIB library (the part of
the library name preceding an imbedded period). If LIB has no prefix, the user must
have system-wide DEFS access.
FDEFINES is implemented as the system procedure BIPFDFS.
Use in a Procedure
Return Codes:
OK
DP
NF
SC
Successful.
Security record already exists.
User not found.
Inadequate access level.
Chapter 8. Operator, Administrator Commands
Page 309
FDEFINES
Examples
Define security for library CBAM for user GJB. Specify DEF level access:
=> fdefines
Screen displayed by FDEFINES
FDEFINES
LIBRARY
USER
: CBAM
: GJB
----------------------------------------------------------------SECURITY LEVEL
: DEF (NULL, EXEC, LIST, EDIT, DEF, DEFL, DEFS)
(PF1, PF13 = Update and End. PF2, PF14 Update and Redisplay. CLEAR=End.)
The attributes displayed on this screen may be changed by overtyping them. For more
discussion about a particular attribute, see the DEFINES command.
Page 310
BIM-EDIT System Reference Manual
FDEFINEU
FDEFINEU
Use FDEFINEU to create a new user by filling in attributes on the screen.
FDEFINEU may also be entered as FDEFU.
Required Operands
USER
is the user ID to be defined. USER can be up to 8 characters in
length, composed of the letters A-Z, the numerals 0-9, and the
characters dash (-), dollar sign ($), and underscore (_). If USER is
omitted, the full screen display will prompt the user for the
required and optional operands.
PSWD
specifies a password. PSWD can be up to 8 characters in length.
Users may alter their own passwords with the PASSWORD
command. If PSWD is omitted, the full screen display will
prompt the user for the required and optional operands.
The command subset available for each CMDSEC type can be customized by changing
the module BIFXCCM. See "Altering System Commands, Names, and Restrictions
(BIFXCCM Table)" in Chapter 11 of the BIM-EDIT System Reference Manual.
For more discussion on creating users, see "User Definition and Modification" in
Chapter 10 of the BIM-EDIT System Reference Manual.
FDEFINEU is implemented as the system procedure BIPFDFU.
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
DP
Successful.
User already exists.
Attributes for the current user can be accessed within a procedure using the SIB
predefined variables. Attributes for other users can be accessed using the TXU
predefined variables.
Examples
Create a user "4218" with a password of "CARS". Provide OPER level command access,
LIST level system-wide library access, and level "2" POWER/JES access:
=> defu
Chapter 8. Operator, Administrator Commands
Page 311
FDEFINEU
Screen displayed by FDEFINEU
FDEFINEU
USER
: 4218
(required)
----------------------------------------------------------NAME
: EMPLOYEE #4218
PASSWORD
: CARS
(required)
LOG LIMIT
: 500
MAIL LIMIT
: 500
SIZE LIMIT
: 10000
ATTRIBUTE
:
COMMAND SECURITY : ADM
USER, EXTU, OPER, ADM
LIBRARY SECURITY : NULL
NULL, EXEC, LIST, EDIT, DEF, DEFL, DEFS
POWER SECURITY
: 2
DFLT NOTIFY OPTION: ........
YES, NO, userid
(VSE only)
MAX GROUPS
: 0
1-9
MAX SESSIONS
: 0
1-99
AUTO OPEN MAIL
: OFF
OFF, ALL, NTFY
(PF1, PF13 = Update and End. PF2, PF14 Update and Redisplay. CLEAR=End.)
The attributes displayed on this screen may be changed by overtyping them. For more
discussion about a particular attribute, see the DEFINEU command.
Page 312
BIM-EDIT System Reference Manual
GETI (VSE Only)
GETI (VSE Only)
Use GETI to insert a copy of the text of an ICCF member immediately following the
current line of the current session.
Required Operands
LIB
is the ICCF library number.
MEM
is the ICCF member name.
GETI is provided primarily for conversion purposes. It is normally not invoked directly,
but rather through the LOADI command.
If the ICCF member is stored in a compressed format, GETI will insert the expanded
form of the text.
When Valid
The user must have ADM command access level. GETI can be used only if the
predefined variable MMPICCTL has a value of "1".
Use in a Procedure
Return Codes:
OK
NF
Successful.
ICCF member not found.
Example
Get member XRI8640 from ICCF library 35:
=> geti 35,xri8640
Chapter 8. Operator, Administrator Commands
Page 313
INQUIREU
INQUIREU
Use INQUIREU to display user attributes. When INQUIREU is invoked online, it
creates a DISP session for the results. INQUIREU may also be entered as INQU.
Required Operands
is the user ID. If USER is not specified, the user ID of the current
user will be used.
USER
(FALTERU can also be used to display a user's attributes and allows changing them by
overtyping on the display.)
When Valid
The user must have OPER or ADM command access level to view a user ID other than
his/her own user ID.
Use in a Procedure
Return Codes:
OK
NF
Successful.
User not found.
INQUIREU sets the TXU variables to the attributes of USER. It is implemented as the
system procedure BIPINQU.
If INQUIREU is invoked in batch utility, the display destination is controlled by
predefined variable SIBOUTPT.
Example
Display information about user "SDK":
=> inquireu sdk
Screen after INQUIREU
INQUIREU
USER
: GJB
----------------------------------------------------------NAME
: GEORGIA JOHNSON-BROWN
PASSWORD
:
LOG LIMIT
: 2000
MAIL LIMIT
: 500
SIZE LIMIT
: 30000
ATTRIBUTE
:
COMMAND SECURITY : ADM
USER, EXTU, OPER, ADM
LIBRARY SECURITY : DEFS
NULL, EXEC, LIST, EDIT, DEF, DEFL, DEFS
POWER SECURITY
: 3
DFLT NOTIFY OPTION: YES
YES, NO, USERID
(VSE only)
MAX GROUPS
: 2
IF ZERO WILL DEFAULT TO 1
MAX SESSIONS
: 18
IF ZERO WILL DEFAULT TO 9
AUTO OPEN MAIL
: NTFY
OFF, ALL, NTFY
USAGE
: 1653457
TERMINAL ID
: Q001
FAILED LOGONS
: 0
Page 314
BIM-EDIT System Reference Manual
LIBRARYG (VSE version)
LIBRARYG (VSE version)
Use LIBRARYG to print a list of the members contained on a logical backup tape.
LIBRARYG may also be entered as LIBG.
Optional Operands
OPEN
is the value for the tape open option. It may be specified as
REWIND or NOREWIND. The default is REWIND.
CLOSE
is the value for the tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is UNLOAD
LABEL
is the value for the tape label option. It may be specified as YES
or NO. YES indicates that the tape created will be a VSE
standard label tape. NO means that the tape is unlabelled. The
default is YES.
The BIFLOG tape created by a BACKUPG or BACKUPS command will be used as
input.
On VSE, the logical unit SYS004 should be assigned to the tape drive.
When Valid
LIBRARYG can only be used in batch utility. The user must have OPER or ADM
command access level.
Use in a Procedure
LIBRARYG normally returns OK. (See SIBRETCD.)
Example
The following is a sample LIBRARYG job stream:
// JOB BIJLIBG
LISTING OF BACKUP TAPE
// TLBL BIFLOG
// ASSGN SYS004,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
LIBRARYG LABEL=YES CLOSE=UNLOAD
/*
/&
Chapter 8. Operator, Administrator Commands
Page 315
LIBRARYG (MVS version)
LIBRARYG (MVS version)
Use LIBRARYG to print a list of the members contained on a logical backup tape.
LIBRARYG may also be entered as LIBG.
The BIFLOG tape created by a BACKUPG or BACKUPS command will be used as
input.
On MVS, the tape will be read from ddname "BIFLOG".
When Valid
LIBRARYG can only be used in batch utility. The user must have OPER or ADM
command access level.
Use in a Procedure
LIBRARYG normally returns OK. (See SIBRETCD.)
Example
The following is a sample LIBRARYG job stream:
//LIBRARYG JOB
//BIMUTIL EXEC
//STEPLIB DD
//BIFLOG
DD
//
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
LIBRARYG
/*
Page 316
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
SYSOUT=A
*
BIM-EDIT System Reference Manual
LIBRARYI (VSE Only)
LIBRARYI (VSE Only)
Use LIBRARYI to display a list of the members in an ICCF library. When LIBRARYI is
invoked online, it creates a DISP session for the results.
LIBRARYI may also be entered as LIBI.
Required Operands
LIB
is the ICCF library number.
LIBRARYI is provided primarily for conversion purposes. It is normally not invoked
directly, but rather through the LOADIL command.
When Valid
The user must have ADM command access level. LIBRARYI can be used only if the
predefined variable MMPICCTL has a value of "1".
Use in a Procedure
LIBRARYI normally returns OK. (See SIBRETCD.)
If LIBRARYI is invoked in batch utility, the display destination is controlled by
predefined variable SIBOUTPT.
Example
List all members of ICCF library 44:
=> libraryi 44
Chapter 8. Operator, Administrator Commands
Page 317
LIBRARYN
LIBRARYN
Use LIBRARYN to display a list of all temporary passwords currently define in BIMEDIT. When LIBRARYN is invoked online, it creates a DISP session for the results.
LIBRARYN may also be entered as LIBN.
LIBRARYN has no operands.
LIBRARYN will display the userid, password, and the date/time when the temporary
password was created.
The LCA P command used in conjunction with the LIBRARYN display can be used to
purge a temporary password (see PURGEN).
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
SC
Successful.
Inadequate access level.
If LIBRARYN is invoked in batch utility, the display destination is controlled by
predefined variable SIBOUTPT.
Example
The following is an example of the LIBRARYN output:
=>
DISP
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
Page 318
-> libraryn
SESS=A 2( 2) LINE=
0(
7)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--- TOP OF DISPLAY -------------------------------------USER ID PASSWORD ------ CREATE ----DATE
TIME
-------- -------- ---------- -------GOP
28468993 01/06/1997 12:43:43
GOP
24018433 01/05/1997 21:50:13
GOP
27179524 01/03/1997 08:11:55
GOP
63948289 01/02/1997 14:42:58
GOP
45246214 01/06/1997 12:43:44
GOP
80725509 01/02/1997 14:42:58
-- END OF DISPLAY --
BIM-EDIT System Reference Manual
LIBRARYR
LIBRARYR
Use LIBRARYR to display a list of the BIM-EDIT routines and their current addresses
and lengths. When LIBRARYR is invoked online, it creates a DISP session for the
results.
LIBRARYR may also be entered as LIBR.
LIBRARYR has no operands.
LIBRARYR is primarily useful to see what routines are loaded, and to find out where a
routine is prior to using the CORE command to look at it. This may be useful if you are
customizing BIM-EDIT. The LCA L command can be used to produce a CORE
command display of the selected module.
Use in a Procedure
LIBRARYR normally returns OK. (See SIBRETCD.)
If LIBRARYR is invoked in batch utility, the display destination is controlled by
predefined variable SIBOUTPT.
Example
=>
DISP
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
-> libraryr
SESS=A 2( 2) LINE=
0(
816)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--- TOP OF DISPLAY ------------------------MODULE
ADDR
LENGTH
-------- -------- -----BICADDX 00668A30
200
BICALTL
BICALTM 006B62F0
582
BICALTP 006C2B70
814
BICALTS
BICALTU
BICATTA 006DAD78
306
BICATTD
BICATTX
Chapter 8. Operator, Administrator Commands
Page 319
LIBRARYS
LIBRARYS
Use LIBRARYS to display a list of library/user security records. When LIBRARYS is
invoked online, it creates a DISP session for the results.
LIBRARYS may also be entered as LIBS.
Optional Operands
LIB
is the library. LIB can either be a complete library name or a
partial library name. The display is restricted to libraries with
names starting with the LIB characters. If LIB is not specified,
the display shows all libraries to which the specified user has
access.
USER
is the user. If USER is specified, only security records for USER
are displayed. If USER is not specified, security records for all
users are displayed. If the requesting user does not have ADM
command access level, any display will be limited to security
records for the requesting user and the $DFL user.
Additional security entries can be created with the DEFINES command. Entries can be
deleted with the PURGES command or altered with the ALTERS or FALTERS
commands.
The following LCA commands used in conjunction with the LIBRARYS display can be
quite useful:
P
PURGES
Q
FALTERS
Use in a Procedure
LIBRARYS normally returns OK. (See SIBRETCD.)
If LIBRARYS is invoked in batch utility, the display destination is controlled by
predefined variable SIBOUTPT.
Examples
List the security definitions for all libraries for user "SMR":
=> librarys ,smr
List all security definitions:
=> librarys
List the security definitions for all libraries beginning with the characters "BIM":
=> libs bim
Page 320
BIM-EDIT System Reference Manual
LIBRARYS
=>
DISP
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
-> libs bim
SESS=A 1( 1) LINE=
0(
19)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--- TOP OF DISPLAY ------------------------------LIBRARY
USER
SEC
---------------- -------- ---BIM
BDB
DEF
BIM
CJA
DEF
BIM
CRB
DEF
BIM
GJB
DEF
BIM
GOP
DEF
BIM
HSW
DEF
BIM
KCR
DEF
BIM
KJR
DEF
BIM
LSL
DEF
BIM
MB
DEF
BIM
MWD
DEF
BIM
PG
DEF
BIM
PRJ
DEF
BIMLIB
$DFL
LIST
BIMLIB.ED41D
GJB
DEF
BIMLIB.ED41M
GJB
DEF
-- END OF DISPLAY --
Chapter 8. Operator, Administrator Commands
Page 321
LIBRARYT
LIBRARYT
Use LIBRARYT to display a list of all active BIM-EDIT tasks. A "task" is a concurrent
use of BIM-EDIT (an online user, batch utility, or application interface program). When
LIBRARYT is invoked online, it creates a DISP session for the results.
LIBRARYT may also be entered as LIBT.
LIBRARYT has no operands.
For each task, the following information is shown:
•
BIM-EDIT task number.
•
User ID associated with task.
•
Link. One of the following:
VTAM
XPCC
•
Dialog. One of the following:
APPL
TERM
UTIL
WRKS
•
Linkage to BIM-EDIT is through VTAM
Linkage to BIM-EDIT is through XPCC
Communicating with an Application Interface program.
Communicating with an online terminal.
Communicating with the Batch Utility.
Communicating with a workstation.
Monitor. When dialog is TERM, one of the following:
BTAM
CICS
TSO
Online monitor is the BTAM interface.
Online monitor is CICS.
Online monitor is TSO.
•
Terminal ID. Relevant only for online tasks.
•
Status. Indicates what the task is waiting on. Normal values:
EXECUTE
RECEIVE
WAIT/ECB
Task is executing (performing the LIBRARYT).
Task is waiting for terminal input.
Waiting on an Event Control Block (probably disk I/O).
•
TSC Address. Effectively an extension of the SIB.
•
SIB Address. Information about the online user.
•
Last Command. Last command entered by user.
•
Count of active sessions.
The LCA P command used in conjunction with the LIBRARYT display can be used to
purge a task (see PURGET).
Use in a Procedure
LIBRARYT normally returns OK. (See SIBRETCD.)
If LIBRARYT is invoked in batch utility, the display destination is controlled by
predefined variable SIBOUTPT.
Page 322
BIM-EDIT System Reference Manual
LIBRARYT
Example
The following is an example of the LIBRARYT output:
=>
DISP
-> libraryt
SESS=A 2( 2) LINE=
0(
7)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7-*===* -- TOP OF DISPLAY -*===* -----------------------------------------------------------------------*===* TASK
USER
LINK DIAL MNTR TERMINAL STATUS TSC/ADDR SIB/ADDR LAST
*===* ------ -------- ---- ---- ---- -------- -------- -------- -------- ----*===*
1 HSW
VTAM TERM
LL7A
RECEIVE 006F1000 006F2000 QUIT
*===*
14 SJA
XPCC TERM CICS TS1D
RECEIVE 006D6000 006C5000 SCAN
*===*
17 MB
VTAM TERM
LL0A
RECEIVE 00663400 006EC000 LIB
END OF DISPLAY --
Chapter 8. Operator, Administrator Commands
Page 323
LIBRARYX
LIBRARYX
Use LIBRARYX to display a list of all mail proxy records. When LIBRARYX is invoked
online, it creates a DISP session for the results.
LIBRARYX may also be entered as LIBX.
LIBRARYX has no operands.
Additional proxy records can be created with the DEFINEX command. Proxy records
can be deleted with the PURGEX command.
The LCA P command in conjunction with the LIBRARYX display can be used to purge a
proxy record (PURGEX).
When Valid
The user must have ADM command access level.
Use in a Procedure
LIBRARYX normally returns OK. (See SIBRETCD.)
If LIBRARYX is invoked in batch utility, the display destination is controlled by
predefined variable SIBOUTPT.
Example
The following is an example of the LIBRARYX output:
=>
DISP
*===*
*===*
*===*
*===*
*===*
*===*
*===*
*===*
Page 324
-> libraryx
SESS=A 1( 1) LINE=
0(
7)
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--- TOP OF DISPLAY -----------------USER
PRXY
-------- -------SRU
AMS
BDB
AMS
GJB
AMS
MBX
SCL
-- END OF DISPLAY --
BIM-EDIT System Reference Manual
LOADI (VSE Only)
LOADI (VSE Only)
Use LOADI to create a BIM-EDIT member by copying the text of an ICCF member.
Required Operands
LIB
is the ICCF library number.
MEM
is the ICCF member name.
Optional Operands
is the user id to assign to the created member. If USER is not
specified, the logon user id is used.
USER
LOADI will create a copy of the ICCF member in the currently attached BIM-EDIT
library. If the ICCF member is stored in a compressed format, LOADI will first expand
the member.
LOADI sets the "last referenced member".
Some ICCF member names are unacceptable as BIM-EDIT member names. These are
primarily names which contain a period (.) or an equal sign (=). Members with names of
these characteristics must either be renamed on ICCF or retrieved individually using
GETI.
When Valid
The user must have ADM command access level. The user must have DEF access level
for the currently attached library. LOADI can be used only if the predefined variable
MMPICCTL has a value of "1".
Use in a Procedure
Return Codes:
OK
DP
NF
SC
Successful.
BIM-EDIT member already exists.
ICCF member not found.
Inadequate access level.
LOADI is implemented as the system procedure BIPLDIX. LOADI handles the actual
retrieval by invoking the GETI command.
LOADI sets the TXM variables to the attributes of the BIM-EDIT member created.
Example
Transfer member CDR2600 from ICCF library 26 to the currently attached BIM-EDIT
library:
=> loadi 26,cdr2600
Chapter 8. Operator, Administrator Commands
Page 325
LOADIL (VSE Only)
LOADIL (VSE Only)
Use LOADIL to create BIM-EDIT members by copying the text of all members residing
in an ICCF library.
Required Operands
LIB
is the ICCF library number.
LOADIL will create a procedure LOADILWK in library $SYS.PROC. LOADILWK will
consist of a list of LOADI commands. After LOADIL completes, LOADILWK should be
executed by entering:
=> execute $sys.proc.loadilwk
There are several situations that might cause the procedure LOADILWK to terminate
before it transfers all ICCF members:
•
An ICCF member name does not conform to BIM-EDIT naming conventions. A
BIM-EDIT member name is composed of the letters A-Z, the numerals 0-9, and the
special characters dash (-), dollar sign ($), and the underscore (_). ICCF names
containing period (.) or equal sign (=) are common problems.
•
A member within the ICCF library is being edited.
•
Record linkage within ICCF is inconsistent. Often this situation is caused by an
ICCF buffer not having been flushed yet.
If LOADILWK does terminate prematurely, the following steps should be taken:
1.
Create an EDIT session for the member $SYS.PROC.LOADILWK.
2.
Delete the LOADI lines for all members that were successfully transferred.
3.
Correct the problem. If the problem is that the member name does not conform to
BIM-EDIT conventions, rename the member under ICCF and change the member
name in the LOADI line. If the problem is that the member is being edited under
ICCF, end the ICCF edit session. If the problem is linkage inconsistency, you
probably don't have to correct anything. It will probably work next time. If it
doesn't, try quiescing the entire ICCF system before retrying. If that doesn't work,
you need to run ICCF recovery.
4.
SAVE the session.
5.
Execute LOADILWK again.
When Valid
The user must have ADM command access level. The user must have DEF access level
for the currently attached library. LOADIL can be used only if the predefined variable
MMPICCTL has a value of "1".
Page 326
BIM-EDIT System Reference Manual
LOADIL (VSE Only)
Use in a Procedure
Return Codes:
OK
DP
NF
SC
Successful.
BIM-EDIT member already exists.
ICCF library not found.
Inadequate access level.
LOADIL is implemented as the system procedure BIPLDIL.
Example
Copy all members from ICCF library 12 to the currently attached BIM-EDIT library:
=> loadil 12
=> exec $sys.proc.loadilwk
Chapter 8. Operator, Administrator Commands
Page 327
LISTI (VSE Only)
LISTI (VSE Only)
Use LISTI to create a LIST session of an existing ICCF member.
LISTI may also be entered as LII.
Required Operands
LIB
is the ICCF Libary number.
MEM
is the ICCF member name.
LISTI can also be invoked by entering the L command in the LCA area of an ICCF
library display.
LISTI sessions do not allow updates to take place.
LISTI is provided primarily for conversion purposes.
Even if the ICCF member is stored in a compressed format, LISTI will show the
expanded form.
When Valid
The user must have ADM command access level. LISTI can be used only if the
predefined variable MMPICCTL has a value of "1".
Use in a Procedure
Return Codes:
OK
NF
Successful.
ICCF member not found.
Examples
List member XRI8640 from ICCF library 35:
=> lii 35,xri8640
Page 328
BIM-EDIT System Reference Manual
NEWCOPY
NEWCOPY
Use NEWCOPY to load a new copy of a BIM-EDIT module, a new copy of the message
table, or a new copy of the site command table.
NEWCOPY may also be entered as NEWC.
Required Operands
MOD
OPT
Specify one of the following:
•
BIM-EDIT module name
•
MESSAGES
•
COMMANDS
may be specified as FORCE to cause a new copy of a module to
be loaded regardless of the 'patch area active' condition. If the
'ZAP ACTIVE IN BIFARMP PATCH AREA' messages is
displayed, the user must recognize that if a NEWCOPY is
FORCEd the patch area in BIFARMP is refreshed from disk
(phase BIFPTCH). This means that if the module that owned the
patch area is used and it attempts to branch into the patch area,
BIM-EDIT will abend.
BIM-EDIT is composed of approximately 1200 modules, each separately assembled and
linked. See LIBRARYR to obtain a list of these modules. Theoretically, any of these
modules can be replaced with a customized version. After a module is replaced, it can
be loaded with NEWCOPY as opposed to shutting down and restarting BIM-EDIT.
NEWCOPY should be used with caution. In general, you should be familiar with the
functions of a particular module before loading it. Depending upon the module, added
constraints may come into play. For example, you should not load a new copy of the
submit exit routine, BIXPWSB, while a submit is in progress.
BIM-EDIT builds a message table by merging the contents of the two members
$SYS.CTRL.MESSAGES and $SIT.CTRL.MESSAGES. It also builds a site command table
using the contents of the member $SIT.CTRL.COMMANDS. Both tables are normally
built at startup time. If you add, delete, or update a message in $SIT.CTRL.MESSAGES
or an entry in $SIT.CTRL.COMMANDS and you want the change to take effect
immediately, you can NEWCOPY MESSAGES or NEWCOPY COMMANDS.
When Valid
The user must have ADM command access level.
Use in a Procedure
NEWCOPY normally returns OK. (See SIBRETCD.)
Chapter 8. Operator, Administrator Commands
Page 329
NEWCOPY
Example
Load a new copy of the logon exit routine, BIXLOGN:
=> newcopy bixlogn
Recreate the message table:
=> newcopy messages
Recreate the site command table:
=> newcopy commands
Page 330
BIM-EDIT System Reference Manual
PRINTG (VSE version)
PRINTG (VSE version)
Use PRINTG to print members contained on a logical backup tape.
Required Operands
MEM
is the library.member to be printed from the logical backup tape.
Optional Operands
OPEN
is the value for the tape open option. It may be specified as
REWIND or NOREWIND. The default is REWIND.
CLOSE
is the value for the tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is UNLOAD.
LABEL
is the value for the tape label option. It may be specified as YES
or NO. YES indicates that the tape created will be a VSE
standard label tape. NO means that the tape is unlabelled. The
default is YES.
The BIFLOG tape created by a BACKUPG or BACKUPS command will be used as
input.
On VSE, the logical unit SYS004 must be assigned to the tape drive.
The OPEN, CLOSE and LABEL operands are only valid on the first PRINTG control
statement.
If multiple PRINTG statements are used they must be in sequence by MEM.
When Valid
PRINTG can only be used in batch utility.
Use in a Procedure
PRINTG normally returns OK. (See SIBRETCD.)
Example
The following is a sample PRINTG job stream:
VSE Job Control
// JOB BIJPRTG
LIST MEMBER FROM BACKUP TAPE
// TLBL BIFLOG
// ASSGN SYS004,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
PRINTG GOP.GOPERSTM LABEL=YES OPEN=REWIND CLOSE=UNLOAD
/*
/&
Chapter 8. Operator, Administrator Commands
Page 331
PRINTG (MVS version)
PRINTG (MVS version)
Use PRINTG to print members contained on a logical backup tape.
Required Operands
MEM
is the library.member to be printed from the logical backup tape.
The BIFLOG tape created by a BACKUPG or BACKUPS command will be used as
input.
On MVS, the tape will be read from ddname "BIFLOG".
When Valid
PRINTG can only be used in batch utility.
Use in a Procedure
PRINTG normally returns OK. (See SIBRETCD.)
Example
The following is a sample PRINTG job stream:
MVS Job Control
//PRINTG
JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
PRINTG GOP.GOPERSTM
/*
Page 332
BIM-EDIT System Reference Manual
PURGEN
PURGEN
Use PURGEN to delete a BIM-EDIT temporary password.
PURGEN may also be entered as PURN.
Required Operands
USER
is the user ID.
PSWD
Is the temporary password associated with the user ID.
PURGEN can also be invoked by entering the P command in the LCA area of a
LIBRARYN display.
LIBRARYN can be used to display the current temporary passwords.
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
NF
Successful.
Temporary password not found.
Example
Purge temporary password "24018433" for user "gop":
=> purgen gop 24018433
Chapter 8. Operator, Administrator Commands
Page 333
PURGES
PURGES
Use PURGES to delete a library/user security record.
PURGES may also be entered as PURS.
Required Operands
LIB
is the library.
USER
is the user ID.
PURGES can also be invoked by entering the P command in the LCA area of a
LIBRARYS display.
If library/user security is altered while the user in question is logged on and attached to
the library in question, the new security level won't take effect until the user reattaches
to the library or logs off and logs back on.
For more discussion, see "Library Security" in Chapter 10 of the BIM-EDIT System
Reference Manual.
When Valid
The user must have DEFS access level for the library prefix of the LIB library (the part of
the library name preceding an imbedded period). If LIB has no prefix, the user must
have system-wide DEFS access.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Security record not found.
Inadequate access level.
Example
Purge the security definition for library "4191" for user "SDK":
=> purges 4191,sdk
Page 334
BIM-EDIT System Reference Manual
PURGET
PURGET
Use PURGET to delete a BIM-EDIT task.
PURGET may also be entered as PURT.
Required Operands
is the number of the task to purge. (The LIBRARYT command
displays information about all active tasks.)
TASK
PURGET can also be invoked by entering the P command in the LCA area of a
LIBRARYT display.
If a given task is unable to log itself off (for example, the terminal is out of service or the
task is in a loop in a BIM-EDIT procedure), it may be necessary to purge the task. The
user can then log on again. (Until the task is terminated, the user will not be able to log
on, because BIM-EDIT will not allow a user to be logged on from two terminals at the
same time.)
Note that all tasks are automatically purged when BIM-EDIT is shut down.
LIBRARYT can be used to display the current tasks.
When Valid
The user must have OPER or ADM command access level.
Use in a Procedure
Return Codes:
OK
NF
Successful.
Task not found.
Example
Purge task #196:
=> purget 196
Chapter 8. Operator, Administrator Commands
Page 335
PURGEU
PURGEU
Use PURGEU to delete a user record.
PURGEU may also be entered as PURU.
Required Operands
is the user ID.
USER
Optional Operands
If OPT is specified as "FORCE", the user will be purged even if
active sessions exist and/or the user is logged on. If FORCE is
used, space occupied by $LOG, $MAIL, $STACK, and sessions
will not be freed when this command is executed. (This space
will be freed by BIM-EDIT as part of the next startup.) If a user
record has been corrupted, for whatever reason, the FORCE
option may be necessary.
OPT
PURGEU can also be invoked by entering the P command in the LCA area of a
LIBRARYU display.
If the FORCE option is not used, stored entities directly associated with the user
($MAIL, $STACK, and $LOG) are deleted. Stored entities indirectly associated with the
user (members, libraries, and security entries) are never deleted by PURGEU.
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
LG
NF
SS
Successful.
User is logged on.
User not found.
User has active session(s).
Example
Purge user "SDK":
=> purgeu sdk
Page 336
BIM-EDIT System Reference Manual
PURGEX
PURGEX
Use PURGEX to delete a mail proxy.
PURGEX may also be entered as PURX.
Required Operands
USER
is the user ID for which a proxy has been defined.
PROXY
is the user ID that is authorized to process mail for the USER
user.
PURGEX can also be invoked by entering the P command in the LCA area of a
LIBRARYX display.
When Valid
The user must have ADM command access level.
Use in a Procedure
Return Codes:
OK
NF
Successful.
Proxy record not found.
Example
Remove SDK as an authorized proxy for user MBX:
=> purgex mbx,sdk
Chapter 8. Operator, Administrator Commands
Page 337
READS
READS
Use READS to set the TXS variables to a specified library/user security record or
optionally the security available for a user. READS is normally used in a procedure.
Required Operands
LIB
is the library name.
USER
is the user id.
Optional Operands
is the request type. REQ may be specified as SEC to have the
TXS variables set to the level of access available to a user. If
omitted or invalid, READS will attempt to read a specific
security record and set the TXS variables accordingly.
REQ
For more extensive discussion and examples, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
When Valid
The user must have DEFS access level for the LIB library if USER is not the user
currently logged on.
Use in a Procedure
Return Codes:
OK
NF
SC
Successful.
Security record not found.
Inadequate access level.
Example
Display access level for specified library and user:
SET PPDVBL,1
SET PPDCOND,1
DCL LIB,CHAR,16,V
DCL USER,CHAR,8,V
PARSE LIB,USER
READS &LIB &USER SEC
IF SIBRETCD,NE,OK
EXIT ER,'(DISPLAYS) ** NO ACCESS AVAILABLE FOR "&LIB &USER" **'
EXIT OK,'FOR "&LIB &USER.", ACCESS IS "&TXSSEC"'
Page 338
BIM-EDIT System Reference Manual
READS
Display security record access information for specified library and user:
SET PPDVBL,1
SET PPDCOND,1
DCL LIB,CHAR,16,V
DCL USER,CHAR,8,V
PARSE LIB,USER
READS &LIB &USER
IF SIBRETCD,NE,OK
EXIT ER,'(DISPLAYS) ** NO SECURITY RECORD FOUND FOR "&LIB &USER" **'
EXIT OK,'FOR "&LIB &USER.", ACCESS IS "&TXSSEC"'
Chapter 8. Operator, Administrator Commands
Page 339
READU
READU
Use READU to set the TXU variables to the attributes of a specified user. READU is
normally used in a procedure.
Required Operands
is the user id.
USER
For more extensive discussion and examples, refer to the BIM-EDIT System Reference
Manual Chapter 2, Writing Procedures.
Use in a Procedure
Return Codes:
OK
NF
Successful.
User not found.
Example
Display usage for specified user:
SET PPDVBL,1
SET PPDCOND,1
DCL USER,CHAR,8,V
PARSE USER
READU &USER
IF SIBRETCD,NE,OK
EXIT ER,'(DISPLAYU) ** USER "&USER" NOT FOUND **'
EXIT OK,'FOR "&USER.", USAGE IS &TXUUSAGE'
Page 340
BIM-EDIT System Reference Manual
RECOVER
RECOVER
Use RECOVER to retrieve a member from a backup tape, $SIT.GEN library or
$SIT.ARCHIVE library and restore it to a specific change level (date-time). The
recovered member will be created in the $SIT.RECOVER library. RECOVER is also used
to set the maximum generation level control value and to return a recovered member
from $SIT.RECOVER to the desired master library.
RECOVER has no operands. When RECOVER is entered on the command line the
following menu will be displayed:
RECOVER
ARCHIVE MEMBER RECOVERY
-----------------------------------------------------------------------------Enter the number of your selection and press the ENTER key:
1
2
3
4
5
6
7
8
View Archive 'Tape-Directory'.
View Archive 'Tape-Directory' for specific date.
View Archive 'Tape-Directory' for specific member.
View Current Archive library directory.
Replace master program with recovered program.
View Current Generation library directory.
View Generation library directory for specific member.
Set maximum generation level control value.
==> _ Enter the number of your selection and press ENTER.
(Enter the # of your selection and press PF1 for help. CLEAR to exit.)
Option 1 will display all the TAPE entries in the $SIT.ARCHIVE.TAPE-DIRECTORY
member. The name used for each TAPE entry is the DATE-TIME of the
ARCHIVE request. Successful completion of this option requires 4 BIM-EDIT
sessions.
Option 2 will display all the TAPE entries for the specified date. This display will
contain complete detail contained on the backup tape(s). Successful
completion of this option requires 4 BIM-EDIT sessions.
Option 3 will display all TAPE entries that contain the specified member. This display
will NOT show all members on the backup tape. Successful completion of this
option requires 4 BIM-EDIT sessions.
Option 4 will display a list of the current ARCHIVE members contained in the
$SIT.ARCHIVE library not yet written to tape. Successful completion of this
option requires 3 BIM-EDIT sessions.
Option 5 will display a screen allowing the name of a recovered program in the
$SIT.RECOVER library to be entered and the name of a master library to
which the program is to be moved. If the master library already contains a
member by this name it will be replaced. Successful completion of this option
requires 1 BIM-EDIT session.
Option 6 will display the directory for the $SIT.GEN library. Successful completion of
this option requires 5 BIM-EDIT sessions.
Option 7 will display the directory for a specific member name in the $SIT.GEN
library. Successful completion of this option requires 5 BIM-EDIT sessions.
Chapter 8. Operator, Administrator Commands
Page 341
RECOVER
Option 8 is an administrative function which allows the number of generations to be
retained in the $SIT.GEN library to be changed. Successful completion of this
option requires 1 BIM-EDIT session.
When recovering programs from an ARCHIVE tape, $SIT.ARCHIVE library, or the
$SIT.GEN library, the user must select a member entry from the detail screen. The
source program will be recovered to the change level prior to the selected entry. In the
case of option 4 and recovering programs from the $SIT.GEN library, the recovery takes
place online. All other recoveries involve submitting a batch job to restore the requested
member and then recover it to the requested level.
Once a program has been recovered it will be found in the $SIT.RECOVER library.
RECOVER uses a JCL model to generate the job stream that is submitted. A default
model is supplied in $SYS.JCL.BIJRECV. You can customize this JCL by first creating a
copy of it in $SIT.JCL.BIJRECV.
Model JCL for VSE
If the VSE library in which BIM-EDIT phases reside is not permanently available, a
LIBDEF statement will also be needed. The following is the model JCL that can be
found in $SYS.JCL.BIJRECV:
* $$ JOB JNM=RECOVER,CLASS=0,DISP=D
* $$ LST CLASS=Q,DISP=H
// JOB RECOVER ARCHIVE MEMBERS FROM ARCHIVE TAPE
// PAUSE MOUNT ARCHIVE TAPE DATED &SPECTAPE ON DRIVE &CUU
// ASSGN SYS004,&CUU
// TLBL BIFLOG,'&SPECTAPE'
// EXEC BIMUTIL
LOGON $SYS,$SYS
ATT $SIT.RECOVER
)IF DEBUG,NE,ON
)
GOTO NOSNAP
SNAP ON
)LABEL NOSNAP
Model JCL for MVS
The following is the model JCL that can be found in $SYS.JCL.BIJRECV:
//BIJRECV JOB (BIM),
//
CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),
//
USER=EDIT,PASSWORD=EDIT
//BIMUTIL EXEC PGM=BIMUTIL,TIME=(0,20),PARM='SYSTEM=P390EDIT'
//STEPLIB DD DSN=PROD.BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD DSNAME=BIFLOG.&SPECTAP2,
//
UNIT=TAPE,DISP=OLD
//SYSUDUMP DD SYSOUT=A
//SYSPRINT DD SYSOUT=A
//SYSIN
DD *
LOGON $SYS,$SYS
ATT $SIT.RECOVER
)IF DEBUG,NE,ON
)
GOTO NOSNAP
SNAP ON
)LABEL NOSNAP
Page 342
BIM-EDIT System Reference Manual
RECOVER
When Valid
RECOVER can only be used online. Option 5 requires DEF access level to the master
library. Option 8 requires ADM access level. All other options require LIST access level
to the $SIT.RECOVER library.
Chapter 8. Operator, Administrator Commands
Page 343
REORG
REORG
Use REORG to concatenate fragmented disk area free spaces in BIM-EDIT BIFLIB.
Optional Operands
LOG
ON to set entries, into the user $LOG, for each member moved,
showing the member key. OFF to inhibit logging to $LOG. OFF
is the default.
The process selects the highest members in the file, based on relative record number
(RRN), and attempts to find free areas for them in lower RRN locations.
This process is useful for the times when free space is minimal and it is fragmented to
such a degree as to inhibit full BIM-EDIT function, such as being unable to save large
members after an EDIT session.
The REORG command can provide temporary relief until a file expansion or major file
cleaning is completed and may even eliminate the need for file reorganization using a
full backup and restore operation.
Most BIM-EDIT operations can continue while REORG is running. However, the
following commands are disabled until the REORG has completed:
ALTERL, DEFINEL, FALTERL, PURGEL
ALTERU, DEFINEU, FALTERU, PURGEU
ARCHIVE, RECOVER
BACKUPG, BACKUPP, BACKUPS
CHECKIN, CHECKPUR, CHECKRST
PASSWORD
PURGE
RENAME
RESTORE, RESTOREL
VERIFY
Since the REORG process works on a relatively small group of records, each execution
duration is minimal.
When Valid
The user must have ADM command access level.
Use in a Procedure
REORG normally returns OK. (See SIBRETCD.)
Example
Reorg disk area free space.
Page 344
=> reorg
; don't log results
=> reorg log=on
; log results to $log
BIM-EDIT System Reference Manual
RESTORE (VSE version)
RESTORE (VSE version)
Use RESTORE to re-create a specified member from a logical backup tape.
Required Operands
MEM
is the library.member to be restored from the logical backup
tape.
Optional Operands
NMEM
is the new library.member name to which MEM is to be
restored.
The following parameters are valid only on the first RESTORE or RESTOREL
command read by BIMUTIL.
OPEN
is the value for the tape open option. It may be specified as
REWIND or NOREWIND. The default is REWIND.
CLOSE
is the value for the tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is UNLOAD.
LABEL
is the value for the tape label option. It may be specified as YES
or NO. YES indicates that the tape created will be a VSE
standard label tape. NO means that the tape is unlabelled. The
default is YES.
The BIFLOG tape created by BACKUPG will be used as input.
On VSE, the logical unit SYS004 must be assigned to the tape drive.
The destination library must exist on the system before it can be restored to.
If a member found on tape already exists in the LIB library, the member in the LIB
library is replaced with the one from tape. However, RESTORE will terminate if it
attempts to replace a member which is part of a checkout relationship or has EDIT or
LIST sessions open against it at the time of the RESTORE.
If you want to avoid the termination of the RESTORE, you can set PPDCOND to 1. This
will cause one or more messages to be generated describing the reason a member could
not be restored, and then processing will continue with the next member to be restored.
Any checkout relationships that exist on the backup will be lost when a member is
restored. An informational message is written to the output report containing all
information about the original checkout relationship. The checkout relationships for
restored members can be re-established using the CHECKRST command.
RESTORE retrieves the member as it was in the database at the time BACKUPG or
BACKUPS wrote the tape. In particular, a member which had an EDIT session open at
the time of the backup will be restored as if an END NOSAVE had been done.
Multiple members can be restored in one batch utility job. The RESTORE commands
must be in alphabetical order by library.member name. RESTORE can be intermixed
Chapter 8. Operator, Administrator Commands
Page 345
RESTORE (VSE version)
with RESTOREL, so long as alphabetical order is maintained. (If alphabetical order is
not maintained, RESTORE will report that the member is not on the tape.)
RESTORE will restore members from tapes written by previous releases.
When Valid
RESTORE can only be used in batch utility not communicating by LU 6.2. The user
must have OPER or ADM command access level. The member library must already
exist.
Use in a Procedure
Return Codes:
OK
CK
ED
LI
NF
Successful.
Member is a part of a checkout relationship.
Member is being edited.
Member has active LIST sessions.
One of the following:
• Member not found on tape.
• Library not found in BIM-EDIT.
• RESTORE commands are not in alphabetical order.
Examples
The following is a sample RESTORE job stream:
// JOB BIJREST
RESTORE MEMBER
// TLBL BIFLOG
// ASSGN SYS004,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
RESTORE OM20.OMREXIO LABEL=YES
RESTORE OM20.OMREXOP OMTEMP.OMREXOP
/*
/&
The following sample sets PPDCOND to allow errors to occur:
// JOB BIJREST
RESTORE MEMBERS
// TLBL BIFLOG
// ASSGN SYS004,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
SET PPDCOND,1
RESTORE LIB.MEMBER1
RESTORE LIB.MEMBER3
RESTORE LIB.MEMBER2
/*
/&
Page 346
BIM-EDIT System Reference Manual
RESTORE (VSE version)
Assuming that LIB.MEMBER3 does not exist, the following output would be generated
on SYSLST by the above example:
SET PPDCOND,1
## VARIABLE HAS BEEN SET ##
RESTORE LIB.MEMBER1
## MEMBER "LIB.MEMBER1" RESTORED ##
RESTORE LIB.MEMBER3
(BIGNFTXM) ** MEMBER "LIB.MEMBER3" NOT FOUND **
RESTORE LIB.MEMBER2
## MEMBER "LIB.MEMBER2" RESTORED ##
Chapter 8. Operator, Administrator Commands
Page 347
RESTORE (MVS version)
RESTORE (MVS version)
Use RESTORE to re-create a specified member from a logical backup tape.
Required Operands
MEM
is the library.member to be restored from the logical backup
tape.
Optional Operands
NMEM
is the new library.member name to which MEM is to be
restored.
The BIFLOG tape created by BACKUPG will be used as input.
On MVS, input will be read from ddname BIFLOG.
The destination library must exist on the system before it can be restored to.
If a member found on tape already exists in the LIB library, the member in the LIB
library is replaced with the one from tape. However, RESTORE will terminate if it
attempts to replace a member which is part of a checkout relationship or has EDIT or
LIST sessions open against it at the time of the RESTORE.
If you want to avoid the termination of the RESTORE, you can set PPDCOND to 1. This
will cause one or more messages to be generated describing the reason a member could
not be restored, and then processing will continue with the next member to be restored.
Any checkout relationships that exist on the backup will be lost when a member is
restored. An informational message is written to the output report containing all
information about the original checkout relationship. The checkout relationships for
restored members can be re-established using the CHECKRST command.
RESTORE retrieves the member as it was in the database at the time BACKUPG or
BACKUPS wrote the tape. In particular, a member which had an EDIT session open at
the time of the backup will be restored as if an END NOSAVE had been done.
Multiple members can be restored in one batch utility job. The RESTORE commands
must be in alphabetical order by library.member name. RESTORE can be intermixed
with RESTOREL, so long as alphabetical order is maintained. (If alphabetical order is
not maintained, RESTORE will report that the member is not on the tape.)
RESTORE will restore members from tapes written by previous releases.
When Valid
RESTORE can only be used in batch utility not communicating by LU 6.2. The user
must have OPER or ADM command access level. The member library must already
exist.
Use in a Procedure
Return Codes:
Page 348
BIM-EDIT System Reference Manual
RESTORE (MVS version)
OK
CK
ED
LI
NF
Successful.
Member is a part of a checkout relationship.
Member is being edited.
Member has active LIST sessions.
One of the following:
• Member not found on tape.
• Library not found in BIM-EDIT.
• RESTORE commands are not in alphabetical order.
Example
The following is a sample RESTORE job stream:
//RESTOREG JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
RESTORE OM20.OMREXIO
RESTORE OM20.OMREXOP OMTEMP.OMREXOP
/*
The following sample sets PPDCOND to allow errors to occur:
//RESTOREG JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
SET PPDCOND,1
RESTORE LIB.MEMBER1
RESTORE LIB.MEMBER3
RESTORE LIB.MEMBER2
/*
/&
Assuming that LIB.MEMBER3 does not exist, the following output would be generated
on SYSPRINT by the above example:
SET PPDCOND,1
## VARIABLE HAS BEEN SET ##
RESTORE LIB.MEMBER1
## MEMBER "LIB.MEMBER1" RESTORED ##
RESTORE LIB.MEMBER3
(BIGNFTXM) ** MEMBER "LIB.MEMBER3" NOT FOUND **
RESTORE LIB.MEMBER2
## MEMBER "LIB.MEMBER2" RESTORED ##
Chapter 8. Operator, Administrator Commands
Page 349
RESTOREL (VSE version)
RESTOREL (VSE version)
Use RESTOREL to re-create all the members of a specified library from a logical backup
tape.
Required Operands
LIB
is the library to be restored from the logical backup tape.
Optional Operands
NLIB
is the new library name to which LIB is to be restored.
The following parameters are valid only on the first RESTORE or RESTOREL
command read by BIMUTIL.
OPEN
is the value for the tape open option. It may be specified as
REWIND or NOREWIND. The default is REWIND.
CLOSE
is the value for the tape close option. It may be specified as
REWIND, NOREWIND or UNLOAD. The default is UNLOAD.
LABEL
is the value for the tape label option. It may be specified as YES
or NO. YES indicates that the tape created will be a VSE
standard label tape. NO means that the tape is unlabelled. The
default is YES.
PURGE
is used to specify whether RESTOREL should attempt to purge
the members in the target library prior to doing the restore. It is
not possible to purge the following:
•
•
•
a master member (i.e., check status is on)
a member that is part of a checkout relationship
a member that is password protected
The BIFLOG tape created by BACKUPG or BACKUPS job will be used as input.
On VSE, the logical unit SYS004 must be assigned to the tape drive.
The destination library must exist on the system before it can be restored to.
If a member found on tape already exists in the LIB library, the member in the LIB
library is replaced with the one from tape. However, RESTOREL will terminate if it
attempts to replace a member which is part of a checkout relationship or has EDIT or
LIST sessions open against it at the time of the RESTOREL.
If you want to avoid the termination of the RESTOREL, you can set PPDCOND to 1.
This will cause one or more messages to be generated describing the reason a member
could not be restored, and then processing will continue with the next member to be
restored.
Any checkout relationships that exist on the backup will be lost when a member is
restored. An informational message is written to the output report containing all
information about the original checkout relationship. The checkout relationships for
restored members can be re-established using the CHECKRST command.
Page 350
BIM-EDIT System Reference Manual
RESTOREL (VSE version)
RESTOREL retrieves members as they were in the database at the time BACKUPG or
BACKUPS wrote the tape. In particular, a member which had an EDIT session open at
the time of the backup will be restored as if an END NOSAVE had been done.
Multiple libraries can be restored in one batch utility job. The RESTOREL commands
must be ordered by library name. RESTOREL can be intermixed with RESTORE
commands, so long as alphabetical order is maintained.
RESTOREL will restore members from tapes written by previous releases.
When Valid
RESTOREL can only be used in batch utility not communicating by LU 6.2. The user
must have OPER or ADM command access level. The library must already exist.
Use in a Procedure
Return Codes:
OK
CK
ED
LI
NF
Successful.
Some member is a part of a checkout relationship.
Some member is being edited.
Some member has active LIST sessions.
One of the following:
• No members found on tape.
• Library not found in BIM-EDIT.
• RESTOREL commands are not in alphabetical order.
Example
The following is a sample RESTOREL job stream:
// JOB BIJRSTL
RESTORE LIBRARY
// TLBL BIFLOG
// ASSGN SYS004,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
RESTOREL OM20 LABEL=YES
RESTOREL OM30 OMTEMP
/*
/&
Chapter 8. Operator, Administrator Commands
Page 351
RESTOREL (MVS version)
RESTOREL (MVS version)
Use RESTOREL to re-create all the members of a specified library from a logical backup
tape.
Required Operands
LIB
is the library to be restored from the logical backup tape.
Optional Operands
NLIB
is the new library name to which LIB is to be restored.
PURGE
is used to specify whether RESTOREL should attempt to purge
the members in the target library prior to doing the restore. It is
not possible to purge the following:
•
•
•
a master member (i.e., check status is on)
a member that is part of a checkout relationship
a member that is password protected
The BIFLOG tape created by BACKUPG or BACKUPS job will be used as input.
On MVS, input will be read from ddname BIFLOG.
The destination library must exist on the system before it can be restored to.
If a member found on tape already exists in the LIB library, the member in the LIB
library is replaced with the one from tape. However, RESTOREL will terminate if it
attempts to replace a member which is part of a checkout relationship or has EDIT or
LIST sessions open against it at the time of the RESTOREL.
If you want to avoid the termination of the RESTOREL, you can set PPDCOND to 1.
This will cause one or more messages to be generated describing the reason a member
could not be restored, and then processing will continue with the next member to be
restored.
Any checkout relationships that exist on the backup will be lost when a member is
restored. An informational message is written to the output report containing all
information about the original checkout relationship. The checkout relationships for
restored members can be re-established using the CHECKRST command.
RESTOREL retrieves members as they were in the database at the time BACKUPG or
BACKUPS wrote the tape. In particular, a member which had an EDIT session open at
the time of the backup will be restored as if an END NOSAVE had been done.
Multiple libraries can be restored in one batch utility job. The RESTOREL commands
must be ordered by library name. RESTOREL can be intermixed with RESTORE
commands, so long as alphabetical order is maintained.
RESTOREL will restore members from tapes written by previous releases.
Page 352
BIM-EDIT System Reference Manual
RESTOREL (MVS version)
When Valid
RESTOREL can only be used in batch utility not communicating by LU 6.2. The user
must have OPER or ADM command access level. The library must already exist.
Use in a Procedure
Return Codes:
OK
CK
ED
LI
NF
Successful.
Some member is a part of a checkout relationship.
Some member is being edited.
Some member has active LIST sessions.
One of the following:
• No members found on tape.
• Library not found in BIM-EDIT.
• RESTOREL commands are not in alphabetical order.
Example
The following is a sample RESTOREL job stream:
//RESTOREL JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
RESTOREL OM20
RESTOREL OM30 OMTEMP
/*
Chapter 8. Operator, Administrator Commands
Page 353
SETKEYS
SETKEYS
Use SETKEYS to set standard BIM-EDIT PF keys.
SETKEYS has no operands.
As distributed, SETKEYS sets the commands associated with the PF keys as indicated
below:
ENTER
PF1/PF13
PF2/PF14
PF3/PF15
PF4/PF16
PF5/PF17
PF6/PF18
'NEXT'
'SCR AUD'
'REF'
'END'
'SAVE;PROC'
'SCR SP'
'OPEN'
PF7/PF19
PF8/PF20
PF9/PF21
PF10/PF22
PF11/PF23
PF12/PF24
'BACK'
'FOR'
'VIEW 1'
'VIEW 53'
'ROT -'
'ROT'
You may change the function of an individual PF key using the SET or KEYS
commands.
The System Administrator may create a site-customized version of SETKEYS by
copying procedure BIPSTKY from $SYS.PROC to $SIT.PROC and changing it. If this is
done, the Site command table will also need to be updated. See Chapter 11,
"Customization", in the BIM-EDIT System Reference Manual.
Use in a Procedure
SETKEYS normally returns OK. (See SIBRETCD.)
SETKEYS is implemented by system procedure BIPSTKY.
Example
Set standard PF keys for the current user:
=> SETKEYS
Page 354
BIM-EDIT System Reference Manual
SHUT
SHUT
Use SHUT to close BIM-EDIT for normal use.
SHUT terminates all active BIM-EDIT tasks. SHUT may be issued from any BIM-EDIT
task (i.e. from either online or batch).
On VSE, if BIM-EDIT is running as a subtask in a CICS partition, SHUT is not normally
used because shutdown is handled as part of the CICS shutdown PLT processing. You
can use SHUT in this environment to shut BIM-EDIT down earlier than CICS but it has
limited value since the only practical way to restart BIM-EDIT in this environment is to
cycle CICS.
Under normal operations, there is no requirement to shut BIM-EDIT down. All daily
activities can be run while users are on BIM-EDIT (although BACKUPG locks out
certain commands and BACKUPP and VERIFY lock out all access to BIM-EDIT while
they are running). Even modifications to BIM-EDIT itself do not normally require
shutdown (see NEWCOPY command). BIM-EDIT does not require an orderly
shutdown for its libraries to maintain integrity.
You must shut down BIM-EDIT prior to a complete library restore.
The principal reasons why you may WANT to shut down BIM-EDIT are:
•
To obtain valid end-of-job accounting statistics
•
To free the resources it occupies (i.e. the partition or region)
When Valid
The user must have OPER or ADM command access level.
Use in a Procedure
Return codes are not relevant because BIM-EDIT terminates.
Examples
Shut down BIM-EDIT:
=> shut
Shut down BIM-EDIT from a batch job:
VSE Job to shut down BIM-EDIT
// JOB BIMESHUT
// EXEC BIMUTIL
LOGON $BKP,$BKP
SHUT
/*
/&
Chapter 8. Operator, Administrator Commands
Page 355
SHUT
MVS Job to shut down BIM-EDIT
//BIMESHUT JOB
//BIMUTIL EXEC
//STEPLIB DD
//SYSPRINT DD
//SYSIN
DD
LOGON $BKP,$BKP
SHUT
/*
Page 356
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
*
BIM-EDIT System Reference Manual
TRACE
TRACE
Use TRACE to activate or deactivate the internal trace facility. The trace facility records
information about the routines BIM-EDIT executes.
Optional Operands
OPER
Specify "ON" to start the trace. Specify "OFF" to stop the trace.
Specify "INQ" to display the current trace status. Specify "PRT"
to route the output to SYSLST. Use of the "PRT" option will
result in many thousands of lines of output. If not specified,
"INQ" is assumed.
QUAL
is a qualifier to limit trace's operation. Specify a user id or a
terminal id for which tasks are to be traced. If not specified, all
tasks are traced.
The trace facility is implemented as command module BICTRCE. When active, all BIMEDIT tasks will generate entries in an internal wraparound memory table, the layout of
which is shown in the BICTRCE source code.
TRACE is intended for use under controlled conditions with assistance from BIM
technical support personnel.
When Valid
TRACE cannot be used in a procedure. The user must have OPER or ADM command
security.
Examples
Start the internal trace facility:
=> trace on
or
=> trace on,lsl
(Trace limited to tasks related to user LSL)
Stop the internal trace facility:
=> trace off
Display the current trace status:
=> trace inq
Chapter 8. Operator, Administrator Commands
Page 357
VERIFY
VERIFY
Use VERIFY to check the integrity of the BIM-EDIT library.
If VERIFY detects an error, BIM-EDIT will immediately terminate with a dump. If all is
well, a message indicating such will be displayed. If SIBOUTPT is set to a 'P' the
message is printed on the system printer. If SIBOUTPT is an 'N' messages are displayed
on the system console. If SIBOUTPT is a 'D' it will be set to 'P' for the duration of the
VERIFY and then set back to 'D'.
As VERIFY runs, it prints a line for every entity being checked. If an error is discovered,
the problem is probably with the entity last printed.
VERIFY does not correct problems. It is provided primarily as a user confidence tool in
the event that a reason exists to suspect library corruption.
If VERIFY detects errors, save the dump it produces and contact your BIM technical
support representative. Damaged entities can typically be purged or otherwise deleted.
VERIFY locks out all other users while it processes.
When Valid
VERIFY can only be used in batch utility. The user must have OPER or ADM command
access level.
Use in a Procedure
VERIFY normally returns OK. (See SIBRETCD.)
Example
The following is a sample VERIFY job stream:
VSE Job Control
// JOB BIJVRFY
// EXEC BIMUTIL
LOGON $SYS,$SYS
VERIFY
/*
/&
VERIFY INTEGRITY
MVS Job Control
//VERIFY
JOB
//BIMUTIL EXEC
//STEPLIB DD
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
VERIFY
/*
Page 358
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
*
BIM-EDIT System Reference Manual
ZAP
ZAP
Use ZAP to alter a value in memory for a specified module, address or location within
the MMP.
Required Operands
MOD
is the name of any BIM-EDIT module, a valid address within the
BIM-EDIT partition, or MMP to designate the BIFARMP
module. The address associated with this parameter will be
combined with the next parameter, the OFSET value, to
determine the address where the data verification and
replacement will be attempted.
OFSET
is the displacement value from the MOD address where the data
verification and replacement will be attempted.
DATA
is the verify and replace values separated by a colon (:). Each
byte is represented by two characters. The verify and replace
portions of the DATA field must be of equal length and contain
an even number of characters. The maximum amount of data
that can be verified:replaced with a single ZAP command is 16
characters.
When Valid
The user must have ADM security level and is available online, from a batch utility or
within a procedure.
Use in a Procedure
Return Codes:
OK
IA
IB
IL
IO
IR
IS
IV
NV
SC
Successful.
Module or Address is invalid.
An odd number of characters specified for a byte.
Invalid length.
Invalid offset.
Invalid replace.
Invalid separator character.
Invalid verify.
Verify data not found.
Inadequate access level.
Examples
=> zap mmp 800 b800b802:c7d6d740
(MMP at offset 800)
=> zap bicazap 20 47f02054:47002054
(BICAZAP at offset 20)
=> zap c50b82 0 d203:d207
(memory at address C50B82)
Chapter 8. Operator, Administrator Commands
Page 359
Chapter 9. Installation and Maintenance
This chapter discusses the first time installation of BIM-EDIT on your system. It is
divided into two large sections:
•
First Time Installation on VSE
•
First Time Installation on MVS
These sections are step-by-step installation "recipes". Following them are two smaller
sections that cover topics common to both systems:
•
Installing a BIM-EDIT System under an Alternate System Name
•
First Time Logon
•
Initial Contents of Libraries
•
Common Problems
Upgrades
If you are upgrading your version of BIM-EDIT, you should not use the procedures in
this chapter; you should receive instructions with the upgrade tape which are specific to
the versions you are upgrading from and to. If you did not receive instructions, or they
do not appear to correspond to the versions you are actually upgrading between, please
contact your BIM technical support representative to be sure you are using the correct
procedure.
Contacting BIM-EDIT Technical Support
BIM and its agents maintain a staff of support technicians to resolve problems and
answer questions regarding BIM products. If you need to contact them about a problem
with BIM-EDIT, you should be ready to provide:
•
Release number of the BIM-EDIT you are running. (On the no-session display or the
MMPSYREL predefined variable).
•
Release number of the operating system you are running under.
•
Whether BIM-EDIT is run in its own partition/region or as a VSE subtask of CICS.
•
Any memory dump that is relevant to the problem.
You may also wish to refer to the "Common Problems" section later in this chapter.
If BIM-EDIT "stalls", you should cancel it in such a way as to obtain a dump.
Page 360
BIM-EDIT System Reference Manual
First Time Installation on VSE
First Time Installation on VSE
System Prerequisites
BIM-EDIT is designed for a certain environment. The following must be available on the
host system:
•
The IBM VSE operating system, with a minimum release level of 1.3.0. (Some
features are only available if installed on VSE/SP 2.1 or later.) Software Pursuits
MVT can also be used.
•
IBM POWER or Software Pursuits SPRI spooling.
•
CICS (minimum release level 1.5) or VTAM or the BIM-EDIT BTAM interface. If
several access methods are present, several can be installed. BIM-EDIT can be used
by all installed access methods concurrently.
•
Sufficient memory and disk space to run BIM-EDIT. For the Starter System
supporting 8 simultaneous users, a minimum of 832K memory and 14M of disk
space is required.
Distribution Tape Format
The distribution tape contains four files:
File #1
Unlabeled SYSIN/POWER Start RDR format JCL to catalog approximately
1100 core image phases. All phases begin with the two characters "BI".
Record size is 80 bytes, block size is 4000. This file must be deblocked
before being used as SYSIN, can be used as is for POWER Start RDR.
File # 2
Null File
File #3-5
Labeled BIM-EDIT starter library. The starter library provides a user with
an ID of "$SYS". Its password is "$SYS".
Installation Steps
Depending on your operating system and/or the size of your POWER Reader Queue,
there are two options available for the installation:
1.
POWER Start RDR. This requires space in your Reader Queue for a job of
approximately 21,000 lines.
2.
SYSIN install. This requires that the first file of the installation tape be deblocked:
TTR,190,191,80,1
(190 and 191 are the input and output drives)
-orTTR,190,191,FB,80,F,80 (VSE/ESA 2.1 and above)
Chapter 9. Installation and Maintenance
Page 361
First Time Installation on VSE
Step-by-step installation instructions follow:
1.
Review the BIM-EDIT Release Letter provided with the distribution tape for
potential impact on the installation process.
2a. To perform a POWER Start RDR install, mount the BIM-EDIT distribution tape on a
drive and enter the following command:
S RDR,cuu
where cuu is the address of the tape drive.
Once the tape has been loaded, alter the job BIM-EDIT to run in a partition that has
assignments for linking programs.
2b. To perform a SYSIN install, submit or release a PAUSE job such as the following
that will run in a partition that has assignments for linking programs:
// JOB PAUSE
// PAUSE
/&
When the PAUSE statement is processed, enter:
LISTIO SYSRDR
VSE will display the current assignment for SYSRDR. This value will be needed
later in this step. Now assign SYSIN to the unblocked tape created in the previous
step. For example, if the unblocked tape is mounted on tape unit 181, you would
enter:
ASSGN SYSIN,181
(permanent ASSGN; no slashes)
VSE will display a READY message. Enter a null command, that is, enter the
partition number without any data. JCL will now be processed from the tape.
3.
You will be prompted to enter a load and object library assignment. For VSE release
1.3.0 and VSE release 1.3.5, you should enter two assignments like:
// LIBDEF CL,TO=USRCL9
// LIBDEF RL,TO=USRRL9
For more recent VSE versions, you should enter an assignment like:
// LIBDEF *,CATALOG=BIMLIB.EDIT
VSE will display a READY message. Enter a null command.
For VSE releases more recent than 1.3.5, during the step when object modules are
cataloged, VSE will display the message:
L146A ENTER THE LIBRARY.SUBLIBRARY SPECIFICATION TO BE PROCESSED
Respond by re-entering the library and sublibrary from the LIBDEF statement. For
the LIBDEF in the example above, you would respond:
BIMLIB.EDIT
Page 362
BIM-EDIT System Reference Manual
First Time Installation on VSE
Approximately 1250 phases and 2 object modules will be cataloged. The phases will
require approximately 2100 1,024 byte LIBR blocks.
You will then be prompted to reassign SYSIN. If you are doing a POWER Start RDR
install, end-of-block this pause, otherwise assign SYSIN to the address where
SYSRDR was assigned at the beginning of step 2b (refer to LISTIO output). If
SYSRDR was assigned to address 02C, you would enter:
ASSGN SYSIN,02C
4.
Apply zaps according to the zap sheet provided with the distribution tape.
Running as a Sub-task of CICS
5.
Decide where BIM-EDIT will run. The choices are in its own partition, as a VSE
subtask within a partition running CICS, or as a VSE subtask in a partition running
the BIM-EDIT BTAM interface. A single BIM-EDIT database can also be accessed
from multiple CICS systems concurrently and from multiple physical or virtual
machines concurrently using the VTAM LU 6.2 interface. Thus, at some sites there
may be many possible choices regarding where to run BIM-EDIT.
For interactive users and batch access, BIM-EDIT functions practically identically
however it is run. That is, wherever it is run, CICS users can communicate with
BIM-EDIT using CICS tasks, VTAM users can communicate with BIM-EDIT directly
through VTAM, users whose terminals are assigned to the BTAM interface can
communicate through BTAM, and Batch Utility and Application Interface programs
will operate.
If there is a choice of physical or virtual machines, BIM recommends you install
BIM-EDIT on the machine which will originate most of the access to BIM-EDIT.
This is because same-machine access is simpler to install and more efficient than
cross-machine access. An overriding consideration may be that BIM-EDIT does not
allow cross-machine backups and restores.
BIM's strong recommendation is not to run BIM-EDIT in a CICS partition (that is,
to run BIM-EDIT in its own partition or as a subtask of the BTAM interface) for the
following reasons:
•
BIM-EDIT can be active even though its CICS is not. BIM-EDIT batch jobs, BIMEDIT Application Interface programs, and access through VTAM, other CICS,
or BTAM can run even though CICS is down.
•
BIM-EDIT is protected from corruption caused by other CICS tasks. When BIMEDIT is running in its own partition, it's completely safe to access BIM-EDIT
from a CICS system used for testing new applications. There is virtually no
possibility that the CICS applications can corrupt BIM-EDIT. The benefit is
significant because BIM-EDIT buffers a great deal of text in memory. If BIMEDIT is run as a VSE subtask within a CICS partition, it is vulnerable to
memory corruption caused by other CICS tasks.
•
In a multiple address space system, it can be advantageous to offload BIMEDIT's virtual storage requirement to a separate address space. If you want to
maximize the amount of virtual storage available in your production CICS, you
can set up BIM-EDIT to run in its own partition in another address space.
Chapter 9. Installation and Maintenance
Page 363
First Time Installation on VSE
•
CICS systems can be volatile. When a CICS system "crashes", BIM-EDIT doesn't
miss a beat. If BIM-EDIT is running in its own partition, and if a CICS system
accessing BIM-EDIT "crashes", BIM-EDIT itself does not "crash", but continues
on its way. It simply logs off those users that were accessing BIM-EDIT from
that CICS. (Whether BIM-EDIT is running in its own partition or as a VSE
subtask in a CICS partition, recovery is totally automatic, so "crashes" are not an
overriding consideration).
•
There is no memory penalty for running in its own partition -- the same amount
of virtual storage will be needed by BIM-EDIT wherever it runs. (BIM-EDIT
uses primarily GETVIS storage, which it does not deallocate while it is running
-- therefore it will not "pool" memory with other CICS applications.)
•
It is somewhat less work to install BIM-EDIT in a separate partition, since CICS
PLT table entries are not required. (The effort to define or modify a partition of
appropriate characteristics is the same.)
•
Resolution of any problems is made more complicated by the extraneous CICS
code/data in the partition.
•
Access to the VSE sublibraries is not available when BIM-EDIT is run as a VSE
subtask of CICS.
BIM feels the only valid reason for running BIM-EDIT as a subtask of CICS is that
all partitions have been allocated for other purposes on a pre-VSE/ESA system.
If you decide to run BIM-EDIT as a subtask of CICS, you may have to decide which
CICS to run it under. After you are confident of the installation, BIM recommends
putting it under a "production" CICS rather than a "test" CICS, due to the decreased
likelihood of memory corruption and greater "up time" of production CICS
environments.
To perform a quick temporary installation of BIM-EDIT on VSE, the easiest
approach is often to run BIM-EDIT in a one megabyte or larger partition that you
can "borrow" part of the day (at some sites the Test CICS partition can be used this
way). Whether it is simplest to set up access to this temporary BIM-EDIT from CICS
or directly from VTAM depends on the site. Adding a VTAM APPL is simple but
usually requires cycling VTAM. The CICS access is more complex to install but can
be done without cycling by using IBM's Resource Definition Online (CEDA
transaction).
Storage Requirements
6.
Determine storage requirements for BIM-EDIT. The following chart gives virtual
storage as a function of the number of simultaneous users expected on BIM-EDIT.
Max users
logged on
8 (minimum)
16
Virtual
storage
1536K
2560K
MMP16KSP
(see below)
70
135
Max users
logged on
32
64
Virtual
storage
3072K
4096K
MMP16KSP
(see below)
167
210
(Sometimes system software requires a certain amount of virtual storage within the
GETVIS area of each partition. BIM-EDIT automatically reserves 64K for such uses.
At present, tape and disk managers are the only products that BIM has identified as
having additional requirements. After you've determined BIM-EDIT's requirement,
Page 364
BIM-EDIT System Reference Manual
First Time Installation on VSE
be sure to add requirements posed by such products. If you're not sure of the
requirements, 48K is probably an adequate additional allocation.)
If BIM-EDIT is run in its own partition, the partition size should be the calculated
virtual storage amount plus the EXEC size of 4K if direct access to the VSE
sublibraries is not to be used or 180K for the LIBR interface if direct access to the
VSE sublibraries is to be used.
If BIM-EDIT is run as a subtask of the BTAM interface, the partition size should be
the calculated virtual storage amount plus 64K if direct access to the VSE
sublibraries is not to be used or 220K for the LIBR interface if direct access to the
VSE sublibraries is to be used.
If BIM-EDIT is run as a VSE subtask of CICS, the amount used from CICS storage
will be 4K, and the remainder should be available as CICS GETVIS. (The LIBR
interface is not supported when BIM-EDIT is running VSE subtask of CICS.)
The chart also gives the value for predefined BIM-EDIT variable MMP16KSP, which
is used to limit the amount of virtual memory BIM-EDIT will attempt to claim when
it is started. The value of MMP16KSP which is distributed with the starter system is
70.
In a multiple address space system, BIM-EDIT can run in any address space, and
service online or batch access in its own or in any other address space. You can
maximize the amount of virtual storage available in one address space by assigning
BIM-EDIT's requirement to another address space.
Experience will dictate whether to adjust these amounts upward or downward. For
discussion on adjusting these amounts and altering MMP16KSP to conform to your
initial system size, see "Managing Memory Utilization" in Chapter 10 of this
manual.
Disk Space Requirements
7.
Allocate space for the BIM-EDIT database.
The BIM-EDIT database must provide enough space for 3000 4096 byte blocks in
order to install a usable starter system. The database can have up to 16 extents, all of
which must be of the same disk type.
For FBA disk drives, eight FBA blocks equal one BIM-EDIT 4096 byte block.
For CKD disk drives, the following table shows the number of BIM-EDIT 4096 byte
blocks per track.
Disk drive
2314
3330
3340
3350
Blocks/track
1
3
2
4
Disk drive
3375
3380
3390
9345
Blocks/track
8
10
12
10
For more discussion of disk space requirement, see "Disk Space Management" in
Chapter 10 of this manual.
8.
Set up file access. BIM-EDIT refers to three files:
BIFLIB
The BIM-EDIT database.
Chapter 9. Installation and Maintenance
Page 365
First Time Installation on VSE
BIFPWRQ The POWER queue file IJQFILE.
BIFPWRD The POWER data file IJDFILE.
An MMP variable MMPPWRNM is provided, which when set to a value of "1" will
cause BIM-EDIT to use the IJQFILE and IJDFILE names to access the POWER queue
and data files. The SYS numbers on the labels for IJQFILE and IJDFILE must be
assigned properly in the BIM-EDIT partition.
Update the DOS standard label area to provide DLBL and EXTENT statements for
the files. Alternatively, the statements can be included in job streams where
required. The following JCL statements can serve as an example (assumes FBA disk
drives, adjust for CKD):
//
//
//
//
//
//
DLBL
EXTENT
DLBL
EXTENT
DLBL
EXTENT
BIFLIB,'EDTR.BIFLIB',99/365,DA
SYS061,DSK260,1,0,60000,240000
BIFPWRQ,'POWER.QUEUE.FILE',99/365,DA
SYS062,DSK260,1,0,42464,704
BIFPWRD,'POWER.DATA.FILE',99/365,DA
SYS063,DSK261,1,0,260770,40000
DLBL and EXTENT information for BIFPWRQ and BIFPWRD should correspond to
information from the existing DLBL and EXTENT statements for the POWER queue
file IJQFILE and the POWER data file IJDFILE. File access to these files is not
required if you are running SPRI.
The SYS numbers chosen are optional. It is recommended that these SYS numbers
be permanently assigned at IPL time. Alternatively, they can be assigned in job
streams where required.
If you run ICCF and wish to use the BIM-EDIT commands that access its data while
converting to BIM-EDIT, you may also need to define DTSFILE. However, this is
not necessary if the DLBL and EXTENT statements for DTSFILE are already in the
DOS Standard Label Area.
// DLBL
DTSFILE,'ICCF.LIBRARY',99/365,DA
// EXTENT SYS010,SYSWK3,1,0,3420,240000
Access to DTSFILE is required only while converting from ICCF to BIM-EDIT.
There are only two job streams that require access to the DLBL, EXTENT, and
ASSGN statements: the BIM-EDIT restore job stream and the job stream that runs
BIM-EDIT. (The job stream that runs BIM-EDIT could be a job stream executing
BIMEDIT, a job stream executing the BTAM interface, or a job stream executing
CICS, depending on what you decided in step 6.) Batch jobs and other online access
programs do not need access to these statements.
9.
Page 366
Restore the starter database. A sample job stream follows. The starter database is
the third file on the tape, hence the MTC FSF statement. If DLBL and EXTENT
statements for the BIFLIB file are not in the DOS standard label area, they must also
be included. If the ASSGNs for the BIFLIB file are not permanent, they must also be
included.
BIM-EDIT System Reference Manual
First Time Installation on VSE
//
//
//
//
//
//
/&
JOB RESTORE
RESTORE BIM-EDIT STARTER LIBRARY
TLBL BIFLOG
ASSGN SYS004,TAPE
PAUSE MOUNT TAPE
MTC FSF,SYS004,2
EXEC BIMREST,SIZE=6K,PARM='TYPE=LOGICAL'
When the restoration is complete, BIM-EDIT will display the following message.
BIRRSLGA LOGICAL RESTORE COMPLETE
VTAM Definitions for BIM-EDIT
10. If you are running the VTAM telecommunications access method, you can provide
direct VTAM access to BIM-EDIT. Note that providing direct VTAM access does not
preclude accessing BIM-EDIT through CICS or BTAM. All BIM-EDIT access
methods can be used concurrently.
If you only want direct online access (that is, you do not want to access BIM-EDIT
from a workstation and you do not want to access BIM-EDIT from a physical or
virtual machine other than the one it runs on), add the following APPL statement to
your VTAM table definitions:
BIMEDIT
APPL AUTH=(ACQ),DSESLIM=4
If you choose a name other than BIMEDIT for the APPL statement, see "Installing
BIM-EDIT under an Alternate System Name" for additional installation
requirements.
If you want access from a workstation or you want to access BIM-EDIT from a
physical or virtual machine other than the one it runs on, use APPL statements
similar to the following to provide LU 6.2 access to BIM-EDIT:
BIMEDIT
BIMUTIL
BIMAPPL
APPL AUTH=(ACQ),APPC=YES,MODETAB=BIMMODE,DSESLIM=4
APPL AUTH=(ACQ),APPC=YES,MODETAB=BIMMODE,DLOGMOD=EDITLU62
APPL AUTH=(ACQ),APPC=YES,MODETAB=BIMMODE,DLOGMOD=EDITLU62
where BIMMODE represents the name of a site-specific MODETAB. You will need
to create a MODETAB or add an entry like the following to an existing one.
MODEENT LOGMODE=EDITLU62,FMPROF=X'13',TSPROF=X'07',
PRIPROT=X'B0',SECPROT=X'B0',COMPROT=X'D0B1',
RUSIZES=X'8888',ENCR=B'0000',TYPE=0,
PSERVIC=X'060200000000000000000300'
You may wish to review "ACF/VTAM Resource Definition Reference" (IBM manual
SC31-6412, as of VTAM Version 3.3).
(If BIM-EDIT is the first application you have installed that uses APPC=YES, there
will be a significant increase in the memory requirement for VTAM when it is
restarted. You may need to provide an "escape path" if your partition size proves
insufficient.)
Shut down and restart VTAM.
Chapter 9. Installation and Maintenance
Page 367
First Time Installation on VSE
CICS Definitions for BIM-EDIT
11. Add entries to the tables for any CICS that is to access BIM-EDIT.
Access to BIM-EDIT from CICS is provided by small CICS Command-Level
pseudo-conversational access transaction that must be defined to CICS, whether
BIM-EDIT is running in its own partition or as a subtask of CICS.
(The following table entries refer to TRANSID=EDTR. "EDTR" is not a required
TRANSID -- you can use whatever is more appropriate for your site. However, you
should note that EDTR is the transaction referenced in the BIM-EDIT
documentation. In addition, if you run BIM-EDIT pseudo-conversational, the
TRANSID you use must be in table BIMCSDT, which is shipped with the value
"EDTR". To revise BIMCSDT, see "Changing the CICS Data Module (BIMCSDT)" in
Chapter 11 of this manual. If you have no way to access BIM-EDIT online until you
make this change, use the PUNCH command in BIM-EDIT batch utility to extract
$SYS.SRC.BIMCSDT and $SYS.SRC.BI$CSD.)
CICS Table Entries
DFHPCT TYPE=ENTRY,TRANSID=EDTR,PROGRAM=BIMCSCL
DFHPCT TYPE=ENTRY,TRANSID=EDT2,PROGRAM=BIMCSCL,SCRNSZE=ALTERNATE
DFHPPT TYPE=ENTRY,PROGRAM=BIMCSCL,PGMLANG=ASSEMBLER
DFHPPT TYPE=ENTRY,PROGRAM=BIMCSDT,RES=YES,PGMLANG=ASSEMBLER
CICS Resource Definition Online Entries (CEDA)
CEDA
CEDA
CEDA
CEDA
CEDA
DEFINE
DEFINE
DEFINE
DEFINE
DEFINE
GROUP(EDIT)
GROUP(EDIT)
GROUP(EDIT)
GROUP(EDIT)
GROUP(EDIT)
PROF(EDITALT) SCRNSIZE(ALT) UCTRAN(NO)
PROGRAM(BIMCSCL) LANG(A)
PROGRAM(BIMCSDT) LANG(A) RES(YES)
TRAN(EDTR) PROG(BIMCSCL)
TRAN(EDT2) PROG(BIMCSCL) PROF(EDITALT)
The entry for EDT2 is used for alternate screen mode processing. The transaction
ids used for EDTR and EDT2 must both have the same first three characters. The
'EDTR' entry must have an 'R' as the fourth character, and the 'EDT2' entry must
have a '2' as the fourth character.
(If you intend to access CICS programs as BIM-EDIT commands, you should
modify the PCT entry to provide adequate TWA size for these programs. See
"Creating Commands Which Access CICS Transactions (BIFXCTR Table)" in
Chapter 11 of this manual.)
You should not need to make any other modifications for CICS unless it is running
BIM-EDIT as a subtask -- the BIM-EDIT CICS access module does not access any
files and its virtual storage requirement within a CICS partition is negligible.
Page 368
BIM-EDIT System Reference Manual
First Time Installation on VSE
Running BIM-EDIT as a VSE subtask under CICS
12. If BIM-EDIT is to run as a VSE subtask in a partition running CICS, you must alter
the CICS tables and the CICS job stream for that CICS.
Include the following entries in the tables for a CICS running BIM-EDIT:
CICS Table Entries
DFHPPT TYPE=ENTRY,PROGRAM=BIMCSSH,PGMLANG=ASSEMBLER
DFHPPT TYPE=ENTRY,PROGRAM=BIMCSST,RES=YES,PGMLANG=ASSEMBLER
DFHPPT TYPE=ENTRY,PROGRAM=BIMEDIT,RES=YES,PGMLANG=ASSEMBLER
CICS Resource Definition Online Entries (CEDA)
CEDA DEFINE GROUP(EDIT) PROGRAM(BIMCSSH) LANG(A)
CEDA DEFINE GROUP(EDIT) PROGRAM(BIMCSST) LANG(A) RES(YES)
CEDA DEFINE GROUP(EDIT) PROGRAM(BIMEDIT) LANG(A) RES(YES)
Startup PLT Entry
DFHPLT TYPE=ENTRY,PROGRAM=BIMCSST
Shutdown PLT Entry (before the entry for DFHDELIM)
DFHPLT TYPE=ENTRY,PROGRAM=BIMCSSH
PLTs (Program List Tables) can be troublesome. If your site is already using startup
and shutdown PLTs, then simply add the BIM-EDIT entries to those tables.
If PLTs are not in use, the CICS manuals should be reviewed. See the DFHSIT
parameters PLTPI and PLTSP, as well as the DFHPLT section. Note that the name
of both the startup and shutdown PLT tables (DFHPLTxx) must also appear in the
DFHPPT.
Modify the CICS job stream as follows:
•
Ensure that there is enough GETVIS area to accommodate BIM-EDIT's virtual
storage requirement (the additional GETVIS requirement was calculated in step
6).
•
Add DLBL, EXTENT, and ASSGN statements for BIM-EDIT files as needed. If
you've added the DLBL and EXTENT statements to the DOS standard label
area, there is no need to include them here. Likewise, if the ASSGNs for these
files were made at IPL time, they needn't be included here.
13. If you used the table method for adding CICS definitions, or are running BIM-EDIT
as a subtask of CICS, recycle the CICS systems that are to access BIM-EDIT. If BIMEDIT is to run as a VSE subtask in a CICS partition, it is started as part of the
startup PLT processing when that CICS system is recycled.
14. If you will access BIM-EDIT solely through the BTAM interface or you plan on
running BIM-EDIT as a subtask of the BTAM interface, you should install the
BTAM interface at this point. Installation of the BTAM interface is covered in
Chapter 12, "BIM-EDIT BTAM Terminal Interface Facility" of this manual. If you
plan to use VTAM or CICS to access BIM-EDIT and will not run BIM-EDIT as a
Chapter 9. Installation and Maintenance
Page 369
First Time Installation on VSE
subtask of the BTAM interface, it is easier to install the BTAM interface after BIMEDIT is accessible.
Loading BIUAPMD into the SVA
15. If you have any applications or other vendor products that will be interfacing with
BIM-EDIT using its "Application Interface", as described in Chapter 6 of this
manual, or if you plan on using the "BIM-EDIT Copy Book Facility", as described in
Chapter 7 of this manual, then you must load module BIUAPMD into the SVA.
The following job stream can be used to load BIUAPMD into the SVA. You will
want to integrate this job step into your normal IPL procedure:
// LIBDEF PHASE,SEARCH=bimedit.loadlib
SET SDL
BIUAPMD,SVA
/*
Starting BIM-EDIT
16. If BIM-EDIT is to run in its own partition, submit a startup job stream similar to the
following. If DLBL and EXTENT statements for the BIM-EDIT files are not in the
DOS standard label area, they must also be included. If the ASSGNs for these files
are not permanent, they must also be included:
// JOB BIMEDIT
// OPTION PARTDUMP
// EXEC BIMEDIT,SIZE=180K
/&
<- generate dump if abend occurs
When BIM-EDIT completes its initialization, the following message will display on
the system console:
BIMEDITA
SYSTEM "BIMEDIT" INITIALIZATION COMPLETE
(If you are using a release of VSE prior to SP 2.1, the message will be
BIMEDITA
SYSTEM "SYSARI" INITIALIZATION COMPLETE
In this environment, BIM-EDIT "borrows" a communications resource designated
for SQL. If your site uses SQL on a release of VSE prior to SP 2.1, contact your BIM
Technical Support Representative.)
17. Logon to BIM-EDIT interactively to check that it is operational and to start
customizing BIM-EDIT to your site's needs. These steps are described in the section
"First Time Logon" later in this chapter.
Page 370
BIM-EDIT System Reference Manual
First Time Installation on MVS
First Time Installation on MVS
System Prerequisites
BIM-EDIT/MVS is designed for a certain environment. The following must be available
on the host system:
•
The IBM MVS/SP, MVS/XA, or MVS/ESA operating system.
•
JES2 spooling.
•
CICS (minimum release level 1.5), TSO, or VTAM.
•
Sufficient memory and disk space to run BIM-EDIT. For the Starter System
supporting 8 simultaneous users, a minimum of 968K memory and 14M of disk
space is required.
Distribution Tape Format
The distribution tape contains two labeled files.
File #1 IEBCOPY of the load library, which contains approximately 1200 load modules.
Block size = 6,400.
File #2 BIM-EDIT starter library. The starter library provides a user with an ID of
"$SYS". Its password is "$SYS".
Installation Steps
Step-by-step installation instructions follow:
1.
Review the System Reference Manual Supplement provided with the distribution
tape for potential impact on the installation process.
2.
Load the BIM-EDIT load modules into an APF-authorized library by submitting a
job stream similar to the following:
//BIMINST JOB ....
//IEBCOPY EXEC PGM=IEBCOPY
//DD1
DD
DSN=BIMEDIT.LOADLIB,DISP=(OLD,PASS),
//
LABEL=(1,SL),UNIT=TAPE,VOL=SER=BIMED1
//DD2
DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
COPY I=DD1,O=DD2
/*
Approximately 1200 modules will be loaded. 200 directory blocks are required. The
PDS block size is 6,400 bytes.
3.
Apply zaps according to the zap sheet provided with the distribution tape.
Chapter 9. Installation and Maintenance
Page 371
First Time Installation on MVS
SVC 249
4.
BIM-EDIT communicates across address spaces through user SVC 249. If SVC 249 is
already in use by another software product, BIM-EDIT can be modified to use
another SVC number. Contact your BIM technical support representative for
instructions. If you do use a different SVC, note that the name of the module
supporting the SVC (IGC0024I below) will also change (24I is zoned decimal 249).
5.
Cause load module IGC0024I to be loaded as user SVC 249 (type 3, non-pageable
link-pack area).
For MVS/SP:
•
Copy load module IGC0024I from the BIM-EDIT load module library to
library SYS1.LPALIB.
•
Ensure that the SVC 249 entry in the user SVC table is defined as type 3 (the
entry in the user SVC table distributed with MVS/SP is declared this way).
•
Flag IGC0024I to reside in the Modified Link Pack Area (MLPA). Make an
entry in member IEALPAnn in SYS1.PARMLIB to identify the library from
which IGC0024I will be loaded. The entry should look like the following:
SYS1.LPALIB IGC0024I
Make an entry in member IEASYSnn in SYS1.PARMLIB to identify the
IEALPAnn member that holds the MLPA eligible entries. The entry should
look like the following:
MLPA=nn
(where nn is the suffix number of the IEALPA member). Refer to the IBM
System Initialization and Tuning Manual for full details on syntax and
system specific rules.
For MVS/XA and later releases:
•
Copy load module IGC0024I from the BIM-EDIT load module library to
library SYS1.LPALIB.
•
Add the following statement to member IEASVCnn (where nn is a twodigit number) in library SYS1.PARMLIB:
SVCPARM 249,REPLACE,TYPE(3),EPNAME(IGC0024I),APF(NO)
•
Add the following statement to member IEAFIXnn (where nn is a two-digit
number) in library SYS1.PARMLIB:
SYS1.LPALIB IGC0024I
•
Add the following statement to member IEASYSnn (where nn is a two digit
number) in library SYS1.PARMLIB:
FIX=(nn,NOPROT)
(where nn is a two-digit number identifying the nn suffix of member
IEAFIXnn mentioned above)
Page 372
BIM-EDIT System Reference Manual
First Time Installation on MVS
6.
Add the following statements to member SCHEDnn (where nn is a two-digit
number) to make the indicated programs non-swappable:
PPT
PPT
PPT
PPT
7.
PGMNAME(BIMEDIT),NOSWAP
PGMNAME(BIMUTIL),NOSWAP
PGMNAME(BIMREST),NOSWAP
PGMNAME(BIMTSED),NOSWAP
Determine storage requirements for BIM-EDIT. The following chart gives region
size as a function of the number of simultaneous users expected on BIM-EDIT.
Max users
logged on
8 (minimum)
16
Region
size
1536K
2560K
MMP16KSP
(see below)
70
135
Max users
logged on
32
64
Region
size
3072
4096
MMP16KSP
(see below)
167
210
The chart also gives the value for predefined BIM-EDIT variable MMP16KSP, which
is used to limit the amount of virtual memory BIM-EDIT will attempt to claim when
it is started. The value of MMP16KSP which is distributed with the starter system is
70.
Experience will dictate whether to adjust these amounts upward or downward. For
discussion on adjusting these amounts and altering MMP16KSP to conform to your
initial system size, see "Managing Memory Utilization" in Chapter 10 of this
manual.
8.
Determine the number of tracks (or cylinders) needed for the BIM-EDIT library.
The minimum size allowed for BIFLIB must provide enough space for 3000 4096
byte blocks.
Chapter 9. Installation and Maintenance
Page 373
First Time Installation on MVS
Multiple Extent BIFLIB
The maximum size allowed is 16 allocations or extents on up to 8 disk volumes. The
EXTENTS=n operand on the BIMREST PARM= specifies how many allocations are
to be used. The default is EXTENTS=1, which will format and use the primary
allocation for the dataset. Specifying the maximum, EXTENTS=16, will format the
primary allocation, and 15 secondary allocations.
The following table shows the number of BIM-EDIT 4096 byte blocks per track, for
various device types:
Disk drive
2314
3330
3340
3350
Blocks/track
1
3
2
4
Disk drive
3375
3380
3390
9345
Blocks/track
8
10
12
10
For more discussion of disk space requirement, see "Managing Disk Space" in
Chapter 10 of this manual.
9.
Restore the starter library. A sample job stream follows:
//RESTORE
//BIMREST
//STEPLIB
//SYSUDUMP
//BIFLOG
//
//BIFLIB
//
//
JOB
EXEC
DD
DD
DD
DD
...
PGM=BIMREST,TIME=(0,20),PARM='TYPE=LOGICAL,EXTENTS=1'
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=A
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(2,SL,EXPDT=98000),
VOL=SER=BIMED1
DSNAME=BIMEDIT.BIFLIB,DISP=(NEW,CATLG),
SPACE=(CYL,70,,CONTIG),UNIT=SYSDA,
VOL=SER=MVS009
When the restoration is complete, BIM-EDIT will display the following message.
BIRRSLGA
LOGICAL RESTORE COMPLETE
VTAM Definitions for BIM-EDIT
10. If you are running the VTAM telecommunications access method, you can provide
direct VTAM access to BIM-EDIT. Note that providing direct VTAM access does not
preclude accessing BIM-EDIT through CICS or TSO. All BIM-EDIT access methods
can be used concurrently.
To provide direct VTAM or LU 6.2 access to BIM-EDIT, use APPL statements
similar to the following:
BIMEDIT
BIMUTIL
BIMAPPL
APPL AUTH=(ACQ),APPC=YES,MODETAB=BIMMODE,DSESLIM=4
APPL AUTH=(ACQ),APPC=YES,MODETAB=BIMMODE,DLOGMOD=EDITLU62
APPL AUTH=(ACQ),APPC=YES,MODETAB=BIMMODE,DLOGMOD=EDITLU62
where BIMMODE represents the name of a site-specific MODETAB. The following
is an example of the MODETAB entry required:
MODEENT LOGMODE=EDITLU62,FMPROF=X'13',TSPROF=X'07',
PRIPROT=X'B0',SECPROT=X'B0',COMPROT=X'D0B1',
RUSIZES=X'8888',ENCR=B'0000',TYPE=0,
PSERVIC=X'060200000000000000000300'
Page 374
BIM-EDIT System Reference Manual
First Time Installation on MVS
Shut down and restart VTAM.
If you choose a name other than BIMEDIT for the APPL statement, see "Installing
BIM-EDIT under an Alternate System Name" for additional installation
requirements.
CICS Definitions for BIM-EDIT
11. Add entries to the tables for any CICS that is to access BIM-EDIT.
Access to BIM-EDIT from CICS is provided by small CICS Command-Level
pseudo-conversational access transaction.
(The following table entries refer to TRANSID=EDTR. "EDTR" is not a required
TRANSID -- you can use whatever is more appropriate for your site. However, you
should note that EDTR is the transaction referenced in the BIM-EDIT
documentation. In addition, if you run BIM-EDIT pseudo-conversational, the
TRANSID you use must be in table BIMCSDT, which is shipped specifying "EDTR".
To revise BIMCSDT, see "Changing the CICS Data Module (BIMCSDT)" in Chapter
11 of this manual. If you have no way to access BIM-EDIT online until you make
this change, use the PUNCH command in BIM-EDIT batch utility to extract
$SYS.SRC.BIMCSDT and $SYS.SRC.BI$CSD.)
CICS Table Entries
DFHPCT TYPE=ENTRY,TRANSID=EDTR,PROGRAM=BIMCSCL
DFHPCT TYPE=ENTRY,TRANSID=EDT2,PROGRAM=BIMCSCL,SCRNSZE=ALTERNATE
DFHPPT TYPE=ENTRY,PROGRAM=BIMCSCL,PGMLANG=ASSEMBLER
DFHPPT TYPE=ENTRY,PROGRAM=BIMCSDT,RES=YES,PGMLANG=ASSEMBLER
CICS Resource Definition Online Entries (CEDA)
CEDA
CEDA
CEDA
CEDA
CEDA
DEFINE
DEFINE
DEFINE
DEFINE
DEFINE
GROUP(EDIT)
GROUP(EDIT)
GROUP(EDIT)
GROUP(EDIT)
GROUP(EDIT)
PROF(EDITALT) SCRNSIZE(ALT) UCTRAN(NO)
PROGRAM(BIMCSCL) LANG(A)
PROGRAM(BIMCSDT) LANG(A) RES(YES)
TRAN(EDTR) PROG(BIMCSCL)
TRAN(EDT2) PROG(BIMCSCL) PROF(EDITALT)
The entry for EDT2 is used for alternate screen mode processing. The transaction
ids used for EDTR and EDT2 must both have the same first three characters. The
'EDTR' entry must have an 'R' as the fourth character, and the 'EDT2' entry must
have a '2' as the fourth character.
(If you intend to access CICS programs as BIM-EDIT commands, you should
modify the PCT entry to provide adequate TWA size for these programs. See
"Creating Commands Which Access CICS Transactions (BIFXCTR Table)" in
Chapter 11 of this manual.)
12. If you have used the table method of adding CICS definitions, recycle the CICS
systems that are to access BIM-EDIT.
13. Startup BIM-EDIT by submitting a job stream similar to the following. The
BIFRDRn DD statements refer to internal readers used by BIM-EDIT to submit jobs
to JES. BIM-EDIT will open up to nine internal readers, depending upon the
number of BIFRDRn DD statements provided.
Chapter 9. Installation and Maintenance
Page 375
First Time Installation on MVS
//BIMEDIT
//BIMEDIT
//STEPLIB
//SYSPRINT
//SYSUDUMP
//BIFLIB
//BIFRDR1
//BIFRDR2
//BIFRDR3
//BIFRDR4
JOB
EXEC
DD
DD
DD
DD
DD
DD
DD
DD
....
PGM=BIMEDIT,TIME=1440,REGION=1200K
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=X
SYSOUT=X
DSN=BIMEDIT.BIFLIB,DISP=(OLD,KEEP)
SYSOUT=(A,INTRDR)
SYSOUT=(A,INTRDR)
SYSOUT=(A,INTRDR)
SYSOUT=(A,INTRDR)
BIM-EDIT counts the BIFRDRn DD statements by attempting to open them in
sequence until one fails. Because of this technique, a message like the following will
appear during normal system initialization:
IEC130I BIFRDR5
DD STATEMENT MISSING
When BIM-EDIT completes its initialization, the following message will display on
the system console:
BIMEDITA SYSTEM "BIMEDIT" INITIALIZATION COMPLETE
At this point, you will not have access to the JES queues. You must complete the
next installation step first.
Page 376
BIM-EDIT System Reference Manual
First Time Installation on MVS
Preparing for JES Access
14. A JES interface control table must be assembled at your site, and linked to your
BIM-EDIT load library. The source for the control table is contained in
$SYS.SRC.BIMGETOF.
The following JCL can be modified and used to assemble/link control table:
//userid
JOB ...
//ASM
EXEC PGM=IEV90,REGION=2048K,
//
PARM='TERM,LOAD,NODECK,OBJECT,SYSPARM(SP 5.2)'
//SYSTERM
DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUT1
DD UNIT=SYSDA,SPACE=(CYL,(2,2))
//SYSUT2
DD UNIT=SYSDA,SPACE=(CYL,(2,2))
//SYSUT3
DD UNIT=SYSDA,SPACE=(CYL,(2,2))
//SYSLIN
DD DSN=&&OBJSET,UNIT=SYSDA,SPACE=(80,(2000,100)),
//
DISP=(MOD,PASS)
//SYSLIB
DD DISP=SHR,DSN=SYS1.HASPSRC
! JES Source Library
//
DD DISP=SHR,DSN=SYS1.MACLIB
//
DD DISP=SHR,DSN=SYS1.MODGEN
//
DD DISP=SHR,DSN=SYS1.AMODGEN
//SYSIN
DD *
/INCLUDE $SYS.SRC.BIMGETOF
! Prior to OS/390 1.3
/INCLUDE $SYS.SRC.BIMGET13
! OS/390 1.3 and above
/*
//LNK
EXEC PGM=IEWL,PARM='XREF,LET,LIST',
//
COND=(7,LT,ASM)
//SYSLIN
DD DSN=&&OBJSET,DISP=(OLD,DELETE)
//
DD DDNAME=SYSIN
//SYSLMOD DD DSN=BIMEDIT.LOADLIB(BIMGETOF),DISP=SHR
//SYSUT1
DD UNIT=SYSDA,SPACE=(1024,(100,10))
//SYSPRINT DD SYSOUT=*
//
The SYSPARM(SP 5.2) on the ASM step is only used if you are on a system prior to
OS/390 1.3. It must be set to the release of JES that you are running.
Note that you will only use one INCLUDE, for either BIMGETOF or BIMGET13,
depending on your release of MVS or OS/390.
You will need to shutdown and restart BIM-EDIT after this job has completed.
You should reassemble this JES interface control table anytime you apply IBM
maintenance to your JES system.
15. If you will access BIM-EDIT from TSO, you must define a BIM-EDIT User Id to
match the TSO User Id which will be used by the System Administrator. The easiest
way to do this is through BIM-EDIT Batch Utility, with a job stream like the
following:
//BIMEDIT JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
DEFINEU user,password,"user's name",ADM,DEFS,3,1000,500,20000
/*
Chapter 9. Installation and Maintenance
Page 377
First Time Installation on MVS
16. Logon to BIM-EDIT interactively to check that it is operational and to start
customizing BIM-EDIT to your site's needs. These steps are described in the "First
Time Logon" section later in this chapter.
Page 378
BIM-EDIT System Reference Manual
Installing BIM-EDIT under an Alternate System Name
Installing BIM-EDIT under an Alternate System Name
BIM-EDIT consists of a server program which runs separately from client tasks that
communicate with online users, workstation users, batch utility runs, and programs
using the application interface. Communication between the clients and the server is
accomplished through a BIM-EDIT "system name". The name BIMEDIT is used by
default if no name is specified.
Under some circumstances, it is desirable to install BIM-EDIT under an alternate system
name. This is done primarily to allow running more than one copy of BIM-EDIT, each
with its own independent database. You might do this to test modifications or new
versions of BIM-EDIT, or for other purposes.
The purpose of this section is to list the modifications which must be made to install
and run BIM-EDIT under an alternate system name. The examples below use
BIMEDIT2 as the alternate system name. You could use any name which is eight
characters or less and does not conflict with a VTAM application name or XPCC name
already in use on your system.
1.
When restoring the starter library, the PARM 'SYSTEM=BIMEDIT2' must be added
to the EXEC statement for BIMREST. File access statements for the alternate BIFLIB
also must be added. (CAUTION: failure to modify the file access statements could
result in restoring over an existing production database.)
2.
To access the alternate BIM-EDIT through VTAM, an APPL statement for the new
system name must be added to the VTAM table definitions.
3.
To access the alternate BIM-EDIT through CICS, either a new BIMCSDT table must
be assembled, or if this is not your only BIM-EDIT system, an additional entry must
be added to your existing BICSDT table. Note that you will have to catalog the
modified BIMCSDT in such a way that it can be accessed by your CICS. See
"Changing the CICS Data Module (BIMCSDT)" in Chapter 11.
4.
To access the alternate BIM-EDIT through the BTAM interface, the operand
PARM='SYSTEM=BIMEDIT2' must be added to the EXEC statement for BIMBTAM.
5.
To access the alternate BIM-EDIT from TSO, program BIMTSED must be zapped.
Contact BIM Technical Support.
6.
When starting BIM-EDIT, the operand PARM='SYSTEM=BIMEDIT2' must be
added to the EXEC statement for BIMEDIT. File access statements for the alternate
BIFLIB also must be added.
7.
Any Batch Utility runs (especially backups) must be modified to add the operand
PARM='SYSTEM=BIMEDIT2' to the EXEC statement for BIMUTIL.
8.
Any programs using the Application Interface must be modified to supply the
alternate system name when the interface is opened. See Chapter 6.
Chapter 9. Installation and Maintenance
Page 379
First Time Logon
First Time Logon
Now that you have BIM-EDIT installed, you may logon by one of the following
methods:
•
If you access BIM-EDIT from CICS (and you are using transid EDTR):
edtr $sys,$sys
•
If you access BIM-EDIT from VTAM, get in VTAM SSCP mode and enter:
logon applid(bimedit)
You will be presented with a screen to indicate your user ID ($SYS) and your
password ($SYS).
•
On VSE, if you access BIM-EDIT from the BTAM interface, enter:
edtr
You will be presented with a screen to indicate your user ID ($SYS) and your
password ($SYS).
•
On MVS, if you access BIM-EDIT from TSO, enter a statement similar to:
call 'bimedit.loadlib(bimtsed)'
You will be presented with a screen to indicate your password.
When you logon for the first time, you are not attached to any library, i.e., you have a
"null attachment".
To list the libraries currently existing, enter:
=> libraryl
At this time, the library listing will show the "$SYS" and "$SIT" libraries. See the next
section ("Initial Library Contents") for a description of the contents of the $SYS and $SIT
libraries.
The LIBRARYL command created a display session. To end the session, enter:
=> end
To get a list of the members in a library, enter:
=> attach <library name> => library
To look at the contents of a member, you can enter:
=> list <library name>.<member name>
The LIBRARY and LIST commands also create display sessions. To end them:
=> end
Page 380
BIM-EDIT System Reference Manual
First Time Logon
Now that you have verified that BIM-EDIT is working correctly, you should create a
second System Administrator, in case something goes wrong with $SYS:
=> defineu <user>,<password>,"<long name>",ADM,DEFS
$SYS User ID
Then you should change the password for the $SYS user, since password $SYS is
documented throughout the distributed manuals. Use:
=> password <new pass>
The PASSWORD command is documented in the BIM-EDIT User Reference Manual.
Be careful with these steps. If you lose access to all ADM level users, the only recovery
is to reinstall BIM-EDIT.
SPRI Users
On VSE, if your site uses the SPRI spooling system, you enter the following to replace
the POWER FALTERP command with the SPRI FALTERP command:
=> rename $sys.proc.bipfalp $sys.proc.bipfalp$-d
=> rename $sys.proc.sfpfalp $sys.proc.bipfalp
To exit BIM-EDIT, enter:
=> logoff
All Users
Of course, there is more work to do before BIM-EDIT will be useful to you:
•
You must set the initial values of the memory utilization variables.
•
You must define libraries.
•
You must define users and set up library/user security.
•
You must set up backup/restore job streams.
These and other day-to-day topics are covered in Chapter 10, Operation and
Administration.
In addition, you should review the customization options in Chapter 11, Customization.
These options are available to tailor the features of BIM-EDIT to the needs of your
organization.
Chapter 9. Installation and Maintenance
Page 381
Initial Contents of Libraries
Initial Contents of Libraries
The starter system comes with two sets of libraries defined, the $SIT libraries and the
$SYS libraries. These are libraries which are used to run BIM-EDIT. $SYS and $SIT
should be reserved for this purpose. You should use DEFINEL to define user libraries.
Defining libraries and users is discussed in Chapter 10, Operations and Administration.
The $SYS libraries contain the BIM-EDIT control members as released by BIM. The
members within the $SYS libraries should be left intact, since these libraries will be
completely replaced when a new BIM-EDIT release is installed. The $SIT libraries are
intended to be used for site customization. They are empty on the starter system. BIMEDIT is designed so that entries in the $SIT libraries, if present, will override the
corresponding entries in the $SYS libraries. Thus customization is achieved by creating
members in the $SIT libraries.
The contents of the supplied libraries are described below. References for further
information are to Chapter 11, Customization, unless specified otherwise.
$SIT.COMP
Compile procedures to be executed from the procedure
associated with the COMPILE command. See "Modifying
COMPILE, PROCESS, and SUBMIT".
$SIT.CTRL
$SYS.CTRL
Miscellaneous control members. You must define any of the
following members the first time you need them in $SIT.CTRL.
COMMANDS (In $SIT.CTRL library only.) Specifies
commands and the names of the procedures to
handle them. Merged by BIM-EDIT into the
system command table during initialization.
See "Creating Library, User and Site
Commands".
Page 382
LOGON
A MAPF screen displayed for secure logon. See
"Controlling LOGON".
MESSAGES
Text for error messages. Entries from
$SIT.CTRL will be merged with entries from
$SYS.CTRL
during
initialization.
See
"Modifying Error Messages".
$SYS.DEMO
On VSE only, members for the BIM-EDIT Interactive Demo
facility. See "DEMO - Demonstrate BIM-EDIT Features" in
Chapter 7 of this manual.
$SIT.DOC
$SYS.DOC
Documentation members distributed with BIM-EDIT. We
recommend you copy from $SYS.DOC to $SIT.DOC before
making any changes.
$SIT.HELP
$SYS.HELP
Members to be displayed by the HELP command. The HELP
command searches $SIT.HELP before searching $SYS.HELP.
You can customize the HELP facility by creating members in
$SIT.HELP. See "Modifying HELP Displays".
$SYS.JCL
Sample JCL for various batch functions. For example, the
BIM-EDIT System Reference Manual
Initial Contents of Libraries
$SIT.JCL
member BIJBKPG will perform a logical system backup. We
recommend you copy members from $SYS.JCL to $SIT.JCL
before changing them.
$SYS.MAINT
On VSE only, members for the BIM-EDIT Corrective Service
facility. See "INSTALL and SERVICE - Applying IBM
Corrective Service" in Chapter 7 of this manual.
$SIT.MODEL
$SYS.MODEL
Member templates used by the DEFINE command. The
DEFINE command searches $SIT.MODEL prior to searching
$SYS.MODEL to find a template. You can customize the
DEFINE template facility by creating members in $SIT.MODEL.
See "Modifying DEFINE Templates".
$SIT.PROC
$SYS.PROC
Procedures to implement some BIM-EDIT commands. You can
alter system procedures by copying them from $SYS.PROC to
$SIT.PROC, changing them, and entering them in the Site
command table (member $SIT.CTRL.COMMANDS). New BIMEDIT commands can be created by creating procedures in the
$SIT.PROC library and adding associated entries in the Site
command table. The site command table is searched prior to the
system command table, so a BIM-EDIT command can also be
preempted by a site procedure. See "Creating Library, User,
and Site Commands".
$SIT.PURGE
Used by the purge control facility. If purge control is active,
when a member is purged, a copy of the member is placed in
$SIT.PURGE. The members in $SIT.PURGE can then be
periodically written to tape and/or purged. For more
information, see "Purge Control" in Chapter 10 of this manual.
$SIT.SRC
$SYS.SRC
Selected BIM-EDIT source code. We recommend you copy the
source of any module you need to change from $SYS.SRC to
$SIT.SRC before changing it.
$SYS.UDP
User Developed Procedures. These are procedures that BIMEDIT users have developed for their own purposes and
contributed for distribution. You may be able to make use of
them as is or use them as a model for writing your own
procedures. BIM does not use, test, or support these
procedures.
Chapter 9. Installation and Maintenance
Page 383
Common Problems
Common Problems
The following is a list of symptoms that have occurred during or shortly after BIM-EDIT
installations. You may find that this list helps you avoid problems.
Symptom: Anything described in the Problems and Notes memo usually provided
with the BIM-EDIT installation tape.
Cause:
The corrective zaps were never installed.
Symptom: BIM-EDIT response slowdown or complete stall.
Cause:
Usually the result of a marginal number of buffers available to BIM-EDIT.
Review MMP16Kxx variables. MMP16KSP and the partition size may need
to be increased to accommodate the work load.
Symptom: Message BIRLROPA ** LIBR INTERFACE NOT ACTIVE ** when trying
to access VSE sublibraries.
Cause:
BIM-EDIT has not been provided with the required execute size. The
minimum size is 180K. Change the startup job stream to include this value,
or increase the value if the minimum does not solve the problem.
Symptom: BIM-EDIT cannot access directories, and/or member text from VSE
sublibraries.
Cause:
BIM-EDIT has not been provided with the required execute size. The
minimum size is 180K. Change the startup job stream to include this value,
or increase the value if the minimum does not solve the problem.
Symptom: BIM-EDIT CICS access routines abend by branch to low memory
address.
Cause:
CICS table entries do not specify PGMLANG=ASSEM for BIM-EDIT
modules. This can result from not specifying PGMLANG for PPT or PLT
generation or in Resource Definition Online (CEDA).
Symptom: BIM-EDIT will not display POWER job entries.
Cause:
The user has been set up with PWRSEC=1 (the default) and the default
BIXPWQA exit module is used. The POWER USER information does not
match the BIM-EDIT user ID.
Symptom: LIBRARYP looks good but LISTP returns the wrong data or garbage.
Cause:
The POWER DLBL and EXTENT information for BIFPWRQ and BIFPWRD
does not match that of the POWER DLBL and EXTENT (IJQFILE and
IJDFILE).
Symptom: LIBRARYP does not display any entries, only the column headers.
Cause:
The VSE VIO allocation may need to be increased by 64K to accommodate
the addition of BIM-EDIT access to POWER queues in the VIO area.
Symptom: PROG402 terminal error after CICS LINK or XCTL from BIM-EDIT to a
program that displays in alternate terminal mode.
Page 384
BIM-EDIT System Reference Manual
Common Problems
Cause:
The PCT entry for BIM-EDIT (usually EDTR) must specify the
SCRNSZE=ALTERNATE parameter in this situation.
Symptom: Transaction or CICS abend after CICS LINK or XCTL from BIM-EDIT to
a program that requires a TWA.
Cause:
The PCT entry for BIM-EDIT (usually EDTR) must specify an adequate
TWASIZE.
Symptom: User has more library authority than was defined with LIBS.
Cause:
The user was defined with global security. If library-specific security is
desired then the user should be defined with NULL security.
Symptom: New sessions are displayed in alternate screen mode.
Cause:
User entered 'SCR ALT' on the BIM-EDIT home screen.
Symptom: Site wants BIM-EDIT to transfer control to a CICS menu after LOGOFF.
Cause:
Modify BIMCSPS or BIMCSED (source in library $SYS.SRC.) to add a
statement like the following immediately after label L880RT:
DFHPC TYPE=XCTL,PROGRAM=MENUPROG
Assemble and catalog the module.
Chapter 9. Installation and Maintenance
Page 385
Chapter 10. Operations and Administration
This chapter discusses operating and administering BIM-EDIT in order to keep it
running. There is a natural overlap between this chapter and Chapter 9, Installation,
and Chapter 11, Customization.
The following subjects are discussed:
Page 386
•
Starting BIM-EDIT.
•
Controlling BIM-EDIT from the System Console.
•
Backups and Restores.
•
User Definition and Modification.
•
Library Security.
•
Purge Control.
•
Managing Disk Space.
•
Managing Memory Utilization.
•
Transferring Members from Other Editors.
BIM-EDIT System Reference Manual
Starting BIM-EDIT
Starting BIM-EDIT
BIM-EDIT operates using a server program which runs separately from the client tasks
that communicate with online users, workstation users, batch utility runs, and
application interface programs. It is necessary to start the server program before any
client tasks can be successfully run. This section describes the Job Control to start the
server.
It is possible to run more than one BIM-EDIT server program at the same time (you
might do this, for example, if you were testing new versions of some BIM-EDIT
commands or if you were in the process of bringing up a new version). Each server
program has its own separate copy of the BIM-EDIT file and thus is totally independent
of the others. To differentiate the servers for intertask communication, each must have a
unique "system name". The name BIMEDIT is used by default if no name is specified.
The job control language below describes how to start a server specifying a non-default
system name.
BIM-EDIT tasks seeking to use a BIM-EDIT server operating under a name other than
BIMEDIT must also specify the system name. For the batch utility and the restore
program, specify the name using PARM='SYSTEM=BIMEDIT2' on the EXEC statement,
where BIMEDIT2 would be whatever system name the server uses. For the VTAM
interface, the system name is the VTAM application name. For the CICS interface, the
system name is specified in the CICS control table, BIMCSDT, which is described in
Chapter 11, Customization. The application interface routines obtain the system name
from their caller when the interface is opened.
VSE Startup
BIM-EDIT either runs in its own partition or as a VSE subtask within a CICS partition.
We recommend running BIM-EDIT in its own partition. The distinction is irrelevant
from a user standpoint. In either case, users can use online BIM-EDIT from any access
method that is installed.
To start BIM-EDIT in its own partition, use a job stream similar to the following. If
DLBL and EXTENT statements for the four files BIFLIB, BIFPWRQ, BIFPWRD,
DTSFILE are not in the DOS standard label area, they must also be included. If the
ASSGNs for these files are not permanent, they must also be included. (DTSFILE is
needed only if ICCF access is required.)
// JOB BIMEDIT
// EXEC BIMEDIT,SIZE=4K
/&
<- use SIZE=180K if access to VSE sublibraries
is desired
Running BIM-EDIT under a specified system name is only possible if your VSE is
release SP 2.1 or later. To specify a system name, in this example BIMEDIT2, change the
JCL to:
// EXEC BIMEDIT,SIZE=4K,PARM='SYSTEM=BIMEDIT2'
or, if access to the VSE sublibraries is desired:
// EXEC BIMEDIT,SIZE=180K,PARM='SYSTEM=BIMEDIT2'
Chapter 10. Operations and Administration
Page 387
Starting BIM-EDIT
To start BIM-EDIT as a VSE subtask within the CICS partition, modify startup PLT
processing for that CICS. No additional JCL is needed. (Setting up the startup PLT entry
is explained in Chapter 9, Installation, in this manual).
However it is started, when BIM-EDIT completes its initialization, the following
message will display:
BIMEDITA BIMEDITA SYSTEM "BIMEDIT" INITIALIZATION COMPLETE
MVS Startup
To start BIM-EDIT, use a job stream similar to the following. The BIFRDRn DD
statements refer to internal readers used by BIM-EDIT to submit jobs to JES. BIM-EDIT
will open up to nine internal readers, depending upon the number of BIFRDRn DD
statements provided.
//BIMEDIT
//BIMEDIT
//STEPLIB
//SYSPRINT
//SYSUDUMP
//BIFLIB
//BIFRDR1
//BIFRDR2
//BIFRDR3
//BIFRDR4
JOB
EXEC
DD
DD
DD
DD
DD
DD
DD
DD
....
PGM=BIMEDIT,TIME=1440,REGION=1200K
DSN=BIMEDIT.LOADLIB,DISP=SHR
SYSOUT=X
SYSOUT=X
DSN=BIMEDIT.BIFLIB,DISP=(OLD,KEEP)
SYSOUT=(A,INTRDR)
SYSOUT=(A,INTRDR)
SYSOUT=(A,INTRDR)
SYSOUT=(A,INTRDR)
To specify a new system name, in this example BIMEDIT2, you would change the JCL
to:
//BIMEDIT EXEC PGM=BIMEDIT,TIME=1440,REGION=1200K,PARM='SYSTEM=BIMEDIT2'
When BIM-EDIT completes its initialization, the following message will display:
BIMEDITA
Page 388
SYSTEM "BIMEDIT" INITIALIZATION COMPLETE
BIM-EDIT System Reference Manual
Controlling BIM-EDIT from the System Console
Controlling BIM-EDIT from the System Console
Limited control of BIM-EDIT is provided via commands issued from the VSE or OS/390
System Console.
The following BIM-EDIT commands can be issued from the System Console:
SHUT
Terminates the BIM-EDIT partition or region. Refer to page 355 for
more information on the SHUT command.
CONNECT
Connects and activates the VTAM and/or TCP/IP interface to BIMEDIT. Refer to page 291 for more information on the CONNECT
command.
DISCONN
Deactivates and disconnects the VTAM and/or TCP/IP interface to
BIM-EDIT. Refer to page 304 for more information on the DISCONN
command.
All other BIM-EDIT commands must be issued from either the BIM-EDIT command line
or a batch job executing BIMUTIL.
These commands are issued by entering the following at the System Console:
VSE:
MSG partitionid,DATA=bim-edit command
For example, to shutdown the BIM-EDIT partition, running in partition F9, enter the
following:
MSG F9,DATA=SHUT
MVS:
F jobname,bim-edit command
For example, to shutdown the BIM-EDIT region, running as jobname BIMEDIT, enter
the following:
F BIMEDIT,SHUT
Chapter 10. Operations and Administration
Page 389
Backups and Restores
Backups and Restores
Logical vs Physical
BIM-EDIT can produce either logical or physical backup tapes. The BACKUPG and
BACKUPS commands produce a logical backup tape, while the BACKUPP command
produces a physical backup tape. Likewise, a restore is either logical or physical,
depending upon whether the backup tape being used is logical or physical.
A logical backup tape contains libraries, members, security records, and users in
ascending order. In contrast, a physical backup tape is simply a block for block image of
the BIM-EDIT file on disk.
For normal backup purposes, use BACKUPG. Physical backups are less flexible and no
more efficient than logical backups.
The norm is to restore from a logical backup tape.
Backup/Restore Scenarios
•
If a member in BIM-EDIT has been inadvertently destroyed, it may be desirable to
restore a copy from an appropriate backup tape. You would:
1.
•
•
•
Perform a partial logical restore from the backup. It is NOT necessary to shut
down BIM-EDIT.
If the BIM-EDIT file on disk is corrupted, for whatever reason, it may be necessary
to restore from the most recent backup tape. You would:
1.
Shut down BIM-EDIT (if still active).
2.
Perform a full logical restore from the most recent backup.
3.
Restart BIM-EDIT.
If you want to move or change the size of the BIM-EDIT file, you would:
1.
Perform a full logical backup (all editing must stop when this ends).
2.
Shut down BIM-EDIT.
3.
Perform a full logical restore pointing to the new disk area.
4.
Restart BIM-EDIT pointing to the new disk area.
If available space in the BIM-EDIT file becomes too fragmented, you may want to
reorganize the file by a logical backup/restore sequence. You would:
1.
Perform a full logical backup (all editing must stop when this ends).
2.
Shut down BIM-EDIT.
3.
Perform a full logical restore.
4.
Restart BIM-EDIT.
Fragmentation is thoroughly discussed in "Managing Disk Space" later in this
chapter.
Page 390
BIM-EDIT System Reference Manual
Backups and Restores
•
If you want to move all or part of the file from one BIM-EDIT system to another:
1.
Perform a full or selective logical backup of BIM-EDIT system A.
2.
If a full restore will be done, shut down BIM-EDIT system B.
3.
Perform a full or partial logical restore to system B using the system A logical
backup tape.
4.
If system B was shut down, restart BIM-EDIT system B.
Full Backup
The following is a sample full logical backup job stream:
VSE Job Control
// JOB BIJBKPG
LOGICAL SYSTEM BACKUP
// TLBL BIFLOG
// ASSGN SYS005,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
BACKUPG
/*
/&
MVS Job Control
//BACKUPG JOB
//BIMUTIL EXEC
//STEPLIB DD
//BIFLOG
DD
//
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
BACKUPG
/*
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
SYSOUT=A
*
Most BIM-EDIT commands can continue to be used online while logical backup is
running. Members which were changed while the backup was running will be copied to
the end of the backup tape.
The same job stream can be used to perform a physical backup by replacing command
BACKUPG with BACKUPP and replacing file label BIFLOG with BIFPHY. BIM-EDIT
locks out all other access to the BIM-EDIT file while physical backup is running.
For more information on BACKUPG and BACKUPP, see Chapter 8, Operator and
Administrator Commands, in this manual.
Chapter 10. Operations and Administration
Page 391
Backups and Restores
Full Logical Restore
The following is a sample full logical restore job stream.
VSE Job Control
//
//
//
//
//
/&
JOB RESTORE
RESTORE BIM-EDIT STARTER LIBRARY
TLBL BIFLOG
ASSGN SYS004,TAPE
PAUSE MOUNT TAPE
EXEC BIMREST,SIZE=6K,PARM='TYPE=LOGICAL'
(On VSE, if DLBL and EXTENT statements for the BIFLIB file are not in the DOS
Standard Label Area, they must also be included. If the ASSGNs for the BIFLIB file are
not permanent, they must also be included).
MVS Job Control
//RESTORE
//BIMREST
//STEPLIB
//BIFLOG
//
//BIFLIB
//
//
//SYSPRINT
JOB
EXEC
DD
DD
DD
DD
....
PGM=BIMREST,PARM='TYPE=LOGICAL,EXTENTS=1'
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
DSNAME=BIMEDIT.BIFLIB,DISP=(NEW,CATLG),
SPACE=(CYL,70,,CONTIG),UNIT=SYSDA,
VOL=SER=MVS009
SYSOUT=A
BIM-EDIT must be shut down before the restore. If the PARM is not specified on the
EXEC statement, BIM-EDIT will display the following message on the system console:
BIRRSMLA
ENTER RESTORATION TYPE (LOGICAL/PHYSICAL)
Respond by entering:
LOGICAL
When the restoration is complete, BIM-EDIT will display the following message:
BIRRSLGA
LOGICAL RESTORE COMPLETE
If you have more than one BIM-EDIT system, you MUST run the restore using the
system ID that is to use the file.
On VSE, the JCL to restore a BIM-EDIT which runs under system ID BIMEDIT2 must be
modified to:
// EXEC BIMREST,SIZE=6K,PARM='TYPE=LOGICAL,SYSTEM=BIMEDIT2'
On MVS, the JCL to restore a BIM-EDIT which runs under system ID BIMEDIT2 must
be modified to:
//BIMREST EXEC PGM=BIMREST,PARM='TYPE=LOGICAL,SYSTEM=BIMEDIT2'
Page 392
BIM-EDIT System Reference Manual
Backups and Restores
Selective Logical Restore
The following is a sample selective logical restore job stream.
VSE Job Control
// JOB RESTORE
// TLBL BIFLOG
// ASSGN SYS004,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
;MULTIPLE RESTORES MUST BE IN ALPHA SEQUENCE BY LIBRARY.MEMBER
RESTORE JLIB.PROG425
;REPLACE MEMBER NAME AS NEEDED
RESTOREL KLIB
;REPLACE LIBRARY NAME AS NEEDED
RESTORE LLIB.PROG738
;REPLACE MEMBER NAME AS NEEDED
/*
/&
MVS Job Control
//BACKUPG JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
;MULTIPLE RESTORES MUST BE IN ALPHA SEQUENCE BY LIBRARY.MEMBER
RESTORE JLIB.PROG425
;REPLACE MEMBER NAME AS NEEDED
RESTOREL KLIB
;REPLACE LIBRARY NAME AS NEEDED
RESTORE LLIB.PROG738
;REPLACE MEMBER NAME AS NEEDED
/*
It is not necessary to shut down BIM-EDIT before doing a selective logical restore.
The RESTORE command will handle member formats from earlier releases. All
members in a specified library can be selectively restored by the RESTOREL command.
Sessions, users, security records, and mail messages cannot be restored from an earlier
release. Thus, you cannot perform a full restore from a previous release.
For more information on RESTORE and RESTOREL, see Chapter 8, Operator and
Administrator Commands, in this manual.
Chapter 10. Operations and Administration
Page 393
Backups and Restores
Selective Logical Backup
The following is a sample selective logical backup job stream which will backup the BIP
members from library $SYS.PROC and all the members from library LIB1.
VSE Job Control
// JOB BACKUPS
// TLBL BIFLOG
// ASSGN SYS005,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
BACKUPS PRINT=YES
MEMBER
$SYS.PROC.BIP*
MEMBER
LIB1.*
++/*
/*
/&
MVS Job Control
//BACKUPG JOB ....
//BIMUTIL EXEC PGM=BIMUTIL
//STEPLIB DD
DSN=BIMEDIT.LOADLIB,DISP=SHR
//BIFLOG
DD
DSNAME=BIFLOG,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
//
VOL=SER=BIM104
//SYSPRINT DD
SYSOUT=A
//SYSIN
DD
*
LOGON $SYS,$SYS
BACKUPS PRINT=YES
MEMBER
$SYS.PROC.BIP*
MEMBER
LIB1.*
++/*
/*
Most BIM-EDIT commands can continue to be used online while logical backup is
running.
For more information on BACKUPS, see Chapter 8, Operator and Administrator
Commands, in this manual.
Page 394
BIM-EDIT System Reference Manual
Backups and Restores
Full Physical Restore
The following is a sample physical restore job stream:
VSE Job Control
//
//
//
//
//
/&
JOB RESTORE
RESTORE BIM-EDIT LIBRARY
TLBL BIFPHY
ASSGN SYS004,TAPE
PAUSE MOUNT TAPE
EXEC BIMREST,SIZE=6K,PARM='TYPE=PHYSICAL'
(On VSE, if DLBL and EXTENT statements for the BIFLIB file are not in the DOS
Standard Label Area, they must also be included. If the ASSGNs for the BIFLIB file are
not permanent, they must also be included.)
MVS Job Control
//RESTORE
//BIMREST
//STEPLIB
//BIFLOG
//
//BIFLIB
//
//
//SYSPRINT
JOB
EXEC
DD
DD
DD
DD
....
PGM=BIMREST,PARM='TYPE=PHYSICAL,EXTENTS=1'
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIFPHY,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
DSNAME=BIMEDIT.BIFLIB,DISP=(NEW,CATLG),
SPACE=(CYL,70,,CONTIG),UNIT=SYSDA,
VOL=SER=MVS009
SYSOUT=A
BIM-EDIT must be shut down before the restore. If the PARM is not specified on the
EXEC statement, BIM-EDIT will display the following message on the system console:
BIRRSMLA ENTER RESTORATION TYPE (LOGICAL/PHYSICAL)
Respond by entering:
PHYSICAL
When the restoration is complete, BIM-EDIT will display the following message:
BIRRSPHA
PHYSICAL RESTORATION COMPLETE
Physical restore MUST use the same system ID and the same file size as the physical
backup that created the tape.
On VSE, the JCL to restore a BIM-EDIT which runs under system ID BIMEDIT2 must be
modified to:
// EXEC BIMREST,SIZE=6K,PARM='TYPE=PHYSICAL,SYSTEM=BIMEDIT2'
On MVS, the JCL to restore a BIM-EDIT which runs under system ID BIMEDIT2 must
be modified to:
//BIMREST EXEC PGM=BIMREST,PARM='TYPE=PHYSICAL,SYSTEM=BIMEDIT2'
Chapter 10. Operations and Administration
Page 395
User Definition and Modification
User Definition and Modification
To logon to BIM-EDIT, the user supplies the system with a user ID and a password.
BIM-EDIT then attempts to read a user record. If the record is not found, the logon is
rejected. If it is found, the password supplied by the user is compared with the
password stored in the record. If they do not match, the logon is rejected. If three
invalid passwords are entered in a row, the userid is automatically disabled. (See
MMPLGEXP.) Once disabled, a userid cannot be used until it has been enabled using
the ENABLE command. (If running BIM-EDIT in batch, a search is also made for a
temporary password record. See the PEND command in Chapter 3 of this manual).
Once the logon is accepted, the attributes of the user are determined based on the
administrator's set up and the user's previous use.
Creating a User
To set up a new user, the administrator will perform at least some of the following
steps:
1.
Use DEFINEU to create the user ID.
2.
Use DEFINEL to create the library(s) for the user. (Some users don't have their own
libraries. Some users have more than one library. A user may or may not need a
$USR.uuuuuuuu library, where uuuuuuuu is the user ID. The $USR library is used
to store the user command table member (COMMANDS), the user LOGON
procedure (LOGON), and procedures associated with the entries in the command
table.)
3.
Use DEFINES to create security records so that the user can access any libraries that
he or she is to have access to. Also create security records as necessary to access VSE
sublibraries and MVS PDSs.
4.
Establish a user LOGON procedure if necessary. The procedure stored as
$USR.uuuuuuuu.LOGON will be executed at logon, if present. (It may be necessary
to delay installing the LOGON procedure until you have logged on as the user and
set up their values.)
5.
Use DEMO to authorize the user for the DEMO application.
6.
Logon as the user.
7.
Set SIB values for the user. You may wish to change some of the following:
SIBCMPR
SIBCSCTL
SIBDFLCA
SIBHEXC
SIBTABC
Screen transmission compression flag.
Extended cursor control flag.
Default LCA location.
Command line hex escape character.
Logical tab character.
Initially set to "1".
Initially set to "1".
Initially set to "L".
Initially set to blank.
Initially set to blank.
8.
Use ATTACH to attach to the appropriate library and set a home library.
9.
Use ATTACHD to attach to the appropriate VSE sublibrary or MVS PDS and set a
home position.
10. Use SETKEYS to assign initial values to PF keys.
Page 396
BIM-EDIT System Reference Manual
User Definition and Modification
Changing a User
If a user changes function within your organization, the following may need to be
altered:
•
Library access. Use
=> librarys *,user
where "user" is the name of the user, to view the library/user security records. Use
PURGES (or LCA P from the LIBRARYS session) to delete old ones, ALTERS (or
FALTERS or LCA Q from the LIBRARYS session) to change the access level and
DEFINES to create new security records. You may have to logon as the user to save
current sessions or ATTACH or ATTACHD to a different library. Note that the
security records used to determine access to VSE sublibraries and MVS PDSs may
also need to be changed.
•
User attributes. Use FALTERU to view and change user attributes.
•
Logon procedure. The procedure stored as $USR.uuuuuuuu.LOGON may need to
be eliminated or changed.
•
SIB values and PF key settings. These can be changed by logging on as the user and
using the SET or KEYS commands.
Deleting a User
If a user must be removed from the BIM-EDIT system, you should perform the
following steps:
1.
Logon as the user and check for any open sessions. END NOSAVE or SAVE them as
appropriate.
2.
Logon as the administrator. Use PURGEU to delete the user.
3.
Use
=> librarys *,user
where "user" is the name of the user, to check for any library/user security records
for the user. Use PURGES (or LCA P from the LIBRARYS session) to delete them.
4.
Determine what to do about left over members and libraries belonging to the user.
Chapter 10. Operations and Administration
Page 397
Library Security
Library Security
Basic Library Security
It is usually desirable to limit a user's access to the BIM-EDIT libraries. The library
security mechanism provides a means of specifying a precise BIM-EDIT subset that a
user has access to.
For a particular library, the user always has a defined access level. Seven levels of access
are defined, each level allowing greater access than the previous level:
NULL Access is completely denied.
EXEC
Members may be executed as procedures.
LIST
Member text may be copied, listed, executed.
EDIT
Member text may be edited, copied, listed, executed.
DEF
Members may be defined, purged, altered, edited, copied, listed, executed.
DEFL
In addition, libraries may be defined, purged, altered.
DEFS
In addition, security may be defined, purged, altered.
Users are usually given DEF level access to their own library and a few shared update
(common) libraries. In addition, they may be given LIST level access to a few reference
or master libraries for use with CHECKOUT/CHECKIN. At sites where generic library
security is used, some users are given DEFL level access to library groups they manage.
Normally, only system administrators are given system-wide DEFS access.
A user's access level to a library is determined by the combination of:
Page 398
•
the specific security for the library being accessed and the user performing the
access. This is determined by the library/user security records resulting from the
use of the ALTERS, DEFINES, FALTERS, and PURGES commands.
•
the default security for the library being accessed. This is determined by the
library/user security records for dummy user ID $DFL. It will be referenced only if
there is no security record for the specific user. If no specific or default security
record exists, access is deemed to be NULL. Default security is normally used only
for "common access" libraries.
•
the user's system-wide minimum library security. This is the LIBSEC attribute
resulting from the use of the ALTERU, DEFINEU and FALTERU commands. If
system-wide security is specified for a user, specific or default security can increase
the access level beyond that specified, but cannot decrease it. System-wide security
is generally specified (as DEFS) only for the System Administrator. (The $SYS user,
as distributed on the starter library has system-wide DEFS library access. $SYS is
deemed to be the system administrator).
BIM-EDIT System Reference Manual
Library Security
Generic Library Security
Generic library security is an advanced technique which allows security for a group of
libraries to be handled by one set of security records. Using it, the system administrator
can give users a controlled ability to create their own sublibraries without having to
give up control over library security or modify security each time the user creates a
library. Generic library security is a logical extension of the specific and default library
security described above.
When reference is made to a library name that contains a period (.), such as "4326.APB",
BIM-EDIT will attempt to use generic library security. (You may have noticed that the
sole difference between the rules for library names and those for member names is that
library names can contain a period). BIM-EDIT will first look for security records for the
part of the library name that precedes the first period -- if they are found and specify a
sufficient access level for the function requested, the function will be allowed. If the
access level is not sufficient, BIM-EDIT will try again for security records for the part
that precedes the second period, and so forth.
The result of this implementation is that by defining security for library 4326, we define
the minimum access level for all libraries starting with the characters "4326.". A typical
use of this feature is to allow a user to create his or her own libraries by setting DEFL
security:
=> defines 4326,uuuuuuuu,defl
The user is informed that, after logging on, he or she can define libraries that begin with
the characters "4326.". The user might then enter the following commands:
=> definel 4326.misc,'miscellaneous data'
=> definel 4326.appr,'ac pay project library'
=> definel 4326.arpr,'ac rcv project library'
The access level for a user of these new libraries would be exactly the same as the access
that user had to the "parent" library 4326.
Library Security for VSE Sublibraries and MVS PDSs
The same mechanism described above for BIM-EDIT library security is also used to
handle security for access to VSE sublibraries and MVS PDSs. The initial segment of the
VSE sublibrary name or MVS PDS name is checked as if it were a BIM-EDIT library
name and the request is accepted or rejected according to the result.
Thus, to control access to VSE sublibraries and MVS PDSs, you simply define
library/user security records but do not define BIM-EDIT libraries. (Since BIM-EDIT
cannot distinguish for security purposes between access to BIM-EDIT library and access
to a VSE sublibrary or MVS PDS, we recommend that you do not name any library with
the same name you use for a VSE sublibrary or MVS PDS.)
Example
The following is an example of how security might be defined for a theoretical site. All
commands would be executed after logging on as the System Administrator.
Chapter 10. Operations and Administration
Page 399
Library Security
1.
Three new users are defined (USR1-3) and five new libraries are defined (LIB1-3 &
CMN1-2).
=> defineu usr1,pas1,'user #1'
=> defineu usr2,pas2,'user #2'
=> defineu usr3,pas3,'user #3'
=> definel lib1,'library for user #1'
=> definel lib2,'library for user #2'
=> definel lib3,'library for user #3'
=> definel cmn1,'common read-only library'
=> definel cmn2,'common update library'
2.
USR1 is given DEF level access to LIB1, USR2 is given DEF level access to LIB2 and
LIST access to LIB3 (USR2 can copy or review the contents of USR3's library), and
USR3 is given DEF level access to LIB3.
=>
=>
=>
=>
3.
defines
defines
defines
defines
lib1,usr1,def
lib2,usr2,def
lib3,usr2,list
lib3,usr3,def
CMN1 is given default LIST access (all users can copy or review the contents of it).
CMN2 is given default DEF access (all users can define or purge members in it).
=> defines cmn1,$dfl,list
=> defines cmn2,$dfl,def
4.
USR1 is given DEFL access level to CMN2 (USR1 can define or purge libraries
beginning with "CMN2." -- all users will be able to define or purge members in any
libraries so defined because of the generic security for these libraries.)
=> defines cmn2,usr1,defl
5.
USR2 and USR3 are given LIST access level to PRODLIB.ACCPAY (USR2 and USR3
can LOADD or LISTD members within this VSE sublibrary or MVS PDS, but they
cannot DEFINED or EDITD). Note that no BIM-EDIT library is created for
PRODLIB.ACCPAY.
=> defines prodlib.accpay,usr2,list
=> defines prodlib.accpay,usr3,list
The System Administrator must periodically revise library security records as
libraries and users are created and deleted and as the functions of libraries and
users change. Over a period of time it is not unusual to have security records in the
system which correspond to libraries or users which no longer exist. Since security
records are quite small, extra records do not have significant impact.
Page 400
BIM-EDIT System Reference Manual
External Security (MVS Only)
External Security (MVS Only)
External Security is activated by setting the BIM-EDIT System Variable MMPSECUR to:
R
T
A
RACF
Top Secret
ACF2
and cycling BIM-EDIT.
At logon, BIM-EDIT will call the specified external security system supplying the user
ID and password of the user attempting logon.
When access to a BIM-EDIT library or PDS is needed, BIM-EDIT calls the specified
external security system supplying the BIM-EDIT user ID, the 16 character BIM-EDIT
library name, or the 44 character PDS name, and the access level requested.
There are three levels of security provided by the External Security interface. The
following table describes the relationship between the BIM-EDIT internal security
levels, and the three external levels:
External Security Level
BIM-EDIT Security Level
READ
EXEC and LIST
UPDATE
EDIT and DEF
ALTER
DEFL and DEFS
Chapter 10. Operations and Administration
Page 401
Purge Control
Purge Control
Background
When a member is purged, if purge control is active a copy of the member is placed in
the $SIT.PURGE library. The members accumulated in the $SIT.PURGE library must
then be periodically written to tape and/or purged. If a user happens to inadvertently
purge a member, the member can be recovered from the purge library.
Purge control is active if the predefined variable MMPPGCTL has a value of "1". Purge
control is not active if MMPPGCTL has a value of "0".
When a copy of a purged member is placed in the $SIT.PURGE library, it is assigned a
new name in a time-stamp format as follows:
yyyymmdd-hhmmsst
where
yyyy is the year.
mm is the month (01-12).
dd is the day (01-31).
hh is the hour (00-23).
mm is the minute (00-59).
ss is the second (00-59).
t is the tenth (0-9).
The original member name becomes part of the new title as follows:
PURGE->mem
where mem is the original full member name.
The original title is destroyed. All other attributes of the member remain intact. Both the
text and audit trail are intact.
Continuing Maintenance
Purge control has disk space implications. Recognize that purging a member does not
free any space when purge control is active. It simply moves the member to the purge
library. Space is freed only when the member is purged from the purge library. The
System Administrator must periodically logon and purge old members from the purge
library to prevent the file filling up.
Getting a Member Back
If a user inadvertently purges a member, you could recover the member for the user as
follows:
1.
Determine the new member name assigned in the $SIT.PURGE library. If the
original full member name was "AP20.XIR2500", you could enter the following
commands to determine the new member name:
=> attach $sit.purge;library;bottom;forward
Page 402
BIM-EDIT System Reference Manual
Purge Control
Check to see if "AP20.XIR2500" was the last member purged. If not, enter:
=> locateu ap20.xir2500
The top line of the library display would show the new member name.
2.
Rename the member back into the original library. If the new member name were
"19970112-0830240", you would enter:
=> rename 19970112-0830240,ap20.xir2500
3.
Blank out the title as follows:
=> alter ap20.xir2500,title=''
4.
Instruct the user that the member has been restored but that the title needs to be
assigned again.
Chapter 10. Operations and Administration
Page 403
Managing Disk Space
Managing Disk Space
How BIM-EDIT Uses Disk Space
BIM-EDIT uses disk space in 4,096 byte blocks. These 4K blocks are used for all the
things BIM-EDIT must store: the member, library, and user directories (entries are
stored 16 to a block); the security records (also 16 to a block); the MMP variables; the
users' SIB variables; and text of members, open sessions, mail messages, and users'
$LOG, $MAIL, and $STACK areas.
The largest consumer of disk space is usually member text. For performance, BIM-EDIT
always stores the text of a single member in contiguous blocks. Because of this, BIMEDIT can read and write that text up to 16K at a time -- a typical member of 2000 lines
can be copied with about 14 I/O operations. However, the side effect is that the
Administrator must ensure that there are always enough blocks available in one area to
save the text of the largest member which can be edited.
Available blocks are listed in a table which can be viewed online at any time by
entering:
=> show avail
Each entry in the table contains the starting block number and the number of blocks in
the area. A final line shows the total number of blocks available.
Over time, you are likely to find that the size of the largest available area decreases due
to the growth of the members in the library and due to fragmentation of available areas.
Fragmentation
"Fragmentation" describes the situation where space is available in distributed chunks,
and not all together in one block. BIM-EDIT's use of 4K blocks was designed to
eliminate truly unusable fragments, but it is normal for a significant amount of the
available space to consist of scattered areas. If fragmentation becomes too severe, you
may find that you have no available areas large enough to perform some operations
even though you have enough space overall. BIM-EDIT is designed to avoid excessive
fragmentation -- it will always use the area closest in size to the amount it needs.
Available areas are created and consumed as space is used and freed, which takes place
whenever a member or other entity is created, purged, or edited. A balance will be
rapidly reached between activities which create available areas and those which
consume available areas, usually resulting in the AVAIL table remaining in the range of
300 to 500 entries.
In BIM-EDIT, fragmentation only becomes a problem when there is not enough space in
one area to accommodate an operation. (Fragmentation does not affect performance -- if
there is enough space, an operation will execute at the same speed regardless of how
many entries are in the available table.)
Page 404
BIM-EDIT System Reference Manual
Managing Disk Space
The need to "reorganize" the BIM-EDIT library to collect fragmented storage nearly
always indicates you have inadequate space assigned to BIM-EDIT. Sometimes,
reorganizing can buy some time when BIM-EDIT has outgrown its space allocation.
You should periodically monitor the status of the AVAIL table to determine when it is
time to take action.
When you determine the need to "reorganize" the BIM-EDIT library, you have two
choices:
1) You can perform a complete library reorganization, by making a full logical backup
of the BIM-EDIT library, and then restoring the library using the BIMREST
program. This method requires that no users be using BIM-EDIT during the
backup, and that your BIM-EDIT system be down during the restore.
2) You can use the REORG command. This can be run while BIM-EDIT is being used.
The REORG command will attempt to move members from the end of the library to
free areas at the front of the library, thus forming larger free areas at the end of the
library. Depending on the sizes of the members and the existing free areas, the
REORG command may prevent or at least postpone the need for a complete library
reorganization.
Estimating the Blocks Required for a BIM-EDIT Library
The number of blocks required for a BIM-EDIT library immediately after a logical
restore (that is, without any fragmentation) can be calculated as follows:
1.
Number of members in the library x .0625 (for member header records of 256 bytes
each).
2.
Plus number of libraries x .0625 (for library header records of 256 bytes each).
3.
Plus number of security records x .0625 (for security records of 256 bytes each).
4.
Plus number of users x 1.0625 (For 4K SIB record and 256 byte user header record
each.)
5.
Plus number of open EDIT, EDITD, LISTD, or DISP sessions x 32 (32 blocks for
work areas.)
6.
Plus amount of text stored in members rounded up to integral number of 4K blocks
per member. Count text to only the rightmost non-blank character on each line.
Consider any runs of two or more consecutive blanks to be two bytes only. Lines
are not split across blocks. Add three bytes overhead for each line. Add 30 bytes of
overhead for each block. Do not forget the text in the member audit trails. You can
determine the number of blocks in a particular member by displaying predefined
variables TXMAUCI and TXMSZCI. Note that this includes any members in the
purge library.
7.
Plus amount of text in open EDIT, EDITD, LISTD, or DISP sessions rounded up to
integral number of 4K blocks per session. Use same rules as for member text.
8.
Plus amount of text in $LOG, $STACK, and $MAIL for each user rounded up to
integral number of 4K blocks. Use same rules as for member text.
9.
Plus amount of text in mail messages. Use same rules as for member text.
Chapter 10. Operations and Administration
Page 405
Managing Disk Space
10. Plus 34 (32 blocks for system recovery area plus 1 block for MMP area plus 1 block
overhead for key sequence headers.)
In round numbers (there are minor differences between the VSE and MVS systems), the
BIM-EDIT starter system comes with the following defined: 1100 members, 16 libraries,
no security records, 1 user, no open sessions, 2000 blocks of text in members, and 0
blocks of text in the user's $LOG, $STACK and $MAIL. The starter system requires
about 3000 4K blocks to be usable.
Many of the statistics for a current library are printed at the end of the BACKUPG
listing.
In addition to the disk storage required to hold the members, etc., BIM-EDIT must have
working space in its library. Each user logged on requires 96 blocks (32 blocks for each
of $STACK, $LOG/$MAIL, and recovery area). Each EDIT session save requires enough
contiguous blocks for its text (these blocks will be used before the blocks occupied by
the previous version of the member or the EDIT session are freed). Fragmentation will
also consume space, the amount depending on the number of volatile members in your
library and their sizes (a rule of thumb would be to allow 10% or 1000 blocks -whichever is greater -- for fragmentation).
Converting BIM-EDIT Blocks to FBA Blocks/CKD Tracks
For FBA disk drives, eight FBA blocks equal one BIM-EDIT 4096 byte block.
For CKD disk drives, the following table shows the number of BIM-EDIT 4096 byte
blocks per track.
Disk drive
2314
3330
3340
3350
Blocks/track
1
3
2
4
Disk drive
3375
3380
3390
9345
Blocks/track
8
10
12
10
Doing Something About Too Little Space
Writing from the limb of conjecture, we feel an "average" "stable" site should "do
something" when:
•
the total amount of disk space available is less than 3000 blocks.
•
or the largest available area is less than 1000 blocks.
•
or the number of entries in the AVAIL table is greater than 600.
What you do depends on what appears to be consuming the space. If you have simply
run out of space, you can:
•
purge members.
•
expand the BIM-EDIT library through a logical backup/restore sequence.
If you feel the problem is excessive fragmentation, you can eliminate the fragmentation
(for a while) through a logical backup/restore sequence.
Page 406
BIM-EDIT System Reference Manual
Managing Memory Utilization
Managing Memory Utilization
BIM-EDIT manages memory in 16K buffers and subdivisions of 16K buffers. These 16K
buffers are acquired at system startup and then managed by BIM-EDIT to process
requests as it receives them.
BIM-EDIT Start-Up on VSE
During startup, BIM-EDIT maps partition memory as follows:
•
If BIM-EDIT is running in its own partition, the JCL // EXEC statement must
specify at least SIZE=4K. This allows the initial module BIMEDIT to be loaded. If
access to VSE sublibraries is desired, SIZE=180K must be used for the interface to
LIBR.
•
64K is acquired from the partition GETVIS area to provide room for system control
blocks and work areas and about 150K of GETVIS will be consumed by the BIMEDIT VSE Hardcopy support, and the IESMSGS file used by the MESSAGE
command.
•
BIM-EDIT then attempts to acquire from the partition GETVIS area enough space
for its 16K buffers. If there is not enough space in the GETVIS area for all of the 16K
buffers indicated, BIM-EDIT will acquire as much space as it can, in units of 16K.
The number 16K buffers actually acquired is kept for future reference.
Note that if BIM-EDIT is running as a subtask in a CICS partition, BIM-EDIT acquires
all storage from the GETVIS area of the CICS partition.
BIM-EDIT Start-Up on MVS
During startup, BIM-EDIT maps partition memory as follows:
•
The initial module of BIM-EDIT is loaded.
•
64K is GETMAINed from the region to provide room for system control blocks and
work areas.
•
BIM-EDIT then attempts to GETMAIN enough space for its 16K buffers. If there is
not enough space in the region for all of the 16K buffers indicated, BIM-EDIT will
acquire as much space as it can, in units of 16K. The number of 16K buffers actually
acquired is kept for future reference.
On MVS, BIM-EDIT modules are loaded into GETMAINed memory rather than the
buffer pool. 300K of memory is reserved by BIM-EDIT before buffer acquisition to allow
for this and other uses of region memory.
Chapter 10. Operations and Administration
Page 407
Managing Memory Utilization
BIM-EDIT Processing of a Service Request
When BIM-EDIT receives an input message requesting services from an online user, a
workstation user, application interface program, or batch utility:
•
It will hold the message until a minimum specified number of buffers is available.
•
Buffers will be used during processing to hold any data areas needed to process the
message.
•
If the input message requires the use of any BIM-EDIT modules which have not
been previously loaded, BIM-EDIT will load the modules. On VSE, BIM-EDIT will
use buffers to load the modules. On MVS, the modules will be loaded into
GETMAINed storage.
Memory Management Control Variables
The values of five MMP (system memory map) variables are used to manage the buffer
pool:
MMP16KCU
represents the number of 16K buffers that must be available before
BIM-EDIT will process an input message. This variable can be set with
the SET command. The starter library has a value of 8 for MMP16KCU,
a value suitable for most sites.
MMP16KDP
represents the number of 16K buffers BIM-EDIT was able to acquire at
startup.
MMP16KSP
represents the number of 16K buffers BIM-EDIT is to attempt to acquire
at startup. This variable can be set with the SET command. The starter
library has a value of 70 for MMP16KSP. This value is suitable for up to
8 concurrent users.
MMP16KSW
represents the number of 16K buffers that are available. This includes
not only those in the available pool, but also those buffers that can be
"acquired" from tasks in a wait state.
MMP16KUS
represents the number of 16K buffers in use.
The contents of the MMP variables can be viewed online at any time by entering:
=> show mmp
Variable MMP16KCU is used to avoid reactivating a task waiting on an input message
when it would complicate a short-on-storage situation. If MMP16KCU buffers are not
available, BIM-EDIT does not reactivate the task but allows existing tasks to complete
processing and free buffers they've acquired. At such time as MMP16KCU 16K buffers
become available, BIM-EDIT will reactivate a task to process an input message. The
implementation minimizes the chance of a deadlock situation, i.e., a situation in which
tasks are waiting for memory that will never be made available. If you encounter a
deadlock situation, and if BIM-EDIT displays the BIRDPDLB deadlock message on the
system console, set MMP16KCU to 10, and if the problem recurs, set MMP16KCU to 12.
Variable MMP16KSP is used to limit the amount of memory allocated to BIM-EDIT to
less than the full partition or region.
Page 408
BIM-EDIT System Reference Manual
Managing Memory Utilization
VSE:
On VSE, you would compute the figure to limit BIM-EDIT to 2048K as follows:
Total memory allocated to BIM-EDIT
Without
LIBR
With
LIBR
2048
2048
4K
180K
214K
214K
1830K
1654K
114
103
Less amount reserved for initial program load
Less amount initially acquired from GETVIS
Memory available for 16K buffers
Divide by 16K to give number of buffers
(Do not attempt to limit BIM-EDIT to less memory or buffers than the minimum 8 user
VSE system described below.)
MVS:
On MVS, you would compute the figure to limit BIM-EDIT to 2048K as follows:
Total memory allocated to BIM-EDIT
2048K
Less amount initially acquired
64K
Less amount reserved for BIM-EDIT modules
250K
Less region allowance for unknown requirements
100K
Memory available for 16K buffers
1634K
Divide by 16K to give number of buffers
102
(Do not attempt to limit BIM-EDIT to less memory or buffers than the minimum 8 user
MVS system described below.)
If the buffers were to be limited to 135, the System Administrator would enter:
=> set mmp16ksp,135
Initial Storage Estimates for VSE
The initial estimate of the memory required to run BIM-EDIT on VSE depends on the
number of simultaneous users expected:
Max users
logged on
8 (minimum)
16
32
Partition
Size
1536K
2560K
3072K
MMP16KSP
70
135
167
Max users
logged on
64
128
Partition
Size
4096K
8192K
MMP16KSP
210
420
These figures include the 180K for the LIBR interface but do not include the 4K required
per user with the enhanced screen compression (see predefined variable SIBCMPR). If
your situation is different, adjust accordingly.
Chapter 10. Operations and Administration
Page 409
Managing Memory Utilization
(Sometimes system software requires a certain amount of virtual storage within the
GETVIS area of each partition. BIM-EDIT automatically reserves 64K for such uses. At
present, tape and disk managers are the only products that BIM has identified as having
additional requirements. After you've determined BIM-EDIT's requirement, be sure to
add requirements posed by such products. If you're not sure of the requirements, 48K is
probably an adequate additional allocation.)
(Note that if more than 64 simultaneous CICS users are expected, module BIMCSDT
must be reassembled. See "Changing the CICS Data Module (BIMCSDT)" in Chapter 11,
Customization.)
Initial Storage Estimates for MVS
The initial estimate of the memory required to run BIM-EDIT on MVS depends on the
number of simultaneous users expected:
Max users
logged on
8 (minimum)
16
32
Region
Size
1536K
2560K
3072K
MMP16KSP
70
135
167
Max users
logged on
64
128
Region
Size
4096K
8192K
MMP16KSP
210
420
These figures do not include the 4K required per user with the enhanced screen
compression (see predefined variable SIBCMPR). If your situation is different, adjust
accordingly.
(Note that if more than 64 simultaneous CICS users are expected, module BIMCSDT
must be reassembled. See "Changing the CICS Data Module (BIMCSDT)" in Chapter 11,
Customization.)
Continuing Considerations
Giving BIM-EDIT less space will probably decrease performance, while giving it
additional space will probably increase performance. However, if significant paging is
occurring, just the opposite may take place. Providing less space may increase
performance, and providing more may decrease performance. In general, BIM-EDIT is
able to do a more efficient job of paging its own data than the operating system can
because it is in a better position to anticipate what data is likely to be referenced in the
near future.
The above figures should provide a balanced starting point for most sites. As an
administrator, you should:
•
allocate enough memory so that BIM-EDIT can function at an acceptable
performance level. If the amount of paging is insignificant, performance can be
somewhat improved by increasing the virtual storage allocation (and hence, the
number of 16K buffers available).
•
restrict the amount of memory allocated to BIM-EDIT so that BIM-EDIT does not
cause excessive paging. If paging is significant, it may be advantageous to reduce
BIM-EDIT memory below the recommended amounts.
Some loss of performance occurs when BIM-EDIT shares buffers between tasks.
However, given limited real memory, a reasonable degree of buffer sharing at peak
Page 410
BIM-EDIT System Reference Manual
Managing Memory Utilization
periods is probably a wise use of resources. Buffer sharing begins when all buffers are
in use, i.e., when MMP16KUS approximately equals MMP16KDP. Monitor MMP16KUS.
If MMP16KUS is always 75% or less of MMP16KDP, you probably don't need as much
memory as you have allocated.
A critical loss of performance occurs when tasks are forced to wait for buffers. This
condition should definitely be avoided. Monitor MMP16KSW. If MMP16KSW drops
below 25% of MMP16KDP, more memory should be allocated to BIM-EDIT. (When
monitoring the MMP variables, you'll need to take several samplings to find the peak
value, probably at the heaviest load periods. Each display of the MMP variables is
simply a snapshot as of that moment.)
When BIM-EDIT enters a severe memory shortage situation, the following message is
displayed:
BIRDPMLA ** SYSTEM UNDER SEVERE MEMORY STRESS **
When the severe memory shortage situation is relieved, the following message is
displayed:
BIRDPMLB SYSTEM NO LONGER UNDER SEVERE MEMORY STRESS
Some additional information can be gleaned from other MMP variables:
•
BIM-EDIT uses buffers in 5 different sizes: 16K, 4K, 1K, 256 byte, and 64 byte. 16K
buffers have been discussed at length above. When no buffers of a particular size
are available, a larger size buffer is subdivided into buffers of the size needed. The
smaller buffers thus created are then allocated and freed as needed. Once
subdivided, only 4K buffers are ever recombined into a larger size, and then only if
all four buffers made from the original 16K are free. The variables that indicate the
small buffer activity are:
Buffer Size
4K
1K
256
64
•
Buffers Allocated
MMPMPLDP
MMPMPMDP
MMPMPSDP
MMP64BDP
Buffers In Use
MMPMPLUS
MMPMPMUS
MMPMPSUS
MMP64BUS
On VSE, the number of 16K buffers in use for BIM-EDIT load modules is given by
the MMPLDUSG variable. Once allocated, these buffers are never freed.
Chapter 10. Operations and Administration
Page 411
Transferring Members from Other Editors
Transferring Members from Other Editors
BIM-EDIT provides facilities for transferring members from other editors. Which
facilities are best to use depends on the editor you are transferring from.
Transferring Members from ICCF (VSE Only)
On VSE, BIM-EDIT provides procedures/commands to transfer ICCF members to the
BIM-EDIT library. The LOADI procedure will transfer an individual ICCF member. The
LOADIL procedure will transfer an entire ICCF library. Refer to the LOADI and
LOADIL documentation in Chapter 8, Operator and Administrator Commands in this
manual. You may want to consider using the BIPSTAT procedure after the transfer. This
procedure is described below.
Transferring Members from MVS PDSs or VSE Sublibraries
BIM-EDIT provides commands to transfer members from MVS PDSs and VSE
sublibraries into the BIM-EDIT library. The LOADD procedure will transfer an
individual member. The LOADDL procedure will transfer an entire MVS PDS or VSE
sublibrary. Refer to the LOADD and LOADDL documentation in Chapter 3, Advanced
User Commands, in this manual.
The BIPSTAT procedure: After members are transferred to BIM-EDIT, by whatever
means, you may want to provide initial values for fields such as TYPE, ATTR, etc. BIMEDIT provides the procedure BIPSTAT in library $SYS.PROC as an example of how you
might initially set these values. BIPSTAT will process every member in a library and,
based upon the contents of a member, set various fields in the member record. Take a
look at BIPSTAT. Create a customized version to suit your needs. You may want to
check for various other member types. Also, you'll probably want to provide different
values for some of the fields.
Transferring Members using the LOADT Command
BIM-EDIT provides the LOADT command to load data from offload tapes produced by
other systems. At present, four formats are supported:
•
VSE ICCF PUNCTL format
•
VSE SSERV PUNCH format
•
CONDOR CATALS/BKEND format
•
MVS IEBUPDTE format
For more information, see the LOADT documentation in Chapter 3, Advanced User
Commands, in this manual.
Page 412
BIM-EDIT System Reference Manual
Transferring Members from Other Editors
Transferring Members by Creating a BIM-EDIT Command Tape
This process for transferring members to BIM-EDIT is a two-step process. First, use the
facilities of the other editor to create a tape in a format suitable to BIM-EDIT. The tape
should contain either 80 byte records (max block size= 16000) or 81 byte records (max
block size= 16200). If 81 byte records are used, the first byte is ignored by BIM-EDIT.
The tape should be of the following format:
DEFINE member1,type,other attributes
EDIT
INSERTF
... text for member1
++/*
SAVE
DEFINE member2,type,other attributes
EDIT
INSERTF
... text for member2
++/*
SAVE
Second, load the members to BIM-EDIT by a job stream similar to the following. Specify
'INCLUDE (TP81)' if the tape contains 81 byte records:
VSE Job Control
// JOB LOAD
// ASSGN SYS004,TAPE
// PAUSE MOUNT TAPE
// EXEC BIMUTIL
LOGON $SYS,$SYS
ATTACH AR20
INCLUDE (TP80)
/*
/&
MVS Job Control
//CONVERT JOB
//BIMUTIL EXEC
//STEPLIB DD
//BIFTP80 DD
//
//SYSPRINT DD
//SYSIN
DD
LOGON $SYS,$SYS
ATTACH AR20
INCLUDE (TP80)
/*
....
PGM=BIMUTIL
DSN=BIMEDIT.LOADLIB,DISP=SHR
DSNAME=BIMEDOUT,UNIT=TAPE,LABEL=(1,SL,EXPDT=98000),
VOL=SER=BIM104
SYSOUT=A
*
Chapter 10. Operations and Administration
Page 413
Chapter 11. Customizing BIM-EDIT
This chapter discusses the process of changing BIM-EDIT to "fit" your site's needs. It
covers a number of subjects, starting with the most common and simplest things to
change and progressing towards more complicated and unusual topics. We feel that
virtually all sites will benefit from "Modifying DEFINE Templates", most sites should
look into "Controlling LOGON" and "Modifying COMPILE, PROCESS, and SUBMIT",
and few will have reason to look at "Adding, Replacing, Deleting BIM-EDIT Modules".
The topics covered are:
Page 414
•
Modifying System Control Variables
•
Modifying DEFINE Templates
•
Modifying HELP Displays
•
Modifying Error Messages
•
Controlling LOGON
•
Controlling Access to POWER Job Entries or JES Data Sets
•
Modifying COMPILE, PROCESS, and SUBMIT
•
Modifying Other System Procedures
•
Creating Library, User and Site Commands
•
Creating a CHECKIN Command Which Keeps Old Versions
•
Altering System Commands, Names and Restrictions (BIFXCCM Table)
•
Creating Commands Which Access CICS Transactions (BIFXCTR Table)
•
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)
•
Changing MAPF Screen Attribute Characters (BIFTBAT Table)
•
Changing the CICS Data Module (BIMCSDT)
BIM-EDIT System Reference Manual
Modifying System Control Variables
Modifying System Control Variables
BIM-EDIT provides a number of MMP predefined variables which can be used to
control the operation of the system:
MMPAUCTL
Specifies whether users can turn off member auditing.
MMPDTCTL
Specifies whether USA or European date format is used.
MMPICCTL
(VSE only.) Specifies whether ICCF is accessible.
MMPLGTYP
Specifies whether users can use free format logon.
MMPNOTFY
(VSE only.) Specifies whether the POWER JOB NTFY= support is to be
activated at startup.
MMPPGCTL
Specifies whether purge control is active.
MMPPGSIZ
Default number of lines to be printed per page.
MMPQBKSP
(VSE only.) Controls buffer allocation for POWER DLBK sizes greater
than 12228.
MMPPWCTL
See "Controlling Access to POWER Job Entries or JES Data Sets" in this
chapter.
MMPSPCTL
Specifies whether users can turn off member stamping.
MMP16KCU
See "Managing Memory Utilization" in Chapter 10.
MMP16KSP
See "Managing Memory Utilization" in Chapter 10.
These values can be changed by the System Administrator with the SET command. For
more information about these values, see Chapter 4, Predefined Variables, in this
manual or the specified section.
Chapter 11. Customizing BIM-EDIT
Page 415
Modifying DEFINE Templates
Modifying DEFINE Templates
When a member is created via the DEFINE command, the TYPE operand determines
the initial attributes and contents of the member. The DEFINE command implements
this function by copying "template members" from the $SIT.MODEL library, or, if not
found there, from the $SYS.MODEL library. If TYPE is specified, a template member of
name TYPE will be copied for the initial characteristics of the new member. For
example, if TYPE is COBOL, $SIT.MODEL.COBOL or $SYS.MODEL.COBOL will be
used as the template. If TYPE is not specified, the type from member
$SIT.MODEL.$DFL or $SYS.MODEL.$DFL will be used as the template. If the template
member has text in it, the defined member will have a copy of this text, unless TYPE is
enclosed in parentheses ().
Template members are also used when members are accessed from a VSE sublibrary or
an MVS PDS. EDITD and LISTD will use the template whose name is the "type" of the
member being accessed to set the initial attributes of the session they create.
BIM-EDIT as distributed provides the following members in library $SYS.MODEL:
$DFL
Default template type. As distributed, $DFL has a TYPE of
COBOL.
The TYPE defined for $DFL must be either 'UNDEFINE' or the
name of a member in $SIT.MODEL or $SYS.MODEL.
A
Assembler source (used by EDITD and LISTD).
ASM
Assembler source (used by EDITD and LISTD).
B
(VSE)
C
COBOL source (used by EDITD and LISTD).
COB
COBOL source (used by EDITD and LISTD).
COBOL
COBOL source.
DATA
Generic data (all upper case).
E
(VSE)
FORT
ICCF
PDS
Edited assembler macro source (used by EDITD and LISTD).
FORTRAN source.
(VSE)
JCL
Page 416
VTAM definition data (used by EDITD and LISTD).
Template used within the COPYI procedure to provide initial
attributes for members transferred from ICCF.
Job Control Language.
(MVS)
Attributes used by LOADD, if TYPE unspecified.
P
PL/I Source (used by EDITD and LISTD).
PLI
PL/I Source (used by EDITD and LISTD).
PROC
BIM-EDIT Procedure RPG RPG source.
TEXT
Generic text (upper and lower case).
BIM-EDIT System Reference Manual
Modifying DEFINE Templates
VSE
(VSE)
Attributes used by LOADD, if TYPE unspecified.
You can display the attributes of the template members with the INQUIRE command.
For example, to display the attributes for the COBOL template, enter:
=> inquire $sys.model.cobol
Many sites find it useful to customize the templates to match the activities performed
frequently or to provide standard JCL or other contents. To customize the template
facility, create members in library $SIT.MODEL. You should not customize
$SYS.MODEL because it is completely restored when a new BIM-EDIT release is
installed. For example, to create a member for TYPE "MEMO", whose attributes are to
be the same as TYPE "TEXT":
=> attach $sit.model
=> define memo,text
=> alter memo,type=memo
Note that we couldn't specify a TYPE of MEMO in the DEFINE command. BIM-EDIT
would have rejected it because the template for MEMO did not yet exist. Rather we
altered $SIT.MODEL.MEMO to TYPE=MEMO after it had already been defined.
Disabling TYPE Check
You can disable the TYPE check, allowing any value to be used for the TYPE attribute
by defining a member $SIT.MODEL.$DFL with a TYPE of 'UNDEFINE'.
Any other value for the TYPE attribute of the $DFL member simply establishes a
'default' TYPE, and the TYPE validation will still be performed.
The attributes of the model whose name matches the TYPE of the $DFL member are
used to define a new member when:
•
no TYPE is entered on the DEFINE command, or
•
when TYPE check processing has been disabled, and an undefined type is entered.
Chapter 11. Customizing BIM-EDIT
Page 417
Modifying HELP Displays
Modifying HELP Displays
A user who needs help with the BIM-EDIT CHANGE command can enter:
=> help change
The help facility will respond by searching library $SIT.HELP for a member named
CHANGE. If CHANGE is not found, library $SYS.HELP is then searched. Assuming a
member is found in one of the libraries, the member is displayed. (If the HELP
command is entered without an operand, the help facility searches for a member named
MENU.)
When a command can be entered in different ways (for example, "c" can be used instead
of "change"), the help facility allows you to enter any of them:
=> help c
Rather than storing the same text in both $SYS.HELP.C and $SYS.HELP.CHANGE, the
synonym feature is invoked by providing a $SYS.HELP.C which contains no text, and
has its title set to "-> CHANGE". When the help facility encounters the two characters ">" in the first two positions of the title, it extracts a new member name starting in
position 4. The help facility then searches for the new member, in this case, member
CHANGE.
Sites may wish to customize HELP to explain other customizations (for example,
security rules from the BIXPWQA exit), to "improve" the explanations, or to suppress
certain explanations for security purposes.
The distributed BIM-EDIT HELP members are held in library $SYS.HELP. You should
not customize these members because the entire library is replaced when a new BIMEDIT release is installed. Instead, copy help members from $SYS.HELP to $SIT.HELP
before customizing them. If a help member exists in both the $SYS.HELP and
$SIT.HELP libraries, the one from $SIT.HELP will be used.
To suppress HELP for a command, create $SIT.HELP entry(ies) for that command
which are synonyms for a command that does not exist:
=> define $sit.help.defineu,(text),title='-> null'
=> define $sit.help.defu,(text),title='-> null'
HELP is implemented by system procedure $SYS.PROC.BIPHELP. You can also
customize HELP by modifying this procedure as described in "Modifying Other System
Procedures" later in this chapter.
Page 418
BIM-EDIT System Reference Manual
Modifying Error Messages
Modifying Error Messages
The text for most messages displayed by BIM-EDIT is held in the message table. The
assembler routines simply reference message codes.
The message table is created at startup time by merging the contents of members
$SYS.CTRL.MESSAGES and $SIT.CTRL.MESSAGES. (The message table can also be
recreated with the NEWCOPY command while BIM-EDIT is running.) Messages in
member $SIT.CTRL.MESSAGES take preference, i.e., if a message code exists in both
members, the message from $SIT.CTRL.MESSAGES is used.
Sites may wish to customize messages to "improve" them or to conform to other
customizations.
All messages distributed with BIM-EDIT are held in the $SYS.CTRL.MESSAGES
member. You should not customize this member since it is replaced when a new BIMEDIT release is installed. Instead, create the $SIT.CTRL.MESSAGES member and place
the customized messages there.
Messages placed in $SIT.CTRL.MESSAGES should be of the same format as messages
held in $SYS.CTRL.MESSAGES. The message code is placed in columns 1-8 and the
message text in columns 10-153. Error message text begins with the message code in
parentheses; success messages do not. Substitution of predefined variables is often used
to make messages specific -- see Chapter 4, "Predefined Variables", in this manual, for
more information. Messages should be placed in ascending order by message code.
Chapter 11. Customizing BIM-EDIT
Page 419
Controlling Logon
Controlling Logon
Forcing Secured Logon
An online logon can either be free format or secured. When BIM-EDIT is accessed
through CICS, a free format logon is of the format:
edtr uuuuuuuu,pppppppp
where
edtr
uuuuuuuu
pppppppp
is the BIM-EDIT transaction ID (EDTR is the default)
is the user ID.
is the password.
Means of access other than CICS have similar ways to provide user ID and password
when initiating the connection.
A secure logon, on the other hand, is entered through a formatted screen where the
password field is non-display. On CICS, the user simply enters:
edtr
and the formatted screen appears. The user then types in the user ID and password.
The predefined variable MMPLGTYP defines whether free format logon is allowed.
(predefined variables are described in Chapter 4 of this manual). If MMPLGTYP has a
value of "F", the free format logon is allowed. If MMPLGTYP has a value of "S", only the
secure logon is allowed. If MMPLGTYP has a value of "F", the secure logon is still
allowed and is used if the user ID and password are not provided at initiation.
BIM-EDIT, as distributed, has MMPLGTYP set to "F". To change this to enforce a secure
logon, enter:
=> set mmplgtyp,s
To view the current setting of MMPLGTYP, enter:
=> show mmp
Look for the MMPLGTYP entry. Its current setting is in the DATA column.
Overriding Logon
If you run into a situation where a previous BIM-EDIT logon session has not been
terminated, you can force the termination of the previous session by specifying the
logon password field as '$FORCE'. This will terminate the current logon session for the
specified user id. You can then re-enter the logon with the password defined for your
userid.
Page 420
BIM-EDIT System Reference Manual
Controlling Logon
Customizing the Logon Screen
You can display your organization's logo (or other messages) by customizing the secure
logon screen. The display which is used is contained in $SYS.CTRL.LOGON formatted
as the screen layout for a MAPF command.
To customize the screen, create a changed version in $SIT.CTRL.LOGON. You must
retain USER and PSWD as eight character input fields somewhere on the screen. You
might want to check the operation of your screen in a procedure like the following
before you move it to $SIT.CTRL.LOGON:
SET PPDVBL,1
SET PPDINCL,1
DCL USER,CHAR,8,V
DCL PSWD,CHAR,8,V
DCL MSG,CHAR,50,V
SET MSG,'THIS IS A TEST MESSAGE'
MAPF
/INCLUDE YOURLIB.YOURMEM
++/*
EXIT OK,'USER="&USER" PSWD="&PSWD"'
BIM-EDIT protects you from making it inaccessible due to an error in the LOGON
screen. If an error occurs while processing the screen, BIM-EDIT sets MMPLGTYP to F
(free-format) so that a free-format logon can be used.
Performing Special Processing after LOGON (LOGON Procedure)
Additional logon control can be provided by creating a LOGON procedure. If present, a
procedure named $USR.uuuuuuuu.LOGON will be executed immediately when online
user uuuuuuuu logs on. It is possible to write a procedure that will control all user
operations from logon to logoff, with the user having no opportunity to execute
commands. If there is no $USR.uuuuuuuu.LOGON, BIM-EDIT will check for a
$SIT.PROC.LOGON and will execute it if present. BIM-EDIT will not check the $SYS
library. The LOGON procedure is not executed when using BIM-EDIT from batch
utility or from the application interface.
Performing Special Processing before LOGON (BIXLOGN Module)
Module BIXLOGN is an exit routine which receives control just before logon. It is given
addressability to the user ID and password. These can be changed or the logon can be
rejected based on criteria outside of BIM-EDIT. The distributed module performs no
operation.
BIXLOGN can acquire storage that remains for the duration of the BIM-EDIT task, and
hence is available for use in other modules. For more information, see the assembler
source code in $SYS.SRC.BIXLOGN. Make a copy of the distributed version as a starting
point:
=> copy $sys.src.bixlogn $sit.src.bixlogn
Chapter 11. Customizing BIM-EDIT
Page 421
Controlling Logon
and modify the )INCL commands to refer explicitly back to the $SYS.SRC library. After
you've assembled and linked the new version, it can be loaded with the following
command:
=> newcopy bixlogn
(Note that "bugs" in BIXLOGN can totally prevent all subsequent LOGONs. A good
first precaution is to leave a terminal logged on while you test your new routine on
another terminal. However, in case your customized BIXLOGN routine abends BIMEDIT, you should make sure you have a reliable copy of BIXLOGN where it can be
reinstated if your modifications cause problems.)
Page 422
BIM-EDIT System Reference Manual
Controlling Access to POWER Job Entries or JES Data Sets
Controlling Access to POWER Job Entries or JES Data Sets
It is usually desirable to limit a user's access to POWER job entries (if running on VSE)
or JES data sets (if running on MVS). The BIXPWQA exit routine determines whether
access is to be allowed or denied. The following is an overview description of the
routine. For the details of the interface, see the comments in the assembler source code
in $SYS.SRC.BIXPWQA.
The BIXPWQA exit routine is provided:
•
the PWR record (on VSE) or the JCT/JQE record (on MVS).
•
the SIB (system interface block). (The predefined field SIBSECPW holds the user
security level set with the PWRSEC operand of the DEFINEU and ALTERU
commands. Thus the exit routine can function differently based upon the security
level in effect for the user.)
•
the MMP (system memory map block). (The predefined field MMPPWCTL is
provided specifically for use in BIXPWQA. Based upon the MMPPWCTL setting,
the exit routine can function in different ways at different times. For example, you
may use MMPPWCTL to control whether security is active.)
•
the user id specified on the command.
•
the command line to be passed to POWER or JES.
•
the access type, for example, read-only LISTP versus an update ALTERP.
The distributed version of BIXPWQA functions as follows:
1.
Security is active only when MMPPWCTL has a value of "1".
2.
If SIBSECPW has a value of "0", access is always denied. Thus certain users can be
totally excluded from access.
3.
If SIBSECPW has a value of "1", access is controlled by the user field of the POWER
job entry or the job name of JES data sets. On VSE, access is provided only if the
first four characters of the POWER user field from the "* $$ JOB" card match the
BIM-EDIT logon ID. On MVS, access is provided only if the JES job name field from
the "// JOB" begins with the BIM-EDIT logon ID.
4.
If SIBSECPW has a value of "2", access for CONTROLP, LISTP, PURGEP and
ALTERP is always allowed. Access for the LIBRARYP command is limited by user
specified on the USER parameter. If USER=ALL is specified, all entries are listed.
Otherwise, on VSE, access is allowed if the first eight characters of the POWER user
field match USER (if entered) or the BIM-EDIT logon id (if USER not entered).
Otherwise, on MVS, access is allowed if the JES job name matches USER (if entered)
or the BIM-EDIT logon id (if USER not entered).
5.
If SIBSECPW has a value of "3", access is always allowed. Thus certain users
(typically operators or administrators) can be given a SIBSECPW of "2" or "3" so that
they are allowed access to all job entries.
Sites implement customized versions of BIXPWQA to alter the way in which it
determines security. For example, you may want to base access decisions upon the first
Chapter 11. Customizing BIM-EDIT
Page 423
Controlling Access to POWER Job Entries or JES Data Sets
few characters of the job name as opposed to the user field. Make a copy of the
distributed version as a starting point:
=> copy $sys.src.bixpwqa $sit.src.bixpwqa
and modify the )INCL commands to refer explicitly back to the $SYS.SRC library. After
you've assembled and linked the new version, it can be loaded with the following
command:
=> newcopy bixpwqa
Page 424
BIM-EDIT System Reference Manual
Modifying COMPILE, PROCESS, and SUBMIT
Modifying COMPILE, PROCESS, and SUBMIT
The COMPILE command
Based on information it obtains from the member attributes, COMPILE should submit
the member as program source enclosed in the appropriate JCL. Thus to compile
program XIR2700, you would enter
=> compile xir2700
whether XIR2700 is a COBOL program or an assembler program, whether it is to be
passed through the CICS command level translator or not.
The COMPILE command is only half-implemented as procedure BIPCOMP on the
starter system. You should complete it so that it handles all types of compilations and
assemblies used at your site.
The following member attributes, all of which can be defined by the site, are provided
for use in COMPILE:
TXMTYPE
member type. The supplied types include the common languages
COBOL, RPG, PLI, ASM, and FORT. See "Modifying DEFINE
Templates" earlier in this chapter for more information on member
types.
TXMATTR
member attribute. The distributed BIPCOMP procedure uses it to
indicate the type of the compile. For example, following TXMATTR
values could be used:
TXMLDEF
NL
native, link and catalog
CL
CICS, link and catalog
NR
native, compile only
CR
CICS, compile only
library definition. You could use it to determine where to catalog a the
compile results and what libraries to access when compiling or linking
the member.
These attributes can be set by the DEFINE, FDEFINE, ALTER, and FALTER commands.
See the BIM-EDIT User Reference Manual for more information.
BIM-EDIT provides the following in $SYS.PROC.BIPCOMP:
SET PPDVBL,1
DCL MEM,CHAR,33,V
PARSE MEM
READ &MEM
IF XTREUSER,NE,''
EXIT ED,'(BIPCOMPA) ** MEMBER "&TXMLIB..&TXMMEM" IS BEING EDITED **'
IF TXMTYPE,EQ,''
EXIT SV,'(BIPCOMPB) ** MEMBER "&TXMLIB..&TXMMEM" TYPE NOT SET **'
IF TXMATTR,EQ,''
EXIT SV,'(BIPCOMPC) ** MEMBER "&TXMLIB..&TXMMEM" ATTR NOT SET **'
AUTH ON
EX $SIT.COMP.&TXMTYPE-&TXMATTR
AUTH OFF
EXIT OK,'## JOB TO COMPILE MEMBER "&TXMLIB..&TXMMEM" SUBMITTED ##'
Chapter 11. Customizing BIM-EDIT
Page 425
Modifying COMPILE, PROCESS, and SUBMIT
This procedure retrieves the member name, gets the member attributes, and then
executes another procedure in library $SIT.COMP based on TXMTYPE and TXMATTR.
If a member being compiled had TXMTYPE=COBOL and TXMATTR=NL, BIPCOMP
would execute a procedure called $SIT.COMP.COBOL-NL.
No procedures are distributed on the starter system in library $SIT.COMP -- those are
yours to write. The following is an example of what the COBOL-NL procedure might
look like:
VSE COBOL-NL Procedure
SET PPDVBL,2
SET PPDINCL,1
SET PPDTRAP,1
DCL JOBNAM,CHAR,08,V
SETD JOBNAM,TXMMEM
SUBMITF
* $$ JOB JNM=&JOBNAM,DISP=D,CLASS=W,USER=&SIBUSER
* $$ LST DISP=H
// JOB &TXMMEM
)AUTH ON
/INCLUDE $SIT.COMP.LIBDEF-&TXMLDEF
)AUTH OFF
// OPTION CATAL,NOLISTX,NOSYM
ACTION NOMAP
PHASE &TXMMEM,*
/*
// EXEC FCOBOL,SIZE=128K
CBL NOSEQ,FLAGW,NOCLIST,NOSXREF,NOTRUNC
/INCLUDE &TXMLIB..&TXMMEM
/*
// EXEC LNKEDT
/&
* $$ EOJ
++/*
If TXMLDEF had a value of "USR", this procedure would include the contents of the
member $SIT.COMP.LIBDEF-USR. That member might look something like:
VSE LIBDEF-USR member
//
//
//
//
Page 426
LIBDEF
LIBDEF
LIBDEF
LIBDEF
CL,TO=USRCL1
RL,TO=USRRL1
RL,SEARCH=USRRL1
SL,SEARCH=USRSL1
BIM-EDIT System Reference Manual
Modifying COMPILE, PROCESS, and SUBMIT
MVS COBOL-NL Procedure
SET PPDVBL,2
SET PPDINCL,1
SET PPDTRAP,1
DCL WORK8,CHAR,8,V
SETD WORK8,TXMMEM
SUBMITF
//&WORK8
JOB (&SIBUSER,&SIBPSWD),
//
NOTIFY=&SIBUSER,REGION=1024K,
//
MSGCLASS=Q
//COMPILE EXEC COBVCL,
//
PARM.COB='LANGLVL(1),OPT,DMAP,CLIST,NODYNAM,NOXREF'
)AUTH ON
/INCLUDE $SIT.COMP.COBLIB-&TXMLDEF
)AUTH OFF
//COB.SYSIN DD *
/INCLUDE &TXMLIB..&TXMMEM
/*
)AUTH ON
/INCLUDE $SIT.COMP.LNKLIB-&TXMLDEF
)AUTH OFF
//LKED.SYSIN
DD *
/*
++/*
If TXMLDEF had a value of "USR", this procedure would include the contents of the
members $SIT.COMP.COBLIB-USR and $SIT.COMP.LNKLIB-USR. These members
might look something like:
MVS COBLIB-USR member
//COB.SYSLIB DD DSN=&SIBUSER..SOURCE.COB,DISP=SHR
MVS LNKLIB-USR member
//LKED.SYSLIN
//
//LKED.SYSLMOD
//LKED.SYSLIB
//
DD
DD DDNAME=SYSIN
DD DSN=&SIBUSER..LOADLIB,DISP=SHR
DD
DD DSN=&SIBUSER..LOADLIB,DISP=SHR
Notes:
1.
The COBOL-BL procedure does not receive as a parameter the name of the member
to be compiled. Rather the BIPCOMP procedure read the attributes of the member
into the TXM variables. The COBOL-BL procedure will compile the member whose
attributes are held in the TXM variables.
2.
It is necessary to bypass normal library security when including the LIBDEF
member. The AUTH ON command causes normal library security to be bypassed.
The AUTH OFF command restores normal library security. (These commands are
only valid when executing out of the $SYS or $SIT library).
Your existing compilation procedures should serve as a good starting point in writing
the $SIT.COMP procedures. You may want to make a list of all of the various
compile/assembly types to determine the coding of the ATTR field. You might find it
useful to consider other information within BIPCOMP. For example, rather than use the
Chapter 11. Customizing BIM-EDIT
Page 427
Modifying COMPILE, PROCESS, and SUBMIT
LIBDEF field for cataloging information, you could base that decision upon the BIMEDIT library where the member is stored.
You may modify the operation of BIPCOMP for your site after copying it from
$SYS.PROC to $SIT.PROC, and making entries for COMP and COMPILE in
$SIT.CTRL.COMMANDS. If you do so, you should also create $SIT.PROC.BIPPROC by
copying $SYS.PROC.BIPPROC and make entries for PROC and PROCESS in
$SIT.CTRL.COMMANDS. Otherwise, the PROCESS command running from $SYS will
invoke $SYS.PROC.BIPCOMP, not your replacement version. This is especially
significant because the PROCESS command is invoked by the S LCA command.
The PROCESS Command
The PROCESS command, which is invoked by LCA command S, is implemented by
procedure BIPPROC. As distributed on the starter system, it determines which
command to use based on member type:
•
If member type is ASM, COBOL, FORT, PLI, or RPG, PROCESS will perform a
COMPILE.
•
If member type is PROC, PROCESS will perform an EXECUTE.
•
If member type is JCL, PROCESS will perform a SUBMIT.
•
Any other member type is an error.
If you add new member types, you may wish to customize BIPPROC. Copy it from
$SYS.PROC to $SIT.PROC before doing so, then make entries for PROC and PROCESS
in $SIT.CTRL.COMMANDS.
The SUBMIT Command
The SUBMIT command is implemented by procedure BIPSUBM. As distributed, it
assumes that the data to be submitted contains appropriate JCL. You may customize it
so that it produces JCL (similar to COMPILE above) or performs other checking. Copy it
from $SYS.PROC to $SIT.PROC before changing it, then make entries for SUB and
SUBMIT in $SIT.CTRL.COMMANDS.
On MVS, the SUBMITD command is implemented by procedure BIPSUBD. It is similar
in function and customization to BIPSUBM.
As described above for the COMPILE command, if you create a revised BIPSUBM in the
$SIT.PROC library, you should also create a $SIT.PROC version of BIPPROC so that the
PROCESS command will invoke your $SIT.PROC.BIPSUBM, not the supplied
$SYS.PROC.BIPSUBM.
Page 428
BIM-EDIT System Reference Manual
Modifying COMPILE, PROCESS, and SUBMIT
The SUBMITF Exit (BIXPWSB)
All methods of introducing data to the batch system ultimately operate using a
SUBMITF command. Module BIXPWSB is an exit routine which receives control at
three stages of a SUBMITF execution:
•
SUBMITF open
before any lines are transferred.
•
SUBMITF detail
as each line is transferred.
•
SUBMITF close
after all lines are transferred (control will be received even if
the SUBMITF is aborted).
This exit operates between the BIM-EDIT library access mechanism and the transfer to
the operating system's input reader. INCLUDEs or GOTOs take place before BIXPWSB
gets control. All lines to go to the input reader must be transferred by BIXPWSB to the
internal BIM-EDIT transfer routine or some other routine. Any time it receives control,
BIXPWSB can:
•
Transfer one or more lines to the operating system.
•
Ignore its input line.
•
Indicate that the SUBMITF should be aborted.
BIXPWSB is given addressibility to the SIB and the MMP records, and through them to
the PPD record, the line to be submitted, and a return code area.
On VSE, BIXPWSB as distributed with the starter system checks to assure that the JCL
in the member is enclosed in appropriate statements to start and end the job. If
statements are missing, BIXPWSB creates dummy statements.
On MVS, BIXPWSB as distributed with the starter system performs no operation at
SUBMITF open and close and simply passes lines through to JES at SUBMITF detail.
A site may customize BIXPWSB to change the dummy JCL it creates, to implement
additional checks, or to implement an entire alternative SUBMIT facility. For more
information, see the assembler source code in $SYS.SRC.BIXPWSB. Make a copy of the
distributed version as a starting point:
=> copy $sys.src.bixpwsb $sit.src.bixpwsb
and modify the )INCL commands to refer explicitly back to the $SYS.SRC library. After
you've assembled and linked the new version, assure no one is currently submitting,
and then load the module with the following command:
=> newcopy bixpwsb
(Note that "bugs" in BIXPWSB can totally prevent useful SUBMITs, including those
which might be intended to fix the "bugs". You should make sure you have a reliable
copy of BIXPWSB where it can be reinstated if your modifications cause problems.)
Chapter 11. Customizing BIM-EDIT
Page 429
Modifying Other System Procedures
Modifying Other System Procedures
A number of commands are implemented as procedures in $SYS.PROC. If you want to
change their operation at your site, create a copy in $SIT.PROC and make your changes,
then make the entries for the commands which access the procedure in the
$SIT.CTRL.COMMAND table. Do not make modifications to procedures in $SYS.PROC
because they are completely replaced during the next BIM-EDIT version install.
The following is a list of commands implemented by procedures and some of the
common site customizations:
Page 430
Command
COMPILE
COPYD
FALTERL
FALTER
FALTERP
FALTERS
FALTERU
FDEFINE
GETQ
HELP
INQUIRE
INQUIRED
INQUIREU
INSTALL
KEYS
LOADD
LOADDL
LOADI
LOADIL
PRINT
PROCESS
PUNCH
PUNCHL
RENAMED
REPRO
REPROL
SEND
(none)
Procedure
BIPCOMP
BIPCPYD
BIPFALL
BIPFALM
BIPFALP
BIPFALS
BIPFALU
BIPFDFM
BIPGETQ
BIPHELP
BIPINQM
BIPINQD
BIPINQU
BIPINST
BIPKEYS
BIPLDDX
BIPLDDL
BIPLDIX
BIPLDIL
BIPPRNT
BIPPROC
BIPPUNM
BIPPUNL
BIPREND
BIPREPM
BIPREPL
BIPSEND
BIPSTAT
SETKEYS
SUBMIT
SUBMITD
BIPSTKY
BIPSUBM
BIPSUBD
(none)
LOGON
Potential Changes
See "Modifying COMPILE, PROCESS, and SUBMIT"
Remove access to some attributes
Remove access to some attributes
Implement site defaults, remove password display
Implement site defaults
Remove display of some attributes
Remove display of some attributes
Set site defaults for resulting members
Set site defaults for resulting members
(VSE) Set site defaults for resulting members
(VSE) Set site defaults for resulting members
Change handling of headings, other format details
See "Modifying COMPILE, PROCESS, and SUBMIT"
See Chapter. 9, "Transferring Members from Other
Editors"
Set site defaults for PF keys
See "Modifying COMPILE, PROCESS, and SUBMIT"
(MVS) See "Modifying COMPILE, PROCESS, and
SUBMIT"
See "Controlling LOGON"
BIM-EDIT System Reference Manual
Creating Library, User and Site Commands
Creating Library, User and Site Commands
BIM-EDIT allows flexible command customization through its command resolution
scheme. A site can customize BIM-EDIT commands through the site command table
and associated procedures. A user can customize BIM-EDIT through his user command
table and associated procedures. Customization can also occur based upon the attached
library.
How Command Resolution Works
The resolution of a command to a particular module or procedure is controlled by
command tables. There are four command table types, listed in the order in which they
are searched:
1.
Attached Library command table.
2.
User command table.
3.
Site command table.
4.
System command table.
If BIM-EDIT is unable to resolve a command after searching all command tables, and
access is through CICS, a search is made for a command which invokes a CICS
transaction, (see "Creating Commands Which Access CICS Transactions (BIFXCTR
Table)" later in this chapter). If a transaction is not found, a search is made for a
procedure of the command name in the attached library.
The Attached Library, User, and Site command tables are built from the contents of
members of a specific format. Each line in a command table member contains the
command in columns 1-8 and the associated procedure name in columns 10-25. Lines
are in alphabetical order by command. More than one command can refer to the same
procedure. If a command table member does not exist, the command table behaves as if
it has no entries.
Attached Library command table:
When a user logs on or attaches to a library, BIM-EDIT searches for a member of name
COMMANDS in the attached library. An entry in the attached library command table
associates a command with a procedure in the attached library.
User command table:
Each logged on user can have a user command table. When a user logs on, BIM-EDIT
searches for a member of name COMMANDS in library $USR.uuuuuuuu (uuuuuuuu is
the user ID). An entry in the user command table associates a command with a
procedure in the $USR.uuuuuuuu library.
Site command table:
When BIM-EDIT is started, it searches for a member of name COMMANDS in library
$SIT.CTRL. The site command table can also be rebuilt with the NEWCOPY command.
An entry in the site command table associates a command with a procedure in the
$SIT.PROC library.
Chapter 11. Customizing BIM-EDIT
Page 431
Creating Library, User and Site Commands
The BIM-EDIT starter system does not include any command table members. You will
need to create them the first time you have a need for them.
System command table:
The system command table is different in format. It exists as the BIM-EDIT module
BIFXCCM (see "Altering System Commands, Names and Restrictions (BIFXCCM
Table)" next in this chapter). An entry in the system command table associates a
command with either a procedure in the $SYS.PROC library or a BIM-EDIT assembler
module.
A special rule is imposed to prevent the function of a high level procedure from being
disrupted by the resolution of an internal command at a lower level. Thus, even though
the User command table defines a command called READ, the system procedures will
use the system command READ, and therefore will continue to function as
documented. The implementation of this rule is as follows:
1.
BIM-EDIT stores the command table level at which a command is resolved:
Attached Library command table:
User command table:
Site command table:
System command table:
Procedure in the attached library:
2.
level 1
level 2
level 3
level 4
level 1
If a command resolves to a procedure, any commands invoked from that procedure
will only be resolved at levels at least as high as the invoking command. That is,
BIM-EDIT will skip all tables at a lower level than the command it is executing. For
example, if the command SUBMIT was resolved by the site command table, the
READ command it contains could be resolved by either the Site command table or
the System command table. BIM-EDIT would not search the Attached Library
command table or the User command table.
Creating Your Own Commands / Preempting BIM-EDIT's Commands
Clearly, BIM-EDIT gives you extensive capabilities to create specialized commands for
your needs. You can create anything from a command to send mail to all users on the
system (or all users defined) to a command to perform a specialized edit to all members
in your library.
We have already discussed commands which are implemented by system procedures
and how you might modify them. You can also create procedures which replace or
extend system commands by defining command entries for them in the Attached
Library, User or Site Command tables. Some uses of this capability might be:
Page 432
•
To log the usage of a command (for example, security modification commands)
•
To enforce certain sequences of commands (for example, mailing a message to
Computer Operations whenever a module is placed in production).
•
To disable the use of certain commands used in certain ways.
BIM-EDIT System Reference Manual
Creating Library, User and Site Commands
Two system commands are especially useful in procedures which preempt system
commands:
AUTHORIZ
allows access to all libraries when executed from within a procedure in
the $SYS or $SIT libraries. This allows a procedure to access log or table
members even though the user who is executing the procedure does
not have the security required to access them.
BYPASS
causes BIM-EDIT to start with the next higher level of command table
to resolve the command on the following line. This allows reference to
the original system command, even though the preempting procedure
is in the current level of command table under the system command's
name. (This command avoids recursive invocation when using a
procedure to preempt a system command.)
Chapter 11. Customizing BIM-EDIT
Page 433
Creating a CHECKIN Command Which Keeps Old Versions
Creating a CHECKIN Command Which Keeps Old Versions
This section shows how the CHECKIN command might be extended so that, in addition
to actually checking in the member, it will maintain five previous versions of a member
in a SCBK library.
First, the following procedure is created in $SIT.PROC.SIPCHKI:
SET PPDVBL,1
DECLARE MEM,CHAR,33,V
;
DECLARE MLIB,CHAR,16,V
;
DECLARE SLIB,CHAR,16,V
;
DECLARE XMEM,CHAR,16,V
;
PARSE MEM
;
READ &MEM
;
IF TXMCKUSR,EQ,''
EXIT CK,'(CHECKINA) ** MEMBER
**'
IF TXMCHECK,EQ,1
;
READ &TXMCKLIB..&TXMMEM
SET MLIB,&TXMCKLIB
;
SET SLIB,&TXMLIB
SET XMEM,&TXMMEM
AUTHORIZ ON
;
SET PPDCOND,1
;
PURGE SCBK.&XMEM-5
;
RENAME SCBK.&XMEM-4,SCBK.&XMEM-5;
RENAME SCBK.&XMEM-3,SCBK.&XMEM-4
RENAME SCBK.&XMEM-2,SCBK.&XMEM-3
RENAME SCBK.&XMEM-1,SCBK.&XMEM-2
SET PPDCOND,0
COPY &MLIB..&XMEM,SCBK.&XMEM-1 ;
AUTHORIZ OFF
;
BYPASS
;
CHECKIN &SLIB..&XMEM
EXIT OK,'## MEMBER "&SLIB..&XMEM"
MEMBER NAME SUPPLIED ON COMMAND
MASTER LIBRARY NAME
SLAVE LIBRARY NAME
MEMBER NAME WITHOUT LIBRARY NAME
GET SPECIFIED NAME (CAN OMIT)
MAKE SURE TXM UP TO DATE
"&TXMLIB..&TXMMEM" NOT CHECKED OUT
IF MASTER SPECIFIED, GET SLAVE
NORMALIZE NAMES
GET TEMPORARY DEF ACCESS TO SCBK
MAKE IT WORK IF < 5 VERSIONS
IF PRESENT, GET RID OF -5
SHIFT OTHERS DOWN ONE
CREATE NEW -1
NO MORE TEMP ACCESS
SO WE DON'T RE-INVOKE OURSELVES
CHECKED IN ##'
Then, entries are added to $SIT.CTRL.COMMANDS, in alphabetical sequence:
CHECKIN
CHKI
SIPCHKI
SIPCHKI
Finally, the site command table is then updated by entering the following:
=> newcopy commands
Now when someone enters "checkin", the site procedure SIPCHKI is invoked. Many
other variations of CHECKIN function are possible:
•
•
•
•
•
Page 434
Other library and member naming schemes can be used.
Rather than keeping entire back versions, change logs (produced by AUDITSM) can
be saved. A BACKOUT proc is then written to recreate an old version.
Notifications can be sent by MAIL when CHECKIN occurs.
Recompilation of production programs can be tied to CHECKIN.
CHECKIN can be modified to perform a RENAME when the master does not
already exist.
BIM-EDIT System Reference Manual
Altering System Commands, Names and Restrictions (BIFXCCM Table)
Altering System Commands, Names and Restrictions (BIFXCCM Table)
As described in the previous section, the System command table resides in module
BIFXCCM. BIM-EDIT branches to a command module or executes a system procedure
based upon entries in the System command table. In addition to being the only place
which can specify that a command is to be serviced by a command module as opposed
to a procedure, the System command table also contains the restrictions on when a
command is valid. (If an entry is found, but if the command restrictions are not valid in
the current situation, BIM-EDIT will function as if an entry was not found.)
The following are the primary reasons you might want to modify the System command
table:
•
To add a command name variation (for example, V for VIEW) or delete a command
name variation. (If you do this, don't forget to update HELP as well).
•
To modify the restrictions on use of a particular module or procedure. For example,
you might want a particular command to be executed only by ADM level users. Or
you might want to restrict a particular command to batch.
•
To add a command module entry and associated command entries. If you can't find
a BIM-EDIT command that does what you want to do, and if you can't accomplish
it with a procedure, you may want to create a new BIM-EDIT command module.
(See "Adding, Replacing, Deleting BIM-EDIT Modules" later in this chapter). Your
BIM technical support representative will supply on request selected BIM-EDIT
source that might be helpful in the creation of a new command module. Your
representative can also provide technical assistance.
We recommend you do not modify procedure entries to the System command table.
Instead, use the Site command table and site procedure library as described in "Creating
Library, User, and Site Commands" earlier in this chapter).
Structure of the System Command Table
The assembler source in $SYS.SRC.BIFXCCM contains three parts.
1.
Introductory assembler code which you should not modify.
2.
An entry for each command or command variation. Each entry consists of an
invocation of the BI$CM macro (defined in the introductory assembler) with two
operands:
•
the command name or command name variation
•
the module or procedure name of an entry in the third part of the table.
The following are a couple of entries from the second portion of the table:
BI$CM ALT,BICALTM
BI$CM ALTER,BICALTM
These entries indicate module BICALTM can be executed by entering either of the
commands "alt" or "alter".
Chapter 11. Customizing BIM-EDIT
Page 435
Altering System Commands, Names and Restrictions (BIFXCCM Table)
BIM-EDIT uses a binary search technique to locate a command entry, so entries in
the second portion of the table must be held in alphanumeric order. For example,
the RENAME entry should always come before the REPROF entry.
3.
An entry for each command module or procedure. Each entry consists of an
invocation of the BI$MD macro (defined in the introductory assembler) with five
operands:
•
the module or procedure name. The "BIC" entries are modules. The "BIP"
entries are procedures.
•
if the entry describes a module, the offset of the module's entry in the BIFARMP
routine table. (See "Modifying, Creating, Deleting BIM-EDIT Modules").
•
a 4 byte command security field. Byte 1 corresponds to command class USER,
byte 2 to EXTU, byte 3 to OPER, and byte 4 to ADM. Each byte is either "0" or
"1", the "0" indicating that the module or procedure is inaccessible to the
particular class of users, and the "1" indicating that the module or procedure is
accessible. For more information, see "User Definition and Modification" in
Chapter 10 of this manual.
•
an indication as to whether the command module or procedure can be used
only in batch ("UTL"), only online ("ONL"), only application interface ("APL"),
or in any environment ("ALL").
•
an indication as to whether the command module or procedure must be used
from within a procedure ("PRC") or can be used both within a procedure and
interactively ("ALL"). The absence of an entry indicates interactive only. (Batch
Utility and the Application Interface are considered procedures.)
•
the initial status for the command module or procedure. A command module or
procedure is either initially enabled ("ENA") or disabled ("DIS"). The status can
subsequently be changed by the ENABLE and DISABLE commands.
The following is the BICALTM entry from the third portion of the table:
BI$MD BICALTM,1111,ALL,ALL,ENA
The "1111" indicates that BICALTM can be used by USER, EXTU, OPER, and ADM
users, i.e., by all user classes. The first "ALL" indicates that BICALTM can be used in
batch, online, or the application interface. The second "ALL" indicates that
BICALTM can be used either from a procedure or interactively. The "ENA"
indicates that BICALTM is initially enabled.
Additional documentation is provided in the BIFXCCM member itself.
Changing BIFXCCM
Copy BIFXCCM from $SYS.SRC to $SIT.SRC before changing it. After making your
changes and assembling and linking it, a new version of BIFXCCM can be loaded by:
=> newcopy BIFXCCM
Page 436
BIM-EDIT System Reference Manual
Altering System Commands, Names and Restrictions (BIFXCCM Table)
(Note that errors in the System Command Table can make BIM-EDIT unusable. Before
changing it, be sure to place a reliable copy of BIFXCCM where you can retrieve it if
your changes prove unworkable.)
Chapter 11. Customizing BIM-EDIT
Page 437
Creating Commands Which Access CICS Transactions (BIFXCTR Table)
Creating Commands Which Access CICS Transactions (BIFXCTR Table)
BIM-EDIT allows you XCTL or LINK to CICS programs or start CICS transactions. If the
command entered on the command line does not match any active command table
entry and does match a command entry in the BIFXCTR transaction table, the transfer
of control described in the table occurs. The CICS program can in turn transfer control
back to BIM-EDIT, bypassing the normal logon procedure. This facility is only relevant
when access to BIM-EDIT is through CICS. It is not relevant for access directly through
VTAM.
You can add entries to BIFXCTR for CICS facilities that you would like to get to quickly
from BIM-EDIT. After modifying BIFXCTR, assemble and catalog it, and then load a
new version with the BIM-EDIT NEWCOPY command.
Each entry in the BIFXCTR table contains:
•
a command code.
•
the program to XCTL or LINK to, or the transaction to START.
•
an indication as to whether to XCTL, LINK, or START. "X" indicates XCTL. "L"
indicates LINK. "S" indicates START.
Source code for the table distributed with BIM-EDIT is in library $SYS.SRC. It contains
mostly transaction codes for other BIM products, as well as an entry for IBM's CEMT
transaction, as follows:
BI$TR CEMT,DFHEMTA,L
Based on this entry, if you entered on the command line
=> cemt inq da
the entire contents of the command line would be placed in a TIOA, and BIM-EDIT
would link to program DFHEMTA, which would process the command line just as if
the data had been entered from a clear screen. When you ended the CEMT transaction
in the normal way (PF3), control would return to BIM-EDIT.
There are some considerations to accessing CICS facilities from BIM-EDIT:
1.
A program initiated by LINK cannot be pseudo-conversational. Control will return
to BIM-EDIT when the program attempts to RETURN to CICS.
2.
A program initiated by START can determine that it has been started by BIM-EDIT
by examining the data area returned by the CICS Command Level RETRIEVE
command. It will consist of the characters 'BIM-EDIT' (bytes 0-7), the Transaction ID
used to run BIM-EDIT (bytes 8-11), and the data from the BIM-EDIT command line
(bytes 12-nn).
3.
A program initiated by XCTL will need to assume it is coming from BIM-EDIT.
4.
A program initiated by XCTL or START should be written to return control to BIMEDIT by issuing a START for the BIM-EDIT tranid on the current terminal:
EXEC CICS START TRANSID('EDTR') TERMID(EIBTRMID)
Page 438
BIM-EDIT System Reference Manual
Creating Commands Which Access CICS Transactions (BIFXCTR Table)
5.
If a program initiated by LINK or XCTL requires a CICS TWA, ensure that the BIMEDIT CICS PCT entry provides an adequate TWA size.
After BIM-EDIT transfers control to a CICS facility, the next logon from that terminal
will assume the same user and password without any screen dialog. This can have
security implications if control is not consistently returned to BIM-EDIT (for example, if
the facility abends or fails to restart BIM-EDIT).
Chapter 11. Customizing BIM-EDIT
Page 439
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)
To perform advanced customization of BIM-EDIT, you might need to modify or add
BIM-EDIT modules. For example, you might need to change the function of a system
command module or add a new system command. This section describes how to do
that. Note that there is an interrelationship with other sections:
•
The sections on "Controlling LOGON", "Controlling Access to POWER Job Entries
or JES Data Sets", and "Modifying COMPILE, PROCESS, and SUBMIT" describe the
modification of BIM-EDIT exit routines, which are BIM-EDIT modules.
•
The section on "Altering System Commands, Names, and Restrictions (BIFXCCM
Table)" describes modifying the System Command Table, which is a BIM-EDIT
module, and also talks about adding new BIM-EDIT commands, which could
consist of BIM-EDIT modules.
•
The sections on "Creating Commands which access CICS Transactions (BIFXCTR
Table)" and "Changing MAPF Screen Attribute Characters (BIFTBAT Table)"
describe modifications of BIM-EDIT Modules.
Background
As a program, BIM-EDIT is organized unconventionally. It is composed of
approximately 1000 separately assembled and linked modules.
BIM-EDIT loads a module into memory the first time it is used. If a module is never
used, it never gets loaded. Because some portions of BIM-EDIT are hardly ever used
(for example, the operator and administrator commands), significant savings in average
memory use result from this strategy. To allow this, inter-module addresses are
determined at execution time, rather than link time. Because of this approach, it is also
straightforward to load a new copy of a module without recycling the entire BIM-EDIT
system.
The current address of each module in memory is held in the BIFARMP module
directory. Each entry in the table consists of two items:
•
the module name
•
the memory address where the module is located. (If the module has not been
loaded, it will contain the address of an internal load routine, so that the first time
the module is referenced the load routine is invoked to load the module.)
The LIBRARYR command displays the contents of BIFARMP. BIFARMP is located 4096
decimal bytes after the beginning of the MMP block. This makes it readily available,
since the address of the MMP block is always held in register 11.
Modules access the BIFARMP module directory to determine the addresses of other
modules. They do this using the offset from the start of the MMP of the entry for the
desired module. The offset values are provided in the BIM-EDIT common assembler
macros (member BI$MAC) in the form of assembler EQU statements which equate a
module name (with the first letter replaced by an "X") to the offset.
BI$MAC contains two assembler macros which BIM-EDIT uses to access modules.
These are shown below with normal expansions:
Page 440
BIM-EDIT System Reference Manual
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)
•
+
+
FIND gets the address of an assembled table:
FIND
BAL
DC
BIFTTUP,R15
R14,MMPFIND
AL2(XIFTTUP)
LOAD ADDR OF TRANS TABLE BIFTTUP TO R15
This code branches to the MMPFIND routine in the MMP that will load the
indicated module if it is not present and then return its address in register 15. The
offset pointed to by register 14 (XIFTTUP) is used to find the module directory
entry. The EQU for XIFTTUP is in BI$MAC.
•
+
+
CALL passes control from one module to another:
CALL
BALR
DC
BIRSYBT
R14,R11
AL2(XIRSYBT)
CALL ROUTINE TO BEGIN SYSTEM TRANSACTION
This code branches to the head of the MMP which contains a routine that transfers
to the desired module. The offset value (in the example, the value of XIRSYRT)
pointed to by register 14 specifies the module directory entry. The EQU for
XIRSYRT is a part of BI$MAC.
(The CALL macro allows for two additional operands: the parameters to the called
module and where to branch to if there are errors. BI$MAC contains other macros
which are used extensively in BIM-EDIT to begin and end module execution, to
abend, to set messages, and to set up parameter tables. If you are revising BIMEDIT modules, you should review BI$MAC.)
As you can see, translation of the module name to an offset into the BIFARMP module
directory is done by the assembler, making the overhead of the independent module
approach insignificant.
Chapter 11. Customizing BIM-EDIT
Page 441
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)
Modifying BIM-EDIT Modules
Source for some BIM-EDIT modules is provided in library $SYS.SRC. Also contained in
$SYS.SRC are the all the data area definitions, the macros used in BIM-EDIT, the
mainline code for BIM-EDIT, the Restore program, Batch Utility, the application
interface and the access method interfaces. Selected source for other modules MAY be
available from your BIM technical support representative on an as-needed basis.
Technical support may also be available from your representative. The following is a
table of some of the modules provided:
Module Name
BICLODTI
BICLODTM
BICLODTU
BIFDSJC (MVS)
BIFDSJO (MVS)
BIFDSJQ (MVS)
BIFDSPD (MVS)
BIFDSLB
BIFDSMM
BIFDSMP
BIFDSPP
BIFDSPW (VSE)
BIFDSSB
BIFDSUS
BIFTBAT
BIFXCCM
BIFXCLC
BIFXCTR
BIRF1CK
BIRF1DF
BIRF1DT
BIRF1FL
BIRF1NM
BIRF2DF
BIRF3DF
BIRF4DF
BIRF5DF
BIRF6DF
BIRLDTY
BIXLOGN
BIXPWQA
BIXPWSB
Function
LOADT Command, FMT=ICCF
LOADT Command, FMT=MAINT
LOADT Command,
FMT=IEBUPDTE
JCT Variables Descriptor
JOE Variables Descriptor
JQE Variables Descriptor
PDB Variables Descriptor
TXL Variables Descriptor
TXM Variables Descriptor
MMP Variables Descriptor
PPD Variables Descriptor
PWR Variables Descriptor
SIB Variables Descriptor
TXU Variables Descriptor
MAPF Attribute Table
System Command Table
LCA Command Table
CICS Transactions Table
LIBRARY Command FMT=CHCK
LIBRARY Command FMT=DFLT
LIBRARY Command FMT=DETL
LIBRARY Command FMT=FULL
LIBRARY Command FMT=NAME
LIBRARYL Command Formatter
LIBRARYP Command Formatter
LIBRARYS Command Formatter
LIBRARYU Command Formatter
LIBRARYD Command Formatter
Load Member, Set Type
LOGON Exit Routine
POWER/JES Access Exit Rout.
SUBMITF Exit Routine
Potential Changes
Interpret tape format differently
Interpret tape format differently
Interpret tape format differently
Remove access to variables
Remove access to variables
Remove access to variables
Remove access to variables
Remove access to variables
Remove access to variables
Remove access to variables
Remove access to variables
Remove access to variables
Remove access to variables (Note 1)
Remove access to variables (Note 1)
See later section in this chapter
See earlier section this chapter
Change LCA command letters
See earlier section this chapter
Change appearance of display
Change appearance of display
Change appearance of display
Change appearance of display
Change appearance of display
Change appearance of display
Change appearance of display
Change appearance of display
Change appearance of display
Change appearance of display
Change way types are set
See earlier section this chapter
See earlier section this chapter
See earlier section this chapter
Note 1: In release 4.1, the ability was added to access passwords through the SIBPSWD
and TXUPSWD variables. For some sites, this feature will be a potential security
problem. You may eliminate the feature by commenting out the entries for
these variables from the descriptor modules. If you remove TXUPSWD from the
Page 442
BIM-EDIT System Reference Manual
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)
TXU descriptor, you must also modify system procedure BIPFALU to remove
its reference to TXUPSWD.
To modify a module:
1.
Copy the source from $SYS.SRC to $SIT.SRC. The entire $SYS library will be
replaced when you install a new release, so you can easily lose your changes if you
make them in $SYS.SRC.
2.
Make your changes. Don't forget to change any INCLUDEs for other members
which remained in $SYS.SRC to include the library designation.
3.
Assemble and link the module. BIM strongly recommends that user-written
modules be cataloged to a library other than the one where the original BIM-EDIT
modules reside. This library would then be set up to be searched before the original
BIM-EDIT code library. In that way, if there is a problem with a user-written
module that prevents BIM-EDIT from functioning, BIM-EDIT can be started
without the library containing the user-written modules. This would allow you to
access BIM-EDIT to correct the problem in the user-written module.
(If your modified module makes your production BIM-EDIT unusable, you may
have trouble making corrections. You should set up another copy of BIM-EDIT
running under a different system name for testing. This topic is discussed in
"Starting BIM-EDIT" in Chapter 10 of this manual.)
The following is a sample assembly and link job stream:
VSE Job Control
// JOB BIXPWQA
// LIBDEF PHASE,CATALOG=BIMLIB.EDITT
// OPTION NORLD,ERRS,NODECK,NOSYM,SXREF,CATAL
PHASE BIXPWQA,*
// EXEC ASSEMBLY,SIZE=512K
/INCLUDE $SIT.SRC.BIXPWQA
/*
// EXEC LNKEDT
/*
/&
MVS Job Control
//BIXPWQA JOB ...
//ASSEM
EXEC ASML,PARM.ASM='NORLD,ERRS,NODECK,NOSYM,SXREF,CATAL'
//ASM.SYSIN DD *
/INCLUDE $SIT.SRC.BIXPWQA
/*
//LKED.SYSLIN DD
//
DD DDNAME=SYSIN
//LKED.SYSLMOD DD DSN=BIMLIB.T.LOADLIB,DISP=SHR
//LKED.SYSLIB DD
//
DD DSN=BIMLIB.T.LOADLIB,DISP=SHR
//LKED.SYSIN
DD *
PHASE BIXPWQA,*
/*
Chapter 11. Customizing BIM-EDIT
Page 443
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)
4.
BIM-EDIT can be shut down and restarted to load the new module, or you can use
the BIM-EDIT NEWCOPY command to bring the module in for testing.
=> newcopy module-name
(See the NEWCOPY command documentation in Chapter 8 of this manual for
cautions regarding its use.)
Although virtually any BIM-EDIT module can be modified, you should recognize that
there are costs in doing so. Consider not only the initial design and coding costs, but the
ongoing maintenance costs. Recognize that BIM-EDIT is not a static product but an
evolving one. BIM makes no commitment that a particular module written by a user
will work from release to release. It is the user's responsibility to update the module to
work with a new release.
Creating New BIM-EDIT Modules
In addition to the considerations described above for modifying BIM-EDIT modules,
creating a new module will involve the following steps:
1.
Add a module directory entry to BIFARMP. The source is held in member
$SYS.SRC.BIFARMP. Copy it to $SIT.SRC.BIFARMP before making any changes.
The entry should be added as the last entry so as not to affect the offsets for existing
entries. (Add it immediately preceding the DC X'FF' end of table indicator).
Warning: module BIFARMP contains the common patch area for BIM-EDIT. If you
have patches applied, you must re-apply them when you assemble BIFARMP from
source.
2.
Add an EQU entry to the common macros. The source of the macros is held in
$SYS.SRC.BI$MAC. Copy it to $SIT.SRC.BI$MAC before making changes.
($SIT.SRC.BI$MAC is normally accessed by an INCLUDE command during
assembly. Moving it to a different library may require that you update the
INCLUDE commands in any modules you assemble). The label for the EQU should
be the name of the module with the first letter replaced by an "X". The value or the
EQU should be the offset from the start of the MMP to the module directory entry.
Since each entry is 16 bytes long, you can calculate the offset by adding 16 to the
offset for the previous entry.
3.
Assemble and link BIFARMP.
4.
If the new module is a command, add appropriate entries to BIFXCCM as described
in "Altering System Commands, Names, and Restrictions (BIFXCCM Table)" earlier
in this chapter.
5.
Recycle BIM-EDIT. (The BIFARMP module itself cannot be refreshed by a
NEWCOPY command).
Deleting BIM-EDIT Modules
Do not delete BIM-EDIT modules from BIFARMP. You will probably break BIM-EDIT if
you try. Since modules are not loaded until they are used, unused modules take no
memory. If access to a command is deemed a security problem, you can simply remove
Page 444
BIM-EDIT System Reference Manual
Modifying, Creating, Deleting BIM-EDIT Modules (BIFARMP Table)
or restrict the command entries from the system command table (see "Altering System
Commands, Names, and Restrictions (BIFXCCM Table)").
Chapter 11. Customizing BIM-EDIT
Page 445
Changing MAPF Screen Attribute Characters (BIFTBAT Table)
Changing MAPF Screen Attribute Characters (BIFTBAT Table)
The BIFTBAT attribute table specifies field identification characters and their 3270
screen characteristics for MAPF screens. The following table is provided:
BIFTBAT CSECT
*
* EQUATES FOR SETTING 3270 SCREEN CHARACTERISTICS
*
UNPROT
EQU
X'20'
ENTERABLE
PROT
EQU
X'30'
NOT ENTERABLE
*
ALPHA
EQU
X'00'
ALLOWS ALPHANUMERIC
NUM
EQU
X'08'
ALLOWS ONLY DIGITS (PROT+NUM = AUTOSKIP)
*
NORMAL
EQU
X'00'
NORMAL INTENSITY, NOT PEN SELECTABLE
NORMSEL EQU
X'02'
NORMAL INTENSITY, SELECTABLE
INTENSE EQU
X'04'
HIGH INTENSITY
SECURE
EQU
X'06'
HIDDEN
*
NMDT
EQU
X'00'
DOES NOT HAVE MODIFIED-DATA-TAG ON OUTPUT
MDT
EQU
X'01'
HAS MODIFIED-DATA-TAG ON OUTPUT
*
DC
C'{',AL1(UNPROT+ALPHA+NORMAL+NMDT)
DC
C'!',AL1(UNPROT+ALPHA+INTENSE+NMDT)
DC
C'¦',AL1(UNPROT+ALPHA+SECURE+NMDT)
DC
C'}',AL1(PROT+NUM+NORMAL+NMDT)
DC
C'¬',AL1(PROT+NUM+INTENSE+NMDT)
DC
X'FFFF'
END
The table can be customized as desired. New field identification characters can be
created, and standard ones can be deleted or have their associated attributes changed.
However, changing the BIFTBAT table will alter the operation of existing MAPF
commands, including those in procedures distributed with BIM-EDIT, such as FALTER,
FALTERL, FALTERP, FALTERU, FALTERS, KEYS, the Corrective Service procedures,
the Archive procedures, the Calendar (TODAY) procedures, and the LOGON screen.
Page 446
BIM-EDIT System Reference Manual
Changing the CICS Data Module (BIMCSDT)
Changing the CICS Data Module (BIMCSDT)
You will need to modify and reassemble the BIMCSDT module if any of the following
occurs:
•
More than 64 users will be logged on to BIM-EDIT from one CICS
•
BIM-EDIT is to be accessed from a CICS tran ID other than "EDTR"
•
BIM-EDIT is to be accessed using a system ID other than BIMEDIT
BIMCSDT is also used to keep track of logged-on users from the BTAM interface.
BIMCSDT is distributed in library $SYS.SRC, and is presented here:
)INCL BI$CSD
BIMCSDT CSECT
BI$CSD SYSTEM=BIMEDIT,TRANSID=EDTR,TBLSIZE=64
END
Before changing it, you should copy $SYS.SRC.BIMCSDT to $SIT.SRC.BIMCSDT. You
should also change the include to reference $SYS.SRC. After changing BIMCSDT to
provide for up to 128 logged-on users (each user entry will take up 176 bytes), the
source would appear as follows:
)INCL $SYS.SRC.BI$CSD
BIMCSDT CSECT
BI$CSD SYSTEM=BIMEDIT,TRANSID=EDTR,TBLSIZE=128
END
If you have more than one BIM-EDIT system, and you want to access them from the
same CICS system, add additional BI$CSD entries, one for each BIM-EDIT system. In
the following example there are two BIM-EDIT systems, one accessed via CICS tran ID
EDTR, and the second using the CICS tran ID XDTR. The second BIM-EDIT system has
a system name of BIMEDITT:
)INCL $SYS.SRC.BI$CSD
BIMCSDT CSECT
BI$CSD SYSTEM=BIMEDIT,TRANSID=EDTR,TBLSIZE=64
BI$CSD SYSTEM=BIMEDITT,TRANSID=XDTR,TBLSIZE=32
END
In the above example, you will need to add additional CICS definitions for CICS tran ID
XDTR as described in Chapter 9, Installation and Maintenance.
After assembling and linking BIMCSDT, cycle CICS to bring in the new version. It
should not be reloaded via the CSMT or CEMT transactions.
Chapter 11. Customizing BIM-EDIT
Page 447
Chapter 12. BIM-EDIT BTAM Terminal Interface Facility
The BIM-EDIT BTAM interface is a facility that allows VSE users who do not have CICS
or VTAM to run BIM-EDIT in an environment with local or remote non-SNA 3270 type
terminals. The BTAM interface can also be used by VSE users to provide an alternate
means of accessing BIM-EDIT when CICS and VTAM are not running.
This chapter describes installing the BTAM interface and using it to access BIM-EDIT.
The BTAM interface requires that VSE be generated with BTAM support. (Generating
with BTAM support has very little impact on the operating system because most of
BTAM is incorporated into the BTAM interface via the BTAM BTMOD.) BTAM Support
is described in "Basic Telecommunications Access Method Extended Support (BTAMES) Programming" (IBM manual SC38-0293, as of September, 1985).
The BIM-EDIT BTAM interface can run in a partition separate from BIM-EDIT or it can
load BIM-EDIT as a subtask within the same partition. Before you install the BTAM
interface, you should decide whether you want to run BIM-EDIT as its subtask.
Sites who use the BTAM interface as their sole online access to BIM-EDIT usually run
BIM-EDIT as its subtask. This has the advantage of requiring only one partition to be
allocated. The disadvantages of this approach are some competition for partition
GETVIS storage and somewhat more difficult problem resolution.
Sites who use the BTAM interface as a secondary online access to BIM-EDIT should not
install BIM-EDIT as a its subtask because this would require terminals to be dedicated
to the BTAM interface whenever BIM-EDIT is running.
If the BTAM interface will be your sole means of online access to BIM-EDIT, or if you
plan to run BIM-EDIT as its subtask, you must complete the BTAM interface installation
when you install BIM-EDIT. If the BTAM interface is a secondary method of online
access to BIM-EDIT, BIM recommends that you install it after the primary online access
is operational.
The remainder of this chapter consists of the following sections:
Page 448
•
Table Generation
•
Startup
•
Shut Down
•
Messages
BIM-EDIT System Reference Manual
Table Generation
Table Generation
The BTAM interface starter system is automatically cataloged with the BIM-EDIT
phases during the VSE BIM-EDIT installation.
After BIM-EDIT and the BTAM interface have been cataloged and the Starter System
BIM-EDIT database has been restored, it is possible to access BIM-EDIT with the BTAM
interface immediately if any entry in the pregenerated starter system terminal control
table matches any BTAM-supported local or remote terminal at your site (see the Starter
System terminal control table definitions below). If it appears this is the case, skip
directly to the "Startup" section later in this chapter and come back later to this section,
since it is easiest to perform any required table changes after BIM-EDIT is accessible
from online.
If you are unable to obtain online access to BIM-EDIT until the BTAM interface is
operational, and you cannot use the starter system terminal control table definitions,
you will have to use the PUNCH command in BIM-EDIT batch utility to extract the
source for the table modules and correct and catalog them from batch.
The BIM-EDIT $SYS.SRC library contains the following BTAM support and sample
members:
BIMTCT
Source for the macro used to generate the terminal control table.
BIMTCTBT
Source for the sample table installed with BIM-EDIT.
BIMBTMOD
Source for the BTMOD used to generate BTAM to test BIMBTAM.
Table generation consists of the following steps:
•
Define a BTAM BTMOD
•
Define a BIM-EDIT BTAM interface terminal control table
Chapter 12. BIM-EDIT BTAM Terminal Interface Facility
Page 449
Table Generation
Defining a BTAM BTMOD
The following example shows the parameters used to generate the BTMOD used for
testing the BTAM interface and shipped with the starter system. For more information
on BTMOD, please refer to the BTAM-ES Programming Manual referenced earlier.
TITLE 'BTMLR32T FOR LOCAL AND REMOTE 3270 CICS TESTING'
* *******************************************************************
* RMSR=YES AND ERRLOGIC=E ADDS 2K PFIXED SHOULD BE USED FOR TESTING
* YOU MAY WISH TO REMOVE TST3277, BSCTEST, AND RMSR FOR PRODUCTION
* *******************************************************************
*
PRINT NOGEN
BTMLR32T BTMOD RESETPL=YES,
SS=NO,
L3277=YES,
TST3277=YES,
LOCAL 3270 BTAM TERM TEST
DECBEXT=YES,
BSCS=YES,
BSCMPT=YES,
BSCTEST=YES,
REMOTE 3270 BTAM TERM TEST
RMSR=YES,
RMSR SUPPORT
ERLOGIC=E,
SEPASMB=YES
END
*
*
*
*
(This is the default BTMOD shipped with VSE. You may not need to reassemble.)
Page 450
BIM-EDIT System Reference Manual
X
X
X
X
X
X
X
X
X
X
Table Generation
Defining a BIM-EDIT BTAM Interface Terminal Control Table
The BTAM interface uses a table to control a non-SNA local and/or remote terminal
network. The characteristics (screen size, model, etc.) of all terminals to have access to
BIM-EDIT through BTAM must be defined in the table. The terminal control table is
generated with the BIMTCT macro, and cataloged in a VSE Core Image Library with a
name of BIMTCTxx (where xx is the two characters supplied as the SUFFIX parameter)
using a job stream similar to the following:
// OPTION CATAL
// LIBDEF statement
// EXEC ASSEMBLY
/INCLUDE $SYS.SRC.BIMTCT
BIMTCT TYPE=INITIAL,
SUFFIX=BT
LINE1
BIMTCT TYPE=LINE,
CU=3272,
DEVICE=3277,
ERROPT=E,
LINELST=(001,002),
MODNAME=BTMLR32T,
SWITCH=NO,
TERMTST=NO
TRM1
BIMTCT TYPE=TERMINAL,
TRMIDNT=TRM1,
TRMTYPE=L3270,
BTAMRLN=1,
TRMMODL=2,
DEFSCRN=(24,80),
ALTSCRN=(24,80),
TRMSTAT='IN SERVICE',
FEATURE=(UCTRAN)
TRM2
BIMTCT TYPE=TERMINAL,
TRMIDNT=TRM2,
TRMTYPE=L3270,
BTAMRLN=2,
TRMMODL=2,
DEFSCRN=(24,80),
ALTSCRN=(24,80),
TRMSTAT='IN SERVICE',
LASTTRM=YES,
FEATURE=(UCTRAN)
LINE2
BIMTCT TYPE=LINE,
CONFIG=MPT,
BSCODE=EBCDIC,
CU=2703,
DEVICE=R3270,
ERROPT=E,
LINELST=(003),
MODELST=(0),
MODNAME=BTMLR32T,
SWITCH=NO,
TERMTST=NO
Chapter 12. BIM-EDIT BTAM Terminal Interface Facility
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Page 451
Table Generation
LINE030
*
*
ADDRRMT1
*
*
ADDRRMT2
*
*
RMT1
RMT2
DFTRMLST AUTOWLST,3732,40407F7F2D
THE GENERAL POLL
CHARACTER FOR THE REMOTE CONTROLLER IS HEX 40 FOR
CONTROL UNIT 0.
DFTRMLST OPENLST,(606040402D)
THE ADDRESS OF THE FIRST
REMOTE TERMINAL IS HEX 60 FOR CONTROL UNIT 0 AND DEVICE
ADDRESS HEX 40 FOR DEVICE 0 (I.E., CONNECTED TO PORT 0).
DFTRMLST OPENLST,(6060C1C12D)
THE ADDRESS OF THE SECOND
REMOTE TERMINAL IS HEX 60 FOR CONTROL UNIT 0 AND DEVICE
ADDRESS HEX C1 FOR DEVICE 1 (I.E., CONNECTED TO PORT 1).
BIMTCT TYPE=TERMINAL,
X
TRMIDNT=RMT1,
X
TRMTYPE=R3270,
X
TRMMODL=2,
X
TRMADDR=ADDRRMT1,
X
LISTADR=LINE030,
X
DEFSCRN=(24,80),
X
ALTSCRN=(24,80),
X
TRMSTAT='IN SERVICE',
X
FEATURE=(UCTRAN)
BIMTCT TYPE=TERMINAL,
X
TRMIDNT=RMT2,
X
TRMTYPE=R3270,
X
TRMMODL=2,
X
TRMADDR=ADDRRMT2,
X
LISTADR=LINE030,
X
DEFSCRN=(24,80),
X
ALTSCRN=(24,80),
X
TRMSTAT='IN SERVICE',
X
LASTTRM=YES,
X
FEATURE=(UCTRAN)
BIMTCT TYPE=FINAL
END
/*
// EXEC LNKEDT
This example was used to generate the starter system terminal control table which is
provided on the distribution tape.
The parameters of the BIMTCT macro are discussed below for each of the three types of
usage that have parameters: TYPE=INITIAL, TYPE=LINE, and TYPE=TERMINAL.
BIMTCT TYPE=FINAL does not have parameters. For more information on coding the
DFTRMLST macro, please refer to the BTAM-ES Programming (SC38-0293) manual.
BIMTCT Parameters for TYPE=INITIAL
SUFFIX
Page 452
a two character identifier appended to the phase name BIMTCT to form
the name under which the BTAM interface terminal control table will
be cataloged. The default name for the terminal control table, if the
parameter is omitted or in error, is BIMTCTBT.
BIM-EDIT System Reference Manual
Table Generation
BIMTCT Parameters for TYPE=LINE
BSCODE
specifies the type of bisynchronous transmission code to be used for
devices on the line. BSCODE=EBCDIC indicates transmission in
Extended Binary Coded Decimal Interchange Code. BSCODE=ASCII
indicates transmission in American Standard Code for Information
Interchange.
CONFIG
specifies the line configuration for remote devices. CONFIG=PPT
specifies that the data link between the CPU and the remote binary
synchronous device is point-to-point. CONFIG=MPT specifies that the
data link between the CPU and the remote binary synchronous devices
is multipoint. This operand is not applicable to any BTAM local device.
CU
specifies the control unit attached to the channel. The options are
CU=2703 for remote 3270 or CU=3272 for local 3270.
DEVICE
specifies the device type for the line being defined. For a local 3277,
3278 or any compatible terminal, specify DEVICE=L3270,
DEVICE=L3277, or DEVICE=3277. For a remote 3277, 3278 or any
compatible terminal, specify DEVICE=R3270.
ERROPT
specifies which Error Recovery Procedure option is to be performed,
where:
ERROPT=E
indicates to perform error recovery without text retry.
ERROPT=N
indicates to perform no error recovery.
ERROPT=R
indicates to perform error recovery with read text retry.
ERROPT=W
indicates to perform error recovery with write text
retry.
ERROPT=RW indicates to perform error recovery with read text retry
and write text retry.
FEATURE
specifies device-dependent machine special features and programming
special features. FEATURE=BSC must be coded when the DEVICE
operand specifies a binary synchronous device. FEATURE=UCTRAN
indicates translation of lowercase data to uppercase is desired in 3270
input data streams.
LINELST
specifies via a sublist the correspondence between symbolic unit
(SYSnnn) and relative line number. In the sublist, code one 3-digit
number for each line in the line group. The 3-digit number is
interpreted as the 'nnn' of SYSnnn. The order of coding the 3-digit
numbers determines which symbolic units are associated with the
individual lines in the line group.
For example, LINELST=(015,004,009) means that SYS015 is associated
with relative line number 0, SYS004 is associated with relative line
number 1 and SYS009 is associated with relative line number 2 in a line
group comprising 3 lines.
The LINELST operand has a different meaning for local and remote
3270 device definitions. For a local 3270 each TYPE=LINE defines a
Chapter 12. BIM-EDIT BTAM Terminal Interface Facility
Page 453
Table Generation
327x control unit attached to the channel and each entry in the
LINELST sublist defines a programmer logical unit to be assigned to
the channel unit addresses of the terminals attached to the control unit.
In the above example, 015, 004 and 009 would be different devices
attached to the same control unit.
For a remote 3270 each TYPE=LINE defines a 270x control unit attached
to the channel and a single LINELST entry defines the programmer
logical unit to be assigned to the control unit.
MODELST
specifies a sublist of codes (for use by BTAM at OPEN time) to define
the EIB or non-EIB interface and code features of the 270x. A more
detailed explanation of this operand can be found in BTAM-ES
Programming (SC38-0293) manual.
MODNAME
specifies the name of the BTAM logic module (BTMOD) that is to be
link-edited with this BIMTCT. If MODNAME is omitted, the name will
default to the standard BTAM module name IJLBTM.
SWITCH
specifies the type of line connection between the system and the
remote device. SWITCH=NO specifies that the line connection is
permanent. SWITCH=YES specifies that the line connection is through
a switch (dial) network. The default is SWITCH=NO. (BTAM does not
directly support dial operation for 3270 devices. Third-party line
monitor hardware is required to make both the control unit and
terminal "think" they are operating on a leased line.)
TERMTST
specifies whether the line will support the test activation code.
TERMTST=NO specifies that the line will not contain the test activation
code; that is, no request for the online terminal test facility is made.
TERMTST=YES specifies that the line will contain the test activation
code. The default is TERMTST=NO. This is used by the online terminal
test facility in determining if a test request has been made.
BIMTCT Parameters for TYPE=TERMINAL
ALTSCRN
specifies the 3270 screen size to be used for a terminal that has alternate
screen capability. The default is the value specified in the DEFSCRN
operand. Two values must be specified, separated by a comma and
enclosed in parentheses. The first value is the number of lines and the
second value is the number of characters per line for alternate screen
mode. The following is a list of the supported models and the
associated ALTSCRN values:
Model 2:
Model 3:
Model 4:
Model 5:
BTAMRLN
Page 454
ALTSCRN=(24,80)
ALTSCRN=(32,80)
ALTSCRN=(43,80)
ALTSCRN=(27,132)
specifies the relative line number of a terminal within a line group. The
relative line number can be specified in the range of 1 through 32. This
parameter is not applicable to remote 3270 devices.
BIM-EDIT System Reference Manual
Table Generation
DEFSCRN
specifies the default screen size to be used for a 3270 terminal. Two
values must be specified, separated by a comma and enclosed in
parentheses. The first value is the number of lines and the second is the
number of characters per line for default screen mode. The following is
a list of the supported models and the associated DEFSCRN values:
Model 2:
Model 3:
Model 4:
Model 5:
DEFSCRN=(24,80)
DEFSCRN=(32,80)
DEFSCRN=(43,80)
DEFSCRN=(27,132)
LASTTRM=YES
this operand is required on the last TYPE=TERMINAL of each line.
LISTADR
specifies the name of the label of the BTAM DFTRMLST macro
instruction used to define the general polling list for the
communication line. DFTRMLST entries should be coded immediately
following BIMTCT TYPE=LINE entries and immediately preceding
BIMTCT TYPE=TERMINAL entries. One separate DFTRMLST entry
must be coded for each communication line. For more information on
coding the DFTRMLST macro, please refer to the BTAM-ES
Programming (SC38-0293) manual.
TRMADDR
specifies the name of the label of the BTAM DFTRMLST macro
instruction used to define the terminal address. This parameter is
required for remote 3270 devices. TRMADDR should not be coded for
local 3270 devices.
TRMIDNT
specifies a one to four character symbolic identification to each
terminal. The identification supplied will be left-justified and padded
with blanks to four characters if less than four characters are supplied.
TRMMODL
a single digit to identify the terminal model of the 3270 being defined.
Choose the appropriate value from the following table:
3270 Model 2 (24 lines, 80 characters per line):
3270 Model 3 (32 lines, 80 characters per line):
3270 Model 4 (43 lines, 80 characters per line):
3270 Model 5 (27 lines, 132 characters per line):
TRMTYPE
TRMMODL=2
TRMMODL=3
TRMMODL=4
TRMMODL=5
specify TRMTYPE=L3270 for a bi-sync 3270 device attached to a local
controller or TRMTYPE=R3270 for a bi-sync 3270 device attached to a
remote controller.
Chapter 12. BIM-EDIT BTAM Terminal Interface Facility
Page 455
Startup
Startup
The BTAM interface is activated by executing phase BIMBTAM. This can be done by:
•
Submitting a job.
•
Releasing a job held in the queue.
•
Entering the job control statements at the console.
When BIMBTAM initialization is complete and the 'READY' message appears on the
BTAM controlled 3270, you can access an active BIM-EDIT by simply entering its
transaction id. The transaction id distributed with BIM-EDIT is 'EDTR'.
("An active BIM-EDIT" is created by running BIM-EDIT in some other partition or by
running it as a subtask of the BTAM interface. Running BIM-EDIT in another partition
is described in Chapter 9, Installation. Running BIM-EDIT as a subtask of the BTAM
interface is described below.)
Basic BIMBTAM Job Stream
When BIM-EDIT is not running as its subtask, the job stream to start BIMBTAM is
similar to the following.
//
*
//
//
//
*
//
/*
/&
JOB BIMBTAM
ASSGN SYS001,cuu
ASSGN SYS002,cuu
ASSGN SYS003,cuu
(channel unit address of 1st local 3270)
(channel unit address of 2nd local 3270)
(channel unit address of communication
controller)
EXEC BIMBTAM,SIZE=nnnK,PARM='SUBTASK=NO,BTAMTCT=BT'
Terminal/controller addresses must be adjusted for your site. The Starter System
terminal control table supports two local terminals and one remote controller with two
terminals. If there is no remote controller available, the ASSGN statement for SYS003
must be assigned IGN (ignore). Likewise, if only one local terminal is to be supported,
the other ASSGN statement must be assigned IGN. If this is not done, BIMBTAM will
abnormally terminate.
SIZE= values are dependent on the your environment. The minimum value for
BIMBTAM is 64K, which supports 4 terminals. If you modify the BIMTCT for your
system to add more terminals, it may be necessary to increase the SIZE= value. Simply
calculate the difference between the size of the distributed phase BIMTCTBT and your
TCT phase, round the value up to the nearest 4K boundary and add it to the minimum
SIZE value for your environment.
BIMBTAM will also require GETVIS memory of about 4K per active terminal.
The PARM= on the BIMBTAM EXEC statement may be coded with the following:
SUBTASK
Page 456
This parameter specifies whether BIM-EDIT is run as a subtask of
BIMBTAM. If BIM-EDIT is to be loaded as a subtask to BIMBTAM,
specify SUBTASK=YES as the PARM parameter. If BIM-EDIT is not run
BIM-EDIT System Reference Manual
Shut Down
as a subtask to BIMBTAM, specify SUBTASK=NO. The default is
SUBTASK=YES.
BTAMTCT
specifies the two suffix characters used to generate the BTAM terminal
control table. Enter BTAMTCT=xx, where xx is the two characters
specified on the SUFFIX= parameter used to generate and catalog the
BTAM terminal control table. Default is BTAMTCT=BT.
SYSTEM
specifies the BIM-EDIT system name. See 'Starting BIM-EDIT' in the
Chapter 10 of this manual.
TRANID
specifies the transaction identification to be used to access BIM-EDIT
from BIMBTAM. EDTR is the default.
If You Are Running BIM-EDIT as a Subtask of BIMBTAM
If you are running BIM-EDIT as a subtask of BIMBTAM, the startup job stream requires
some modifications:
1.
You must provide access to the BIM-EDIT files. Generally, this takes the form of
DLBL, EXTENT and ASSGN statements for BIFLIB, BIFPWRQ, and BIFPWRD. or
access to these files through standard labels. For further discussion, See "First Time
Installation on VSE" in Chapter 9 of this manual.
2.
If you intend to use BIM-EDIT to access VSE Sublibraries, you must increase the
SIZE= parameter value by 140K.
3.
You must change to SUBTASK=YES in the PARM operand on the EXEC statement.
4.
You must run in a partition which provides the requisite amount of GETVIS
memory for BIM-EDIT. See "Managing Memory Utilization" in Chapter 10 of this
manual.
Shut Down
The BTAM interface can be shut down in two ways:
1.
When a BIM-EDIT user who is authorized to do so issues the BIM-EDIT SHUT
command. This will terminate BIM-EDIT as well as BIMBTAM.
2.
When the ENDBTAM command is entered from the BIMBTAM READY screen
(which appears when you first initiate BIMBTAM and after logging off of BIMEDIT). This command is only valid if BIM-EDIT is not running as a subtask of
BIMBTAM. It does not terminate BIM-EDIT.
Chapter 12. BIM-EDIT BTAM Terminal Interface Facility
Page 457
Messages
Messages
The following messages may be displayed by BIMBTAM. Any message not
documented here is part of BIM-EDIT.
(BIMBTAM02) EXEC PARM IS INVALID
BIMBTAM found that the PARM= parameter on the EXEC statement contains an
operand other than SUBTASK, BTAMTCT, SYSTEM, or TRANID.
(BIMBTAM03) SUBTASK PARM IS INVALID
The SUBTASK parameter is not specified as YES or NO.
(BIMBTAM04) BTAMTCT PARM IS INVALID
The value specified for the BTAMTCT parameters is not two characters.
(BIMBTAM24) SYSTEM=sysname,TRANID=tran
This message displays the system name and transaction identification being used by
this startup of BIMBTAM.
(BIMBTAM25) TRANID PARM IS INVALID
The value specified for the BIM-EDIT transaction identification is invalid. TRANID
must be a 1-4 character alphanumeric value.
(BIMBTAM26) SYSTEM PARM IS INVALID
The value specified for the BIM-EDIT system name is invalid. See "Starting BIM-EDIT"
in Chapter 10 of this manual.
(BIMBTAM99) BIMEDIT BTAM INTERFACE HAS BEEN TERMINATED
This message indicates that the BIM-EDIT 'SHUT' command or BIMBTAM 'ENDBTAM'
command was issued.
(BIMBTCAA) ** BIMCSDT TABLE FULL, CONTACT SYSTEM ADMINISTRATOR **
The BIM-EDIT logged-on user table is full. See "Changing the CICS Data Module
(BIMCSDT)" in Chapter 11 of this manual.
(BIMBTCAC) ** BIM-EDIT SESSION TERMINATED **
The user has logged off from BIM-EDIT. BIMBTAM is now back at the READY screen.
(BIMBTCAD) ** BIM-EDIT IS NOT ACTIVE **
An attempt to log on to BIM-EDIT indicates that BIM-EDIT is not active.
(BIMBTCAE) ** BIM-EDIT TRANSACTION ID IS INVALID **
The transaction id used in attempting to log on to BIM-EDIT is not valid.
(BIMBTCAF) ** LINK/XCTL NOT SUPPORTED BY BTAM - HIT CLEAR TO CONTINUE
The LINK and XCTL function of BIM-EDIT is only valid when accessing BIM-EDIT
from CICS.
Page 458
BIM-EDIT System Reference Manual
Chapter 13. Technical Overview
This chapter provides a overview of some of the internal workings of BIM-EDIT.
Information in this chapter does not have any direct bearing on the installation,
operation, or use of BIM-EDIT. We present it partially because we thought you might be
interested, and partially because we're proud of some features of BIM-EDIT which
nobody ever sees directly.
The following subjects are discussed:
•
Register Utilization / Calling Conventions
•
Control Blocks / Buffers
•
Key Sequence Access
•
Text Access
•
Recovery / Integrity
Register Utilization / Calling Conventions
With very few exceptions, BIM-EDIT uses registers in a consistent way throughout the
product.
Register 2
is used as the module base register. It points at an "eye-catcher" giving
the module name.
Register 11
always points at the MMP block, which gives information about the
BIM-EDIT system.
Register 12
always points at the SIB block, which gives information about the
current user.
Register 13
points at the "dynamic storage area", which starts with the register save
area. The first eight bytes of a BIM-EDIT register save area consist of
the module name, the next four are the address of the previous register
save area. Then the register contents are stored in order 14 through 12.
After the registers there is a variable amount of module working
storage. Dynamic storage areas are always aligned on a 32 byte
boundary to facilitate reading dumps.
Register 14
is the return address.
Register 15
is the branch address.
Chapter 13. Technical Overview
Page 459
Control Blocks / Buffers
Control Blocks / Buffers
The following control blocks / buffers are considered system control blocks. They are
shared by all users.
MMP
System memory map control block. This is the heart of the system. MMP holds
such fields as file extent information, system status, and pointers to other
control blocks. MMP is stored as block #1 in the BIM-EDIT library. It is read
into memory at startup time and never read after that. It is written out when
necessary. MMP is 4K in size.
KSI1
Key sequence index, level 1. This is the apex of the key sequence directory. It is
built at startup time. It is never written to disk. KSI1 is 4K in size. (See "Key
Sequence Access" in the next section.)
KSI2
Key sequence index, level 2. The entire level 2 index is held in memory, so there
are always multiple KSI2 buffers present. The level 2 index is built at startup
time. It is never written to disk. Each KSI2 block is 4K in size.
KSD
Key sequence data. There are two KSD buffers. The contents of the two buffers
will vary. The buffers hold the actual key sequence records. KSD blocks are
loaded as necessary. KSD blocks are written out as necessary. Each KSD buffer
is 4K in size.
The following control blocks are considered user control blocks. Each BIM-EDIT task
has its own copy of these control blocks.
SIB
System interface block. This is the central control block for a given task. It holds
such information as the current screen size, information about each session, etc.
Each user has a SIB stored in the BIM-EDIT library. It is read into memory at
logon time and never read again. It is written out when necessary. SIB is 4K in
size.
TXBUF is 16K in size. It holds up to four 4K text blocks. This buffer serves as a paging
pool for processing text. At any given moment, the last four referenced text
blocks are held in TXBUF. Since a given text block always holds a contiguous
group of text lines, considerable scrolling can occur without the need for any
I/O.
TXBUF is considered swappable. If the owning task is waiting for input, and
the 16K buffer is needed by another task, the buffer will be acquired by the
requesting task.
Page 460
BIM-EDIT System Reference Manual
Key Sequence Access
Key Sequence Access
Five types of records are held in a keyed sequential access manner. (Note, BIM-EDIT's
key sequence access is not to be confused with VSAM KSDS. BIM-EDIT does not use
VSAM.)
TXL
Library record. Key is 'L' || library name || 20 blanks. This record contains all
information about the library.
TXM
Member header. Key is 'M' || library || member || 4 blanks. All information
about the member, other than the actual text, is held here. TXM also contains a
22 byte RRH (relative record header) which serves as a header for access to the
text. If member auditing is on, an RRH for the audit text is also maintained.
TXP
Pending password record. Key is 'P' || user || password || 26 blanks. This
record contains information for a one-time use password.
TXS
Security record. Key is 'S' || library || 12 blanks || user ID. This record
contains the security definition for a given library/user.
TXU
User record. Key is 'U' || user ID || 28 blanks. Little information is held here.
It is primarily an index pointer to the user's SIB record.
("||" indicates concatenation.)
All key sequence records are 250 bytes in length. All keys are 37 bytes in length.
Regardless of the number of key sequence records stored, any direct read request will
be serviced with a maximum of one I/O since KSI1 and KSI2 are always in memory.
Chapter 13. Technical Overview
Page 461
Text Access
Text Access
Text for members, display sessions, $STACK, etc. all use the same access method.
(LISTP sessions use a different access method entirely, because of the POWER spool file
structure on VSE or the JES data set access on MVS. LISTD and EDITD sessions are
implemented by copying the text from the VSE sublibrary or MVS PDS into the BIMEDIT library.) A given text data set is identified by the RRH (relative record header).
RRH contains the following fields.
RRHDSET
data set number. As an integrity check, the access method always
maintains and verifies equality of the RRHDSET field with the CIDSET
field from each block.
RRHHEAD
head block number. This is the relative block number in the BIM-EDIT
library of the first block in the data set.
RRHTAIL
tail block number. This is the relative block number in the BIM-EDIT
library of the last block in the data set.
RRHCIDP
block depth. This is a count of the number of blocks in the data set.
RRHLINES
line depth. This is a count of the number of lines in the data set.
RRHBYTES
byte depth. This is a count of the number of bytes in the lines of the
data set.
Each block of the data set has the following control information.
CIDSET
data set number. As indicated above, this field is maintained and
verified against the RRHDSET field of RRH.
CIRRN
relative record number. This is the actual block number in the BIMEDIT library. The access method always verifies that the blocks that are
read are the blocks that were intended to be read.
CIBWDL
backward link. This is the block number of the previous block in the
data set. If this is the first block, CIBWDL is a 0 value.
CIFWDL
forward link. This is the block number of the next block in the data set.
If this is the last block, CIFWDL is a 0 value.
CILINES
line depth. This is the number of lines held in the block.
CIBYTES
byte depth. This is the number of bytes in the lines held in the block.
Immediately beyond the control fields, an index is maintained. There are always
CILINES entries. Each entry contains the location within the block of the associated line.
Space for the text of the lines is allocated starting at the end of block and progressing
backwards. In a line addition operation, if there is inadequate space in the block, either
the block is reorganized to conserve space, or the block is split into two blocks.
Text is always stored with runs of two or more blanks compressed to two bytes and
trailing blanks on the line omitted.
A block always contains a contiguous group of text lines. Blocks are linked together to
allow both forward and backward traversal. When an EDIT session is created, the
blocks are initially both logically and physically contiguous. After the first block split or
Page 462
BIM-EDIT System Reference Manual
Text Access
block delete, this is no longer true. They are then logically contiguous, but not
physically contiguous. At SAVE time, the entire member is read and written so that the
saved member is again physically contiguous.
Where blocks are known to be contiguous, BIM-EDIT will read and write up to 16K
(four 4K blocks) at a time, as appropriate. For example, when an edit session is created,
the initial copying of the member text to a work area is done with the 16K I/O.
Chapter 13. Technical Overview
Page 463
Recovery / Integrity
Recovery / Integrity
A BIM-EDIT transaction is either a system transaction or a user transaction. Recovery is
handled differently, depending upon the type of transaction.
System Transaction
A system transaction involves access to resources that are shared by all users, e.g.,
accessing a member header, disk space management, etc.
During a system transaction, before a block is updated, its before image is logged to a
recovery area held as the last 32 blocks of the BIM-EDIT library. If BIM-EDIT's normal
operation is interrupted for whatever reason (e.g., an operating system crash), a rollback
of system updates will occur upon restart. After a rollback operation, the database is
restored to its before transaction status. This operation is totally automatic and occurs in
a matter of seconds.
When a system transaction ends, all updated blocks still in buffers are written to the
database. So, after the system transaction ends, the database represents the exact status
of the shareable resources. Therefore, the most that could be lost is the updates
associated with the transaction currently being processed when normal operation is
interrupted.
System transactions are single-thread, i.e., only one system transaction can be active at
any time.
User Transaction
A user transaction involves access to resources that are not shared by all users, e.g.,
access to the text of a session.
During a user transaction, before a block is updated, its before image is logged to a
recovery area unique to that user. If BIM-EDIT's normal operation is interrupted for
whatever reason, a rollback of user updates will occur upon restart. After a rollback
operation, the database is restored to its before transaction status. This operation is
totally automatic and occurs in a matter of seconds.
When a user transaction ends, all updated blocks still in buffers are written to the
database. So, after the user transaction ends, the database represents the exact status of
the user. Therefore, the most a user could lose on an update operation is the transaction
that is currently being processed when normal operation is interrupted.
For performance reasons, BIM-EDIT makes a judgement about how critical a user
transaction is. When the transaction is considered non-critical, as in the case of a
transaction that involved nothing more than a scrolling operation, the updated buffers
are not written to disk. Therefore, if the next critical user transaction were interrupted,
the subsequent rollback operation would cause positioning information to be somewhat
less than current. This tradeoff is considered to be an appropriate one, since all updates
to the text of the session are still intact.
User transactions are multi-thread, i.e., many user transactions can be active at any
time.
Page 464
BIM-EDIT System Reference Manual
Index
The following is a combined index to both the BIM-EDIT User Reference Manual and the BIM-EDIT
System Reference Manual. Entries in the User manual are followed with (U); those in the System manual
are followed with (S).
' See Apostrophe
! See Exclamation Mark
$DFL
ALTERS Command (S) .......................... 268
Basic Library Security (S) ...................... 398
DEFINE Command (U) ........................... 99
DEFINES Command (S) ........................ 297
Disabling TYPE Check (S) ..................... 417
FDEFINE Command (U) ....................... 137
FDEFINES Command (S) ...................... 309
LIBRARYS Command (S)...................... 320
Modifying DEFINE Templates (S) ....... 416
$LOG
Current Size (SIBLGSIZ) (S).................. 217
Current Size Limit (SIBLGLMT) (S)..... 217
Description (U) ......................................... 24
to Copy Lines from (GET) (U) .............. 148
to Display (LIST) (U).............................. 196
to Include in Proc (INCLUDE) (S).......... 89
to Insert a Line (LOGI) (U).................... 212
to Insert Lines to (LOGF) (S)................. 106
to Print (PRINT) (S)................................ 126
$MAIL
Current Msg Count (SIBMLQDP) (S) .. 217
Current Size (SIBMLSIZ) (S) ................. 217
Current Size Limit (SIBMLLMT) (S) .... 217
Description (U) ......................................... 34
to Display (LIST) (U).............................. 196
to Include in Proc (INCLUDE) (S).......... 89
to Print (PRINT) (S)................................ 126
$SIT Library Contents (S)........................... 382
$SIT.ARCHIVE (S) ...................................... 258
$SIT.CTRL.COMMANDS Member (S)..... 431
$SIT.CTRL.LOGON Member (S)............... 421
$SIT.CTRL.MESSAGES Member (S)......... 419
$SIT.GEN (S)................................................ 258
$SIT.MODEL Library (S)............................ 416
$SIT.PROC.LOGON Procedure (S)........... 421
$STACK
Current Size (SIBSTSIZ) (S)................... 222
Description (U) ......................................... 31
Index
Size Limit (SIBSZLMT) (S) .................... 222
to Copy Lines from (B LCA Cmd) (U). 322
to Copy Lines from (GET) (U) .............. 148
to Copy Lines from (I LCA Cmd) (U).. 328
to Copy Lines to (C LCA Cmnd) (U) ... 323
to Copy Lines to (K LCA Cmnd) (U) ... 330
to Copy Lines to (M LCA Cmnd) (U) .. 332
to Copy Lines to (N LCA Cmnd) (U)... 333
to Copy Lines to (STACK) (U) .............. 300
to Copy Lines to (STACKI) (U)............. 301
to Display (LIST) (U).............................. 196
to Execute (EXECUTE) (U).................... 128
to Include in Proc (INCLUDE) (S).......... 89
to Insert Lines (STACKF) (S)................. 173
to Print (PRINT) (S) ................................ 126
to Send as Mail (MAIL) (U)................... 215
to Transfer to Appl Infc(SEND) (S) ...... 154
Tutorial (U).................................................. 8
$SYS Library Contents (S) .......................... 382
$SYS User ID (S) .......................................... 381
$SYS.CTRL.LOGONNEW (S) .................... 107
$USR.uuuuuuuu
COMMANDS Member (S) .................... 431
LOGON Procedure (S)........................... 421
%See Percent Sign
& See Ampersand
( See Left Parenthesis
) See Right Parenthesis
* See Asterisk
.. at Start of Line
Special Processing (S)............................. 210
/ See Slash
; See Semicolon
? See Question Mark
@ See At Sign
\ See Backslash
{ See Left Brace
} See Right Brace
~ See Tilde
¦ See Unbroken Vertical Bar. See Broken
Vertical Bar
Page 465
+ See Plus Sign
++() at Start of Line
in Batch Utility (S) .................................. 242
with Text-Following (S) ......................... 210
< See Less Than Sign
= See Equal Sign
> See Greater Than Sign
A LCA Command (U)................................. 321
ABENDXIT Command (VSE) (S) .............. 266
ABX Command (ABENDXIT) (S) ............. 266
Access Control ...............................See Security
ACF2
External Interface (MMPSECUR) (S) ... 198
Add ....................................................See Create
ADD Command (S)....................................... 53
Administration
of Auditing (U) ....................................... 371
of Backup/Restore (S)............................ 390
of Checkout/Checkin (U)...................... 373
of Disk Space (S) ..................................... 404
of Library Security (S) ............................ 398
of Memory Usage (S) ............................. 407
of Purge Control (S) ............................... 402
of Stamping (U) ...................................... 367
of User IDs (S) ......................................... 396
ALT Command (ALTER) (U) ...................... 53
Alter .................................................See Change
ALTER Command (U) .................................. 53
ALTERL Command (U) ............................... 56
Alternate Screen ........ See also Default Screen
Current Setting (SSDSCRSZ) (S)........... 227
Initial Setting (SIBSCRSZ) (S) ............... 220
Number of Columns (SIBSCAWD) (S) 219
Number of Lines (SIBSCADP) (S) ........ 219
Selection for MAPF (PPDSCRSZ) (S)... 207
to Set/Reset (SCREEN ALT) (U) .......... 275
Alternate System Name (S)........................ 379
ALTERP Command
(MVS) (U) .................................................. 60
(VSE) (U).................................................... 57
ALTERS Command (S)............................... 268
ALTERU Command (S).............................. 269
ALTL Command (ALTERL) (U) ................. 56
ALTP Command (ALTERP) (U).................. 57
ALTS Command (ALTERS) (S) ................. 268
ALTU Command (ALTERU) (S) ............... 269
Ampersand (&) Command Prefix
Overview (U) ............................................ 22
Reference (U)........................................... 314
Page 466
Ampersand (&) for Variable
Replacement
Discussion (S) ....................................... 10
AND (+) Pattern Character (U) ................. 353
AP Command (ALTERP) (U)....................... 57
APARs - Using BIM-EDIT to Apply (S) ... 257
Apostrophe
in Variable Value (PPDLITDL) (S) ....... 206
APPL
in Application Interface (S) ................... 245
Application Interface
COBOL Example (S)............................... 250
Commands (S)......................................... 247
Commands Overview (S) ........................ 49
getting data from Commands (S) ......... 248
in Procedures (S)....................................... 42
List of Commands for (S)......................... 51
Modules (S).............................................. 245
Overview (U)............................................. 45
Reference (S)............................................ 244
Scenario for Usage (S) ............................ 246
to Copy Member to (SEND) (S) ............ 154
to Send Immed Line to (SENDI) (S) ..... 157
to Send Lines to (SENDF) (S) ................ 156
to Send Sessn Line to (SENDN) (S) ...... 159
ARCHIVE Command (S)............................ 272
Archive Facility
ARCHIVE Command (S)....................... 272
introduction (S) ....................................... 258
RECOVER Command (S) ...................... 341
Array Variables (S).......................................... 9
ARRAYS (S)...................................................... 9
Assigning Values to Variables
Overview (S).............................................. 12
Asterisk (*) Pattern Character (U) ............. 351
At Sign (@) Pattern Character (U) ............. 351
ATT Command (ATTACH) (U) .................. 62
ATTACH Command (U) .............................. 62
ATTACHD Command
(MVS) (U)................................................... 64
(VSE) (U) .................................................... 63
ATTACHX Command (U) ........................... 65
ATTD Command (ATTACHD) (U) ............ 63
ATTN Key Indicator (SIBSIGNL) (S) ........ 222
Attributes................. See Member, Library, etc
List of Commands to Access (S) ............. 51
ATTX Command (ATTACHX) (U) ............. 65
AUDCF Command (AUDITCF) (S) .......... 275
AUDCL Command (AUDITCL) (U)........... 66
BIM-EDIT System Reference Manual
AUDF Command (AUDITF) (S) ................. 54
AUDI Command (AUDITI) (U) .................. 68
Audit
Administration (U)................................. 371
Control Customization (S) .................... 415
Control Flag (MMPAUCTL) (S) ........... 194
Current Dsply Stat (SSDDISPn) (S)...... 225
Current Line Number (SSDAUBSn) (S)224
Current Size (SSDAULN) (S) ................ 224
Current Status (SSDAUDIT) (S) ........... 224
Discussion (U)......................................... 368
Format of Display (U)............................ 369
to Delete (AUDITCL) (U) ........................ 66
to Display (SCREEN AUDIT) (U) ........ 275
to Insert Line to (AUDITI) (U) ................ 68
to Insert Lines (AUDITF) (S)................... 54
to Start/Stop (ALTER) (U) ...................... 53
to Summarize (AUDITSM) (U)............... 70
to Undo Changes (AUDITRL) (U) ......... 69
to Write to Tape (AUDITRP) (S)............. 55
AUDITCF Command (S)............................ 275
AUDITCL Command (U)............................. 66
AUDITF Command (S)................................. 54
AUDITI Command (U) ................................ 68
AUDITRL Command (U)............................. 69
AUDITRP Command (S).............................. 55
AUDITSM Command (U) ............................ 70
AUDRL Command (AUDITRL) (U)........... 69
AUDRP Command (AUDITRP) (S)............ 55
AUDSM Command (AUDITSM) (U) ......... 70
AUTH Command (AUTHORIZ) (S)......... 276
AUTHORIZ Command
Discussion (S).......................................... 432
Reference (S) ........................................... 276
AUTOMAIL feature (S)...................... 270, 300
B Command (BOTTOM) (U) ....................... 74
B LCA Command (U) ................................. 322
BA Command (BACK) (U) .......................... 72
BACK Command (U).................................... 72
Back out Changes (AUDITRL) (U) ............. 69
Backslash (\) Pattern Character (U) ......... 351
Backup
Backup/Restore Discussion (S) ............ 390
Backup/Restore Scenarios (S) .............. 390
Currently Running (MMPBACKP) (S) 194
JCL Exmp - Full Logical Backup (S)..... 391
JCL Exmp - Full Logical Restor (S) ...... 392
JCL Exmp - Part Logical Backup (S) .... 394
JCL Exmp - Part Logical Restor (S) ...... 393
Index
JCL Exmp - Physical Backup (S) ........... 281
JCL Exmp - Physical Restore (S)........... 395
to Create Logical (BACKUPG) (S)........ 277
to Create Physical (BACKUPP) (S)....... 281
to Create Sel Logical(BACKUPS) (S).... 283
to Display Logical (LIBRARYG) (S) ..... 315
to Restore Full (BIMREST) (S)............... 392
to Restore Library (RESTOREL) (S) ..... 350
to Restore Member (RESTORE) (S) ...... 345
BACKUPG Command
(MVS) (S).................................................. 279
(VSE) (S)................................................... 277
BACKUPP Command
(MVS) (S).................................................. 282
(VSE) (S)................................................... 281
BACKUPS Command (S) ........................... 283
BACKWARD Command (BACK) (U) ........ 72
--BATCH
INCLUDE (S) ............................................ 90
Batch Processing
Features Overview (U)............................. 35
of BIM-EDIT ...................... See Batch Utility
of Hexadecimal Data (U) ....................... 366
to Access BIM-EDIT from Pgrm (S) ..... 244
to Copy Lines to (SUBMITF) (S) ........... 174
to Copy Member to (SUBMIT) (U)....... 303
Batch Utility (BIMUTIL)
++() Lines (S) ........................................... 242
Command Logging
Ctrl(PPDUTLOG) (S)......................... 209
Commands Overview (S) ........................ 49
JCL Examples (S) .................................... 240
Lines Longer than 80 Char (S) .............. 242
LU 6.2 (BIMUTLU) (S) ........................... 241
Overview (U) ............................................ 44
Print Example (S).................................... 242
to Start Execution (LOGON) (S) ........... 107
Beep on Terminal (PPDALARM) (S) ........ 204
BIFARMP Module
Customization (S) ................................... 440
BIFLIB File (VSE) (S) ................................... 365
BIFPWRD File (VSE) (S) ............................. 365
BIFPWRQ File (VSE) (S) ............................. 365
BIFRDR Internal Readers (MVS) (S) ......... 375
BIFTBAT Module
Customization (S) ................................... 446
BIFXCCM Module
Customization (S) ................................... 435
BIFXCTR Module
Page 467
Customization (S) ................................... 438
BIMBTAM see.............................................. 448
BIMBTMOD ..................... See BTAM Interface
BIMCSCL
Installation for MVS (S) ......................... 375
Installation for VSE (S)........................... 368
BIMCSDT
Alternate System Name (S) ................... 379
Customization of CICS (S) .................... 447
Installation for MVS (S) ......................... 375
Installation for VSE (S)........................... 368
BIM-EDIT Installable Features (S) ............ 252
BIM-EDIT/XP (S) ............................................ 1
BIMREST
Backups and Restores (S) ...................... 390
Full Logical Restore (S) .......................... 392
Full Physical Restore (S) ........................ 395
BIMTCT ............................ See BTAM Interface
BIMUTIL................................. See Batch Utility
BIMUTLU.................. See Batch Utility LU 6.2
BIPCOMP Procedure
Customizatn (S) ...................................... 425
BIPPROC Procedure
Customization (S) ................................... 428
BIPSUBM Procedure
Customization (S) ................................... 428
BIUAP Routines......See Application Interface
BIUAPMD
Loading into SVA (S) ............................. 370
BIULU Routines .....See Application Interface
BIXLOGN Module
Customization (S) ................................... 421
BIXPWQA Module
Customization (S) ................................... 423
BIXPWSB Module
Customization (S) ................................... 429
BL Command (BLANK) (U) ........................ 73
BLANK Command (U)................................. 73
BLOCK Command (S) .................................. 57
BO Command (BOTTOM) (U) .................... 74
BOT Command (BOTTOM) (U) .................. 74
BOTTOM Command (U).............................. 74
Bracket LCA Command
Discussion (U)......................................... 319
to Forget (RESET) (U) ............................ 267
Branch from GOTO (LABEL) (S)................. 97
Branch to LABEL (GOSUB) (S).................... 76
Branch to LABEL (GOTO) (S)...................... 77
Break Apart Paragraph (SEPARATE) (U) 285
Page 468
Break Line
(SEPARATE) (U)..................................... 285
(SPLIT) (U)............................................... 297
Broken Vertical Bar
in MAPF Command (S) ......................... 114
BROWSE Command
Overview and Example (S)...................... 38
Reference (S).............................................. 58
BROWSEL Command
Overview and Example (S)...................... 39
Reference (S).............................................. 59
BROWSES Command (S) ........................... 286
BROWSEU Command (S) .......................... 287
BTAM Interface (VSE)
Messages (S) ............................................ 458
Reference (S)............................................ 448
Shut Down (S) ......................................... 457
Startup (S) ................................................ 456
Table Entries (S) ...................................... 451
Table Generation (S)............................... 449
BTMOD.............................See BTAM Interface
BYPASS Command
Discussion (S) .......................................... 432
Reference (S)............................................ 288
C Command (CHANGE) (U)....................... 80
C LCA Command (U) ................................. 323
Calendar Reminder (TODAY) (S) ............. 256
Calling BIM-EDIT from ProgramsSee
Application Interface
CANC Command (CANCEL) (U)............... 75
CANCEL Command (MVS) (U).................. 75
CAT Command (CATAL) (U) ..................... 76
CATAL Command
(MVS) (U)................................................... 78
(VSE) (U) .................................................... 76
CC LCA Command (U) .............................. 323
CEN Command (CENTER) (U) ................... 79
CENT Command (CENTER) (U) ................ 79
CENTER Command (U) ............................... 79
Center Lines
(CENTER) (U) ........................................... 79
(Plus Sign LCA Command) (U) ............ 347
CH Command (CHANGE) (U) ................... 80
Change Attributes
of JES Job/Data Sets (ALTERP) (U) ....... 60
of JES Job/Data Sets (FALTERP) (U) ... 135
of JES Job/Data Sets (Q LCA) (U) ........ 335
of Library (ALTERL) (U) ......................... 56
of Library (FALTERL) (U) ..................... 132
BIM-EDIT System Reference Manual
of Library (Q LCA Command) (U) ...... 335
of Member (ALTER) (U).......................... 53
of Member (FALTER) (U)...................... 130
of Member (Q LCA Command) (U)..... 335
of POWER Job Entry (ALTERP) (U) ...... 57
of POWER Job Entry (FALTERP) (U) .. 133
of POWER Job Entry (Q LCA) (U) ....... 335
of Session (FSESSION) (U) .................... 147
of Session (SESS) (U) .............................. 287
of User (ALTERU) (S) ............................ 269
of User (FALTERU) (S) .......................... 308
CHANGE Command (U)............................. 80
Change ControlSee Stamp. See Checkout. See
Audit
Highlight Flag (MMPSPHGL) (S) ........ 198
Overview (U) ............................................ 40
Change Display Mode (SCREEN) (U)...... 275
Change Name
of Command (BIFXCCM) (S)................ 435
of Member (MOVE) (U)......................... 224
of Member (RENAME) (U) ................... 261
PDS Member (RENAMED) (U) ............ 264
Sublibrary Member (RENAMED) (U) . 263
Change Password (PASSWORD) (U)....... 233
Change Position in Session ..... See Reposition
Change Security
of Library (ALTERS) (S) ........................ 268
of Library (FALTERS) (S) ...................... 307
Change Text
of Member (E LCA Command) (U) ..... 325
of Member (EDIT) (U) ........................... 123
of PDS Member
(E LCA Command) (U)..................... 325
(EDITD) (U) ........................................ 126
of Sublibrary Member (E LCA) (U) ..... 325
of Sublibrary Member (EDITD) (U) ..... 125
Change Text Strings (CHANGE) (U) ......... 80
Change to Other Logical Screen
(Less Than Sign) (U)............................... 317
CHECKASN Command (U) ........................ 83
CHECKIN Command
Customize to Keep Old Versions (S) ... 434
Reference (U) ............................................ 84
CHECKOUT Command (U) ........................ 85
Checkout/Checkin
Administration of (U) ............................ 373
Discussion (U)......................................... 372
INCLUDE Processing for (U) ............... 373
Re-establishing (CHECKRST) (S)......... 289
Index
CHECKPUR Command (U)......................... 87
CHECKRST Command (S)......................... 289
CHKA Command (CHECKASN) (U)......... 83
CHKI Command (CHECKIN) (U) .............. 84
CHKO Command (CHECKOUT) (U) ........ 85
CHKR Command (CHECKRST) (S) ......... 289
CICS
Number of Simultaneous Users (S)...... 447
Running as Sub-task of (S) .................... 363
Table Entries (MVS) (S).......................... 375
Table Entries (VSE) (S)........................... 368
Transact Access from BIM-EDIT (S) .... 438
Transact Access to BIM-EDIT (S) ......... 244
Transaction ID (S)................................... 447
Close Print (SEGMENT) (S) ....................... 153
Close Session
(END) (U) ................................................ 127
(SAVE) (U)............................................... 270
Overview (U) ............................................ 28
CMPR Command (COMPARE) (U) ........... 88
COBOL Access to BIM-EDITSee Application
Interface
Column
Position (%) Pattern Character (U)....... 354
to Copy (PROPAGAT) (U) .................... 240
to Erase (BLANK) (U) .............................. 73
to Erase (KEEP) (U) ................................ 173
to Move (SHIFT) (U) .............................. 292
Combine Lines (FORMAT) (U) ................. 144
Command......................... See LCA Command
ABENDXIT (VSE) (S) ............................. 266
ADD (S)...................................................... 53
ALTER (U)................................................. 53
ALTERL (U) .............................................. 56
ALTERP (MVS) (U) .................................. 60
ALTERP (VSE) (U) ................................... 57
ALTERS (S).............................................. 268
ALTERU (S)............................................. 269
Ampersand Prefix (U)............................ 314
ARCHIVE (S) .......................................... 272
ATTACH (U)............................................. 62
ATTACHD (MVS) (U) ............................. 64
ATTACHD (VSE) (U)............................... 63
ATTACHX (U) .......................................... 65
AUDITCF (S)........................................... 275
AUDITCL (U)............................................ 66
AUDITF (S)................................................ 54
AUDITI (U)................................................ 68
AUDITRL (U)............................................ 69
Page 469
AUDITRP (S)............................................. 55
AUDITSM (U) ........................................... 70
AUTHORIZ (S) ....................................... 276
BACK (U)................................................... 72
BACKUPG (MVS) (S)............................. 279
BACKUPG (VSE) (S) .............................. 277
BACKUPP (MVS) (S) ............................. 282
BACKUPP (VSE) (S)............................... 281
BACKUPS (S) .......................................... 283
BLANK (U)................................................ 73
BLOCK (S) ................................................. 57
BOTTOM (U)............................................. 74
BROWSE (S) .............................................. 58
BROWSEL (S)............................................ 59
BROWSES (S) .......................................... 286
BROWSEU (S) ......................................... 287
BYPASS (S) .............................................. 288
CANCEL (MVS) (U)................................. 75
CATAL (MVS) (U).................................... 78
CATAL (VSE) (U) ..................................... 76
CENTER (U).............................................. 79
CHANGE (U) ............................................ 80
CHECKASN (U) ....................................... 83
CHECKIN (U) ........................................... 84
CHECKOUT (U) ....................................... 85
CHECKPUR (U) ....................................... 87
CHECKRST (S) ....................................... 289
COMPARE (U).......................................... 88
COMPILE (U)............................................ 90
CONNECT (S)......................................... 291
CONSOLEF (S) ......................................... 60
CONSOLEI (U) ......................................... 91
CONTROLP (MVS) (S) .......................... 293
CONTROLP (VSE) (S)............................ 292
COPY (U)................................................... 92
COPYD (MVS) (U) ................................... 95
COPYD (VSE) (U)..................................... 94
CORE (MVS) (S) ..................................... 295
CORE (VSE) (S)....................................... 294
CURSOR (U) ............................................. 96
DA (MVS) (U) ........................................... 98
DA (VSE) (U)............................................. 97
DEALLOC (MVS) (S) ............................. 296
DECLARE (S) ............................................ 61
DEFINE (U) ............................................... 99
DEFINED (MVS) (U).............................. 107
DEFINED (VSE) (U) ............................... 105
DEFINEL (U)........................................... 108
DEFINES (S) ............................................ 297
Page 470
DEFINEU (S) ........................................... 298
DEFINEX (S)............................................ 302
DELETE (U)............................................. 109
DEMO (VSE Installation) (S)................. 254
DEMO (VSE Usage) (U)........................... 16
DEQUEUE (S) ........................................... 64
DISABLE (S) ............................................ 303
DISCARD (U) .......................................... 110
DISCONN (S) .......................................... 304
DISPLAY (U) ........................................... 111
DISPLAYC (U) ........................................ 113
DISPLAYD (MVS) (U)............................ 118
DISPLAYD (VSE) (U) ............................. 116
DISPLAYF (S)............................................ 65
DISPLAYI (VSE) (S)................................ 305
DIVIDE (S) ................................................. 66
DUP (U) ................................................... 122
EDIT (U)................................................... 123
EDITD (MVS) (U) ................................... 126
EDITD (VSE) (U)..................................... 125
EJECT (S).................................................... 67
ELSE (S)...................................................... 68
ENABLE (S) ............................................. 306
END (U) ................................................... 127
ENDBLOCK (S)......................................... 69
ENDIF (S)................................................... 70
ENQUEUE (S) ........................................... 71
Equal Sign (U) ......................................... 315
EXAMINE (S) ............................................ 72
EXECUTE (U).......................................... 128
EXIT (S) ...................................................... 75
FALTER (U)............................................. 130
FALTERL (U) .......................................... 132
FALTERP (MVS) (U) .............................. 135
FALTERP (VSE) (U) ............................... 133
FALTERS (S)............................................ 307
FALTERU (S)........................................... 308
FDEFINE (U) ........................................... 137
FDEFINEL (U)......................................... 139
FDEFINES (S) .......................................... 309
FDEFINEU (S) ......................................... 311
FILE (SAVE) (U)...................................... 270
FIND (U) .................................................. 140
FINDUP (U)............................................. 142
FORMAT (U)........................................... 144
FORWARD (U) ....................................... 146
FSESSION (U) ......................................... 147
GET (U) .................................................... 148
GETD (MVS) (U)..................................... 150
BIM-EDIT System Reference Manual
GETD (VSE) (U)...................................... 149
GETI (VSE) (S) ........................................ 313
GETP (MVS) (U) ..................................... 154
GETP (VSE) (U) ...................................... 151
GETQ (U)................................................. 157
GOSUB (S) ................................................. 76
GOTO (S) ................................................... 77
GROUP (U) ............................................. 158
HEADF (S)................................................. 78
HELP (U) ................................................. 159
HEXIF (S)................................................... 79
HEXREQ (S) .............................................. 81
HOLD (MVS) (U) ................................... 162
HOLD (VSE) (U)..................................... 160
IF (S) ........................................................... 83
IFD (S) ........................................................ 85
IFTHEN (S)................................................ 87
INCLUDE (Advanced) (S) ...................... 89
INCLUDE (Ordinary) (U) ..................... 164
INQUIRE (U) .......................................... 166
INQUIRED (VSE) (U) ............................ 167
INQUIREP (MVS) (U)............................ 168
INQUIREU (S) ........................................ 314
INSERTF (S) .............................................. 94
INSERTI (U) ............................................ 170
INSTALL (S)............................................ 253
INSTALL (VSE procedure) (S).............. 257
INTERVAL (S) .......................................... 95
JUSTIFYL (U) .......................................... 171
JUSTIFYR (U) .......................................... 172
KEEP (U).................................................. 173
KEYS (U).................................................. 174
LABEL (S).................................................. 97
LADD (U) ................................................ 176
LEAVE (S) ................................................. 98
Less Than Sign (U) ................................. 317
LIBRARY (U) .......................................... 177
LIBRARYD (MVS) (U) ........................... 184
LIBRARYD (VSE) (U) ............................ 182
LIBRARYG (MVS) (S) ............................ 316
LIBRARYG (VSE) (S) ............................. 315
LIBRARYI (VSE) (S) ............................... 317
LIBRARYL (U) ........................................ 186
LIBRARYN (S) ........................................ 318
LIBRARYP (MVS) (U)............................ 190
LIBRARYP (VSE) (U) ............................. 188
LIBRARYQ (U) ....................................... 192
LIBRARYR (S)......................................... 319
LIBRARYS (S) ......................................... 320
Index
LIBRARYT (S) ......................................... 322
LIBRARYU (U)........................................ 194
LIBRARYX (S) ......................................... 324
LIST (U).................................................... 196
LISTD (MVS) (U) .................................... 199
LISTD (VSE) (U) ..................................... 197
LISTI (VSE) (S) ........................................ 328
LISTP (MVS) (U)..................................... 203
LISTP (VSE) (U) ...................................... 201
LOADD (MVS) (S).................................. 100
LOADD (VSE) (S) ..................................... 99
LOADDL (MVS) (S) ............................... 102
LOADDL (VSE) (S)................................. 101
LOADI (VSE) (S)..................................... 325
LOADIL (VSE) (S) .................................. 326
LOADT (S)............................................... 103
LOCATE (U)............................................ 206
LOCATEU (U) ........................................ 209
LOGF (S) .................................................. 106
LOGI (U) .................................................. 212
LOGOFF (U)............................................ 213
LOGON (S) .............................................. 107
LOOP (S).................................................. 109
LOWERCAS (U) ..................................... 214
LUCL (S) .................................................. 110
LUOP (S).................................................. 111
LURC (S) .................................................. 112
LUSD (S) .................................................. 113
MAIL (U) ................................................. 215
MAILI (U) ................................................ 217
MAILSESS (U)......................................... 219
MAPF (S) ................................................. 114
MERGE (U).............................................. 220
MESSAGE (U) ......................................... 222
MODIFY (ALTER) (U) ............................. 53
MODIFYL (ALTERL) (U) ........................ 56
MODIFYP (ALTERP) (U) ........................ 57
MOVE (U)................................................ 224
MULTIPLY (S) ........................................ 118
NEWCOPY (S) ........................................ 329
NEXT (U) ................................................. 226
NFIND (U)............................................... 227
NFINDUP (U) ......................................... 229
OPEN (U)................................................. 231
OUTPUTF (S) .......................................... 119
OVERLAY (U)......................................... 232
PARSE (S) ................................................ 121
PASSWORD (U) ..................................... 233
PEND (S).................................................. 123
Page 471
PHONETIC (S)........................................ 125
POSITION (U)......................................... 234
PRINT (Advanced) (S) ........................... 126
PRINT (Ordinary) (U)............................ 235
PRINTF (S)............................................... 129
PRINTG (MVS) (S) ................................. 332
PRINTG (VSE) (S)................................... 331
PROCESS (U) .......................................... 238
PROPAGAT (U)...................................... 240
PUNCH (S) .............................................. 131
PUNCHF (S)............................................ 134
PUNCHI (S)............................................. 135
PUNCHL (S)............................................ 136
PURGE (U) .............................................. 241
PURGED (MVS) (U)............................... 244
PURGED (VSE) (U) ................................ 243
PURGEL (U)............................................ 245
PURGEN (S) ............................................ 333
PURGEP (MVS) (U) ............................... 248
PURGEP (VSE) (U)................................. 246
PURGEQ (U) ........................................... 250
PURGES (S) ............................................. 334
PURGET (S)............................................. 335
PURGEU (S) ............................................ 336
PURGEX (S)............................................. 337
QUALIFY (U) .......................................... 251
Question Mark (U) ................................. 316
QUIT (SAVE) (U).................................... 270
READ (S).................................................. 137
READL (S) ............................................... 138
READP (MVS) (S)................................... 141
READP (VSE) (S) .................................... 139
READS (S)................................................ 338
READU (S)............................................... 340
RECOVER (S) .......................................... 341
REFRESH (U) .......................................... 256
RELEASE (MVS) (U) .............................. 259
RELEASE (VSE) (U) ............................... 257
RENAME (U) .......................................... 261
RENAMED (MVS) (U)........................... 264
RENAMED (VSE) (U) ............................ 263
REORG (S) ............................................... 344
REPRO (S)................................................ 143
REPROF (S) ............................................. 147
REPROI (S) .............................................. 149
REPROL (S) ............................................. 151
RESEQ (U) ............................................... 265
RESET (U)................................................ 267
RESTORE (MVS) (S)............................... 348
Page 472
RESTORE (VSE) (S) ................................ 345
RESTOREL (MVS) (S) ............................ 352
RESTOREL (VSE) (S).............................. 350
RETURN (S)............................................. 152
ROLLBACK (AUDITRL) (U) .................. 69
ROTATE (U) ............................................ 268
SAVE (U).................................................. 270
SCAN (U)................................................. 271
SCREEN (U) ............................................ 275
SEARCH (U)............................................ 283
SEGMENT (VSE) (S)............................... 153
SEND (S) .................................................. 154
SENDF (S) ................................................ 156
SENDI (S)................................................. 157
SENDMSG (S) ......................................... 158
SENDN (S)............................................... 159
SEPARATE (U) ....................................... 285
SERVICE (VSE procedure) (S) .............. 257
SESS (U) ................................................... 287
SET (Advanced) (S) ................................ 160
SET (Ordinary) (U) ................................. 289
SETD (S) ................................................... 164
SETKEYS (S) ............................................ 354
SETL (S).................................................... 166
SETM (S) .................................................. 167
SHIFT (U)................................................. 292
SHOW (MVS Advanced) (S) ................. 170
SHOW (Ordinary) (U)............................ 294
SHOW (VSE Advanced) (S) .................. 168
SHUT (S) .................................................. 355
SNAP (S) .................................................. 172
SORT (U).................................................. 295
SPLIT (U) ................................................. 297
SQUEEZE (U).......................................... 299
STACK (U)............................................... 300
STACKF (S).............................................. 173
STACKI (U) ............................................. 301
STAMPCL (U) ......................................... 302
SUBMIT (MVS) (U)................................. 305
SUBMIT (VSE) (U).................................. 303
SUBMITD (MVS) (U) ............................. 307
SUBMITF (S)............................................ 174
SUBTRACT (S) ........................................ 176
SWAP (U) ................................................ 308
TODAY (procedure) (S) ......................... 256
TOP (U) .................................................... 309
TRACE (S)................................................ 357
TRANSFER (S) ........................................ 177
UP (U)....................................................... 310
BIM-EDIT System Reference Manual
UPPERCAS (U)....................................... 311
VAPPEND (S) ......................................... 178
VERIFY (S)............................................... 358
VEXAMINE (S)....................................... 179
VIEW (U) ................................................. 312
VLOWERCA (S) ..................................... 181
VTESTNUM (S) ...................................... 182
VTRUNCAT (S) ...................................... 183
VUPPERCA (S) ....................................... 184
WAIT (S).................................................. 185
ZAP (S)..................................................... 359
Command Line
Position on Screen (U) ............................. 15
to Get Values from (PARSE) (S) ........... 121
Commands
Discussion
Alternatives for LCA Commands (S).. 5
Control in Procedures (S) ................... 16
Creating Your Own (S) ..................... 432
Customization Overview (U)............. 46
Format of Lookup Tables (S)............ 431
Front-ended by Procedures (S) ........ 432
in Application Interface (U) ............... 45
in Batch Utility (U) .............................. 44
in Procedures (U)................................. 43
Making Procedures Into (S) ............... 48
Multiple
Sequence of Process (U) ............... 356
Online Help Discussion (U) ............... 17
Resolution of Names (S) ................... 431
Rules for Entry (U) .............................. 18
Security (U)........................................... 39
Sequences of (U) ................................ 358
Syntax (U) ............................................. 18
Text-Following
Data Manipulation (S).................... 36
Text-Following (S) ............................... 34
to Access CICS Trans (BIFXCTR) (S)438
to Access Libraries (U) ........................ 25
to Access Mail (U)................................ 34
to Access Members (U) ....................... 25
to Access PDS Members (U)............... 37
to Access Sublib Members (U) ........... 37
to Change Text (U) .............................. 33
to Reposition Session (U).................... 29
to Start Session (U) .............................. 27
to Stop Session (U)............................... 28
for the Application Interface (S) ........... 247
Hex Escape Char (SIBHEXC) (S) .......... 216
Index
List
for Advanced User (S)......................... 50
for Operator and Administrator (S) 264
to Access $STACK (U)......................... 31
to Access Application Interface (S).... 51
to Access Attributes (S) ....................... 51
to Access Batch Processing (U) .......... 35
to Access Inter-User Mail (U)............. 51
to Access JES Jobs/Data Sets (U) ....... 51
to Access Libraries (U) ........................ 49
to Access Members (U) ....................... 48
to Access PDS Members (U)............... 52
to Access POWER Job Entries (U) ..... 50
to access Security and User (S)......... 265
to Access Sublib Members (U) ........... 51
to Access Variables (S) ........................ 50
to Change Text (U) .............................. 49
to Control Procedure Execution (S)... 51
to Print and Punch (S) ......................... 52
to Reposition Session (U).................... 50
to Transfer Text (S) .............................. 52
Online Help Reference (HELP) (U)...... 159
Response (SIBRESP) (S) ......................... 219
Return Code (SIBRETCD) (S)................ 219
Return Message (SIBMSG) (S) .............. 218
Switch Session Groups (GROUP) (U).. 158
to Change
Names/Rules(BIFXCCM) (S) ........... 435
to Execute Cond (BLOCK) (S)................. 57
to Execute Cond (ELSE) (S) ..................... 68
to Execute Cond (ENDBLOCK) (S) ........ 69
to Execute Cond (ENDIF) (S) .................. 70
to Execute Cond (HEXIF) (S) .................. 79
to Execute Cond (IF) (S)........................... 83
to Execute Cond (IFD) (S)........................ 85
to Execute Cond (IFTHEN) (S) ............... 87
to Execute Cond (LEAVE) (S) ................. 98
to Execute Cond (LOOP) (S) ................. 109
to Issue to JES (CONTROLP) (S) .......... 293
to Issue to POWER (CONTROLP) (S).. 292
to Make Accessible (ENABLE) (S)........ 306
to Make Inaccessible (DISABLE) (S) .... 303
to Redisplay (Question Mark) (U)........ 316
to Refresh Table (NEWCOPY) (S) ........ 329
to Repeat (Ampersand Prefix) (U) ....... 314
to Repeat (Equal Sign) (U)..................... 315
to Resolve Up a Level (BYPASS) (S) .... 288
COMMANDS Member (S)......................... 431
COMP Command (COMPILE) (U) ............. 90
Page 473
COMPARE Command
Reference (U)............................................. 88
COMPILE Command
Customization (BIPCOMP) (S) ............. 425
Reference (U)............................................. 90
Compression of Screens (SIBCMPR) (S)... 214
Concatenate Variable (VAPPEND) (S) ..... 178
Conditional Execution
Control Flag (PPDCOND) (S) ............... 205
of Commands (BLOCK) (S)..................... 57
of Commands (ELSE) (S) ......................... 68
of Commands (ENDIF) (S) ...................... 70
of Commands (ENDLOCK) (S) .............. 69
of Commands (HEXIF) (S) ...................... 79
of Commands (IF) (S)............................... 83
of Commands (IFD) (S)............................ 85
of Commands (IFTHEN) (S) ................... 87
of Commands (LEAVE) (S) ..................... 98
of Commands (LOOP) (S) ..................... 109
CONNECT Command (S).......................... 291
CONSF Command (CONSOLEF) (S) ......... 60
CONSI Command (CONSOLEI) (U) .......... 91
Console Messages (DISPLAYC) (U) ......... 113
CONSOLEF Command (S) .......................... 60
CONSOLEI Command (U) .......................... 91
CONTROLP Command
(MVS) (S) ................................................. 293
(VSE) (S)................................................... 292
Controls (Member Change)See Stamp. See
Checkout. See Audit
Overview (U) ............................................ 40
Controls (Security) ........................See Security
Copy
PDS Member (COPYD) (U)..................... 95
Sublibrary Member (COPYD) (U).......... 94
Copy Book Facility (S) ................................ 260
Copy Column (PROPAGAT) (U).............. 240
COPY Command (U) .................................... 92
Copy Lines
by Using LCA
Discussion (U) .................................... 319
from $LOG (GET) (U) ............................ 148
from $STACK (B LCA Command) (U) 322
from $STACK (GET) (U) ....................... 148
from $STACK (I LCA Command) (U) . 328
from ICCF (GETI) (S) ............................. 313
from JES Job/Data Sets (GETP) (U) ..... 154
from Member (GET) (U) ........................ 148
from PDS (GETD) (U) ............................ 150
Page 474
from POWER Job Entry (GETP) (U)..... 151
from Sublibrary Member (GETD) (U).. 149
in Member (DUP) (U)............................. 122
in Member (Quote Mark LCA) (U) ...... 343
to $STACK (C LCA Command) (U)..... 323
to $STACK (K LCA Command) (U)..... 330
to $STACK (M LCA Command) (U) .... 332
to $STACK (N LCA Command) (U) .... 333
to $STACK (STACK) (U) ....................... 300
to $STACK (STACKI) (U) ...................... 301
to Batch Proc (SUBMITF) (S) ................. 174
Copy Member
by Creating a Command Tape (S) ........ 413
by Using LOADT
Discussion (S) ..................................... 412
from ICCF (LOADI) (S).......................... 325
from ICCF (LOADIL) (S) ....................... 326
from Member (COPY) (U) ....................... 92
from Other Systems
Discussion (S) ..................................... 412
from PDS (LOADDL) (S) ....................... 102
from PDS Member (LOADD) (S).......... 100
from Sublibrary (LOADDL) (S) ............ 101
from Sublibrary Mbr (LOADD) (S) ........ 99
Master to Slave (CHECKOUT) (U)......... 85
Slave to Master (CHECKIN) (U)............. 84
Slave to Other User (CHECKASN) (U) . 83
to MVS PDS (CATAL) (U)....................... 78
to VSE Sublibrary (CATAL) (U) ............. 76
COPYD Command
(MVS) (U)................................................... 95
(VSE) (U) .................................................... 94
CORE Command
(MVS) (S).................................................. 295
(VSE) (S) ................................................... 294
Corrective Service
Using BIM-EDIT for (VSE) (S) .............. 257
CP Command (CONTROLP) (S) ............... 292
Create
Library (DEFINEL) (U) .......................... 108
Library (FDEFINEL) (U) ........................ 139
Library Security (DEFINES) (S) ............ 297
Library Security (FDEFINES) (S).......... 309
Line Numbers (RESEQ) (U) .................. 265
Lines (A LCA Command) (U)............... 321
Lines (B LCA Command) (U) ............... 322
Lines (I LCA Command) (U)................. 328
Lines (LADD) (U) ................................... 176
Member (COPY) (U)................................. 92
BIM-EDIT System Reference Manual
Member (DEFINE) (U) ............................ 99
Member (FDEFINE) (U) ........................ 137
Member from
PDS Member (LOADD) (S) .............. 100
Sublib Mbr (LOADD) (S).................... 99
Members from
PDS (LOADDL) (S)............................ 102
Sublib (LOADDL) (S) ........................ 101
PDS Member (DEFINED) (U)............... 107
Proxy User for Mail (DEFINEX) (S) ..... 302
Session
Overview (U)........................................ 27
Session DISP-type (DISPLAYF) (S)........ 65
Session EDIT-type (EDIT) (U) .............. 123
Session Like Current (REFRESH) (U).. 256
Sublibrary Member (DEFINED) (U) .... 105
User - Steps (S)........................................ 396
User (DEFINEU) (S) ............................... 298
User (FDEFINEU) (S)............................. 311
Variable (DECLARE) (S) ......................... 61
CSDT
Customization of CICS (S) .................... 447
CTLP Command (CONTROLP) (S).......... 292
CUR Command (CURSOR) (U) .................. 96
CURS Command (CURSOR) (U) ................ 96
Cursor
MAPF Field for (PPDCSFLD) (S) ......... 205
CURSOR Command (U) .............................. 96
Cursor Control
Current (SIBCSCTL) (S)......................... 215
to Set Extended (SET) (U)...................... 289
Cursor Position
Input Column (SIBCSCOL) (S) ............. 214
Input Row (SIBCSROW) (S).................. 215
Customer Support
Contacting (S) ......................................... 360
Customization
Disabling TYPE Check (S) ..................... 417
of Audit Control (S) ............................... 415
of CICS Simultaneous Users (S) ........... 447
of CICS Transaction ID (S) .................... 447
of Command Names (S) ........................ 435
of Commands to Access CICS (S) ........ 438
of Commands Using Procedures (S).... 432
of COMPILE Command (S) .................. 425
of Date Format (S) .................................. 415
of DEFINE Command Templates (S)... 416
of HELP (S).............................................. 418
of ICCF Access (S) .................................. 415
Index
of JES interface (S) ................................. 377
of JES Job/Data Sets Access (S) ............ 423
of Logon (S) ............................................. 420
of Logon Type (S) ................................... 415
of MAPF Attribute Characters (S) ........ 446
of Messages (S)........................................ 419
of Page Length (S) .................................. 415
of POWER Job Entry Access (S)............ 423
of PROCESS Command (S) ................... 428
of Purge Control (S) ............................... 415
of Stamping Control (S) ......................... 415
of SUBMIT Command (BIPSUBM) (S) 428
of SUBMITF Command (BIXPWSB) (S)429
of System Procedures (S) ....................... 430
Overview (U) ............................................ 46
to Modify/Create/Delete Module (S) . 440
to Refresh Module (NEWCOPY) (S) .... 329
D LCA Command (U)................................. 324
DA Command
(MVS) (U)................................................... 98
(VSE) (U).................................................... 97
Data Set...................... See JES Job or Data Sets
Date
Current (OPSDATE) (S)......................... 201
Format Control (MMPDTCTL) (S) ....... 194
Format Customization (S) ..................... 415
of Task Start (SIBDATE) (S) .................. 215
DC Command (DISPLAYC) (U)................ 113
DCL Command (DECLARE) (S) ................. 61
DD LCA Command (U).............................. 324
DEAL Command (DEALLOC) (S) ............ 296
DEALLOC Command (MVS) (S) .............. 296
Deallocate PDS (DEALLOC) (S)................ 296
Debugging Procedures
Discussion (S)............................................ 44
to Log Error Info (SNAP) (S)................. 172
DECLARE Command (S) ............................. 61
Decrement Variable (SUBTRACT) (S) ...... 176
DEF Command (DEFINE) (U)..................... 99
Default
to Set Library (ATTACH) (U) ................. 62
to Set PDS (ATTACHD) (U).................... 64
to Set Sublibrary (ATTACHD) (U)......... 63
Default Screen......... See also Alternate Screen
Number of Columns (SIBSCDWD) (S) 219
Number of Lines (SIBSCDDP) (S) ........ 219
DEFD Command (DEFINED) (U)............. 105
DEFINE Command
Customization (S) ................................... 416
Page 475
Reference (U)............................................. 99
DEFINED Command
(MVS) (U) ................................................ 107
(VSE) (U).................................................. 105
DEFINEL Command (U)............................ 108
DEFINES Command (S) ............................. 297
DEFINEU Command (S) ............................ 298
DEFINEX Command (S)............................. 302
DEFL Command (DEFINEL) (U) .............. 108
DEFS Command (DEFINES) (S)................ 297
DEFU Command (DEFINEU) (S).............. 298
DEFX Command (DEFINEX) (S)............... 302
DEL Command (DELETE) (U) .................. 109
Delete
Audit (AUDITCL) (U).............................. 66
Column (BLANK) (U).............................. 73
Column (KEEP) (U)................................ 173
Column (SHIFT) (U)............................... 292
JES Job/Data Sets (DISCARD) (U) ....... 110
JES Job/Data Sets (P LCA Cmnd) (U) . 334
JES Job/Data Sets (PURGEP) (U) ......... 248
Library (PURGEL) (U) ........................... 245
Library Security (PURGES) (S) ............. 334
Lines (D LCA Command) (U)............... 324
Lines (DELETE) (U)................................ 109
Mail (DISCARD) (U) .............................. 110
Mail (P LCA Command) (U)................. 334
Mail (PURGEQ) (U) ............................... 250
Member - Steps to Undo (S) .................. 402
Member (P LCA Command) (U) .......... 334
Member (PURGE) (U)............................ 241
PDS Member (P LCA Command) (U) . 334
PDS Member (PURGED) (U) ................ 244
POWER Job Entry (DISCARD) (U) ...... 110
POWER Job Entry (P LCA Cmnd) (U) 334
POWER Job Entry (PURGEP) (U) ........ 246
Proxy User for Mail (PURGEX) (S) ...... 337
Slave Member (CHECKPUR) (U)........... 87
Sublibrary Member (P LCA Cmnd) (U)334
Sublibrary Member (PURGED) (U) ..... 243
Temporary Password (PURGEN) (S) .. 333
User - Steps (S) ........................................ 397
User (PURGEU) (S) ................................ 336
DELETE Command (U).............................. 109
DEMO Procedure (VSE)
Installation (S) ......................................... 254
Usage (U) ................................................... 16
DEQ Command (DEQUEUE) (S) ................ 64
DEQUEUE Command (S) ............................ 64
Page 476
DI Command (DISPLAY) (U) .................... 111
Dialog Within a Procedure (MAPF) (S).... 114
DID Command (DISPLAYD) (U).............. 116
DII Command (DISPLAYI) (S) .................. 305
DISABLE Command (S) ............................. 303
Disabling TYPE Check (S) .......................... 417
DISC Command (DISCARD) (U) .............. 110
DISCARD Command (U) ........................... 110
DISCONN Command (S) ........................... 304
Disk
Current Space (SHOW AVAIL) (S) ...... 168
Integrity Provisions (S) .......................... 464
Space Compression (S)........................... 406
Space Estimates (S) ................................. 405
Space Fragmentation (S) ........................ 404
Space Usage (S) ....................................... 404
to Integrity Check (VERIFY) (S)............ 358
DISP Command (DISPLAY) (U)................ 111
DISP Session
Update Control (MMPDSCTL) (S) ....... 194
DISPC Command (DISPLAYC) (U) .......... 113
DISPD Command (DISPLAYD) (U) ......... 116
DISPF Command (DISPLAYF) (S) .............. 65
DISPI Command (DISPLAYI) (S).............. 305
Display (Screen)
Layout (U).................................................. 15
to Change Mode (SCREEN) (U) ........... 275
Display Attributes
of JES Job (INQUIREP) (U).................... 168
of JES Job (X LCA Command) (U)........ 341
of Member (INQUIRE) (U).................... 166
of User (INQUIREU) (S) ........................ 314
DISPLAY Command (U) ............................ 111
Display Information About Commands
(HELP) (U)............................................... 159
Display Line on Consol(CONSOLEI) (U) .. 91
Display Lines Containing Pattrn
(QUALIFY) (U) ....................................... 251
Display Lines Interactive (MAPF) (S)....... 114
Display List
of BIM-EDIT Routines(LIBRARYR) (S) 319
of BIM-EDIT Tasks (LIBRARYT) (S) .... 322
of ICCF Members (LIBRARYI) (S)........ 317
of JES Jobs/Data Set(LIBRARYP) (U) .. 190
of Libraries (LIBRARYL) (U)................. 186
of Logical Backup (LIBRARYG) (S)...... 315
of Mail (LIBRARYQ) (U)........................ 192
of Mail User Proxies(LIBRARYX) (S)... 324
of Members (LIBRARY) (U) .................. 177
BIM-EDIT System Reference Manual
of PDS Members
(LIBRARYD) (U) ................................ 184
of POWER Job Entries(LIBRARYP) (U)188
of Security Entries (LIBRARYS) (S)...... 320
of Sublibrary Members
(LIBRARYD) (U) ................................ 182
of temporary passwords
(LIBRARYN) (S)................................. 318
of Users (LIBRARYU) (U) ..................... 194
Display Memory (CORE) (S) ..................... 294
Display Status
of BIM-EDIT (LIBRARYT) (S)............... 322
of BIM-EDIT (SHOW) (S) ...................... 168
of System (DA) (U)................................... 97
Display Text
of Audit Trail (SCREEN AUDIT) (U) .. 275
of ICCF Mem (DISPLAYI) (S) ............... 305
of ICCF Member
(L LCA Command) (U)..................... 331
(T LCA Command) (U)..................... 338
of ICCF Member (LISTI) (S) .................. 328
of JES Job/Data Sets (L LCA) (U)......... 331
of JES Jobs/Data Sets (LISTP) (U) ........ 203
of Lines (DISPLAYF) (S).......................... 65
of Mail (L LCA Command) (U) ............ 331
of Mail (OPEN) (U) ................................ 231
of Mbrs Containing Pttrn(SCAN) (U).. 271
of Member (DISPLAY) (U).................... 111
of Member (L LCA Command) (U) ..... 331
of Member (LIST) (U) ............................ 196
of Member (T LCA Command) (U) ..... 338
of PDS Member
(DISPLAYD) (U) ................................ 118
(L LCA Command) (U)..................... 331
(LISTD) (U) ......................................... 199
(T LCA Command) (U)..................... 338
of POWER Job Entry (L LCA) (U)........ 331
of POWER Job Entry (LISTP) (U)......... 201
of Sublibrary Mem (DISPLAYD) (U)... 116
of Sublibrary Member (L LCA) (U) ..... 331
of Sublibrary Member (LISTD) (U) ...... 197
of Sublibrary Member (T LCA) (U) ..... 338
Display Variable Values (SHOW) (S) ....... 168
Display VSE Console Messages (DISPLAYC)
(U).............................................................. 113
DISPLAYC Command (U) ......................... 113
DISPLAYD Command
(MVS) (U) ................................................ 118
(VSE) (U).................................................. 116
Index
DISPLAYF Command
Reference (S).............................................. 65
used with REFRESH (S)........................... 36
DISPLAYI Command
(VSE) (S)................................................... 305
DISP-type Sessions Overview (U)............... 27
DIV Command (DIVIDE) (S) ....................... 66
DIVI Command (DIVIDE) (S)...................... 66
DIVIDE Command (S).................................. 66
DO Command (NEXT) (U) ........................ 226
Doubled Quote
in Variable Value (PPDLITDL) (S) ....... 206
DOWN Command (NEXT) (U) ................. 226
DQ Command (LIBRARYP) (U)................ 188
DTSFILE File (VSE) (S) ............................... 366
DUP Command (U) .................................... 122
Duplicate ............................................ See Copy
E LCA Command (U) ................................. 325
ED Command (EDIT) (U)........................... 123
EDD Command (EDITD) (U) .................... 125
EDIT Command (U).................................... 123
EDITD Command
(MVS) (U)................................................. 126
(VSE) (U).................................................. 125
Editing
Hexadecimal (U)..................................... 365
Members
Overview (U)........................................ 32
Tutorial (U) ............................................. 5
PDS Members
Overview (U)........................................ 32
Sublibrary Members
Overview (U)........................................ 32
EDIT-type Sessions Overview (U) .............. 27
EE LCA Command (U)............................... 325
EJECT Command (S)..................................... 67
ELSE Command (S)....................................... 68
ENABLE Command (S) .............................. 306
End ........................................................ See Stop
END Command (U) .................................... 127
ENDBLOCK Command (S).......................... 69
ENDIF Command (S).................................... 70
ENQ Command (ENQUEUE) (S)................ 71
ENQUEUE Command (S) ............................ 71
Entering BIM-EDIT (U) ................................ 14
Entering Commands
Rules for (U) .............................................. 18
Equal Sign Command
Overview (U) ............................................ 22
Page 477
Reference (U)........................................... 315
Equal Sign in a Command Operand (U).... 19
EX Command (EXECUTE) (U) .................. 128
EXAM Command (EXAMINE) (S) ............. 72
EXAMINE Command
Overview (S) ............................................. 31
Reference (S).............................................. 72
Exchange Position Markers (SWAP) (U) . 308
Exclamation Mark
in MAPF Command (S) ......................... 114
EXEC Command (EXECUTE) (U)............. 128
EXECUTE Command (U)........................... 128
EXIT Command (S) ....................................... 75
Exit Module see ........................................... 414
Exiting BIM-EDIT (U) ................................... 14
Expiry value
Logon (MMPLGEXP) (S) ....................... 195
Explain Support (MESSAGE) (U) ............. 222
Extended naming (MMPEXTNM) (S) ...... 195
Extended Search Pattern
Character Definitions (U) ...................... 351
Combination Searches (U)..................... 353
Finding First Non-Blank (U) ................. 355
Overview (U) .......................................... 351
Setting Position (U) ................................ 354
to Change (CHANGE) (U) ...................... 80
to Display List (QUALIFY) (U)............. 251
to Display Mbrs having (SCAN) (U) ... 271
to Search for (FIND) (U) ........................ 140
to Search for (FINDUP) (U)................... 142
to Search for (LOCATE) (U).................. 206
to Search for (LOCATEU) (U)............... 209
to Search for (NFIND) (U) ..................... 227
to Search for (NFINDUP) (U) ............... 229
to Search for (SEARCH) (U).................. 283
to Search for Words (U) ......................... 352
to Use with CHANGE (U)..................... 354
to Use with CURSOR (U) ...................... 354
Wildcard Searches (U) ........................... 353
External Security (MMPSECUR) (S) ......... 198
External Security (S).................................... 401
F Command (FIND) (U) ............................. 140
FALT Command (FALTER) (U) ................ 130
FALTER Command (U).............................. 130
FALTERL Command (U) ........................... 132
FALTERP Command
(MVS) (U) ................................................ 135
(VSE) (U).................................................. 133
FALTERS Command (S)............................. 307
Page 478
FALTERU Command (S)............................ 308
FALTL Command (FALTERL) (U) ........... 132
FALTP Command (FALTERP) (U) ........... 133
FALTS Command (FALTERS) (S) ............. 307
FALTU Command (FALTERU) (S) ........... 308
FDEF Command (FDEFINE) (U)............... 137
FDEFINE Command (U) ............................ 137
FDEFINEL Command (U).......................... 139
FDEFINES Command (S) ........................... 309
FDEFINEU Command (S) .......................... 311
FDEFL Command (FDEFINEL) (U).......... 139
FDEFS Command (FDEFINES) (S) ........... 309
FDEFU Command (FDEFINEU) (S) ......... 311
FILE Command (SAVE) (U)....................... 270
Files for BIM-EDIT (VSE) (S)...................... 365
FIND Command (U) ................................... 140
FINDU Command (FINDUP) (U) ............. 142
FINDUP Command (U).............................. 142
FO Command (FORWARD) (U) ............... 146
FOR Command (FORWARD) (U)............. 146
Forced Logon (LOGON) (S)....................... 107
FORM Command (FORMAT) (U) ............ 144
FORMAT Command (U)............................ 144
FORWARD Command (U) ........................ 146
FSESSION Command (U) .......................... 147
FU Command (FINDUP) (U)..................... 142
FUP Command (FINDUP) (U) .................. 142
G LCA Command (U)................................. 326
GET Command (U) ..................................... 148
GETD Command
(MVS) (U)................................................. 150
(VSE) (U) .................................................. 149
GETI Command (VSE) (S).......................... 313
GETP Command
(MVS) (U)................................................. 154
(VSE) (U) .................................................. 151
GETQ Command (U) .................................. 157
GOSUB Command (S) .................................. 76
GOTO Command
Discussion (S) ............................................ 16
Loop Counter (PPDLPCTR) (S) ............ 206
Loop Limit (PPDLPLMT) (S) ................ 206
Reference (S).............................................. 77
Greater Than Sign (>)
LCA Command (U) ................................ 346
Pattern Character (U) ............................. 351
Group
Overview (U)............................................. 28
GROUP Command
BIM-EDIT System Reference Manual
Reference (U) .......................................... 158
H LCA Command (U) ................................ 327
HEADF Command
Overview (S) ............................................. 36
Reference (S) ............................................. 78
HELP Command
Customization (S)................................... 418
Overview (U) ............................................ 17
Reference (U) .......................................... 159
Hexadecimal
Current Cmnd Esc Char(SIBHEXC) (S)216
Current Display Status(SSDHEX) (S) .. 226
Display and Edit Discussion (U) .......... 364
Substitution during SUBMIT (U) ......... 366
Text-Follow Ctrl Flag (PPDHEX) (S) ... 205
Text-Follow Esc Char (PPDHEXC) (S) 205
to Display (SCREEN HEX) (U) ............. 275
to Set Escape Char (SET) (U)................. 289
HEXIF Command (S).................................... 79
HEXR Command (HEXREQ) (S)................. 81
HEXREQ Command (S) ............................... 81
HH LCA Command (U)............................. 327
HOLD Command
(MVS) (U) ................................................ 162
(VSE) (U).................................................. 160
Home
to Set Library (ATTACH) (U) ................. 62
to Set PDS (ATTACHD) (U).................... 64
to Set Sublibrary (ATTACHD) (U)......... 63
I LCA Command (U) .................................. 328
IBM Corrective Service (VSE) (S) .............. 257
ICCF
Access Customization (S) ...................... 415
Control Flag (MMPICCTL) (S) ............. 195
Copying Members from
Discuss (S)........................................... 412
Member
Copying from (S) ............................... 412
to Copy Library from (LOADIL) (S) .... 326
to Copy Member fm Tape (LOADT) (S)103
to Copy Member for (REPRO) (S) ........ 143
to Copy Member from
(LOADI) (S) ........................................ 325
to Display Mbr List (LIBRARYI) (S) .... 317
to Display Text (DISPLAYI) (S) ............ 305
to Display Text (L LCA Cmnd) (U)...... 331
to Display Text (LISTI) (S)..................... 328
to Display Text (T LCA Cmnd) (U)...... 338
to Get Text from (GETI) (S) ................... 313
Index
to Punch Member for (PUNCH) (S)..... 131
IEBUPDTE Format
to Copy Member to (REPRO) (S).......... 143
to Load from Tape (LOADT) (S) .......... 103
to Punch Member in (PUNCH) (S) ...... 131
IESMSGS Support (MESSAGE) (U) .......... 222
IF Command (S) ............................................ 83
IFD Command (S) ......................................... 85
IFTHEN Command (S) ................................. 87
INCL Command (INCLUDE) (S) ................ 89
INCLUDE Command
(Advanced) (S) .......................................... 89
(Ordinary) (U) ......................................... 164
in Text-Follow Cmnds
Overview (S)......................................... 34
in Text-Follow Cmnds Reference (S) ... 209
Text-Follow Ctrl Flag(PPDINCL) (S) ... 205
with Checked Out Members (U) .......... 373
Increment Variable (ADD) (S) ..................... 53
Initiate ...................................................See Start
INQ Command (INQUIRE) (U) ................ 166
INQD Command (INQUIRED) (U) .......... 167
INQP Command (INQUIREP) (U)............ 168
INQU Command (INQUIREU) (S) ........... 314
Inquire
Sublibrary Member (INQUIRED) (U).. 167
INQUIRE Command (U)............................ 166
INQUIRED Command (VSE) (U).............. 167
INQUIREP Command (MVS) (U) ............. 168
INQUIREU Command (S).......................... 314
INS Command (INSERTI) (U) ................... 170
INSERT Command (INSERTI) (U)............ 170
Insert Line
from $STACK (B LCA Command) (U) 322
from $STACK (I LCA Command) (U) . 328
from JES Job/Data Sets (GETP) (U) ..... 154
from Mail (GETQ) (U)............................ 157
from PDS Member (GETD) (U) ............ 150
from POWER Job Entry (GETP) (U) .... 151
from Sublibrary Member (GETD) (U) . 149
to $LOG (LOGF) (S) ............................... 106
to $LOG (LOGI) (U) ............................... 212
to $STACK (STACKF) (S) ...................... 173
to $STACK (STACKI) (U)...................... 301
to Audit (AUDITF) (S) ............................. 54
to Audit (AUDITI) (U) ............................. 68
to Console (CONSOLEF) (S) ................... 60
to Console (CONSOLEI) (U) ................... 91
to Punch Output (PUNCHF) (S)........... 134
Page 479
to Punch Output (PUNCHI) (S) ........... 135
to Session (A LCA Command) (U)....... 321
to Session (GET) (U) ............................... 148
to Session (INSERTF) (S) ......................... 94
to Session (INSERTI) (U) ....................... 170
to Tape (REPROF) (S)............................. 147
to Tape (REPROI) (S) ............................. 149
to Various Destinatns(OUTPUTF) (S) . 119
INSERTF Command
in Application Interface (S) ................... 247
Reference (S).............................................. 94
INSERTI Command (U) ............................. 170
INSF Command (INSERTF) (S) ................... 94
INSI Command (INSERTI) (U).................. 170
INSTALL Command (S)............................. 253
INSTALL Procedure (VSE) (S) .................. 257
Installable Features (S)................................ 252
Installation
First Time on MVS (S)............................ 371
First Time on VSE (S) ............................. 361
Upgrade (S) ............................................. 360
Integrity Check BIM-EDIT(VERIFY) (S) .. 358
Integrity Provisions in BIM-EDIT (S) ....... 464
Interactive Demo .............................See DEMO
Interactive Display (MAPF) (S) ................. 114
Interface to BIM-EDITSee Application Interface
Inter-User Mail .................................... See Mail
INTERVAL Command
Reference (S).............................................. 95
J LCA Command (U) .................................. 329
JCL Example
for Backup and Restore (S).................... 390
for Batch Utility (S)................................. 240
to Start BIM-EDIT (S) ............................. 387
JCT Variables
Reference (MVS) (S) ............................... 189
to Set - JES Job/DSets (READP) (S)...... 141
JES
customization (S) .................................... 377
release dependences (S)......................... 377
to Copy Member to (SUBMIT) (U)....... 305
to Copy PDS Mbr to (SUBMITD) (U) .. 307
to Issue Commands to
(CONTROLP) (S) ............................... 293
JES Job or Data Sets
Access Control Custom(BIXPWQA) (S)423
Access Flag (MMPPWCTL) (S)............. 197
Access Overview (U)................................ 35
Attributes (JCT Variables) (S) ............... 189
Page 480
Attributes (JOE Variables) (S) ............... 192
Attributes (JQE Variables) (S) ............... 193
Attributes (PDB Variables) (S) .............. 202
Last Referenced
in Command (U) .................................. 21
List of Commands to Access (U) ............ 51
Security Overview (U) ............................. 39
to Change Attr
(ALTERP) (U) ....................................... 60
(FALTERP) (U) ................................... 135
(Q LCA Command) (U) .................... 335
to Delete (DISCARD) (U)....................... 110
to Delete (P LCA Command) (U) ......... 334
to Delete (PURGEP) (U)......................... 248
to Display Attr (INQUIREP) (U) .......... 168
to Display Attr (X LCA Command) (U)341
to Display List (LIBRARYP) (U) ........... 190
to Display Text (L LCA Cmnd) (U)...... 331
to Display Text (LISTP) (U) ................... 203
to Insert Lines from (GETP) (U)............ 154
to Set Vars to Attr (READP) (S) ............ 141
to Stop (CANCEL) (U) ............................. 75
to Suspend (H LCA Command) (U) .... 327
to Suspend (HOLD) (U)......................... 162
to Undo Hold (R LCA Command) (U) 336
to Undo Hold (RELEASE) (U) .............. 259
JJ LCA Command (U) ................................. 329
Job Entry .......................See POWER Job Entry
Job Notification
Alter User (NTFY) (S)............................. 270
Define User (NTFY) (S) .......................... 299
Introduction (U)........................................ 36
Jobcard NTFY (MMPNOTFY) (S)......... 196
SUBMIT (NTFY) (U)............................... 303
Submit control (SIBNTFY) (S) ............... 218
JOE Variables
Reference (MVS) (S) ............................... 192
to Set - JES Job/DSets (READP) (S)...... 141
JQE Variables
Reference (MVS) (S) ............................... 193
to Set - JES Job/DSets (READP) (S)...... 141
Jump from GOTO (LABEL) (S) ................... 97
Jump to LABEL (GOSUB) (S)....................... 76
Jump to LABEL (GOTO) (S)......................... 77
JUSTIFYL Command (U)............................ 171
JUSTIFYR Command (U) ........................... 172
JUSTL Command (JUSTIFYL) (U)............. 171
JUSTR Command (JUSTIFYR) (U) ............ 172
K LCA Command (U) ................................. 330
BIM-EDIT System Reference Manual
KEEP Command (U)................................... 173
KEY Command (KEYS) (U) ....................... 174
KEYS Command (U)................................... 174
Keyword Operands
Rules for Entry (U) ................................... 19
KK LCA Command (U).............................. 330
L Command (LOCATE) (U) ...................... 206
L LCA Command (U) ................................. 331
LA Command (LADD) (U) ........................ 176
LABEL Branch to (GOSUB) (S) ................... 76
LABEL Branch to (GOTO) (S)...................... 77
LABEL Command (S) ................................... 97
LADD Command (U) ................................. 176
Last Referenced
Entities in Command (U) ........................ 21
Member (TXM Variables) (S) ................ 230
PDS Member (SIBLSPDS) (S)................ 217
Sublibrary Member (SIBLSPDS) (S)..... 217
LCA
to Change Position(SCREEN LCA) (U)275
LCA Command
A (U)......................................................... 321
B (U) ......................................................... 322
C,CC (U) .................................................. 323
D,DD (U).................................................. 324
E,EE (U) ................................................... 325
G (U)......................................................... 326
Greater Than Sign (>) (U)...................... 346
H,HH (U)................................................. 327
Help Online (U) ........................................ 17
I (U) .......................................................... 328
J,JJ (U)....................................................... 329
K,KK (U) .................................................. 330
L,LL (U) ................................................... 331
Left Parenthesis (U)................................ 348
Less Than Sign (<) (U) ........................... 345
M,MM (U) ............................................... 332
N,NN (U)................................................. 333
P,PP (U).................................................... 334
Plus Sign (+) (U) ..................................... 347
Q,QQ Command (U).............................. 335
Quote Mark (U) ...................................... 343
R,RR (U)................................................... 336
Right Parenthesis (U) ............................. 349
S,SS (U) .................................................... 337
Slash (/) (U) ............................................ 344
T,TT (U) ................................................... 338
U,UU (U) ................................................. 339
W,WW (U)............................................... 340
Index
X,XX (U) ................................................... 341
Y (U) ......................................................... 342
LCA Commands
Bracket (U)............................................... 319
Command Line Alternatives for (S)......... 5
Current Pos on Scrn (SSDLCA) (S) ...... 226
Default Pos on Scrn (SIBDFLCA) (S) ... 215
Discussion (U)......................................... 318
Double Letter (U).................................... 319
for Accessing $STACK (U) ...................... 31
for Editing
Overview (U)........................................ 32
Multiple on a Screen (U)........................ 320
on LIBRARYx Sessions (U)...................... 30
Position on Screen (U).............................. 15
Repeat Count (U).................................... 319
Sequence of Processing (U) ................... 320
to Forget Bracket (RESET) (U) .............. 267
to Set Default Position (SET) (U) .......... 289
Tutorial (U).................................................. 5
LEAVE Command (S)................................... 98
Left Brace
in MAPF Command (S) ......................... 114
Left Justify Line
(JUSTIFYL) (U)........................................ 171
(Left Parenthesis LCA Command) (U) 348
Left Parenthesis
LCA Command (U)................................ 348
to Indicate Trap Commands (S).............. 34
Left Shift Column
(Less Than Sign LCA Command) (U).. 345
(SHIFT) (U).............................................. 292
Left Shift Display (VIEW) (U).................... 312
Length of Value- to Access(SETL) (S)....... 166
Less Than Sign (<)
Command Overview (U)......................... 22
Command Reference (U) ....................... 317
LCA Command (U)................................ 345
Pattern Character (U) ............................. 351
LI Command (LIST) (U) ............................. 196
LIB Command (LIBRARY) (U) .................. 177
LIBD Command (LIBRARYD) (U)............ 182
LIBG Command (LIBRARYG) (S)............. 315
LIBI Command (LIBRARYI) (S) ................ 317
LIBL Command (LIBRARYL) (U) ............. 186
LIBN Command (LIBRARYN) (S) ............ 318
LIBP Command (LIBRARYP) (U) ............. 188
LIBQ Command (LIBRARYQ) (U)............ 192
LIBR Command (LIBRARYR) (S).............. 319
Page 481
Library
Attributes (TXL Variables) (S) .............. 229
Contents after Install (S) ........................ 382
Current Attached (SIBLIB) (S) .............. 217
Discussion (U)........................................... 25
Home (SIBHMLB) (S)............................. 216
Integrity Provisions (S) .......................... 464
List of Commands which Access (U)..... 49
of Current Procedure(PPDPRLIB) (S).. 207
Parent (S) ................................................. 398
Rules for Referencing (U) ........................ 26
Security ......................................See Security
Significance of Period in Name (S)....... 399
to Change Attributes
(ALTERL) (U) ....................................... 56
(FALTERL) (U)................................... 132
(Q LCA) (U) ........................................ 335
to Copy Mbrs from ICCF(LOADIL) (S)326
to Copy Mbrs to Tape (REPROL) (S) ... 151
to Create (DEFINEL) (U) ....................... 108
to Create (FDEFINEL) (U) ..................... 139
to Delete (PURGEL) (U)......................... 245
to Display List (LIBRARYL) (U) ........... 186
to Display Mbrs w/ Ptrn (SCAN) (U) . 271
to Integrity Check (VERIFY) (S) ........... 358
to Move Member (MOVE) (U).............. 224
to Move Member (RENAME) (U) ........ 261
to Punch Members (PUNCHL) (S)....... 136
to Reorganize (REORG) (S) ................... 344
to Restore fm Bkup (RESTOREL) (S) ... 350
to Set Default (ATTACH) (U) ................. 62
to Set Default (Y LCA Command) (U). 342
to Set Home (ATTACH) (U) ................... 62
to Set TXL Vars for (BROWSEL) (S)....... 59
to Set TXL Vars for (READL) (S) .......... 138
LIBRARY Command (U)............................ 177
LIBRARYD Command
(MVS) (U) ................................................ 184
(VSE) (U).................................................. 182
LIBRARYG Command
(MVS) (S) ................................................. 316
(VSE) (S)................................................... 315
LIBRARYI Command (VSE) (S) ................ 317
LIBRARYL Command (U) ......................... 186
LIBRARYN Command (S) ......................... 318
LIBRARYP Command
(MVS) (U) ................................................ 190
(VSE) (U).................................................. 188
LIBRARYQ Command (U)......................... 192
Page 482
LIBRARYR Command (S) .......................... 319
LIBRARYS Command (S)........................... 320
LIBRARYT Command (S) .......................... 322
LIBRARYU Command (U)......................... 194
LIBRARYX Command (S) .......................... 324
LIBRARYx Sessions
Use of LCA (U).......................................... 30
LIBS Command (LIBRARYS) (S)............... 320
LIBT Command (LIBRARYT) (S) .............. 322
LIBU Command (LIBRARYU) (U)............ 194
LIBX Command (LIBRARYX) (S).............. 324
LID Command (LISTD) (U) ....................... 197
LII Command (LISTI) (S)............................ 328
Line
Current Number (SIBLNUM) (S) ......... 217
Longer than 80 Char (S) ......................... 242
Stamp of Current (XTRSTAMP) (S) ..... 238
Text of Current (XTRSLINE) (S) ........... 238
to Break Apart (SEPARATE) (U) .......... 285
to Break Apart (SPLIT) (U).................... 297
to Center (CENTER) (U) .......................... 79
to Center (Plus Sign LCA Cmnd) (U) .. 347
to Combine (FORMAT) (U)................... 144
to Copy (C LCA Command) (U)........... 323
to Copy (K LCA Command) (U) .......... 330
to Copy from ICCF (GETI) (S) .............. 313
to Create (A LCA Command) (U) ........ 321
to Create (LADD) (U)............................. 176
to Delete (D LCA Command) (U)......... 324
to Delete (DELETE) (U).......................... 109
to Duplicate (DUP) (U) .......................... 122
to Duplicate (Quote Mark LCA) (U) .... 343
to Insert (INSERTI) (U) .......................... 170
to Insert from $STACK (B LCA) (U) .... 322
to Insert from $STACK (I LCA) (U) ..... 328
to Insert to $LOG (LOGF) (S) ................ 106
to Insert to $LOG (LOGI) (U) ................ 212
to Insert to $STACK (STACKF) (S)....... 173
to Insert to $STACK (STACKI) (U) ...... 301
to Insert to Audit (AUDITF) (S).............. 54
to Insert to Audit (AUDITI) (U).............. 68
to Insert to Console(CONSOLEF) (S)..... 60
to Insert to Console(CONSOLEI) (U)..... 91
to Insert to Member (INSERTF) (S) ........ 94
to Insert to Tape (REPROF) (S) ............. 147
to Insert to Tape (REPROI) (S) .............. 149
to Insert to Var Dest(OUTPUTF) (S) .... 119
to Left Just (JUSTIFYL) (U).................... 171
to Left Just (Left Paren LCA) (U).......... 348
BIM-EDIT System Reference Manual
to Make Lower Case (LOWERCAS) (U)214
to Make Lower Case (W LCA) (U)....... 340
to Make Upper Case (U LCA) (U)........ 339
to Make Upper Case (UPPERCAS) (U) 311
to Merge (G LCA Command) (U) ........ 326
to Merge (J LCA Command) (U) .......... 329
to Merge (MERGE) (U) .......................... 220
to Merge (OVERLAY) (U) ..................... 232
to Move (M LCA Command) (U)......... 332
to Move (N LCA Command) (U) ......... 333
to Number (RESEQ) (U) ........................ 265
to Print (PRINTF) (S).............................. 129
to Punch (PUNCHF) (S) ........................ 134
to Punch (PUNCHI) (S) ......................... 135
to Right Just (JUSTIFYR) (U)................. 172
to Right Just(Right Paren LCA) (U) ..... 349
to Send to Appl Intfc (SENDF) (S) ....... 156
to Send to Appl Intfc (SENDI) (S) ........ 157
to Send to Appl Intfc (SENDN) (S) ...... 159
to Shift (SHIFT) (U) ................................ 292
to Shift Left (Less Than Sign) (U) ......... 345
to Shift Right(Grtr Than Sign) (U)........ 346
to Sort (SORT) (U) .................................. 295
to Test for String (EXAMINE) (S)........... 72
to Transfer to Batch (SUBMITF) (S) ..... 174
Line Control Area .............................. See LCA
List....................................................See Display
LIST Command (U) .................................... 196
LISTD Command
(MVS) (U) ................................................ 199
(VSE) (U).................................................. 197
LISTD-type Sessions Overview (U) ............ 27
LISTI Command
(VSE) (S)................................................... 328
LISTP Command
(MVS) (U) ................................................ 203
(VSE) (U).................................................. 201
LISTP-type Sessions Overview (U)............. 27
LIST-type Sessions Overview (U) ............... 27
LL LCA Command (U)............................... 331
LOADD Command
(MVS) (S) ................................................. 100
(VSE) (S)..................................................... 99
LOADDL Command
(MVS) (S) ................................................. 102
(VSE) (S)................................................... 101
LOADI Command (VSE) (S)...................... 325
LOADIL Command (VSE) (S) ................... 326
LOADT Command
Index
Reference (S)............................................ 103
Steps to Copy Members (S) ................... 412
LOC Command (LOCATE) (U)................. 206
LOCATE Command (U)............................. 206
LOCATEU Command (U).......................... 209
LOCU Command (LOCATEU) (U) .......... 209
LOCUP Command (LOCATEU) (U) ........ 209
Log Area ............................................ See $LOG
LOGF Command (S) ................................... 106
Logging On and Logging Off (U) ............... 14
LOGI Command (U) ................................... 212
Logical Backup
(BACKUPG) (S)....................................... 277
(BACKUPS) (S) ....................................... 283
Full - JCL Example (S)............................ 391
Selective - JCL Example (S) ................... 394
to Display List (LIBRARYG) (S) ........... 315
to Print Members (PRINTG) (S) ........... 331
vs Physical Backup (S) ........................... 390
Logical Restore
(BIMREST) (S) ......................................... 390
(RESTORE) (S) ........................................ 345
(RESTOREL) (S) ...................................... 350
Full - JCL Example (S)............................ 392
Partial - JCL Example (S) ....................... 393
Logical Screen
Current Number of (SIBLSCDP) (S) .... 217
Current Primary Scrn(SIBSCRPM) (S). 220
Position (SIBSCRBx) (S) ......................... 220
Size (SIBSCRDx) (S)................................ 220
Logical Screens
Discussion (U)......................................... 360
Logical Tabbing
Discussion (U)......................................... 362
to Set Character (SET) (U) ..................... 289
LOGMODE
Batch Utility PARM=LOGMOD= (S)... 241
in Application Interface (S) ................... 246
Installation (MVS) (S)............................. 374
Installation (VSE) (S) .............................. 367
LOGOF Command (LOGOFF) (U) ........... 213
LOGOFF Command (U)............................. 213
Logon
Control Customization (S)..................... 415
Control Flag (MMPLGTYP) (S) ............ 195
Customization Module (BIXLOGN) (S)421
Expiry value (MMPLGEXP) (S) ............ 195
First Time (S) ........................................... 380
Forcing Security (S) ................................ 420
Page 483
Overriding (S) ......................................... 420
Procedure to be Executed (S) ................ 421
Screen Customization (S) ...................... 421
LOGON Command (S) ............................... 107
LOGON Procedure (S)................................ 421
LOOP Command (S)................................... 109
Loop Limit (PPDLPLMT) (S) ..................... 206
LOW Command (LOWERCAS) (U) ......... 214
Lower Case Translate
Line (LOWERCAS) (U).......................... 214
Line (W LCA Command) (U) ............... 340
Variable (VLOWERCA) (S) ................... 181
LOWER Command (LOWERCAS) (U) .... 214
LOWERCAS Command (U) ...................... 214
LP Command (LISTP) (U).......................... 201
LU 6.2
Batch Utility (S)....................................... 241
Conversation Depth
(MMPVTCVD) (S) ............................. 200
Install (MVS) (S)...................................... 374
Program Access to BIM-EDIT (S) ......... 244
to close conversation (LUCL) (S).......... 110
to open conversation (LUOP) (S) ......... 111
to receive conv. data (LURC) (S) .......... 112
to send conv. data (LURSD (S) ............. 113
use in Procedures (S)................................ 42
LU 6.2 Install (VSE) (S) ............................... 367
LU Command (LOCATEU) (U) ................ 209
LUCL Command (S) ................................... 110
LUOP Command (S) ................................... 111
LUP Command (LOCATEU) (U) .............. 209
LURC Command (S) ................................... 112
LUSD Command (S) ................................... 113
M LCA Command (U)................................ 332
Macros ...................................... See Procedures
Mail
Current User for (SIBMLUSR) (S) ........ 218
List of Commands to Access (U) ............ 51
Overview (U) ............................................ 34
Security Overview (U) ............................. 39
to Create Proxy User (DEFINEX) (S) ... 302
to Delete (DISCARD) (U) ...................... 110
to Delete (P LCA Command) (U) ......... 334
to Delete (PURGEQ) (U)........................ 250
to Delete Proxy User (PURGEX) (S)..... 337
to Display List (LIBRARYQ) (U) .......... 192
to Insert Lines from (GETQ) (U)........... 157
to Receive (L LCA Command) (U)....... 331
to Receive (OPEN) (U) ........................... 231
Page 484
to Send (MAIL) (U)................................. 215
to Send (MAILI) (U) ............................... 217
to Send Session (MAILSESS) (U) .......... 219
to set AUTOMAIL feature (S) ....... 270, 300
to Set Proxy User for(ATTACHX) (U) ... 65
Mail Area ......................................... See $MAIL
MAIL Command (U)................................... 215
MAILI Command (U) ................................. 217
MAILSESS Command (U).......................... 219
MAIL-type Sessions Overview (U) ............. 28
MAINT (SSERV) tape
to Load Members from (LOADT) (S)... 103
Make.................................................. See Create
MAPF Command
Beep Flag (PPDALARM) (S) ................. 204
Customize Attr Char (BIFTBAT) (S) .... 446
Data Changed Flag (PPDMSGF) (S)..... 206
Field for Cursor (PPDCSFLD) (S)......... 205
Key Used to Transmit (PPDKEY) (S) ... 206
Overview (S).............................................. 22
Reference (S)............................................ 114
Screen Size Control (PPDSCRSZ) (S) ... 207
Master Member in Checkout
to Copy from Slave (CHECKIN) (U)...... 84
to Copy to Slave (CHECKOUT) (U)....... 85
Member
Attributes (TXM Variables) (S) ............. 230
Auditing Discussion (U) ........................ 368
Change Controls
Overview (U)........................................ 40
Checkout/Checkin Discussion (U) ...... 372
Copying from ICCF (S) .......................... 412
Creating
Tutorial (U) ............................................. 4
Current Edit User (XTREUSER) (S)...... 238
Current List User (XTRLUSER) (S) ...... 238
Discussion (U) ........................................... 25
Editing
Tutorial (U) ............................................. 5
Editing Overview (U)............................... 32
Last Referenced
in Command (U) .................................. 21
List of Attributes (U) ................................ 25
List of Commands to Access (U) ............ 48
of Curr Procedure (PPDPRMEM) (S)... 207
Purge Control (S) .................................... 402
Rules for Referencing (U) ........................ 26
Security ..................................... See Security
Size Limit (SIBSZLMT) (S)..................... 222
BIM-EDIT System Reference Manual
Stamping Discussion (U)....................... 367
to Access from User Program (S) ......... 244
to Change Attr
(ALTER) (U) ......................................... 53
(FALTER) (U) ..................................... 130
(Q LCA Command) (U) .................... 335
to Change Name (MOVE) (U) .............. 224
to Change Name (RENAME) (U)......... 261
to Change Position .............. See Reposition
to Change Text (E LCA Command) (U)325
to Change Text (EDIT) (U) .................... 123
to Compile (COMPILE) (U) .................... 90
to Copy (COPY) (U) ................................. 92
to Copy from ICCF (LOADI) (S) .......... 325
to Copy Mastr->Slave(CHECKOUT) (U)85
to Copy Slave->Master(CHECKIN) (U) 84
to Copy Slave->User (CHECKASN) (U) 83
to Copy to PDS (CATAL) (U) ................. 78
to Copy to Sublibrary (CATAL) (U) ...... 76
to Copy to Tape (REPRO) (S)................ 143
to Copy to Tape (REPROL) (S) ............. 151
to Create (DEFINE) (U) ........................... 99
to Create (FDEFINE) (U) ....................... 137
to Create from PDS (LOADD) (S) ........ 100
to Create from PDS (LOADDL) (S)...... 102
to Create from Sublib (LOADD) (S)....... 99
to Create from Sublib (LOADDL) (S) .. 101
to Create from Tape (LOADT) (S)........ 103
to Delete (P LCA Command) (U) ......... 334
to Delete (PURGE) (U)........................... 241
to Display Attr (INQUIRE) (U) ............ 166
to Display List (LIBRARY) (U) ............. 177
to Display Text (DISPLAY) (U) ............ 111
to Display Text (L LCA Cmnd) (U)...... 331
to Display Text (LIST) (U) ..................... 196
to Display Text (T LCA Cmnd) (U)...... 338
to Find with Pattern (SCAN) (U) ......... 271
to Include in SUBMIT (INCLUDE) (U) 164
to Punch (PUNCH) (S)........................... 131
to Restore fm Backup (RESTORE) (S).. 345
to Set TXM Vars for (BROWSE) (S)........ 58
to Set TXM Vars for (READ) (S) ........... 137
to Start Batch Proces(PROCESS) (U).... 238
to Start Batch Process (S LCA) (U) ....... 337
to Start Batch Process(SUBMIT) (U) .... 303
to Transfer to Appl Infc(SEND) (S)...... 154
to Undo Changes (AUDITRL) (U) ......... 69
to Undo Purge (S)................................... 402
Member Security (U) .................................... 38
Index
Members
to Compare (COMPARE) (U) ................. 88
Memory
Control Variables (S) .............................. 408
Current Status (MMP Variables) (S) .... 194
to Display (CORE) (S) ............................ 294
Usage Discussion (S) .............................. 407
Usage Estimates (MVS) (S).................... 410
Usage Estimates (VSE) (S) ..................... 409
Usage for Control Blocks (S) ................. 460
MERGE Command (U)............................... 220
Merge Line
(G LCA Command) (U) ......................... 326
(J LCA Command) (U) ........................... 329
(MERGE) (U) ........................................... 220
(OVERLAY) (U) ...................................... 232
MESSAGE Command (U) .......................... 222
Message Description
Code BIMBTAM02 (S) ........................... 458
Code BIMBTAM03 (S) ........................... 458
Code BIMBTAM04 (S) ........................... 458
Code BIMBTAM24 (S) ........................... 458
Code BIMBTAM25 (S) ........................... 458
Code BIMBTAM26 (S) ........................... 458
Code BIMBTAM99 (S) ........................... 458
Code BIMBTCAA (S) ............................. 458
Code BIMBTCAC (S) ............................. 458
Code BIMBTCAD (S) ............................. 458
Code BIMBTCAE (S).............................. 458
Code BIMBTCAF (S) .............................. 458
Code BIMEDITA (S)............................... 388
Code BIRDPMLA (S) ............................. 411
Code BIRDPMLB (S) .............................. 411
Code BIRLROPA (S)............................... 384
Code BIRRSLGA (S) ............................... 392
Code BIRRSMLA (S) .............................. 392
Code BIRRSPHA (S)............................... 395
Message Line
Position on Screen (U).............................. 15
Messages
Customization (S) ................................... 419
Returned from Command
(SIBMSG) (S)....................................... 218
to Refresh Table (NEWCOPY) (S) ........ 329
MESSAGES Member (S)............................. 419
MM LCA Command (U) ............................ 332
MMP Variables (S) ...................................... 194
MOD Command (ALTER) (U) .................... 53
Modify ............................................ See Change
Page 485
MODIFY Command (ALTER) (U) .............. 53
Modifying System Control Variables (S) . 415
MODIFYL Command (ALTERL) (U) ......... 56
MODIFYP Command (ALTERP) (U) ......... 57
MODIFYS Command (ALTERS) (S) ......... 268
MODIFYU Command (ALTERU) (S) ....... 269
MODL Command (ALTERL) (U) ............... 56
MODP Command (ALTERP) (U)................ 57
MODS Command (ALTERS) (S) ............... 268
MODU Command (ALTERU) (S) ............. 269
Modularity in Procedures (S) ...................... 47
Module Calling Conventions (S)............... 459
Move ................................................... See Copy
Move Column
(PROPAGAT) (U) ................................... 240
(SHIFT) (U).............................................. 292
MOVE Command (U)................................. 224
Move Lines
(M LCA Command) (U) ........................ 332
(N LCA Command) (U) ......................... 333
using LCA
Discussion (U) .................................... 319
Move Member
Slave to Other User (CHECKASN) (U) . 83
to Another Library (MOVE) (U)........... 224
to Another Library (RENAME) (U) ..... 261
Move Position in Session......... See Reposition
MSG Command(MESSAGE) (U) .............. 222
MSHP - Using BIM-EDIT With (S)............ 257
MULT Command (MULTIPLY) (S) .......... 118
Multiple
Commands
Rules for Entry (U) .............................. 22
Techniques for Use (U) ..................... 358
LCA Commands on a Screen (U) ......... 320
Members on a Screen (U) ...................... 360
Operations on a Screen (U) ................... 356
Sessions
Overview (U)........................................ 28
Windows on a Screen (U)...................... 360
Multiple Extent BIFLIB in MVS (S)........... 374
MULTIPLY Command (S) ......................... 118
MVS................................................. See also JES
MVS First Time Installation (S) ................. 371
MVS PDS .............................................. See PDS
N Command (NEXT) (U) ........................... 226
N LCA Command (U) ................................ 333
Name=Value Operands
Rules for Entry (U) ................................... 19
Page 486
Names
of Commands
Changing(BIFXCCM) (S) .................. 435
Rules for Entry (U)............................... 18
of Members and Libraries (U)................. 26
of Operands (U) ........................................ 19
New Page in Print (EJECT) (S)..................... 67
NEWC Command (NEWCOPY) (S) ......... 329
NEWCOPY Command (S) ......................... 329
NEXT Command (U) .................................. 226
NF Command (NFIND) (U)....................... 227
NFIND Command (U) ................................ 227
NFINDU Command (NFINDU) (U)......... 229
NFINDUP Command (U) .......................... 229
NFU Command (NFINDUP) (U) .............. 229
NFUP Command (NFINDUP) (U)............ 229
NN LCA Command (U) ............................. 333
NOT (~) Pattern Character (U) .................. 353
Not Sign
at Start of Line (S) ................................... 210
in MAPF Command (S) ......................... 114
Number Lines (RESEQ) (U) ....................... 265
O Command (OVERLAY) (U) ................... 232
Online Help Discussion (U) ......................... 17
OP Command (OPEN) (U)......................... 231
OPEN Command (U).................................. 231
Open Session
Overview (U)............................................. 27
Operands
On/Off values (U) .................................... 20
Operands - Rules for Entry (U).................... 18
Operating System
Release(MMPOPREL) (S) ...................... 196
Type (MMPOPSYS) (S) .......................... 196
OPS Variables (S)......................................... 201
OR (|) Pattern Character (U) ..................... 353
Order Lines (SORT) (U).............................. 295
OUTF Command (OUTPUTF) (S)............. 119
OUTPUTF Command
Destination (SIBOUTPT) (S).................. 218
Reference (S)............................................ 119
OVERLAY Command (U) .......................... 232
Overview of BIM-EDIT Functions (U).......... 1
OVLY Command (OVERLAY) (U) ........... 232
P Command (POSITION) (U) .................... 234
P LCA Command (U) ................................. 334
Page
Current Length (PPDPGSIZ) (S)........... 207
Current Number (SIBPAGE) (S) ........... 218
BIM-EDIT System Reference Manual
Default Length (MMPPGSIZ) (S) ......... 197
Length Customization (S) ..................... 415
to Eject (EJECT) (S)................................... 67
to Set Heading for (HEADF) (S) ............. 78
Pan Display............................... See Reposition
Paragraph
to Break Apart (SEPARATE) (U).......... 285
to Put Together (FORMAT) (U) ........... 144
Parent Library
Discussion (S).......................................... 399
PARM= JCL Operand
for Batch Utility (S)................................. 240
on Restore (S) .......................................... 390
on Startup (S) .......................................... 387
PARMLIST Variable (S) ............................. 188
PARSE Command
Overview (S) ............................................. 14
Reference (S) ........................................... 121
Partitioned Data Set .............................See PDS
PAS Command (PASSWORD) (U) ........... 233
PASS Command (PASSWORD) (U) ......... 233
Password
Permanent (SIBPSWD) (S)..................... 219
Temporary (SIBPDPSW) (S).................. 218
Temporaryt (SIBPPSWD) (S) ................ 219
to Create Temporary (PEND) (S) ......... 123
PASSWORD Command (U) ...................... 233
PASSWORD Verification Feature (S) ....... 255
Patterns.............. See Extended Search Pattern
PDB Variables
Reference (MVS) (S) ............................... 202
to Set - JES Job/DSets (READP) (S) ..... 141
PDS (MVS)
Current Attached (SIBHMLBD) (S) ..... 216
Current Attached (SIBLIBD) (S) ........... 217
Library Security for (S) .......................... 399
to Copy Member from (S) ..................... 412
to Deallocate (DEALLOC) (S)............... 296
to Set Default (ATTACHD) (U) .............. 64
to Set HOME (ATTACHD) (U)............... 64
PDS (MVS) Member
Access Overview (U) ............................... 37
Editing Overview (U) .............................. 32
Last Referenced
in Command (U).................................. 21
List of Commands to Access (U) ............ 52
Security Discussion (U) ........................... 39
to Change Name (RENAMED) (U)...... 264
to Change Text (E LCA Command) (U)325
Index
to Change Text (EDITD) (U) ................. 126
to Copy (COPYD) (U) .............................. 95
to Copy from Member (CATAL) (U) ..... 78
to Copy to Member (LOADD) (S) ........ 100
to Copy to Member (LOADDL) (S)...... 102
to Create (DEFINED) (U)....................... 107
to Delete (P LCA Command) (U) ......... 334
to Delete (PURGED) (U) ........................ 244
to Display List (LIBRARYD) (U) .......... 184
to Display Text (DISPLAYD) (U) ......... 118
to Display Text (L LCA Cmnd) (U)...... 331
to Display Text (LISTD) (U) .................. 199
to Display Text (T LCA Cmnd) (U)...... 338
to Get Lines from (GETD) (U)............... 150
to Start Batch Proces(SUBMITD) (U) ... 307
PEND Command
Reference (S)............................................ 123
Temporary Password (SIBPDPSW) (S) 218
Percent Sign (%) Pttrn Character (U)........ 351
Period in Library Name (S)........................ 399
Period in Variable Replacement (S) ............ 10
PF and PA Keys
for Commands
Overview (U)........................................ 22
Hit to Transmit MAPF (PPDKEY) (S).. 206
to Set (KEYS) (U) .................................... 174
to Set (SET) (U)........................................ 289
to Set (SETKEYS) (S)............................... 354
PHONETIC Command (S)......................... 125
Physical Backup
(BACKUPP) (S) ....................................... 281
vs Logical Backup (S) ............................. 390
Physical Restore - JCL Example (S)........... 395
Plus Plus Paren Paren
see ............................................................. 210
Plus Sign (+)
LCA Command (U)................................ 347
Pattern Character (U) ............................. 351
POS Command (POSITION) (U)............... 234
Position (%) Pattern Character (U) ........... 354
POSITION Command (U).......................... 234
Position Cursor (CURSOR) (U) ................... 96
Position in a Session................. See Reposition
Positional Operands
Rules for Entry (U) ................................... 18
POWER..........................................See also VSE
Large DBLK sizes (MMPQBKSP) (S) ... 197
to Copy Member to (SUBMIT) (U)....... 303
to Issue Commands to
Page 487
(CONTROLP) (S) ............................... 292
POWER DLBL name opt (MMPPWRNM) (S)
.................................................................... 197
POWER Job Entry
Access Control Custom(BIXPWQA) (S)423
Access Flag(MMPPWCTL) (S).............. 197
Access Overview (U)................................ 35
Attributes (PWR Variables) (S)............. 212
Last Referenced
in Command (U) .................................. 21
List of Commands to Access (U) ............ 50
Security Overview (U) ............................. 39
to Change Attr
(ALTERP) (U) ....................................... 57
(FALTERP) (U)................................... 133
(Q LCA Command) (U) .................... 335
to Delete (DISCARD) (U) ...................... 110
to Delete (P LCA Command) (U) ......... 334
to Delete (PURGEP) (U)......................... 246
to Display List (LIBRARYP) (U) ........... 188
to Display Text (L LCA Cmnd) (U)...... 331
to Display Text (LISTP) (U)................... 201
to Insert Lines from (GETP) (U) ........... 151
to Set PWR to Attr of (READP) (S)....... 139
to Suspend (H LCA Command) (U) .... 327
to Suspend (HOLD) (U)......................... 160
to Undo Hold (R LCA Command) (U) 336
to Undo Hold (RELEASE) (U) .............. 257
PP Command (PURGEP) (U) .................... 246
PP LCA Command (U)............................... 334
PPD Variables
PPDCOND
Overview (S)......................................... 29
Reference (S)............................................ 204
with Text-Following
Overview (S)......................................... 36
Predefined Variables
CLEAR - Clear Key Command (S) ....... 188
ENTER - Enter Key Command (S) ....... 188
JCT - Job Control Table (MVS) (S)........ 189
JOE - Job Output Element (MVS) (S) ... 192
JQE - Job Queue Entry (MVS) (S) ......... 193
MMP - Memory Map (S) ....................... 194
OPS - Operating System (S) .................. 201
Overview (S) ............................................. 25
PA1-PA3 - PA Key Commands (S) ...... 188
PARMLIST - Procedure Parms (S) ....... 188
PDB - Partition Data Blk (MVS) (S)...... 202
PF1-PF24 - PF Key Commands (S) ....... 188
Page 488
PFnOPT - PF Key Options (S) ............... 188
PPD - Procedure Process Data (S) ........ 204
PWR - POWER (VSE) (S) ....................... 212
SIB - System Interface Block (S) ............ 214
SSD - Session Status Data (S) ................ 224
TXL - Library Attr (S)............................. 229
TXM - Member Attr (S).......................... 230
TXS - Library Security (S) ...................... 234
TXU - User Attr (S) ................................. 235
XTR - Extracted Values (S) .................... 238
Prerequisites
(MVS) (S).................................................. 371
(VSE) (S) ................................................... 361
Print
Current Line Number (SIBLNUM) (S) 217
Current Lines/Page (PPDPGSIZ) (S)... 207
Current Page Number (SIBPAGE) (S) . 218
Default Lines/Page (MMPPGSIZ) (S).. 197
from Batch Utility
Example (S)......................................... 242
from Logical Backup (PRINTG) (S)...... 331
List of Commands (S)............................... 52
Log Cmnds Batch Util(PPDUTLOG) (S)209
Page Length Customization (S) ............ 415
to Close and Open (SEGMENT) (S) ..... 153
to Copy Lines to (PRINTF) (S) .............. 129
to Eject Page (EJECT) (S).......................... 67
to Set Page Heading (HEADF) (S).......... 78
PRINT Command
(Advanced) (S) ........................................ 126
(Ordinary) (U) ......................................... 235
Print Member (PRINT) (S).......................... 126
PRINTF Command (S)................................ 129
PRINTG Command
(MVS) (S).................................................. 332
(VSE) (S) ................................................... 331
Problems
Technical Support (S) ............................. 360
PROC Command (PROCESS) (U) ............. 238
Procedures
Acquire Ownership (ENQUEUE) (S)..... 71
Application Interface (S).......................... 42
at Different Search Levels (S) ................ 431
ATTN Key
Indicator (SIBSIGNL) (S)................... 222
Basic Example and Rules (S) ..................... 3
Commands to Use for Edit (S) .................. 6
Commands to Use for LCA (S) ................. 5
Conditional Exec Flag(PPDCOND) (S) 205
BIM-EDIT System Reference Manual
Control Commands Overview (S) ......... 16
Current Loop Limit (PPDLPLMT) (S) . 206
Current Nest Level (SIBLEVEL) (S) ..... 217
Current Parm Values (PARMLIST) (S) 188
Customizing System Procedures (S).... 430
Debugging
Traps for the Unwary (S) .................... 46
Debugging (S) ........................................... 44
Executed at Logon (S) ............................ 421
Give up Control (WAIT) (S).................. 185
INCLUDE within (S)................................ 34
Interactive
Overview (S)......................................... 22
List of Commands to Control (S) ........... 51
Making Into Commands
Overview (S)......................................... 48
Overview (U) ............................................ 42
Passing Values Between (S) .................... 47
Performance option (PPDPFOPT) (S).. 207
Preempting Commands (S)................... 432
Release Ownership (DEQUEUE) (S) ..... 64
Resolution of Names (S) ........................ 431
Rules for Entering Commands (U) ........ 23
Special Techniques (S) ............................. 47
Text-Following
Trap Commands (S) ............................ 34
Text-Following Cmnd
Overview (S)......................................... 34
to close conversation (LUCL) (S).......... 110
to Cond Execute (ELSE) (S)..................... 68
to Cond Execute (ENDIF) (S).................. 70
to Cond Execute (HEXIF) (S) .................. 79
to Cond Execute (IF) (S)........................... 83
to Cond Execute (IFD) (S)........................ 85
to Cond Execute (IFTHEN) (S) ............... 87
to Display Interactively(MAPF) (S) ..... 114
to Execute (EXECUTE) (U).................... 128
to Get Cmnd Ln Values (PARSE) (S) ... 121
to Include Lines in (INCLUDE) (S) ........ 89
to Jump Within (GOTO) (S) .................... 77
to Log Debug Info (SNAP) (S) .............. 172
to open conversation (LUOP) (S) ......... 111
to Perform Within (GOSUB) (S) ............. 76
to receive conv. data (LURC) (S) ......... 112
to Receive Jump (LABEL) (S).................. 97
to return Within (RETURN) (S)............ 152
to send conv. data (LUSD) (S) ............. 113
to Stop (EXIT) (S)...................................... 75
transfer to proc (TRANSFER) (S) ......... 177
Index
Tutorial (S)................................................... 2
PROCESS Command
Customization (BIPPROC) (S) .............. 428
Reference (U)........................................... 238
Processing
Batch Features Discussion (U) ................ 35
Programs
Calling BIM-EDIT fromSee Application
Interface
Display Status of(DA) (U) ....................... 97
PROP Command (PROPAGAT) (U)......... 240
PROPAGAT Command (U)....................... 240
PSWD..............................See Member Security
PSWD Command (PASSWORD) (U) ....... 233
PTFs - Using BIM-EDIT to Apply (S) ....... 257
PUNCH Command (S) ............................... 131
PUNCHF Command (S)............................. 134
PUNCHI Command (S).............................. 135
PUNCHL Command (S)............................. 136
PUNI Command (PUNCHI) (S) ................ 135
PUR Command (PURGE) (U).................... 241
PURD Command (PURGED) (U) ............. 243
Purge ..................................................See Delete
PURGE Command (U) ............................... 241
Purge Control
Administration (S).................................. 402
Customization (S) ................................... 415
Discussion (S).......................................... 402
Flag (MMPPGCTL) (S)........................... 197
PURGED Command
(MVS) (U)................................................. 244
(VSE) (U).................................................. 243
PURGEL Command (U) ............................. 245
PURGEN Command (S) ............................. 333
PURGEP Command
(MVS) (U)................................................. 248
(VSE) (U).................................................. 246
PURGEQ Command (U) ............................ 250
PURGES Command (S) .............................. 334
PURGET Command (S) .............................. 335
PURGEU Command (S) ............................. 336
PURGEX Command (S).............................. 337
PURL Command (PURGEL) (U)............... 245
PURN Command (PURGEN) (S) .............. 333
PURP Command (PURGEP) (U)............... 246
PURQ Command (PURGEQ) (U) ............. 250
PURS Command (PURGES) (S) ................ 334
PURT Command (PURGET) (S)................ 335
PURU Command (PURGEU) (S) .............. 336
Page 489
PURX Command (PURGEX) (S) ............... 337
PWR Variables
Reference (VSE) (S)................................. 212
to Set - POWER Job Entr(READP) (S).. 139
Q Command (SAVE) (U)............................ 270
Q LCA Command (U) ................................ 335
QQ LCA Command (U) ............................. 335
QUAL Command (QUALIFY) (U)............ 251
QUALIFY Command (U) ........................... 251
Question Mark (?)
Command Overview (U)......................... 22
Command Reference (U) ....................... 316
Pattern Character (U) ............................. 351
QUIT Command (SAVE) (U)..................... 270
Quote Mark
in Variable Value (PPDLITDL) (S) ....... 206
LCA Command (U)................................ 343
R LCA Command (U) ................................. 336
RACF
External Interface (MMPSECUR) (S) ... 198
READ Command
Overview and Example (S) ..................... 38
Reference (S)............................................ 137
READL Command
Overview and Example (S) ..................... 39
Reference (S)............................................ 138
READP Command
(MVS) (S) ................................................. 141
(VSE) (S)................................................... 139
READS Command (S)................................. 338
READU Command (S)................................ 340
Receive Mail (OPEN) (U) ........................... 231
RECOVER Command (S) ........................... 341
Redisplay
Command (Question Mark) (U) ........... 316
Session (REFRESH) (U) ......................... 256
REF Command (REFRESH) (U) ................ 256
REFRESH Command
Reference (U)........................................... 256
used with DISPLAYF (S) ......................... 36
Register Usage Conventions (S) ................ 459
REL Command (RELEASE) (U) ................ 257
RELEASE Command
(MVS) (U) ................................................ 259
(VSE) (U).................................................. 257
RELIST Command (PRINT) (U)................ 235
Reminder Facility (TODAY) (S) ................ 256
Remove ..............................................See Delete
Remove embedded blanks
Page 490
(SQUEEZE) (U) ....................................... 299
REN Command (RENAME) (U) ............... 261
RENAME Command (U) ........................... 261
RENAMED Command
(MVS) (U)................................................. 264
(VSE) (U) .................................................. 263
REND Command (RENAMED) (U) ......... 263
RENUM Command (RESEQ) (U).............. 265
Reorder Lines (SORT) (U) .......................... 295
REORG Command (S) ................................ 344
Repeat Command
(Ampersand Command Prefix) (U) ..... 314
(Equal Sign) (U) ...................................... 315
Repeat Count on LCA Commands (U)..... 319
Replace............................................ See Change
Replace Variables
Overview (S).............................................. 10
Reposition
Bwd by Lines (UP) (U) ........................... 310
Bwd by Screens (BACK) (U) ................... 72
Bwd to Pattrn (LOCATEU) (U)............. 209
Bwd to Pattrn at Col (FINDUP) (U) ..... 142
Bwd to Pattrn at Col (NFINDUP) (U).. 229
Fwd by Lines (NEXT) (U)...................... 226
Fwd by Screens (FORWARD) (U) ........ 146
Fwd to Pattrn (LOCATE) (U)................ 206
Fwd to Pattrn (SEARCH) (U)................ 283
Fwd to Pattrn at Col (FIND) (U)........... 140
Fwd to Pattrn at Col (NFIND) (U)........ 227
in a Procedure (S)........................................ 6
Overview (U)............................................. 29
to Bottom (BOTTOM) (U)........................ 74
to Left or Right (VIEW) (U) ................... 312
to Line (POSITION) (U) ......................... 234
to Line (Slash LCA Command) (U) ...... 344
to Marker (SWAP) (U) ........................... 308
to Top (TOP) (U) ..................................... 309
REPRO Command (S)................................. 143
REPROF Command (S)............................... 147
REPROI Command (S)................................ 149
REPROL Command (S) .............................. 151
Requirements
(MVS) (S).................................................. 371
(VSE) (S) ................................................... 361
RES Command (RESEQ) (U)...................... 265
RESE Command (RESEQ) (U) ................... 265
RESEQ Command (U) ................................ 265
RESET Command (U) ................................. 267
Restore
BIM-EDIT System Reference Manual
JCL Example - Full Library (S) ............. 392
JCL Example - Physical (S).................... 395
JCL Example - Selective (S) ................... 393
Scenarios (S) ............................................ 390
RESTORE Command
(MVS) (S) ................................................. 348
(VSE) (S)................................................... 345
RESTOREL Command
(MVS) (S) ................................................. 352
(VSE) (S)................................................... 350
Resume JES Job or Data Sets
(R LCA Command) (U) ......................... 336
(RELEASE) (U) ....................................... 259
Resume POWER Job Entry
(R LCA Command) (U) ......................... 336
(RELEASE) (U) ....................................... 257
Return Code from Cmnds(SIBRETCD) (S)219
RETURN Command (S) ............................. 152
Revise...............................................See Change
Right Brace
in MAPF Command (S) ......................... 114
Right Justify Line
(JUSTIFYR) (U) ....................................... 172
(Right Paren LCA Command) (U) ....... 349
Right Parenthesis LCA Command (U)..... 349
Right Shift Column
(Greater Than LCA Command) (U)..... 346
(SHIFT) (U).............................................. 292
Right Shift Display (VIEW) (U)................. 312
ROLLBACK Command (AUDITRL) (U) ... 69
ROT Command (ROTATE) (U)................. 268
ROTATE Command (U)............................. 268
RR LCA Command (U) .............................. 336
S LCA Command (U) ................................. 337
SAVE Command (U) .................................. 270
Scale Line
Position on Screen (U) ............................. 15
to Change Position(SCREEN BEF) (U) 275
SCAN Command (U) ................................. 271
SCR Command (SCREEN) (U) .................. 275
Screen
Number of Columns (SIBSCRWD) (S) 220
SCREEN Command (U) ............................. 275
Screen Compression Ctrl(SIBCMPR) (S).. 214
Screen Layout (U) ......................................... 15
Screen Split Discussion (U)........................ 360
Scroll .......................................... See Reposition
Search Command
Last Case Setting (SIBLCCAS) (S) ........ 216
Index
Last Column Setting (SIBLCCOL) (S).. 216
Last Pattern Setting(SIBLCSTR) (S)...... 216
Last Zone Setting (SIBLCZON) (S) ...... 216
SEARCH Command (U)............................. 283
Search for Text .. See Extended Search Pattern
(LOCATE) (U) ......................................... 206
(LOCATEU) (U)...................................... 209
(SEARCH) (U)......................................... 283
at Column (FIND) (U)............................ 140
at Column (FINDUP) (U) ...................... 142
in Variable (VEXAMINE) (S) ................ 179
list Instances (QUALIFY) (U)................ 251
not at Column (NFIND) (U).................. 227
not at Column (NFINDUP) (U) ............ 229
on Current Line (EXAMINE) (S) ............ 72
Security
Control Values (TXS Variables) (S) ...... 234
Curr Lvl/Att PDS (SIBSECPD) (S)....... 221
Curr Lvl/Att VSE Lib(SIBSECPD) (S) . 221
Current Lvl
All Libs(SIBSECLB) (S)...................... 221
Att Lib(SIBSECAT) (S) ...................... 221
Commands(SIBSECCM) (S) ............. 221
JES (SIBSECPW) (S) ........................... 221
POWER (SIBSECPW) (S) .................. 221
External Interface (MMPSECUR) (S) ... 198
for Commands (S) .................................. 435
for JES Jobs/Data Sets (S) ...................... 423
for Libraries
Access Levels (U) ................................. 38
for Libraries Discussion (S) ................... 398
for Libraries Example (S)....................... 399
for Libraries Generic (S)......................... 399
for Members (U) ....................................... 38
for MVS PDSs (S) .................................... 399
for POWER Job Entries (S) .................... 423
for VSE Sublibs (S).................................. 399
Overview (U) ............................................ 38
to Change
Lib Security(ALTERS) (S) ................. 268
Lib Securty(FALTERS) (S) ................ 307
to Create Lib Sec. (FDEFINES) (S)........ 309
to Create Lib Securty(DEFINES) (S)..... 297
to Delete Lib Security(PURGES) (S)..... 334
to Display List of (LIBRARYS) (S)........ 320
to Set for User (ALTERU) (S) ................ 269
to Set TXS Vars for (BROWSES) (S) ..... 286
to Set TXS Vars for (READS) (S) ........... 338
to Suspend Lib Secty(AUTHORIZ) (S) 276
Page 491
See Index ............................................See Thing
SEGMENT Command (VSE) (S) ............... 153
Select Session (ROTATE) (U)..................... 268
Selective
Logical Backup (BACKUPS) (S) ........... 283
Logical Restore (RESTORE) (S) ............ 345
Logical Restore (RESTOREL) (S) .......... 350
Semicolon
to Separate Command & Comment (U) 23
to Separate Online Commands (U) ........ 22
SEND Command
Discussion (S).......................................... 247
Reference (S)............................................ 154
Send Mail
(MAIL) (U)............................................... 215
(MAILI) (U) ............................................. 217
Current Session (MAILSESS) (U) ......... 219
SENDF Command (S)................................. 156
SENDI Command (S).................................. 157
SENDMSG Command (S) .......................... 158
SENDN Command (S)................................ 159
SEP Command (SEPARATE) (U).............. 285
SEPARATE Command (U) ........................ 285
Sequence Lines (SORT) (U)........................ 295
Sequence of Processing
LCA Commands (U) .............................. 320
Multiple Operations (U) ........................ 356
Sequences of Commands
Techniques for Use (U) .......................... 358
SERVICE Procedure (VSE) (S) ................... 257
SESS Command (U) .................................... 287
Session
Commands to Change Text (U).............. 49
Commands to Reposition (U) ................. 50
Current Line (XTRSLINE) (S) ............... 238
Current Number (SIBSSNUn) (S)......... 222
Current Size (SSDSZLN) (S).................. 227
Current Type (SSDTYPE) (S) ................ 228
Editing Usage Overview (U)................... 32
Multiple
Overview (U)........................................ 28
Overview (U) ............................................ 27
to Change Attributes
(FSESSION) (U).................................. 147
(SESS) (U)............................................ 287
to Change Position .............. See Reposition
to Create Display (DISPLAYF) (S) ......... 65
to Execute (EXECUTE) (U).................... 128
to Include in Proc (INCLUDE) (S).......... 89
Page 492
to Make into a Procedure (S)..................... 7
to Print (PRINT) (S) ................................ 126
to Re-create (REFRESH) (U) .................. 256
to Send as Mail (MAIL) (U) ................... 215
to Send as Mail (MAILSESS) (U) .......... 219
to Send Line Appl Ifc (SENDN) (S)...... 159
to Stop (END) (U) ................................... 127
to Switch (ROTATE) (U)........................ 268
to Terminate (SAVE) (U) ....................... 270
to Transfer to Appl Infc(SEND) (S) ...... 154
Update Flag (SSDUPD) (S) .................... 228
Sessions
Number Active (SIBSESSU) (S) ............ 221
Number Active in Grp(SIBSESSD) (S) . 221
Switch Groups (GROUP) (U) ................ 158
SET Command
(Advanced) (S) ........................................ 160
(Ordinary) (U) ......................................... 289
SETD Command (S) .................................... 164
SETKEYS Command (S) ............................. 354
SETL Command (S)..................................... 166
SETM Command (S) ................................... 167
SH Command (SHIFT) (U)......................... 292
SHIFT Command (U).................................. 292
Shift Display (VIEW) (U)............................ 312
Shift Lines Left
(Less Than Sign LCA Command) (U) .. 345
Shift Lines Right
(Greater Than Sign LCA Cmnd) (U) .... 346
SHOW Command
(MVS Advanced) (S)............................... 170
(Ordinary) (U) ......................................... 294
(VSE Advanced) (S)................................ 168
Overview (S).............................................. 44
Shrink Variable (VTRUNCAT) (S) ............ 183
SHUT Command (S) ................................... 355
SIB Variables (S) .......................................... 214
SIBMSG Variable Overview (S)................... 29
SIBRETCD (S)............................................... 219
SIBRETCD Variable Overview (S) .............. 29
Signed Numeric Variables (S)........................ 9
Slash (/) LCA Command (U)..................... 344
Slave Member in Checkout
to Change User (CHECKASN) (U) ........ 83
to Copy from Master(CHECKOUT) (U) 85
to Copy to Master (CHECKIN) (U)........ 84
to Delete (CHECKPUR) (U) .................... 87
SNA LU 6.2....................................... See LU 6.2
SNAP Command
BIM-EDIT System Reference Manual
Overview (S) ............................................. 44
Reference (S) ........................................... 172
SORT Command (U) .................................. 295
SP Command (SPLIT) (U) .......................... 297
Space for BIM-EDIT (S) .............................. 365
SPLIT Command (U) .................................. 297
Split Screen
Discussion (U)......................................... 360
to Chg Screens(Less Than Sign) (U)..... 317
to Start/Stop (SCREEN SPLIT) (U)...... 275
SPRI
First Time Logon (S)............................... 381
sequence number (PWRSEQNU) (S) ... 213
spooler type (MMPSPOOL) (S) ............ 198
System Prerequisites (S) ........................ 361
SQU Command (SQUEEZE) (U)............... 299
SQUEEZE Command (U)........................... 299
SQUEZ Command (SQUEEZE) (U).......... 299
SRCH Command (SEARCH) (U) .............. 283
SS Command (SESS) (U) ............................ 287
SS LCA Command (U) ............................... 337
SSD Variables (S)......................................... 224
SSERV tape
to Load Members from (LOADT) (S) .. 103
ST Command (STACK) (U) ....................... 300
Stack Area .....................................see $STACK
STACK Command (U) ............................... 300
STACKF Command (S) .............................. 173
STACKI Command (U) .............................. 301
STAMPCL Command (U).......................... 302
Stamping
Administration of (U) ............................ 367
Control Customization (S) .................... 415
Control Flag (MMPSPCTL) (S) ............. 198
Current Status (SSDSTAMP) (S) .......... 227
Discussion (U)......................................... 367
Highlight Flag (MMPSPHGL) (S) ........ 198
of Current Line (XTRSTAMP) (S) ........ 238
Text-Follow Ovly Col(PPDSPCOL) (S) 207
Text-Follow Ovly Fmt(PPDSPFMT) (S)208
to Clear (STAMPCL) (U) ....................... 302
to Display (SCREEN STAMP) (U)........ 275
to Start/Stop (ALTER) (U) ...................... 53
Start Audit (ALTER) (U) .............................. 53
Start Batch Processing
(PROCESS) (U) ....................................... 238
(S LCA Command) (U) .......................... 337
(SUBMIT) (U) .......................................... 303
(SUBMITD) (U)....................................... 307
Index
Start BIM-EDIT
(MVS) (S).................................................. 388
(VSE) (S)................................................... 387
Start Processing
in Batch Utility (LOGON) (S)................ 107
Start Session
Overview (U) ............................................ 27
Start Stamping (ALTER) (U)........................ 53
Status
of BIM-EDIT Routines(LIBRARYR) (S) 319
of BIM-EDIT Tasks (LIBRARYT) (S) .... 322
of Running Programs (DA) (U) .............. 97
Stop Audit (ALTER) (U)............................... 53
Stop BIM-EDIT (SHUT) (S) ........................ 355
Stop BIM-EDIT Task (PURGET) (S).......... 335
Stop JES Job (CANCEL) (U)......................... 75
Stop Procedure (EXIT) (S) ............................ 75
Stop Stamping (ALTER) (U) ........................ 53
Stop Using BIM-EDIT
(LOGOFF) (U) ......................................... 213
Stop Using Session
(END) (U) ................................................ 127
(SAVE) (U)............................................... 270
Stopping a Session
Overview (U) ............................................ 28
Tutorial (U)................................................ 12
Storage ........................................... See Memory
String..........................................See Text String
SUB Command (SUBMIT) (U)................... 303
SUBD Command (SUBMITD) (U) ............ 307
SUBF Command (SUBMITF) (S) ............... 174
Sub-Includes
INCLUDE (S) ............................................ 90
Sublibrary (VSE)
Current Attached (SIBLIBD) (S) ........... 217
Home (SIBHMLBD) (S).......................... 216
Library Security for (S) .......................... 399
to Copy Member from (S)...................... 412
to Set Default (ATTACHD) (U) .............. 63
to Set Home (ATTACHD) (U) ................ 63
Sublibrary (VSE) Member
Access Overview (U)................................ 37
Editing Overview (U)............................... 32
Last Referenced
in Command (U) .................................. 21
List of Commands to Access (U) ............ 51
Security Discussion (U) ........................... 39
to Change Name (RENAMED) (U) ...... 263
to Change Text (E LCA Command) (U)325
Page 493
to Change Text (EDITD) (U) ................. 125
to Copy (COPYD) (U) .............................. 94
to Copy fm Member (CATAL) (U)......... 76
to Copy to Member (LOADD) (S) .......... 99
to Copy to Member (LOADDL) (S)...... 101
to Create (DEFINED) (U) ...................... 105
to Delete (P LCA Cmnd) (U)................. 334
to Delete (PURGED) (U)........................ 243
to Display List (LIBRARYD) (U) .......... 182
to Display Text (DISPLAYD) (U) ......... 116
to Display Text (L LCA Cmnd) (U)...... 331
to Display Text (LISTD) (U) .................. 197
to Display Text (T LCA Cmnd) (U)...... 338
to Inquire (INQUIRED) (U)................... 167
to Insert Lines from (GETD) (U)........... 149
SUBMIT Command
(MVS) (U) ................................................ 305
(VSE) (U).................................................. 303
Customization (BIPSUBM) (S).............. 428
SUBMITD Command (MVS) (U) .............. 307
SUBMITF Command
Customization (BIXPWSB) (S) .............. 429
Reference (S)............................................ 174
SUBSTR (S)....................................................... 9
Substring Support
Variables (S) ................................................ 9
SUBT Command (SUBTRACT) (S) ........... 176
SUBTRACT Command (S) ......................... 176
Summarize Audit Trail (AUDITSM) (U) ... 70
Summary of BIM-EDIT Functions (U).......... 1
Support
Technical Support (S)............................. 360
Suspend JES Job/Data Sets
(H LCA Command) (U) ......................... 327
(HOLD) (U) ............................................. 162
Suspend POWER Job Entry
(H LCA Command) (U) ......................... 327
(HOLD) (U) ............................................. 160
SVA
BIUAPMD (S).......................................... 370
SVC 249 (MVS) (S)....................................... 372
SW Command (SWAP) (U)........................ 308
SWAP Command (U) ................................. 308
Switch Position Markers (SWAP) (U)....... 308
Switch Session Groups (GROUP) (U)....... 158
Switch Sessions (ROTATE) (U) ................. 268
Syntax
Commands (U) ......................................... 18
Member and Library Names (U)............ 26
Page 494
System Console
Controlling BIM-EDIT (S)...................... 389
System Control Variables
Modifying (S) .......................................... 415
System Name
(MMPSYNAM) (S).................................. 199
in Application Interface (S) ................... 245
in Batch Utility (S) .................................. 240
Installing Alternate (S) ........................... 379
Starting under Alternate (S) .................. 387
System Procedures
Customizing (S) ...................................... 430
System Release Number
(MMPSYREL) (S) .................................... 199
SYSTEM= JCL Operand
on Startup (S)........................................... 387
T Command (TOP) (U) ............................... 309
T LCA Command (U) ................................. 338
Tabbing
Character (SIBTABC) (S)........................ 222
Current Positions (SSDTCLnn) (S) ....... 227
Discussion (U) ......................................... 362
Tall Display .....................See Alternate Screen
Tape
Format of Distributn (MVS) (S) ............ 371
Format of Distributn (VSE) (S).............. 361
List of Commands to Copy Mbr (S) ..... 413
to Copy Audit to (AUDITRP) (S)............ 55
to Copy Library to (REPROL) (S) ......... 151
to Copy Member from (LOADT) (S).... 412
to Copy Member to (REPRO) (S).......... 143
to Create Logicl Bkp (BACKUPG) (S) .. 277
to Create Physicl Bkp(BACKUPP) (S).. 281
to Create Sel Bkp (BACKUPS) (S)......... 283
to Include in Proc (INCLUDE) (S).......... 89
to Insert Line (REPROI) (S) ................... 149
to Insert Lines (REPROF) (S) ................. 147
to Restore from Bkp (BIMREST) (S) ..... 392
to Restore from Bkp (RESTORE) (S) .... 345
to Restore from Bkp (RESTOREL) (S) .. 350
Task
to Display List (LIBRARYT) (S) ............ 322
to Stop (PURGET) (S) ............................. 335
Technical Support
Contacting (S).......................................... 360
Temporary Password
Delete (PURGEN) (S) ............................. 333
Display List (LIBRARYN) (S)................ 318
Expiry Control (MMPTPEXP) (S) ......... 200
BIM-EDIT System Reference Manual
Set (PEND) (S)......................................... 123
Terminal ID (SIBTRMID) (S) ..................... 223
Terminate ............................................. See Stop
Test Variable Numeric (VTESTNUM) (S) 182
Text Display Area
Alternatives to Edit in Procs (S) ............... 6
Position on Screen (U) ............................. 15
Text String
to Change (CHANGE) (U) ...................... 80
to Display List (QUALIFY) (U)............. 251
to Display Mbrs having (SCAN) (U) ... 271
to Search for (FIND) (U) ........................ 140
to Search for (FINDUP) (U)................... 142
to Search for (LOCATE) (U).................. 206
to Search for (LOCATEU) (U)............... 209
to Search for (NFIND) (U)..................... 227
to Search for (NFINDUP) (U) ............... 229
to Search for (SEARCH) (U).................. 283
to Test for (EXAMINE) (S) ...................... 72
Text-Following
Command
Modifications to Data (S).................. 210
Special Sequences in Data (S)........... 210
Commands
Use with INCLUDE Commands (S) 209
Text-Following Command
Adjustment Flag (PPDADJ) (S) ............ 204
Hex Escape Char (PPDHEXC) (S) ........ 205
Hex Flag (PPDHEX) (S) ......................... 205
Include Flag (PPDINCL) (S) ................. 205
Overlay Column
Base (PPDOVBAS) (S)....................... 206
Limit (PPDOVLMT) (S) .................... 206
Overlay String (PPDOVSTR) (S) .......... 206
Overview (S) ............................................. 34
Shift Flag (PPDSHIFT) (S) ..................... 207
Stamp Overlay
Column (PPDSPCOL) (S) ................. 207
Format (PPDSPFMT) (S)................... 208
Trap Control Flag (PPDTRAP) (S) ....... 208
Use of INCLUDE and PPDTRAP (S) ..... 34
Tilde (~) Pattern Character (U) ................. 351
Time
of Day (OPSTIME) (S)............................ 201
of Member Update (TXMTMUPD) (S)231,
232
of Task Start (SIBTIME) (S) ................... 222
TODAY Procedure (S) ................................ 256
TOP Command (U)..................................... 309
Index
TOP/SECRET
External Interface (MMPSECUR) (S) ... 198
TRACE Command (S)................................. 357
Trace Procedure Flow
Overview (S) ............................................. 45
TRAN Command (TRANSFER) (S) .......... 177
Transaction ID
Changing (BIMCSDT) (S) ...................... 447
Transfer............................................... See Copy
TRANSFER Command (S) ......................... 177
Transfer from GOTO (LABEL) (S) .............. 97
Transfer to LABEL (GOSUB) (S) ................. 76
Transfer to LABEL (GOTO) (S) ................... 77
Translate to Lower Case
Line (LOWERCAS) (U).......................... 214
Line (W LCA Command) (U) ............... 340
Variable (VLOWERCA) (S) ................... 181
Translate to Upper Case
Line (U LCA Command) (U) ................ 339
Line (UPPERCAS) (U)............................ 311
Variable (VUPPERCA) (S)..................... 184
Trap Commands
Control Flag (PPDTRAP) (S)................. 208
in Text-Following
Overview (S)......................................... 34
TT LCA Command (U)............................... 338
Tutorial (U)....................................................... 2
TXL Variables
Reference (S)............................................ 229
to Set for Library (BROWSEL) (S) .......... 59
to Set for Library (READL) (S).............. 138
TXM Variables
Reference (S)............................................ 230
to Set for Member (BROWSE) (S) ........... 58
to Set for Member (READ) (S) .............. 137
TXS Variables
Reference (S)............................................ 234
to Set for Security (BROWSES) (S) ....... 286
to Set for Security (READS) (S)............. 338
TXU Variables
Reference (S)............................................ 235
to Set for User (BROWSEU) (S) ............ 287
to Set for User (READU) (S) .................. 340
U Command (UP) (U)................................. 310
U LCA Command (U)................................. 339
Unbroken Vertical Bar (|)
Pattern Character (U) ............................. 351
Undo Member Changes (AUDITRL) (U) ... 69
Undo Member Purge (S) ............................ 402
Page 495
UP Command (U) ....................................... 310
Upgrades of BIM-EDIT (S)......................... 360
UPP Command (UPPERCAS) (U) ............ 311
UPPER Command (UPPERCAS) (U) ....... 311
UPPERCAS Command (U) ........................ 311
Uppercase Translate
Line (U LCA Command) (U) ................ 339
Line (UPPERCAS) (U) ........................... 311
Variable (VUPPERCA) (S)..................... 184
User
$SYS (S) .................................................... 381
Attributes (TXU Variables) (S).............. 235
Changing
Discussion (S) ..................................... 397
Current Attribute (SIBATTR) (S).......... 214
Current ID (SIBUSER) (S)...................... 223
Currently Editng Mbr(XTREUSER) (S) 238
Currently Listng Mbr(XTRLUSER) (S) 238
Custom CICS Simultans(BIMCSDT) (S)447
Steps to Create (S)................................... 396
Steps to Delete (S)................................... 397
to Assign Slave to (CHECKASN) (U) .... 83
to Change
Attributes (ALTERU) (S) .................. 269
Attributes (FALTERU) (S) ................ 308
to Change Password (PASSWORD) (U)233
to Create (DEFINEU) (S) ....................... 298
to Create (FDEFINEU) (S) ..................... 311
to Create Mail Proxy (DEFINEX) (S) ... 302
to Create Temp Password (PEND) (S). 123
to Delete (PURGEU) (S)......................... 336
to Display Attr (INQUIREU) (S)........... 314
to Display List (LIBRARYU) (U) .......... 194
to Display Mail Prox(LIBRARYX) (S) .. 324
to Make Accessible (ENABLE) (S)........ 306
to Make Inaccessible (DISABLE) (S) .... 303
to Set Mail Proxy (ATTACHX) (U) ........ 65
to Set TXU Vars for (BROWSEU) (S) ... 287
to Set TXU Vars for (READU) (S)......... 340
UTAPPL Parameter in Batch Util (S)........ 241
UU LCA Command (U) ............................. 339
Value - to Obtain Length (SETL) (S) ......... 166
Value Operands - Rules for Entry (U) ........ 18
Values of Variables
Assigning
Overview (S)......................................... 12
Displaying
Overview (S)......................................... 44
Replacing
Page 496
Overview (S)......................................... 10
VAPP Command (VAPPEND) (S) ............ 178
VAPPEND Command (S)........................... 178
Variable............ See also Predefined Variables
Arrays (S) ..................................................... 9
Assigning Values
Overview (S)......................................... 12
Column of Match (PPDCOL) (S) .......... 204
Declaring
Overview (S)........................................... 8
Displaying Values
Overview (S)......................................... 44
List of Commands to Access (S) ............. 50
Overview (U)............................................. 42
Quotes in Value (PPDLITDL) (S).......... 206
Replace Values
Overview (S)......................................... 10
Replacemnt Ctrl Flag(PPDVBL) (S)...... 209
Replacemnt End Col (PPDVBLMT) (S) 209
Replacemnt Start Col(PPDVBBAS) (S) 209
Set with PARSE Cmnd
Overview (S)......................................... 14
Signed Numeric (S) .................................... 9
Substring Support (S) ................................. 9
to Calculate Product(MULTIPLY) (S) .. 118
to Calculate Quotient (DIVIDE) (S)........ 66
to Concatenate (VAPPEND) (S)............ 178
to Copy Value (SETD) (S) ...................... 164
to Create (DECLARE) (S)......................... 61
to Decrement (SUBTRACT) (S)............. 176
to Display Values (SHOW) (S).............. 168
to Get message text (SETM) (S)............. 167
to Get Value Length (SETL) (S)............. 166
to Increment (ADD) (S)............................ 53
to Make Lower Case (VLOWERCA) (S)181
to Make Upper Case (VUPPERCA) (S) 184
to Search for Text (VEXAMINE) (S)..... 179
to Set from Command Ln (PARSE) (S) 121
to Set JCT - JES Job (READP) (S)........... 141
to Set JOE - JES Job (READP) (S) .......... 141
to Set JQE - JES Job (READP) (S) .......... 141
to Set PDB - JES Job (READP) (S) ......... 141
to Set PWR - POWER Job (READP) (S) 139
to Set TXL - Library (READL) (S) ......... 138
to Set TXM - Member (READ) (S) ........ 137
to Set TXU - User (BROWSEU) (S) ....... 287
to Set TXU - User (READU) (S)............. 340
to Set Value (HEXREQ) (S)...................... 81
to Set Value (PHONETIC) (S) ............... 125
BIM-EDIT System Reference Manual
to Set Value (SET) (S) ............................. 160
to Shrink (VTRUNCAT) (S) .................. 183
to SubString (SET) (S) ............................ 160
to Test for Numeric (VTESTNUM) (S) 182
Variables
to Set TXL - Library (BROWSEL) (S) ..... 59
to Set TXM - Member (BROWSE) (S)..... 58
to Set TXS - Security (READS) (S) ........ 338
to Set TXS - Security(BROWSES) (S).... 286
VERIFY Command (S)................................ 358
VEXAM Command (VEXAMINE) (S)...... 179
VEXAMINE Command
Column of Match (PPDCOL) (S) .......... 204
Reference (S) ........................................... 179
View .................................................See Display
VIEW Command
Current Position (SSDVBSEn) (S)......... 228
Reference (U) .......................................... 312
VLOW Command (VLOWERCA) (S) ...... 181
VLOWER Command (VLOWERCA) (S) . 181
VLOWERCA Command (S) ...................... 181
VSE..........................................See also POWER
Batch Features Discussion (U) ................ 35
First Time Installation (S) ...................... 361
Sublibrary ..............................See Sublibrary
System Prerequisites (S) ........................ 361
VSE Copy Book Facility (S)........................ 260
VSE.MESSAGES.ONLINE (MESSAGE) (U)222
VTAM
APPL Install (MVS) (S) .......................... 374
APPL Install (VSE) (S) ........................... 367
Current Interfc Stat(MMPVTSTS) (S) .. 200
Session Depth (MMPVTSSD) (S).......... 200
to Make Connection (CONNECT) (S) . 291
to Terminate Connection (DISCONN) (S)304
VTAM LU 6.2....................................See LU 6.2
VTESTNUM Command (S) ....................... 182
VTRUN Command (VTRUNCAT) (S) ..... 183
VTRUNC Command (VTRUNCAT) (S) .. 183
VTRUNCAT Command (S) ....................... 183
VUPP Command (VUPPERCA) (S).......... 184
VUPPER Command (VUPPERCA) (S)..... 184
VUPPERCA Command (S) ........................ 184
W LCA Command (U) ............................... 340
WAIT Command (S) ................................... 185
Wide Display .................. See Alternate Screen
Wildcard
(?,*,@) Pattern Characters (U) ............... 353
use in Extended Search Pattern (U) ..... 353
Index
Windows ................................. See Split Screen
Word
Begin (<) Pattern Character (U) ............ 352
End (>) Pattern Character (U)............... 352
to Search for (U)...................................... 352
Wordwrap Text (FORMAT) (U)................ 144
Workstation (S)................................................ 1
Write Audit Trail to Tape(AUDITRP) (S) .. 55
Write Console (CONSOLEI) (U) ................. 91
Write Line.................................. See Insert Line
WW LCA Command (U)............................ 340
X LCA Command (U) ................................. 341
XTR Variables (S) ........................................ 238
Y LCA Command (U) ................................. 342
ZAP Command (S)...................................... 359
Page 497
Download