dok:gekotakointerface

GEKO/TAKO Schnittstellen

Die GEKO und TAKO Schnittstellen sind als Database-Link zwischen den beiden Oracle Datenbanken von BPS und Automat realisiert.

Übermittlungen werden durch Oracle-Transaktionen gesichert. Es gibt somit keine Inkonsistenten wie halb verarbeitete oder fehlerhafte Dateien; eine Transaktion ist immer vollständig erfolgreich oder die Datenbank wird wieder auf den Anfangszustand zurückgesetzt (Rollback). Dies betrifft nicht nur die Schnittstelle an sich sondern auch alle damit zusammenhängenden Änderungen in den Applikationstabellen welche in der gleichen Transaktion erfolgen. Selbst nach Hardware Crashs wird durch die Recovery Funktionen von Oracle ein konsistenter Zustand nicht nur der Applikationstabellen, sondern auch der Schnittstelle wiederhergestellt.

Die Schnittsstelle an sich ist sehr schnell und für Online-Änderungen geeignet, da die Daten nicht zuerst in ein Dateiformat konvertiert werden, und anschliessend wieder decodiert (geparst) werden müssen.

Aktuelle Stammdaten stehen jederzeit als Views zur Abfrage durch das Kommissioniersystem bereit, und nicht nur zu bestimmten Zeiten. Ein separater Batch Prozess für die periodische Aufbereitung von Stammdaten auf dem BPS entfällt.

Die Schnittstelle ist so konzipiert, dass keinerlei Zugriffe von BPS aus in die Datenbank des Automaten erfolgen um jegliche Beeinträchtigung des Zeitverhaltens des Automaten durch BPS auszuschliessen. Alle Schnittstellen-Tabellen und -Views befinden sich deshalb in der BPS Datenbank, und es wird nur ein einseitiger Database Link von Automaten-Datenbank auf BPS Datenbank eingerichtet.

Im folgenden Beispiel richtet der Entwickler in der Oracle Datenbank des Automaten einen DB Link zur BPS Datenbank ein. Auf der Datenbank ZAB hat Ihm der BPS Administrator dazu ein Benützerkonto auf den Namen TAKO mit dem Passwort ASIMOV eingerichtet, und diesem Benützer die erforderlichen Zugriffsrechte auf die Tabellen und Views der Automaten-Schnittstelle gewährt. Die BPS Datenbank hat den globlen Namen GMOS3.WORLD, und hat den TNS Namen ZAB.

  create database link gmos3.world connect to tako identified by asimov using zab;

Die physischen Views und Schnittstellen enthalten an Stelle von _pr_ (wie in der Originalspezifikation für BPS V1) jeweils _geko_ respektive _tako_ im Namen. Für den Zugriff auf die Schnittstelle sollte der Automat deshalb in seiner Oracle Instanz eigene Views oder Synonyme zu definieren. Während die Namen der Views und Tabellen auf der BPS Seite fix sind, steht dem Entwickler des Automaten natürlich frei wie er die Views/Synonyme in der Automaten-DB benennen will. Nachfolgend werden solche auf je eine BPS View und eine BPS Tabelle jeweils mit dem Prefix LLS_ definiert:

  create or replace view lls_articles as select * from zab.v_tako_coll_articles@gmos3.world;
  create or replace view lls_orders as select * from zab.t_tako_orders@gmos3.world;

oder

  create synonym lls_articles for zab.v_tako_coll_articles@gmos3.world;
  create synonym lls_orders for zab.t_tako_orders@gmos3.world;

Ein weiterer Vorteil der Definition solcher Views oder Synonyme im Automaten ist, dass der DB Link oder die Benennung der Tabellen und Views innerhalb BPS geändert werden können, ohne dass in der eigentlichen Applikation des Automaten etwas verändert werden muss.

Die Views auf die Stammdaten haben jeweils den Prefix v_geko_ oder v_tako_.

Die Tabellen der Bewegungsdaten haben jeweils den Prefix t_geko_ oder t_tako_.

  • BPS erzeugt die Zeilen mit Status = 0 per INSERT.
  • Der Automat verarbeitet die Anforderungen und setzt den Status per UPDATE auf 1, 2 oder 3.
  • BPS verarbeitet die Antwort und löscht die Zeile per DELETE.
  • BPS erzeugt die Zeilen per INSERT.
  • Der Automat verarbeitet die Zeilen und löscht sie per DELETE.
  • Der Automat erzeugt die Zeilen per INSERT.
  • BPS verarbeitet die Zeilen und löscht sie per DELETE.
  • Allfällige Fehler werden im Log des Batchprogramms GekoSync.log respektive TakoSync.log protokolliert.

Die Stammdaten-Views in der BPS Datenbank stehen permanent zur Abfrage zur Verfügung und wiederspiegeln den aktuellen Stand im BPS mit allen per COMMIT bestätigten Mutationen.

Vom Automaten werden die Stammdaten nur zu bestimmten Zeiten abgefragt, z.B. täglich 23.00 oder bei Ereignissen wie z.B. Kommissionierbeginn einer Tour. Diese Zeiten und Ereignisse sind nicht Bestandteil dieses Pflichtenhefts, sondern in der Spezifikation des Automaten festzulegen.

Stammdaten-Mutationen welche auf dem BPS erfolgen werden deshalb nicht unmittelbar auf dem Automaten wirksam, sondern erst zu den festgelegten Zeiten oder Ereignissen.

Da diese Aktionen im Dialog der Programme Offene Touren und Sortimentartikel ausgelöst werden, sollen die Befehle möglichst rasch beantwortet werden. Umfangreichere Aktionen wie Kürzungen und Verschiebungen können dazu führen dass BPS Datensätze in der Grössenordnung der Anzahl Filialen generiert.

Die maximale Anwortzeit des Automaten (d.h. bis alle Datensätze verarbeitet sind) wird wie folgt spezifiziert:

  • Für 1 bis 10 Datensätze: 15 Sekunden
  • Für 10 bis 150 Datensätze: 60 Sekunden
  • Für über 150 Datensätze: Proportional mehr, d.h. bis 300 Datensätzen 120 Sekunden etc.

Das genaue Zeitverhalten zeigt sich erst am realen System, die Angaben oben sind auf der vorsichtigen Seite und werden voraussichtlich erheblich unterschritten. Die Reaktionszeit des Automaten wird hauptsächlich von der Polling-Zeit (zB. all 5-10 sec) bestimmt, die jedoch nicht zu klein gewählt werden darf. Das Polling soll deshalb dynamisch verändert werden, d.h. im Ruhezustand wo keine Kommunikation stattfindet genügt es die Abfrage alle 10 bis 15 Sekunden durchzuführen. Sobald jedoch effektiv eine Anfrage gestellt wird, ist die Wahrscheinlichkeit sehr hoch dass nach Beantwortung gleich noch weitere Anfragen erfolgen. Die Poll-Zeit sollte deshalb nach der Verarbeitung einer Anfrage auf eine kurze Zeit heruntergesetzt werden (z.B. auf 1 oder 0,5 Sekunden). Erst wenn dann mehrmals keine weitere Anfrage mehr erfolgt soll die Pollzeit wieder zurückgesetzt werden auf 10-15 Sekunden. Idealerweise sollten diese Poll-Parameter im GEKO einstellbar sein.

Die Verarbeitung der Pickmengen und der „Ende Kommissionierung“ Meldung erfolgt über einen Batchjob welcher auf dem BPS Scheduler ausgeführt wird. Der Job wird z.B. alle 5 Minuten ausgeführt, wobei dieses Intervall je nach Bedarf duch die Informatik selbständig im Autosys eingestellt werden kann.

Die Verarbeitung der Bestandesmeldungen erfolgt innerhalb des Dialogprogramms und unmittelbar nach Beantwortung der entsprechenden Anforderung durch den Automaten.

An Stelle von _xxxx_ steht jeweils _geko_ respektive _tako_.

Detailposition löschen.

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Wird die letzte Position eines Partnerauftrags gelöscht, so wird damit auch der entsprechende Partnerauftrag selbst gelöscht. War es der letzte Partnerauftrag einer Tour, so wird auch die Tour gelöscht.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
orderrow number not null Partnerauftrag Nummer t_orderrows.c_key
row_id number not null Partnerauftrag Position t_orderitems.c_key
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler
3 - Daten nicht vorhanden

Detailposition Änderung (Sollmenge und/oder Palettencode).

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
orderrow number not null Partnerauftrag Nummer t_orderrows.c_key
row_id number not null Partnerauftrag Position t_orderitems.c_key
planned number(6) not null Neue Sollmenge in Anzahl BE t_orderitems.c_planned
palcode number(2) not null Neuer Palettencode t_number(t_mergeclass.c_name)
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler
3 - Daten nicht vorhanden

Diese Tabelle wird in der aktuellen BPS V2 Implementierung nicht verwendet, statt dessen werden die Positionen des bisherigen Partnerauftrags mittels t_xxxx_detailpurges gelöscht, und die Positionen in der neuen Tour ggf. mittels t_xxxx_orders gesendet.

Partnerauftrag verschieben.

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
orderrow number not null Partnerauftrag Nummer t_orderrows.c_key
tripdate date not null Neues Tourendatum t_ordertrips.c_date
trip varchar(30) not null Neue Touren-ID t_trips.c_id
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler
3 - Daten nicht vorhanden

Diese Tabelle wird in der aktuellen BPS V2 Implementierung nicht verwendet, statt dessen werden die Positionen der Partneraufträge mittels t_xxxx_detailpurges gelöscht.

Partnerauftrag löschen.

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Wenn der letzte Partnerauftrag einer Tour gelöscht wird, so wird damit auch die Tour selbst gelöscht.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
orderrow number not null Partnerauftrag Nummer t_orderrows.c_key
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler
3 - Daten nicht vorhanden

Bestellpositionen.

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
orderrow number not null Partnerauftrag Nummer t_orderrows.c_key
row_id number not null Partnerauftrag Position t_orderitems.c_key
tripdate date not null Tourendatum (=Auslieferdatum) t_ordertrips.c_date
trip varchar(30) not null Touren-ID t_trips.c_id
partner varchar(30) not null Partnernummer des Empfängers t_partners.c_id
collection varchar(30) not null Sortiment t_partners.c_collection → t_collections.c_name
art_no varchar(30) not null Artikel Nummer t_articles.c_id
planned number(6) not null Sollmenge in Anzahl BE t_orderitems.c_planned
palcode number(2) not null Palettencode: Positionen mit identischem Palettencode dürfen auf dieselbe Palette. t_number(t_mergeclass.c_name), z.B:

00 Allerlei
01 BIO
02 Offenware
etc.
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler

Palettenaufgabe zur Wicklung und Etikettierung.

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Eine neue Anforderung mit Status 0 wird erstellt wenn sich der Benutzer im BPS Kommissionierprogramm im Druckfenster für die Palettenetikette befindet, und der Rüster statt den Druck auszulösen einen Identifikations-Barcode beim I-Punkt Karton scannt.

Wird die Anforderung vom Automat mit Status 1 quittiert, so ist die Palette in den Verantwortungsbereich des Automaten übergegangen. Der Druckdialog im Kommissionierprogramm wird geschlossen und der Rüster kann weiter kommissionieren.

Wird die Anforderung durch den Automaten mit Status 2 abgelehnt, so wird dem Benutzer im Kommissionierprogramm eine entsprechende Fehlermeldung („Anforderung durch Automat abgelehnt“) angezeigt. Nach quittieren der Fehlermeldung kann der Benutzer die Etikette drucken und die Palette anderweitig abtransportieren.

Es kann im praktischen Betrieb nur immer einen Datensatz mit Status 0 geben. Sollte (durch technischen Fehler oder durch Umgehen der Bedienvorschriften) die Situation entstehen dass mehr als ein Datensatz mit Status 0 vorhanden ist, so wird der Automat alle vorhandenen offenen neuen Anforderungen mit Status 2 ablehnen. Der Bediener der tatsächlich bei der Aufgabestelle an der Reihe ist kann dann entweder den Aufgabestellen-Barcode nochmals scannen um die Anforderung zu wiederholen, oder er kann die Palettenetikette drucken und die Palette anderweitig abtransportieren.

Spalte Typ Beschreibung BPS V2 Mapping / Bemerkungen
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
pallet number(6) not null Palettennummer. Referenziert v_xxxx_palinfo. Letzte 6 Ziffern von t_ordepicks.c_luid
barcode varchar(35) not null Identifikations-Barcode beim I-Punkt.
Enthält z.B. die Wicklungsart und die Aufgabeadresse; der Inhalt ist für BPS jedoch nicht relevant.
Wird von BPS 1:1 wie gescannt abgefüllt, die Auswertung erfolgt durch den Automat.
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Palette wurde angenommen
2 – Anforderung abgelehnt (z.B. Fehler, Anlage nicht bereit oder Palettendaten nicht komplett)

Pickmenge einer Bestellposition.

Bewegungsdaten Automat zu BPS ohne Rückmeldung.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. Von Automat vergeben
orderrow number not null Partnerauftrag Nummer t_orderrows.c_key
row_id number not null Partnerauftrag Position t_orderitems.c_key
actual_ou number(6) not null Istmenge in Anzahl BE t_orderpicks.c_tus
pal_id number(6) not null Palette Nummer t_orderpicks.c_luid

Crossdocking Pickmenge.

Bewegungsdaten Automat zu BPS ohne Rückmeldung.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. Von Automat vergeben
sender varchar(30) not null Partnernummer des Lieferanten t_partners.c_id
recipient varchar(30) not null Partnernummer der Filiale t_partners.c_id
actual_ou number(6) not null Istmenge in Anzahl BE t_orderpicks.c_tus
pal_id number(6) not null Palette Nummer t_orderpicks.c_luid

Abfrage Lagerbestand.

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Wenn diese Abfrage gestellt wird, stellt der Automat die Bestände aller im Automatenlager vorhandenen Artikel in die Tabelle t_xxxx_stocklevels, und quittiert anschliessend diese Abfrage.

Die Anfrage wird in der Regel zu einem Zeitpunkt gestellt in welchem die Kommissionieranlage ruht. Sollte die Anfrage jedoch ausnahmsweise zu einem Zeitpunkt erfolgen in welchem die Einlagerung und/oder Kommissionierung im Gange ist, so ist es dem Automat freigestellt ob die Bestände nur effektiv in den Lagerplätzen liegende Gebinde umfassen oder auch solche die in der Anlage unterwegs sind (je nachdem welche Implementierung günstiger ist).

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler
3 - Daten nicht vorhanden

Bestandesmeldungen.

Bewegungsdaten Automat zu BPS ohne Rückmeldung.

GEKO: Nur Bestand der nicht gesperrt ist
TAKO: Nur Bestand in Portalen

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. Von Automat vergeben
collection varchar(30) not null Sortiment t_collections.c_name
art_no varchar(30) not null Artikel Nummer t_articles.c_id
stock_act number(8) not null Bestand in Bestelleinheiten t_stock.c_tus

Meldung wenn Tour beendet.

Bewegungsdaten Automat zu BPS ohne Rückmeldung.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. Von Automat vergeben
tripdate date not null Tourendatum t_ordertrips.c_date
trip varchar(30) not null Touren-ID t_trips.c_id

Diese Tabelle wird in der aktuellen BPS V2 Implementierung nicht verwendet, statt dessen werden die Positionen der bisherigen Tour mittels t_xxxx_detailpurges gelöscht, und die Positionen der neuen Tour ggf. mittels t_xxxx_orders neu gesendet.

Tour verschieben.

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
tripdate_old date not null Altes Tourendatum t_ordertrips.c_date
trip_old varchar(30) not null Alte Touren-ID t_trips.c_id
tripdate_new date not null Neues Tourendatum t_ordertrips.c_date
trip_new varchar(30) not null Neue Touren-ID t_trips.c_id
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler
3 - Daten nicht vorhanden

Diese Tabelle wird in der aktuellen BPS V2 Implementierung nicht verwendet, statt dessen werden die Positionen der Tour mittels t_xxxx_detailpurges gelöscht.

Tour löschen.

Bewegungsdaten BPS zu Automat mit Rückmeldung.

Spalte Typ Beschreibung BPS V2 Mapping
ident number not null Fortlaufende eindeutige Nummer als Primärschlüssel. s_xxxx_idents.nextval
tripdate date not null Tourendatum t_ordertrips.c_date
trip varchar(30) not null Touren-ID t_trips.c_id
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler
3 - Daten nicht vorhanden

An Stelle von _xxxx_ steht jeweils _geko_ respektive _tako_.

Artikelbilder.

Spalte Typ Beschreibung BPS V2 Mapping
pkey number(15) not null Primärschlüssel des Datensatzes t_articlepictures.c_key
ident number(1) not null Bild Index (1, 2) f_xxxx_pictureindex(…)
collection varchar(30) not null Sortiment t_collections.c_name
art_no varchar(30) not null Artikelnummer t_articles.c_id
filetype number(1) not null Dateityp
0=BMP, 1=GIF, 2=PCX, 3=TIF, 4=PNG, 5=JPG
t_articlepictures.c_type
filesize number(8) Dateigrösse in Byte t_articlepictures.c_size
filedata blob Binärer Dateiinhalt t_articlepictures.c_data

Alle Bar Codes zum Scannen.

Spalte Typ Beschreibung BPS V2 Mapping
collection varchar(30) not null Sortiment t_collections.c_name
art_no varchar(30) not null Artikelnummer t_articles.c_id
barcode varchar(13) not null EAN8/EAN13/UPC Bar Code t_articlebarcodes.c_code

In BPS verwendete Barcode-Suche auf Grund des gescannten Codes:

  • Wenn erste 2 Stellen = 21, 22, 28, 29, oder Länge des Codes kleiner/gleich 8: Vergleiche die ersten 7 Stellen.
  • In allen anderen Fällen: Vergleiche die ersten 12 Stellen.

Beispiel:

select collection, art_no
from v_xxxx_barcodes
where substr(barcode,1,7)=’2155667’

Gebindestamm.

Spalte Typ Beschreibung BPS V2 Mapping
ident varchar(30) not null Gebinde ID t_packages.c_id
boxname varchar(50) not null Bezeichnung t_packages.c_name
weight number(5,3) not null Gewicht in KG t_packages.c_weight
depalpress number(1) not null Druckstufe bei Paletier-Roboter
0=schwach, 1=mittel, 2=stark
t_packages.c_press
box_lay_i number(4) not null Anzahl Gebinde pro Lage Wareneingang t_packages.c_pkg_lyr_in
lay_pal_i number(4) not null Anzahl Lagen pro Palette Wareneingang t_packages.c_lyr_ctr_in
box_lay_o number(4) not null Anzahl Gebinde pro Lage Warenausgang t_packages.c_pkg_lyr_out
lay_pal_o number(4) not null Anzahl Lagen pro Palette Warenausgang t_packages.c_lyr_ctr_out
height number(4) not null Gesamthöhe des Gebindes in mm.
Die Höhe eines Stapels ist:
n * (height - sockheight) + sockheight.
t_packages.c_height * 1000
width number(4) not null Breite in mm. Muss bei GEKO und TAKO immer 400 sein. t_packages.c_width * 1000
length number(4) not null Länge in mm. Muss bei TAKO immer 300 oder 600 sein. t_packages.c_length * 1000
sockheight number(4) not null Sockelhöhe in mm t_packages.c_socket * 1000

Im View erscheinen nur Gebinde mit dem Attribut GEKO oder TAKO.

Absatzkanäle.

Bei Lieferanten zur Bestimmung des Crossdocking Inhalts.
Bei Filialen zur Bestimmung der Grösse.

Spalte Typ Beschreibung BPS V2 Mapping
ident varchar(30) not null Absatzkanal t_salechannels.c_name (Oberste zwei Ebenen)

Sortimentartikelstamm.

Spalte Typ Beschreibung BPS V2 Mapping
collection varchar(30) not null Sortiment t_collections.c_name
art_no varchar(30) not null Artikelnummer t_articles.c_id
name varchar(50) not null Bezeichnung t_articles.c_name
barcode varchar(13) EAN8/EAN13/UPC Haupt-Barcode f_xxxx_articlebarcode(t_article.c_key)
box varchar(30) not null Gebinde ID t_articles.c_tu_package → t_packages.c_id
stock_loc varchar(30) Lagerplatz (Maske nn.nn.nnn)
Erste 2 Zeichen = Bedarfswelt
Erste 5 Zeichen = Bedarfsbereich
Letzte 3 Zeichen = Reihenfolge
Von Bestand mit höchster Prio: path(t_stocklocation.c_id).replace(/,.)
weight number(5,3) not null Nettogewicht Bestelleinheit in kg t_article.c_kg_cu * t_article.c_cu_tu
heavy number(1) not null Kennzeichnung als schwerer Artikel
0=normal, 1=schwer
t_articleattribute.c_name=„Schwerware“
overdeliv number(6) not null Maximale Überlieferung (Anzahl BE) t_articles.c_overdelivery
image number(1) not null Aktives Produktebild
0=kein Bild, 1=1.Bild, 2=2.Bild
Berechnet aus t_artpictures: lowest(c_key)=1, aktives = min(c_prio)
su_per_ou number(4) not null Anzahl VE in einer BE t_article.c_cu_tu
sell_pr number not null Verkaufspreis pro VE oder pro Kilo Aktueller VP aus t_articleprices.c_cpr
hdl_speed number(1) not null Behandlungsgeschwindigkeit
1=sehr langsam, 2=langsam, 3=normal, 4=schnell, 5=sehr schnell
t_articles.c_hdlspeed

Hängige Anforderungen von BPS.

Spalte Typ Beschreibung
ident number not null Fortlaufende eindeutige Nummer.
tableindex number not null Index der Tabelle in welcher die Anforderung sich befindet.
0 - t_xxxx_orders
1 - t_xxxx_tripmoves
2 - t_xxxx_trippurges
3 - t_xxxx_orderrowmoves
4 - t_xxxx_orderrowpurges
7 - t_xxxx_detailupdates
8 - t_xxxx_detailpurges
9 - t_xxxx_querystock
10 - t_xxxx_palinputs
status number(1) not null Verarbeitungsstatus
0 – Neue Anforderung
1 – Aktion erfolgreich
2 – Anforderung abgelehnt oder Fehler
3 - Daten nicht vorhanden

Information zu einer bestimmten Palettennummer.

In BPS V2 ist die Palette über eine 15-stellige LU ID eindeutig identifiziert. Als Palettennummer werden aber nur die niedrigsten 6 Ziffern davon verwendet. Da die Aufbewahrungsdauer der Bewegungsdaten in BPS nicht technisch limitiert ist, könnte es also vorkommen dass dieselbe Palettennummer nach einer gewissen Zeit wieder vorkommt. Damit der View eindeutige Ergebnisse liefert wird er deshalb intern auf Pickdaten limitiert die maximal eine Woche alt sind.

Aus Leistungsgründen soll der Automat nur einzelne Datensätze gezielt nach Palettennummer abrufen (…. where pallet = …..).

Spalte Typ Beschreibung BPS V2 Mapping / Bemerkungen
luid number(15) not null LU ID t_orderpicks.c_luid
pallet number(6) not null Palettennummer Letzte 6 Ziffern von t_orderpicks.c_luid
tripdate date not null Tourendatum t_ordertrips.c_date
trip varchar(30) not null Touren-ID t_trips.c_id
partner varchar(30) not null Partnernummer des Empfängers. Referenziert v_xxxx_partners.ident. t_partners.c_id
text1 varchar(35) Text 1 für Produkteinfo Bei Reinpaletten die Artikel ID, sonst null.
text2 varchar(35) Text 2 für Produkteinfo Bei Reinpaletten die Artikelbezeichnung, sonst null.
quantity number not null Anzahl Gebinde auf der Palette Total TU auf der Palette.
pickedby varchar(10) Kurzbezeichnung des Rüsters der zuletzt ein Gebinde zur Palette hinzugefügt hat. t_users.c_mnemonic

Partnergruppen.

Spalte Typ Beschreibung BPS V2 Mapping
ident varchar(30) not null Partnergruppe: Filiale, Lieferant t_partnerclasses.c_name (Oberste Ebene)

Partner (Filialen + Lieferanten).

Spalte Typ Beschreibung BPS V2 Mapping
ident varchar(30) not null Partner-ID t_partners.c_id
name varchar(50) not null Partner-Name t_partners.c_name
pnrgroup varchar(30) not null Partnergruppe (Lieferant, Filiale) t_partnerclasses.c_name (oberste Ebene)
channel varchar(30) not null Absatzkanal t_salechannels.c_name (oberste 2 Ebenen)
barcode varchar(13) Barcode zum Scannen t_partners.barcode
lbl_line1 varchar(50) Etikettentext Zeile 1 t_partners.c_labeltext (erste Zeile)
lbl_line2 varchar(50) Etikettentext Zeile 2 t_partners.c_labeltext (zweite Zeile)
comm_prio number(6) Kommissionier-Priorität t_pickzonepartners.c_prio (Zone = die mit robot.geko oder robot.tako)
stage number(3) Bereitstellungsplatz (Spedition) t_partners.c_embarkpoint
stockcode number(1) not null 0 – Grosslager, 1 – Sonderlager Partnerattribut „Sonderlager“
overdeliv number(1) not null Überbelieferung erlaubt Partnerattribut „Ueberlieferung“
sscc_prefix varchar(30) SSCC Prefix Zentrale Systemeinstellungen: Labeling/LU/SSCC Prefix
conveyance varchar(30) Förderweg (Ost, West) t_partners.c_conveyance

Der Absatzkanal ist bei Lieferanten analog der Produktesektoren und Produktegruppen belegt, und dient dazu den Inhalt der Crossdocking Gebinde zu klassifizieren. Bei Filialen dient er dazu die Grösse sowie die Sonderfilialen zu unterscheiden.

Die Kommissionierpriorität kommt aus der Partnerliste in der GEKO/TAKO Pickzone.

Der SSCC Prefix ist bei allen Partnern identisch und wird den zentralen System-Einstellungen entnommen (Labeling/LU/SSCC Prefix).

Partner/Touren Verknüpfung.

Spalte Typ Beschreibung BPS V2 Mapping
partner varchar(30) not null Partner-ID t_partners.c_id
trip varchar(30) not null Touren-ID t_trips.c_id
comm_prio number(6) Kommissionier-Priorität
Tiefere Nummer = höhere Priorität
NULL = tiefste Priorität
Bei gleicher Priorität wird die Partnernummer (aufsteigend) als weiteres Sortierkriterium verwendet
t_trippartners.c_prio
comm_at number(4,2) Übergabezeit in Stunde.Minute
Um diese Zeit soll die Kommissionierung für die Filiale abgeschlossen sein.
Bei gleicher Übergabezeit wird Kommissionier-Priorität als weiteres Sortierkriterium verwendet.
t_trippartnerss.c_htime
pr_restpalmode number(1) not null Automat Restpalettenmodus
0 = Keine nachfolgende Kartonkommissionierung, alles für Binder palettieren und Exit „Versand“.
1 = Bei Restpaletten kleiner v_xxxx_trips.palfillgrade, palettieren für nachfolgende Kartonkommissionierung und Exit „Karton“
t_trippartners.c_restmode

BoSS Bedarfswelt.

Spalte Typ Beschreibung BPS V2 Mapping
ident varchar(30) not null Bedarfswelt t_saleclasses.c_name (Oberste Ebene)

BoSS Bedarfsbereich.

Spalte Typ Beschreibung BPS V2 Mapping
ident varchar(30) not null Bedarfsbereich t_saleclasses.c_name (Zweitoberste Ebene)

Tourenstamm.

Spalte Typ Beschreibung BPS V2 Mapping
ident varchar(30) not null Touren-ID t_trips.c_id
depart number(4,2) Geplante Abfahrtzeit in Stunden.Minuten
NULL = keine feste Abfahrzeit, z.B. Nachlieferungen
Erste Zeit aus t_trips.c_schedule
preload number(4,2) Vorladezeit in Stunden.Minuten t_trips.c_ptime
mon number(1) not null Fährt Montags (0 = nein, 1 = ja) Aus t_trips.c_schedule
tue number(1) not null Fährt Dienstags (0 = nein, 1 = ja) Aus t_trips.c_schedule
wed number(1) not null Fährt Mittwochs (0 = nein, 1 = ja) Aus t_trips.c_schedule
thu number(1) not null Fährt Donnerstags (0 = nein, 1 = ja) Aus t_trips.c_schedule
fri number(1) not null Fährt Freitags (0 = nein, 1 = ja) Aus t_trips.c_schedule
sat number(1) not null Fährt Samstags (0 = nein, 1 = ja) Aus t_trips.c_schedule
sun number(1) not null Fährt Sonntags (0 = nein, 1 = ja) Aus t_trips.c_schedule
palfillgrade number(3) not null Paletten-Füllgrad in Prozent t_trips.c_fillgrade
pr_workmode number(1) not null Automaten - Arbeitsmodus
0 = Auftragswellen
1 = LU-Wellen
t_trips.c_robotmode
  • dok/gekotakointerface.txt
  • Zuletzt geändert: 02.04.2021 07:39
  • von ibk