So ich muss leider doch noch was mit der "alten" Technik machen und bekomme gerade das blanke ----zen. Nachdem ich festellen musste, dass weder @GetProfileField, noch @Enviroment in der Ansicht funktioniert habe ich den Beitrag http://welovenotesbut.com/blog/?p=6 (http://welovenotesbut.com/blog/?p=6) gelesen und das untere "Skript" geschrieben. Bekomme aber immer nur den else-Wert. Finde aber in der Hilfe nicht den Hinweis, geht nicht in Spalten und laut dem Beitrag, unter der Vorraussetzung ich habe nicht was überlesen, geht es, aber leider nicht bei mir.
_field := so_1;
_parameter := "so_1";
_data := @If( @LanguagePreference([Region]) = "de" ; para_de ;
@LanguagePreference([Region]) = "sp" ; para_es ;
@LanguagePreference([Region]) = "en" ; para_en ;
para);
_data
Ich wollte es erst elegant mit @GetField lösen, aber der Wert ist ja nicht "abgreifbar"
Wie einige sich schon denke speicher ich einfach alle Parameter redundant im Dokument. Lieber wäre mir Profile-Dokument gewesen, aber geht ja nicht.
Für das setzen der Parameter habe ich ein kleine @Function-Konstrukt gebaut, das hier quasi mal in die Qualitätsprüfung geben möchte.
REM {Parameter ins Dokument schreiben) };
_parameterID := Parameter_ID;
_avLang := @GetProfileField("ProfileDB" ; "DB_Language");
_dbKey := @GetProfileField("ProfileDB" ; "DB_Key");
_view := "(LookupParameterByDatabase)";
_key := (_avLang : "*") + dLim2 + _dbKey ;
_column := 2;
@Transform(_key ; "_pos" ; @Do(
_Data := @DbLookup("":"NoCache";_parameterID;_view;_pos;_column; [FailSilent]);
@If(_Data != "";
@If(@Left(_pos ; dLim2) = "*" ; @SetField("para" ; _Data) ;
@SetField("para" + "_" + @Left(_pos; dLim2) ; _Data)
)
;""
)
)) ;
1