dok:erporders

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.

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:


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:


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>

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.

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>
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>
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 = Aktionspreis
NB: 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
  • dok/erporders.txt
  • Zuletzt geändert: 05.04.2021 06:57
  • von ibk