Как отформатировать код ABAP, если красивого принтера недостаточно? - PullRequest
0 голосов
/ 19 сентября 2018

"Pretty Printer" делает свою работу Довольно плохо в некоторых случаях.Интересно, как отформатировать код ABAP?Особенно длинные операторы select, такие как;

SELECT SINGLE * INTO CORRESPONDING FIELDS OF ls_doc
FROM ztable INNER JOIN bkpf
ON ztable~bukrs = bkpf~bukrs
AND ztable~belnr = bkpf~belnr
AND ztable~gjahr = bkpf~gjahr
WHERE ztable~bukrs EQ gt_help_tab-bukrs
AND ztable~hkont EQ gt_help_tab-hkont
AND ztable~dekont_no EQ u_out-dekont_no
AND ztable~fiziksel_islem_tarihi EQ '01012018'
AND ztable~gjahr EQ u_out-year(4)
AND ztable~stblg EQ ''.

или выполняет;

perform get_type using '1' '2' '3' tables it_table changing lv_char.

Интересно, как мне отформатировать мой abap-код для лучшей читаемости.

  • Какойзаявление должно быть с отступом?
  • Когда мне перейти к следующей строке?
  • Какие операторы должны быть на одной вертикальной линии?

1 Ответ

0 голосов
/ 19 сентября 2018

Существует много форматов кода, обычно мы используем ниже формат в нашей компании.

SELECT SINGLE * 
  INTO CORRESPONDING FIELDS OF ls_doc
  FROM ztable 
 INNER JOIN bkpf ON ztable~bukrs EQ bkpf~bukrs
                AND ztable~belnr EQ bkpf~belnr
                AND ztable~gjahr EQ bkpf~gjahr
 WHERE ztable~bukrs                 EQ gt_help_tab-bukrs
   AND ztable~hkont                 EQ gt_help_tab-hkont
   AND ztable~dekont_no             EQ u_out-dekont_no
   AND ztable~fiziksel_islem_tarihi EQ '01012018'
   AND ztable~gjahr                 EQ u_out-year(4)
   AND ztable~stblg                 EQ ''.

perform   get_type 
    using '1' '2' '3' 
   tables it_table 
 changing lv_char.

Abap lint project grooving.Это еще не проверка многострочных кодов.

...