Codeblock Onlinehilfe

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

| 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