Chapter Contents

Previous

Next
Using OBJZAP on OS/390

Introduction

OBJZAP is a utility that can be run under OS/390 to make changes to object modules (because several parts of the products are supplied in object form). OBJZAP operates on object modules that are members of partitioned data sets, allowing users to

Although OBJZAP was designed to be similar to the IBM utility program AMASPZAP (also known as superzap), several important differences exist, notably in the algorithm used by the CHECKSUM statement. OBJZAP uses several control statements that specify the operations to be performed. This section includes a brief synopsis of the control statements and detailed syntax rules, followed by an example of an OS/390 job stream to run OBJZAP in batch.


Control Statements

This section provides an introduction to the organization of the control statements that are used to run the OBJZAP utility. Following this introduction is a detailed description of each statement and a brief discussion of the syntax rules.

Organization

Control statements for the OBJZAP utility are listed below. (Control statements are not case sensitive.)

NAME member csect
   VER offset expected-content
   REP offset replacement-data
   CHECKSUM value
   ALIAS alias1,alias2, . . .
   IDRDATA xxxxxxxxxx
   DUMP member csect

Each set of control statements begins with a NAME statement. The VER, REP, ALIAS, IDRDATA, and DUMP statements following the NAME statement apply to the partitioned data set (PDS) member and the CSECT that the NAME statement identifies.

The VER, REP, ALIAS, IDRDATA, and DUMP statements can appear in any order, but it is better to code all VER statements before the first REP statement to ensure that the data are verified before anything is replaced. The DUMP statement must follow the NAME statement; the CHECKSUM statement can appear anywhere in the sequence of statements. When a new NAME statement occurs, it defines a new CSECT (possibly in a new member) as the object of succeeding VER, REP, ALIAS, IDRDATA, and DUMP statements.

Statement Descriptions


Detailed Syntax Rules

As described earlier in this chapter, statement syntax is similar to that for the IBM program AMASPZAP. The detailed syntax rules follow:


JCL Execution

The following DD statements are required to execute OBJZAP:

SYSIN
contains the OBJZAP control statements.

SYSPRINT
identifies the standard output message data set (sequential).

SYSLIB
identifies the partitioned data set containing the member(s) to be zapped.

STEPLIB
compiler library and transient library.

The following statement is optional:
SYSTERM the data set to be used for diagnostic messages.

Example B.1 shows a sample OS/390 JCL routine to run OBJZAP.


Sample JCL for OBJZAP
//jobname JOB jobcard information //OBJZAP EXEC PGM=OBJZAP //STEPLIB DD DSN=sasc.LOAD,DISP=SHR // DD DSN=sasc.LINKLIB,DISP=SHR //SYSIN DD * NAME XXX BUILD@$ VER 002 C5E2C3 REP 002 C6E3C4 IDRDATA ABCDEF1237 * A NEW CSECT IN A DIFFERENT PDS MEMBER. NAME ZZZ MAIN@$ VER 35 969540F1 VER 6D A3009096 IDRDATA XXXXEF1237 //SYSLIB DD DSN=sasc.object.library,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //

In batch mode, OBJZAP reads all control statements before processing them.


Interactive Execution

You can run OBJZAP interactively under TSO by entering OBJZAP control statements from the terminal, followed by a GO statement. The GO statement executes all control statements you enter before the GO statement. Use the string EOF (in uppercase) to signal end-of-input when you are finished with OBJZAP.


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.