[Gelöst] Rename bei Type Date

8. April 2008 14:03

Hallo Leute,
ich verzweifle langsam und weis einfach nicht mehr weiter.
Ich möchte ein Datum was als Schlüssel deklariert ist, ändern.
Ich habe gelernt das dieses nur mit dem Befehl Rename geht.
Leider bekomme ich es nicht hin. Ich bekomme folgende Fehlermeldung :
Eine Typenkonvertierung kann nicht durchgeführt werden, da eine Seite einen ungültigen Type hat. Text : = Date.
Es sind beide Seiten aber vom Type Date. Es ist die gleiche Tabelle, nur halt ein anderer Mandant.
Kann mir bitte jemand sagen was an dieser Zeile falsch ist ?
RENAME(tblEKPreiseWSE."Starting Date", tblEKPreiseWLT."Starting Date") ;

Bin über jede Hilfe dankbar.

Gruß Shorty
Zuletzt geändert von Shorty am 21. Mai 2008 16:58, insgesamt 1-mal geändert.

8. April 2008 14:12

Ich denke mal, dass tblEKPreiseWSE und tblEKPreiseWLT Record-Variablen sind, oder? Wenn ja, schau mal in die beiden Tabellen rein und dort dann das Feld Starting Date. Eines der beiden Felder müsste - laut der Fehlermeldung - vom Typ Text sein.

Gruß, Marc

8. April 2008 14:28

Habe es überprüft, in beiden Record-Variablen ist der Type Date.
In beiden ist aber auch die gleiche Tabelle. Ich möchte nur das
eine Datum aus den einen Mandanten in den anderen Mandanten haben.

Gruß Shorty

8. April 2008 14:28

gleiche Tabelle? anderer Mandant? da liegt vermutlich der Hund begraben. wie hast du denn die Recordvariable auf den anderen Mandanten angelegt? hast du dazu eine View auf die Tabelle des anderen Mandanten gemacht?

8. April 2008 14:36

unter Umständen bezieht sich eine Tablerelation eines Feldes einer anderen Tabelle auf dieses Datum.
Da das Rename auch diese Felder mit versucht umzubenennen (wo eine Tabelerelation hinzeigt) kann das durchaus den Fehler provozieren, wenn dieses Feld als Text angelegt ist.
Zuletzt geändert von tba am 8. April 2008 14:37, insgesamt 1-mal geändert.

8. April 2008 14:36

Eigentlich müsste der View passen.
In meinen Programmzeilen davor ändere ich schon Daten mit Modify.
Die Frage ist, ob er überhaupt von einen Mandanten in den anderen Mandante den Befehl überhaupt ausführen kann ?

Gruß Shorty

8. April 2008 16:30

Ist es überhaupt möglich einen Schlüssel was von Type Date ist
mit Rename zu ändern ?

Gruß Shorty

8. April 2008 16:39

Shorty hat geschrieben:Ist es überhaupt möglich einen Schlüssel was von Type Date ist mit Rename zu ändern ?

Ja, das ist möglich.

Gruß, Marc

8. April 2008 17:10

Ich habe mal auf die Tabelle geschaut. Es ist die Tabelle 7012.
Das Feld um was es geht ist Starting Date. In den Proerties ist
TableRelation = Undefined.
Selbst wenn ich nur in einen Mandanten bin und den Befehl
RENAME ("Purchase Price"."Starting Date", TODAY) ;
ausführe, kommt ein On Break. Felermeldung ist Typkonvertierung des Ausdrucks Date in einen Code Wet ist nicht möglich.
Wende ich den Befehl vielleicht falsch an ?

Gruß Shorty

8. April 2008 18:37

Shorty hat geschrieben:Wende ich den Befehl vielleicht falsch an ?
ja, genau das ist es, du musst beim Rename nicht das Feld angeben, das umbenannt werden soll, sondern einfach alle neuen Werte des Primärschlüssels, als ob du den mit get aufrufen wolltest.
Beispiel: Schlüssel besteht aus "No." und Date, Datensatz heißt (4711,01.02.08) und du möchtest das Datum auf heute ändern, dann musst du schreiben

rename(4711,Today);

dann passts

9. April 2008 15:50

Leider haut es bei mir immer noch nicht hin.
Könnte mir jemand den Befehl als Beispiel schreiben ?
Muss ich als alten Wert alle Schlüssel mit angeben ?
Ich werde langsam Wahnsinnig.

Gruß Shorty

9. April 2008 16:03

der Record 7012 hat als Primary Key
Item No.,Vendor No.,Starting Date,Currency Code,Variant Code,Unit of Measure Code,Minimum Quantity
also musst du auch beim Rename alle diese felder angeben
Rename(alte Itemno,alte vendorno,neues datum,alltewährung.....);

21. Mai 2008 16:57

Hallo an alle,
wenn auch spät, so bedanke ich mich für eure Geduld und der großen Hilfe von euch.
Trotzdem will ich einige Infos zu diesem Thema abgeben.
Wenn Rename Mandantenübergreifend benutzt werden soll, dann muss der Befehl im ausführenden Mandaten ausgeführt werden.
Auch kann Rename nicht aus einer Funktion aufgerufen werden. Es müssen alle Schlüssel angegeben werden.
So, die meisten werden es wohl wissen, wenn nicht, so hilft es euch vielleicht.

Vielen Dank und viele Grüße
Shorty