BIM-EDIT Source Program Editor
BIM-EDIT offers a whole range of commands, such as FOR, BACK, UP, NEXT and DEL, that function exactly as they do in other online editors. You'll find that the line command areas also work the same and that the screen layout is remarkably similar.
However, BIM-EDIT differs by avoiding many design problems, providing a superior design.
BIM-EDIT provides a far more
useful function list feature than that provided with ICCF
and other editors. Displays created by commands such as
LIB have a line command area. If the member you want to
perform some action against is displayed on the screen,
you can enter any one of a number of commands in the line
command area associated with the member. For example, you
can edit, list, alter, submit, or execute the member in
this manner. Note that BIM-EDIT does not preclude you from
entering normal command line commands in such a situation.
If the desired member is not on the screen, you may choose
to simply enter the command line command to perform the
desired action. ICCF precludes this, thus significantly
diminishing the utility of its function list feature, since
you can have command line support or function list support,
but not both.
BIM-EDIT's LP (List POWER) sessions are significantly easier
to use than other online editors. For example, in ICCF, when editing
a member, to scroll forward to the next screen you enter FOR but when
viewing a POWER job, to scroll forward you enter /SKIP. In fact, ICCF
has a completely different set of commands for processing LP sessions.
With BIM-EDIT, you use the same commands in an LP session that you'd
use in an EDIT session. To scroll forward, simply enter FOR. Apart
from ICCF's syntax problems, ICCF's LP session performance is clearly
inadequate. With BIM-EDIT, response is as fast in a LP session as it
is in an EDIT session.
BIM-EDIT maintains all groups and sessions on a circular chain, whether they are EDIT, LP, etc. BIM-EDIT's approach allows you to "rotate" through this circular chain. The ROTATE and GROUP commands are provided for this purpose. By use of the ROT +/- and the GRP +/- commands, you can easily switch between up to 99 concurrent sessions, divided between up to 9 groups. The groups can be rotated to using the GRP command, sessions within a group are rotated to using the ROT command. A good use for this feature is switching between a compiler listing and its associated source member.
BIM-EDIT provides a split-screen facility.
Its big advantage here over ICCF is that two
different session types can be displayed on the
screen. The obvious use is having the compiler
listing on one half and the associated source
on the other. BIM-EDIT provides LIST sessions
that function the same way as EDIT sessions except
that updates are prohibited. Even the line command
area is provided. ICCF also provides LIST sessions,
but they don't function the same way as the
BIM-EDIT supports the ICCF line area commands. For example,
you could delete 25 lines by entering D25 in the line command
area. However, BIM-EDIT also provides the bracket form of the
commands, so instead of entering D25, you could enter DD on
the first line to be deleted and DD on the last line to be
deleted. The first and last line need not be on the same screen,
so you can enter the first (or last) command and scroll forward
(or backward) and enter the other command.
BIM-EDIT allows any number of libraries
to be defined. ICCF requires you to define the
maximum number of libraries at the time the file
is formatted. BIM-EDIT libraries are assigned
an alphanumeric name up to 16 characters in
length, allowing you to symbolically name your
libraries. ICCF libraries are only assigned a
BIM-EDIT allows any number of members in
a library, without loss of efficiency. ICCF recommends
small libraries, because of performance problems
with large libraries. BIM-EDIT always maintains
and displays members in an alphabetical order.
ICCF places a member name in the first available
directory slot, with members displayed in
their slot location order. BIM-EDIT members are
assigned an alphanumeric name of up to 16 characters
in length. ICCF restricts member names to eight
characters in length.
BIM-EDIT allows you to access a member from
a library without necessarily being attached
to it. This is done by prefixing the member
name with the library name and a period. For
example, if you are attached to library ACCT-PAY,
and you'd like to edit member OMREXIO in library
OM20F, enter: => ed om20f.omrexio. ICCF provides no
BIM-EDIT allows you to logoff anytime, even when you're editing
a member. When you logon, you're at the exact point you were at when
you logged off. The edit session is still intact. In fact, BIM-EDIT's
entire environment is preserved at logoff time, and restored at logon.
Even PF keys retain their settings. With ICCF, all sessions must be
ended. No attempt is made to preserve the environment.
When logged on through CICS, BIM-EDIT allows you to START, XCTL or
LINK to other CICS programs. If the command entered on the command
line matches an entry in a user-specified transaction table, the START,
XCTL or LINK occurs. The entire command line is passed as data to the
program. The program can in turn transfer control back to BIM-EDIT,
bypassing the normal logon procedure. ICCF provides no comparable facility.
BIM-EDIT does not have multiple modes, at least not in the ICCF
sense. If you're editing a member, you can still, for example, purge
a POWER job. Additionally, commands do not have prefixes.
With ICCF, you enter /PURGE. With BIM-EDIT, you simply enter PURGE.
BIM-EDIT allows lines to be up to 253 characters in length. ICCF
lines are always 80 characters.
BIM-EDIT supports 3270 CRT models two, three, four and five.
BIM-EDIT even has a command for switching between the default screen
size and the alternate screen size. ICCF claims to support all models.
In fact, they treat a model five screen as if it was a model two screen.
BIM-EDIT actually allows you to edit up to 124 characters per line
on a model five screen.
BIM-EDIT provides a source control
facility known as the "checkout/checkin" facility.
A member can be "checked out" from a library
and placed in another library. The original member is marked
as being checked out and by whom. Other users are prevented
from editing or checking out the original member until
it has been "checked in." ICCF provides no comparable
facility. This "checkout/checkin" facility can
be extended further by activating BIM-EDIT's "Archive
Facility." This facility will maintain a preset number
of generations of each member as they are checked in to
their original libraries. You can recover a module to any
of its previous generations, either from the generation
library or an archive backup tape.
BIM-EDIT provides a source control facility known
as member auditing. If member auditing is set
on, a sequential list of updates is maintained.
If, for any reason, you need to know what updates
occurred against a member, the audit trail can
be viewed online. If you need to restore a member
to its status prior to certain updates, the AUDITRL
command reverses updates based upon the audit
trail. ICCF provides no comparable facility.
BIM-EDIT provides a source control facility known as member stamping.
If member stamping is set on, as a line is added or updated it is "stamped" with
user ID, date and the update type. If you need to know what lines
have been added or updated, the stamp information can be viewed either
online or in printed form. ICCF provides a stamping feature, but the
design is flawed. The stamp information is stored in columns 73-80
of each line. This presents three problems. First of all, integrity
of the information cannot be assured because columns 73-80 can be updated
by normal editing commands. Second, columns 73-80 become unavailable
for other uses. Third, because of inadequate space (eight columns),
the full date cannot be stored. The month and day are stored, but not
the year. BIM-EDIT resolves all of the above problems by storing the
stamp external to the line text. The stamp information is always intact.
Columns 73-80 are available for other uses. The complete date is stored.
BIM-EDIT provides a source control facility known as purge control.
If purge control is active, when a member is purged a copy of the member
is placed in a special purge library. If you happen to inadvertently
purge a member, the member can be recovered from the purge library.
Periodically, the members in the purge library are written to tape
and/or purged. ICCF provides no comparable facility.
BIM-EDIT edits a work copy of a member, never the permanent copy. The
work copy becomes a permanent copy only when the SAVE command is issued.
If an inadvertent error is made, the command END NOSAVE will end the
edit session without affecting the permanent copy. ICCF edits the member
directly. If you enter D99 instead of D9, there is no way to reverse
the extra deletes.
BIM-EDIT's library security
system is straightforward. After users and libraries are
defined, you define the level of access that a given user
is to have to a particular library. Six access levels are
provided, ranging from very restrictive to the
permissive. Any number of user/library security relationships
can be defined. You can also define a default access level
for a library. The default access level is used whenever
an explicit user/library security relationship is not defined.
ICCF's approach to POWER queue security is rather
awkward, and tends not to get used for that reason.
In BIM-EDIT, the security is provided by an exit
routine. The standard exit routine provided with
BIM-EDIT can be used or it can be replaced with
a custom version. BIM-EDIT passes a copy of the
POWER queue record to the exit routine. The exit
routine can then either authorize access to the
queue record or deny access, depending upon the
contents of the queue record and the user requesting
access. The standard exit routine, as distributed
with BIM-EDIT, provides the option of allowing
access only to queue records where the POWER
user field begins with the BIM-EDIT logon ID.
BIM-EDIT's virtual storage requirement
is significantly less than ICCF's. A typical BIM-EDIT
site with 30 users logged on can function quite nicely
with a total virtual storage requirement of 800,000 bytes.
A similar ICCF site may have as much as four million bytes
allocated. Further, under SP 2.1, BIM-EDIT can be set up
to run in a different address space than the CICS system
it is serving (if any). In this environment, the virtual
storage requirement within the CICS partition/address space
is negligible. The implementation also allows BIM-EDIT
to service more than one CICS concurrently without extra
virtual storage requirements.
BIM-EDIT will consume significantly less CPU
cycles than ICCF. Expect a reduction of at least
50%. Further, BIM-EDIT will initiate less I/O's
than ICCF. Again, expect a reduction of at least
50%. The reduction in CPU usage and I/O activity
translates into faster response times for users.
Given identical environments, virtually all operations
yield faster response times under BIM-EDIT than
BIM-EDIT always stores text in a compressed format.
You don't have to do anything to compress a member.
It's a totally transparent feature. ICCF, on
the other hand, requires users to enter the SQUEEZE
command. The member is then unavailable until
it has been expanded.
BIM-EDIT compresses outbound screen data to the
maximum possible extent. A sequence of characters
which matches those already present on the screen
is not sent, and repeating characters are compressed
using the 3270 repeat-to-address command. For
a typical program edit session screen, this can
result in dramatic transmission time reduction.
ICCF performs no screen transmission compression.
BIM-EDIT can be accessed in a number
of different ways: through one or multiple CICSs, directly
through VTAM, through a batch utility job stream, through
the system console, through a TCP/IP FTP interface, through
a BIM-FAQS product or through a user-written program calling
BIM-EDIT interface routines. BIM-EDIT's flexibility here
extends far beyond ICCF's. For example, if you have a production
CICS and a test CICS, you can access the same BIM-EDIT
system through either CICS. You can also log on to BIM-EDIT
directly through VTAM. This can be done whether or not
any CICS systems are active.
BIM-EDIT provides fast, automatic recovery after
computer or other failure. ICCF, on the other
hand, makes a bad situation worse by requiring
a lengthy batch utility to analyze its library
before the restart can continue.
BIM-EDIT allows round-the-clock update access
to its library, even while it is being backed
up. This includes editing of members. ICCF disables
all operations while backup is running. BIM-EDIT
also allows batch update jobs to function while
online BIM-EDIT is in use. ICCF rejects batch
update operations while its online system is
BIM-EDIT normally does not require backup/restore
condense jobs. ICCF does. With ICCF, performance
significantly deteriorates as member records
become physically non-contiguous. Lines in a
BIM-EDIT member are always physically contiguous.
BIM-EDIT batch has access to virtually all of
the commands available online. You can even submit
jobs from a BIM-EDIT batch job.
ICCF distinguishes between procedures
and macros. Each has its own set of rules and constraints.
BIM-EDIT makes no such distinction, a simplification in
A BIM-EDIT procedure can be invoked at any time
and in any environment. For example, you can
invoke a procedure while editing a member. You
can even invoke a procedure while running BIM-EDIT
in batch. On the other hand, ICCF places restrictions
on when a macro or a procedure can be invoked.
For example, an ICCF procedure cannot be invoked
while editing a member. You can invoke a macro,
but macros are quite limited compared with procedures.
Neither a procedure nor a macro can be invoked
BIM-EDIT procedures can in turn invoke other BIM-EDIT procedures. In
contrast, ICCF macro can invoke an ICCF procedure, but a procedure
cannot invoke another procedure.
BIM-EDIT parameters are easy to retrieve and process. BIM-EDIT provides
the PARSE command specifically for this. ICCF provides no comparable
facility. Parsing the parameters can be a substantial part of a typical
ICCF procedure. A BIM-EDIT procedure does it with one command.
BIM-EDIT procedures can interact with the user on a full-screen basis
through the MAPF command. ICCF allows only single line control through
its TYPE and READ commands.
BIM-EDIT provides a full-function electronic
mail system. Either full documents or single-line messages
can be sent from one user to another. As soon as a message
is sent, the intended recipient is advised of outstanding
mail by a highlighted indicator on the information line
of his screen. The intended recipient then issues a command
to display the message.
Each user logically has three groups of messages: those that
have been received but not opened, opened
but not purged and sent but not opened
by the intended recipient. The LIBQ command displays a list of all
messages residing in the three groups.
The "electronic mail" can be very useful when submitting compilations
or assemblies. A batch utility step can be added to the end of the
compilation or assembly to test for errors. If errors are found a mail
message can be sent to the user that submitted the job alerting the
user of the fact that an error occurred. By using this feature the
users do not have to view the output of the compilation or assembly
to determine whether there were any errors.