You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

[ |../../index.htm#lansa/open_e.htm]
現在地:

7.93.3 OPEN の使用例

例1:最初の画面対話処理中に顧客マスター・ファイルCUSTMSTを開きます。
OPEN FILE(CUSTMST)  
または
OPEN FILE(CUSTMST) USE_OPTION(*FIRSTSCREEN)  
例2:「必要に応じて」開かれる顧客マスター・ファイルを除くすべてのファイルを直ちに開きます。
OPEN FILE(*ALL) USE_OPTION(*IMMEDIATE) OPEN FILE(CUSTMST) USE_OPTION(*ONDEMAND)  
例3:ファイルSTATESを開き、すべてのレコードを作業リスト#WRK_LISTにロードしてから、ファイルSTATESを閉じます。
OPEN      FILE(STATES) USE_OPTION(*IMMEDIATE) SELECT    FIELDS(#WRK_LIST) FROM_FILE(STATES) ADD_ENTRY TO_LIST(#WRK_LIST) ENDSELECT CLOSE     FILE(STATES)  
例4:ファイルSTATESを開き、すべてのレコードを州名(STATNM)順に作業リスト#WRK_LISTにロードしてから、ファイルSTATESを閉じます。
OPEN      FILE(STATES) USE_OPTION(*OPNQRYF) KEYFLD('STATNM') SELECT    FIELDS(#WRK_LIST) FROM_FILE(STATES) ADD_ENTRY TO_LIST(#WRK_LIST) ENDSELECT CLOSE     FILE(STATES)  
例5:ファイルSTATESを開き、すべてのレコードを州名(STATNM)順に作業リスト#WRK_LISTにロードします。次に、郵便番号(POSTCD)が2000~3999のレコードのみを選択し、ファイルSTATESを閉じます。
OPEN      FILE(STATES) USE_OPTION(*OPNQRYF) KEYFLD('STATNM') QRYSLT('(POSTCD *GE 2000) *AND (POSTCD *LE 3999)') SELECT    FIELDS(#WRK_LIST) FROM_FILE(STATES) ADD_ENTRY TO_LIST(#WRK_LIST) ENDSELECT CLOSE     FILE(STATES)  
例6:名前および住所のクエリー要求についてのみ応答する、完全なユーザー駆動型の名前/住所レポートを作成します。名前/住所ファイルの名前はNAMESです。
    DEFINE    FIELD(#SELECTION) TYPE(*CHAR) LENGTH(100) LABEL('Select :')     DEFINE    FIELD(#ORDER_BY)  TYPE(*CHAR) LENGTH(100) LABEL('Sort   :')     DEF_LINE  NAME(#LINE1) FIELDS(#CUSTNO #NAME #ADDR1 #ADDR2 #ADDR3 #POSTCD #CRTDATE) L1: REQUEST   FIELDS(#SELECTION #ORDER_BY)       OPEN      FILE(NAMES) USE_OPTION(*OPNQRYF) IO_ERROR(L1) QRYSLT(#SELECTION) KEYFLD(#ORDER_BY)       SELECT    FIELDS(#LINE1) FROM_FILE(NAMES)     PRINT     LINE(#LINE1)     ENDSELECT       CLOSE     FILE(NAMES)  
例7:ユーザーが名前/住所ファイルの住所行3行で地区名をスキャンすることのできるレポートを作成します。要求された地区を含むすべての顧客の詳細を印刷します。
DEFINE    FIELD(#SRCHSUB) TYPE(*CHAR) LENGTH(20) LABEL('Suburb :') DEFINE    FIELD(#SELECT) TYPE(*CHAR) LENGTH(256) DEF_LINE  NAME(#LINE1) FIELDS(#CUSTNO #NAME #ADDR1 #ADDR2 #ADDR3 #POSTCD #CRTDATE) REQUEST   FIELDS(#SRCHSUB) USE  BUILTIN(TCONCAT) WITH_ARGS('''(ADDR1 *CT "'''  #SRCHSUB '''")''') TO_GET(#SELECT) USE  BUILTIN(TCONCAT) WITH_ARGS(#SELECT ''' *OR (ADDR2 *CT "''' #SRCHSUB '''")''') TO_GET(#SELECT) USE  BUILTIN(TCONCAT) WITH_ARGS(#SELECT ''' *OR (ADDR3 *CT "''' #SRCHSUB '''")''') TO_GET(#SELECT) OPEN      FILE(NAMES) USE_OPTION(*OPNQRYF) QRYSLT(#SELECT) KEYFLD(*FILE) SELECT    FIELDS(#LINE1) FROM_FILE(NAMES) PRINT     LINE(#LINE1) ENDSELECT CLOSE     FILE(NAMES)  
例8:ファイルSTATESを開き、すべてのレコードをブラウズ・リスト#BROWSELにロードし、州が'NSW'および'QLD'、郵便番号が2000~4999のレコードのみを選択します。
DEFINE    FIELD(#FIELDA) TYPE(*CHAR) LENGTH(256)  DEFINE    FIELD(#FIELDB) TYPE(*CHAR) LENGTH(256)  CHANGE    FIELD(#FIELDA) TO('(DEPTMENT *EQ "ADM") *OR (DEPTMENT *EQ "MNT") OR ') CHANGE    FIELD(#FIELDB) TO('(DEPTMENT *EQ "FLT") *OR (DEPTMENT *EQ "MIS")') EXCHANGE  FIELDS(#FIELDA) EXCHANGE  FIELDS(#FIELDB) OPEN      FILE(STATES) USE_OPTION(*OPNQRYF) QRYSLT('=EXCHANGE') SELECT    FIELDS((#BROWSEL)) FROM_FILE(STATES) ADD_ENTRY TO_LIST(#BROWSEL) ENDSELECT  
[ |../../index.htm#lansa/open_e.htm]

  • No labels