ABAP/CONTROLS
Dynproで使用するためのテーブルコントロールとタブストリップを宣言するための命令。
概要 †
用法 †
あくまでこの命令はデータ宣言に過ぎず、定義したこれらを実際に使用するためには、PBOやPAIへのコーディング、Dynproレイアウトへの割当が必要となる。
テーブルコントロールやタブストリップは初心者殺しの鬼門のように言われることも多いが、フタを開けてみれば大したことないっちゃないので、臆さないように。
画面系のプログラムは難しいという人もいるが、普段いい加減に組んでいるアラが目立ちやすいというだけの話。*1
サンプル †
テーブルコントロール †
CONTROLS: TABLECONTROL_9000 TYPE TABLEVIEW USING SCREEN 9000.
テーブルコントロールと、その受け皿的な内部テーブル自体を宣言して、PBOやPAIの処理に用いる。
LOOPのページも参照のこと。
タブストリップ †
CONTROLS TABSTRIP_9000 TYPE TABSTRIP.
予めタブごとに機能コードを割り当てておき、PAIのユーザコマンド処理で、
CASE (タブの機能コード) TABSTRIP_9000-ACTIVETAB = (対象のタブ名). MODIFY SCREEN. W_TRG_DYNPRO = 9001.
こんな感じでMODIFY SCREENと併用する形でアクティブなタブを切り替え、PBOで
CALL SUBSCREEN SS_HEAD INCLUDING SY-REPID WK_SSDNO.
使用する従属画面をCALL SUBSCREEN命令によってDynpro制御ロジックに組み込む。(だったはず)
Helpによると、「CONTROLS命令でTYPE TABSTRIPを指定すると、コントロールの名称を持ち、データ型グループCXTABの型CXTAB_TABSTRIPである構造が登録される」とのこと。
その他 †
画面処理に関連する命令は、SET SCREEN、CALL SCREEN、SET PF-STATUS、GET PF-STATUS、SET TITLEBAR、LOOP AT SCREEN、MODIFY SCREEN、SUPPRESS DIALOG、SET CURSOR、GET CURSOR、SET HOLD DATA、LEAVE TO SCREEN、REFRESH CONROLなどがある。
コメントはありません。 Comments/ABAP/CONTROLS