Применение ИИ в разработке на ABAP

Сейчас ИИ это очень модная тема и вайб-кодинг в частности. Я решил пробовать использовать ИИ при программировании на Python или PHP в среде VSCode и в целом мне понравилось. Использовался Gemini и код освобождал от рутинные операций.

На мой взгляд VSCode не очень удобен для программирования на ABAP и я хотел попробовать другие инструменты. Недавно SAP проводил презентацию по использованию SAP Joule для программирования, но, насколько я понял, использование доступно только в SAP Cloud. Для on-premise систем нашел только инструменты в Eclipse.

Решил начать с Copilot. Для этого с Eclipse Marketplace установил GitHub Copilot. Для этого в меню Help выбираем Eclipse Marketplace и в строке поиска ввел Copilot. На сегодня была доступна версия 0.11.0

После установки и подключения в меню появилась возможность открывать чат

Для теста решил сделать программу, которая анализирует строку и возвращает результат. Создал новую программу и добавил на экран параметр P_KOSTL типа KOSTL. Далее я старался не править код программ, доверил все ИИ-помощнику.

Затем отправил промпт:

нужна проверка с помощью регулярного выражения. если p_kostl заканчивается на OS, то переменная lv_sel = 1. Если p_kostl заканчивается на PA, PY или VS, то lv_sel =2

Сначала он предлагал код на Java, но потом добился кода на ABAP

Был и другой вариант

Работоспособности которого я не добился. Какой-то момент он предложил вариант без ошибок, но желательного результата я добиться не смог

Далее решил остановиться на первом варианте программы, благо он работал корректно.

Новый промпт был следующим:

ок. вернул к этому варианту. оформи проверку p_kostl в виде метода класса lcl_main

ИИ вернул такой код:

И отдельно его применение

Это уже было неплохо. Добавим unit-test — по моему мнению, это наиболее перспективное применение

отлично. теперь сделай unit-test для полного покрытия класса lcl_main

На следующий промпт сделал уже неплохой вариант кода

сделай OS AD и UNKNOWN в виде публичных констант в классе lcl_main и используй их в тестах

В результате получился класс со покрытием тестами 100%.

В целом, на первый взгляд ИИ-помощника можно использовать для разработки на языке ABAP.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *