Inleiding
In dit document worden de berichten Bestel Order en Bestel Order Respons beschreven.
BestelOrder
Bericht ten behoeve van een gewenste levering aan CB. Indien CB constateert dat er voorraad benodigd is bij CB, bijvoorbeeld voor opdrachten ingediend door boekverkopers, zal CB een BestelOrder indienen bij de eigenaar/leverancier van het artikel. De BestelOrder omvat de het gewenste artikel en het gewenste aantal om de voorraad bij CB op peil te brengen.
BestelOrderRespons
Bericht ten behoeve van een gewenste levering aan CB naar aanleiding van een BestelOrder bericht. Via het BestelOrderRepons bericht kan de eigenaar/leverancier CB op de hoogte brengen van de voorgenomen levering aan CB aan de hand van de bestelling die CB heeft ingediend bij de uitgever/leverancier.
Berichtdefinitie BestelOrder
Parent node | Attribute | Format | Cardinality | Values | Comment |
Message |
| | | | | | | | |
| Identification of the message. The id is unique among all the shipment messages submitted by the sender. |
SenderId | A10 | 1 | 6822831 | Identification of CB |
VersionId | A10 | 1 | v01 | Version number of the message. For this version of the message 'v01' |
| OrderingParty |
| | | Id | A40 | 1 | 6822831 | Identification of CB |
IdType | A3 | 1 | INT | Indication whether the Id is an internal or external id. Only 'INT' allowed. |
| | | | | | | | |
| The identification of the order at CB |
OrderDate | Date | 1 |
|
| The date the order is sent to 'Depot Uitgever' (yyyy-mm-dd) |
| | | | | | | | |
| The ISBN of the article |
Quantity | N6 | 1 |
|
| The quantity ordered |
Info |
---|
title | Naamgeving BestelOrder |
---|
| Definitie: cb_bestelordr_<yyyymmddhhmiss>_<unique-id>.xml Voorbeeld: cb_bestelordr_201803210853_1017428.xml |
|
Berichtdefinitie BestelOrderRespons
|
| Attribute | Format | Cardinality | Values | Comment |
Message |
| | | | | | | |
| Identification of the message. The ID must be unique among all the shipment messages submitted by the sender |
SenderId | A10 | 1 | <relation_ID> | Identification of the cliënt which is registered as 'Depot Uitgever' with CB, the sender of the message |
VersionId | A10 | 1 | v01 | Version number of the message. For this version of the message 'v01' |
| OrderingParty |
| | |
|
|
| Id | A40 | 1 | 6822831 | Identification of CB |
IdType | A3 | 1 | INT | Indication whether the ID is an internal or external ID. Only 'INT' allowed. |
| Orders |
| | | | | |
| The identification of the order at CB |
| Orderlines |
| | | | | | | | | | | | | | |
| The status concerning quantity (Deliver - DELVRD-, Rejected -REJECT, Backorder -BCKORD-) |
| | | | | |
| Te reason why the product was not delivererd |
Info |
---|
title | Naamgeving BestelOrderRespons |
---|
| Definitie : <unique>_brspns.xml Bestandsnaam: - geen spaties
- kleine letters
- uniek, zodat het niet overschreven wordt
voorbeeld: 123456789_brspns.xml |
|
Verwerking OrderRespons
Op een Bestelorder opdracht kan tot en met het diepste niveau meerdere malen een order response bericht voor worden teruggestuurd. De verwerking van een OrderResponsebericht op 'Orderline' niveau bij CB werkt als volgt:
...
Voor een OrderRespons regel ‘Backorder’ wordt op een later moment nog een OrderRespons regel(s) verwacht, namelijk als er geleverd wordt (‘Deliver’) of als toch niet leverbaar blijkt (‘Rejected)’.
Verwerking per regeltype
Verwerking van een Deliver regel
Aantal te leveren = Huidig aantal te leveren + nieuw ontvangen Deliver aantal.
...
Uitleg: Het aantal te leveren ISBN wordt opgehoogd.
Als er (eerder al) nalevering aantallen waren gemeld, worden deze hiermee verminderd.
Verwerking van een Backorder regel
Aantal in nalevering = Huidig aantal in nalevering + nieuw ontvangen backorder aantal
...
Aantal afgewezen = ongewijzigd
Verwerking van een Rejected regel
Een OrderRespons voor ISBN van type Rejected wordt bij CB verwerkt als:
...
Aantal te leveren = ongewijzigd
Algemene controles
Verder zijn er nog een aantal basis controles waarmee rekening moeten worden gehouden:
- De som van ‘aantal te leveren’, ‘aantal in nalevering’ en ‘aantal afgewezen’ mag nooit groter zijn dan het ‘aantal besteld’ van de bijbehorende order.
- Het totaal ‘aantal te leveren’ mag niet minder worden (door een ‘Reject’)
Mogelijk scenario
Scenario 1: CB bestelt in order 123 bij Depot Uitgever o.a. 10 kopieën van boek A |
Depot Uitgever | CB | Uitleg |
|
| CB bestelt 10 stuks boek A: Administratie CB | Onderdeel | Aant. | Besteld | 10 | Te leveren |
|
| |
|
Depot Uitgever zet voor boek A een of meerdere bestellingen uit. |
| |
|
|
Order respons regel voor boek A: Order respons bericht regel | Status | Deliver | Quantity | 4 |
| Na verwerking door CB: Administratie CB | Onderdeel | Aant. | Besteld | 10 | Te leveren | 4 | In nalevering |
|
| | Aantal te leveren = Huidig aantal te leveren + nieuw ontvangen Deliver aantal |
Order respons regel voor boek A: Order response bericht regel | Status | Backorder | Quantity | 6 |
| Na verwerking door CB: Administratie CB | Onderdeel | Aant. | Besteld | 10 | Te leveren | 4 | In nalevering | 6 | Afgewezen |
|
| Aantal in nalevering = Huidig aantal in nalevering + nieuw ontvangen backorder aantal |
Order respons regel voor boek A: Order respons bericht regel | Status | Reject | Quantity | 3 |
| Na verwerking door CB: Administratie CB | Onderdeel | Aant. | Besteld | 10 | Te leveren | 4 | In nalevering | 3 | Afgewezen | 3 |
| Aantal afgewezen = Huidig aantal afgewezen + nieuw ontvangen rejected aantal |
Aantal in nalevering = grootste van: - Huidig aantal in nalevering – nieuw ontvangen rejected aantal
of - 0
|
Order respons regel voor boek A: Order respons bericht regel | Status | Deliver | Quantity | 2 |
| Na verwerking door CB: Administratie CB | Onderdeel | Aant. | Besteld | 10 | Te leveren | 6 | In nalevering | 1 | Afgewezen | 3 |
| Aantal te leveren = Huidig aantal te leveren + nieuw ontvangen Deliver aantal. |
Aantal in nalevering = grootste van: - Huidig aantal in nalevering – nieuw ontvangen Deliver aantal
of - 0
|
Order respons regel voor boek A: Order respons bericht regel | Status | Reject | Quantity | 1 |
|
| |
| Na verwerking door CB: Administratie CB | Onderdeel | Aant. | Besteld | 10 | Te leveren | 6 | In nalevering | 0 | Afgewezen | 4 |
| Hierna wordt bij CB geen order respons regel meer verwacht voor order ABC boek A |
Voorbeelden van een '.err' en '.ok' bericht als ontvangstbevestiging van BestelOrderRespons bericht
Code Block |
---|
language | xml |
---|
title | Voorbeeld ontvangstbevestiging err.txt bericht |
---|
|
<?xml version="1.0" encoding="UTF-8" ?>
<ONTBEV xmlns="http://www.cbonline.nl/xsd">
<bericht>
<cb_bericht_nr>9962695</cb_bericht_nr>
<afzender_bericht_id>I20180226001</afzender_bericht_id>
<type>BESTELRSPS</type>
<file>opdr921_20180226tg106.iot</file>
<ftp_dir>6753652\in</ftp_dir>
<relatie_id>6753652</relatie_id>
<ontvangen>20180309 1029</ontvangen>
</bericht>
<melding>
<line>Bij het verwerken van bericht I20180226001(opdr921_20180226tg106.iot) in de CB-systemen, zijn fouten en/of meldingen opgetreden.</line>
<line>Records die met MELDING beginnen zijn verwerkt, en die met FOUT beginnen zijn niet verwerkt.</line>
<line>Er is een fout opgetreden bij de uniciteit-check voor bericht: opdr921_20180226tg106.iot.</line>
<line/>
<line>Er is eerder een bericht met de berichtreferentie (UniekId) "I20180226001" ontvangen (en DAT bericht is al verwerkt in CB-systemen).</line>
<line>Dit bericht is niet verwerkt. </line>
</melding>
</ONTBEV>
|
Code Block |
---|
language | sqlxml |
---|
title | Voorbeeld ontvangstbevestiging ok.txt bericht |
---|
|
<?xml version="1.0" encoding="UTF-8" ?>
<ONTBEV xmlns="http://www.cbonline.nl/xsd">
<bericht>
<cb_bericht_nr>9965466</cb_bericht_nr>
<afzender_bericht_id>I201803130924</afzender_bericht_id>
<type>BESTELRSPS</type>
<file>rs201803ktinb12.iot</file>
<ftp_dir>6753652\in</ftp_dir>
<relatie_id>6753652</relatie_id>
<ontvangen>20180313 0927</ontvangen>
</bericht>
<melding>
<line>
Bericht I201803130924(rs201803ktinb12.iot) is correct verwerkt in de CB-systemen, zonder meldingen. </line>
</melding>
</ONTBEV> |
...