Bestellungen via ERP
Es gibt Anwendungsfälle wo es nicht möglich ist mit den BPS Bestellaufnahme- und Zuteilungsprogrammen direkt in BPS Aufträge zu erzeugen. Der Grund ist, dass die nachfolgenden Prozesse eine Referenz (Bestellnummer) des übergeordneten SAP ERP Systems benötigen.
Statt dessen sollen die Bestelldaten also zuerst an das übergeordnete SAP ERP System gesendet werden, und dieses generiert dann die Bestellungen welche inklusive SAP Bestellnummern auf dem regulären Weg ins BPS importiert werden.
Gegenüber der direkten Auftragsgenerierung in BPS welche sofort erfolgt, kann es via ERP natürlich einige Zeit dauern bis Bestellungen, Zuteilungen und Ersatzartikel-Positionen verfügbar sind und kommissioniert werden können: Die Bestelldaten müssen zunächst an das ERP gesendet werden. Dieses liest die Bestelldaten ein, generiert die Bestellungen und sendet sie zurück. In BPS müssen die ERP Bestellungen schliesslich importiert und daraus BPS Aufträge generiert werden.
Durch eine hohe Kadenz der Export- und Import-Scripts, und Priorität bei der Generierung der Bestellungen auf SAP ERP soll diese Zeit optimiert werden. Aussagen wie lange es dauert sind nicht möglich und hängen wesentlich von der Gesamtkonfiguraton ab. Im besten Fall muss mit einigen Minuten gerechnet werden.
Ebenfalls ist es nicht möglich direkt bei der Bestellaufnahme den Auftrag als kommissioniert zu generieren z.B. für eine Nachbelastung. Da muss ebenfalls gewartet werden bis die ERP Bestellung eintrifft, und diese kann dann in einem zweiten Schritt als kommissioniert erfasst werden.
Aktivierung der ERP Bestellungen
Aktiviert werden die ERP-Bestellungen über die neue Einstellung «OrderGenMode» in Central System Settings/GuiConfig. Ist dort «BPS» eingetragen (Vorgabe) so werden Bestellungen sofort in BPS Aufträge gespeichert. Steht die Einstellung auf «ERP», so werden die Bestellungen statt dessen in die Übergabetabellen geschrieben:
Anwendungen
Folgende Anwendungen generieren ERP Bestellungen:
- Bestellaufnahme
- Zuteilungen
- Auftragstouren:
- Kürzen, mit Angabe eines Ersatzartikels und/oder einer Nachlieferungstour
- Abschluss, mit Angabe einer Nachlieferungstour für nicht oder unvollständig kommissionierte Positionen
Für folgende Anwendung ist die Generierung von ERP Bestellungen nicht realisiert:
- Bestellaufnahme nach Liste
Bei der Bestellaufnahme sind die Auswahlen für «Bestellart» und «Auftragsstatus» im ERP Modus fixiert:
Bei der Zuteilung ist die Auswahl «Auftragsstatus» im ERP Modus fixiert:
Export Script
Der Skript erpexport
exportiert alle Bestelldaten aus den Tabellen t_erporders
und t_erporderitems
in Dateien welche vom ERP eingelesen werden können. Pro Auftrag wird jeweils eine Datei «NB-…» oder «EL-…» erzeugt welche die Bestellung respektive Ersatzlieferung in XML Form enthält.
Die Parameter des Skripts sehen sie wenn sie eine BPS Kommandozeile öffnen und den Befehl bps erpexport -h
eingeben:
C:\ProgramData\IBK BPS 2.24.3>bps erpexport -h SYNOPSYS bps erpexport CONNECTSTRING [OPTION]... BESCHREIBUNG Dieses Programm exportiert ERP Bestellungen. HINWEIS - Geben sie als CONNECTSTRING benutzer-id/pincode@verbindungsname ein. BEISPIELE - Export in das BPS standart Datenverzeichnis und alles protokollieren: bps erpexport 10/1234@pgprod -v 9 - Export in das Verzeichnis \\nabu\c\dev\export\: bps erpexport 10/1234@pgprod -d \\nabu\c\dev\export\ oder: bps erpexport 10/1234@pgprod -d //nabu/c/dev/export/ OPTIONEN -h, --help Hilfe anzeigen (diese). -d PATH, --directory=PATH Export in das angegebene Verzeichnis. -v VERBOSE, --verbose=VERBOSE Ausführlichkeit der Statusprotokollierung, wobei 0 = minimal und 9 = maximal. Die Vorgabe ist 0 für minimale Protokollierung. C:\ProgramData\IBK BPS 2.24.3>
XML Dateien
Für jede Bestellung oder Ersatzlieferung wird eine eigene Datei erzeugt. Unten sind zwei Beispieldateien zu sehen. In der Praxis kann bei Nachbestellungen auch mehr als eine Position enthalten sein, bei Ersatzlieferungen ist jedoch immer nur eine Position enthalten.
Nachbestellungen (NB)
- NB_0000000091-20210219
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Nachbestellung> <Header> <Typ>NB</Typ> <BestellnummerBPS>91</BestellnummerBPS> <KostenstelleWE>0090364</KostenstelleWE> <GLN_WE>7617007003649</GLN_WE> <TourID>T06F</TourID> <TourName>T06 Frischfleisch</TourName> <Lieferdatum>19.02.2021</Lieferdatum> </Header> <PositionItems> <Position> <PositionNr>10</PositionNr> <Artikel>220201420192</Artikel> <Menge>4</Menge> <Bestellmengeneinheit>KG</Bestellmengeneinheit> <MengeInBasis>4</MengeInBasis> <Basismengeneinheit>KG</Basismengeneinheit> <Preiscode>A</Preiscode> <Bemerkung></Bemerkung> </Position> </PositionItems> </Nachbestellung>
Ersatzlieferungen (EL)
- EL_0027853889-20210219
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Ersatzlieferung> <Header> <Typ>EL</Typ> <BestellnummerBPS>64</BestellnummerBPS> <BestellnummerERP>27853889</BestellnummerERP> <KostenstelleWE>0090452</KostenstelleWE> <GLN_WE>7617007004523</GLN_WE> <TourID>T07F</TourID> <TourName>Frischfleisch</TourName> <Lieferdatum>16.07.2020</Lieferdatum> </Header> <PositionItems> <Position> <PositionNr>770</PositionNr> <Artikel>220222000000</Artikel> <Menge>3</Menge> <Bestellmengeneinheit>KG</Bestellmengeneinheit> <MengeInBasis>3</MengeInBasis> <Basismengeneinheit>KG</Basismengeneinheit> <Preiscode>N</Preiscode> <Bemerkung>Ersatz für 2202.220.000.41.</Bemerkung> <AltArtikel>220222000041</AltArtikel> <AltMenge>6</AltMenge> <AltBestellmengeneinheit>KG</AltBestellmengeneinheit> <AltMengeInBasis>6</AltMengeInBasis> <AltBasismengeneinheit>KG</AltBasismengeneinheit> <AltPreiscode>N</AltPreiscode> </Position> </PositionItems> </Ersatzlieferung>
Felderläuterungen
Element | Bei | Beschreibung |
---|---|---|
Header | ||
Typ | Alle | NB bei Nachbestellung, EL bei Ersatzlieferung |
BestellnummerBPS | Alle | Fortlaufender Schlüssel in der Warteschlange der ERP-Bestellungen:t_erporders.c_key , t_erporderitems.c_parent |
BestellnummerERP | Nur EL | Bestellnummer der Originalbestellung aus KO10 |
KostenstelleWE | Alle | ID des Warenempfängers aus Partnerstamm |
GLN_WE | Alle | GLN des Warenempfängers aus Partnerstamm |
TourID | Alle | ID der BPS Tour |
TourName | Alle | Name der BPS Tour |
Lieferdatum | Alle | Gewünschtes Lieferdatum |
Position | ||
PositionNr | Alle | Bei NB mit 10 beginnend und bei weiteren Positionen in 10er Schritten erhöht Bei EL Positions-Nr. der Originalbestellung aus KO10 |
Artikel | Alle | ID des Artikels aus Artikelstamm, nur Ziffern ohne Punkte |
Menge | Alle | Bestellte Menge |
Bestellmengeneinheit | Alle | CU aus Artikelstamm |
MengeInBasis | Alle | Bestellte Menge |
Basismengeneinheit | Alle | CU aus Artikelstamm |
Preiscode | Alle | N = Normalpreis, A = AktionspreisNB: Gemäss Artikelstamm für das Lieferdatum EL: Abhängig von Einstellung Central System Settings/GuiConfig/Alternate Articles/KeepPriceCode |
Bemerkung | Alle | NB: Kombinierte Bemerkungen der ganzen Bestellung und der Detailposition EL: Bemerkung neuer Auftrag aus Kürzungsfenster |
AltArtikel | Nur EL | Artikel-ID der Originalbestellung |
AltMenge | Nur EL | Bestellmenge der Originalbestellung |
AltBestellmengeneinheit | Nur EL | CU der Originalbestellung |
AltMengeInBasis | Nur EL | Bestellmenge der Originalbestellung |
AltBasismengeneinheit | Nur EL | CU der Originalbestellung |
AltPreiscode | Nur EL | Preiscode der Originalbestellung |