Introduction to Cross Reference Tables
Cross references are stored in the form of tables. Table 44-1 shows a cross reference table containing information about customer identifiers in different applications.
Table 44-1 Cross Reference Table Sample
SAP | EBS | SBL |
---|---|---|
|
|
|
|
|
|
The identifier mapping is also required when information about a customer is updated in one application and the changes must be propagated to other applications. You can integrate different identifiers by using a common value integration pattern, which maps to all identifiers in a cross reference table. For example, you can add one more column named Common
to the cross reference table shown in Table 44-1. The updated cross reference table then appears, as shown in Table 44-2.
Table 44-2 Cross Reference Table with Common Column
SAP | EBS | SBL | Common |
---|---|---|---|
|
|
|
|
|
|
|
|
Figure 44-1 shows how you can use common value integration patterns to map identifiers in different applications.
Figure 44-1 Common Value Integration Pattern Example

Description of "Figure 44-1 Common Value Integration Pattern Example"
A cross reference table consists of two parts: metadata and actual data. The metadata is saved as the .xref
file created in Oracle JDeveloper, and is stored in the Metadata Services (MDS) repository as an XML file. By default, the actual data is stored in the XREF_DATA
table of the database in the SOA Infrastructure database schema. You can also generate a custom database table for each cross reference entity. The database table depends on the metadata of the cross reference entity.
Consider the following two cross reference entities:
-
ORDER
with cross reference columnsSIEBEL
,COMMON
, andEBS
, as shown in Table 44-3 -
CUSTOMER
with cross reference columnsEBS
,COMMON
, andPORTAL
, as shown in Table 44-4
Table 44-3 ORDER Table
Column Name | SIEBEL | COMMON | EBS |
---|---|---|---|
|
|
|
|
|
|
|
Table 44-4 CUSTOMER Table
Column Name | EBS | COMMON | PORTAL |
---|---|---|---|
|
|
|
|
If you chose to save all the runtime data in one generic table, then the data is stored in the XREF_DATA
table, as shown in Table 44-5.
Table 44-5 XREF_DATA Table
XREF_TABLE_NAME | XREF_COLUMN_NAME | ROW_NUMBER | VALUE | IS_DELETED |
---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This approach has the following advantages:
-
The process of adding, removing, and modifying the columns of the cross reference entities is simple.
-
The process of creating and deleting cross reference entities from an application is straightforward.
However, this approach has the following disadvantages:
-
A large number of rows are generated in the database because each cross reference cell is mapped to a different row in the database. This reduces the performance of the queries.
-
In the generic table, the data for the columns
XREF_TABLE_NAME
andXREF_COLUMN_NAME
is repeated across a large number of rows.
To overcome these problems, you can generate a custom database table for each cross reference entity. The custom database tables depend on the metadata of the cross reference entities. For example, for the XREF_ORDER
table and XREF_CUSTOMER
table, you can generate the custom database tables shown in Table 44-6 and Table 44-7.
Table 44-6 XREF_ORDER Table
ROW_ID | SIEBEL | COMMON | EBS |
---|---|---|---|
|
|
|
|
|
|
|
Table 44-7 XREF_CUSTOMER Table
ROW_ID | EBS | COMMON | PORTAL |
---|---|---|---|
|
|
|
|
This approach requires you to execute Data Definition Language (DDL) scripts to generate the custom database tables. For more information about custom database tables, see How to Create Custom Database Tables.