Use this general macro to transfer information from a requested core block
reference word (CBRW) for a common block to a specified 8-byte field and
detach (unhook) the common storage block associated with the CBRW. When
a block has been unhooked in this manner, any other ECB can rehook the same
block by using the REHKA macro. Blocks unhooked must be common
blocks. These macros are designed for programs with unique buffering
requirements.
Format
- label
- A symbolic name can be assigned to the macro statement.
- FIXCEL=address
- The operand address must be the symbolic address of the 8-byte field that
will be used to save the requested CBRW.
- GLOB
- This is an optional keyword.
- YES
- This means the specified FIXCEL area is in global area 1. This is
the default if GLOB is not coded.
- NO
- This means the specified FIXCEL area is not in protected application or
global storage.
- symbol
- The operand symbol must represent a protected application or global
storage area corresponding to the FIXCEL area location. Valid symbols
are GLOBAL1, GLOBAL2, GLOBAL3, and APL1.
- LEVEL=literal
- The operand literal must be a valid ECB data level (0<=literal
>=F). If it is not coded, level 6 is assumed.
Entry Requirements
- R9 must contain the ECB address.
- FIXCEL must reference a field of 8 bytes.
- A common storage block must be held in the referenced data level.
- The global fields must be defined and have a valid base if the GLOB symbol
is a global.
Return Conditions
- Control is returned to the next sequential instruction.
- The contents of R0-R7 are preserved across this macro call.
- The contents of the core block reference word (CBRW) will be in the field
referenced by the FIXCEL parameter.
- The CBRW will be initialized to indicate that a block is no longer
attached at that level.
- The condition code is unchanged by UNHKA.
Programming Considerations
- This macro can be executed on any I-stream.
- This macro is for use by E-type programs only.
- The field defined by the FIXCEL parameter contains the contents of the
CBRW specified by CE1CR(literal). It must be specified.
- The CBRW is initialized to indicate that a block is no longer held at that
level.
- If the specified 8-byte field is in protected application or global
storage, the GLMOD and KEYRC macros are used to allow modification of the
specified field and restoration of the working storage protect key.
- Use of this macro must be limited to those programs having unique
buffering requirements. It should not be used to obtain an additional
data level.
- Any application program using the UNHKA-REHKA facility must be designed so
that 2 successive UNHKA macros referencing a given field are always separated
by a REHKA referencing the field.
- UNHKA uses the GLMOD and KEYRC macros.
Examples
None.