Einsprungpunkte > Modul Stammdaten > Standardskript TRTWIP 

MAJITMMVT: Zusatzaktualisierung der Dateien nach Aktualisierung lfd.

Zusammenfassung

Der Eingabepunkt betrifft die Verwaltung von laufenden Bestandsvorgängen.

Mit ihm können zusätzliche Aktualisierungen von Dateien durchgeführt werden, nachdem zu laufenden Bestandsvorgängen etwas durchgeführt worden ist.

Kontext und Funktionsmodus

Maskensteuerung

Eine Maskensteuerung ist aktiv. Die Variable GOK wird automatisch auf den Wert 1 gesetzt.

Unterschiedliche Anwendungsfälle

Dieser Eingabepunkt wird in der Verarbeitung TRTWIP aufgerufen, die wiederum aus jeder Verarbeitung aufgerufen wird (Bestand, Einkauf, Verkauf, Produktion), in der laufende Bestandsvorgänge angelegt, geändert oder gelöscht werden können..

 

Wichtige Variablen

WMAJCOD enthält:         "C", wenn ein ORDERS-Datensatz geschrieben wird

         "M", wenn ein ORDERS-Datensatz erneut geschrieben wird

         "A", wenn ein ORDERS-Datensatz gelöscht wird

Wenn WMAJCOD = "M",

               dann enthält WRMNEXTQTY die Restmenge vor dem erneuten Schreiben des laufenden Vorgangs mit dessen neuer Menge.

               dann enthält WOLDWIPSTA den alten Status des laufenden Vorgangs (1 = fest, 2 = geplant, 3 = Vorschlag, 4 = abgeschlossen).

 

 
Geöffnete Tabellen

In nachstehender Tabelle weist das Kennzeichen "Wichtiger Inhalt" auf Inhalte hin, die im Kontext kohärent sind (die aktuelle Lieferung ist belegt, nicht jedoch die Positionen).

Tabelle

Wichtiger Inhalt

Tabellentitel

ORDERS

JA

Aktuelle Belastung [F:ORDW]

 

 

 

 

Geöffnete Masken

Maske

Wichtiger Inhalt

Maskentitel

ORDK

JA

Parameter laufende Bestandsvorgänge

 

 

 

 
Spezialfall

Um eine Bedarfssumme (z. B. BESSTO) in der Tabelle Artikel-Standort-Summen ITMMVT zu belegen, muss folgendermaßen vorgegangen werden:

Aufträge

- SOF          (Verkaufsauftrag)                ( [M:ORDK]WIPTYP=1 und [M:ORDK]WIPSTA=1 )

- MWF         (Fertigungsmaterialien)             ( [M:ORDK]WIPTYP=6 und [M:ORDK]WIPSTA=1 )

- TPF           (Standortinterne Anfrage)              ( [M:ORDK]WIPTYP=8 und [M:ORDK]WIPSTA=1 )

Wenn WMAJCOD = "C",

dann [F :ITV]BESSTO += [F:ORDW]RMNEXTQTY

Wenn WMAJCOD = "M",

               Wenn WOLSWIPSTA = 2 oder WOLDWIPSTA = 3 und [F :ORD]WIPSTA = 1 (Wechsel von "geplant / Vorschlag" zu "fest")

                                dann [F :ITV]BESSTO += [F:ORDW]RMNEXTQTY

               Sonst

                               [F :ITV]BESSTO += [F:ORDW]RMNEXTQTY - WRMNEXTQTY

Wenn WMAJCOD = "A",

[F :ITV]BESSTO -= [F:ORDW]EXTQTY – [F :ORDW]CPLQTY

ORDMAJ: Spezifische Aktualisierung der individuellen Felder von ORDERS

Der Eingabepunkt betrifft die Verwaltung von laufenden Bestandsvorgängen.

Mit diesem Eingabepunkt wird unmittelbar vor Anlage / Änderung des aktuellen Datensatzes gearbeitet (beispielsweise um spezifische Felder zu initialisieren oder um die Mengen in aktiven Einheiten erneut zu berechnen).

Kontext und Funktionsmodus

Maskensteuerung

Eine Maskensteuerung ist aktiv. Die Variable GOK wird automatisch auf den Wert 1 gesetzt.

Unterschiedliche Anwendungsfälle

Dieser Eingabepunkt wird bei Anlage und Änderung in der Verarbeitung TRTWIP aufgerufen, die wiederum aus jeder Verarbeitung aufgerufen wird (Bestand, Einkauf, Verkauf, Produktion), in der laufende Bestandsvorgänge angelegt werden können..

Um den Aufrufkontext zu ermitteln, müssen also eventuell die Variablen GFONCTION und WMAJCOD ausgewertet werden.

 

Wichtige Variablen

WMAJCOD enthält:

         "C", wenn ein ORDERS-Datensatz geschrieben wird

         "M", wenn ein ORDERS-Datensatz erneut geschrieben wird

Für die erneute Berechnung der Mengen in aktiven Einheiten sind nur die Aufträge aus Einkäufen betroffen.

Im Folgenden ein spezifisches Verarbeitungsbeispiel für eine solche Bedarfsverwaltung:

$ACTION

Case ACTION

  When "ORDMAJ" :  Gosub ORDMAJ

  When Default

Endcase

Return

 

#-----------------------------------#

# Umrechnung Mengen in aktive Einheiten  #

# für Aufträge aus Einkäufen  # 

#   - [F:ORDW]RMNEXTQTY              #

#   - [F:ORDW]CPLQTY                 #

#   - [F:ORDW]EXTQTY                 #

#-----------------------------------#

$ORDMAJ

If find([F:ORDW]WIPTYP,2,7) & left$([M:ORDK]ABBFIL,1)="P"

    If [F:ITM]ITMREF<>[F:ORDW]ITMREF

       Read [ITM] ITM0=[F:ORDW]ITMREF : If fstat  Raz [F:ITM] : Endif

    Endif

    If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0

       [F:ORDW]RMNEXTQTY=[F:ORDW]RMNEXTQTY*[F:ITM]DEFPOT/100

       Call QTEARR ([F:ORDW]RMNEXTQTY,[F:ITM]STU) From TRTDIV

       If [F:ORDW]CPLQTY <> 0

           [F:ORDW]CPLQTY=[F:ORDW]CPLQTY*[F:ITM]DEFPOT/100

           Call QTEARR ([F:ORDW]CPLQTY,[F:ITM]STU) From TRTDIV

       Endif

       If [F:ORDW]EXTQTY <> 0

           [F:ORDW]EXTQTY=[F:ORDW]EXTQTY*[F:ITM]DEFPOT/100

           Call QTEARR ([F:ORDW]EXTQTY,[F:ITM]STU) From TRTDIV

       Endif

    Endif

Endif

Return

 

 

 

Geöffnete Tabellen

In nachstehender Tabelle weist das Kennzeichen "Wichtiger Inhalt" auf Inhalte hin, die im Kontext kohärent sind.

Tabelle

Wichtiger Inhalt

Tabellentitel

ORDERS

JA

Aktuelle Belastung

 

 

 

 

Geöffnete Masken

Maske

Wichtiger Inhalt

Maskentitel

ORDK

JA

Parameter laufende Bestandsvorgänge