9.212 START_FILE_EDIT
指定されたLANSAファイル定義の定義上で「編集セッション」を開始します。
編集セッションでは、新しいファイルを定義したり、既存のファイルを変更したりすることができます。
編集セッション中、ファイル定義はロックされ、他のユーザーが使用することはできません。
1度に編集できるファイル定義は、1つだけです(つまり、同じジョブ内からの2つのファイル定義を同時に編集することはできません)。
新しいファイル定義または変更したファイル定義の詳細は、END_FILE_EDIT組み込み関数を使用して「コミット」しないと失われます。
Þこれは、 開発環境のみで使用される特殊BIF です。
各製品の対応
LANSA/AD |
使用可 |
IBM iのRDMLX区画では使用しないでください。 |
Visual LANSA for Windows |
使用可 |
|
Visual LANSA for Linux |
未対応 |
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
編集するファイルの名前 |
1 |
10 |
||
2 |
A |
必須 |
ファイルが存在するライブラリ 既存のファイル定義を編集する場合、*LIBLまたは*FIRSTを指定することができます。 既存のファイル定義を編集する、または新しいファイル定義を作成する場合、*DEFAULTを指定することができます。 注:*FIRST、
*DEFAULT、*LIBLなどをコーディングするとき、これらをシステム変数ではなくリテラルとして区別するために、追加の引用符を使用する必要があります。したがって、'''*FIRST'''のように、引数を3つの単一引用符で囲んでコーディングする必要があります。 |
1 |
10 |
||
3 ** |
A |
必須 |
編集される詳細のソース。ブランク、LAN、OTHを指定することはできません。 |
3 |
3 |
||
4 |
A |
任意 |
ファイル記述をブランクにすることはできません。新規ファイルの作成時に必要です。 |
1 |
40 |
||
5 |
A |
任意 |
権限。新規ファイルの作成時に必要です。ALL、NORMAL、NONEを指定することができます。 |
1 |
6 |
||
6 |
A |
任意 |
ファイル・コンポーネント編集オプション バイト1:YまたはNによって、フィールドを編集するかどうかを指定します。デフォルトはYです。 バイト2:YまたはNによって、論理ビュー/ファイルを編集するかどうかを指定します。デフォルトはYです。 バイト3:YまたはNによって、アクセス経路の詳細を編集するかどうかを指定します。デフォルトはYです。 バイトがNとして渡された場合、関連するファイル定義のコンポーネントは編集セッション中に変更されず、以下に示すように削除保留のフラグは立てられません。このようなファイル定義のコンポーネントを編集しようとすると、致命的なエラーが発生します。 |
3 |
3 |
** 編集される詳細の「ソース」は重要です。編集セッションが開始されると、START_FILE_EDIT組み込み関数に渡されたソースと同じ「ソース」を持つファイル定義の詳細すべてに削除保留フラグが立てられます。FILE_FIELD、LOGICAL_VIEWなどの組み込み関数のいずれかによって詳細が「再指定」されない場合、詳細は、END_FILE_EDIT組み込み関数によってファイル定義から削除されます。例外は、前述の6番目の引数で1つ以上のバイト位置を使用することによって、特定の詳細を編集から除外している場合です。これによって、別のソース(「ファイル制御メニュー」でLANSA のファイル定義の表示/変更機能を使用した直接入力など)によって指定されたファイルの詳細をファイル編集セッション中に元の状態のまま維持することができます。
次に、この「ソース」コードの例を挙げます。
LDM |
LANSA データ・モデリング・インターフェース |
IEW |
インフォメーション・エンジニアリング・ワークベンチ・インターフェース |
ACC |
アクセラレート・データ・モデリング・インターフェース |
ソース・コードを設定した後は、特定のタイプのインターフェース内で、使用するソース・コードを変更しないでください。
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
戻りコード OK = 編集セッションが開始された ER = 致命的なエラーが検出された 戻りコードがERの場合、エラー・メッセージが自動的に出力され、編集セッションはコミットなしで終了します。 |
2 |
2 |
次の例では、従来のメニュー形式のインターフェースではなく、組み込み関数を使用することによって、NAMESという名前と住所の簡単なファイルの全詳細を定義しています。
*** Define the fields into the data dictionary (no prompting)
*
USE BUILTIN(PUT_FIELD) WITH_ARGS('N' 'CUSTNO' 'S' 007 0 ' '
'Customer number') TO_GET(#RETCODE)
USE BUILTIN(PUT_FIELD) WITH_ARGS('N' 'CUSNAME' 'A' 010 0 ' '
'Customer name') TO_GET(#RETCODE)
USE BUILTIN(PUT_FIELD) WITH_ARGS('N' 'ADDRESS1' 'A' 020 0 ' '
'Address line 1') TO_GET(#RETCODE)
USE BUILTIN(PUT_FIELD) WITH_ARGS('N' 'ADDRESS2' 'A' 020 0 ' '
'Address line 2') TO_GET(#RETCODE)
USE BUILTIN(PUT_FIELD)WITH_ARGS('N' 'ZIPCODE' 'S' 006 0 ' '
'Zip code') TO_GET(#RETCODE)
*
*** Start an edit session on the new file NAMES in library QGPL
*
USE BUILTIN(START_FILE_EDIT) WITH_ARGS('NAMES' 'QGPL' 'DEM'
'Customer details' 'NORMAL') TO_GET(#RETCODE)
*
*** Use of triple quotes round *FIRST and *DEFAULT libraries
*
USE BUILTIN(START_FILE_EDIT) WITH_ARGS('CODES' '''*FIRST''' 'TST' 'Codes details' 'NORMAL') TO_GET(#RETCODE)
*
USE BUILTIN(START_FILE_EDIT) WITH_ARGS('SALES' '''*DEFAULT''' 'PRD' 'Sales results' 'NORMAL') TO_GET(#RETCODE)
*
*** Define the fields in the file
USE BUILTIN(FILE_FIELD) WITH_ARGS('CUSTNO') TO_GET(#RETCODE)
USE BUILTIN(FILE_FIELD) WITH_ARGS('CUSNAME') TO_GET(#RETCODE)
USE BUILTIN(FILE_FIELD) WITH_ARGS('ADDRESS1') TO_GET(#RETCODE)
USE BUILTIN(FILE_FIELD) WITH_ARGS('ADDRESS2') TO_GET(#RETCODE)
USE BUILTIN(FILE_FIELD) WITH_ARGS('ZIPCODE') TO_GET(#RETCODE)
*** Define the primary or relational file key
*
USE BUILTIN(PHYSICAL_KEY) WITH_ARGS('CUSTNO') TO_GET(#RETCODE)
*
*** Define additional logical view in CUSNAME / ZIPCODE order
USE BUILTIN(LOGICAL_VIEW) WITH_ARGS('NAMESV1' 'Customers in name order') TO_GET(#RETCODE)
*
*** Define keys of logical view NAMESV1
USE BUILTIN(LOGICAL_KEY) WITH_ARGS('NAMESV1' 'CUSNAME') TO_GET(#RETCODE)
USE BUILTIN(LOGICAL_KEY) WITH_ARGS('NAMESV1' 'ZIPCODE') TO_GET(#RETCODE)
*** Define "one to one" access route to ZIPTABLE by using key ZIPCODE
USE BUILTIN(ACCESS_RTE) WITH_ARGS('DEM1' 'Zip details' 'ZIPTABLE' '''*FIRST''' 1 'N/AVAIL') TO_GET(#RETCODE)
USE BUILTIN(ACCESS_RTE_KEY) WITH_ARGS('DEM1' 'ZIPCODE') TO_GET(#RETCODE)
*
*** Define "one to many" access route to ORDHDRV2 using key CUSTNO
USE BUILTIN(ACCESS_RTE) WITH_ARGS('DEM2' 'Order details' 'ORDHDRV2' '''*FIRST''' 999 'IGNORE') TO_GET(#RETCODE)
USE BUILTIN(ACCESS_RTE_KEY) WITH_ARGS('DEM2' 'CUSTNO') TO_GET(#RETCODE)
*
*** End the edit session and commit details
USE BUILTIN(END_FILE_EDIT) WITH_ARGS('Y') TO_GET(#RETCODE)