[Gelöst] In welcher Version kam Multi-Language-Code?

20. Mai 2015 11:58

Hallo,

ich habe hier eine Version 4.0 SP1 mit einem technischen Update auf NAV 2009 R2, bin aber erst seit kurzem im Unternehmen. Jetzt ist mir an mehreren Stellen aufgefallen, dass Standardfunktionalität gar nicht funktioniert, weil im Standardcode (nicht angepasst) z.B. EVALUATE(XY,'0D') steht und nicht EVALUATE(XY,'<0D>'), die eckigen Klammern fehlen.

Sollte das nicht bereits in der Version 4.0 umgestellt gewesen sein, oder hätte das beim technischen Update auf 2009 gemacht werden müssen? Oder habe ich einen Denkfehler, oder woher kommt dieses Phänomen??

Oder kann ich das evtl. umgehen (anstatt den ganzen Code durchzugehen und alle Stellen zu korrigieren)?

Vielen Dank schon mal für jeden Tipp!
Zuletzt geändert von Joni am 23. Mai 2015 12:17, insgesamt 1-mal geändert.

Re: In welcher Version kam Multi-Language-Code?

20. Mai 2015 13:36

Die Umstellung kam generell ab Version 3, das damalige Upgrade Toolkit hatte Zusatzprogramme um den Code nach Ausdrücken wie CALCDATE durchzukämmen. Außerdem kam DateFormula in dieser Version dazu, damit man eine sprachunabhängige Variable zur Verfügung hatte.
http://nav.dk/files/w1w1upgr.pdf

anstatt den ganzen Code durchzugehen und alle Stellen zu korrigieren

Das muss man grundsätzlich, sonst hat man da keine Ruhe. Allerdings mit spitzen Klammern, keine eckigen :wink: .

hätte das beim technischen Update auf 2009 gemacht werden müssen

Bei technischen Updates wird der Programmcode nicht verändert, nur Client- und Serverprogramme etc.

Re: In welcher Version kam Multi-Language-Code?

21. Mai 2015 09:55

Vielen Dank erstmal!

Kowa hat geschrieben:Die Umstellung kam generell ab Version 3, das damalige Upgrade Toolkit hatte Zusatzprogramme um den Code nach Ausdrücken wie CALCDATE durchzukämmen. Außerdem kam DateFormula in dieser Version dazu, damit man eine sprachunabhängige Variable zur Verfügung hatte.
http://nav.dk/files/w1w1upgr.pdf


Dann hatte ich das doch richtig in Erinnerung, die Frage ist jetzt nur, wie kommt dieser Code in eine angebliche 4.0-Version? Der Rest der Applikation und sogar die Objekte, in denen der Fehler auftritt, sind ja auch Multi-Language, z.B. alles auf Englisch, Captions deutsch/englisch, u.s.w.

Im konkreten Fall ist es z.B. die Tabelle "Purchase Line", die zwar Multi-Language ist (Version ist NAVW14.00.01), aber beim "Drop Shipment" die Zeile enthält:

EVALUATE("Inbound Whse. Handling Time",'0D');

Also ohne "spitze" Klammern (die meinte ich doch :wink: ). Da meckert er dann:

"Die Datumsformel 0D muss eine Zeiteinheit enthalten."

Ergänze ich die spitzen Klammern, funktioniert es.

Oder ist das ein anderes Problem?

Re: In welcher Version kam Multi-Language-Code?

21. Mai 2015 10:16

Da gab es einige Stellen im Code, wo die spitzen Klammern von MS per Hotfix noch viel später nachgereicht oder auch bei neuem Code schlicht vergessen wurden, das kann auch in aktuellen Versionen jederzeit noch passieren. Einfach korrigieren, wenn es auftaucht.

Re: In welcher Version kam Multi-Language-Code?

23. Mai 2015 12:15

Ok, vielen Dank!