UZAP - Load Module Modification Utility

The UZAP utility enables you to define user-restricted data replacements (zaps) for load modules without affecting any other user sessions.

This utility is applicable to load modules residing in the COMPLIB load library chain or in Com-plete's program lookaside buffer and executing in the Com-plete threads. No modification of the original load module itself takes place; instead, data is replaced when the module is loaded into Com-plete thread storage under control of your session.

The UZAP utility enables you to:

  • Add a zap defined by verification data and replacement data;

  • Display data from a load module with the ability to define modifications;

  • Display and modify existing zaps;

  • Remove a zap;

  • Switch a zap off and on temporarily;

  • Export a zap and edit it using the Com-plete editor;

  • Recover your zaps after relogon.

Defining a zap for Com-plete nucleus modules or other resident programs has no effect, as far as these modules are never loaded into a thread.

This document covers the following topics:

Command Format

To add a zap, enter one of the following commands:

*UZAP module,address,verifydata,replacedata


*UZAP module,address,L=length


module Specifies the one-to eight-character name of the load module to be zapped. The module must reside in the COMPLIB load library chain or in Com-plete's program lookaside buffer.
address Specifies the hexadecimal address, relative to the beginning of the load module, of the data to be verified / replaced.
verifydata Specifies the data character string to be verified. verifydata must be a character string consisting of an even number from 2 to 120 of hexadecimal digits.
replacedata Specifies the replacement character string. The number of verification and replacement characters must be the same.
length Specifies the length of data you want to zap.
If you specify this parameter, verifydata and replacedata must not be specified. UZAP will create a zap of the length indicated, with both verification data and replacement data equal to the data existing in the load module with any already existing zaps applied. This zap will be displayed using the UZAP menu screen (see below), and you can overtype replacement data.
Note that length must be a decimal number from 1 to 120 or a hexadecimal number from X1 to X78.

Once you have defined a zap, it will be applied each time the appropriate module is loaded into thread under control of your session. No other sessions are affected.

Note that attached programs also execute in separate logical sessions and therefore will not be affected by a zap defined using UZAP.

The UZAP Menu

You can display all zaps existing for your session by entering


The UZAP menu screen is displayed, listing your zaps in ascending order by module name and displacement:

12:37:05        TID    19          COM-5.1.          User MBE          25.04.97
                           -- Individual User Zaps --                       UZT1

 FC  Module     Offset   Verify-data        Replace-data       Note
 .   DEMO       000000   47F0F060E9C5D4D6   47F0F060E9C5D4D6
                         40404040F4F6F040   40404040F4F6F040

 FC:  S witch  D elete  E xport              Reposition to:                  END
                   End                     Top   Forwd                   Edit

From this menu, you can perform any of the following:

  • Scroll the listing of zaps forward by pressing PF8.

  • List the zaps starting from the top by pressing PF7, or from the module name entered in the input field after the prompt Reposition to.

  • Modify replacement data of any zap by overtyping the data and pressing ENTER.

  • Delete a zap by entering the line command "D" in the FC column.

  • Switch a zap on or off by entering the line command "S" in the FC column. This causes a zap not to be applied temporarily, without deleting it. UZAP marks inactive zaps with an appropriate note in the last column of the screen.

  • Export one or more zaps in character format to an UEDIT work file by entering the line command "E" in the FC column.

  • Fetch to Com-plete's editor UEDIT to edit and/or save exported zaps by pressing PF12. This causes UEDIT to be invoked, to recover, and to display the exported zaps. You can now edit zap data and save it to the destination you desire. After you terminate UEDIT, the UZAP menu will be displayed again.

Reestablish Zaps from Previous Session

All zaps defined for your session using UZAP are automatically saved in Com-plete's system data set and associated to your user ID. After you terminate your session and log on again, you can reestablish your zaps. To achieve this, enter any UZAP command (with or without parameters).

Note that the LOGON procedure does not reestablish any UZAP zaps. Note also that all zaps existing for your user ID from a previous session are reestablished when you invoke any UZAP command.