Page History
[ |../../index.htm#lansa/browse_e.htm]
現在地:
...
7.8.2 BROWSE の使用例
例1:指定された注文のすべての行をブラウズし、個々の明細行を選択できるようにします。 例1:指定された注文のすべての行をブラウズし、個々の明細行を選択できるようにします。
ROUP GROUP_BY NAME(#BRWLIN) FIELDS(#ORDLIN #PRODUCT #QUANTITY) REQUEST FIELDS(#ORDNUM) BROWSE FIELDS(#BRWLIN) FROM_FILE(ORDLIN) WITH_KEY(#ORDNUM) RETURN_RRN(#RRNFLD)
これは、機能的に以下の例と似ています。
DEF_
...
LIST NAME(#BRWLIN)
...
FIELDS((
...
#SELECTOR *SELECT)
...
#ORDLIN #PRODUCT #QUANTITY #RRNFLD)
REQUEST FIELDS(#ORDNUM)
CLR_
...
LIST NAMED(#BRWLIN)
...
SELECT FIELDS(#BRWLIN)
...
FROM_FILE(ORDLIN)
...
WITH_KEY(#ORDNUM)
...
RETURN_RRN(#RRNFLD)
ADD_
...
ENTRY TO_LIST(#BRWLIN)
...
ENDSELECT
DISPLAY BROWSELIST(#BRWLIN)
...
SELECTLIST NAMED(#BRWLIN)
...
GET_ENTRYS(*SELECT)
...
FETCH FIELDS(#BRWLIN)
...
FROM_FILE(ORDLIN)
...
WITH_RRN(#RRNFLD)
ENDSELECT
...
例2:状態が 例2:状態が NSW、与信限度が $100,000 の顧客を名前で総称的にブラウズします。 BROWSE FIELDS(#NAME #ADD1 #ADD2 #POSTCD #CRDLIM) FROM
BROWSE FIELDS(#NAME #ADD1 #ADD2 #POSTCD #CRDLIM) FROM_FILE(CUSTMAS)
...
WHERE('(
...
#POSTCD > 1999) *AND (#POSTCD < 3000) *AND (#CRDLIM = 100000)') WITH_KEY(#NAME)
...
GENERIC(*YES)
...
例3:例 例3:例 2 を拡張し、レコードがブラウズ画面で唯一のレコードの場合に、そのレコードを自動的に選択します。 BROWSE FIELDS(#NAME #ADD1 #ADD2 #POSTCD #CRDLIM) FROM
BROWSE FIELDS(#NAME #ADD1 #ADD2 #POSTCD #CRDLIM) FROM_FILE(CUSTMAS)
...
WHERE('(
...
#POSTCD > 1999) *AND (#POSTCD < 3000) *AND (#CRDLIM = 100000)') WITH_KEY(#NAME)
...
GENERIC(*YES)
...
ONE_FOUND(*SELECT)
...
...
例4:ブラウズにより、顧客マスター・ファイルの照会において更新および削除を実行できるようにします。このブラウズでは、顧客名の総称検索がサポートされます。
GROUP_BY NAME(#BRWLIN)
...
FIELDS(#NAME #ADD1 #ADD2 #ADD3 #POSTCD)
BEGIN_LOOP
L1: REQUEST FIELDS(#NAME)
SET_MODE TO(*DISPLAY)
BROWSE FIELDS(#BRWLIN) FROM_FILE(CUSTMAS)
...
WITH_KEY(#NAME)
...
GENERIC(*YES)
...
NO_SELECT(L1)
...
RETURN_RRN(#FILRRN)
...
CHANGE_KEY(*YES)
...
DELETE_KEY(*YES)
...
DISPLAY FIELDS(#BRWLIN)
...
IF_MODE IS(*CHANGE)
...
UPDATE FIELDS(#BRWLIN)
...
IN_FILE(CUSTMAS)
...
WITH_RRN(#FILRRN)
...
ENDIF
IF_MODE IS(*DELETE)
...
DELETE FROM_FILE(CUSTMAS)
...
WITH_RRN(#FILRRN)
...
ENDIF
END_LOOP