7.27.3 DISPLAYの使用例

LANSA

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)