14.2.3 *DTASSSLLLXXXXXXXXXX System Variables (Data Areas)
*DTASSSLLLXXXXXXXXXX
where
Sss |
is the starting position in data area |
lll |
is the length to retrieve |
Xxxxxxxxxx |
is the data area name |
IBM i data areas are emulated in an SQL table called LX_DTA in the LX_DTA collection.
Before attempting to execute applications that use *DTAssslllxxxxxxxxxx system variables and the data areas behind them, please note the following:
- *DTAssslllxxxxxxxxxx system variables will be automatically enrolled in the LX_DTA table when the first attempt is made to use one of them.
The data area locking/unlocking logic actually uses the LOCK_OBJECT and UNLOCK_OBJECT Built-In Functions. A "Data area not found" error may leave the data area locked in the locking table. To remove this lock use a small function that uses the UNLOCK_OBJECT Built-In Function, or use a DBMS direct access tool to remove the lock row from table LX_FOL.
- Alternatively, *DTAssslllxxxxxxxxxx system variable data areas may be manually enrolled in the LX_DTA table. If you do this, always specify the library name as *LIBL. The data area name should come from the name component of the *DTAssslllxxxxxxxxxx name. For example the system variable *DTA010005COMPINF would be enrolled as a data area called COMPINF in library *LIBL.
- Specify the data area type as "A" (alphanumeric) in all cases.
- The "hiding" of packed decimal data in alphanumeric data areas is not supported.
Note: *DTAssslllxxxxxxxxxx, *AUTONUMnnxxxxxxxxxx and *AUTOALPnnxxxxxxxxxx system variable evaluation requests can be automatically diverted into a server system when locks are diverted into a server system. Refer to the DEFINE_ANY_SERVER Built-In Function description in the for more information.