Dieser Eingabepunkt ist Teil der Verarbeitung TRTACHMGT1 (Bedarfsberücksichtigung in den Arbeitsplänen, also in der Planungsmaske Organisation, der Planungsmaske Arbeitsbereich und der Gruppierung) und generiert eine "PECBESOINS"-Aktion.
Mit dieser Aktion kann die berücksichtigte Bedarfsmenge in physische Einheiten konvertiert werden.
Dies geschieht je nach Standardtitel des Artikels, jedoch nur für Bedarf, der sich nicht aus einem Einkaufsdokument ableitet.
Es gibt keine laufende Maskensteuerung.
Eine Protokolldatei ist geöffnet.
Der Eingabepunkt wird für alle in den Arbeitsplänen berücksichtigten Bedarfspositionen aufgerufen.
Bei Aufruf der Aktion PECBESOINS werden folgende Variablen belegt:
TRAIT
Verarbeitungstyp für den berücksichtigten Bedarf:
- 4 = Anlage von Materialanforderungen
- 5 = Anlage von klassischen Bestellungen
- 6 = Anlage von Lieferanfragen (Kontrakte)
ABREV
Abkürzung der verwendeten Maske ("PMG")
Die Maske [M:PMG] steht zur Verfügung, die Variable I gibt die Tabellenzeile an, die gerade verarbeitet wird.
[M:PMG]WIPTYP(I)
Auftragsart:
- 2 = PO = Lieferantenbestellung
- 4 = SC = Fremdbearbeitung
- 7 = TR = Dispositionstransfer
[M:PMG]WIPSTA(I)
Auftragsstatus:
- 1 = F = fest
- 2 = P = geplant
- 7 = S = Vorschlag
Obige Variablen und Klassen dürfen nicht geändert werden.
Folgende Variable muss geändert werden, um in die Verarbeitung Bedarfsberücksichtigung einzugreifen:
RMNQTY
Berücksichtigte Bedarfsmenge, ausgedrückt in:
- physischen STK, wenn sich der Bedarf aus einem Einkaufsdokument ergeben hat (POP, POF, TRP, TRF)
- aktiven STK, wenn sich der Bedarf nicht aus einem Einkaufsdokument ergeben hat (POS, TRS, SCF etc.)
-
Beispiel für eine vom Eingabepunkt aktivierte spezifische Verarbeitung:
$ACTION
Case ACTION
When "PECBESOINS" : Gosub PECBESOINS
When "ORDLEC" : Gosub ORDLEC
When "ORDMAJ" : Gosub ORDMAJ
Endcase
Return
#----- Konvertierung der berücksichtigten Bedarfsmenge in physische Einheiten -----#
$PECBESOINS
If find(TRAIT,4,5,6) & ABREV="PMG" & (!find([M:PMG]WIPTYP(I),2,7) | [M:PMG]WIPSTA(I)=3)
If [F:ITM]ITMREF<>[M:PMG]ITMREF(I)
Read [ITM] ITM0=[M:PMG]ITMREF(I) : If fstat Raz [F:ITM] : Endif
Endif
If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0
[L]RMNQTY=[L]RMNQTY*100/[F:ITM]DEFPOT
Call QTEARR ([L]RMNQTY,[F:ITM]STU) From TRTDIV
Endif
Endif
Return
#----- Konvertierung der Mengen in psychische Einheiten nach dem Lesen von [F:ORD] -----#
$ORDLEC
If [F:ITM]ITMREF<>[F:ORD]ITMREF
Read [ITM] ITM0=[F:ORD]ITMREF : If fstat Raz [F:ITM] : Endif
Endif
If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0
[F:ORD]EXTQTY=[F:ORD]EXTQTY*100/[F:ITM]DEFPOT
Call QTEARR ([F:ORD]EXTQTY,[F:ITM]STU) From TRTDIV
[F:ORD]CPLQTY=[F:ORD]CPLQTY*100/[F:ITM]DEFPOT
Call QTEARR ([F:ORD]CPLQTY,[F:ITM]STU) From TRTDIV
[F:ORD]RMNEXTQTY=[F:ORD]RMNEXTQTY*100/[F:ITM]DEFPOT
Call QTEARR ([F:ORD]RMNEXTQTY,[F:ITM]STU) From TRTDIV
Endif
Return
#----- Konvertierung der Mengen in aktive Einheiten, wenn sich der Bedarf aus dem Einkauf ergibt -----#
$ORDMAJ
If find([F:ORD]WIPTYP,2,7) & left$([M:ORDK]ABBFIL,1)="P"
If [F:ITM]ITMREF<>[F:ORD]ITMREF
Read [ITM] ITM0=[F:ORD]ITMREF : If fstat Raz [F:ITM] : Endif
Endif
If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0
[F:ORD]EXTQTY=[F:ORD]EXTQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORD]EXTQTY,[F:ITM]STU) From TRTDIV
[F:ORD]CPLQTY=[F:ORD]CPLQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORD]CPLQTY,[F:ITM]STU) From TRTDIV
[F:ORD]RMNEXTQTY=[F:ORD]RMNEXTQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORD]RMNEXTQTY,[F:ITM]STU) From TRTDIV
Endif
Return
In nachstehender Tabelle weist das Kennzeichen "Wichtiger Inhalt" auf Inhalte hin, die im Kontext kohärent sind.
Tabelle | Wichtiger Inhalt | Tabellentitel |
ORDERS | Nein | Lfd. Vorgänge |
ITMMASTER | Nein | Artikel |
ITMBPS | Nein | Artikel - Lieferanten |
PREQUIS | Falls TRAIT = 4 | Materialanforderungen Kopfzeilen |
PREQUISD | Falls TRAIT = 4 | Materialanforderungen Positionen |
PORDER | Wenn TRAIT = 5 oder 6 | Bestellungen Kopfzeilen |
PORDERC | Falls TRAIT = 6 | Artikelpositionen Kontrakte |
PORDERP | Wenn TRAIT = 5 oder 6 | Bestellpositionen Preis |
PORDERQ | Wenn TRAIT = 5 oder 6 | Bestellpositionen Menge |
Um das Problem der Artikel mit Titeln (Mengen in aktiven Einheiten bei laufenden Vorgängen, in physischen Einheiten bei Einkaufsdokumenten) korrekt zu behandeln, muss dieser Eingabepunkt zwingend mit den beiden anderen Eingabepunkten ORDMAJ und ORDLEC verwendet werden.
Dieser Eingabepunkt ist Teil der Verarbeitung TRTACHMGT1 (Bedarfsberücksichtigung in den Arbeitsplänen, also in der Planungsmaske Organisation, der Planungsmaske Arbeitsbereich und der Gruppierung) und generiert eine "ORDLEC"-Aktion.
Mit dieser Aktion können die soeben gelesenen Mengen der laufenden Vorgänge in physische Einheiten konvertiert werden.
Die Vorgehensweise dabei richtet sich nach dem jeweiligen Standardtitel des Artikels, wobei die Mengen der laufenden Vorgänge stets in aktiven Einheiten ausgedrückt werden.
Der Eingabepunkt wird nach dem Lesen eines Datensatzes aus der Tabelle ORDERS in den Verarbeitungen des Einkaufsmoduls aufgerufen.
Bei Aufruf der Aktion ORDLEC wird die Klasse [F :ORD] geladen.
Bei Artikeln mit Titel müssen die folgenden Mengen in physische Einheiten konvertiert werden:
[F :ORD]EXTQTY
Sollmenge
[F :ORD]CPLQTY
Realisierte Menge
[F :ORD]RMNEXTQTY
Restmenge
Beispiel für eine vom Eingabepunkt ORDLEC aktivierte spezifische Verarbeitung:
$ACTION
Case ACTION
When "PECBESOINS" : Gosub PECBESOINS
When "ORDLEC" : Gosub ORDLEC
When "ORDMAJ" : Gosub ORDMAJ
Endcase
Return
#----- Konvertierung der berücksichtigten Bedarfsmenge in physische Einheiten -----#
$PECBESOINS
If find(TRAIT,4,5,6) & ABREV="PMG" & (!find([M:PMG]WIPTYP(I),2,7) | [M:PMG]WIPSTA(I)=3)
If [F:ITM]ITMREF<>[M:PMG]ITMREF(I)
Read [ITM] ITM0=[M:PMG]ITMREF(I) : If fstat Raz [F:ITM] : Endif
Endif
If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0
[L]RMNQTY=[L]RMNQTY*100/[F:ITM]DEFPOT
Call QTEARR ([L]RMNQTY,[F:ITM]STU) From TRTDIV
Endif
Endif
Return
#----- Konvertierung der Mengen in psychische Einheiten nach dem Lesen von [F:ORD] -----#
$ORDLEC
If [F:ITM]ITMREF<>[F:ORD]ITMREF
Read [ITM] ITM0=[F:ORD]ITMREF : If fstat Raz [F:ITM] : Endif
Endif
If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0
[F:ORD]EXTQTY=[F:ORD]EXTQTY*100/[F:ITM]DEFPOT
Call QTEARR ([F:ORD]EXTQTY,[F:ITM]STU) From TRTDIV
[F:ORD]CPLQTY=[F:ORD]CPLQTY*100/[F:ITM]DEFPOT
Call QTEARR ([F:ORD]CPLQTY,[F:ITM]STU) From TRTDIV
[F:ORD]RMNEXTQTY=[F:ORD]RMNEXTQTY*100/[F:ITM]DEFPOT
Call QTEARR ([F:ORD]RMNEXTQTY,[F:ITM]STU) From TRTDIV
Endif
Return
#----- Konvertierung der Mengen in aktive Einheiten, wenn sich der Bedarf aus dem Einkauf ergibt -----#
$ORDMAJ
If find([F:ORD]WIPTYP,2,7) & left$([M:ORDK]ABBFIL,1)="P"
If [F:ITM]ITMREF<>[F:ORD]ITMREF
Read [ITM] ITM0=[F:ORD]ITMREF : If fstat Raz [F:ITM] : Endif
Endif
If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0
[F:ORD]EXTQTY=[F:ORD]EXTQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORD]EXTQTY,[F:ITM]STU) From TRTDIV
[F:ORD]CPLQTY=[F:ORD]CPLQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORD]CPLQTY,[F:ITM]STU) From TRTDIV
[F:ORD]RMNEXTQTY=[F:ORD]RMNEXTQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORD]RMNEXTQTY,[F:ITM]STU) From TRTDIV
Endif
Return
In nachstehender Tabelle weist das Kennzeichen "Wichtiger Inhalt" auf Inhalte hin, die im Kontext kohärent sind.
Tabelle | Wichtiger Inhalt | Tabellentitel |
ORDERS | Ja | Lfd. Vorgänge |
ITMMASTER | Nein | Artikel |
Um das Problem der Artikel mit Titeln (Mengen in aktiven Einheiten bei laufenden Vorgängen, in physischen Einheiten bei Einkaufsdokumenten) korrekt zu behandeln, muss dieser Eingabepunkt zwingend mit den beiden anderen Eingabepunkten PECBESOINS und ORDMAJ verwendet werden.