14 2 3 DTASSSLLLXXXXXXXXXX System Variables Data Areas

LANSA Application Design

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 Technical Reference Guide for more information.