BWA

The BWA format is used to exchange electronic data in the book trade (in Germany).

Settings


(1) Check input format: If this checkbox is set, the input fields are checked against their format templates during parsing. If a value violates the format template of the field or exceeds the field length, an error is created. If an error occurs, the profile job will not be aborted immediately in phase 2, but at the end of phase 2 or after 50 errors. Attention: The use of format checking puts a strain on performance and should only be used if absolutely necessary.

(2) Check min/max settings: Specifies whether to check the number of repetitions (of fields and nodes) in the source structure.

(3) Execute semantic checks: Incoming files can be checked with semantic rules. See section Semantic check .

Comments on the BWA syntax


The BWA format defines 4 standard formats for the data exchange between publishers and wholesalers.


  • Order (German: Bestellsatz)

  • Delivery note (German: Lieferscheinsatz)

  • Feedback (German: Rückmeldung)

  • Master record of titles (German: Titelstammsatz)


The smallest unit within a standard format is the data field, it corresponds to the data elements of a document, such as the item number, number of items or a price.

Every dataset of the four standard formats represents a closed unit. Order, delivery note, feedback, and master record of titles each refer to exactly one position. One complete dataset is to be transferred for one position. The datasets always start with a four-digit ID. The first two digits of the ID represent the message type, digits three and four contain the version numbers of the data format.

The ID is an element of the mandatory data header for the standard formats order, delivery note and feedback that always has a fixed length.

Comments on the BWA parser


The BWA parser fills the source tree using the defined source structure. Templates for the 4 message types are available for the source structure. Since the data fields of a BWA message always start with a four-digit ID, the BWA parser maps the data fields to the source structure via the field name that has to have the following structure.


BWA<nnnn>...


So the value BWA (in order to identify that this is a BWA field), followed by the ID of the data field.

Exceptional fields

Fields in node "BWA_HEADER"

The formats order, delivery note and feedback all have a mandatory data header that is defined by fields with fixed length. The BWA parser, therefore, fills these fields in the node "BWA_HEADER" using their field attribute "Length".

BWA_BACKUP

If a field with this name is defined in the source structure, it will be filled by the entire content of the BWA message.

BWA_9999

This field indicates the end of the source structure. It is used to inform the parser that all fields in the source structure have been filled with the found data.

BWA splitting


In practice, it is unfortunately not uncommon that different message types (e.g. orders and feedbacks) are mixed in a single input file. This problem can easily be dealt with by using both templates (i.e. for the orders and the feedbacks) in the source structure. The BWA parser automatically notices if the message type changes when a new line is read in and creates a new record. This allows you to separate the different message types properly (see option "Execute Responses per record" for example).

Structure templates


See section Templates for source and target structures.