画面の項目にカーソル(フォーカス)を当てる命令。
この命令+エラーメッセージで、「この項目に入力した値が変だよ」なんかが代表的な使い方。
* 概要 [#a6c4f638]
** 用法~[[Dynpro>ABAP/Dynpro]]でのSET CURSOR [#v5a1c214]
[[PBO>ABAP/PBO]]処理中では、その時点の[[Dynpro>ABAP/Dynpro]]の画面レイアウトの中でカーソルが設定される。
カーソルの位置を指定するには、 FIELDの後に[[Dynpro>ABAP/Dynpro]]エレメントを入力するか、オプションを使用して特定の位置を入力する。
[[PBO>ABAP/PBO]]処理中でない場合は、次に画面上に表示される一覧の中でカーソルの位置が指定される。
SET CURSOR命令を指定しないと、[[PBO>ABAP/PBO]]の定義に応じて、以下の階層に従ってカーソルが設定されることとなる。
1.[[Dynpro>ABAP/Dynpro]]プロパティで静的に決定されたカーソル位置
2.画面の第1入力項目
3.画面の第1[[Dynpro>ABAP/Dynpro]]エレメント
4.システムツールバーにある入力項目
なお、通常の選択画面の中でも利用可能で、[[AT SELECTION-SCREEN>ABAP/AT SELECTION-SCREEN]]で使ったりする。
** サンプル [#y317f4e1]
*** 基本形 [#f42ceefe]
SET CURSOR FIELD (項目名).
基本の「き」。
*** オプション [#ya68d6c8]
SET CURSOR FIELD (項目名) LINE n.
[[テーブルコントロール>ABAP/テーブルコントロール]]の場合、LINEで行を指定する。
SET CURSOR FIELD (項目名) OFFSET n.
その項目の中でオフセットを指定する場合。
SET CURSOR (列) (行).
列と行を直接指定する場合。
** 用法~一覧画面でのSET CURSOR [#b2f207ae]
基本的には、上記[[Dynpro>ABAP/Dynpro]]の場合と使い方は一緒。
一覧画面が故の使い方のみ注記。
*** サンプル [#se6b0887]
WRITE: / flag AS CHECKBOX, inp INPUT.
SET CURSOR FIELD 'inp' LINE sy-linno.
Helpからのコピペ。
SET CURSOR LINE n MEMORY OFFSET m.
「MEMORYオプションと共にOFFSETを指定すると、一覧バッファ内で指定した位置にある文字上にカーソルが配置されます。」とのこと。
* その他 [#faa2fa19]
画面処理に関連する命令は、[[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]]、[[LEAVE TO SCREEN>ABAP/LEAVE TO SCREEN]]、[[GET CURSOR>ABAP/GET CURSOR]]、[[SET HOLD DATA>ABAP/SET HOLD DATA]]、[[CONTROLS>ABAP/CONTROLS]]、[[REFRESH CONROL>ABAP/REFRESH CONROL]]などがある。
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)