Приемы для ускорения написания кода на ABAP

2f067b0c078dbc770a54387858cdf15f.jpg

Зачастую скорость разработки зависит не только от знаний основ языка ABAP и хорошо написанной спецификации на разработку, но и от применения способов быстрого написания кода. 

Например, представители проекта Brainscape подсчитали, что при условиях восьмичасового рабочего дня, использование горячих клавиш может сэкономить любому сотруднику до 8 рабочих дней в год, а у разработчиков выгода от их использования может быть ещё выше.

Поэтому я решил обобщить свой опыт по ускорению написания кода на ABAP в этом материале. Напишите, сколько рабочего времени получится сэкономить с использованием этих приемов у вас.

О чем и в каком порядке расскажу:

  1. Помощник по вставке шаблона кода

  2. Как найти, использовать и создавать новые образцы кода

  3. ABAP TYPE Builder

  4. Вертикальное выделение

  5. Расширенный буфер памяти

  6. Основные горячие клавиши

Помощник по вставке шаблона кода

 При необходимости написания вызова для функционального модуля (ФМ), метода глобального или локального класса, подпрограмм (PERFORM) и др., необходимо перечислить используемые в них параметры (IMPORTING, EXPORTING, RECEIVING, CHANGING, TABLES EXCEPTIONS и др.). Чтобы не подглядывать наименование всех параметров и не прописывать их вручную, можно воспользоваться несколькими приёмами, рассмотренными на примере вызова ФМ:

 1.     После написания CALL FUNCTION необходимо набрать первые символы или полное названия требуемого ФМ и нажать комбинацию горячих клавиш CTRL + пробел.

11c47b85bdc429409886eb445ee6d5f4.png

Система предложит выпадающий список подходящих ФМ, исходя из введённого названия. Выбираем нужный ФМ и с помощью сочетание горячих клавиш SHIFT + Enter получаем полностью расписанный вызов ФМ.

91a33d287c83eed9d8c4058b7f92a733.png

2.     Воспользоваться кнопкой «Образец».

f4157a36da8cd5d22eeb4fe33cc60efb.png

После указания наименования ФМ получаю аналогичный результат, описанный в пункте №1.

Как найти, использовать и создавать новые образцы кода

 Мы уже говорили об ускорении набора кода, и готовые образцы явно в этом сильно помогут. Где их искать?

Чтобы найти образцы кода, в правой нижней части редактора необходимо нажать кнопку »Options».

a4d3f3a23e88914151a3afb7d138785a.png

Появится окно «Options» в котором выбираем пункт «Образцы кода» .

ca01e9f68fa02e52dedc2ba48079a817.png

Как видим, в блоке «Модели» уже есть образцы кода «case», «Define» и т.д.

А в блоке «Код» указан расписанный шаблон кода этих моделей.

Рассмотрим модель «case».

Если в редакторе напечатать название модели case, то автоматически высветится уведомление »Case (§)», говорящее о том,
что найдена модель с образцом кода.

d2b9f4e7176b1bfef2e8c22e2a3aeb5f.png

Если вы воспользуетесь клавишей клавиатуры »Tab», код шаблона модели появится редакторе.

970d48c5a3cb5c603541b68c9f83b67d.png

В добавление к существующими моделям можно создавать и свои собственные модели.

 Пример: Метки автора изменения кода

 ·         Метка для одной строки

48c5209e555c8cec7a0f2b77de97eff1.png

Результат:

081277715c37c946ef31362bd853fa05.png

·         Метка для блока строк

4148f9578c2d2146fedb3189df39e473.png

Результат:

f8171b80beb6d69ca24eda1b7b4bff5c.png

ABAP TYPE Builder

 В процессе работы программисту часто требуется описать структуру данных для внутренней обработки.

Пример:  необходимо сделать выборку некоторых полей из таблицы БД «LIKP».

 Конечно, можно описывать новую структуру вручную, расписывая для каждого поля имя и его тип, но это довольно затратно и рутинно.

 В помощь программисту, SAP придумал такой инструмент как »ABAP TYPE Builder» — удобный для построения структур.

 Рассмотрим его на деле.

 1.       В редакторе пишем TYPES и с помощью сочетание горячих клавиш CTRL + пробел получаем такой выпадающий список:

7bd8b0633c4db5c09eb64d022fbc8fb3.png

2.       Далее с помощью сочетание горячих клавиш CTRL + SHIFT + Enter появляется окно »ABAP TYPE Builder».

92181b02ac16bdd4f552e420f8fcf99c.png

3.       В поле «Имя типа» вписываем имя таблицы LIKP и нажимаем кнопку «Preview TYPE».

d562dbbf497170984257d5038a05cc17.png

4.       Так как нам не нужны все поля таблицы LIKP, сначала снимаем все выбранные галочки.

4c21a6f23b3de44d57910d228fb88634.png

5.       А затем проставляем только необходимые.

d31866d06ef99a2bd78e311c4ef11477.png

6.       После отметки галочками нужных полей, выбранные поля автоматически появляются в нижней части экрана.

7.       Для удобства предусмотрен поиск полей по наименованию.

c95dee09c07f8104fe27a1715d791b36.png

8.       После того, как все необходимые поля выбраны, нажимаем кнопку ОК.

004b69d8994842fd958f4b18b8d8c21a.png

9.     В результате получаем вот такую описанную структуру, добавленную в редактор, причём даже с кратким описанием полей!

f3688c46fa7f78797735e4312d55df20.png

Вертикальное выделение

 Кроме горизонтального выделения кода, существует и вертикальное. К сожалению, многие про это не знают, а оно очень часто бывает полезно!

 Рассмотрим вертикальное выделение на практике. Предположим, добавили метку блока изменения кода с помощью образца кода.

6ce1f8dae4de458bc806d57b21ed3c20.png

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

 Два способа вертикального выделения:

1.       Зажимаем клавишу ALT и нажатием левой кнопки мыши выделяем прямоугольную область кода.

c4942e774721f4fa3bb61e015fcac452.png

2.       Зажимаем клавишу ALT + SHIFT + стрелочки (стрелка влево, вправо, вверх или вниз) и выделяем прямоугольную область кода.

 После выделения нажимаем клавишу с цифрой »2» и получаем лаконичную метку блока
изменения кода, которая, кстати, пропечаталась на обеих строках.

9ae526cbf7a14d8284f2259be4230cea.png

Расширенный буфер памяти

Каждый разработчик, да и консультант, использует в своей работе копипаст. И очень часто хотелось бы вставить текст, не только из последней операции копирования, но и из ранее скопированных. К сожалению, обычный буфер обмена хранит только последний скопированный текст.

 С приходом ОС Windows 10 появилась возможность вставки текста и картинок из последних 25 копирований в буфер.  

Для получения доступа к журналу буфера обмена необходимо нажать сочетание горячих клавиш Windows + V.

a075a4f52944ebe02267988cf173dbd5.png

Также можно воспользоваться расширенным буфером обмена ABAP редактора в SAPGUI, доступ к которому выполняется с помощью горячих клавиш CTRL + SHIFT + V.

К сожалению, он хранит только последние 12 копирований, и только тех данных, которые были скопированы в буфер из редактора ABAP.

d7d55d378bf8ca0cfe7ed6272795ee1c.png

Есть и альтернативы — программа Ditto и т.п.

1bade8c467966a036e69dfc4fdf3d32d.png

Ходовые горячие клавиши

 Как мы говорили выше, активное использование горячих клавиш повышает продуктивность работы на компьютере примерно на 4%, а то и выше.  

Использование горячих клавиш в редакторе кода ABAP SAPGUI значительно ускоряет работу программиста.  

Есть единственный способ выучить сочетания горячих клавиш —  начать пользоваться ими, всячески отвергая курсор мыши.  

Предлагаю вашему вниманию комбинации клавиш, наиболее часто используемых мной, которые не были описаны ранее:

Сочетания клавиш

Описание

Ctrl + K

Поменять регистр символов

Ctrl + L

Все символы — прописные

Ctrl + U

Все символы — заглавные

Ctrl + D

Дублировать строку

Shift + F1

Pretty Printer

Ctrl + F2

Проверка синтаксиса

Ctrl + F3

Активация объекта

Ctrl+F

Поиск

Ctrl+O

Перейти к строке

Ctrl + <

Закомментировать строку

Ctrl + >

Раскомментировать строку

Ctrl + пробел

Показать варианты дополнения кода

 На мой взгляд, эффективного разработчика опознать нетрудно, т.к. он почти не трогает курсор, выполняя 95% задач на ПК с помощью клавиатуры.

 Надеюсь, описанные мной приёмы будут взяты вами на вооружение и скорость написания кода увеличится, а время, затрачиваемое на рутинные операции, заметно сократится!

© Habrahabr.ru