Servus blacky,
bist ja schon recht gut voran gekommen. Ein paar Worte zur vorliegenden Prozedur:
Für jedes in PSP verwendete Feld gibt es eine Prozedur mit dem Namen PreUpdateField_Feldname. Diese Prozedur wird für das Feld "Feldname" automatisch aufgerufen, bevor im Rahmen einer Eingabe durch den Benutzer die effektive Aktualisierung in der Datenbank erfolgt. Damit lassen sich z.B. Benutzereingaben in ein Feld prüfen. Je nachdem, welcher return-Wert von der Prozedur geliefert wird, wird die Eingabe akzeptiert und an die Datenbank weitergeleitet oder aber eben abgelehnt.
zum @(Symbol:ActivatedBy:A)
Um meinen früheren Arbeitskollegen zu zitieren: "Ein Symbol ist eine Variable, die etwas mehr kann." Ein Symbol ist also im Prinzip eine Variable, lässt sich allerdings vor allem im Rahmen von RecordBuffers effizienter einsetzen, wenn ich das noch richtig im Kopf habe.
Jedenfalls lässt sich ein Symbol mit Werten belegen und natürlich auch wieder abrufen, eben mit der oben gezeigten Syntax.
@(Symbol:ActivatedBy) gibt also den Wert des Symbols "ActivedBy" zurück. Das ":A" am Ende gibt nur an, dass die Auswertung in Großbuchstaben umgewandelt wird. Somit können dann die Vergleiche mit ".ELEMENT" etc. durchgeführt werden, ohne auf die Groß- und Kleinschreibung Rücksicht nehmen zu müssen.
Abschließend nochmals zu deinen eigenen Kommentaren zur Prozedur:
Die Prozedur tut also nichts weiter, als vor dem Aktualisieren des Feldes CUSTOM_3_SHORT das besagte Symbol mit bestimmten Werten zu vergleichen, um das Aktualisieren zuzulassen oder zu verhindern. Deine Vermutungen mit neuer Version etc. dürften prinzipiell richtig sein wenn man sich so die Bezeichnungen durchlies. ABER: um das ganze genau in Erfahrung zu bringen, müsstest du streng genommen im DBP-Code prüfen, an welcher Stelle das Symbol belegt wurde und welche Bedingungen dazu geführt haben.
Hoffe geholfen zu haben. Ciao, WolfgangE
------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP