コンテンツフレーム起動

ステータスアイコン 文書を SAP ライブラリストラクチャに組み込む

ステータスアイコンは表示エレメントで、これを使用してプログラムの状態をグラフィカルに表すことができます。すべての SAPgui アイコンを使用することができます。ただし、実際は、『SAP スタイルガイド』に記載されているストラクチャのリンクステータス表示のアイコンのみを使用してください。 

ステータスアイコンは、グラフィックスクリーンペインタのみで作成することができます。ステータスアイコンを作成する際には、名称と、ステータス項目と呼ばれる Dynpro 項目を割り当てます。Dynpro 項目の表示長によって、画面上でアイコンが占めることができるスペースの量が決まります。アイコン自体の他に、項目にテキストを挿入することもできます。ステータス項目の実際の長さ ( 定義長) は、アイコンの内部表示に加えて、指定したテキストやクイックインフォに必要な長さでなければなりません。スクリーンペインタでステータスアイコンを作成する際、画面にプレースホルダが表示されます。ABAP プログラムの PBO イベントで、アイコン自体とそのテキストおよびクイックインフォを指定する必要があります。 

ABAP プログラムでアイコンを定義するには、Dynpro のステータス項目と同じ名称で、ABAP ディクショナリデータ型 ICONS-TEXT の項目を作成する必要があります。その後、BPO イベントでこの項目に必要な技術情報を書き込むことができます。画面が表示される際に、ステータス項目に情報が転送され、アイコンが表示されます。

ABAP プログラムで項目に情報を書き込むには、汎用モジュール ICON_CREATE を使用します。この汎用モジュールには、以下のインポートパラメータがあります。

        NAME

必要なアイコンの名称。これらは、ストラクチャのリンクSAP スタイルガイド 、インクルードプログラム <ICON> 、スクリーンペインタまたはメニューペインタの該当する入力ヘルプに記載されています。

        TEXT

このパラメータを使用すると、画面上でアイコンの後に表示されるテキストを入力することができます。

        INFO

このパラメータでは、マウスポインタをアイコン上に置いたときに表示されるクイックインフォを指定することができます。

        ADD_STDINF

このフラグによって、クイックインフォの表示のオン/ オフが切り替わります。

汎用モジュールによってこれらのパラメータが 1 つの文字列に変換され、エクスポートパラメータ RESULT に返されます。RESULT パラメータをステータス項目に割り当てると、ステータスアイコンを表示するために必要なすべての情報がステータス項目に格納されます。

 例

ステータスアイコン

REPORT DEMO_DYNPRO_STATUS_ICONS.

DATA VALUE TYPE I VALUE 1.

DATA: STATUS_ICON TYPE ICONS-TEXT,
      ICON_NAME(20),
      ICON_TEXT(10).

CALL SCREEN 100.

MODULE SET_ICON OUTPUT.

   SET PF-STATUS 'SCREEN_100'.

CASE VALUE.
     WHEN 1.
      ICON_NAME = 'ICON_GREEN_LIGHT'.

       ICON_TEXT =  TEXT-003.
    WHEN 2.
      ICON_NAME = 'ICON_YELLOW_LIGHT'.

       ICON_TEXT =  TEXT-002.
    WHEN 3.
      ICON_NAME = 'ICON_RED_LIGHT'.

       ICON_TEXT =  TEXT-001.
  ENDCASE.

   CALL FUNCTION 'ICON_CREATE'
       EXPORTING
            NAME                  = ICON_NAME
            TEXT                  = ICON_TEXT
            INFO                  = 'Status'
            ADD_STDINF            = 'X'
      IMPORTING
            RESULT                =  STATUS_ICON
      EXCEPTIONS
            ICON_NOT_FOUND        = 1
            OUTPUTFIELD_TOO_SHORT = 2
            OTHERS                = 3.

CASE SY-SUBRC.
     WHEN 1.
      MESSAGE E888(BCTRAIN) WITH TEXT-004.
    WHEN 2.
      MESSAGE E888(BCTRAIN) WITH TEXT-005.
    WHEN 3.
      MESSAGE E888(BCTRAIN) WITH TEXT-006.
  ENDCASE.

ENDMODULE.

MODULE CANCEL INPUT.
   LEAVE PROGRAM.
ENDMODULE.

MODULE CHANGE.
CASE VALUE.
     WHEN 1.
      VALUE = 2.
    WHEN 2.
      VALUE = 3.
    WHEN 3.
      VALUE = 1.
  ENDCASE.

ENDMODULE.

Dynpro 100 の次画面 ( 静的に定義) はそれ自体です。この Dynpro のレイアウトは次のとおりです。

このグラフィックは添付のテキストに説明されています

表示長 12 、定義長 26 STATUS_ICON というステータス項目が Dynpro に生成されています。スクリーンペインタでは、このステータスアイコンとテキスト用のスペースがプレースホルダによって表されます。

Dynpro 制御ロジックは次のとおりです。

PROCESS BEFORE OUTPUT.
   MODULE SET_ICON.

PROCESS AFTER INPUT.
   MODULE CANCEL AT EXIT-COMMAND.
   MODULE CHANGE.

ダイアログモジュール SET_ICON によって、プログラムの項目の値にもとづいて、さまざまな値が汎用モジュール ICON_CREATE に渡されます。ステータス項目 STATUS_ICON に汎用モジュールのエクスポートパラメータ RESULT の内容が書き込まれます。その後、該当するアイコンが、そのテキストとクイックインフォとともに画面に表示されます。ユーザが 続行を選択すると、PAI で項目 VALUE の内容が変更され、その結果、PBO イベントで新しいアイコンが定義されます。以下のアイコンとテキストが表示されます。

このグラフィックは添付のテキストに説明されています 

このグラフィックは添付のテキストに説明されています 

このグラフィックは添付のテキストに説明されています 

クイックインフォは、すべてのアイコンについて ' ステータス' です。

 

 

 

 

 

 

コンテンツフレーム終了