Skip to main content
Skip table of contents

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,

Weitere Verknüpfungen


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.