ADRC table — ADRC - Central Address Table
ADRC is the central address table in SAP's business address services. One row holds one version of the postal address (name, street, city, postal code, country, region) attached to an internal address number, ADDRNUMBER. Customers, vendors, contacts, plants, and one-time partners in sales documents all point into ADRC through that address number rather than storing address text themselves.
ADRC is the shared address repository behind customer, vendor, and one-time-partner records in SAP. This page covers how sales and delivery documents actually reach an address through ADRC, why the same address number can return several rows, and the reflex mistakes people make when an address looks wrong on a printout or in a partner function.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 985 words
What it stores
ADRC stores one physical or postal address per row, identified by an internal address number (ADDRNUMBER) rather than by business partner or customer number. The business address services layer was built so that any object needing an address - a customer, a vendor, a plant, a contact person, a one-time (CPD) partner in a sales order - stores only the address number and looks the actual address up in ADRC. This avoids duplicating address text across master tables and lets one address be shared or time-sliced independently of the object using it. A single ADDRNUMBER can have several rows in ADRC when the address is time-dependent (validity periods) or when country-specific format variants exist, so ADRC is not strictly one row per address number.
Key fields
- MANDT - client
- ADDRNUMBER - internal address number, the join key used by every consuming table
- DATE_FROM / DATE_TO - validity period of this address version; a single address number can have multiple rows over time
- NATION - country-specific version of the address format, used where the same address number has an international and a local variant
- NAME1 to NAME4 - name lines
- SORT1 / SORT2 - search terms
- STREET, HOUSE_NUM1 - street and house number
- POST_CODE1, CITY1, REGION - postal code, city, region/state
- COUNTRY - country key
- LANGU - address language, relevant for print formatting
How it joins the data model
- KNA1-ADRNR = ADRC-ADDRNUMBER, the customer master's link to its address
- VBPA-ADRNR = ADRC-ADDRNUMBER, used when a sales document partner is a one-time (CPD) customer with no master record
- LFA1-ADRNR = ADRC-ADDRNUMBER, the equivalent link for vendor addresses
- T001W-ADRNR = ADRC-ADDRNUMBER, plant addresses used on delivery and shipping documents
How to read it safely
Always restrict on MANDT and on ADDRNUMBER; never scan ADRC by name or city fields alone, the table is large and those fields are not primary access paths. Because a single address number can carry several rows for different validity periods or NATION variants, a lookup by ADDRNUMBER alone can return more than one row - filter DATE_TO for the current row (typically the one with the highest or open-ended DATE_TO) and check NATION if the consuming country uses an international address format. Get the address number first from the owning object (KNA1, LFA1, VBPA, T001W) rather than trying to search ADRC directly for a business partner.
How to prove it in the data
Symptom: a delivery or invoice prints the wrong address for a customer even though the customer master looks correct. Pull ADRNR from KNA1 for that customer, then select ADRC by that ADDRNUMBER and MANDT. If more than one row comes back, compare DATE_FROM and DATE_TO across rows and check which one is currently valid; a future-dated address change entered too early, or a stale row with an open DATE_TO, is a common finding. Also check NATION if the print layout is country-specific.
ECC vs S/4HANA
ADRC remains the underlying physical table for postal addresses in S/4HANA; the business address services architecture was not restructured the way finance or sales document tables were. Fiori apps and newer master data UIs read address data through CDS views layered on top, but those views are compatibility and consumption layers, not replacements for ADRC as the table of record. Existing joins written against ADRC in custom reports and forms continue to work unchanged.
Common pitfalls
- Assuming ADRC has one row per address number. Time-dependent addresses and NATION-specific variants both produce multiple rows for the same ADDRNUMBER; picking an arbitrary row gives a plausible but wrong address.
- Editing ADRC directly with a table maintenance transaction. Address changes made outside the proper master data transaction bypass change documents, address versioning, and any BAdI logic that keeps dependent objects consistent.
- Confusing the customer number with the address number. KNA1-KUNNR and ADRC-ADDRNUMBER are unrelated key spaces; joining VBPA or KNA1 to ADRC on the wrong field silently returns no rows or, worse, coincidentally matching wrong ones.
- Forgetting that VBPA-ADRNR is only populated for one-time (CPD) partners. For a regular customer partner, the address lives via KNA1, not directly on VBPA, so an empty ADRNR on VBPA does not mean the address is missing.
- Treating a blank or unexpected address on a document as a data corruption issue when it is actually a print program or form reading the wrong partner function's address, not a defect in ADRC itself.
- Ignoring the client field when comparing address numbers across systems during a migration or comparison exercise; ADDRNUMBER values are not guaranteed to mean the same thing across different clients or systems.
Whose problem this is
Address data quality is a master data governance question, not an SD-specific one, since ADRC is shared across customer, vendor, HR, and plant address records. In practice the master data or MDG team owns creation and change of addresses through the proper maintenance transactions; the SD consultant's job is tracing which address number a document actually resolved and reporting the discrepancy, not editing ADRC directly.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/adrcERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.