ABAPにはチェーン命令機能があります。
連続した同じ命令を省略することができます。
基本的なテクニックですが様々な場面でコードディングの節約になり、
工数と視認性が上がる場面が多いので活用しましょう。
★使用例
〇チェーン命令なし
DATA lv_test1.
DATA lv_test2.
DATA lv_test3.
〇チェーン命令あり
DATA:
lv_test1,
lv_test2,
lv_test3.
★意外と広い活用例
例①)
PERFORM form_example USING lv_test1 CHANGING lv_string1.
PERFORM form_example USING lv_test2 CHANGING lv_string2.
PERFORM form_example USING lv_test3 CHANGING lv_string3.
↓
PERFORM:
form_example USING lv_test1 CHANGING lv_string1,
form_example USING lv_test2 CHANGING lv_stirng2,
form_example USING lv_test3 CHANGING lv_string3.
例②)
SET HANDLER obj_ref_event_handler->on_double_click FOR obj_ref_alvglid.
SET HANDLER obj_ref_event_handler->on_user_command FOR obj_ref_alvglid.
↓
SET HANDLER:
obj_ref_event_handler->on_double_click FOR obj_ref_alvglid,
obj_ref_event_handler->on_user_command FOR obj_ref_alvglid.
例③)
CREATE OBJECT obj_ctl
EXPORTING
container_name = 'obj_ctl'.
CREATE OBJECT obj_ref_alvgrid
EXPORTING
i_parent = obj_ctl.
CREATE OBJECT obj_ref_event_handler .
↓
CREATE OBJECT:
obj_ctl EXPORTING container_name = 'obj_ctl',
obj_ref_alvgrid EXPORTING i_parent = obj_ctl,
obj_ref_event_handler.
その他、CALL METHOD、CALL FUNCTIONなどにも使用可能です。


