# Sage X3 Table Dictionary, Control Tables and User Tables Reference

> Source: https://netray.co/tools/sage-x3-supervisor-dictionary-tables-reference
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

The Sage X3 V11/V12 technical tables behind the dictionary, parameters, local menus, texts, users, batch server and payments, with keys, maintaining function and a SQL tip each.

## Category

other-erp

## Erp

Sage X3

## Audience

- Sage X3 developer
- DBA
- Report writer

## Tool

**Kind:** worksheet

**Mode:** reference

**Columns:**

#### Table

**Key:** table

**Type:** text

#### Area

**Key:** area

**Type:** select

**Options:**

- Dictionary
- Parameters
- Security
- Texts
- Batch
- Finance

#### Stores

**Key:** stores

**Type:** text

#### Primary key (fields)

**Key:** keys

**Type:** text

#### Maintained in

**Key:** usedBy

**Type:** text

#### SQL tip

**Key:** sqlTip

**Type:** text

**Rows:**

**Table:** ATABLE

**Area:** Dictionary

**Stores:** Table dictionary: one line per table

**Keys:** CODFIC

**Used By:** GESATB (Tables)

**Sql Tip:** Abbreviation and description per table; start here to find a table name.

**Table:** ATABZON

**Area:** Dictionary

**Stores:** Fields of each table

**Keys:** CODFIC + CODZONE

**Used By:** GESATB (Tables), Columns tab

**Sql Tip:** Filter CODFIC_0 to list a table's fields; CODTYP_0 is the data type code to resolve in ATYPE.

**Table:** ATABIND

**Area:** Dictionary

**Stores:** Index definitions of each table

**Keys:** CODFIC + CODIND

**Used By:** GESATB (Tables), Indexes tab

**Sql Tip:** Shows key names such as ITM0 and their fields before you write joins.

**Table:** ATYPE

**Area:** Dictionary

**Stores:** Data types

**Keys:** CODTYP

**Used By:** GESATY (Data types)

**Sql Tip:** Resolve a field's CODTYP to its length and linked object.

**Table:** ACTIV

**Area:** Dictionary

**Stores:** Activity codes

**Keys:** CODACT

**Used By:** GESACV (Activity codes)

**Sql Tip:** List specific activity codes (X, Y, Z) to see what a patch must not overwrite.

**Table:** AFONCTION

**Area:** Dictionary

**Stores:** Function dictionary

**Keys:** CODINT

**Used By:** GESAFC (Functions)

**Sql Tip:** Map a function code such as GESSOH to its process and access setup.

**Table:** ADOPAR

**Area:** Parameters

**Stores:** Parameter definitions

**Keys:** PARAM

**Used By:** GESADP (Parameter definitions)

**Sql Tip:** Chapter and level (folder, company or site) of each parameter before reading its values.

**Table:** ADOVAL

**Area:** Parameters

**Stores:** Parameter values by folder, company and site

**Keys:** PARAM + level (company, site)

**Used By:** ADPVAL (Parameter values)

**Sql Tip:** Filter PARAM_0 for one parameter; the same parameter can have a folder, company and site value.

**Table:** ATABTAB

**Area:** Parameters

**Stores:** Miscellaneous table definitions

**Keys:** NUMTAB

**Used By:** GESADV (Definition of miscellaneous tables)

**Sql Tip:** Tells you what each miscellaneous table number is for.

**Table:** ATABDIV

**Area:** Parameters

**Stores:** Miscellaneous table data

**Keys:** NUMTAB + CODE

**Used By:** GESADI (Miscellaneous tables)

**Sql Tip:** Filter NUMTAB_0 to read one list; entry descriptions are translatable texts in ATEXTRA.

**Table:** APLSTD

**Area:** Texts

**Stores:** Local menu values (texts by language)

**Keys:** LANCHP + LANNUM + LAN

**Used By:** Local menus (development)

**Sql Tip:** Join a status field on LANCHP_0 = menu number and LANNUM_0 = value, filter LAN_0 for the text in LANMES_0.

**Table:** ATEXTE

**Area:** Texts

**Stores:** Dictionary messages and texts

**Keys:** LAN + NUMERO

**Used By:** Dictionary texts

**Sql Tip:** Dictionary titles and messages are stored by text number and language.

**Table:** ATEXTRA

**Area:** Texts

**Stores:** Translatable texts of records (descriptions)

**Keys:** CODFIC + ZONE + LANGUE + IDENT1 + IDENT2

**Used By:** Translation of record texts

**Sql Tip:** Read translated descriptions: CODFIC_0 = table, ZONE_0 = field, IDENT1_0 = key value.

**Table:** AUTILIS

**Area:** Security

**Stores:** Users

**Keys:** USR

**Used By:** GESAUS (Users)

**Sql Tip:** List users for licence and access reviews; the same table is often joined to CREUSR_0 and UPDUSR_0 audit columns.

**Table:** ABATRQT

**Area:** Batch

**Stores:** Batch server requests

**Keys:** NUMREQ

**Used By:** Batch server request management

**Sql Tip:** One line per submitted request; use it for failed or long-running job reports.

**Table:** TABCUR

**Area:** Finance

**Stores:** Currencies

**Keys:** CUR

**Used By:** Currency setup

**Sql Tip:** Currency codes and decimals for formatting amounts in reports.

**Table:** TABCHANGE

**Area:** Finance

**Stores:** Exchange rates

**Keys:** CHGTYP + CURDEN + CUR + CHGSTRDAT

**Used By:** Exchange rate entry

**Sql Tip:** Pick the latest CHGSTRDAT_0 on or before the document date for the rate type.

**Table:** BANK

**Area:** Finance

**Stores:** Bank accounts

**Keys:** BAN

**Used By:** Bank account setup

**Sql Tip:** Bank code used on payments in PAYMENTH.BAN_0.

**Table:** GACCDUDATE

**Area:** Finance

**Stores:** Open items (due dates)

**Keys:** TYP + NUM + LIG + DUDLIG

**Used By:** Created by journal and invoice posting

**Sql Tip:** Base for aged balance reports; group by BPR_0 and due date.

**Table:** PAYMENTH

**Area:** Finance

**Stores:** Payment header

**Keys:** NUM

**Used By:** Payment and receipt entry

**Sql Tip:** Header with the business partner (BPR_0), bank (BAN_0) and currency (CUR_0).

**Table:** PAYMENTD

**Area:** Finance

**Stores:** Payment lines

**Keys:** NUM + LIN

**Used By:** Payment and receipt entry

**Sql Tip:** Join to PAYMENTH on NUM_0 to see which open items each payment settles.

**Table:** FXDASSETS

**Area:** Finance

**Stores:** Fixed assets

**Keys:** AASREF

**Used By:** Fixed assets

**Sql Tip:** Asset register by company (CPY_0); key AASREF_0 is the asset reference.

**Notes:** Table names and keys follow the Sage X3 V12 dictionary; confirm field names on your version with GESATB or a SELECT on ATABZON. Column names in the database carry an index suffix (_0 for single fields). Business tables such as ITMMASTER, SORDER or GACCENTRY are in the separate Sage X3 database tables reference.

## Content

**Intro:** This reference lists the Sage X3 V11/V12 technical tables that sit behind the dictionary, parameters, local menus, translated texts, users, batch server and payments. Each row gives the primary key fields, the function that maintains the data and a tip for writing SQL against it.

**Sections:**

#### How to use it

**Body:** Search by table name, function code or a word such as menu, parameter or batch. The keys column shows the fields of the primary index without the _0 suffix; in SQL every single-value column is named FIELD_0. Use the Maintained in column to open the matching function and compare what you see in SQL with the screen. Export the table if you are building a data dictionary for a report writer or a migration team.

**Bullets:**

- Use ATABLE and ATABZON to discover any table's fields.
- Use APLSTD to turn local menu integers into labels.
- Use ADOVAL to audit parameter values by company and site.

#### Where this lives in Sage X3

**Body:** Tables are maintained in Development > Data and parameters > Tables (GESATB). Miscellaneous tables are defined in GESADV and filled in GESADI. Parameter definitions are in GESADP and their values in ADPVAL, by folder, company or site. Users are maintained in GESAUS, activity codes in GESACV and functions in GESAFC, and batch server requests are followed from the batch server administration functions. Each folder has its own schema in the database, so the same table exists once per folder.

#### Worked example: list the fields of a table

**Body:** To list the fields of ITMMASTER in folder SEED on SQL Server, start with SELECT * FROM SEED.ATABZON WHERE CODFIC_0 = 'ITMMASTER' and look at the columns returned: CODZONE_0 is the field code and CODTYP_0 the data type, which you resolve in SEED.ATYPE on CODTYP_0. The same query shows the length, the array dimension, the linked table and the local menu number of each field, which is the quickest way to learn the dictionary column names on your version. A field with a dimension above 1 appears in the business table as several columns (ITMDES1_0, ITMDES1_1 and so on). Use the local menu number with APLSTD to decode status values in reports.

#### Gotchas

**Body:** Local menu fields store integers, not text: join to APLSTD on LANCHP_0 and LANNUM_0 and filter LAN_0 to your language. Array fields become several columns (_0, _1, _2) and must be read individually. ADOVAL can hold the same parameter at folder, company and site level; the most specific value wins. Never write to dictionary tables with SQL: changes must go through the functions so validation regenerates the database objects. Each folder has its own schema, so always qualify table names with the folder schema in SQL.

**Cta:** If you want your team to ask Sage X3 questions in plain English, with the dictionary resolved for them, on your own servers, we can set that up.

**Faq:**

#### Which table holds the Sage X3 table dictionary?

**Answer:** ATABLE holds one line per table (code CODFIC, abbreviation and description) and ATABZON holds the fields of each table, keyed by CODFIC, NUMLIG and CODZONE. ATABIND holds index definitions. Together they let you document any table, including specific ones, directly from SQL.

#### Where are Sage X3 users stored?

**Answer:** Users are stored in AUTILIS, keyed by USR and maintained in the Users function (GESAUS). Creation and update user columns on business tables, such as CREUSR_0 and UPDUSR_0, hold the same user codes, so AUTILIS is the table to join when you report who created or changed records. For access reviews, export users with their profiles rather than reading screens one by one.

#### What is the PAYMENTD table in Sage X3?

**Answer:** PAYMENTD holds the lines of a payment or receipt, keyed by NUM and LIN, under the PAYMENTH header keyed by NUM. Join PAYMENTD to PAYMENTH on NUM_0 to see which open items, from GACCDUDATE, each payment settled.

#### What are Sage X3 miscellaneous tables?

**Answer:** Miscellaneous tables are small code lists, such as reason codes, defined in GESADV (stored in ATABTAB) and filled in GESADI (stored in ATABDIV). Each list has a number, NUMTAB, and each entry a CODE plus optional extra alphanumeric and numeric values defined for that list. Filter ATABDIV on NUMTAB_0 to read one list, and read the translated descriptions from ATEXTRA.

## Search terms

sage x3 table dictionary, sage x3 control table, sage x3 user table, sage x3 tables, table sage x3, sage x3 paymentd table, sage x3 atabzon, sage x3 aplstd local menu

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
