論理参照列の作成
参照関数を含む論理列を作成するには、管理ツールで式ビルダーを使用します。
論理列の値は、現在のユーザーに関連付けられている言語に基づきます。
たとえば、翻訳済の製品名を取得するには、「列ソース」タブで、導出された列式を使用して新しい論理列を作成します。
LAN_INT
はセッション初期化ブロックMLSにより移入されるセッション変数で、基本言語または他の言語を表します。
-
基本言語(たとえば、en - English)の場合は0
-
他の言語コード(たとえば、fr - Frenchまたはcn - Chinese)の場合は1
WEBLANGUAGE
は、ユーザーがログイン時に選択した言語に基づいて自動的に初期化されるセッション変数です。
INDEXCOL
関数は、適切な列の選択をサポートします。前述の例では、ユーザー言語が基本言語の場合(つまり、セッション変数LAN_INT
の値が0の場合)にのみ、基本列(ProductName)の値が戻されます。ユーザー言語が基本言語でない場合(セッション変数LAN_INT
の値が1の場合)は、WEBLANGUAGE
セッション変数に渡された言語の参照表から値が戻されます。
(前述の例の) DENSE
関数を使用する場合、翻訳対象言語の列に値がないと、参照関数により空白のエントリが表示されます。
(次の例の)SPARSE
関数を使用する場合、翻訳対象言語の列に値がないと、参照関数により基本言語で対応する値が表示されます。
INDEXCOL( VALUEOF(NQ_SESSION."LAN_INT"), "Translated Lookup Tables"."Product".
"ProductName", LOOKUP( SPARSE "Translated Lookup Tables"."Product Translations".
"ProductName", "Translated Lookup Tables"."Product"."ProductName", "Translated
Lookup Tables"."Product"."ProductID", VALUEOF(NQ_SESSION."WEBLANGUAGE")))