I/Oコマンドでのファイル名の指定
ほとんどの LANSAデータベースのI/Oコマンドでは、ファイル名を指定する必要があります。パラメータ名は、FROM_FILE、TO_FILE、 INTO_FILEなどですが、どの場合でもファイル名を指定する方法は同じくTECH030001です。
LANSAコマンドでファイル名を指定するとき、次の点に注意してください。
· 指 定するファイルは、LANSAシステム内で物理ファイルまたは論理ファイルとして定義されている必要があります。
· System iで実行されるRDMLコードでは、このパラーメータに索引のみの論理ファイルを使用することはできません。
· 必
要に応じて、ライブラリ名を指定することができます。
ファイル名とライブラリ名(つまり、完全修飾ファイル名)を使用すると、特定のライブラリに存在する特定のファイルを使用するようRDMLプログラムが
「ロック」されるため、使用はお勧めし
ません。RDMLプログラムをこのように限定すると、異なるライ
ブラリ名を使用する別バージョンのLANSAにファンクションをインポートしたり、エクスポートしたりするときに問題が発生する可能性があります。
System
iの場合、"."(ピリオド)を使用してファイル名とライブラリ名を区切ってください。例えば、TO_FILEパラメータは次のように指定することができ
ます。
TO_FILE(CUSTMST)
TO_FILE(CUSTMST.QGPL)
TO_FILE(CUSTMST.USERLIB01)
Visual LANSAの場合、スペースを使用してファイル名とライブラリ名を区切ってください。Visual LANSAでは、例えば、上記のTO_FILEパラメータは以下のように指定します。
TO_FILE(CUSTMST QGPL)
TO_FILE(CUSTMST USERLIB01)
移 植性に関する考慮事項 |
System i以外のプラットフォームでは、Visual LANSAはライブラリを無視します。 |
· ラ イブラリ名を指定しない場合、デフォルトのライブラリ名*FIRSTが使用されます。この場合、ファンクションがコンパイルされているジョブのライブラ リ・リストで、必要なファイルを検出するために検索が(順番に)実行されます。この方法を使用してファイルが見つからない場合、LANSAディクショナリ で最初に検出されたファイルの定義が使用されます。このような場合、警告メッセージが出力されます。
移 植性に関する考慮事項 |
コー ドの生成はRDMLファンクションとRDMLXコードとで異なり、同じ名前のファイルが複数存在する場合は、使用されるライブラリに違いが生じる可能性が あります。iSeriesでは、オブジェクトをコンパイルしているジョブのライブラリ・リストを使用して、ライブラリへのファイル参照に合わせてRDML ファンクションが生成されます。ライブラリ・リストで見つからない場合は、EBCDIC参照シーケンス順序で見つかったリポジトリ内の最初のファイルが使 用されます。一方、ライブラリ・リストを持たないWindowsでは、RDMLXオブジェクトが生成され、ANSIシーケンス順序で見つかったリポジトリ 内の最初のファイルが使用されます。 |