Page History
[ |../../index.htm#lansa/fetch_e.htm]
現在地:
...
7.59.2 FETCH の使用例
...
例1:ファイルCUSTMST内で、キー#CUSNUMを持つレコードからフィールド#NAME、#ADDL1、および#POSTCDを取得します。
FETCH FIELDS(#NAME #ADDL1 #POSTCD) FROM_FILE(CUSMST)
...
WITH_KEY(#CUSNUM)
...
または、以下のように指定しても同じ結果になります。 または、以下のように指定しても同じ結果になります。
GROUP_
...
BY NAME(#CUSTOMER)
...
FIELDS(#NAME #ADDL1 #POSTCD)
FETCH FIELDS(#CUSTOMER)
...
FROM_FILE(CUSMST)
...
WITH_KEY(#CUSNUM)
...
例2:有効な税コードのテーブルから税率例2:有効な税コードのテーブルから税率(#TAXRATE)を取得します。テーブルと照合する最初のキーは税タイプ(この例では常に「所得税」)、2番目のキーは税コード(#TAXCDE)です。 FETCH FIELDS
FETCH FIELDS(#TAXRATE)
...
FROM_FILE(TAXTAB)
...
WITH_KEY('INCOME'
...
#TAXCDE)
例3:明細行ファイル内で、#QUANTITYフィールドが10より大きい最初の注文の製品番号例3:明細行ファイル内で、#QUANTITYフィールドが10より大きい最初の注文の製品番号(#PRODUCT)を取得します。 FETCH FIELDS
FETCH FIELDS(#PRODUCT)
...
FROM_FILE(ORDLIN)
...
WHERE('
...
#QUANTITY > 10')
例4:GLTRANSというファイルからすべての元帳トランザクションの明細を読み取り、印刷します。各トランザクションには会社番号例4:GLTRANSというファイルからすべての元帳トランザクションの明細を読み取り、印刷します。各トランザクションには会社番号(#COMPNO)が関連付けられています。ファイルCOMPANYから実際の会社名(#COMPNAME)を取得し、これをレポートに含めます。
GROUP_
...
BY NAME(#REPORTLIN)
...
FIELDS(#TRANSNUM #TRANSTYP #TRANSVAL #COMPNO #COMPNAME)
SELECT FIELDS(#REPORTLIN)
...
FROM_FILE(GLTRANS)
...
FETCH FIELDS(#COMPNAME)
...
FROM_FILE(COMPANY)
...
WITH_KEY(#COMPNO)
...
KEEP_LAST(15)
...
UPRINT FIELDS(#REPORTLIN)
...
ENDSELECT
ENDPRINT
GLTRANSに10,000個のトランザクションが含まれ、会社数が15 (または15未満)の場合、このプログラムが実行するデータベースI/O操作は最大でも10,015回です。FETCHコマンドのKEEP_LASTパラメータを省略した場合は、20,000回のI/O操作が実行され、実行時間が2倍になる可能性があります。 例5:キー#CUSNUMを使用して、現在アクティブなバージョンのファイルCUSMSTからすべてのフィールドを取得します。
FETCH FIELDS
例5:キー#CUSNUMを使用して、現在アクティブなバージョンのファイルCUSMSTからすべてのフィールドを取得します。
FETCH FIELDS(*ALL)
...
FROM_FILE(CUSMST)
...
WITH_KEY(#CUSNUM)
...
例6:現在アクティブなバージョンのファイルCUSMSTからすべての実フィールドを取得しますが、住所情報は除外します。 例6:現在アクティブなバージョンのファイルCUSMSTからすべての実フィールドを取得しますが、住所情報は除外します。
GROUP_
...
BY NAME(#XG_ADDR)
...
FIELDS(#ADDL1 #ADDL2 #ADDL3 #POSTCD)
FETCH FIELDS(*ALL_
...
REAL *EXCLUDING #XG_ADDR)
...
FROM_FILE(CUSMST)
...
WITH_KEY(#CUSNUM)
...