トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

ABAP/CONTROLS の変更点

Top/ABAP/CONTROLS

[[Dynpro>ABAP/Dynpro]]で使用するための[[テーブルコントロール>ABAP/テーブルコントロール]]と[[タブストリップ>ABAP/タブストリップ]]を宣言するための命令。

* 概要 [#id91f0f0]
** 用法 [#v65ae63d]
あくまでこの命令はデータ宣言に過ぎず、定義したこれらを実際に使用するためには、[[PBO>ABAP/PBO]]や[[PAI>ABAP/PAI]]へのコーディング、[[Dynpro>ABAP/Dynpro
]]レイアウトへの割当が必要となる。
あくまでこの命令はデータ宣言に過ぎず、定義したこれらを実際に使用するためには、[[PBO>ABAP/PBO]]や[[PAI>ABAP/PAI]]へのコーディング、[[Dynpro>ABAP/Dynpro]]レイアウトへの割当が必要となる。

[[テーブルコントロール>ABAP/テーブルコントロール]]や[[タブストリップ>ABAP/タブストリップ]]は初心者殺しの鬼門のように言われることも多いが、フタを開けて
みれば大したことないっちゃないので、臆さないように。
画面系のプログラムは難しいという人もいるが、''普段いい加減に組んでいるアラが目立ちやすい''というだけの話。((つまり、こういうことを言う人は例外なくヘタ
クソで考えなし))
[[テーブルコントロール>ABAP/テーブルコントロール]]や[[タブストリップ>ABAP/タブストリップ]]は初心者殺しの鬼門のように言われることも多いが、フタを開けてみれば大したことないっちゃないので、臆さないように。

画面系のプログラムは難しいという人もいるが、''普段いい加減に組んでいるアラが目立ちやすい''というだけの話。((つまり、こういうことを言う人は例外なくヘタクソで考えなし))

** サンプル [#cac398d4]
*** テーブルコントロール [#n407a50f]
 CONTROLS:
   TABLECONTROL_9000 TYPE TABLEVIEW USING SCREEN 9000.

[[テーブルコントロール>ABAP/テーブルコントロール]]と、その受け皿的な[[内部テーブル>ABAP/内部テーブル]]自体を宣言して、[[PBO>ABAP/PBO]]や[[PAI>ABAP/PAI
]]の処理に用いる。
[[テーブルコントロール>ABAP/テーブルコントロール]]と、その受け皿的な[[内部テーブル>ABAP/内部テーブル]]自体を宣言して、[[PBO>ABAP/PBO]]や[[PAI>ABAP/PAI]]の処理に用いる。

[[LOOP>ABAP/LOOP]]のページも参照のこと。

*** タブストリップ [#i531c320]
 CONTROLS TABSTRIP_9000 TYPE TABSTRIP. 

予めタブごとに[[機能コード>ABAP/機能コード]]を割り当てておき、[[PAI>ABAP/PAI]]のユーザコマンド処理で、

 CASE (タブの機能コード)
   TABSTRIP_9000-ACTIVETAB = (対象のタブ名).
   MODIFY SCREEN.
   W_TRG_DYNPRO = 9001.

こんな感じで[[MODIFY SCREEN>ABAP/MODIFY SCREEN]]と併用する形でアクティブなタブを切り替え、[[PBO>ABAP/PBO]]で

 CALL SUBSCREEN SS_HEAD INCLUDING SY-REPID WK_SSDNO.

使用する従属画面を[[CALL SUBSCREEN>ABAP/CALL SUBSCREEN]]命令によって[[Dynpro>ABAP/Dynpro]]制御ロジックに組み込む。(だったはず)

Helpによると、「CONTROLS命令でTYPE TABSTRIPを指定すると、コントロールの名称を持ち、[[データ型グループ>SAPのオブジェクト/データ型グループ]]CXTABの型CXTAB_TABSTRIPである構造が登録される」とのこと。

* その他 [#ece8d824]
画面処理に関連する命令は、[[SET SCREEN>ABAP/SET SCREEN]]、[[CALL SCREEN>ABAP/CALL SCREEN]]、[[SET PF-STATUS>ABAP/SET PF-STATUS]]、[[GET PF-STATUS>ABAP/GET PF-STATUS]]、[[SET TITLEBAR>ABAP/SET TITLEBAR]]、[[LOOP AT SCREEN>ABAP/LOOP AT SCREEN]]、[[MODIFY SCREEN>ABAP/MODIFY SCREEN]]、[[SUPPRESS DIALOG>ABAP/SUPPRESS DIALOG]]、[[SET CURSOR>ABAP/SET CURSOR]]、[[GET CURSOR>ABAP/GET CURSOR]]、[[SET HOLD DATA>ABAP/SET HOLD DATA]]、[[LEAVE TO SCREEN>ABAP/LEAVE TO SCREEN]]、[[REFRESH CONROL>ABAP/REFRESH CONROL]]などがある。

~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)