Skip to main content
Skip table of contents

BestPosBuch2()

BestPosBuch2() – Automatische Bestellrückstandsbuchung

Wird eine Bestell-Nr. übergeben, wird der entsprechende Bestell-Rückstand verbucht und ggf. die Restbestellung gelöscht, falls der entsprechende Parameter gesetzt wurde.
Wird keine Bestell-Nr. übergeben, wird eine Buchung ohne Rückstand durchgeführt und ggf. offene Rückstände aufgelöst, falls der entsprechende Parameter gesetzt wurde.

ParameterBeschreibung

oDM:O

Datamodul

nLiefNr:N

Lieferaten-Nummer

nID:N

ID der DAB035

cArtNr:C

Artikelnummer (erforderlich, leer erlaubt, falls Bestell Nr./-Pos. übergeben wird)

nZugMengeEK:N

Zugangsmenge Wareneingang

nZugMengeLAG:N

Zugangsmenge Lager

dZugDatum:D

Zugangsdatum

cLager:C

Zugangslager, default = Default Lager für Rückstände

cBestTermin:C

Termin (im Format TT.MM.JJ oder KW.WW.JJ); default leer

cBestKommiss:C

Kommission; default leer

cBelegNr:C

Belegnummer; default leer

lRueckAufloes:L

Automatische Bestell. Rückstandsauflösung; default = false
Falls cBelegNr - Belegnummer leer ist und für den Lieferanten keine Rückstände vorliegen, wird ggf. ein Dialog angezeigt mit anderen Lieferanten welche Bestellrückstände für diesen Artikels besitzen
Wert wird benutzt nur wenn nID gleich zu 0 oder negativ ist

lRestLoesch:L

Rest-Bestellung Löschen; default = false

lAbrufErh:L

Abruf-Bestellung um Differenz erhöhen; default = false

lKdAuftrAuloes:L

Dialog "Kunden-Rückstände auflösen" anzeigen; default = false

lEtikDruck:L

Artikel-Etikette drucken; default = false

aKomissDetail:A

Detailierte Kommissionsnummer-Information (wichtig für Lagerplatzbuchung!) im Fomat {{Kommiss, Menge, Lagerplatz},..}

default leer, d.h. schon gespeicherte Kommissionen in DAB035

dLiefDatum:D

Lieferungsdatum, default = heute

lProdFreigabe:L

Produktions-Freigabe Dialog anzeigen; default = true

lQuiet:L

keine Meldungen anzeigen; default = false

lResetTableStates:L

Verwendete Tabellen nach dem Aufruf der Funktion auf ursprünglichen Stand zurück setzen; default = false

Hinweis

lQuiet übersteuert nicht folgende Parameter welche ggf. wieder Meldungen und Dialoge anzeigen können

  • lRueckAufloes - Automatische Bestell. Rückstandsauflösung; default = Dialog anzeigen
  • lEtikDruck - Artikel-Etikette drucken; default = keine Etikette drucken
  • lProdFreigabe - Produktions-Freigabe Dialog; default = Dialog anzeigen

Rückgabewert

Alphanumerisch - Dispo-Nr.

Beispiel

CODE
| oDM, aKommiss, oDAB035, oDab735, cBestPosNr, nLifNr, cArtNr, cTermin |

oDM      := CreateObject('TBeDBget'),

cArtNr     := '1.4104 X14CRMOS1 ZS',
cBestPosNr := '100000 1',
nLifNr     := 700002,
cTermin    := 'KW.46.21',
aKommiss   := {{'171717' , 1, ''}},

oDAB735  := DBGetTable(oDM, waDab735),
oDAB035  := DBGetTable(oDM, waDab035),
oDab035.IndexName := 'DAB03B',                   // BESTPOSNR;LIEFNR;TERM_INDEX

if not oDab035.CbFindKey({cBestPosNr}) then
   writeln('Dab035 Datensatz nicht gefunden'),
   abort(true),
endif,

startseq,
  DBStartTrans(oDM.ADSConnection),
  BestPosBuch2(oDM, nLifNr, oDAB035:ID, cArtNr, 1, 1, Date(),
               '0', cTermin, '', 'BELEG123', , , , , , aKommiss, Date()),

  DBGoBottom(oDab735),
  DBEdit(oDab735), // hier knallts dann "Dataset not in Edit-Mode"
  oDAB735:MHD_DATUM := now(),
  DBPost(odab735),

  DBRollback(oDM.ADSConnection),                 // Änderungen zurücksetzen
  //DBCommit(oDM.ADSConnection),

onerror,
   DBRollBack(oDM.ADSConnection),
   Meld(GetErrorText()),
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.