ツールバー関連

 

このトピックでは、ツールバー関連のプログラミングを取り上げて説明します。

機能固有のボタンを追加

関連技術

自動的に設定される選択画面の GUI ステータスでは、 アプリケーションツールバーに無効な 押ボタンが 5 つあり、これらに機能コード FC01 から FC05 までが割り当てられ ています。この命令を使用すると、機能コード FC0n の押ボタンが有効化されます。 n には 1 と 5 の間にある値を入力しなければなりません。
押ボタンを使用できるようにするには、 TABLES 命令を使用して、ABAP ディクショナリに由来する構造 SSCRFIELDS の インタ フェース作業領域を宣言しなければなりません。
選択画面を呼び出す前にインタフェース領域 sscrfields のコンポーネント functxt_0n にテキスト が割り当てられていると、 このテキストが該当の押ボ タン上に表示されます。割 り当てられていないと、押 ボタンにテキストは表示されません。

サンプル

SAP標準のMIR5請求書一覧照会トランザクションのエキスパートモード機能の実装を例として解説します。
* 画面イメージ
* 機能概要
「エキスパートモード」ボタンを押下により、エキスパートモードの表示/非表示を切り替える
* 実装詳細
①選択画面の定義に対象機能コードのボタンを有効にする

SELECTION-SCREEN FUNCTION KEY 1.

②INITIALIZATIONイベントブロックでボタンの初期表示テキストを設定

sscrfields-functxt_01 = text-001. "エキスパートモード

③AT SELECTION /AT USER-COMMANDイベントブロックでボタン押下イベントを処理

CASE sscrfields-ucomm.	 
 WHEN 'FC01'.	 
  IF status_expert = c_hide."元々エキスパートモードが閉じれれた場合	 
   status_expert = c_show. "エキスパートモードフラグをONにする	 
   sscrfields-functxt_01 = text-007."ボタンテキストを「エキスパートモード非表示」に	 
  ELSE.              "元々エキスパートモードがオープンれれた場合	 
   status_expert = c_hide."エキスパートモードフラグをOFFにする	 
   sscrfields-functxt_01 = text-001. "ボタンテキストを「エキスパートモード」に	 
  ENDIF.	 
ENDCASE.

④AT SELECTION-SCREEN OUTPUTイベントブロックでエキスパートモード項目の表示/非表示を切り替え

LOOP AT SCREEN.	 
  CASE screen-group1.	 
    WHEN 'F'.	 
      IF  status_expert  = c_show.	 
        screen-active = 1.	 
        SET CURSOR FIELD 'PA_FIDOC'.	 
      ELSE.	 
        screen-active = 0.	 
      ENDIF.	 
      MODIFY SCREEN.	 
  ENDCASE.	 
ENDLOOP.	
ログインするとコメントできます。