コード・テーブル設定の高度なオプション

Visual LANSA

コード・テーブル設定の高度なオプション


複数言語データ

複数言語アプリケーションには複数言語のテーブル・データが必要です。このような状況では、1つのコードに複数の記述があることは普通で、言語ごとに違うコードのセットがある場合もあります。コード・テーブル・システムは、言語対コードのレコードを1つ持つことで、これを扱います。

VF_TITLEテーブルのテーブル・データを考えてみます。

Code

Language

Full Title

MR

ENG

Mr.

MR

DEU

Herr.

MRS

ENG

Mrs.

MRS

DEU

Frau.

MISS

ENG

Miss.

MISS

DEU

Frl.

  

(テーブル定義タブの)言語フィールドのパラメータで、どのキー・フィールドが言語コード・フィールドになるかを指定します(この場合フィールド名は"language"です)。

実行時のみ、テーブル・エントリーはユーザーにとって正しい言語コードで表示されます。

多言語テーブル・データが必要でないとき、言語フィールドの値を言語フィールドでない - 単一言語テーブルデータに設定します。この場合、すべてのテーブル・エントリーが実行時に表示されます。

区画が多言語だからといって、テーブルが必ずしも多言語である必要はありません。

順序付け

コード・テーブルのビジュアライゼーションタブで、実行時にエンド・ユーザーに表示されるテーブル・エントリーの順序をどのテーブル・フィールドで順序付けをするかを指定できます。

記述フィールドの選択

コード・テーブルのビジュアライゼーションタブで、実行時にエンド・ユーザーに表示されるテーブル・エントリーのキャプションをどのテーブル・フィールドで使用するか指定できます。

データ・ハンドラーファンクションの作成

作成したテーブルはデフォルトのテーブル・データ・ハンドラーを共有することができますし、またファンクションを作ることもできます。テーブル・データ・ハンドラーを作成する最も簡単な方法は、以下のサンプルファンクションをコピーすることです。

組み込み標準テーブル・データ・ファイル(FPTAB)の中のデータが保存されたテーブルは、デフォルトのテーブル・データ・ハンドラーUF_SYSBR/UFU0010を共有するか、その独自のバージョンを所有しています。

アプリケーションの物理ファイルの中のデータが保存されたテーブルは、テーブル・データ・ハンドラーファンクションを作成することができます。例として、データ・ハンドラーファンクションUF_SYSBR/UFU0011を参照してください。このファンクションは、テーブルDEPTABのファイルDEPTABにデータを読み書きします。

データがテーブル・データ・ハンドラーファンクションのハード・コーディングによって提供されるテーブルは、テーブル・データ・ハンドラーファンクションを作成することができます。このタイプのデータ・ハンドラーの例として、データ・ハンドラーファンクションUF_SYSBR/UFU0012を参照してください。ここでは、SEX テーブルのデータが提供されます。

エンド・ユーザーがWindowsフレームワークを実行していて、フラット・ファイルにアクセスする場合は、テーブルはUF_SYSBR/UFU0013に似たテーブル・データ・ハンドラーファンクションを使ってフラット・ファイルからもデータを取得できます。

テーブル・データ・ハンドラーファンクションはデータ更新を許可する場合と許可しない場合のどちらもあります。UFU0012およびUFU0013は、テーブル・データを供給するが編集したテーブル・データは保存しないテーブル・データ・ハンドラーファンクションの例です。

読み取り専用テーブル

このテーブル・プロパティはテーブル定義タブで設定されます。

テーブル・データ・ハンドラーがデータを保存したり更新したりできない場合、テーブルを読み取り専用にするのは有益です。読み取り専用オプションは、完全なデータ・セットを追加および保存して、設計者が今後管理者にデータを修正させたくないテーブルにも使用できるオプションです。

テーブル項目インジケータを非アクティブにする

環境によっては、アクティブなテーブル項目なのか、あるいは履歴データにだけ存在する非アクティブなテーブル項目なのかを区別できると便利です。非アクティブなテーブル項目は履歴データを正しく表示するためだけに存在しており、新しくデータを作成する際には使用できません。

テーブル項目に非アクティブのフラグを立てる場合は、非アクティブであることを保持する(文字型1文字の)フィールドを作成し、非アクティブテーブル登録インジケータのドロップダウン・リストでそのフィールドを選択します。