General rules
Considerations
It is an absolute load, so bear in mind these considerations:
- If there is any problem with the file or its data then the load is cancelled and no rules are modified.
- If a rule is not referenced on the file then its value is not modified (only rules explicitly referenced on the file are affected).
- If you want to set the default value of a rule you just have to delete that rule.
Specifications
File name:
Rules_GeneralRules.csv
.Each line represents a unique temporary pricing rule and contains all the information (fields) about it.
The first line is not a header line: it contains data directly.
Inside a line, by default fields and subfields are separated using the characters
#
,|
and;
. None of these characters can’t be used inside data because fields and subfields would be gathered in a wrong way.The data of the fields is not encapsulated by
"
or any other character: the information must be included directly.Any blank line will be skipped.
The file and its data have to be encoded using UTF-8. Otherwise there can be stored strange characters.
If a field is mandatory then it has to be present in each line, even if it has no data: its used position cannot be omitted. If mandatory then we have to see if its data is mandatory or not.
If a field is not mandatory but we want to set it then all previous fields must be present: if any previous field is not mandatory and we don’t want to set a value we will have to include it with no value. We need it this way as it is used the field position to map it to the target data.
If a field’s data is not mandatory and we don’t want to set it then we just keep it empty: i.e. …##…
If a field’s data is mandatory then we have to set something (no value is not admitted).
The fields are separated by #
. And if a field is a list of values it also has its values separated by ;
.
Case | Example | Description |
---|---|---|
Field without data | …##… | We have the separator # and nothing inside. |
Field directly with data and no lists | …#12#… | It is just the value 12. |
Field with a list of elements | …#AS;XF;TR#… | Its value is a list and its elements are separated with ; (“AS”, “XF” and “TR”). |
Data Line fields
Position | Mandatory Field | Mandatory Data | Type | Description/Value |
---|---|---|---|---|
0 | Yes | Yes | enumeration | Defines the rule type we want to operate with. It may be one of the following values:
|
1 | Yes | Yes | enumeration | Defines the type of operation that will be done with the rule.
|
2 | Yes | Yes/- | complex | Value to set to the rule.
|
3 | Yes | Yes | enumeration | Defines if the rule is applied in general (affecting all agencies) or only for a list of concrete agencies.
|
4 | Yes/- | Yes | list of strings | List of agencies for which the rule is applied, separated with “;”.
|
Apendix: Rules table
Rule Type | Values |
---|---|
COM | Decimal value. |
DEF_MAR | String value. It is the market. |
SEL_REL | Integer value. |
RATE | Integer value that has to be one of the folllowing:
|
CLO_REL | Integer value. |
FIL_NRF | Integer value that has to be one of the folllowing:
|
ALW_CUR | List of string, separated with “;”. It is a list of currencies (at least one). |
FRC_CUR | Boolean value (true/false). |
FIL_BIND | Integer value that has to be one of the folllowing:
|
CUR_EXC | Complex value: See Apendix CUR_EXC |
ADD_MRK_PRC | Values when set for agencies:
|
MAX_TQ | Values when set for agencies:
|
MAX_TB | Values when set for agencies:
|
MIN_COM | Complex value: it is composed of a Type and a Value separated with ‘;’. Type values when set for agencies:
|
Apendix: CUR_EXC
The value to set (field position 2) for the CUR_EXC rule is a complex one. Tt is composed of 3 items:
- A type, to allow or not the currency exchange.
- A list of currencies.
- A list of countries with a sublist of currencies.
This field includes information about these items (subfields) using “|” as separator.
Each subfields has the following format:
Subfield Position | Mandatory subfield | Mandatory Data | Type | Description/Value |
---|---|---|---|---|
0 | Yes | Yes | int | Indicates if currency exchange is allowed or not, with the following values.
|
1 | No | No | list | List of admitted currencies. Example: 1 |
2 | No | No | list | List of countries and their admitted currencies. Example: 2 |
Examples of complete lines:
- Exchange is allowed CUR_EXC#U#0#LIST#Agency1;Agency2
- Exchange is not allowed and only have a general list of currencies CUR_EXC#U#1|*;GBP;USD#LIST#Agency1;Agency2
- Exchange is not allowed and we have currencies by country CUR_EXC#U#1|*;GBP;USD|ES;EUR#LIST#Agency1;Agency2
- Exchange is allowed and only have a general list of currencies CUR_EXC#U#2|*;GBP;USD#LIST#Agency1;Agency2
- Exchange is allowed and we have currencies by country CUR_EXC#U#2|*;GBP;USD|ES;EUR#LIST#Agency1;Agency2