コンテンツフレーム起動

機能の文書化  get_subtotals 文書を SAP ライブラリストラクチャに組み込む

用途

ALV グリッドコントロールの現在の小計を返します。最低 1 つの列に対して合計を登録すると、ユーザは最大 9 つの小計を計算することができます。結果として表示される一覧は、 1 つまたは複数の列 ( 小計列と呼ばれる ) の値によってソートされます。値が小計列で変更される場合、小計が表示されます ( これは、 制御レベル変更とも呼ばれます )

統合

小計値にアクセスする前に、メソッド get_sort_criteria を使用して、 ソートテーブルを取得します。このテーブルの 1 つの行は、出力テーブルで列のプロパティを定義します。

この情報に基づいて、渡されたテーブルの値に特別にアクセスします ( 参照変数 COLLECT01 から COLLECT09 を使用 )

機能

CALL METHOD < CL_GUI_ALV_GRID への参照変数 > ->get_subtotals

    IMPORTING
 ING
      EP_COLLECT00   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT01 EP_COLLECT01   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT02 EP_COLLECT02   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT03 EP_COLLECT03   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT04 EP_COLLECT04   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT05 P_COLLECT05   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT06 EP_COLLECT06   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT07 EP_COLLECT07   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT08 EP_COLLECT08   =
< データ型 REF TO DATA の参照変数 >
      
EP_COLLECT09 EP_COLLECT09   =
< データ型 REF TO DATA の参照変数 >
      
ET_GROUPLEVELS LS =
< データ型 LVC_T_GRPL の内部テーブル > .

注記

EP_COLLECT00 から EP_COLLECT09 の値にアクセスするには、 ASSIGN を使用して独自の出力テーブルデータ型のフィールドシンボルの参照変数をデリファレンスします ( 下記参照 )

パラメータ

意味

EP_COLLECT00

合計行を参照します。合計領域が一意の合計行が 1 つだけしかないため、このテーブルに関する追加情報はテーブル ET_GROUPLEVELS で利用できません。

EP_COLLECT01
から
EP_COLLECT09

合計行を参照します。各小計レベルには 1 つの参照変数が存在します。これらの変数は、それぞれ出力テーブルのデータ型を持つ内部テーブルを参照します。 EP_COLLECT01 は、最上位レベルの小計を参照します。また、 EP_COLLECT02 は、 2 番目に高いレベルの小計を参照します。続くパラメータで同様の処理が行われます。これらのレベルはソート優先度から派生されます ( ソートテーブルの項目 SPOS) 。データが最初にソートされた列は、最上位小計レベルです。

ET_GROUPLEVELS

個別制御レベルのすべての索引を管理します。テーブルの項目の内容は以下のとおりです。

  • INDEX_FROM , INDEX_TO : 小計が登録された出力テーブルの行
  • LEVEL: 小計レベル ( 上記参照 )
  • COUNTER : 小計が登録された行数
  • COMPRESS : この小計行に対して、ユーザが関連する列を非表示にしました
  • COLLECT : 値がソートされた小計テーブル ( 01 - 09 ) を示します

 

概要については、 クラス CL_GUI_ALV_GRID のメソッドを参照してください。

 

アクティビティ

以下のように記述して、フィールドシンボルを使用して小計テーブル ( この例では、合計と最初の小計レベルのみ ) にアクセスします。

data: data: total type ref to data,
      subtotal1 type ref to dat

field-symbols <total> like gt_sflight.
field-symbols <subtotal1> like gt_sflight.

call method grid1->get_subtotals
 call method grid1->get_subtotals
   importing
      ep_collect = total
  = total
      ep_collect01 = subtotal

assign total->* to <total>.
assign subtotal1->* to <subtotal1>.

 

 

 

 

 

 

コンテンツフレーム終了