Event "nach Lieferschein-Löschung"
Event "nach Lieferschein-Löschung"
Der Aufruf erfolgt nach dem erfolgreichen Löschen eines Lieferscheins. Eine Transaktion ist nicht mehr aktiv!
Beispiel
CODE
| nEvtNo:P1, nLFNummer:P2, dLFDatum:P3, nKdNr:P4,
oDM, oDab750, odab755, oDab050, cAnummer, oQuery755, oQuery750 |
// Sendungskopf löschen
// ============================================================
Function Delete750(nSendung)
startseq,
oQuery750 :=CreateObject('TBeADSQuery',,,,true),
oQuery750.SQL :='delete from "DAB750.ADT" where '+"sendung="+Str(nSendung),
DBExecSQL(oQuery750),
result := true,
onerror,
Meld("Löschen Sendungskopf fehlgeschlagen "+GetErrorText()),
stopseq,
end,
// Sendungspositionen löschen
// ============================================================
Function Delete755(nSendung)
startseq,
oQuery755 :=CreateObject('TBeADSQuery',,,,true),
oQuery755.SQL :='delete from "DAB755.ADT" where '+"sendung="+Str(nSendung),
DBExecSQL(oQuery755),
result := true,
onerror,
Meld("Löschen Sendungspositionen fehlgeschlagen "+GetErrorText()),
stopseq,
end,
// Nach Lieferschein-Löschung LF-Nummer aus Versandvorgang löschen
// =============================================================================
Function DeleteLFNummer()
PRS("Event LS löschen","Delete LfNr"),
cAnummer := Str(Val(oDab750:anummer),6),
if DBSeek({cAnummer},oDab050) then
DBStartTrans(oDM.AdsConnection),
startseq,
MyEdit(oDab750),
oDab750:lf_nummer := "",
oDab750:flag := 0,
MyPost(oDab750),
DBCommit(oDM.AdsConnection),
onerror,
DBRollBack(oDM.AdsConnection),
DBCancelAll(oDM),
Meld("Fehler beim Löschen der LS-Nummer "+CRLF+GetErrorText()),
stopseq,
endif,
end,
// Hauptprogramm
// ============================================================================
startseq,
if Empty(oDM) then
oDM := Createobject("TBeDBGET",,,,true),
oDab050 := MyGetTable(oDM,waDAB050,),
oDab750 := MyGetTable(oDM,waDAB750,),
oDab755 := MyGetTable(oDM,waDAB755,),
oDab750.indexname := "LF_NUMMER",
oDab750.performupdates := false,
endif,
if mAbteilung = 2 then
if DBSeek({Str(nLfNummer)},oDab750) then
DeleteLfNummer(),
if Empty(oDab750:lf_nummer) then // wenn Haupt-Lf-Nr. gelöscht ist
if JN("Soll der zugehörige Versandvorgang Nr. "<span style="text-decoration: underline;">Str(oDab750:sendung)</span>
" komplett gelöscht werden?") then
if Delete755(oDab750:sendung) then
Delete750(oDab750:sendung),
endif,
endif,
endif,
endif,
endif,
onerror,
Meld(GetErrortext()),
stopseq,
oDab750.performupdates := true,