z/OS DFSMSdfp Advanced Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


REALLOC–Execute Form

z/OS DFSMSdfp Advanced Services
SC23-6861-01

The format of the execute form of the REALLOC macro is:

Read syntax diagramSkip visual syntax diagram
>>-+-------+--REALLOC--MF=-+-(E,addr)--+--+-----------------+--->
   '-label-'               '-(E,(reg))-'  |         .-MOV-. |   
                                          '-,ALLOC=-+-ABS-+-'   
                                                    '-NON-'     

>--+--------------------+--+--------------------+--------------->
   '-,DSSIZE=-+-addr--+-'  '-,F3DSCB=-+-addr--+-'   
              '-(reg)-'               '-(reg)-'     

>--+--------------------+--+-------------------+---------------->
   '-,F9DSCB=-+-addr--+-'  '-,MINAU=-+-addr--+-'   
              '-(reg)-'              '-(reg)-'     

>--+--------------------------+--+-------------------+---------->
   '-,NUMF9=-+-number_dscbs-+-'  '-,PDSCB=-+-addr--+-'   
             '-(reg)--------'              '-(reg)-'     

>--+--------------------+--+-------------+---------------------><
   '-,PDSDIR=-+-addr--+-'  '-,UCB=-(reg)-'   
              '-(reg)-'                      

All parameters except ALLOC default to the current contents of the referenced parameter list. The ALLOC parameter defaults to MOV.
MF=(E,addr) or (E,(reg))
Specifies the execute form of the macro and the address of a REALLOC parameter list.
addr–RX-type address, (reg)—(0-12)
Specifies the address of the REALLOC parameter list.
ALLOC=ABS or MOV or NON
Specifies one of the following:
ALLOC=ABS
Specifies that the REALLOC request is for absolute extents.
ALLOC=MOV
Specifies that the REALLOC request is for a movable allocation. ALLOC=MOV is the default.
ALLOC=NON
Specifies that the REALLOC request is to rebuild the free space chain on an unindexed VTOC without allocating a data set. Expect a DADSM create return code X'3D'.
DSSIZE=addr or (reg)
Specifies the size of the data set to be allocated in tracks. The DSSIZE parameter is invalid for an ALLOC=ABS request.
addr–RX-type address
Specifies the address of a word that contains the data set size.
(reg)–(0), (2-12)
Specifies a register that contains the size of the data set.

Provide a value for DSSIZE for an ALLOC=MOV request.The PDPRIQTY field of the partial DSCB is ignored.

REALLOC assumes that you have provided the value of DSSIZE in tracks even if the PD1SCALO flag byte of the partial DSCB indicates a cylinder request (X'C0'), or an average block request, (X'40').

If the PD1SCALO flag byte of the partial DSCB indicates a cylinder request (X'C0'), or an average block with round request (X'41'), the value of DSSIZE is rounded up to the next full cylinder.

F2DSCB
This parameter still is supported for assembly purposes, but the system no longer supports it when your program executes. This because you can no longer create indexed sequential data sets
F3DSCB=addr or (reg)
Specifies the in-storage address of a format-3 DSCB. This DSCB is used as a model to construct the allocated data set's format-3 DSCB.

The F3DSCB parameter is invalid for an ALLOC=MOV request.

addr–RX-type address, (reg)–(0), (2-12)

Provide a value for F3DSCB in an ALLOC=ABS request when the DS1NOEPV byte of the format-1 DSCB indicates more than three extents (or when the DS1NOEPV byte indicates more than two extents and the DS1EXT1 extent type indicator is X'40', a user label extent).

The REALLOC request is limited to a maximum of 16 extents when the F3DSCB keyword is specified. No more than one format-3 DSCB can be specified.

Enter a value of zero for the F3DSCB in an ALLOC=ABS request when the DS1NOEPV byte of the format-1 DSCB indicates that there are less than four extents (or when the DS1NOEPV byte indicates that there are less than three extents and the DS1EXT1 extent type indicator is X'40', a user label extent).

F9DSCB=addr or (reg) or 0
Specifies the address of a caller-provided contiguous partial format-9 DSCB data area where attribute information from it is to be used when creating a format-9 DSCB. Specify this keyword if you wish to pass format-9 DSCB attribute information to REALLOC processing. Only attribute information in the format-9 DSCB will be processed. Format-9 DSCBs with a subtype field with a value other than 1 will be ignored. See mapping macro, IECSDSL1. The number of contiguous partial format-9 DSCBs defined in this data area is defined in the NUMF9=number_dscb keyword or is defaulted to one.
addr-RX-type address
Specifies the address of the partial format-9 DSCB data area.
(reg)-(2-12)
Specifies a register containing the address of the partial format-9 DSCB data area.
0
Specifies that you do not want to pass a partial format-9 DSCB data area.
MINAU=addr or (reg)
Specifies the size of the minimum allocation unit in tracks. All primary extents for this data set are in multiples of this minimum allocation unit. This minimum does not apply to subsequent extensions of the data set.
The MINAU parameter is invalid on an ALLOC=ABS request.
addr–RX-type address
Specifies the address of a word containing the minimum allocation unit.
(reg)–(0), (2-12)
Specifies a register containing the minimum allocation unit.
The MINAU parameter has no effect on the requested allocation if:
  • You provide a value of zero.
  • The PD1SCALO flag byte of the partial DSCB indicates either a cylinder request (X'C0') or an average block with round request (X'41').
Otherwise, the value of DSSIZE must be a multiple of the value of MINAU.
NUMF9=number_dscbs or (reg)
For REALLOC with F9DSCB requests, number_dscbs is an absolute expression or (register) with a value between 0 and 255 that designates the number of consecutive 140-byte partial format-9 DSCB areas that are provided in the F9DSCB=addr. The system treats a value of 0 as a 1 when F9DSCB=addr is specified. Format-9 DSCBs with a subtype field with a value other than 1 are ignored.
PDSCB=addr or (reg)
Specifies the address of a partial DSCB (for ALLOC=MOV) or the in-storage address of a full format-1 or format-8 DSCB (for ALLOC=ABS). This DSCB is used as a model to construct the allocated data set's format-1 or format-8 DSCB.

addr–RX-type address, (reg)–(0), (2-12)

Provide a value for the PDSCB parameter and initialize the PD1FMTID field to X'F1' for a format-1 DSCB or to X'F8' for a format-8 DSCB. However, the PDSCB attribute information determines EAS eligibility and whether the actual allocated DSCB allocated is a format-1 or format-8 DSCB.

PDSDIR=addr or (reg)
Specifies the number of 256-byte directory blocks for a partitioned data set (PDS).
addr–RX-type address
Specifies an in-storage address of a full word containing the number of 256-byte PDS directory blocks.
(reg)–(0), (2-12)
Specifies a register containing the number of 256-byte PDS directory blocks.
Provide a value for PDSDIR when partitioned organization is indicated:
  • The DS1DSORG flag byte of the format-1 DSCB is X'02' (ALLOC=ABS).
  • The PD1DSORG flag byte of the partial DSCB is X'02' (ALLOC=MOV).

For an ALLOC=MOV request, you can specify the value of PDSDIR in the PDDIRQTY field of the partial DSCB. The PDDIRQTY field is used only if the REALLOC parameter list value of PDSDIR is zero.

Do not specify a value for PDSDIR if a PDS is not indicated.

UCB=(reg)
Specifies the address of the UCB for the volume on which the data set is to be allocated. The UCB address can be for a captured UCB, or for an actual UCB above or below the 16MB line. For 31-bit callers, the high-order byte is part of the UCB address and must be cleared to zeros if a 24-bit UCB address is being passed. The volume must be mounted, and remain mounted. Use the address of a UCB, not a UCB copy.
(reg)–(0), (2-12)
Specifies a register containing the UCB address for the device.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014