This is the multi-page printable view of this section. Click here to print.
FLASH/Inbound
- 1:
- 2:
- 3:
- 4:
- 5:
- 6:
- 7: S03 Stock Movement
- 8: S07 Storage Order
- 9: S08 Storage Location
- 10: S09 Storage Handling Unit
- 11: S11 Open Orders
- 12: S12 Open Order Core
- 13: S13 Major Customer Reservation
- 14: S16 HRL Haldensleben
1 -
1.1 -
Property | Type | Description |
---|---|---|
(Root) |
object |
|
eventId* |
string (uuid) |
The uniq eventId |
traceId* |
string (uuid) |
The uniq traceId |
spanId |
string |
The eventId of previous record or batchId |
eventTime* |
string |
Time of occurrence of the event |
version* |
The number of version schema |
|
context |
string |
The context / business case |
eventType* |
string (enum) |
The type of operation Any of: [
"INSERT",
"UPDATE",
"DELETE"
] |
metaData |
object |
additional meta information |
senderSystem* |
string (enum) |
system Any of: [
"KR1_SHF",
"KR1_HHSTR",
"WMSX_SON",
"WMSX_AKU",
"KMOTION_ILO",
"KMOTION_GHM",
"COBRA",
"LSAS",
"IDEEFIX",
"OBS",
"RESY",
"LDH",
"RETAILSCHICHT",
"BUBE",
"FINE_INBOUND",
"F2X",
"WMSX_WEISMAIN",
"LIGIS",
"KR1_MANDANT"
] |
ownerCompany |
string |
The owner company belonging to the logistic product of one or more underlying stock movements of this storage order. Maximum Length: 50 |
data* |
object |
|
location |
string (enum) |
warehouse locations Any of: [
"ANSBACH",
"LOEHNE",
"LANGENSELBOLD",
"MOSINA",
"OHRDRUF",
"HALDENSLEBEN",
"HALDENSLEBEN_RT",
"SUEDHAFEN",
"SONNEFELD",
"ALTENKUNSTADT",
"WEIDEN",
"KRACANY",
"ILOWA",
"ILOWA_RT",
"ILOWA_RSS",
"GERNSHEIM",
"ERFURT",
"HAMBURG_RT",
"OTELFINGEN_RT",
"KRIMICE_RT",
"STAHLAVY_RT",
"OHRDRUF_RT",
"LOEHNE_RT",
"LANGENSELBOLD_RT",
"LODZ_1_RT",
"LODZ_2_RT",
"BERGHEIM_RT",
"ALTENKUNSTADT_RT",
"LISTERHILLS_RT",
"SUEDHAFEN_RT",
"PILSEN_RT",
"HAMBURG_SC",
"LOEHNE_SC",
"SCHWABHAUSEN_SC",
"HALDENSLEBEN_RSS",
"ALTENKUNSTADT_RSS",
"LOEHNE_RSS",
"OHRDRUF_RSS",
"LANGENSELBOLD_RSS",
"LOEHNE_CP"
] |
storageOrderId* |
string |
(techn.) ID eines Lagerauftrags |
parentStorageOrderId |
string |
(techn.) ID des übergeordneten Lagerauftrags |
targetLocation |
string (enum) |
warehouse locations Any of: [
"ANSBACH",
"LOEHNE",
"LANGENSELBOLD",
"MOSINA",
"OHRDRUF",
"HALDENSLEBEN",
"HALDENSLEBEN_RT",
"SUEDHAFEN",
"SONNEFELD",
"ALTENKUNSTADT",
"WEIDEN",
"KRACANY",
"ILOWA",
"ILOWA_RT",
"ILOWA_RSS",
"GERNSHEIM",
"ERFURT",
"HAMBURG_RT",
"OTELFINGEN_RT",
"KRIMICE_RT",
"STAHLAVY_RT",
"OHRDRUF_RT",
"LOEHNE_RT",
"LANGENSELBOLD_RT",
"LODZ_1_RT",
"LODZ_2_RT",
"BERGHEIM_RT",
"ALTENKUNSTADT_RT",
"LISTERHILLS_RT",
"SUEDHAFEN_RT",
"PILSEN_RT",
"HAMBURG_SC",
"LOEHNE_SC",
"SCHWABHAUSEN_SC",
"HALDENSLEBEN_RSS",
"ALTENKUNSTADT_RSS",
"LOEHNE_RSS",
"OHRDRUF_RSS",
"LANGENSELBOLD_RSS",
"LOEHNE_CP"
] |
targetStorageHierarchy |
string |
Ziel-Lagereinheit – analog S08 - bei internen Umfuhren (targetLocation und targetStorageHierarchy treten nur exklusiv auf) Maximum Length: 30 |
intraWarehouseDestination |
string |
MfrZiel im KR1 - kann sowohl zusaetzlich zu targetLocation bzw. targetStorageHierarchy oder einzeln auftreten Maximum Length: 10 |
internalNumber |
string |
Im LVS verfügbare Nummer des Lagerauftrags |
externalNumber |
string |
Externe Nummer des Lagerauftrags. |
description |
string |
Description |
storageOrderTypeCode |
string |
Code des LVS für einen Lagerauftragstyp. |
sealNo |
string |
Plombennummer, sofern diese im Lagerauftrag vorhanden ist (z.B. bei der Verladung in einen Wechselaufbau) oder ggf. bei Öffnen einer Retouren-WAB. |
orderDate |
string (date) |
Auftragsdatum eines Lagerauftrags. Z.B. bei Replenishment-Umfuhren der Tag, für den die Umfuhren beauftragt werden. |
2 -
2.1 -
Property | Type | Description |
---|---|---|
(Root) |
object |
|
eventId* |
string (uuid) |
The uniq eventId |
traceId* |
string (uuid) |
The uniq traceId |
spanId |
string (uuid) |
The uniq spanId |
eventTime* |
string |
Time of occurrence of the event |
version* |
The number of version schema |
|
context |
string |
The context / business case |
eventType* |
string (enum) |
The type of operation Any of: [
"INSERT",
"UPDATE",
"DELETE"
] |
metaData |
object |
|
senderSystem |
string (enum) |
system Any of: [
"KR1_SHF",
"KR1_HHSTR",
"WMSX_SON",
"WMSX_AKU",
"KMOTION_ILO",
"KMOTION_GHM",
"COBRA",
"LSAS",
"IDEEFIX",
"OBS",
"RESY",
"LDH",
"RETAILSCHICHT",
"BUBE",
"FINE_INBOUND",
"F2X",
"WMSX_WEISMAIN",
"LIGIS",
"KR1_MANDANT"
] |
data* |
object |
|
location* |
string (enum) |
warehouse locations Any of: [
"ANSBACH",
"LOEHNE",
"LANGENSELBOLD",
"MOSINA",
"OHRDRUF",
"HALDENSLEBEN",
"HALDENSLEBEN_RT",
"SUEDHAFEN",
"SONNEFELD",
"ALTENKUNSTADT",
"WEIDEN",
"KRACANY",
"ILOWA",
"ILOWA_RT",
"ILOWA_RSS",
"GERNSHEIM",
"ERFURT",
"HAMBURG_RT",
"OTELFINGEN_RT",
"KRIMICE_RT",
"STAHLAVY_RT",
"OHRDRUF_RT",
"LOEHNE_RT",
"LANGENSELBOLD_RT",
"LODZ_1_RT",
"LODZ_2_RT",
"BERGHEIM_RT",
"ALTENKUNSTADT_RT",
"LISTERHILLS_RT",
"SUEDHAFEN_RT",
"PILSEN_RT",
"HAMBURG_SC",
"LOEHNE_SC",
"SCHWABHAUSEN_SC",
"HALDENSLEBEN_RSS",
"ALTENKUNSTADT_RSS",
"LOEHNE_RSS",
"OHRDRUF_RSS",
"LANGENSELBOLD_RSS",
"LOEHNE_CP"
] |
storageLocation* |
object |
|
storageLocationId* |
string |
techn. Eindeutiger Key des Lagerplatzes. |
storageLocationCode* |
string |
BusinessKey: Darstellung des Lagerplatzes als fachlicher Schlüssel, wie dieser im LVS Front-End angezeigt wird |
type* |
string (enum) |
Beschreibt die Eigenschaft eines Platzes, ob dieser ein echter Lagerplatz oder ein virtueller Lagerplatz ist Any of: [
"VIRTUAL",
"PHYSICAL"
] |
building |
string |
|
floor |
string |
|
aisle |
string |
|
layer |
string |
|
field |
string |
|
place |
string |
|
lastInventoryDate |
string |
|
occupied |
string |
|
lockCode |
string |
Lagerplatzsperre, wenn höhere Sperren vorhanden sind, sollen sich diese auf den Platz vererben |
lock |
string (enum) |
ist der Platz gespeert oder nicht Any of: [
"LOCKED",
"NOT_LOCKED"
] |
rack |
object |
|
width |
object |
|
value |
number |
Weitenwert |
unit |
string (enum) |
unit length Any of: [
"METER"
] |
length |
object |
|
value |
number |
Längenwert |
unit |
string (enum) |
unit length Any of: [
"METER"
] |
height |
object |
|
value |
number |
Höhenwert |
unit |
string (enum) |
unit length Any of: [
"METER"
] |
volume |
object |
|
value |
number |
Volumenwert |
unit |
string (enum) |
unit volume Any of: [
"CUBIC_METER",
"LITER"
] |
typeCode |
string |
|
type |
string (enum) |
Fachtypen Any of: [
"BIN",
"BOX",
"PALETTE",
"CORLETTE",
"CARTON",
"PULK",
"UNKNOWN"
] |
capacity |
integer |
|
maxWeight |
object |
|
value |
integer |
Max. Gewichtswert |
unit |
string (enum) |
unit weight Any of: [
"GRAM",
"KILOGRAM"
] |
area* |
object |
|
storageType* |
string (enum) |
Unterscheidung nach Kommissionierung / Reservelager / Rücksendestelle Any of: [
"PICKING",
"RESERVE",
"RETURN",
"OTHER"
] |
storageHierarchy |
object |
|
level1 |
string |
|
level2 |
string |
|
level3 |
string |
|
heavyArea |
string (enum) |
when true, then this is a heavy area Any of: [
"HEAVY",
"NOT_HEAVY"
] |
priority |
string (enum) |
Any of: [
"LOW",
"HIGH"
] |
valuableArea |
string (enum) |
Kennzeichnung ob der Lagerbereich diebstahlgefährdete Artikel enthält (Käfigbereich) Any of: [
"NORMAL",
"VALUABLE"
] |
forkliftControlSystem |
boolean |
Bereich für Staplerleitsystem geeingnet |
driverlessTransportSystem |
boolean |
Bereich für fahrerloses Transportsystem geeignet |
usageCoefficient |
integer |
Minimum: 0 |
harzadousMaterialZone |
string |
Gefahrstoffzone Maximum Length: 50 |
harzadousMaterialZoneGroup |
string |
Gefahrstoffzonegruppe Maximum Length: 10 |
fireZone |
string |
Brandabschnitt Maximum Length: 10 |
harzadousMaterialZoneOverflow |
string |
Gefahrstoffzone Überlauf Maximum Length: 10 |
nonCommercialGoodsArea |
string (enum) |
Kennzeichnung, ob der Lagerbereich für Betriebsmittel ist Any of: [
"YES",
"NO"
] |
aisleProperties |
object |
Aisle detail properties |
strategyCode |
string |
|
targetCode |
string |
|
lockCode |
string |
|
lock |
string (enum) |
Any of: [
"LOCKED",
"NOT_LOCKED"
] |
layerProperties |
object |
|
lockCode |
string |
|
lock |
string (enum) |
Any of: [
"LOCKED",
"NOT_LOCKED"
] |
fieldProperties |
object |
|
lockCode |
string |
|
lock |
string (enum) |
Any of: [
"LOCKED",
"NOT_LOCKED"
] |
3 -
3.1 -
Property | Type | Description |
---|---|---|
(Root) |
object |
|
eventId* |
string (uuid) |
The uniq eventId |
traceId* |
string (uuid) |
The uniq traceId |
spanId |
string (uuid) |
The uniq spanId |
eventTime* |
string |
Time of occurrence of the event |
version* |
The number of version schema |
|
context |
string |
The context / business case |
eventType* |
string (enum) |
The type of operation Any of: [
"INSERT",
"UPDATE",
"DELETE"
] |
metaData |
object |
|
senderSystem* |
string (enum) |
system Any of: [
"KR1_SHF",
"KR1_HHSTR",
"WMSX_SON",
"WMSX_AKU",
"KMOTION_ILO",
"KMOTION_GHM",
"COBRA",
"LSAS",
"IDEEFIX",
"OBS",
"RESY",
"LDH",
"RETAILSCHICHT",
"BUBE",
"FINE_INBOUND",
"F2X",
"WMSX_WEISMAIN",
"LIGIS",
"KR1_MANDANT"
] |
client |
string (enum) |
client Any of: [
"FBO",
"MYTOYS",
"BONPRIX",
"WITT",
"CORSO",
"HEINE",
"BAUMARKT_DIREKT",
"BAUR",
"OTTO",
"ABOUTYOU",
"F2X",
"F2X_MANUFACTUM",
"F2X_PERSONALSHOP",
"F2X_SHEEGO",
"F2X_CLEARANCE"
] |
data* |
object |
|
location* |
string (enum) |
warehouse locations Any of: [
"ANSBACH",
"LOEHNE",
"LANGENSELBOLD",
"MOSINA",
"OHRDRUF",
"HALDENSLEBEN",
"HALDENSLEBEN_RT",
"SUEDHAFEN",
"SONNEFELD",
"ALTENKUNSTADT",
"WEIDEN",
"KRACANY",
"ILOWA",
"ILOWA_RT",
"ILOWA_RSS",
"GERNSHEIM",
"ERFURT",
"HAMBURG_RT",
"OTELFINGEN_RT",
"KRIMICE_RT",
"STAHLAVY_RT",
"OHRDRUF_RT",
"LOEHNE_RT",
"LANGENSELBOLD_RT",
"LODZ_1_RT",
"LODZ_2_RT",
"BERGHEIM_RT",
"ALTENKUNSTADT_RT",
"LISTERHILLS_RT",
"SUEDHAFEN_RT",
"PILSEN_RT",
"HAMBURG_SC",
"LOEHNE_SC",
"SCHWABHAUSEN_SC",
"HALDENSLEBEN_RSS",
"ALTENKUNSTADT_RSS",
"LOEHNE_RSS",
"OHRDRUF_RSS",
"LANGENSELBOLD_RSS",
"LOEHNE_CP"
] |
storageHandlingUnitId* |
string |
techn. Key einer Ladeinheit / eines Gebindes |
storageHandlingUnitCode* |
string |
Business-Key einer Ladeinheit / eines Gebindes |
storageHandlingUnitParentId |
string |
Falls das Gebinde schachtelbar ist, so ist hier der jeweilige Stapel zu referenzieren |
packageCode* |
string |
Kennzeichnung der Verpackungsnorm (z.B. Palette, Kolli N1 usw.) |
package* |
string (enum) |
Verpackungsnormen Any of: [
"UNKNOWN_PACKAGE",
"VIRTUAL_PACKAGE",
"N1",
"N2",
"N3",
"N4",
"N5",
"N6",
"N7",
"P1",
"P2",
"P3",
"P4",
"P5",
"BIN",
"HIGHBIN",
"BOX",
"HIGHBOX",
"LARGE_FORMAT_PALETTE",
"LARGE_FORMAT_CORLETTE",
"TROLLEY",
"GENERIC_UNIT",
"LOGISTICS_UNIT",
"HUNT",
"SHOECARTON",
"BULKBOX"
] |
packageGroup* |
string (enum) |
Verpackungsnormgruppen Any of: [
"UNKNOWN_PACKAGEGROUP",
"VIRTUAL_PACKAGEGROUP",
"GERNERIC_PACKAGEGROUP",
"CARTON",
"PALETTE",
"BIN",
"BOX",
"CORLETTE",
"TROLLEY",
"BULKBOX"
] |
sample |
string (enum) |
Kennzeichnung, ob es sich um ein Gebinde handelt, das in der Musterziehung erstellt wurde Any of: [
"NO_SAMPLE",
"SAMPLE"
] |
perforation |
string (enum) |
Kennzeichnung, ob eine Ladeeinheit durch eine automatische Perforation perforiert werden darf Any of: [
"NO_PERFORATION",
"PERFORATION",
"UNKNOWN"
] |
damaged |
string (enum) |
Kennzeichnung, ob das Gebinde beim Wareneingang defekt war Any of: [
"NOT_DAMAGED",
"DAMAGED"
] |
orderRelatedHandlingUnit |
string (enum) |
Kennzeichnung für den Einzelteilprozess (z.B. bei Otto Market) zur Unterscheidung ob ein Auftrag für ein Artikel im Gebinde vorliegt Any of: [
"YES",
"NO"
] |
orderRelatedHandlingUnitCode |
string |
Interne Werte der Vereinnahmung des ETV-Prozesses (z.B. Codes für Auftragsware, Schmuck, Präventiv etc.) des jeweiligen LVS |
captureType |
string (enum) |
Art der Erfassung einer Ladeeinheit, aktuell nur für Kartons zutreffend. Any of: [
"QR",
"OCR",
"MANUAL"
] |
weight |
object |
|
value |
integer |
Gewichtswert |
unit |
string (enum) |
unit weight Any of: [
"GRAM",
"KILOGRAM"
] |
returnTargetCode |
string |
Interne Werte des Sortierzieles Maximum Length: 10 |
4 -
4.1 -
Property | Type | Description |
---|---|---|
(Root) |
object |
Open Orders |
COMMKEY* |
integer |
Item Option Communication Key Minimum: 0 |
DATUM* |
string (date) |
Datum Minimum Length: 10 |
OFFENER_NAB* |
integer |
Offener NAB Minimum: 0 |
RESERVIERTER_NAB* |
integer |
Reservierter NAB Minimum: 0 |
REPORTZEITSTEMPEL* |
string (date-time) |
Exportzeitstempel |
RUN_ID* |
string |
RUN_ID Minimum Length: 16 |
5 -
5.1 -
Property | Type | Description |
---|---|---|
(Root) |
object |
Open Orders |
COMMKEY* |
integer |
Item Option Communication Key Minimum: 0 |
DATUM* |
string (date) |
Datum Minimum Length: 10 |
OFFENER_NAB* |
integer |
Offener NAB Minimum: 0 |
RESERVIERTER_NAB* |
integer |
Reservierter NAB Minimum: 0 |
REPORTZEITSTEMPEL* |
string (date-time) |
Exportzeitstempel |
RUN_ID* |
string |
RUN_ID Minimum Length: 16 |
6 -
6.1 -
Property | Type | Description |
---|---|---|
(Root) |
object |
Open Orders |
COMMKEY* |
integer |
Item Option Communication Key Minimum: 0 |
DATUM* |
string (date) |
Datum Minimum Length: 10 |
OFFENER_NAB* |
integer |
Offener NAB Minimum: 0 |
RESERVIERTER_NAB* |
integer |
Reservierter NAB Minimum: 0 |
REPORTZEITSTEMPEL* |
string (date-time) |
Exportzeitstempel |
RUN_ID* |
string |
RUN_ID Minimum Length: 16 |
7 - S03 Stock Movement
- Status
-
Version 1.0 published 07.06.2022
- Approval
-
-
DeepSea:
-
NEON: abgestimmt mit Körber zur Umsetzung in NEON_Fein_Pflichtenheft_WEN1_ SST_v6.0
-
- Comment
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
||
Producer |
kMotion |
|
Producer |
KR1 |
|
Producer |
COBRA |
|
Producer |
WMSx/SON |
|
Producer |
F2X |
|
Consumer |
FLASH |
|
Consumer |
SOLAR |
|
Consumer |
F2X |
2. Business Context
Goal of the interface: Distribution of goods movements (level single part) to a specific state.
3. Informationflow
Partner | Direction | FINE-Service | Topic/API | Description | Status |
---|---|---|---|---|---|
WMS:WMSX |
send |
Stock |
stock.stockmovement.v2 |
StockMovement.v2.0 |
ready |
WMS:KR1 |
send |
Stock |
stock.stockmovement.kr1.v2 |
StockMovementWms.v2.1 |
ready |
WMS:F2X |
send |
Stock |
stock.stockmovement.f2xwms.v2 |
StockMovementWms.v2.1 |
planned |
WMS:KMOTION |
send |
Stock |
stock.stockmovement.kmotion.v2 |
StockMovementWms.v2.1 |
planned |
FLASH |
receive |
Stock |
stock.stockmovement.v2 |
StockMovement.v2.0 |
ready |
FLASH |
receive |
Stock |
stock.stockmovement.kr1.v2 |
StockMovementWms.v2.1 |
ready |
FLASH |
receive |
Stock |
stock.stockmovement.f2xwms.v2 |
StockMovementWms.v2.1 |
planned |
FLASH |
receive |
Stock |
stock.stockmovement.kmotion.v2 |
StockMovementWms.v2.1 |
planned |
F2X:F2X |
receive |
Stock |
stock.stockmovement.f2x.v2 |
StockMovementErp.v2.1 |
planned |
4. Interface
4.1. Direction WMS to FINE
4.1.1. Header
This interface uses the Service Header
Special expresion for this interface:
Fieldname | Expresion |
---|---|
type |
|
context |
STOCK_MOVEMENT |
4.1.2. Datamodel
Unresolved directive in <stdin> - include::autogenerated-schema-tables/StockMovementWms.v2.3.schema.adoc[]
4.1.3. Enumeration
Field: Type
Meta Value | Description | Short Value |
---|---|---|
STORAGE |
Einlagerung |
|
REMOVAL |
Auslagerung |
|
RELOCATION |
Umlagerung |
4.1.4. Example
{
"eventId": "00ce536f-923a-42f4-8128-be118faf1d87",
"traceId": "00ce536f-923a-42f4-8128-be118faf1d85",
"eventTime": "2016-04-16T16:06:05+02:00",
"version": "string",
"context": "STOCK_MOVEMENT",
"type": "MOVEMENT",
"sender": "kMotion",
"data": {
"location": "LSB",
"movementId":"123436262",
"movementType":"STORAGE",
"movementCode":"3323",
"quantity": {
"value": 123,
"unit":"PIECES"
},
"processMovementTime": "2016-04-16T16:06:05+02:00",
"storageOrder": {
"id": "25363636263",
"key":"737373737"
},
"situation": "körber wert",
"source":{
"quantId":"123",
"storageLocation": {
"id": "H01-HRL/104-2-009-03"
},
"storageHandlingUnit": [{
"level": "PARENT",
"id":"63462343"
}]
},
"target":{
"quantId":"84847373",
"storageLocation": {
"id": "H07-HRL/108-2-009-03"
},
"storageHandlingUnit": [{
"level": "PARENT",
"id":"737737"
}],
"product": {
"logisticProductId":"12351548516",
"itemNumber":"920571",
"itemSize":"46"
},
"supplier": {
"id":"12351548516",
"number":"920571"
},
"goodsIn": {
"id":"12351548516",
"positionId":"46"
}
}
}
}
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
previous version |
1.0 |
07.06.22 |
||
previous version |
2.0 |
20.09.22 |
- ServiceHeader Attriute spanId als optionales Feld einfügen - ServiceHeader Attriute type umbenannt in eventType - Service Header neues Objekt "metaData" einfügen und die Attribute "sender" in das neue Objekt verschieben - Service Header die Attribute "messageNumber" und "lastMessageNumber" aus dem Schema entfernen - bei Attribute "sender" das Schema des GlobalEnum "sender" verlinken - unter Data\quantity Attibute "unit" das Schema des GlobalEnum unit verlinken |
|
previous version |
2.1 |
25.01.23 |
- Aufnahme von "logisticsPackingunitId" und "packingUnitIndex" unter "product" für mehrteilige Artikel als optionale Felder - Aufnahme von "BUID", "bestBeforeDate", "batch", "imei", "serialNo" unter "Data" als optionale Felder - Verlinkung auf system v4 - Aufnahme von Client in metaData |
|
current version |
2.2 |
29.11.23 |
- Änderung des Attriutes BUID auf BUAID |
|
coming version |
2.3 |
25.09.2024 |
- Entfernung ENUM für company - Umstellung auf String; Entfernung ENUM für Client - Umstellung auf String |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for movements in a warehouse Version 2.3",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StockMovementWms.v2.3.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"title": "The eventId of previous record or batchId",
"description": "Optionally, if this record (event) is one of a sequence of records and the order is important, then here is the id of the previous record (event), recommended as uuid, Special usecases can be specify for some interfaces",
"examples": [
"00ce536f-923a-42f4-5463-32a41877b3c2"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2022-03-22T09:52:00.000+01:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"maxLength": 6,
"examples": ["1.01", "01.02"]
},
{
"type": "integer",
"minimum": 1,
"maximum": 99999,
"examples": [1, 2]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"STOCK_MOVEMENT"
]
},
"eventType": {
"type": "string",
"title": "The concrete type = kind of record(event)",
"description": "This attribute is to be used if the data set can have more than one characteristic. E.g. goods delivery start or goods delivery end. The possible values are to be co-ordinated here as Enum between the partners.",
"examples": ["INSERT", "UPDATE", "DELETE"]
},
"metaData": {
"type": "object",
"title": "additional meta information",
"description": "optional, can be used with different characteristics for technical data per interface",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v4.schema.json"
},
"client": {
"title": "client",
"description": "Client/mandant (messages of different clients have different processing rules and destination interfaces) - use FBO for Fulfillment by Otto (CORE, DeepSea...)",
"type": "string",
"maxLength": 50,
"examples": ["FBO","F2X"]
},
"required": [
"senderSystem"
]
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"movementId": {
"description": "ID einer Bewegung. Möglichst technischer Key.",
"type": "string",
"title": "Movemtent ID",
"examples":["1234"]
},
"movementCode": {
"description": "Bewegungsart (LVS spezifisch)",
"type": "string",
"title": "Movement Code",
"example": ["1071"]
},
"BUAID": {
"description": "BI UUID, eindeutige Kennzeichnung eines Einzelteils (Quanten) im logistischen Prozess.",
"type": "string",
"title": "BUAID",
"examples":["2344545-334542-465g45ddf"]
},
"bestBeforeDate": {
"description": "Mindesthaltbarkeitsdatum",
"type": "string",
"title": "bestBeforeDate",
"examples":["2022-12-31"]
},
"batch": {
"description": "Chargennummer des Lieferanten",
"type": "string",
"title": "batch",
"examples":["124345d"]
},
"imei": {
"description": "IMEI eines techn. Geräts",
"type": "string",
"title": "imei",
"examples":["2345-45452-43365-5643"]
},
"serialNo": {
"description": "Seriennummer des Herstellers",
"type": "string",
"title": "serialNo",
"examples":["D345-gkjpo-3112"]
},
"quantity": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "the quantity for this item size/order"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unit.v1.schema.json"
}
}
},
"processMovementTime": {
"description": "Zeitpunkt der Bewegung",
"type": "string",
"format": "date-time",
"title": "processtime movement",
"examples":["2022-03-22T09:52:00.000+01:00"]
},
"storageOrder": {
"type": "object",
"properties": {
"id": {
"description": "Referenz auf den Lagerauftrag (gibt es im KR1)",
"type": "string",
"title": "",
"examples":["123"]
},
"key": {
"description": "Belegnummer der Bewegung",
"type": "string",
"title": "",
"examples":["123"]
}
}
},
"situation": {
"description": "körber spezifere Eigenschaft des Dialoges aus dem die Bewegung generiert wird",
"type": "string",
"title": "",
"example": [""]
},
"source": {
"type": "object",
"properties": {
"quantId": {
"description": "ID der feinsten bestandstrennenden Einheit",
"type": "string",
"title": "",
"examples":["1189582"]
},
"storageLocationId": {
"description": "Eindeutige Identifikation eines Lagerplatzes. Weitere Details des Lagerplatzes sind aus masterdata.storageLocation ableitbar.",
"type": "string",
"title": "",
"examples":["123"]
},
"storageHandlingUnitId": {
"description": "Eindeutige Identifikation eines Ladungsträgers. Weitere Details des Ladungsträgers sind aus masterdata.storageHandlingUnit ableitbar.",
"type": "string",
"title": "",
"examples":["123"]
}
}
},
"target": {
"type": "object",
"properties": {
"quantId": {
"description": "ID der feinsten bestandstrennenden Einheit",
"type": "string",
"title": "",
"examples":["1189582"]
},
"storageLocationId": {
"description": "Eindeutige Identifikation eines Lagerplatzes. Weitere Details des Lagerplatzes sind aus masterdata.storageLocation ableitbar.",
"type": "string",
"title": "",
"examples":["123"]
},
"storageHandlingUnitId": {
"description": "Eindeutige Identifikation eines Ladungsträgers. Weitere Details des Ladungsträgers sind aus masterdata.storageHandlingUnit ableitbar.",
"type": "string",
"title": "",
"examples":["123"]
}
}
},
"product": {
"type": "object",
"properties": {
"logisticProductId": {
"description": "master communication key",
"type": "string",
"title": "¨Logistic Product Id",
"examples":["123"]
},
"itemNumber": {
"description": "the item number",
"type": "string",
"title": "Item Number",
"examples":["4"]
},
"itemSize": {
"description": "the item size (binary size, not alphanumeric)",
"type": "string",
"title": "Item Size",
"examples":["960"]
},
"company": {
"title": "Company",
"description": "actual owner company",
"type": "string",
"maxLength": 50,
"examples": [
"OTTO"
]
},
"logisticsPackingunitId": {
"description": "master communication key from LSAS for products with multiple parts",
"type": "string",
"title": "¨Logistic PackingUnit Id",
"examples":["123"]
},
"packingUnitIndex": {
"description": "Part Number for products with multiple parts - deprecated",
"type": "string",
"title": "¨Logistic PackingUnit Number",
"examples":["123"]
}
}
},
"supplier": {
"type": "object",
"properties": {
"id": {
"description": "Lieferanten ID",
"type": "string",
"title": "¨",
"examples":["123"]
},
"number": {
"description": "LKZ - Solange der Lieferantenstamm aus LSAS noch nicht an FINE angebunden ist, wird dieses Feld benötigt",
"type": "string",
"title": "",
"examples":["258369"]
},
"company": {
"description": "Solange der Lieferantenstamm aus LSAS noch nicht an FINE angebunden ist, wird dieses Feld benötigt",
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/company.v1.schema.json"
}
}
},
"goodsIn": {
"type": "object",
"properties": {
"id": {
"description": "eindeutige Kennzeichnung der Wareneingang-Kopfdaten. Weitere Details des Wareneingangs sind über die Verknüpfung dieser ID mit inbound.goodsInId möglich.",
"type": "string",
"title": "",
"examples":["123"]
},
"positionId": {
"description": "eindeutige Kennzeichnung der Wareneingang-Positionsdaten. Weitere Details des Wareneingangs sind über die Verknüpfung dieser ID mit inbound.goodsInPositionId möglich.",
"type": "string",
"title": "",
"examples":["4"]
}
}
}
},
"required": [
"location",
"movementId",
"movementCode",
"processMovementTime"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
4.2. Direction FINE to ERP
4.2.2. Datamodel
4.2.3. Enumeration
Field: Type
Meta Value | Description | Short Value |
---|
4.2.4. Example
4.2.5. Schema
Version |
Number |
File |
Published on |
Changes |
previous version |
||||
current version |
2.1 |
01.06.23 |
- Aufnahme von "erpPackingUnitId" und "packingUnitIndex" unter "product" für mehrteilige Artikel als optionale Felder - Aufnahme von "BUID", "bestBeforeDate", "batch", "imei", "serialNo" unter "Data" als optionale Felder - Verlinkung auf system v4 - Aufnahme von Client in metaData |
|
coming version |
2.2 |
29.11.23 |
- Änderung des Attriutes BUID auf buaid |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for movements in a warehouse Version 2.1",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StockMovementErp.v2.1.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"title": "The eventId of previous record or batchId",
"description": "Optionally, if this record (event) is one of a sequence of records and the order is important, then here is the id of the previous record (event), recommended as uuid, Special usecases can be specify for some interfaces",
"examples": [
"00ce536f-923a-42f4-5463-32a41877b3c2"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2022-03-22T09:52:00.000+01:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"maxLength": 6,
"examples": ["1.01", "01.02"]
},
{
"type": "integer",
"minimum": 1,
"maximum": 99999,
"examples": [1, 2]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"STOCK_MOVEMENT"
]
},
"eventType": {
"type": "string",
"title": "The concrete type = kind of record(event)",
"description": "This attribute is to be used if the data set can have more than one characteristic. E.g. goods delivery start or goods delivery end. The possible values are to be co-ordinated here as Enum between the partners.",
"examples": ["INSERT", "UPDATE", "DELETE"]
},
"metaData": {
"type": "object",
"title": "additional meta information",
"description": "optional, can be used with different characteristics for technical data per interface",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v4.schema.json"
},
"client": {
"title": "client",
"description": "Client/mandant (messages of different clients have different processing rules and destination interfaces) - use FBO for Fulfillment by Otto (CORE, DeepSea...)",
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/company.v4.schema.json"
}
},
"required": [
"senderSystem"
]
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"movementId": {
"description": "ID einer Bewegung. Möglichst technischer Key.",
"type": "string",
"title": "Movemtent ID",
"examples":["1234"]
},
"movementCode": {
"description": "Bewegungsart (LVS spezifisch)",
"typeCode": "string",
"title": "Movement Code",
"example": ["1071"]
},
"BUID": {
"description": "BI UUID, eindeutige Kennzeichnung eines Einzelteils (Quanten) im logistischen Prozess.",
"type": "string",
"title": "BUID",
"examples":["2344545-334542-465g45ddf"]
},
"bestBeforeDate": {
"description": "Mindesthaltbarkeitsdatum",
"type": "string",
"title": "bestBeforeDate",
"examples":["2022-12-31"]
},
"batch": {
"description": "Chargennummer des Lieferanten",
"type": "string",
"title": "batch",
"examples":["124345d"]
},
"imei": {
"description": "IMEI eines techn. Geräts",
"type": "string",
"title": "imei",
"examples":["2345-45452-43365-5643"]
},
"serialNo": {
"description": "Seriennummer des Herstellers",
"type": "string",
"title": "serialNo",
"examples":["D345-gkjpo-3112"]
},
"quantity": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "the quantity for this item size/order"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unit.v1.schema.json"
}
}
},
"processMovementTime": {
"description": "Zeitpunkt der Bewegung",
"type": "string",
"format": "date-time",
"title": "processtime movement",
"examples":["2022-03-22T09:52:00.000+01:00"]
},
"storageOrder": {
"type": "object",
"properties": {
"id": {
"description": "Referenz auf den Lagerauftrag (gibt es im KR1)",
"type": "string",
"title": "",
"examples":["123"]
},
"key": {
"description": "Belegnummer der Bewegung",
"type": "string",
"title": "",
"examples":["123"]
}
}
},
"situation": {
"description": "körber spezifere Eigenschaft des Dialoges aus dem die Bewegung generiert wird",
"typeCode": "string",
"title": "",
"example": [""]
},
"source": {
"type": "object",
"properties": {
"quantId": {
"description": "ID der feinsten bestandstrennenden Einheit",
"type": "string",
"title": "",
"examples":["1189582"]
},
"storageLocationId": {
"description": "Eindeutige Identifikation eines Lagerplatzes. Weitere Details des Lagerplatzes sind aus masterdata.storageLocation ableitbar.",
"type": "string",
"title": "",
"examples":["123"]
},
"storageHandlingUnitId": {
"description": "Eindeutige Identifikation eines Ladungsträgers. Weitere Details des Ladungsträgers sind aus masterdata.storageHandlingUnit ableitbar.",
"type": "string",
"title": "",
"examples":["123"]
}
}
},
"target": {
"type": "object",
"properties": {
"quantId": {
"description": "ID der feinsten bestandstrennenden Einheit",
"type": "string",
"title": "",
"examples":["1189582"]
},
"storageLocationId": {
"description": "Eindeutige Identifikation eines Lagerplatzes. Weitere Details des Lagerplatzes sind aus masterdata.storageLocation ableitbar.",
"type": "string",
"title": "",
"examples":["123"]
},
"storageHandlingUnitId": {
"description": "Eindeutige Identifikation eines Ladungsträgers. Weitere Details des Ladungsträgers sind aus masterdata.storageHandlingUnit ableitbar.",
"type": "string",
"title": "",
"examples":["123"]
}
}
},
"product": {
"type": "object",
"properties": {
"erpProductId": {
"title": "ERP product ID",
"description": "ERP product ID - the id of the product in erp received from LSAS",
"type": "string",
"examples": ["9f721a53-2679-573f-bbfe-f6f21c4f6725"]
},
"erpPackingUnitId": {
"title": "ERP packign unit ID",
"description": "GL/bulky items: ID for the part/packing unit based on item - size - part from ERP (LSAS gets it from MOLA)",
"type": "string",
"examples": ["5fa54ec6-c538-36c2-85bf-adc5633dbab5"]
},
"itemNumber": {
"description": "the item number",
"type": "string",
"title": "Item Number",
"examples":["4"]
},
"itemSize": {
"description": "the item size (binary size, not alphanumeric)",
"type": "string",
"title": "Item Size",
"examples":["960"]
},
"company": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/company.v1.schema.json"
},
"packingUnitIndex": {
"description": "Part Number for products with multiple parts - deprecated",
"type": "string",
"title": "¨Logistic PackingUnit Number",
"examples":["123"]
}
}
},
"supplier": {
"type": "object",
"properties": {
"id": {
"description": "Lieferanten ID",
"type": "string",
"title": "¨",
"examples":["123"]
},
"number": {
"description": "LKZ - Solange der Lieferantenstamm aus LSAS noch nicht an FINE angebunden ist, wird dieses Feld benötigt",
"type": "string",
"title": "",
"examples":["258369"]
},
"company": {
"description": "Solange der Lieferantenstamm aus LSAS noch nicht an FINE angebunden ist, wird dieses Feld benötigt",
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/company.v1.schema.json"
}
}
},
"goodsIn": {
"type": "object",
"properties": {
"id": {
"description": "eindeutige Kennzeichnung der Wareneingang-Kopfdaten. Weitere Details des Wareneingangs sind über die Verknüpfung dieser ID mit inbound.goodsInId möglich.",
"type": "string",
"title": "",
"examples":["123"]
},
"positionId": {
"description": "eindeutige Kennzeichnung der Wareneingang-Positionsdaten. Weitere Details des Wareneingangs sind über die Verknüpfung dieser ID mit inbound.goodsInPositionId möglich.",
"type": "string",
"title": "",
"examples":["4"]
}
}
}
},
"required": [
"location",
"movementId",
"movementCode",
"processMovementTime"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
8 - S07 Storage Order
- Status
-
Version 1.0 published 21.09.2022
- Approval
- Comment
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
||
Producer |
KR1 |
|
Consumer |
FLASH |
|
Consumer |
F2X |
2. Business Context
Mit dem Service werden die Lageraufträge von den LVS Systemen an die
Events:
-
Einfügen eines Lagerauftrags
-
Änderung eines Lagerauftrags
-
Löschen eines Lagerauftrags
3. Informationflow
Partner | Direction | FINE-Service | Topic/API | Description | Status |
---|---|---|---|---|---|
WMS:KR1 |
send |
Stock |
stock.stock.storageorder |
StorageOrderWms.v1.1 |
ready |
FLASH |
receive |
Stock |
stock.stock.storageorder |
StorageOrderWms.v1.1 |
ready |
F2X:F2X |
receive |
Stock |
stock.storageorder.f2x.v1 |
StorageOrderErp.v1.1 |
planned |
4. Interface
4.1. Direction WMS to FINE
4.1.1. Header
This interface uses the Service Header
Special expresion for this interface:
Fieldname | Expresion |
---|---|
type |
|
context |
RETURNSPROCESSING, STORAGELOCATION |
4.1.2. Datamodel
Property | Type | Description |
---|---|---|
(Root) |
object |
|
eventId* |
string (uuid) |
The uniq eventId |
traceId* |
string (uuid) |
The uniq traceId |
spanId |
string |
The eventId of previous record or batchId |
eventTime* |
string |
Time of occurrence of the event |
version* |
The number of version schema |
|
context |
string |
The context / business case |
eventType* |
string (enum) |
The type of operation Any of: [
"INSERT",
"UPDATE",
"DELETE"
] |
metaData |
object |
additional meta information |
senderSystem* |
string (enum) |
system Any of: [
"KR1_SHF",
"KR1_HHSTR",
"WMSX_SON",
"WMSX_AKU",
"KMOTION_ILO",
"KMOTION_GHM",
"COBRA",
"LSAS",
"IDEEFIX",
"OBS",
"RESY",
"LDH",
"RETAILSCHICHT",
"BUBE",
"FINE_INBOUND",
"F2X",
"WMSX_WEISMAIN",
"LIGIS",
"KR1_MANDANT"
] |
ownerCompany |
string |
The owner company belonging to the logistic product of one or more underlying stock movements of this storage order. Maximum Length: 50 |
data* |
object |
|
location |
string (enum) |
warehouse locations Any of: [
"ANSBACH",
"LOEHNE",
"LANGENSELBOLD",
"MOSINA",
"OHRDRUF",
"HALDENSLEBEN",
"HALDENSLEBEN_RT",
"SUEDHAFEN",
"SONNEFELD",
"ALTENKUNSTADT",
"WEIDEN",
"KRACANY",
"ILOWA",
"ILOWA_RT",
"ILOWA_RSS",
"GERNSHEIM",
"ERFURT",
"HAMBURG_RT",
"OTELFINGEN_RT",
"KRIMICE_RT",
"STAHLAVY_RT",
"OHRDRUF_RT",
"LOEHNE_RT",
"LANGENSELBOLD_RT",
"LODZ_1_RT",
"LODZ_2_RT",
"BERGHEIM_RT",
"ALTENKUNSTADT_RT",
"LISTERHILLS_RT",
"SUEDHAFEN_RT",
"PILSEN_RT",
"HAMBURG_SC",
"LOEHNE_SC",
"SCHWABHAUSEN_SC",
"HALDENSLEBEN_RSS",
"ALTENKUNSTADT_RSS",
"LOEHNE_RSS",
"OHRDRUF_RSS",
"LANGENSELBOLD_RSS",
"LOEHNE_CP"
] |
storageOrderId* |
string |
(techn.) ID eines Lagerauftrags |
parentStorageOrderId |
string |
(techn.) ID des übergeordneten Lagerauftrags |
targetLocation |
string (enum) |
warehouse locations Any of: [
"ANSBACH",
"LOEHNE",
"LANGENSELBOLD",
"MOSINA",
"OHRDRUF",
"HALDENSLEBEN",
"HALDENSLEBEN_RT",
"SUEDHAFEN",
"SONNEFELD",
"ALTENKUNSTADT",
"WEIDEN",
"KRACANY",
"ILOWA",
"ILOWA_RT",
"ILOWA_RSS",
"GERNSHEIM",
"ERFURT",
"HAMBURG_RT",
"OTELFINGEN_RT",
"KRIMICE_RT",
"STAHLAVY_RT",
"OHRDRUF_RT",
"LOEHNE_RT",
"LANGENSELBOLD_RT",
"LODZ_1_RT",
"LODZ_2_RT",
"BERGHEIM_RT",
"ALTENKUNSTADT_RT",
"LISTERHILLS_RT",
"SUEDHAFEN_RT",
"PILSEN_RT",
"HAMBURG_SC",
"LOEHNE_SC",
"SCHWABHAUSEN_SC",
"HALDENSLEBEN_RSS",
"ALTENKUNSTADT_RSS",
"LOEHNE_RSS",
"OHRDRUF_RSS",
"LANGENSELBOLD_RSS",
"LOEHNE_CP"
] |
targetStorageHierarchy |
string |
Ziel-Lagereinheit – analog S08 - bei internen Umfuhren (targetLocation und targetStorageHierarchy treten nur exklusiv auf) Maximum Length: 30 |
intraWarehouseDestination |
string |
MfrZiel im KR1 - kann sowohl zusaetzlich zu targetLocation bzw. targetStorageHierarchy oder einzeln auftreten Maximum Length: 10 |
internalNumber |
string |
Im LVS verfügbare Nummer des Lagerauftrags |
externalNumber |
string |
Externe Nummer des Lagerauftrags. |
description |
string |
Description |
storageOrderTypeCode |
string |
Code des LVS für einen Lagerauftragstyp. |
sealNo |
string |
Plombennummer, sofern diese im Lagerauftrag vorhanden ist (z.B. bei der Verladung in einen Wechselaufbau) oder ggf. bei Öffnen einer Retouren-WAB. |
orderDate |
string (date) |
Auftragsdatum eines Lagerauftrags. Z.B. bei Replenishment-Umfuhren der Tag, für den die Umfuhren beauftragt werden. |
4.1.3. Enumeration
Field: Type
Meta Value | Description | Short Value |
---|
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
previous version |
1.0 |
21.09.22 |
- ServiceHeader Attriute spanId als optionales Feld einfügen - ServiceHeader Attriute type umbenannt in eventType - Service Header neues Objekt "metaData" einfügen und die Attribute "sender" in das neue Objekt verschieben - Service Header instance entfernt da diese mit dem sender und dessen Auspräung obsolet ist |
|
previous version |
0.1 |
01.07.22 |
||
previous version |
1.1 |
05.06.2023 |
||
current version |
1.2 |
10.04.2024 |
Aufnahme vom ownerCompany in MetaData |
|
coming version |
1.3 |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for StorageOrder.",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StorageOrderWms.v1.3.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"title": "The eventId of previous record or batchId",
"description": "Optionally, if this record (event) is one of a sequence of records and the order is important, then here is the id of the previous record (event), recommended as uuid, Special usecases can be specify for some interfaces",
"examples": [
"00ce536f-923a-42f4-5463-32a41877b3c2"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": [
"1.01",
"01.02"
]
},
{
"type": "integer",
"examples": [
1,
2
]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"returnsprocessing",
"storageLocation"
]
},
"eventType": {
"type": "string",
"title": "The type of operation",
"description": "Typ der Nachricht",
"examples": [
"INSERT",
"UPDATE",
"DELETE"
],
"enum": [
"INSERT",
"UPDATE",
"DELETE"
]
},
"metaData": {
"type": "object",
"title": "additional meta information",
"description": "optional, can be used with different characteristics for technical data per interface",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v4.schema.json"
},
"ownerCompany": {
"type": "string",
"maxLength": 50,
"description": "The owner company that is affected by the underlying stock movements of this storage order. It's null as long as no such movements with a product and thus a company exist for this storage order. This info is used to route storage order events only to those systems which are responsible/eligible for a certain owner company. Consumer systems may receive multiple copies of the same storage order event (varying in owner company) in case they are responsible/eligible for multiple companies.",
"title": "The owner company belonging to the logistic product of one or more underlying stock movements of this storage order."
}
},
"required": [
"senderSystem"
]
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"storageOrderId": {
"description": "(techn.) ID eines Lagerauftrags",
"type": "string",
"examples": [
"2153738"
]
},
"parentStorageOrderId": {
"description": "(techn.) ID des übergeordneten Lagerauftrags",
"type": "string",
"examples": [
"2153738"
]
},
"targetLocation": {
"description": "Ziel-Lager bei externen Umfuhren",
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"targetStorageHierarchy": {
"description": "Ziel-Lagereinheit – analog S08 - bei internen Umfuhren (targetLocation und targetStorageHierarchy treten nur exklusiv auf)",
"type": "string",
"maxLength": 30,
"examples": [
"RL Hovelmann"
]
},
"intraWarehouseDestination": {
"description": "MfrZiel im KR1 - kann sowohl zusaetzlich zu targetLocation bzw. targetStorageHierarchy oder einzeln auftreten ",
"type": "string",
"maxLength": 10,
"examples": [
"091AKU___"
]
},
"internalNumber": {
"description": "Im LVS verfügbare Nummer des Lagerauftrags",
"type": "string",
"examples": [
"1685204"
]
},
"externalNumber": {
"description": "Externe Nummer des Lagerauftrags.",
"type": "string",
"examples": [
"1000"
]
},
"description": {
"description": "Description",
"type": "string",
"examples": [
"AUS-Import Datei Ausimport_HRL_SOFE_28.06.22.CSV"
]
},
"storageOrderTypeCode": {
"description": "Code des LVS für einen Lagerauftragstyp.",
"type": "string",
"examples": [
"132"
]
},
"sealNo": {
"description": "Plombennummer, sofern diese im Lagerauftrag vorhanden ist (z.B. bei der Verladung in einen Wechselaufbau) oder ggf. bei Öffnen einer Retouren-WAB.",
"type": "string",
"examples": [
"1234"
]
},
"orderDate": {
"description": "Auftragsdatum eines Lagerauftrags. Z.B. bei Replenishment-Umfuhren der Tag, für den die Umfuhren beauftragt werden.",
"type": "string",
"format": "date",
"examples": [
"2022-06-28"
]
}
},
"required": [
"storageOrderId"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
4.2. Direction FINE to ERP
4.2.2. Datamodel
4.2.3. Enumeration
Field: Type
Meta Value | Description | Short Value |
---|
4.2.4. Example
4.2.5. Schema
Version |
Number |
File |
Published on |
Changes |
previous version |
1.1 |
05.06.2023 |
||
current version |
1.2 |
10.04.2024 |
Aufnahme von ownerCompany in MetaData |
|
coming version |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for StorageOrder.",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StorageOrderErp.v1.2.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"title": "The eventId of previous record or batchId",
"description": "Optionally, if this record (event) is one of a sequence of records and the order is important, then here is the id of the previous record (event), recommended as uuid, Special usecases can be specify for some interfaces",
"examples": [
"00ce536f-923a-42f4-5463-32a41877b3c2"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": [
"1.01",
"01.02"
]
},
{
"type": "integer",
"examples": [
1,
2
]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"returnsprocessing",
"storageLocation"
]
},
"eventType": {
"type": "string",
"title": "The type of operation",
"description": "Typ der Nachricht",
"examples": [
"INSERT",
"UPDATE",
"DELETE"
],
"enum": [
"INSERT",
"UPDATE",
"DELETE"
]
},
"metaData": {
"type": "object",
"title": "additional meta information",
"description": "optional, can be used with different characteristics for technical data per interface",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v4.schema.json"
},
"ownerCompany": {
"type": "string",
"maxLength": 50,
"description": "The owner company that is affected by the underlying stock movements of this storage order. It's null as long as no such movements with a product and thus a company exist for this storage order. This info is used to route storage order events only to those systems which are responsible/eligible for a certain owner company. Consumer systems may receive multiple copies of the same storage order event (varying in owner company) in case they are responsible/eligible for multiple companies.",
"title": "The owner company belonging to the logistic product of one or more underlying stock movements of this storage order."
}
},
"required": [
"senderSystem"
]
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"storageOrderId": {
"description": "(techn.) ID eines Lagerauftrags",
"type": "string",
"examples": [
"2153738"
]
},
"internalNumber": {
"description": "Im LVS verfügbare Nummer des Lagerauftrags",
"type": "string",
"examples": [
"1685204"
]
},
"externalNumber": {
"description": "Externe Nummer des Lagerauftrags.",
"type": "string",
"examples": [
"1000"
]
},
"description": {
"description": "Description",
"type": "string",
"examples": [
"AUS-Import Datei Ausimport_HRL_SOFE_28.06.22.CSV"
]
},
"storageOrderTypeCode": {
"description": "Code des LVS für einen Lagerauftragstyp.",
"type": "string",
"examples": [
"132"
]
},
"sealNo": {
"description": "Plombennummer, sofern diese im Lagerauftrag vorhanden ist (z.B. bei der Verladung in einen Wechselaufbau) oder ggf. bei Öffnen einer Retouren-WAB.",
"type": "string",
"examples": [
"1234"
]
},
"orderDate": {
"description": "Auftragsdatum eines Lagerauftrags. Z.B. bei Replenishment-Umfuhren der Tag, für den die Umfuhren beauftragt werden.",
"type": "string",
"format": "date",
"examples": [
"2022-06-28"
]
}
},
"required": [
"storageOrderId"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
9 - S08 Storage Location
- Status
-
Version 1.0 published 17.06.2022
- Approval
-
-
NEON: abgestimmt mit Körber zur Umsetzung in NEON_Fein_Pflichtenheft_WEN1_ SST_v6.0
-
- Comment
-
Für neue Anforderungen aus Otto'' wurde eine Version 2.0 erstellt und unter "coming version" enisehbar. Diese ist unabhängig nutzbar und beeinflusst nicht den Integrationstest von NEON.
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
||
Producer |
kMotion |
|
Producer |
KR1 |
|
Producer |
COBRA |
|
Producer |
WMSx/SON |
|
Producer |
F2X |
|
Consumer |
FLASH |
|
Consumer |
SOLAR |
2. Business Context
Mit dem Service werden die Stammdaten zu den Lagerplätzen von den LVS Systemen an die
Events:
-
Einfügen eines Lagerplatzes
-
Änderung eines Lagerplatzes
-
Löschen eines Lagerplatzes
3. Informationflow
Partner | Direction | FINE-Service | Topic/API | Description | Status |
---|---|---|---|---|---|
WMS:WMSX |
send |
Stock |
stock.storagelocation |
StorageLocationWms.v1.0 |
ready |
WMS:KR1 |
send |
Stock |
stock.storagelocation.v2 |
StorageLocationWms.v2.1 |
ready |
WMS:F2X |
send |
Stock |
stock.storagelocation.f2xwms.v2 |
StorageLocationWms.v2.1 |
planned |
WMS:KMOTION |
send |
Stock |
stock.storagelocation.kmotion.v2 |
StorageLocationWms.v2.1 |
planned |
FLASH |
receive |
Stock |
stock.storagelocation |
StorageLocationWms.v1.0 |
ready |
FLASH |
receive |
Stock |
stock.storagelocation.v2 |
StorageLocationWms.v2.1 |
ready |
FLASH |
receive |
Stock |
stock.storagelocation.f2xwms.v2 |
StorageLocationWms.v2.1 |
planned |
FLASH |
receive |
Stock |
stock.storagelocation.kmotion.v2 |
StorageLocationWms.v2.1 |
planned |
Otto |
receive |
Stock |
stock.storagelocation.v1.otto |
ready |
|
Otto |
receive |
Stock |
stock.storagelocation.v2.otto |
StorageLocationFineBrain.v2.0 |
ready |
4. Interface
4.1. Direction WMS to FINE
4.1.1. Header
This interface uses the Service Header
Special expresion for this interface:
Fieldname | Expression |
---|---|
type |
|
context |
STORAGE_LOCATION |
4.1.2. Datamodel
Property | Type | Description |
---|---|---|
(Root) |
object |
|
eventId* |
string (uuid) |
The uniq eventId |
traceId* |
string (uuid) |
The uniq traceId |
spanId |
string (uuid) |
The uniq spanId |
eventTime* |
string |
Time of occurrence of the event |
version* |
The number of version schema |
|
context |
string |
The context / business case |
eventType* |
string (enum) |
The type of operation Any of: [
"INSERT",
"UPDATE",
"DELETE"
] |
metaData |
object |
|
senderSystem |
string (enum) |
system Any of: [
"KR1_SHF",
"KR1_HHSTR",
"WMSX_SON",
"WMSX_AKU",
"KMOTION_ILO",
"KMOTION_GHM",
"COBRA",
"LSAS",
"IDEEFIX",
"OBS",
"RESY",
"LDH",
"RETAILSCHICHT",
"BUBE",
"FINE_INBOUND",
"F2X",
"WMSX_WEISMAIN",
"LIGIS",
"KR1_MANDANT"
] |
data* |
object |
|
location* |
string (enum) |
warehouse locations Any of: [
"ANSBACH",
"LOEHNE",
"LANGENSELBOLD",
"MOSINA",
"OHRDRUF",
"HALDENSLEBEN",
"HALDENSLEBEN_RT",
"SUEDHAFEN",
"SONNEFELD",
"ALTENKUNSTADT",
"WEIDEN",
"KRACANY",
"ILOWA",
"ILOWA_RT",
"ILOWA_RSS",
"GERNSHEIM",
"ERFURT",
"HAMBURG_RT",
"OTELFINGEN_RT",
"KRIMICE_RT",
"STAHLAVY_RT",
"OHRDRUF_RT",
"LOEHNE_RT",
"LANGENSELBOLD_RT",
"LODZ_1_RT",
"LODZ_2_RT",
"BERGHEIM_RT",
"ALTENKUNSTADT_RT",
"LISTERHILLS_RT",
"SUEDHAFEN_RT",
"PILSEN_RT",
"HAMBURG_SC",
"LOEHNE_SC",
"SCHWABHAUSEN_SC",
"HALDENSLEBEN_RSS",
"ALTENKUNSTADT_RSS",
"LOEHNE_RSS",
"OHRDRUF_RSS",
"LANGENSELBOLD_RSS",
"LOEHNE_CP"
] |
storageLocation* |
object |
|
storageLocationId* |
string |
techn. Eindeutiger Key des Lagerplatzes. |
storageLocationCode* |
string |
BusinessKey: Darstellung des Lagerplatzes als fachlicher Schlüssel, wie dieser im LVS Front-End angezeigt wird |
type* |
string (enum) |
Beschreibt die Eigenschaft eines Platzes, ob dieser ein echter Lagerplatz oder ein virtueller Lagerplatz ist Any of: [
"VIRTUAL",
"PHYSICAL"
] |
building |
string |
|
floor |
string |
|
aisle |
string |
|
layer |
string |
|
field |
string |
|
place |
string |
|
lastInventoryDate |
string |
|
occupied |
string |
|
lockCode |
string |
Lagerplatzsperre, wenn höhere Sperren vorhanden sind, sollen sich diese auf den Platz vererben |
lock |
string (enum) |
ist der Platz gespeert oder nicht Any of: [
"LOCKED",
"NOT_LOCKED"
] |
rack |
object |
|
width |
object |
|
value |
number |
Weitenwert |
unit |
string (enum) |
unit length Any of: [
"METER"
] |
length |
object |
|
value |
number |
Längenwert |
unit |
string (enum) |
unit length Any of: [
"METER"
] |
height |
object |
|
value |
number |
Höhenwert |
unit |
string (enum) |
unit length Any of: [
"METER"
] |
volume |
object |
|
value |
number |
Volumenwert |
unit |
string (enum) |
unit volume Any of: [
"CUBIC_METER",
"LITER"
] |
typeCode |
string |
|
type |
string (enum) |
Fachtypen Any of: [
"BIN",
"BOX",
"PALETTE",
"CORLETTE",
"CARTON",
"PULK",
"UNKNOWN"
] |
capacity |
integer |
|
maxWeight |
object |
|
value |
integer |
Max. Gewichtswert |
unit |
string (enum) |
unit weight Any of: [
"GRAM",
"KILOGRAM"
] |
area* |
object |
|
storageType* |
string (enum) |
Unterscheidung nach Kommissionierung / Reservelager / Rücksendestelle Any of: [
"PICKING",
"RESERVE",
"RETURN",
"OTHER"
] |
storageHierarchy |
object |
|
level1 |
string |
|
level2 |
string |
|
level3 |
string |
|
heavyArea |
string (enum) |
when true, then this is a heavy area Any of: [
"HEAVY",
"NOT_HEAVY"
] |
priority |
string (enum) |
Any of: [
"LOW",
"HIGH"
] |
valuableArea |
string (enum) |
Kennzeichnung ob der Lagerbereich diebstahlgefährdete Artikel enthält (Käfigbereich) Any of: [
"NORMAL",
"VALUABLE"
] |
forkliftControlSystem |
boolean |
Bereich für Staplerleitsystem geeingnet |
driverlessTransportSystem |
boolean |
Bereich für fahrerloses Transportsystem geeignet |
usageCoefficient |
integer |
Minimum: 0 |
harzadousMaterialZone |
string |
Gefahrstoffzone Maximum Length: 50 |
harzadousMaterialZoneGroup |
string |
Gefahrstoffzonegruppe Maximum Length: 10 |
fireZone |
string |
Brandabschnitt Maximum Length: 10 |
harzadousMaterialZoneOverflow |
string |
Gefahrstoffzone Überlauf Maximum Length: 10 |
nonCommercialGoodsArea |
string (enum) |
Kennzeichnung, ob der Lagerbereich für Betriebsmittel ist Any of: [
"YES",
"NO"
] |
aisleProperties |
object |
Aisle detail properties |
strategyCode |
string |
|
targetCode |
string |
|
lockCode |
string |
|
lock |
string (enum) |
Any of: [
"LOCKED",
"NOT_LOCKED"
] |
layerProperties |
object |
|
lockCode |
string |
|
lock |
string (enum) |
Any of: [
"LOCKED",
"NOT_LOCKED"
] |
fieldProperties |
object |
|
lockCode |
string |
|
lock |
string (enum) |
Any of: [
"LOCKED",
"NOT_LOCKED"
] |
4.1.3. Enumeration
Field: storagelocation.type
Meta Value |
Description |
Short Value |
VIRTUAL |
virtuelle Plätze |
|
PHYSICAL |
physische Plätze |
Field: lock
Meta Value |
Description |
Short Value |
LOCKED |
gesperrt |
|
NOT_LOCKED |
nicht gesperrt |
Field: rack.type
Meta Value |
Description |
Short Value |
BIN |
Fachtyp für blaue Retourenmischwannen |
|
BOX |
Fachtyp für Mischkisten |
|
PALETTE |
Fachtyp für Paletten |
|
CORLETTE |
Fachtyp für Corletten |
|
CARTON |
Fachtyp für Kartons (Normkartons) |
|
PULK |
Fachtyp für PULK-Flächen mit physischer Lagerplatzentsprechung |
Field: area.heavyArea
Meta Value |
Description |
Short Value |
HEAVY |
Schwerlastbereich |
|
NOT_HEAVY |
kein Schwerlastbereich |
Field: area.priority
Meta Value |
Description |
Short Value |
LOW |
niedrige Priorität |
|
HIGH |
hohe Priorität |
Field: area.priority
Meta Value |
Description |
Short Value |
NORMAL |
Normalbereich |
|
VALUABLE |
Wertebereich |
4.1.4. Example
//include::StorageLocationWms.v0.2_sampleMessage.json[]
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
previous version |
1.0 |
17.06.22 |
für lastInventoryDate und EventTime sind Beispiele hinzugefügt |
|
previous version |
0.2 |
19.05.22 |
||
previous version |
2.0 |
20.09.22 |
- ServiceHeader Attriute spanId als optionales Feld einfügen - ServiceHeader Attriute type umbenannt in eventType - Service Header neues Objekt "metaData" einfügen und die Attribute "sender" in das neue Objekt verschieben - bei Attribute "sender" das Schema des GlobalEnum "sender" verlinken - unter Data\rack\width Attibute "unit" das Schema des GlobalEnum unit verlinken - unter Data\rack\length Attibute "unit" das Schema des GlobalEnum unit verlinken - unter Data\rack\height Attibute "unit" das Schema des GlobalEnum unit verlinken - unter Data\rack\volume Attibute "unit" das Schema des GlobalEnum unit verlinken - unter Data\rack\maxWeight Attibute "unit" das Schema des GlobalEnum unit verlinken |
|
current version |
2.1 |
25.01.23 |
- neuer ENUM "UNKNOWN" für "rack" → "type" - Verlinkung auf system.v3 - Aufnahme von harzadousMaterialZone und harzadousMaterialZoneOverflow für Gefahrstoffzone |
|
coming version |
2.2 |
29.11.23 |
- neue Datentypen für width, length, height, volume → Änderung von integer auf number (multipleofPrecision 0.001) - occupied→ Beispiele aufgenommen 0,50,100 |
|
coming version |
2.3 |
02.05.2024 |
- harzadousMaterialZoneGroup und fireZone als neue optionale Attribute hinzugefügt |
|
coming version |
2.4 |
04.12.2024 |
- NonCommercialGoodsArea ENUM YES |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for StorageLocation in a warehouse Version 2.4",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StorageLocationWms.v2.4.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"format": "uuid",
"title": "The uniq spanId",
"description": "ID of the privious event (message). The ID is not given if there is no previous event. For transaction initiated by user the spanId of the executed event might be the userId.",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d85"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": ["1.01", "01.02"]
},
{
"type": "integer",
"examples": [1, 2]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"STORAGE_LOCATION"
]
},
"eventType": {
"type": "string",
"title": "The type of operation",
"description": "Typ der Nachricht",
"examples": ["INSERT", "UPDATE", "DELETE"],
"enum": ["INSERT", "UPDATE", "DELETE"]
},
"metaData":{
"type":"object",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v4.schema.json"
}
}
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"storageLocation": {
"type": "object",
"properties": {
"storageLocationId": {
"type": "string",
"description": "techn. Eindeutiger Key des Lagerplatzes."
},
"storageLocationCode": {
"type": "string",
"description": "BusinessKey: Darstellung des Lagerplatzes als fachlicher Schlüssel, wie dieser im LVS Front-End angezeigt wird"
},
"type": {
"type": "string",
"description": "Beschreibt die Eigenschaft eines Platzes, ob dieser ein echter Lagerplatz oder ein virtueller Lagerplatz ist",
"enum": ["VIRTUAL", "PHYSICAL"]
},
"building": {
"type": "string"
},
"floor": {
"type": "string"
},
"aisle": {
"type": "string"
},
"layer": {
"type": "string"
},
"field": {
"type": "string"
},
"place": {
"type": "string"
},
"lastInventoryDate": {
"type": "string",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"occupied": {
"type": "string",
"examples": ["0","50","100"]
},
"lockCode": {
"type": "string",
"description": "Lagerplatzsperre, wenn höhere Sperren vorhanden sind, sollen sich diese auf den Platz vererben"
},
"lock": {
"type": "string",
"description": "ist der Platz gespeert oder nicht",
"enum": ["LOCKED", "NOT_LOCKED"]
}
},
"required": [
"storageLocationId",
"storageLocationCode",
"type"
]
},
"rack": {
"type": "object",
"properties": {
"width": {
"type": "object",
"properties": {
"value": {
"type": "number",
"multipleOfPrecision": 0.001,
"description": "Weitenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"length": {
"type": "object",
"properties": {
"value": {
"type": "number",
"multipleOfPrecision": 0.001,
"description": "Längenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"height": {
"type": "object",
"properties": {
"value": {
"type": "number",
"multipleOfPrecision": 0.001,
"description": "Höhenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"volume": {
"type": "object",
"properties": {
"value": {
"type": "number",
"multipleOfPrecision": 0.001,
"description": "Volumenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitVolume.v1.schema.json"
}
}
},
"typeCode": {
"type": "string"
},
"type": {
"type": "string",
"description": "Fachtypen",
"enum": ["BIN", "BOX", "PALETTE", "CORLETTE", "CARTON", "PULK", "UNKNOWN"]
},
"capacity": {
"type": "integer"
},
"maxWeight": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Max. Gewichtswert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitWeight.v1.schema.json"
}
}
}
}
},
"area": {
"type": "object",
"properties": {
"storageType": {
"type": "string",
"description": "Unterscheidung nach Kommissionierung / Reservelager / Rücksendestelle",
"enum": ["PICKING", "RESERVE", "RETURN", "OTHER"]
},
"storageHierarchy":{
"type": "object",
"properties": {
"level1": {
"type": "string"
},
"level2": {
"type": "string"
},
"level3": {
"type": "string"
}
}
},
"heavyArea": {
"type": "string",
"enum": ["HEAVY", "NOT_HEAVY"],
"description": "when true, then this is a heavy area"
},
"priority": {
"type": "string",
"enum": ["LOW", "HIGH"]
},
"valuableArea": {
"type": "string",
"description": "Kennzeichnung ob der Lagerbereich diebstahlgefährdete Artikel enthält (Käfigbereich)",
"enum": ["NORMAL", "VALUABLE"]
},
"forkliftControlSystem": {
"type": "boolean",
"description": "Bereich für Staplerleitsystem geeingnet"
},
"driverlessTransportSystem": {
"type": "boolean",
"description": "Bereich für fahrerloses Transportsystem geeignet"
},
"usageCoefficient": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"harzadousMaterialZone": {
"type": "string",
"maxLength": 50,
"description": "Gefahrstoffzone",
"examples": [ "DZ4X_01_B1", "DZ4X_04_B2"]
},
"harzadousMaterialZoneGroup": {
"type": "string",
"maxLength": 10,
"description": "Gefahrstoffzonegruppe",
"examples": ["B"]
},
"fireZone": {
"type": "string",
"maxLength": 10,
"description": "Brandabschnitt",
"examples": ["B4","B6"]
},
"harzadousMaterialZoneOverflow": {
"type": "string",
"maxLength": 10,
"description": "Gefahrstoffzone Überlauf"
},
"nonCommercialGoodsArea": {
"type": "string",
"description": "Kennzeichnung, ob der Lagerbereich für Betriebsmittel ist",
"enum": ["YES", "NO"]
}
},
"required": ["storageType"]
},
"aisleProperties": {
"type": "object",
"description": "Aisle detail properties",
"properties": {
"strategyCode": {
"type": "string"
},
"targetCode": {
"type": "string"
},
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
},
"layerProperties": {
"type": "object",
"properties": {
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
},
"fieldProperties": {
"type": "object",
"properties": {
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
}
},
"required": [
"location",
"storageLocation",
"area"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
4.2. Direction FINE to ERP
4.2.2. Datamodel
4.2.3. Enumeration
Field: Type
Meta Value | Description | Short Value |
---|
4.2.4. Example
4.2.5. Schema
current version |
2.1 |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for StorageLocation in a warehouse Version 2.01",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StorageLocationErp.v2.1.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"format": "uuid",
"title": "The uniq spanId",
"description": "ID of the privious event (message). The ID is not given if there is no previous event. For transaction initiated by user the spanId of the executed event might be the userId.",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d85"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": ["1.01", "01.02"]
},
{
"type": "integer",
"examples": [1, 2]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"STORAGE_LOCATION"
]
},
"eventType": {
"type": "string",
"title": "The type of operation",
"description": "Typ der Nachricht",
"examples": ["INSERT", "UPDATE", "DELETE"],
"enum": ["INSERT", "UPDATE", "DELETE"]
},
"metaData":{
"type":"object",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v4.schema.json"
}
}
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"storageLocation": {
"type": "object",
"properties": {
"storageLocationId": {
"type": "string",
"description": "techn. Eindeutiger Key des Lagerplatzes."
},
"storageLocationCode": {
"type": "string",
"description": "BusinessKey: Darstellung des Lagerplatzes als fachlicher Schlüssel, wie dieser im LVS Front-End angezeigt wird"
},
"type": {
"type": "string",
"description": "Beschreibt die Eigenschaft eines Platzes, ob dieser ein echter Lagerplatz oder ein virtueller Lagerplatz ist",
"enum": ["VIRTUAL", "PHYSICAL"]
},
"building": {
"type": "string"
},
"floor": {
"type": "string"
},
"aisle": {
"type": "string"
},
"layer": {
"type": "string"
},
"field": {
"type": "string"
},
"place": {
"type": "string"
},
"lastInventoryDate": {
"type": "string",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"occupied": {
"type": "string"
},
"lockCode": {
"type": "string",
"description": "Lagerplatzsperre, wenn höhere Sperren vorhanden sind, sollen sich diese auf den Platz vererben"
},
"lock": {
"type": "string",
"description": "ist der Platz gespeert oder nicht",
"enum": ["LOCKED", "NOT_LOCKED"]
}
},
"required": [
"storageLocationId",
"storageLocationCode",
"type"
]
},
"rack": {
"type": "object",
"properties": {
"width": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Weitenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"length": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Längenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"height": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Höhenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"volume": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Volumenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitVolume.v1.schema.json"
}
}
},
"typeCode": {
"type": "string"
},
"type": {
"type": "string",
"description": "Fachtypen",
"enum": ["BIN", "BOX", "PALETTE", "CORLETTE", "CARTON", "PULK", "UNKNOWN"]
},
"capacity": {
"type": "integer"
},
"maxWeight": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Max. Gewichtswert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitWeight.v1.schema.json"
}
}
}
}
},
"area": {
"type": "object",
"properties": {
"storageType": {
"type": "string",
"description": "Unterscheidung nach Kommissionierung / Reservelager / Rücksendestelle",
"enum": ["PICKING", "RESERVE", "RETURN", "OTHER"]
},
"storageHierarchy":{
"type": "object",
"properties": {
"level1": {
"type": "string"
},
"level2": {
"type": "string"
},
"level3": {
"type": "string"
}
}
},
"heavyArea": {
"type": "string",
"enum": ["HEAVY", "NOT_HEAVY"],
"description": "when true, then this is a heavy area"
},
"priority": {
"type": "string",
"enum": ["LOW", "HIGH"]
},
"valuableArea": {
"type": "string",
"description": "Kennzeichnung ob der Lagerbereich diebstahlgefährdete Artikel enthält (Käfigbereich)",
"enum": ["NORMAL", "VALUABLE"]
},
"forkliftControlSystem": {
"type": "boolean",
"description": "Bereich für Staplerleitsystem geeingnet"
},
"driverlessTransportSystem": {
"type": "boolean",
"description": "Bereich für fahrerloses Transportsystem geeignet"
},
"usageCoefficient": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"harzadousMaterialZone": {
"type": "string",
"maxLength": 50,
"description": "Gefahrstoffzone"
},
"harzadousMaterialZoneOverflow": {
"type": "string",
"maxLength": 10,
"description": "Gefahrstoffzone Überlauf"
},
},
"required": ["storageType"]
},
"aisleProperties": {
"type": "object",
"description": "Aisle detail properties",
"properties": {
"strategyCode": {
"type": "string"
},
"targetCode": {
"type": "string"
},
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
},
"layerProperties": {
"type": "object",
"properties": {
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
},
"fieldProperties": {
"type": "object",
"properties": {
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
}
},
"required": [
"location",
"storageLocation",
"area"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
4.3. Direction FINE to BRAIN
4.3.1. Header
This interface uses the Service Header
Special expresion for this interface:
Fieldname | Expression |
---|---|
type |
|
context |
STORAGE_LOCATION |
4.3.2. Datamodel
4.3.3. Enumeration
Field: storagelocation.type
Meta Value |
Description |
Short Value |
VIRTUAL |
virtuelle Plätze |
|
PHYSICAL |
physische Plätze |
Field: lock
Meta Value |
Description |
Short Value |
LOCKED |
gesperrt |
|
NOT_LOCKED |
nicht gesperrt |
Field: rack.type
Meta Value |
Description |
Short Value |
BIN |
Fachtyp für blaue Retourenmischwannen |
|
BOX |
Fachtyp für Mischkisten |
|
PALETTE |
Fachtyp für Paletten |
|
CORLETTE |
Fachtyp für Corletten |
|
CARTON |
Fachtyp für Kartons (Normkartons) |
|
PULK |
Fachtyp für PULK-Flächen mit physischer Lagerplatzentsprechung |
Field: area.heavyArea
Meta Value |
Description |
Short Value |
HEAVY |
Schwerlastbereich |
|
NOT_HEAVY |
kein Schwerlastbereich |
Field: area.priority
Meta Value |
Description |
Short Value |
LOW |
niedrige Priorität |
|
HIGH |
hohe Priorität |
Field: area.priority
Meta Value |
Description |
Short Value |
NORMAL |
Normalbereich |
|
VALUABLE |
Wertebereich |
4.3.4. Example
4.3.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
previous version |
1.0 |
17.06.22 |
für lastInventoryDate und EventTime sind Beispiele hinzugefügt |
|
previous version |
0.2 |
19.05.22 |
||
current version |
2.0 |
20.09.22 |
- ServiceHeader Attriute type umbenannt in eventType - Service Header neues Objekt "metaData" einfügen und die Attribute "sender" in das neue Objekt verschieben - bei Attribute "sender" das Schema des GlobalEnum "sender" verlinken - unter Data\rack\width Attibute "unit" das Schema des GlobalEnum unit verlinken - unter Data\rack\length Attibute "unit" das Schema des GlobalEnum unit verlinken - unter Data\rack\height Attibute "unit" das Schema des GlobalEnum unit verlinken - unter Data\rack\volume Attibute "unit" das Schema des GlobalEnum unit verlinken - unter Data\rack\maxWeight Attibute "unit" das Schema des GlobalEnum unit verlinken |
|
2.1 |
25.01.23 |
- neuer ENUM "UNKNOWN" für "rack" → "type" - neues optionales Feld "productGroup" unter "area" |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for filtered StorageLocation for Otto Topics in a warehouse Version 2.00",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StorageLocationFineBrain.v2.0.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": ["1.01", "01.02"]
},
{
"type": "integer",
"examples": [1, 2]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"returnsprocessing", "STORAGE_LOCATION"
]
},
"eventType": {
"type": "string",
"title": "The type of operation",
"description": "Typ der Nachricht",
"examples": ["INSERT", "UPDATE", "DELETE"],
"enum": ["INSERT", "UPDATE", "DELETE"]
},
"metaData":{
"type":"object",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v1.schema.json"
}
}
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"storageLocation": {
"type": "object",
"properties": {
"storageLocationId": {
"type": "string",
"description": "techn. Eindeutiger Key des Lagerplatzes."
},
"storageLocationCode": {
"type": "string",
"description": "BusinessKey: Darstellung des Lagerplatzes als fachlicher Schlüssel, wie dieser im LVS Front-End angezeigt wird"
},
"type": {
"type": "string",
"description": "Beschreibt die Eigenschaft eines Platzes, ob dieser ein echter Lagerplatz oder ein virtueller Lagerplatz ist",
"enum": ["VIRTUAL", "PHYSICAL"]
},
"building": {
"type": "string"
},
"floor": {
"type": "string"
},
"aisle": {
"type": "string"
},
"layer": {
"type": "string"
},
"field": {
"type": "string"
},
"place": {
"type": "string"
},
"lastInventoryDate": {
"type": "string",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"occupied": {
"type": "string"
},
"lockCode": {
"type": "string",
"description": "Lagerplatzsperre, wenn höhere Sperren vorhanden sind, sollen sich diese auf den Platz vererben"
},
"lock": {
"type": "string",
"description": "ist der Platz gespeert oder nicht",
"enum": ["LOCKED", "NOT_LOCKED"]
}
},
"required": [
"storageLocationId",
"storageLocationCode",
"type"
]
},
"rack": {
"type": "object",
"properties": {
"width": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Weitenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"length": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Längenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"height": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Höhenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitLength.v1.schema.json"
}
}
},
"volume": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Volumenwert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitVolume.v1.schema.json"
}
}
},
"typeCode": {
"type": "string"
},
"type": {
"type": "string",
"description": "Fachtypen",
"enum": ["BIN", "BOX", "PALETTE", "CORLETTE", "CARTON", "PULK"]
},
"capacity": {
"type": "integer"
},
"maxWeight": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Max. Gewichtswert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitWeight.v1.schema.json"
}
}
}
}
},
"area": {
"type": "object",
"properties": {
"storageType": {
"type": "string",
"description": "Unterscheidung nach Kommissionierung / Reservelager / Rücksendestelle",
"enum": ["PICKING", "RESERVE", "RETURN", "OTHER"]
},
"storageHierarchy":{
"type": "object",
"properties": {
"level1": {
"type": "string"
},
"level2": {
"type": "string"
},
"level3": {
"type": "string"
}
}
},
"heavyArea": {
"type": "string",
"enum": ["HEAVY", "NOT_HEAVY"],
"description": "when true, then this is a heavy area"
},
"priority": {
"type": "string",
"enum": ["LOW", "HIGH"]
},
"valuableArea": {
"type": "string",
"description": "Kennzeichnung ob der Lagerbereich diebstahlgefährdete Artikel enthält (Käfigbereich)",
"enum": ["NORMAL", "VALUABLE"]
},
"forkliftControlSystem": {
"type": "boolean",
"description": "Bereich für Staplerleitsystem geeingnet"
},
"driverlessTransportSystem": {
"type": "boolean",
"description": "Bereich für fahrerloses Transportsystem geeignet"
},
"usageCoefficient": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"required": ["storageType"]
},
"aisleProperties": {
"type": "object",
"description": "Aisle detail properties",
"properties": {
"strategyCode": {
"type": "string"
},
"targetCode": {
"type": "string"
},
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
},
"layerProperties": {
"type": "object",
"properties": {
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
},
"fieldProperties": {
"type": "object",
"properties": {
"lockCode": {
"type": "string"
},
"lock": {
"type": "string",
"enum": ["LOCKED", "NOT_LOCKED"]
}
}
}
},
"required": [
"location",
"storageLocation",
"area"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
4.3.6. Filter
Filter on source topic for location IN ('LOEHNE', 'ANSBACH', 'SONNEFELD', 'HALDENSLEBEN', 'SUEDHAFEN', 'OHRDRUF', 'ERFURT', 'MOSINA', 'LANGENSELBOLD')
10 - S09 Storage Handling Unit
- Status
-
Version 1.0 published 17.06.2022
- Approval
-
-
NEON: abgestimmt mit Körber zur Umsetzung in NEON_Fein_Pflichtenheft_WEN1_ SST_v6.0
-
Otto'':
-
- Comment
-
Für neue Anforderungen aus Otto'' wurde eine Version 2.0 erstellt und unter "coming version" enisehbar. Diese ist unabhängig nutzbar und beeinflusst nicht den Integrationstest von NEON.
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
||
Producer |
kMotion |
|
Producer |
KR1 |
|
Producer |
COBRA |
|
Producer |
WMSx/SON |
|
Producer |
F2X |
|
Consumer |
FLASH |
|
Consumer |
SOLAR |
|
Consumer |
Nemo |
2. Business Context
Daten sollen bei allen Änderungen (Create, Update, Delete) der unten stehenden Spalten übertragen werden.
3. Informationflow
Partner | Direction | FINE-Service | Topic/API | Description | Status |
---|---|---|---|---|---|
WMS:WMSX |
send |
Stock |
stock.storagehandlingunit |
StorageHandlingUnitWms.v1.0 |
ready |
WMS:KR1 |
send |
Stock |
stock.storagehandlingunit.v2 |
StorageHandlingUnitWms.v2.2 |
ready |
WMS:F2X |
send |
Stock |
stock.storagehandlingunit.f2xwms.v2 |
StorageHandlingUnitWms.v2.1 |
planned |
WMS:KMOTION |
send |
Stock |
stock.storagehandlingunit.kmotion.v2 |
StorageHandlingUnitWms.v2.1 |
planned |
FLASH |
receive |
Stock |
stock.storagehandlingunit |
StorageHandlingUnitWms.v1.0 |
ready |
FLASH |
receive |
Stock |
stock.storagehandlingunit.v2 |
StorageHandlingUnitWms.v2.2 |
ready |
FLASH |
receive |
Stock |
stock.storagehandlingunit.f2xwms.v2 |
StorageHandlingUnitWms.v2.1 |
planned |
FLASH |
receive |
Stock |
stock.storagehandlingunit.kmotion.v2 |
StorageHandlingUnitWms.v2.1 |
planned |
Otto |
receive |
Stock |
stock.storagehandlingunit.v1.otto |
StorageHandlingUnitFineBrainv1.0 |
ready |
Otto |
receive |
Stock |
stock.storagehandlingunit.v2.otto |
StorageHandlingUnitFineBrain.v2.0 |
ready |
4. Interface
4.1. Direction WMS to FINE
4.1.1. Header
This interface uses the Service Header
Special expresion for this interface:
Fieldname | Expresion |
---|---|
type |
|
context |
STORAGE_HANDLING_UNIT |
4.1.2. Datamodel
Property | Type | Description |
---|---|---|
(Root) |
object |
|
eventId* |
string (uuid) |
The uniq eventId |
traceId* |
string (uuid) |
The uniq traceId |
spanId |
string (uuid) |
The uniq spanId |
eventTime* |
string |
Time of occurrence of the event |
version* |
The number of version schema |
|
context |
string |
The context / business case |
eventType* |
string (enum) |
The type of operation Any of: [
"INSERT",
"UPDATE",
"DELETE"
] |
metaData |
object |
|
senderSystem* |
string (enum) |
system Any of: [
"KR1_SHF",
"KR1_HHSTR",
"WMSX_SON",
"WMSX_AKU",
"KMOTION_ILO",
"KMOTION_GHM",
"COBRA",
"LSAS",
"IDEEFIX",
"OBS",
"RESY",
"LDH",
"RETAILSCHICHT",
"BUBE",
"FINE_INBOUND",
"F2X",
"WMSX_WEISMAIN",
"LIGIS",
"KR1_MANDANT"
] |
client |
string (enum) |
client Any of: [
"FBO",
"MYTOYS",
"BONPRIX",
"WITT",
"CORSO",
"HEINE",
"BAUMARKT_DIREKT",
"BAUR",
"OTTO",
"ABOUTYOU",
"F2X",
"F2X_MANUFACTUM",
"F2X_PERSONALSHOP",
"F2X_SHEEGO",
"F2X_CLEARANCE"
] |
data* |
object |
|
location* |
string (enum) |
warehouse locations Any of: [
"ANSBACH",
"LOEHNE",
"LANGENSELBOLD",
"MOSINA",
"OHRDRUF",
"HALDENSLEBEN",
"HALDENSLEBEN_RT",
"SUEDHAFEN",
"SONNEFELD",
"ALTENKUNSTADT",
"WEIDEN",
"KRACANY",
"ILOWA",
"ILOWA_RT",
"ILOWA_RSS",
"GERNSHEIM",
"ERFURT",
"HAMBURG_RT",
"OTELFINGEN_RT",
"KRIMICE_RT",
"STAHLAVY_RT",
"OHRDRUF_RT",
"LOEHNE_RT",
"LANGENSELBOLD_RT",
"LODZ_1_RT",
"LODZ_2_RT",
"BERGHEIM_RT",
"ALTENKUNSTADT_RT",
"LISTERHILLS_RT",
"SUEDHAFEN_RT",
"PILSEN_RT",
"HAMBURG_SC",
"LOEHNE_SC",
"SCHWABHAUSEN_SC",
"HALDENSLEBEN_RSS",
"ALTENKUNSTADT_RSS",
"LOEHNE_RSS",
"OHRDRUF_RSS",
"LANGENSELBOLD_RSS",
"LOEHNE_CP"
] |
storageHandlingUnitId* |
string |
techn. Key einer Ladeinheit / eines Gebindes |
storageHandlingUnitCode* |
string |
Business-Key einer Ladeinheit / eines Gebindes |
storageHandlingUnitParentId |
string |
Falls das Gebinde schachtelbar ist, so ist hier der jeweilige Stapel zu referenzieren |
packageCode* |
string |
Kennzeichnung der Verpackungsnorm (z.B. Palette, Kolli N1 usw.) |
package* |
string (enum) |
Verpackungsnormen Any of: [
"UNKNOWN_PACKAGE",
"VIRTUAL_PACKAGE",
"N1",
"N2",
"N3",
"N4",
"N5",
"N6",
"N7",
"P1",
"P2",
"P3",
"P4",
"P5",
"BIN",
"HIGHBIN",
"BOX",
"HIGHBOX",
"LARGE_FORMAT_PALETTE",
"LARGE_FORMAT_CORLETTE",
"TROLLEY",
"GENERIC_UNIT",
"LOGISTICS_UNIT",
"HUNT",
"SHOECARTON",
"BULKBOX"
] |
packageGroup* |
string (enum) |
Verpackungsnormgruppen Any of: [
"UNKNOWN_PACKAGEGROUP",
"VIRTUAL_PACKAGEGROUP",
"GERNERIC_PACKAGEGROUP",
"CARTON",
"PALETTE",
"BIN",
"BOX",
"CORLETTE",
"TROLLEY",
"BULKBOX"
] |
sample |
string (enum) |
Kennzeichnung, ob es sich um ein Gebinde handelt, das in der Musterziehung erstellt wurde Any of: [
"NO_SAMPLE",
"SAMPLE"
] |
perforation |
string (enum) |
Kennzeichnung, ob eine Ladeeinheit durch eine automatische Perforation perforiert werden darf Any of: [
"NO_PERFORATION",
"PERFORATION",
"UNKNOWN"
] |
damaged |
string (enum) |
Kennzeichnung, ob das Gebinde beim Wareneingang defekt war Any of: [
"NOT_DAMAGED",
"DAMAGED"
] |
orderRelatedHandlingUnit |
string (enum) |
Kennzeichnung für den Einzelteilprozess (z.B. bei Otto Market) zur Unterscheidung ob ein Auftrag für ein Artikel im Gebinde vorliegt Any of: [
"YES",
"NO"
] |
orderRelatedHandlingUnitCode |
string |
Interne Werte der Vereinnahmung des ETV-Prozesses (z.B. Codes für Auftragsware, Schmuck, Präventiv etc.) des jeweiligen LVS |
captureType |
string (enum) |
Art der Erfassung einer Ladeeinheit, aktuell nur für Kartons zutreffend. Any of: [
"QR",
"OCR",
"MANUAL"
] |
weight |
object |
|
value |
integer |
Gewichtswert |
unit |
string (enum) |
unit weight Any of: [
"GRAM",
"KILOGRAM"
] |
returnTargetCode |
string |
Interne Werte des Sortierzieles Maximum Length: 10 |
4.1.3. Enumeration
Field: package
Meta Value | Description | Short Value |
---|---|---|
N1 |
Normkarton 1 |
|
N2 |
Normkarton 2 |
|
N3 |
Normkarton 3 |
|
N4 |
Normkarton 4 |
|
N5 |
Normkarton 5 |
|
N6 |
Normkarton 6 |
|
N7 |
Normkarton 7 |
|
BIN |
Retourenmischwanne |
|
HIGHBIN |
gedeckelte Retourenmischwanne |
|
BOX |
Mischkiste |
|
HIGHBOX |
hohe Mischkiste |
|
P1 |
N21 Höhe 1,65m inkl. Palette |
|
P2 |
N22 Höhe 2,10m inkl Palette |
|
P3 |
N23 Höhe 2,10m + die Ware steht seitlich über das Palettengrundmaß hinaus |
|
P4 |
N24 Höhe 0,70m inkl. Palette |
|
LARGE_FORMAT_PALETTE |
Großpalette |
|
LARGE_FORMAT_CORLETTE |
Großcorlette |
|
TROLLEY |
Trolley |
|
VIRTUAL_UNIT |
Virtuelle Ladeinheit |
|
BULKBOX |
Bulkbox |
Field: packageGroup
Meta Value | Description | Short Value |
---|---|---|
CARTON |
Normkarton |
|
PALETTE |
Palette |
|
BIN |
Wanne |
|
BOX |
Mischkiste |
|
CORLETTE |
Corlette |
|
TROLLEY |
Trolley |
|
VIRTUAL_UNIT |
Virtuelle Ladeinheit |
|
BULKBOX |
Bulkbox |
Field: sample
Meta Value | Description | Short Value |
---|---|---|
NO_SAMPLE |
kein Musterkarton |
|
SAMPLE |
Musterkarton |
Field: perforation
Meta Value | Description | Short Value |
---|---|---|
NO_PERFORATION |
keine automatische Perforation |
|
PERFORATION |
automatische Perforation |
|
UNKNOWN |
nicht definiert |
Field: damaged
Meta Value | Description | Short Value |
---|---|---|
NOT_DAMAGED |
kein Umpacker |
|
DAMAGED |
Umpacker |
Field: orderRelatedHandlingUnit
Meta Value | Description | Short Value |
---|---|---|
YES |
Kundenauftrag vorhanden |
|
NO |
Kundenauftrag nicht vorhanden |
Field: captureType
Meta Value | Description | Short Value |
---|---|---|
QR |
QR |
|
OCR |
OCR |
|
MANUAL |
manuell |
4.1.4. Example
{
"eventId": "00ce536f-923a-42f4-8128-be118faf1d87",
"traceId": "00ce536f-923a-42f4-8128-be118faf1d85",
"spanId": null,
"eventTime": "2016-04-16T16:06:05+02:00",
"version": "1",
"context": "storageNotification",
"type": "INSERT",
"sender": "WMSX_SONNEFELD",
"instance": "WMSX_SONNEFELD",
"data":{
"location":"SONNEFELD",
"storageHandlingUnitId":"218530844",
"storageHandlingUnitCode":"8522677816",
"storageHandlingUnitParentId":"85226778",
"packageCode":"Palette",
"package":"P5",
"packageGroup":"PALETTE",
"sample":"NO_SAMPLE",
"perforation":"NO_PERFORATION",
"damaged":"NOT_DAMAGED",
"orderRelatedHandlingUnit":"YES",
"orderRelatedHandlingUnitCode":"Schmuck"
}
}
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
previous version |
1.0 |
17.06.22 |
- Service Header Attribute wurden um Title, Format, Description und Example hinzugefügt - Neue ENUM Werte bei "package" "UNKNOWN_PACKAGE", "VIRTUAL_PACKAGE" - Neue ENUM Werte bei "packageGroup" "UNKNOWN_PACKAGEGROUP", "VIRTUAL_PACKAGEGROUP", "GERNERIC_PACKAGEGROUP" |
|
previous version |
2.0 |
20.09.22 |
- ServiceHeader Attriute spanId als optionales Feld einfügen - ServiceHeader Attriute type umbenannt in eventType - Service Header neues Objekt "metaData" einfügen und die Attribute "sender" in das neue Objekt verschieben - bei Attribute "sender" das Schema des GlobalEnum "sender" verlinken - ServiceHerder Attribute "instance" aus Schema entfernen wird über "sender" abgebildet - object weight mit value und unit hinzugefügt |
|
previous version |
2.1 |
12.04.23 |
Verlinkung auf system.v3 für WMSX_WEISMAIN - Aufnahme von client - Aufnahme neuer ENUMs für package "LOGISTICS_UNIT", "HUNT", "SHOECARTON" |
|
current version |
2.2 |
23.10.23 |
Einfügen neuer ENUM für package und packagroup: BULKBOX Einfügen eines neuen Felders "returnTargetCode" als String mit Länge 10 |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for StorageHandlungUnit",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StorageHandlingUnitWms.v2.2.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"format": "uuid",
"title": "The uniq spanId",
"description": "ID of the privious event (message). The ID is not given if there is no previous event. For transaction initiated by user the spanId of the executed event might be the userId.",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d85"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": ["1.01", "01.02"]
},
{
"type": "integer",
"examples": [1, 2]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"STORAGE_HANDLING_UNIT"
]
},
"eventType": {
"type": "string",
"title": "The type of operation",
"description": "Typ der Nachricht",
"examples": ["INSERT", "UPDATE", "DELETE"],
"enum": ["INSERT", "UPDATE", "DELETE"]
},
"metaData":{
"type":"object",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v4.schema.json"
},
"client": {
"title": "client",
"description": "Client/mandant (messages of different clients have different processing rules and destination interfaces) - use FBO for Fulfillment by Otto (CORE, DeepSea...)",
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/company.v4.schema.json"
}
},
"required": [
"senderSystem"
]
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"storageHandlingUnitId": {
"type": "string",
"description": "techn. Key einer Ladeinheit / eines Gebindes",
"examples": ["218530844"]
},
"storageHandlingUnitCode": {
"type": "string",
"description": "Business-Key einer Ladeinheit / eines Gebindes",
"examples": ["8522677816"]
},
"storageHandlingUnitParentId": {
"type": "string",
"description": "Falls das Gebinde schachtelbar ist, so ist hier der jeweilige Stapel zu referenzieren",
"examples": ["85226778"]
},
"packageCode": {
"type": "string",
"description": "Kennzeichnung der Verpackungsnorm (z.B. Palette, Kolli N1 usw.)",
"examples": ["Palette"]
},
"package": {
"type": "string",
"description": "Verpackungsnormen",
"examples": ["P5", "N2"],
"enum": ["UNKNOWN_PACKAGE", "VIRTUAL_PACKAGE", "N1", "N2", "N3", "N4", "N5", "N6", "N7", "P1", "P2", "P3", "P4", "P5", "BIN", "HIGHBIN", "BOX", "HIGHBOX", "LARGE_FORMAT_PALETTE", "LARGE_FORMAT_CORLETTE", "TROLLEY", "GENERIC_UNIT", "LOGISTICS_UNIT", "HUNT", "SHOECARTON","BULKBOX"]
},
"packageGroup": {
"type": "string",
"description": "Verpackungsnormgruppen",
"examples": ["PALETTE", "CARTON"],
"enum": ["UNKNOWN_PACKAGEGROUP", "VIRTUAL_PACKAGEGROUP", "GERNERIC_PACKAGEGROUP", "CARTON", "PALETTE", "BIN", "BOX", "CORLETTE", "TROLLEY","BULKBOX"]
},
"sample": {
"type": "string",
"description": "Kennzeichnung, ob es sich um ein Gebinde handelt, das in der Musterziehung erstellt wurde",
"examples": ["NO_SAMPLE", "SAMPLE"],
"enum": ["NO_SAMPLE", "SAMPLE"]
},
"perforation": {
"type": "string",
"description": "Kennzeichnung, ob eine Ladeeinheit durch eine automatische Perforation perforiert werden darf",
"examples": ["NO_PERFORATION", "PERFORATION", "UNKNOWN"],
"enum": ["NO_PERFORATION", "PERFORATION", "UNKNOWN"]
},
"damaged": {
"type": "string",
"description": "Kennzeichnung, ob das Gebinde beim Wareneingang defekt war",
"examples": ["NOT_DAMAGED", "DAMAGED"],
"enum": ["NOT_DAMAGED", "DAMAGED"]
},
"orderRelatedHandlingUnit": {
"type": "string",
"description": "Kennzeichnung für den Einzelteilprozess (z.B. bei Otto Market) zur Unterscheidung ob ein Auftrag für ein Artikel im Gebinde vorliegt",
"examples": ["YES", "NO"],
"enum": ["YES", "NO"]
},
"orderRelatedHandlingUnitCode": {
"type": "string",
"description": "Interne Werte der Vereinnahmung des ETV-Prozesses (z.B. Codes für Auftragsware, Schmuck, Präventiv etc.) des jeweiligen LVS",
"examples": ["Schmuck"]
},
"captureType": {
"type": "string",
"description": "Art der Erfassung einer Ladeeinheit, aktuell nur für Kartons zutreffend.",
"enum": ["QR","OCR","MANUAL"],
"examples": ["QR","OCR","MANUAL"]
},
"weight": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Gewichtswert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitWeight.v1.schema.json"
}
}
},
"returnTargetCode": {
"type": "string",
"maxLength": 10,
"description": "Interne Werte des Sortierzieles",
"examples": ["9369"]
}
},
"required": [
"location",
"storageHandlingUnitId",
"storageHandlingUnitCode",
"packageCode",
"package",
"packageGroup"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
4.2. Direction FINE to ERP
4.2.2. Datamodel
4.2.3. Enumeration
Field: Type
Meta Value | Description | Short Value |
---|
4.2.4. Example
4.2.5. Schema
current version |
2.1 |
|
01.06.23 |
previous version |
|
coming version |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for StorageHandlungUnit",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StorageHandlingUnitErp.v2.1.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"format": "uuid",
"title": "The uniq spanId",
"description": "ID of the privious event (message). The ID is not given if there is no previous event. For transaction initiated by user the spanId of the executed event might be the userId.",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d85"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": ["1.01", "01.02"]
},
{
"type": "integer",
"examples": [1, 2]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"STORAGE_HANDLING_UNIT"
]
},
"eventType": {
"type": "string",
"title": "The type of operation",
"description": "Typ der Nachricht",
"examples": ["INSERT", "UPDATE", "DELETE"],
"enum": ["INSERT", "UPDATE", "DELETE"]
},
"metaData":{
"type":"object",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v3.schema.json"
},
"client": {
"title": "client",
"description": "Client/mandant (messages of different clients have different processing rules and destination interfaces) - use FBO for Fulfillment by Otto (CORE, DeepSea...)",
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/company.v4.schema.json"
},
},
"required": [
"senderSystem",
"client"
]
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"storageHandlingUnitId": {
"type": "string",
"description": "techn. Key einer Ladeinheit / eines Gebindes",
"examples": ["218530844"]
},
"storageHandlingUnitCode": {
"type": "string",
"description": "Business-Key einer Ladeinheit / eines Gebindes",
"examples": ["8522677816"]
},
"storageHandlingUnitParentId": {
"type": "string",
"description": "Falls das Gebinde schachtelbar ist, so ist hier der jeweilige Stapel zu referenzieren",
"examples": ["85226778"]
},
"packageCode": {
"type": "string",
"description": "Kennzeichnung der Verpackungsnorm (z.B. Palette, Kolli N1 usw.)",
"examples": ["Palette"]
},
"package": {
"type": "string",
"description": "Verpackungsnormen",
"examples": ["P5", "N2"],
"enum": ["UNKNOWN_PACKAGE", "VIRTUAL_PACKAGE", "N1", "N2", "N3", "N4", "N5", "N6", "N7", "P1", "P2", "P3", "P4", "P5", "BIN", "HIGHBIN", "BOX", "HIGHBOX", "LARGE_FORMAT_PALETTE", "LARGE_FORMAT_CORLETTE", "TROLLEY", "GENERIC_UNIT", "LOGISTICS_UNIT", "HUNT", "SHOECARTON"]
},
"packageGroup": {
"type": "string",
"description": "Verpackungsnormgruppen",
"examples": ["PALETTE", "CARTON"],
"enum": ["UNKNOWN_PACKAGEGROUP", "VIRTUAL_PACKAGEGROUP", "GERNERIC_PACKAGEGROUP", "CARTON", "PALETTE", "BIN", "BOX", "CORLETTE", "TROLLEY"]
},
"sample": {
"type": "string",
"description": "Kennzeichnung, ob es sich um ein Gebinde handelt, das in der Musterziehung erstellt wurde",
"examples": ["NO_SAMPLE", "SAMPLE"],
"enum": ["NO_SAMPLE", "SAMPLE"]
},
"perforation": {
"type": "string",
"description": "Kennzeichnung, ob eine Ladeeinheit durch eine automatische Perforation perforiert werden darf",
"examples": ["NO_PERFORATION", "PERFORATION", "UNKNOWN"],
"enum": ["NO_PERFORATION", "PERFORATION", "UNKNOWN"]
},
"damaged": {
"type": "string",
"description": "Kennzeichnung, ob das Gebinde beim Wareneingang defekt war",
"examples": ["NOT_DAMAGED", "DAMAGED"],
"enum": ["NOT_DAMAGED", "DAMAGED"]
},
"orderRelatedHandlingUnit": {
"type": "string",
"description": "Kennzeichnung für den Einzelteilprozess (z.B. bei Otto Market) zur Unterscheidung ob ein Auftrag für ein Artikel im Gebinde vorliegt",
"examples": ["YES", "NO"],
"enum": ["YES", "NO"]
},
"orderRelatedHandlingUnitCode": {
"type": "string",
"description": "Interne Werte der Vereinnahmung des ETV-Prozesses (z.B. Codes für Auftragsware, Schmuck, Präventiv etc.) des jeweiligen LVS",
"examples": ["Schmuck"]
},
"captureType": {
"type": "string",
"description": "Art der Erfassung einer Ladeeinheit, aktuell nur für Kartons zutreffend.",
"enum": ["QR","OCR","MANUAL"],
"examples": ["QR","OCR","MANUAL"]
},
"weight": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Gewichtswert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitWeight.v1.schema.json"
}
}
}
},
"required": [
"location",
"storageHandlingUnitId",
"storageHandlingUnitCode",
"packageCode",
"package",
"packageGroup"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
4.3. Direction FINE to Brain
4.3.1. Header
This interface uses the Service Header
Special expresion for this interface:
Fieldname | Expresion |
---|---|
type |
|
context |
STORAGE_HANDLING_UNIT |
4.3.2. Datamodel
4.3.3. Enumeration
Field: package
Meta Value | Description | Short Value |
---|---|---|
N1 |
Normkarton 1 |
|
N2 |
Normkarton 2 |
|
N3 |
Normkarton 3 |
|
N4 |
Normkarton 4 |
|
N5 |
Normkarton 5 |
|
N6 |
Normkarton 6 |
|
N7 |
Normkarton 7 |
|
BIN |
Retourenmischwanne |
|
HIGHBIN |
gedeckelte Retourenmischwanne |
|
BOX |
Mischkiste |
|
HIGHBOX |
hohe Mischkiste |
|
P1 |
N21 Höhe 1,65m inkl. Palette |
|
P2 |
N22 Höhe 2,10m inkl Palette |
|
P3 |
N23 Höhe 2,10m + die Ware steht seitlich über das Palettengrundmaß hinaus |
|
P4 |
N24 Höhe 0,70m inkl. Palette |
|
LARGE_FORMAT_PALETTE |
Großpalette |
|
LARGE_FORMAT_CORLETTE |
Großcorlette |
|
TROLLEY |
Trolley |
|
VIRTUAL_UNIT |
Virtuelle Ladeinheit |
|
BULKBOX |
Bulkbox |
Field: packageGroup
Meta Value | Description | Short Value |
---|---|---|
CARTON |
Normkarton |
|
PALETTE |
Palette |
|
BIN |
Wanne |
|
BOX |
Mischkiste |
|
CORLETTE |
Corlette |
|
TROLLEY |
Trolley |
|
VIRTUAL_UNIT |
Virtuelle Ladeinheit |
|
BULKBOX |
Bulkbox |
Field: sample
Meta Value | Description | Short Value |
---|---|---|
NO_SAMPLE |
kein Musterkarton |
|
SAMPLE |
Musterkarton |
Field: perforation
Meta Value | Description | Short Value |
---|---|---|
NO_PERFORATION |
keine automatische Perforation |
|
PERFORATION |
automatische Perforation |
|
UNKNOWN |
nicht definiert |
Field: damaged
Meta Value | Description | Short Value |
---|---|---|
NOT_DAMAGED |
kein Umpacker |
|
DAMAGED |
Umpacker |
Field: orderRelatedHandlingUnit
Meta Value | Description | Short Value |
---|---|---|
YES |
Kundenauftrag vorhanden |
|
NO |
Kundenauftrag nicht vorhanden |
Field: captureType
Meta Value | Description | Short Value |
---|---|---|
QR |
QR |
|
OCR |
OCR |
|
MANUAL |
manuell |
4.3.4. Example
4.3.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
previous version |
1.0 |
17.06.22 |
- Service Header Attribute wurden um Title, Format, Description und Example hinzugefügt - Neue ENUM Werte bei "package" "UNKNOWN_PACKAGE", "VIRTUAL_PACKAGE" - Neue ENUM Werte bei "packageGroup" "UNKNOWN_PACKAGEGROUP", "VIRTUAL_PACKAGEGROUP", "GERNERIC_PACKAGEGROUP" |
|
previous version |
1.0 |
02.06.22 |
||
current version |
2.0 |
20.09.22 |
- ServiceHeader Attriute spanId als optionales Feld einfügen - ServiceHeader Attriute type umbenannt in eventType - Service Header neues Objekt "metaData" einfügen und die Attribute "sender" in das neue Objekt verschieben - bei Attribute "sender" das Schema des GlobalEnum "sender" verlinken - ServiceHerder Attribute "instance" aus Schema entfernen wird über "sender" abgebildet - object weight mit value und unit hinzugefügt |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for filtered StorageHandlungUnit for Otto Topic",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/StorageHandlingUnitFineBrain.v2.0.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05.000+02:00"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": ["1.01", "01.02"]
},
{
"type": "integer",
"examples": [1, 2]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"STORAGE_HANDLING_UNIT"
]
},
"eventType": {
"type": "string",
"title": "The type of operation",
"description": "Typ der Nachricht",
"examples": ["INSERT", "UPDATE", "DELETE"],
"enum": ["INSERT", "UPDATE", "DELETE"]
},
"metaData":{
"type":"object",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v1.schema.json"
}
}
},
"data": {
"type": "object",
"properties": {
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
},
"storageHandlingUnitId": {
"type": "string",
"description": "techn. Key einer Ladeinheit / eines Gebindes",
"examples": ["218530844"]
},
"storageHandlingUnitCode": {
"type": "string",
"description": "Business-Key einer Ladeinheit / eines Gebindes",
"examples": ["8522677816"]
},
"storageHandlingUnitParentId": {
"type": "string",
"description": "Falls das Gebinde schachtelbar ist, so ist hier der jeweilige Stapel zu referenzieren",
"examples": ["85226778"]
},
"packageCode": {
"type": "string",
"description": "Kennzeichnung der Verpackungsnorm (z.B. Palette, Kolli N1 usw.)",
"examples": ["Palette"]
},
"package": {
"type": "string",
"description": "Verpackungsnormen",
"examples": ["P5", "N2"],
"enum": ["UNKNOWN_PACKAGE", "VIRTUAL_PACKAGE", "N1", "N2", "N3", "N4", "N5", "N6", "N7", "P1", "P2", "P3", "P4", "P5", "BIN", "HIGHBIN", "BOX", "HIGHBOX", "LARGE_FORMAT_PALETTE", "LARGE_FORMAT_CORLETTE", "TROLLEY", "GENERIC_UNIT"]
},
"packageGroup": {
"type": "string",
"description": "Verpackungsnormgruppen",
"examples": ["PALETTE", "CARTON"],
"enum": ["UNKNOWN_PACKAGEGROUP", "VIRTUAL_PACKAGEGROUP", "GERNERIC_PACKAGEGROUP", "CARTON", "PALETTE", "BIN", "BOX", "CORLETTE", "TROLLEY"]
},
"sample": {
"type": "string",
"description": "Kennzeichnung, ob es sich um ein Gebinde handelt, das in der Musterziehung erstellt wurde",
"examples": ["NO_SAMPLE", "SAMPLE"],
"enum": ["NO_SAMPLE", "SAMPLE"]
},
"perforation": {
"type": "string",
"description": "Kennzeichnung, ob eine Ladeeinheit durch eine automatische Perforation perforiert werden darf",
"examples": ["NO_PERFORATION", "PERFORATION", "UNKNOWN"],
"enum": ["NO_PERFORATION", "PERFORATION", "UNKNOWN"]
},
"damaged": {
"type": "string",
"description": "Kennzeichnung, ob das Gebinde beim Wareneingang defekt war",
"examples": ["NOT_DAMAGED", "DAMAGED"],
"enum": ["NOT_DAMAGED", "DAMAGED"]
},
"orderRelatedHandlingUnit": {
"type": "string",
"description": "Kennzeichnung für den Einzelteilprozess (z.B. bei Otto Market) zur Unterscheidung ob ein Auftrag für ein Artikel im Gebinde vorliegt",
"examples": ["YES", "NO"],
"enum": ["YES", "NO"]
},
"orderRelatedHandlingUnitCode": {
"type": "string",
"description": "Interne Werte der Vereinnahmung des ETV-Prozesses (z.B. Codes für Auftragsware, Schmuck, Präventiv etc.) des jeweiligen LVS",
"examples": ["Schmuck"]
},
"captureType": {
"type": "string",
"description": "Art der Erfassung einer Ladeeinheit, aktuell nur für Kartons zutreffend.",
"enum": ["QR","OCR","MANUAL"],
"examples": ["QR","OCR","MANUAL"]
},
"weight": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "Gewichtswert"
},
"unit": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitWeight.v1.schema.json"
}
}
}
},
"required": [
"location",
"storageHandlingUnitId",
"storageHandlingUnitCode",
"packageCode",
"package",
"packageGroup"
]
}
},
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}
4.3.6. Filter
Filter on source topic for location IN ('LOEHNE', 'ANSBACH', 'SONNEFELD', 'HALDENSLEBEN', 'SUEDHAFEN', 'OHRDRUF', 'ERFURT', 'MOSINA', 'LANGENSELBOLD')
11 - S11 Open Orders
- Status
-
Version 0.1 published 20.06.2022
- Approval
-
-
- Comment
-
-
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
||
Producer |
BRAIN(COIN) |
|
Consumer |
FLASH |
2. Business Context
Mit dem Service werden die offenen und reservierten Nachlieferungsbestände pro ItemOptionCommunicationKey zum Zeitpunkt des Reportzeitstempels geliefert
Quellen für die Daten aus Coin : Data Catalog (OTTO.DE) https://datacatalog-prd.openshift-prod.ov.otto.de/asset/view/dcbe1eec795a22612095350869bc2c7f
KPI_187_OFFENER_NAB_STUECK — Kennzahl aus COIN (KPI_187_OFFENER_NAB_STUECK):
Der offene Nachlieferungsbestand (NAB) bildet die tägliche Veränderung aller Auftragspositionen ab, die keinen lieferbaren Bestand aufweisen. Sobald ein lieferbarer Bestand vorliegt, erfolgt entweder die Fakturierung oder eine Umbuchung in den reservierten NAB, wenn aus anderen Gründen auf die Fakturierung gewartet werden soll.
KPI_190_RESERVIERTER_NAB_STUECK — Kennzahl aus COIN (KPI_190_RESERVIERTER_NAB_STUECK):
Der reservierte Nachlieferungsbestand (NAB) bildet die tägliche Veränderung aller Auftragspositionen ab, die zwar einen lieferbaren Bestand aufweisen, aber dennoch nicht sofort ausgeliefert werden sollen. Gründe für ein solches Warten können z.B. sein, dass ein Kunde einen bestimmten späteren Liefertermin wünscht (Wunschtermin) oder auf die Komplettierung einer Bestellung gewartet wird.
3. Informationflow
4. Interface
4.1. Direction BRAIN COIN to FINE
4.1.1. Header
Special expresion for this interface:
4.1.2. Datamodel
Property | Type | Description |
---|---|---|
(Root) |
object |
Open Orders |
COMMKEY* |
integer |
Item Option Communication Key Minimum: 0 |
DATUM* |
string (date) |
Datum Minimum Length: 10 |
OFFENER_NAB* |
integer |
Offener NAB Minimum: 0 |
RESERVIERTER_NAB* |
integer |
Reservierter NAB Minimum: 0 |
REPORTZEITSTEMPEL* |
string (date-time) |
Exportzeitstempel |
RUN_ID* |
string |
RUN_ID Minimum Length: 16 |
4.1.3. Enumeration
Meta Value | Description | Short Value |
---|
4.1.4. Example
{
"COMMKEY": 1168078707,
"DATUM": "2022-06-07",
"OFFENER_NAB": 0,
"RESERVIERTER_NAB": 1,
"REPORTZEITSTEMPEL": "2022-06-22 03:04:39.394000",
"RUN_ID": "20220622010436"
}
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
current version |
0.1 |
20.06.22 |
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/OpenOrdersCoin.v0.1.schema.json",
"title": "Open Orders",
"description": "this is use in topic 'flash.stock.openorders'",
"properties": {
"COMMKEY": {
"type": "integer",
"minimum": 0,
"maximum": 999999999999999999,
"description": "Item Option Communication Key",
"examples": [1168078707]
},
"DATUM": {
"type": "string",
"title": "Datum",
"minLength": 10,
"maxLength": 10,
"description": "Date of latest NAB Change",
"format": "date",
"examples": ["2022-06-07"]
},
"OFFENER_NAB": {
"type": "integer",
"title": "Offener NAB",
"minimum": 0,
"description": "Open backorders (Offener Nachlieferungsbestand): Der offene Nachlieferungsbestand (NAB) bildet die tägliche Veränderung aller Auftragspositionen ab, die keinen lieferbaren Bestand aufweisen. Sobald ein lieferbarer Bestand vorliegt, erfolgt entweder die Fakturierung oder eine Umbuchung in den reservierten NAB, wenn aus anderen Gründen auf die Fakturierung gewartet werden soll.",
"examples": [0]
},
"RESERVIERTER_NAB": {
"type": "integer",
"title": "Reservierter NAB",
"minimum": 0,
"description": "Promissed backorders (reservierter Nachlieferungsbestand): Der reservierte Nachlieferungsbestand (NAB) bildet die tägliche Veränderung aller Auftragspositionen ab, die zwar einen lieferbaren Bestand aufweisen, aber dennoch nicht sofort ausgeliefert werden sollen. Gründe für ein solches Warten können z.B. sein, dass ein Kunde einen bestimmten späteren Liefertermin wünscht (Wunschtermin) oder auf die Komplettierung einer Bestellung gewartet wird.",
"examples": [3]
},
"REPORTZEITSTEMPEL": {
"type": "string",
"title": "Exportzeitstempel",
"format": "date-time",
"description": "Timestamp of export",
"examples": ["2022-06-22 03:04:39.394000"]
},
"RUN_ID": {
"type": "string",
"title": "RUN_ID",
"maxLength": 16,
"minLength": 16,
"description": "Export ID of exporting system",
"examples": ["20220622010436"]
}
},
"required": [
"COMMKEY",
"DATUM",
"OFFENER_NAB",
"RESERVIERTER_NAB",
"REPORTZEITSTEMPEL",
"RUN_ID"
],
"type": "object"
}
12 - S12 Open Order Core
- Status
-
Version 0.1 published 27.09.2022
- Approval
-
-
- Comment
-
Die Bewirtschaftung der Daten wird durch eine Abfrage in dem Source Stream von der Oracle Datenbank durchgeführt (Source Stream).
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
||
Producer |
CORE |
|
Consumer |
FLASH |
2. Business Context
Die Nachlieferungen (Open Order, alias Kundenzusagen) werden täglich für die Umfuhren zur Replenishment/Nachlieferungen von Otto aus der Hamburger Straße an Südhafen benutzt.
3. Informationflow
4. Interface
Aus dem VALUE Projekt entstandene (Pull nicht-standart) Schnittstelle. JSON Streams
4.1. Direction CORE to FINE
4.1.1. Header
4.1.2. Datamodel
Property | Type | Description |
---|---|---|
(Root) |
object |
Open Orders |
COMMKEY* |
integer |
Item Option Communication Key Minimum: 0 |
DATUM* |
string (date) |
Datum Minimum Length: 10 |
OFFENER_NAB* |
integer |
Offener NAB Minimum: 0 |
RESERVIERTER_NAB* |
integer |
Reservierter NAB Minimum: 0 |
REPORTZEITSTEMPEL* |
string (date-time) |
Exportzeitstempel |
RUN_ID* |
string |
RUN_ID Minimum Length: 16 |
4.1.3. Example
{
"REPORTZEITSTEMPEL": 1664290260000,
"COMMUNICATIONKEY": 1168078707,
"ARTIKELNUMMER": 10998537,
"ARTIKELGROESSE": 907,
"FT": 65,
"WBKZ": 1,
"LIEFERTERMIN":7952342400000,
"NAB_HHS": 12,
"NAB_SUED": 1,
"NAB_SONN": 0,
"ONAB_HHS": 0
}
4.1.4. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
current version |
0.1 |
27.09.22 |
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/OpenOrderCore.v0.1.schema.json",
"title": "Open Order Core",
"description": "the schema of the FINE Kafka topic 'flash.stock.openorder.core'",
"properties": {
"REPORTZEITSTEMPEL": {
"type": "string",
"title": "Exportzeitstempel",
"format": "date-time",
"description": "Timestamp of export",
"examples": ["1664290260000"]
},
"COMMUNICATIONKEY": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647,
"description": "Item Option Communication Key, a UUID for a sales/purchase item",
"examples": [1168078707]
},
"ARTIKELNUMMER": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647,
"description": "Sales/purchase item number",
"examples": [1168078707]
},
"ARTIKELGROESSE": {
"type": "integer",
"minimum": 0,
"maximum": 32767,
"description": "Item size",
"examples": [907]
},
"FT": {
"type": "integer",
"minimum": 0,
"maximum": 32767,
"description": "ZZZZZZZZZZ",
"examples": [69]
},
"WBKZ": {
"type": "integer",
"minimum": 0,
"maximum": 32767,
"description": "ZZZZZZZZZZZZ",
"examples": [1]
},
"LIEFERTERMIN": {
"type": "string",
"title": "Liefertermin",
"format": "date-time",
"description": "Timestamp of the estimated delivery date",
"examples": ["1664290260000"]
},
"NAB_HHS": {
"type": "integer",
"title": "NAB Hamburger Strasse",
"minimum": 0,
"description": "Outstanding backorder quantity in the location Hamburger Strasse(Offener Nachlieferungsbestand).",
"examples": [0]
},
"NAB_SUED": {
"type": "integer",
"title": "NAB Suedhafen",
"minimum": 0,
"description": "Outstanding backorder quantity in the location Suedhafen (reservierter Nachlieferungsbestand).",
"examples": [1]
},
"NAB_SONN": {
"type": "integer",
"title": "NAB Sonnefeld",
"minimum": 0,
"description": "Outstanding backorder quantity in the location Sonnefeld (reservierter Nachlieferungsbestand).",
"examples": [2]
},
"ONAB_HHS": {
"type": "integer",
"title": "ONAB Hamburger Strasse",
"minimum": 0,
"description": "Outstanding backorder quantity Hamburger Strasse",
"examples": [0]
}
},
"required": [
"REPORTZEITSTEMPEL",
"COMMUNICATIONKEY",
"ARTIKELNUMMER",
"ARTIKELGROESSE",
"FT",
"WBKZ",
"LIEFERTERMIN",
"NAB_HHS",
"NAB_SUED",
"NAB_SONN",
"ONAB_HHS"
],
"type": "object"
}
13 - S13 Major Customer Reservation
- Status
-
Version 0.1 published 27.09.2022
- Approval
-
-
- Comment
-
Die Bewirtschaftung der Daten wird durch eine Abfrage in dem Source Stream von der Oracle Datenbank durchgeführt (Source Stream).
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
||
Producer |
CORE |
|
Consumer |
FLASH |
2. Business Context
Major Customer Reservations dienen dem Vergleich der von Grosskunden reservierten AK Mengen mit den Beständen der Standorte Südhafen und Sonnefeld. Bei einer Defferenz wird die entsprechende Menge in die Bestandsumfuhr mit aufgenommen.
3. Informationflow
4. Interface
4.1. Direction Core to FINE
4.1.1. Header
4.1.2. Datamodel
Property | Type | Description |
---|---|---|
(Root) |
object |
Open Orders |
COMMKEY* |
integer |
Item Option Communication Key Minimum: 0 |
DATUM* |
string (date) |
Datum Minimum Length: 10 |
OFFENER_NAB* |
integer |
Offener NAB Minimum: 0 |
RESERVIERTER_NAB* |
integer |
Reservierter NAB Minimum: 0 |
REPORTZEITSTEMPEL* |
string (date-time) |
Exportzeitstempel |
RUN_ID* |
string |
RUN_ID Minimum Length: 16 |
4.1.3. Example
{
"NAME": "LASCANA-RESERV",
"COMMKEY": 1168078707,
"ID_RESERVATIONASSIGNMENT":20,
"ACTUALQUANTITY": 0,
"DELIVEREDQUANTITY": 1,
"TARGETQUANTITY": 1,
"COMMITEDQUANTITY": 0,
"TIMESTAMPEXPORT": "2022-06-07"
}
4.1.4. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
current version |
0.1 |
27.09.22 |
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/MajorCustomerReservation.v0.1.schema.json",
"title": "Major Customer Reservation",
"description": "the schema of the FINE Kafka topic 'flash.stock.majorcustomerreservation.core'",
"properties": {
"NAME": {
"type": "string",
"title": "Name",
"description": "Name",
"examples": ["LASCANA-RESERV"]
},
"COMMKEY": {
"type": "integer",
"minimum": 0,
"maximum": 999999999999999999,
"description": "Item Option Communication Key",
"examples": [1168078707]
},
"ID_RESERVATIONASSIGNMENT": {
"type": "integer",
"minimum": 0,
"maximum": 32767,
"description": "Id of the reservation assignment",
"examples": [20]
},
"ACTUALQUANTITY": {
"type": "integer",
"title": "Actual Quantity",
"minimum": 0,
"maximum": 2147483647,
"description": "",
"examples": [0]
},
"DELIVEREDQUANTITY": {
"type": "integer",
"title": "Delivered quantity",
"minimum": 0,
"maximum": 2147483647,
"description": "ZZZZZZZZZZZZZZZZZZZZZZZZZZZ",
"examples": [3]
},
"TARGETQUANTITY": {
"type": "integer",
"title": "Target Quantity",
"minimum": 0,
"maximum": 2147483647,
"description": "ZZZZZZZZZZZZ",
"examples": [3]
},
"COMMITEDQUANTITY": {
"type": "integer",
"title": "Commited Quantity",
"minimum": 0,
"description": "ZZZZZZZZZZ",
"examples": [3]
},
"TIMESTAMPEXPORT": {
"type": "string",
"title": "Exportzeitstempel",
"format": "date-time",
"description": "Timestamp of export",
"examples": ["2022-06-22 03:04:39.394000"]
}
},
"required": [
"NAME",
"COMMKEY",
"ID_RESERVATIONASSIGNMENT",
"ACTUALQUANTITY",
"DELIVEREDQUANTITY",
"TARGETQUANTITY",
"COMMITEDQUANTITY",
"TIMESTAMPEXPORT"
],
"type": "object"
}
14 - S16 HRL Haldensleben
- Status
-
Version 1.0 published 27.09.2024
- Approval
- Comment
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
FLASH |
|
Producer |
MFC TUP Thomas und Partner |
|
Consumer |
FLASH |
2. Business Context
Mit dem Service werden die Statusinformationen der Regalbediengeräte aus dem Hochregallager in Haldensleben übermittelt
Events:
STATUS_CHANGE, PROCESS_COMPLETED, OVERFLOW
3. Informationflow
Partner | Direction | FINE-Service | Topic/API | Description | Status |
---|---|---|---|---|---|
MFC |
send |
Stock |
stock.hrlhaldenslben |
hrlhaldenslben.mfc.v1 |
planned |
FLASH |
receive |
Stock |
stock.hrlhaldenslben |
hrlhaldenslben.mfc.v1 |
planned |
4. Interface
4.1. Direction WMS to FINE
4.1.1. Header
This interface uses the Service Header
Special expresion for this interface:
Fieldname | Expresion |
---|---|
context |
MFC_HRL_HALDENSLEBEN |
4.1.2. Datamodel
Unresolved directive in <stdin> - include::autogenerated-schema-tables/HrlHaldensleben.v1.0.schema.adoc[]
4.1.3. Enumeration
Field: Type
Meta Value | Description | Short Value |
---|
4.1.4. Example
{
"eventId": "00ce536f-923a-42f4-8128-be118faf1d87",
"traceId": "00ce536f-923a-42f4-8128-be118faf1d85",
"spanId": "00ce536f-923a-42f4-8128-be118faf1d85",
"eventTime": "2022-03-31T12:41:06.036+01:00",
"version": "1.0",
"context": "MFC_HRL_HALDENSLEBEN",
"eventType": "PROCESS_COMPLETED",
"metaData" : {
"senderSystem": "MFC_HRL_HHSTR"
},
"data": {
"processBusinessTime":"2022-03-31T12:41:06.036+01:00",
"businessEventCode": "xxxxxxx",
"businessEventType": "PROCESS_COMPLETED",
"transportUnitCode": "1",
"aisle": "4",
"mfcTargetCode": "091AKU___",
"cartonQuanity": 10,
"location": "HALDENSLEBEN"
}
}
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
coming version |
1.0 |
27.09.24 |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for MFC events with a transport unit",
// "$id": "https://doc.fine.gcp.osp-dev.de/registry/stock/HrlHaldensleben.v1.0.schema.json",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8138-33418faf1342"
]
},
"spanId": {
"type": "string",
"title": "The eventId of previous record or batchId",
"description": "Optionally, if this record (event) is one of a sequence of records and the order is important, then here is the id of the previous record (event), recommended as uuid, Special usecases can be specify for some interfaces",
"examples": [
"00ce536f-923a-42f4-5463-32a41877b3c2"
]
},
"eventTime": {
"type": "string",
"title": "Time of occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05Z"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"oneOf": [
{
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"maxLength": 6,
"examples": [
"1.01",
"01.02"
]
},
{
"type": "integer",
"minimum": 1,
"maximum": 99999,
"examples": [
1,
2
]
}
]
},
"context": {
"type": "string",
"title": "The context / business case",
"description": "The context specified here means the business domain.",
"examples": [
"MFC_HRL_HALDENSLEBEN"
]
},
"eventType": {
"description": "This attribute is to be used if the data set can have more than one characteristic. E.g. goods delivery start or goods delivery end. The possible values are to be co-ordinated here as Enum between the partners.",
"type": "string",
"title": "Event Type",
"examples": [
"STATUS_CHANGE",
"PROCESS_COMPLETED",
"OVERFLOW"
]
},
"metaData": {
"type": "object",
"title": "additional meta information",
"description": "optional, can be used with different characteristics for technical data per interface",
"properties": {
"senderSystem": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v10.schema.json"
}
},
"additionalProperties": false,
"required": [
"senderSystem"
]
},
"data": {
"type": "object",
"description": "contains the process data and the quantity information for a given process",
"properties": {
"processBusinessTime": {
"description": "business timestamp of the process",
"type": "string",
"format": "date-time",
"title": "business process time",
"examples": [
"2022-03-22T09:52:00.000+01:00"
]
},
"businessEventCode": {
"description": "Eventcode, can be decoded with reference data",
"type": "string",
"title": "eventCode"
},
"businessEventType": {
"description": "Describes the EventCode to a process or statusevent",
"type": "string",
"title": "Event Type",
"examples": [
"STATUS_CHANGE",
"PROCESS_COMPLETED",
"OVERFLOW"
]
},
"transportUnitCode": {
"description": "Code of the transport unit, e.g. the stacker crane",
"type": "string",
"title": "transportUnitCode"
},
"aisle": {
"description": "Aisle, in which the event happened",
"type": "string",
"title": "transportUnitCode"
},
"mfcTargetCode": {
"description": "Code of the MFC Target, reference data needed",
"type": "string",
"title": "transportUnitCode"
},
"cartonQuanity": {
"description": "if the event contains a quanity, e.g. overflow at handover station, then the overflow quantity should be transmitted",
"type": "integer",
"title": "cartonQuanity"
},
"location": {
"$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
}
},
"additionalProperties": false,
"required": [
"processBusinessTime",
"eventCode",
"transportUnitCode",
"location"
]
}
},
"additionalProperties": false,
"required": [
"eventId",
"traceId",
"eventTime",
"version",
"eventType",
"data"
]
}