Enterprise Administration > Implementing Windchill ESI > Implementing Windchill ESI in an SAP Environment > Understanding Windchill ESI Architecture > Defaults and Cross-Referencing of Data
  
Defaults and Cross-Referencing of Data
In addition to the standard data mapping features provided by TIBCO BusinessWorks, Windchill ESI uses the following two files to convert data sent fromWindchill PDMLink to distribution targets:
A cross reference file to convertWindchill PDMLink functional values to the distribution target values.
A Defaults files to convert some functional attributes and also to populate API-specific attributes.
* 
Both ESILookups and ESIDefaults properties files contain in line descriptions about the contents used in them. Source code for the Java functions used in the TIBCO repository can be referred from <Tibco_Home>\esi\source\ESIDataProcessing.java.
Windchill ESI provides one cross-reference file and one defaults file. The cross-reference file contains a list of value mappings and the defaults file contains the required defaults. Java custom functions are created to look up the values in these files. Looking up the defaults and cross-referencing files takes place at the same point in the processing of all business objects, specifically at the point of mapping to the distribution target API.
Both these files are provided for an out-of-the-boxWindchill PDMLink system as well as an out-of-the-box, non-customized distribution target. Thus the values on these files are not specific to a particular distribution target or organization, or locale (The default locale of these values is en_US). However, during implementation, you can modify these files and add values that are more specific to your distribution target, organization, and locale.
* 
The data defaults and cross-referencing files must be stored in UTF-8 encoded format. When configuring Windchill ESI, you must use care to save these files as UTF-8 files, rather than standard ASCII files, which is the default format used by many text editors. If you are on Microsoft Windows systems, use Notepad, Helios, or TextPad rather than WordPad. If you are on a UNIX system, investigate the current status of UTF-8 support in your text editors, as emacs and vi have been slow to adopt UTF-8 standards.
The following figure and description illustrate data conversion and manipulation in Windchill ESI:
1. Windchill PDMLink publishes data to the EAI components. This data set is static, that is, it comes as is fromWindchill PDMLink and is not mastered elsewhere. In the figure, the data set is represented by the letters A, B, C, D, E, F, G, and Z.
2. This data is mapped to the The Common Business Object (CBO) (A - G). The CBO contains allWindchill PDMLink attributes and also attributes that are relevant to the distribution target. For fields that are not relevant to the distribution target, the values are not mapped to the CBO (Z). This gives the flexibility of mapping these values at implementation time if your business requires it.
3. The data is mapped to free text fields in an SAP distribution target or to a list of value fields. The list-of-value-fields data fromWindchill PDMLink may need to be cross-referenced against a valid list of value data in the SAP distribution target. A cross-reference file containing name/value pairs of the field and theWindchill PDMLink value is mapped to the corresponding SAP specific value in an XML format. A Java custom function queries the file and retrieves the name/value pair. For example, in the figure, fields A, B, and E require cross-referencing. If you wish to cross-reference F as well, in addition to adding values to the cross-reference file, you would also need to modify the mapping to call this Java function.
4. Data gaps betweenWindchill PDMLink and the distribution target are filled using default files. Default files contain values that are API specific, that is, data needed for the API to interpret the data being passed to it. These files may also contain values thatWindchill PDMLink does not master, but are specific and needed by the distribution target such as planning data. The default file also contains a series of name/value pairs - the name references the API object structure and field. A Java custom function queries the file and retrieves the name/value pair. For example, in the figure, I, K, M, N, and P use default values. If you wish to use a default value for O as well, in addition to adding values to the default file, you also need to modify the mapping to call this Java function.
5. The API now has all of the values it requires, using the cross-referencing and default values. Data should be successfully published to the distribution target.