Previous Topic: Display Memory EnhancementsNext Topic: CICS Wait Information


Vary Memory Enhancements

The DCMT VARY MEMORY command was enhanced to give you the following new capabilities:

These two capabilities make changing memory contents easier and less error-prone. Because these capabilities can be independent of the absolute address of the area to be varied, these enhancements facilitate the inclusion of DCMT VARY MEMORY commands in UCF batch scripts.

DCMT VARY MEMORY Command

The DCMT VARY MEMORY command has been enhanced to validate memory contents and support offsets.

DCMT VARY MEMORY Syntax for memory enhancements

The following diagram shows the complete syntax for the enhanced DCMT VARY MEMORY command:

►►─ DCMT ─┬───────────────────┬───────────────────────────────────────►
          └─ broadcast-parms ─┘

 ►─ Vary MEmory ┬ hex-address ──────────────────┬─┬──────────────┬────►
                └ PROgram program-specification ┘ └ + hex-offset ┘

 ►───┬─ C ‘character-literal’───┬─────────────────────────────────────►
     └─ X ‘hexadecimal-literal’ ┘

 ►───┬────────────────────────────────────┬───────────────────────────►◄
     └─ VERify ─┬─ C ─┬─ ‘verify-string’ ─┘
                └─ X ─┘

Expansion of program-specification

►►──┬─────────────────────┬─ program-name ─┬──────────────────────────┬─►◄
    └─ dictnode.dictname ─┘                └─ Version version-number ─┘

DCMT VARY MEMORY Parameters for memory enhancements

This section describes the parameters for the DCMT VARY MEMORY command.

broadcast-parms

Executes the DCMT command on all or a list of data sharing group members.

For more information on broadcasting and broadcast-parms syntax, refer to the section "How to Broadcast System Tasks" in the System Tasks and Operator Commands Guide.

hex-address

Specifies an address as the base location of the memory to be varied. Hex-address must be a 1 – 8-digit hexadecimal value identifying a location in memory within the DC/UCF address space. You can omit leading zeros.

PROgram program-specification

Specifies a program as the base location of the memory to be varied. Program-specification must identify a program or nucleus module residing in the DC/UCF address space.

Note: To identify a program that was loaded from an alternate data dictionary, specify DICTNODE or DICTNAME as described under Expansion of program-specification.

+ hex-offset

Specifies the relative offset of the memory to be varied from the base location. Hex-offset must be a valid hexadecimal value.

Default: 0

C ’character-literal

Specifies the value to which the identified memory is to be changed. character-literal must be a valid character string.

Limits: 1-32 character string

X ’hexadecimal-literal

Specifies the value to which the identified memory is to be changed. hexadecimal-literal must be a valid hexadecimal value.

Limits: 1-32 digits

VERify

Requests verification of the current memory content; if the verification fails, the command returns an error and does not change the contents of memory.

C

Indicates that the verify string is in character format.

X

Indicates that the verify string is in hexadecimal format.

verify-string

Specifies the string to use to verify the current memory content. If the memory content does not match the specified string, verification fails.

Limits:

  • 1-32 character value if in character format.
  • 1-32 digit (16-byte) hexadecimal value if in hexadecimal format.

More Information

Expansion of program-specification
dictnode

Specifies the DDS node that controls the data dictionary from where the named program was loaded.

dictname

Specifies the alternate data dictionary from where the named program was loaded.

Note: Although dictnode and dictname are both optional parameters, if dictnode is specified and dictname is not specified, a “.” (period) must be included to represent the missing dictname parameter.

program-name

Identifies the name of a program or nucleus module that resides in the DC/UCF address space.

Version version-number

Specifies the version number of the named program.

Limits: 1 - 9999

Default: 1

Examples: Vary Memory Commands

DCMT VARY MEMORY

The following example illustrates the use of relative addressing from the start of a program to identify the location of memory to vary. The example also ensures that the offset is correct by verifying its contents before allowing the operation to proceed.

DCMT V MEMORY PROGRAM RHDCMTME +60 C 'CA TEST' VERIFY C 'CA-IDMS' Program: RHDCMTME Loadlib: CDMSLIB <Addr> <Offset> <Hex> <Character> 38BEE860 00000000 C3C140E3 C5E2E340 41C0F000 4180C800 *CA TEST .{0...H.*

DCMT VARY MEMORY with a failed verify

The following example illustrates what happens if the contents of memory do not match the verification value.

DCMT V MEMORY PROGRAM RHDCMTME +60 C 'CA TEST' VERIFY C 'CA-IDMS' Program: RHDCMTME Loadlib: CDMSLIB IDMS DC269903 V73 VERIFY FAILED - VARY MEMORY NOT DONE <Addr> <Offset> <Hex> <Character> 38BEE860 00000000 C3C140E3 C5E2E340 41C0F000 4180C800 *CA TEST .{0...H.*