注意: 9.1 組み込み関数の規則 利用オプション
指定されたLANSAファイル定義の定義上で「編集セッション」を開始します。
編集セッションでは、新しいファイルを定義したり、既存のファイルを変更したりすることができます。
編集セッション中、ファイル定義はロックされ、他のユーザーが使用することはできません。
1度に編集できるファイル定義は、1つだけです(つまり、同じジョブ内からの2つのファイル定義を同時に編集することはできません)。
新しいファイル定義または変更したファイル定義の詳細は、END_FILE_EDIT組み込み関数を使用して「コミット」しないと失われます。
この BIF は、9.2 開発環境のみで使用される組み込み関数です。
引数
|
** 編集される詳細の「ソース」は重要です。編集セッションが開始されると、START_FILE_EDIT組み込み関数に渡されたソースと同じ「ソース」を持つファイル定義の詳細すべてに削除保留フラグが立てられます。FILE_FIELD、LOGICAL_VIEWなどの組み込み関数のいずれかによって詳細が「再指定」されない場合、詳細は、END_FILE_EDIT組み込み関数によってファイル定義から削除されます。例外は、前述の6番目の引数で1つ以上のバイト位置を使用することによって、特定の詳細を編集から除外している場合です。これによって、別のソース (「ファイル制御メニュー」でLANSA のファイル定義の表示/変更機能を使用した直接入力など) によって指定されたファイルの詳細をファイル編集セッション中に元の状態のまま維持することができます。
次に、この「ソース」コードの例を挙げます。
LDM |
LANSA データ・モデリング・インターフェース |
IEW |
インフォメーション・エンジニアリング・ワークベンチ・インターフェース |
ACC |
アクセラレート・データ・モデリング・インターフェース |
ソース・コードを設定した後は、特定のタイプのインターフェース内で、使用するソース・コードを変更しないでください。
戻り値
|
次の例では、従来のメニュー形式のインターフェースではなく、組み込み関数を使用することによって、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)