2017-02-08 17 views
2

テーブルからストアドファンクションを取得し、実行時にそれらを実行しようとしています。 例MyTableFieldValueは含まれていますMyTableFieldValueはMyTableと呼ばれるテーブル内のフィールド値である実行時にストアドファンクションを実行

$PARAMETER(MyClass,MyParameterName) 

を。 MyClassクラスで MyParameterName値は実際には "ThisParameter" である

私はこれやりたい:parameterNameが "ThisParameter" を含める必要があります

Set parameterName = MyTableFieldValue 

を。

代わりに、それは

$PARAMETER(MyClass,MyParameterName). 

がどのように私は実際にMyTableFieldValueにあるものを評価するために、キャッシュを強制します含まれていますか?

答えて

2

あなたのテーブル内のデータは、ユーザーが編集可能なあなたの例ではドキュメント

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_operators#GCOS_operators_indirection_arg

で説明したように、あなたはそれがしかし

Set @("parameterName = "_MyTableFieldValue) 

ようになりますあなたの価値を計算するために間接演算を使用することができない場合にはこの方法でほとんどすべてのコードを実行できるので、ユーザーがテーブル内のデータを変更できる場合、これは安全ではありません。その場合、文字列を解析し、クラス名とパラメータ名を見つけ、$ parameter関数呼び出しを明示的に実行する必要があります。

関連する問題