元となるデータベース列が Unicode としてデータベースに格納されている場合、LANSA は次のガイドラインに従って、自動的に適切なフィールドを作成、または再利用します。
フィールド定義がすでに存在し、属性が SUNI の Char または String が含まれる場合、Unicode データベース用に新規作成されるフィールドはすべて、属性が SUNI の Char、String または CLOB フィールドとして作成されます。
- このルールの唯一の例外は、CCSID 1208 (UTF-8) の IBM i ネイティブ タイプ Alpha であり、常に Nchar または Nvarchar としてロードされます。
新規のファイル、またはファイルに属性が SUNI の Char、String または CLOB フィールドがない場合、インポートで Unicode フィールドは Nchar または Nvarchar として作成されます。
SUNI フィールドを持つ外部ファイル
既存の外部ファイルに属性が SUNI のフィールドが含まれる場合、フィールドが Nchar や Nvarchar を使用するようにファイルを再ロードしたいと思うでしょう。そのために、属性が SUNI のすべての Char と String のフィールドをファイルから削除した後にファイルを再ロードする必要があります。
以下はこれを行う方法の例です。ここに示される方法は、自身の状況に合わせて変更してください。
変更のための準備
- ファイルおよび属性が SUNI のフィールドをチェックアウトします。
- ファイルのすべての SUNI フィールドのコピーとなる新規のフィールドを作成します。必要なければ、これらは後で削除することができます。
- SUNI フィールド、このフィールドを使用するすべてのオブジェクト、新しく作成されたコピーのフィールドのリストを新規に作成します。このリストを Excel に保存します。
- DISPLAY、REQUEST、POP_UP コマンドで SUNI フィールドを使用するすべての *WEBEVENT ファンクションをメモします。
- このフィールドを使用するオブジェクトをすべてチェックアウトします。
- ファイル定義を印刷します。
- SUNI フィールドをファイルから削除します。
- リポジトリから SUNI フィールドを削除します。
新規フィールドを作成するファイルを再ロード
- ファイルを再ロードします。これで、元の SUNI フィールドが Nchar または Nvarchar フィールドとして置き換えられているはずです。
- 新規フィールドの妥当性規則、トリガー、多言語の記述などを元のフィールドの内容で更新します。情報は事前に元のフィールドをコピーした時に保存されています。
- SUNI フィールドが *WEBEVENT ファンクションの DISPLAY、REQUEST、または POP_UP コマンドで使用されている場合、ここでは、引き続き SUNI フィールドを使用します。最も簡単な方法は、コピー・フィールドを取り出して、元の識別子にコピーし直した後、ファイルの仮想フィールドとして使うことです。Unicode フィールド・タイプが SUNI フィールドに割り当てらた場合、すべてのデータが現在のコードページで認識されていない限り、データ損失の恐れがあることを忘れないでください。
変換の終了
- 新規フィールドが古いフィールドと同じ識別子を使用するという保証はありません。識別子が異なっており、このフィールドがファイル定義以外で利用される場合、次の 2 つのオプションがあります。
- 事前に作成した Excel リストを使って、オブジェクトが古いフィールド識別子の代わりに新しいフィールド識別子を参照するよう変更する。
または、 - 外部ファイルのインポートにより作成されたフィールドを古いフィールド識別子を使って新しいフィールドにコピーする。そして、これらをファイルの仮想フィールドとして使用する。
- 事前に作成した Excel リストを使って、オブジェクトが古いフィールド識別子の代わりに新しいフィールド識別子を参照するよう変更する。
- このフィールドを使用するオブジェクト、OAM を再構築して、機能を再テストします。
- すべてをチェックインして戻します。