Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  Autodesk Productstream Professional
  Kurze dbp Frage

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
Phoenix/PDM von ORCON bei Atlanta Antriebssysteme , ein Anwenderbericht
Autor Thema:  Kurze dbp Frage (450 mal gelesen)
blacky1985
Mitglied
Application Engineer


Sehen Sie sich das Profil von blacky1985 an!   Senden Sie eine Private Message an blacky1985  Schreiben Sie einen Gästebucheintrag für blacky1985

Beiträge: 348
Registriert: 16.04.2008

PSP 2008 SP1
PSP 2009 SP1
PSP 2010
AIP 2008 SP3
AIP 2009 SP2
AIP 2010

erstellt am: 17. Jun. 2008 13:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Community...ich hätte da mal eine kurze Frage in sachen dbp

Was bewirkt der folgende Code-Asudruck ?

Code:
if(comp(".NEWELEMENT.",".@(Symbol:ActivatedBy:A).")) return(0);

Hierbei geht es mir vorangig um den folgenden Ausdruck:

Code:
@(Symbol:ActivatedBy:A)

Kann mir bitte mal einer diesen etwas genauer erläutern bzw. erklären ? Danke im Voraus.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

blacky1985
Mitglied
Application Engineer


Sehen Sie sich das Profil von blacky1985 an!   Senden Sie eine Private Message an blacky1985  Schreiben Sie einen Gästebucheintrag für blacky1985

Beiträge: 348
Registriert: 16.04.2008

PSP 2008 SP1
PSP 2009 SP1
PSP 2010
AIP 2008 SP3
AIP 2009 SP2
AIP 2010

erstellt am: 17. Jun. 2008 14:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Code:

public PreUpdateField_CUSTOM_3_SHORT,AIMPreUpdateField_CUSTOM_3_SHORT
procedure AIMPreUpdateField_CUSTOM_3_SHORT

            /* Neue Version -> 0=NICHT ÄNDERN */
            if(comp(".NEWVERSION.",".@(Symbol:ActivatedBy:A).")) return(0);

    /* NEUES ELEMENT-> 1=ÄNDERN */
            if(comp(".NEWELEMENT.",".@(Symbol:ActivatedBy:A).")) return(1);

            /* LEERER AIMKEY -> NEUANLAGE / NEUE VERSION DES DATENSATZES -> 1=ÄNDERN */
            if( empty("@AIMKEY") ) return(1);

    /* SONSTIGES -> DEFAULT -> 0=NICHT ÄNDERN */
            return(0);
endproc


So ich habe gerade durch zufall etwas ausprobieren wollen noch zusätzlich. Ist diese Kommentierung von mir richtig in Bezug auf die Programmierung ? Bzw. kann mir einer das nochmals grundlegend kurz erklären die Prozedur ? Wie ihr sehen könnt, habe ich da schon eine vermutung anhand meiner Kommentare. 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

WolfgangE
Mitglied



Sehen Sie sich das Profil von WolfgangE an!   Senden Sie eine Private Message an WolfgangE  Schreiben Sie einen Gästebucheintrag für WolfgangE

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 17. Jun. 2008 21:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für blacky1985 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz