7.27.3 DISPLAYの使用例
例1:ユーザーにフィールド#ORDNUM、#CUSTNUM、および#DATEDUEを表示します。
DISPLAY FIELDS(#ORDNUM #CUSTNUM #DATEDUE)
または、以下のように指定しても同じです。
GROUP_BY NAME(#ORDERHEAD) FIELDS(#ORDNUM #CUSTNUM #DATEDUE)
DISPLAY FIELDS(#ORDERHEAD)
どちらの例でも、すべてのパラメータでデフォルト値が使用されており、以下のような画面が自動的に設計されます。
受注番号 : 99999999
顧客番号 : 999999
納期 : 99/99/99
例2:上記の例を変更して、項目が横に並ぶよう画面を設計し、欄見出しによってフィールドを識別します。
GROUP_BY NAME(#ORDERHEAD) FIELDS(#ORDNUM #CUSTNUM #DATEDUE)
DISPLAY FIELDS(#ORDERHEAD) DESIGN(*ACROSS) IDENTIFY(*COLHDG)
この場合、以下のような画面が自動的に設計されます。
会社名 注文 日付
受注 顧客 注文
番号 番号 納期
99999999 999999 99/99/99
例3:#ORDNUM、#CUSTNUM、および#DATEDUEを表示し、特定の位置および識別方法をフィールド属性で指定します。
フィールド属性の詳細については、「RDMLフィールド属性およびその使用法」を参照してください。
フィールドに対して特定のフィールド位置を指定すると、事実上、自動設計機能は「無効」になります。
GROUP_BY NAME(#ORDERHEAD) FIELDS((#ORDNUM *COLHDG *L3 *P3 ) (#CUSTNUM *LABEL *L3 *P24) (#DATEDUE *NOID *L7 *P37))
DISPLAY FIELDS(#ORDERHEAD) DESIGN(*ACROSS) TEXT(('--日付--' 6 37) ('--------' 8 37))
この場合、以下のような画面が設計されます。
会社名 顧客番号 : 999999
Order
番号
99999999 --日付--
99/99/99
--------
注:行番号と列番号および「テキスト」を手作業で指定する必要はありません。画面設計機能を使用すれば、「自動」設計を大幅に素早く簡単に変更できます。画面設計機能の使用方法の詳細については、『LANSA/ADユーザーガイド』の「画面設計機能」を参照してください。
DISPLAYコマンドで画面設計機能を使用すると、(DISPLAYまたはGROUP_BYコマンドの)関連付けられたFIELDSパラメータの指定が、必要な行、列、および識別方法の属性で自動的に変更されます。拡張可能なグループ式を使用した場合は、LANSAにより、その式を構成するフィールドで式が置き換えられます。
また、DISPLAYコマンドのTEXTパラメータの指定も自動的に変更されます。
例4:前の例で使用した注文頭書きの詳細と、#ORDERLINEというリストに指定された関連するすべての請求明細行を表示します。
GROUP_BY NAME(#ORDERHEAD) FIELDS(#ORDNUM #CUSTNUM #DATEDUE)
DEF_LIST NAME(#ORDERLINE) FIELDS(#ORDLIN #PRODUCT #QUANTITY #PRICE)
DISPLAY FIELDS(#ORDERHEAD) BROWSELIST(#ORDERLINE)
すべてのパラメータにデフォルト値を使用し、フィールド属性を指定していないため、以下のような画面が自動的に設計されます。
受注番号 : 99999999
顧客番号 : 999999
納期 : 99/99/99
行
番号 製品 数量 価格
99 9999999 99999 99999.99
99 9999999 99999 99999.99
99 9999999 99999 99999.99
99 9999999 99999 99999.99
99 9999999 99999 99999.99
99 9999999 99999 99999.99
例5:前の例で使用した注文頭書きの詳細と、4項目のみで構成される#ORDERLINEというリストに指定された関連するすべての請求明細行を表示します。また、請求明細行の下に、請求明細行の合計値(調整可能)を表示します。
GROUP_BY NAME(#ORDERHEAD) FIELDS(#ORDNUM #CUSTNUM #DATEDUE)
DEF_LIST NAME(#ORDERLINE) FIELDS(#ORDLIN #PRODUCT #QUANTITY #PRICE)
DISPLAY FIELDS(#ORDERHEAD) BROWSELIST(#ORDERLINE 4) OPTIONS(*NOREAD)
REQUEST FIELDS(#TOTQTY #TOTPRICE) OPTIONS(*OVERLAY)
フィールドが重ならないようにフィールド位置を調整するよう画面を構成した後(上記のコードの実行後)の画面は以下のようになります。
受注番号 : 99999999
顧客番号 : 999999
納期 : 99/99/99
行
番号 製品 数量 価格
99 9999999 99999 99999.99
99 9999999 99999 99999.99
99 9999999 99999 99999.99
99 9999999 99999 99999.99
合計数量 : 9999999
合計価格 : 9999999.99
例6:拡張可能なグループ式を使用して、画面設計機能でレイアウトの設計を変更します。
GROUP_BY NAME(#XG_ORDHDG) FIELDS(#ORDNUM #CUSTNUM #DATEDUE)
DISPLAY FIELDS(#XG_ORDHDG) DESIGN(*ACROSS) IDENTIFY(*COLHDG)
以下のような画面が自動的に設計されます。
会社名 注文 日付
受注 顧客 注文
番号 番号 納期
99999999 999999 99/99/99
画面設計機能を使用して、以下のような画面になるようレイアウトを変更します。
会社名 注文
受注 顧客
番号 番号
99999999 999999 日付 注文 納期 : 99/99/99
この場合、DISPLAYコマンドのFIELDSパラメータは以下のように拡張されます。
DISPLAY FIELDS((#ORDNUM *L2 *P3) (#CUSTNUM *L2 *P37) (#DATEDUE *L5 *P26 *LAB)) DESIGN(*ACROSS) IDENTIFY(*COLHDG)