Attempting to ALTER AREA during an EXPAND PAGE can cause this error:
*+ DB004017 T261 C-4M6016: PAGE SIZE cannot be altered - maps to multiple-area FILE.
Release: All supported releases
The AREA maps to a FILE which is mapped to other AREA(s). The PAGE SIZE of all areas mapped to a single file must be the same.
The procedure below describes how to modify the AREA definitions for a multi-area file and avoid the DB004017 error. It does this by first removing the area-file mapping, then modifying the page size and simultaneously re-connecting the area back to its file. Here are the steps:
Before beginning this procedure, read through all of the steps below. Pay attention to the note in step 2 which indicates that you will need to re-enter the "start block" value for each area that maps to the file. Record the "start block" value in the original area-file mapping before proceeding to the next step, so that you will have these values available when needed later.
1. In OCF or IDMSBCF, remove the FILE from each AREA in the file using this syntax:
ALTER AREA <area-name> EXCLUDE FILE <file-name>; ...
2. For each AREA in the FILE, enter the following command
ALTER AREA <area-name>
PAGE SIZE <new page size>
ORIGINAL PAGE SIZE <old page size>
WITHIN FILE <file-name>
FROM <START-BLOCK> FOR ALL;
*** Pay attention to specify the correct <start-block> value for each area.
3. Use the syntax below to re-generate the DMCL load module
GENERATE DMCL <dmclname>;
4. Compile and link the modified DMCL.