Chapter Contents

Previous

Next
A Guide for the SAS/C Compiler Consultant, Release 6.50


Introduction

OBJZAP is a utility that can be run under MVS 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 MVS 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 MVS 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 © Fri Feb 6 08:07:34 EST 1998 by SAS Institute Inc., Cary, NC, USA. All rights reserved.