FIX PAGE

The FIX PAGE utility verifies, and optionally modifies, the contents of a database page.
idmscu19
The FIX PAGE utility verifies, and optionally modifies, the contents of a database page.
This article describes the following information:
2
2
Authorization
To
You Need This Privilege
On
Modify a page in an area
DBAWRITE
The area
Verify a page in an area
DBAWRITE
The area
Syntax
  ►►─── FIX ────────────────────────────────────────────────────────────────────►  ►──┬───────────────────────────┬─────────────────────────────────────────────►     └──┬─────────────┬─ LOCKED ─┘        └── ALREADY ──┘      ┌──────────────────────────────────────────────────────────────────────────    │    │  ►─▼─ PAGE ─┬───────────────┬─ page-number ───────────────────────────────────►─             └─ page-group: ─┘   ───────────────────────────────────────────────────┐    ┌───────────────────────────────────────────────┐ │    │                            ┌────── , ───────┐ │ │ ─►─▼─┬─ VERify ──┬─ hex-offset ─▼─ hex-halfword ─┴─┴─┴────────────────────────►◄      └─ REPlace ─┘  
Parameters
  • ALREADY LOCKED
    Specifies that if the target area or areas are currently locked, processing will continue. This option is honored in local mode only. It is ignored when processing under the central version and has no effect on the processing of unlocked areas.
  • PAGE
    Specifies the page containing the data to be verified or replaced.
  • page-group
    :
    The page group of the area containing the page you want to verify or replace.
    If you do not specify a page group, page group zero is used.
  • page-number
    The number of a page in an area included in the DMCL module.
  • VERify
    Directs the FIX PAGE utility to verify that the data starting at the specified offset is equal to the specified halfwords.
  • REPlace
    Directs the FIX PAGE utility to replace the data starting at the specified offset with the specified halfwords.
  • hex-offset
    A 4-digit hexadecimal offset from the beginning of the page.
    The offset identifies the starting position of the data to be verified or replaced. An offset of 0000 indicates that the data begins with the first byte on the page.
  • hex-halfword
    A 4-digit hexadecimal value representing two bytes of data (one halfword) to be used:
    • For comparison to the data on the page
      , when
      hex-halfword
      occurs in a VERIFY parameter
    • As a replacement for data on the page
      , when
      hex-halfword
      occurs in a REPLACE parameter
    You can specify up to 19 halfwords in a single VERIFY or REPLACE parameter. Multiple halfwords must be separated by commas.
Usage
How to submit the FIX PAGE statement
You submit the FIX PAGE statement by using either the batch command facility or the online command facility.
If a VERIFY fails
If you specify VERIFY and REPLACE, CA IDMS/DB verifies existing data before making any modifications to the contents of a page. If any of the data supplied in the VERIFY parameter do not match the existing contents of the page, data replacements are not made on the page, and the FIX PAGE operation terminates with an error.
Repairing a locked area
If a local mode application abends while an area is being updated, the lock could remain on the area. In this case, you can either explicitly unlock the area using the UNLOCK utility, or you can use the ALREADY LOCKED option.
If ALREADY LOCKED is specified and the area was locked, the area will remain locked after the FIX PAGE is completed. The ALREADY LOCKED option is not required if a page is being fixed online or through batch/CV and is ignored if specified.
Unlocking a locked area
The FIX PAGE utility cannot be used to update an area's physical area lock. Instead, use the LOCK and UNLOCK area utility statements to do this.
Committing prior work
Before executing this utility under a central version, you must commit any previous work done within the current session.
JCL Considerations
When you submit a FIX PAGE statement to CA IDMS/DB through the batch command facility in local mode, the JCL to execute the facility must include statements to define the files containing the pages to be processed. To run the batch command facility under central version, include a SYSCTL statement.
For more information about the generic JCL used to execute the batch command facility, see the section for your operating system in this section.
Examples
Verifying page contents
The following FIX PAGE statement requests verification of four bytes of data at the hexadecimal offset 0030 and two bytes of data at the hexadecimal offset 0048 on page 75,003:
fix page 75003        verify 0030 0125,5F0F        verify 0048 7822;
Replacing data on a single page
The following FIX PAGE statement verifies and replaces data at one offset on page 75,020. If the data being verified is incorrect, FIX PAGE does not replace any data on the page.
fix page 75020    verify 0066 C1D9,D440       replace 0066 D3C5,C740;
Replacing data on multiple pages
The following FIX PAGE statement verifies and replaces data on three pages. FIX PAGE replaces the data on each specified page only if all the data being verified on the page is correct.
fix page 224521         verify 0200 89EE,F2C3            replace 0200 89E5     page 263942         verify 00C2 440A,1254,339B         verify 0110 5B2A,872F,AA23            replace 00C2 3F24,85D2,1087            replace 0110 5B24,8733,2842     page 263957         verify 0124 8924,3258            replace 0124 0000,3268;
Sample Output
The following listing was generated after successfully replacing data on page 75020 in example two.
IDMSBCF                                              IDMS Batch Command Facility                            mm/dd/yy   PAGE 1    FIX PAGE 75020        VER 0066 C1D9,D440        REP 0066 D3C5,C740; PAGE 75,020              PAGE GROUP 0        AVAILABLE SPACE 3,952 -000000   0001250C 01250C01 01250C01 0F700000  01250C00 01250C00 01254801 01252D01    *................ ................*  000020   0125BB01 0124FA02 0125A803 0125A801  01256702 01256701 01250C02 01250C02    *..........Y...Y. ................*  000040   01250C03 01250C03 01250C01 01250C01  01250317 01250317 F0F4F5F7 C8C1D9D9    *................ ........0457HARR*  000060   E8404040 4040D3C5 C7404040 40404040  40404040 40F7F740 E2E4D5E2 C5E340E2    *Y     LEG             77 SUNSET S*  000080   E3D9C9D7 40404040 40D5C1E3 C9C3D240  40404040 40404040 D4C1F0F2 F1F7F840    *TRIP     NATICK          MA02178 *  0000A0   404040F6 F1F7F4F3 F2F0F9F2 F3F0F5F0  F2F8F7F7 F0F1F4F7 F7F7F1F2 F0F1F0F0    *   6174320923050 2877014777120100*  0000C0   F0F0F0F0 F3F4F0F4 F0F50000 01250C01  01250C01 01250C01 0125130F 0125BD05    *0000340405...... ................*  0000E0   0125BD05 F7F7F1F2 F0F1F7F8 F0F6F0F1  F5F30046 00000C00 7C000C00 0C000000    *....771201780601 [email protected]*  000100   01250C01 01250C01 01250C01 0125AF05  0125AF03 F0F4F5F8 F0F8F0F8 00000000    *................ ....04580808....*  000120   00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000    *................ ................*  000140   --SAME--  001080   00000000 00000000 00000000 01A90100  001C0014 01A400CC 00340018 019F0010    *.............Z.. .....U..........*  0010A0   00BC0048 00010004 000C0008 00280000  0001250C                               *.... ................* - -     1      4     0  0004     75,020-001     75,020-001 -   415    116     1  0010     75,020-000     75,020-000     75,080-001     75,053-001     75,195-001     75,002-002                                75,176-003     75,176-001     75,111-002     75,111-001     75,020-002     75,020-002                                75,020-003     75,020-003     75,020-001     75,020-001     75,011-023     75,011-023                             *0457HARRY     LEG            77 SUNSET STRIP     NATICK         MA02178    617432092305028*                             *770147771201000000340405..* -   420     28     2  00CC     75,020-001     75,020-001     75,020-001     75,027-015     75,197-005     75,197-005                             *[email protected]* -   425      8     3  0100     75,020-001     75,020-001     75,020-001     75,183-005     75,183-003                             *04580808*  Status = 0  AutoCommit will COMMIT transaction  Command Facility ended with no errors or warnings
For more information about database pages, see Administrating CA IDMS Database.