[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2015
    Beiträge
    10

    Question Lagermonatsendbestände

    Hallo zusammen,
    ich möchte per SQL die Monatsendbestände jedes Monats aus einer Lagerbewegungsdatei ermitteln. Die Lagerbewegungsdatei enthält neben Bewegungsdatum und Bewegungsmenge auch den Bestand nach Buchung der Bewegungsmenge.
    Das ganze funktioniert einwandfrei über eine CTE mit row_number() und Partition by, order by wenn ich in jedem Monat mindestens eine Bewegung habe. Das ist in der Praxis aber natürlich nicht der Fall. Die OLAP-Partitionierung kann also hier vermutlich nicht zum Ziel führen. Hat jemand eine Idee, wie man das lösen kann.
    Wolfgang Gruber
    www.ghs-software.de

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... da braucht man weder row_number, noch partition by, ein einfacher left outer join mit einer Datei, die alle Monate enthält sollte reichen!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    "Das ist in der Praxis aber natürlich nicht der Fall."
    Das kann ich bestätigen, da nicht jeden Monat eine Bewegung entstehen muss und der letzte Bestand durchaus schon Jahre da rumliegen kann.

    Vor Jahr(zehnt)en habe ich mal eine Anfangsbestandsermittlung bezogen auf ein Datum geschrieben:

    Code:
    select lbfirm, lbwknr, lbtenr, lblanr 
    ,max(digits(lbdate) concat digits(lbtime) concat digits(lbrfnr) concat  ';' concat char(lblgbe) concat ';' concat char(lbprei) concat ';' concat  char(lbmeng) ) as lbbest 
    from lgbw 
    where lbfirm=? and lbwknr=? and lbdate < ? and lbtenr<>' ' and lbmeng <> 0 
    group by lbfirm, lbwknr, lbtenr, lblanr"
    Durch die Max-Funktion erhält man das letzte Datum (Zeit+ ID) und durch die Concat's alle benötigten Werte auf dieses Datum.
    Im Ergebnis muss ich die Inhalte dann nur wieder trennen.
    Es würde auch reichen, nur die LBRFNR mit aufzunehmen und damit wieder einen Join durchzuführen.

    Nun kann man die Bestände zu jedem beliebigen Stichtag ermitteln.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •