[gelöst] Für jeden Error eine Message ausgeben
Verfasst: 21. Dezember 2012 16:47
HI,
ich hab folgendes Problem:
Ich habe in einem Trigger eine Programmierung gemacht, die einen Lagerplatz in mehreren Tabellen per VALIDATE ändern soll. Sollte es dabei einen Error geben, soll die Verarbeitung aber nicht abbrechen, sondern es soll eine MESSAGE ausgegeben werden und zwar jedes Mal, wenn ein Error auftritt.
Meine Programmierung sieht wie folgt aus:
OnValidate wird folgendes ausgeführt:
Danach folgt die Funktion ChangeBinCode:
Als Beispiel mal die Verarbeitung, wenn sie über Sales Line und Purchase Line läuft.
Das Problem ist aber, sobald er auf mehrere Errors stößt, bekomme ich trotzdem immer nur eine Message angezeigt, obwohl ich mehrere haben wollte.
Hat jemand eine Idee, was ich machen muss?
ich hab folgendes Problem:
Ich habe in einem Trigger eine Programmierung gemacht, die einen Lagerplatz in mehreren Tabellen per VALIDATE ändern soll. Sollte es dabei einen Error geben, soll die Verarbeitung aber nicht abbrechen, sondern es soll eine MESSAGE ausgegeben werden und zwar jedes Mal, wenn ein Error auftritt.
Meine Programmierung sieht wie folgt aus:
OnValidate wird folgendes ausgeführt:
- Code:
IF (xRec.Default <> Default) AND Default THEN BEGIN
ChangeBinCode("Item No.","Variant Code","Location Code","Bin Code");
END;
Danach folgt die Funktion ChangeBinCode:
- Code:
SalesLine.RESET;
SalesLine.SETRANGE(Type,SalesLine.Type::Item);
SalesLine.SETRANGE("No.",ItemNo);
SalesLine.SETRANGE("Variant Code",Variant);
SalesLine.SETFILTER("Location Code",'%1|''''',Location);
IF SalesLine.FINDFIRST THEN BEGIN
REPEAT
ChangeBin.SetSalesLine(SalesLine);
IF NOT ChangeBin.RUN THEN
MESSAGE(Text50000,SalesLine."Document Type",SalesLine."Document No.",SalesLine."Line No.");
UNTIL SalesLine.NEXT = 0;
END;
PurchLine.RESET;
PurchLine.SETRANGE(Type,PurchLine.Type::Item);
PurchLine.SETRANGE("No.",ItemNo);
PurchLine.SETRANGE("Variant Code",Variant);
PurchLine.SETFILTER("Location Code",'%1|''''',Location);
IF PurchLine.FINDFIRST THEN BEGIN
REPEAT
ChangeBin.SetPurchLine(PurchLine);
IF NOT ChangeBin.RUN THEN
MESSAGE(Text50000,PurchLine."Document Type",PurchLine."Document No.",PurchLine."Line No.");
UNTIL PurchLine.NEXT = 0;
END;
Als Beispiel mal die Verarbeitung, wenn sie über Sales Line und Purchase Line läuft.
Das Problem ist aber, sobald er auf mehrere Errors stößt, bekomme ich trotzdem immer nur eine Message angezeigt, obwohl ich mehrere haben wollte.
Hat jemand eine Idee, was ich machen muss?