ProdAufNew()
ProdAufNew() – Neuen Produktionsauftrag erstellen
Die Funktion erstellt einen neuen Produktionsauftrag.
Wird nHauptAufNr übergeben, wird ein neuer (leerer!) Unterauftrag zu der Auftragsnr. erstellt.
Bei nHauptAufNr muss es sich um einen existierenden Haupt-Auftrag handeln.
Parameter | Beschreibung |
---|---|
oBeDBGet:O | Datenmodul (TBeDBGet-Objekt) |
nHauptAufNr:N | Haupt-Auftragsnummer; default = 0 |
Rückgabewert
Array - Format: { nAufNr, nAufPos }
Beispiel
CODE
| oDM, oDab035, oDab240, aProductionOrder |
oDM := CreateObject('TBeDBGet', 'PRODDM'),
startseq
oDab035 := DBGetTable(oDM, waDAB035),
oDAB240 := DBGetTable(oDM, waDAB240),
DBStartTrans(oDM.ADSConnection),
startseq
aProductionOrder := ProdAufNew(oDM), // Neuen Produktionsauftrag (Dab035) anlegen
// Setzen der benötigten Angaben in der Dab035
oDab035:ARTNR := 'RUECK_BAUGR',
oDab035:KOMMISS := 'TEST', // Achtung: Feld KOMMISS ist bei -2 Artikel
// nicht editierbar!
oDab035:TERMIN := 'KW.' + KW(Date()),
oDab035:MENGE_EK := 1,
ProdAufPost(oDM), // Besitzt der angegebene Artikel eine Stückliste, wird diese beim Post aufgelöst
// Produktionsauftrag editieren
ProdAufEdit(oDM, aProductionOrder [1], aProductionOrder [2]),
oDab035:KOMMISS := "TESTEDIT",
oDab035:TERMIN := 'KW.' + KW(Date() + 14),
oDab035:MENGE_EK := 20,
ProdAufPost(oDM),
// Eine zusätzliche Position zum Produktionsauftrag hinzufügen.
ProdPosNew(oDM, aProductionOrder[1]),
oDAB240:ARTNR_E := 'BOHREN', // Arbeitswert
oDAB240:R_S := 'S',
oDAB240:SOLL := 2, // 2 Minuten
ProdPosPost(oDM),
ProdAufStart(oDM, aProductionOrder[1]), // Nur Positionen mit eingetragener SOLL-Menge werden hier "kommissioniert" (B_DATUM befüllt)
DBCommit(oDM.AdsConnection),
MessageDlg('Neuer Produktionsauftrag: ' + ArrToStr(aProductionOrder) + ' angelegt', mtInformation),
always
if DBInTrans(oDM.ADSConnection) then
DBRollback(oDM.ADSConnection),
endif,
stopseq,
always
DestroyObject(oDM),
stopseq,