SAP Knowledge Wiki
ABAP/CONTROLS
の編集
Top
/
ABAP
/
CONTROLS
-- 雛形とするページ --
(no template pages)
[[Dynpro>ABAP/Dynpro]]で使用するための[[テーブルコントロール>ABAP/テーブルコントロール]]と[[タブストリップ>ABAP/タブストリップ]]を宣言するための命令。 * 概要 [#id91f0f0] ** 用法 [#v65ae63d] あくまでこの命令はデータ宣言に過ぎず、定義したこれらを実際に使用するためには、[[PBO>ABAP/PBO]]や[[PAI>ABAP/PAI]]へのコーディング、[[Dynpro>ABAP/Dynpro]]レイアウトへの割当が必要となる。 [[テーブルコントロール>ABAP/テーブルコントロール]]や[[タブストリップ>ABAP/タブストリップ]]は初心者殺しの鬼門のように言われることも多いが、フタを開けてみれば大したことないっちゃないので、臆さないように。 画面系のプログラムは難しいという人もいるが、''普段いい加減に組んでいるアラが目立ちやすい''というだけの話。((つまり、こういうことを言う人は例外なくヘタクソで考えなし)) ** サンプル [#cac398d4] *** テーブルコントロール [#n407a50f] CONTROLS: TABLECONTROL_9000 TYPE TABLEVIEW USING SCREEN 9000. [[テーブルコントロール>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)
タイムスタンプを変更しない
[[Dynpro>ABAP/Dynpro]]で使用するための[[テーブルコントロール>ABAP/テーブルコントロール]]と[[タブストリップ>ABAP/タブストリップ]]を宣言するための命令。 * 概要 [#id91f0f0] ** 用法 [#v65ae63d] あくまでこの命令はデータ宣言に過ぎず、定義したこれらを実際に使用するためには、[[PBO>ABAP/PBO]]や[[PAI>ABAP/PAI]]へのコーディング、[[Dynpro>ABAP/Dynpro]]レイアウトへの割当が必要となる。 [[テーブルコントロール>ABAP/テーブルコントロール]]や[[タブストリップ>ABAP/タブストリップ]]は初心者殺しの鬼門のように言われることも多いが、フタを開けてみれば大したことないっちゃないので、臆さないように。 画面系のプログラムは難しいという人もいるが、''普段いい加減に組んでいるアラが目立ちやすい''というだけの話。((つまり、こういうことを言う人は例外なくヘタクソで考えなし)) ** サンプル [#cac398d4] *** テーブルコントロール [#n407a50f] CONTROLS: TABLECONTROL_9000 TYPE TABLEVIEW USING SCREEN 9000. [[テーブルコントロール>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)
テキスト整形のルールを表示する