The possible values of a data element can be changed by means of configuration files. Similar to other configuration information, you can configure the possible code values at each message level (local customization), or globally (across all messages that may use that particular data element).
Like with any other custom configuration, to customize code values, it is recommended to create a custom EDI collection (see Creating a Custom EDI Collection) and apply all customization to it, rather than altering the default MapForce configuration.
The available customization options depend on the schema version used by your custom EDI collection (see EDI Configuration Schemas). To put it simply, a newer schema means that more advanced configuration options are available. In particular, each schema supports custom code values as follows:
•With EDIConfig.xsd, it is possible to change an existing .codelist file in order to add custom code values at a global level.
•With EDIConfig4.xsd, custom code values can be added not only at global level, but also at message level.
•With EDIConfig5.xsd, all of the options above are available, including the ability to define advanced configuration rules at character level (see Configuring Character-Level Validation). Also, data elements can be declared as having incomplete validation (see Relaxing Field Validation).
To add custom code values for a data element globally, edit the .codelist file of your custom EDI collection. First, find the data element (field) whose values you need to change, and then add all the required custom values as new <Value> elements, as shown below:
<?xml version="1.0" encoding="UTF-8"?>
>>> add your custom values here...
UNCL.Codelist file (UN/EDIFACT collection)
As shown in the code listing above, each <Value> element has a Code attribute which specifies the actual value code expected for this data element. The <Title> and <Description> elements provide additional descriptive information about this value code.
The code listing above also has an Include statement which instructs MapForce to look for additional code values defined in an external file (ISO6346.Codelist) which uses the same schema as the UNCL.Codelist file. Use this technique if you need to adapt various external files containing custom code values.
For an example, see Adapting Code Values from External Sources.
To add custom code values at message level, you will need to edit the .config file corresponding to the message type. For more information, see Defining Code Values at Message Level (Inline).