Work area for field procedures
The work area is a contiguous, uninitialized area of locally addressable, pageable, swappable, and fetch-protected storage that is obtained in storage key 7 and subpool 229.
The
work area can be used by a field procedure as working storage. A new
area is provided each time the procedure is invoked. The size of the
area that you need depends on the way you program your field-encoding
and field-decoding operations.
At field-definition time, Db2 allocates a 512-byte work area and passes the value of 512 bytes as the work area size to your routine for the field-definition operation. If subsequent field-encoding and field-decoding operations need a work area of 512 bytes or less, your field definition doesn't need to change the value as provided by Db2. If those operations need a work area larger than 512 bytes (i.e. 1024 bytes), your field definition must change the work area size to the larger size and pass it back to Db2 for allocation.
Whenever
your field procedure is invoked for encoding or decoding operations, Db2 allocates a work area based
on the size (i.e. 1024 bytes) that was passed back to it. Your field
definition must not use a work area larger than what is allocated
by Db2, even though subsequent
operations need the larger work area.