Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

7.26.4 DEF_LIST の使用例

例1:注文の明細をすべて表示するRDMLプログラムを作成します。例1:注文の明細をすべて表示するRDMLプログラムを作成します。

必要な明細行リストを名前#ORDERLINEで定義し、注文頭書きファイルの必要なフィールドを名前#ORDERHEADでグループ化します。

...

REQUEST FIELDS(#ORDNUM)コマンドの場合:

 
         注文番号          注文番号 :   ______________        
 

DISPLAY FIELDS(#ORDERHEAD) BROWSELIST(#ORDERLINE)コマンドの場合:

...

 
         注文番号 :  ___________________          
 

DISPLAY FIELDS(#ORDERHEAD) BROWSELIST(#ORDERLINE)コマンドの場合:

...

Code Block
themeConfluence
GROUP_BY   NAME(#TRANS) FIELDS(#TRANNUM #TRANTIME #TRANDATE #TRANTYPE #TRANUSER #TRANSTATE #STATEDES)
SELECT     FIELDS(#TRANS) FROM_FILE(TRANS)
FETCH      FIELDS(#TRANS) FROM_FILE(STATES) WITH_KEY(#TRANSTATE)
UPRINT     FIELDS(#TRANS)
ENDSELECT

ただし、作業リストを使用すれば、このプログラムを大幅に高速化できます。

Code Block
themeConfluence


ただし、作業リストを使用すれば、このプログラムを大幅に高速化できます。

GROUP_BY   NAME(#TRANS) FIELDS(#TRANNUM #TRANTIME #TRANDATE #TRANTYPE #TRANUSER #TRANSTATE #STATEDES)
DEF_LIST   NAME(#STATES) FIELDS(#STATE #STATEDES) TYPE(*WORKING) ENTRYS(10)
SELECT     FIELDS(#STATES) FROM_FILE(STATE)
ADD_ENTRY  TO_LIST(#STATES)
ENDSELECT
SELECT     FIELDS(#TRANS) FROM_FILE(TRANS)
LOC_ENTRY  IN_LIST(#STATES) WHERE('#STATE = #TRANSTATE')
UPRINT     FIELDS(#TRANS)
ENDSELECT

...