=== FC 5: Reservierung_in_Puffer_eintragen  [STL] ===
INTERFACE:
  Input:
    TrolleyID : DInt
    Ziel : Int
    ShopGroup : DInt
    Gesamt_Trolley_DL : Int
  Output:
  InOut:
  Temp:
    Lager_DB : Int
    Lager_DW : Int
    SSDW : Int
    Position : Int
    LeerPuffer : Bool
    VollPuffer : Bool
  Constant:
  Return:
    Ret_Val : Void

--- NW 1: TrolleyID + Ziel bekannt -> Reservierung im Puffer ---
      L      TrolleyID
      L      0
      ==I
      BEC

      L      Ziel
      L      0
      ==I
      BEC

// Ziel checken:
      L      1
      >=I
      A(
      CAC
      L      10
      <=I
      )
      =      LeerPuffer

      CAC
      L      101
      >=I
      A(
      CAC
      L      151
      <=I
      )
      =      VollPuffer

// Puffer checken:
      L      Ziel
      T      "MW220"

CALL FC "DatenOut" (SSDB:=275, SSDW:=0, PARA:=16#0000, SEARCHDATEN:=P#M220.0, RE_VAL:="MB199", OUTDATEN:=P#M220.0, Position:=Position)   // Eintrag lesen

      L      "MB199"
      L      2#1111111                                       // Bit 7 ausblenden
      AW
      L      0                                               // Fehler vorhanden?
      <>I                                                    // Ja
      BEC

      L      "MW224"
      T      Lager_DB
      L      "MW226"
      T      Lager_DW

// Eintrag in Trolley-Reservierungsliste
      L      TrolleyID
      T      "MD220"
      L      ShopGroup
      T      "MD224"

      L      Lager_DW
      L      200
      +I
      T      SSDW

CALL FC "DatenIn" (SSDB:=Lager_DB, SSDW:=SSDW, INDATEN:=P#M220.0, RE_VAL:="MB198")


--- NW 2: BC in Trolley-DL eintragen ---
      L      Gesamt_Trolley_DL
      L      0                                               // Liste angegeben?
      ==I                                                    // Nein!
      BEC

      L      TrolleyID
      T      "TrolleyDL_INDaten".INDaten.TrolleyID
      L      Ziel
      T      "TrolleyDL_INDaten".INDaten.EndZiel
      L      ShopGroup
      T      "TrolleyDL_INDaten".INDaten.ShopGroup

// Standort:
      L      16#A000
      A      LeerPuffer
      JC     Standort

      L      16#B000
      A      VollPuffer
      JC     Standort

      L      16#0

Standort: T      "TrolleyDL_INDaten".INDaten.Standort

// Startzeit:
      L      "SGes".DATE_TIME.Jahr
      T      "TrolleyDL_INDaten".INDaten.LastTime.Jahr
      L      "SGes".DATE_TIME.Monat
      T      "TrolleyDL_INDaten".INDaten.LastTime.Monat
      L      "SGes".DATE_TIME.Tag
      T      "TrolleyDL_INDaten".INDaten.LastTime.Tag
      L      "SGes".DATE_TIME.Stunde
      T      "TrolleyDL_INDaten".INDaten.LastTime.Stunde
      L      "SGes".DATE_TIME.Minute
      T      "TrolleyDL_INDaten".INDaten.LastTime.Minute
      L      "SGes".DATE_TIME.Sekunde
      T      "TrolleyDL_INDaten".INDaten.LastTime.Sekunde

// Daten in Datenbank schreiben:
CALL FC "DatenIn" (SSDB:=Gesamt_Trolley_DL, SSDW:=0, INDATEN:=DB1010.DBX0.0, RE_VAL:="MB198")


--- NW 3: Ende ---
      BE

