DEFLMOD - syncsort_simulate_2000 - Latest

Syncsort™ Storage Management Portal 2000 Rules Language Guide

Product type
Software
Portfolio
Integrate
Product family
Syncsort™ software
Product
Syncsort™ Storage Management > Syncsort™ Simulate 2000
Version
Latest
ft:locale
en-US
Product name
Syncsort Storage Management
ft:title
Syncsort™ Storage Management Portal 2000 Rules Language Guide
Copyright
2025
First publish date
1991
ft:lastEdition
2025-11-28
ft:lastPublication
2025-11-28T15:31:25.787000
L1_Product_Gateway
Integrate
L2_Product_Segment
IBM Infrastructure
L3_Product_Brand
Precisely Syncsort
L4_Investment_Segment
Mainframe
L5_Product_Group
Mainframe Storage Optimization
L6_Product_Name
Syncsort Storage Management

The DEFLMOD statement defines the programs that should be analyzed by DYNAMOD. One or more statements can be used to define the programs used by DYNAMOD.

The DYNAMOD option allows SIMULATE 2000 to interface with the operating system facility responsible for loading programs into memory. During the load process, SIMULATE 2000 scans selected programs for instructions that access the CVT, or issue the STCK instruction. The product can then patch the program in memory to allow the use of alternate clocks.

This facility is also used to intercept IMS DC transactions that access the system clock via the IO-PCB-DATE and IO-PCB-TIME fields. If SCANFOR(IMS) has been specified for an IMS DC transaction, the option enables the IMS DC extensions so the IOPCB clock fields are initialized when the transaction obtains the IOPCB with a GET UNIQUE or GET NEXT.

To use the DEFLMOD statements, the DYNAMOD option must be activated. Please issue the following DIF CONSOLE command, or place a start card in the START00 member in the PARMLIB dataset allocated to the DIF started task.

F DIF,START PTLFETCH

The PTLTRACE DD DUMMY statement should be added for initial testing on programs that use the DYNAMOD option. With the trace facility enabled, messages are produced for each program loaded by program fetch. Since the DYNAMOD option also uses the an SVC 11 call to determine whether the program will be using an alternate date, the trace messages can be very helpful in troubleshooting.

Limiting the DYNAMOD

option

The DYNAMOD option can be limited to limited to specific jobs, load modules, CSECTS and displacements within a program. The DEFLMOD statement requires one or more program names to be specified. If you wish to further limit the scan process, the JOBNAME parameter can limit scanning to only the jobs specified by the parameter.

When the DYNAMOD option modifies a program, trace messages about the change are sent to the JES message log. If the modifications made by the program fetch facility adversely affect program performance, the EXCLUDE parameter can be used to disable specific changes made to the program. To disable a modification, specify the offset(s) of the changes to be bypassed by the program fetch facility. Conversely, if you want to limit testing to only specific locations in a load module, the INCLUDE parameter can be used to limit modifications to specific locations in the program.

If your applicaiton is a load module made up of multiple programs, the CSECT parameter can be used to limit the scan facility to only specified modules.

DEFLMOD ( pgmname1,pgmname2,... )

CHECKFORALTDATE

CSECT( name COUNT( num ) ) EXCLUDE( offset1,offset2,... ) INCLUDE( offset1,offset2,... ) JOBNAME( jobname1,jobname2,... ) SCANFOR( options )

WRITEMSG( msg1,msg2,... )

WRITESMF( smf1,smf2,... )

( pgmnames )

Function: This is a required parameter. The pgmnames parameter

defines the program name(s) that are candidates for DYNAMOD processing. After the transaction has been loaded into memory, SIMULATE 2000 will examine the related CHECKFORALTDATE and

SCANFOR parameters.

If you want to limit scanning to specific programs within a load module, examine the CSECT parameter. You can also limit the scanning process to specific jobs with the JOBNAME parameter.

Note: The program names can contain wildcard characters to perform pattern matching: asterisks (*) and question marks (?).

Default: None

Format:The program names must be placed within parentheses, even if only one

program name is listed, and should be separated by commas or blanks. If continuation is required, omit the right parenthesis, and continue the list on the following line. The right parenthesis will terminate the program name list. For example,

( pgmname1, pgmname2,... )

Function:This is an optional parameter. By default, SIMULATE 2000 will

issue an SVC 11 during program fetch to determine whether an alternate date has been requested. If the program is not using an alternate date, the DYNAMOD option will terminate the scan process. The NOCHECKFORALTDATE

parameter can be used to bypass the test for an alternate date.

Default:CHECKFORALTDATE Format:CHECKFORALTDATE or NOCHECKFORALTDATE

CSECT ( csectname )

Function: This is an optional parameter. The CSECTS parameter defines

a program name within the load module which is a candidate for DYNAMOD processing. After the load module has been fetched into memory, SIMULATE 2000 reads the load module text records to obtain the list of CSECT names. The product will then compare the list of names with the module specified on the CSECT parameter. Only matching entries will be scanned.

Note: The CSECT name can contain wildcard characters to perform pattern matching: asterisks (*) and question marks (?).

Default: None

Format:The CSECT name must be placed within parentheses. For example, CSECT( csectname )

CSECT ( ... COUNT (num) )

Function: This is an optional parameter. The CSECT parameter define

the program name within the load module which is a candidate for DYNAMOD processing. After the program has been fetched into memory and selected for scanning by csectname parameter on the DEFLMOD statement, SIMULATE 2000 reads the load module text records to obtain the list of CSECT names. The COUNT parameter defines the size of the table used to buffer the CSECT names.

Default: COUNT(100)

Format: CSECT( csectname COUNT( num ) )

EXCLUDE( offset1,offset2,... )

Function:This is an optional parameter. When the DYNAMOD option

modifies a program, trace messages about the change are sent to the JES message log. If the modifications made by the program fetch facility adversely affect program performance, the EXCLUDE parameter can be used to disable specific changes made to the program. To disable a modification, specify the offset(s) of the changes to be bypassed by the program fetch facility.

Default:None

Format:The offsets can be specified as either decimal or hexadecimal values.

Any numeric value is considered decimal. To specify hexidecimal values, use the same x’offset’ value displayed by the trace messages documenting the change. For example,

EXCLUDE(x’2BC’, x’52A’)

The offsets must be placed within parentheses, and should be separated by commas or blanks. If continuation is required, omit the right parenthesis, and continue the list on the following line. The right parenthesis will terminate the token list.

EXCLUDE( offset1,offset2,... )

INCLUDE( offset1,offset2,... )

Function:This is an optional parameter. When the DYNAMOD option

modifies a program, trace messages about the change are sent to the JES message log. If the modifications made by the program fetch facility adversely affect program performance, the INCLUDE parameter can be used to select specific offsets that can be changed in the program. To enable a modification, specify the offset(s) of the changes that can be made by the program fetch facility.

Default:None

Format:The offsets can be specified as either decimal or hexadecimal values.

Any numeric value is considered decimal. To specify hexidecimal values, use the same x’offset’ value displayed by the trace messages documenting the change. For example,

INCLUDE(x’2BC’, x’52A’)

The offsets must be placed within parentheses, and should be separated by commas or blanks. If continuation is required, omit the right parenthesis, and continue the list on the following line. The right parenthesis will terminate the token list.

INCLUDE( offset1,offset2,... )

JOBNAME( jobnames )

Function: This is an optional parameter. The jobnames parameter defines

the jobnames that are candidates for DYNAMOD processing. After the program has been loaded into memory and selected for scanning by pgmnames list on the DEFLMOD statement, SIMULATE 2000 will examine the JOBNAME parameter. If a JOBNAME parameter has been specified, the product will only continue the scan process when the current jobname

matches an entry in the list.

Note: The jobnames specified on this parameter can also represent started task and TSO userids.

Note: The program names can contain wildcard characters to perform pattern matching: asterisks (*) and question marks (?).

Default: None

Format:The jobnames must be placed within parentheses, and should be

separated by commas or blanks. If continuation is required, omit the right parenthesis, and continue the list on the following line. The right parenthesis will terminate the jobname list. For example,

JOBNAME( jobname1, jobname2,... )

SCANFOR( options )

Function:This is an optional parameter. The SCANFOR parameter controls

the DYNAMOD scan process. If SCANFOR(STCK) has been specified, all STCK instructions in the program are modified to pass control to SIMULATE 2000. For programs that access the CVT, the SCANFOR(CVTDATE)

modification allows SIMULATE 2000 to intercept the request. Lastly, the SCANFOR(IMS) parameter can be used to intercept IMS DC programs that access the system clock with the IOPCB date and time fields.

Default:SCANFOR( CVTDATE, STCK, NOIMS)

Format:CVTDATE or NOCVTDATE

IMS or NOIMS STCK or NOSTCK

WRITEMSG( msg1,msg2,... )

Function: When the DYNAMOD option intercepts a program, the

WRITEMSG parameter can be used to issue a message. The name of one or more DEFMSG statements can be specified by the WRITEMSG parameter. The DEFMSG statement(s) are responsible for building and writing the message.

Default: None

Format: WRITEMSG ( name ) or WRITEMSG( name1,name2,... )

names are 1 to 20 characters long

WRITESMF( smf1,smf2,... )

Function: When the DYNAMOD option intercepts a program, the

WRITESMF parameter can be used to produce SMF record(s). The name of one or more DEFSMF statements can be specified by the WRITESMF parameter. The DEFSMF statement(s) are responsible for building and writing the SMF record.

Default: None

Format:WRITESMF ( name ) or WRITESMF( name1,name2,... )

names are 1 to 20 characters long