Время чтения ~3 мин.

Получать удовольствие от работы — это важно.

Если вы пишите код, то безусловно важно в какой среде разработки вы его пишите.

До недавнего времени вести разработку на ABAP можно было либо в SAP ABAP Workbench, либо в Eclipse, предварительно установив ADT.

Недавно появилась возможность писать код в Visual Studio Code. О том, какие настройки для этого необходимо выполнить и будет этот пост.

Основные этапы настройки SAP AS ABAP и VS Code описаны здесь. Для тех, кому больше нравится видео формат процесс настройки доступен тут.

Казалось бы, на этом можно завершить пост, но, некоторые важные моменты в источниках указанных выше не рассмотрены. Поэтому, рассмотрим их ниже.

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

Итак, «поднимем» свой ABAP сервер. Для начала, рекомендую поискать в сети образ виртуальной машины с уже установленным ABAP сервером. Это существенно упростит вам жизнь.

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

  1. Платформа виртуализации. Подойдет VirtualBox или VM Ware.
  2. Операционная система OpenSUSE Leap.
  3. ABAP сервер.

Надеюсь, у вас все получилось и вы теперь можете подключиться к своему ABAP серверу через, например, SAP Logon. Теперь самое время настроить его для работы с VS Code.

Настройка SAP AS ABAP

  1. Перейдите в транзакцию SICF и убедитесь, что сервис ADT_SRV активирован. Если нет — активируйте его. После активации выполните тест, как показано на рисунке ниже:
SICF. Test Service

При успешном выполнении теста в браузере вы увидите примерно следующее:

XML-ка

Если вместо XML вы видите какую-либо ошибку выполните шаги ниже:

  1. 1. Зайдите в настройки сети VirtualBox и проверьте тип подключения.
Настройки сети VirtualBox

Если тип подключения «Сетевой мост», то скорее всего, вам нужно только добавить запись в hosts файл. В Windows он находится здесь:

C:\Windows\System32\drivers\etc

Откройте файл в режиме администратора и добавьте строку:

hosts файл

Первый параметр это IP, который вы указываете в параметрах подключения SAP Logon.

Второй параметр это имя хоста. Его можно узнать, например, используя команду hostname в терминале вашей виртуальной машины:

hostname

Снова попробуйте выполнить тест сервиса ADT_SRV. Если тест прошел успешно — сервер настроен. Если нет, настраиваем дальше.

1.2. При типе подключения NAT, кроме добавления записи в файл hosts вам необходимо выполнить настройку проброса портов:

Проброс портов 1

Мне это не понадобилось, но выглядит это примерно так (скриншот из инструкции SAP):

Проброс портов

В SICF необходимо перейти в меню Client->Proxy Settings->HTTP Protocl и заполнить поля Host Name и Port.

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

hostname and port
Proxy Settings
HTTP protocol

В случае, если после всего этого во время тестирования сервиса ADT_SRV по прежнему возникает ошибка, убедитесь, что активирован SAP Gateway в SPRO:

tcode SPRO

Также, в транзакции SMICM проверьте, что напротив протокола HTTP и порта 8000 стоит галочка:

tcode SMICM

Этого должно быть достаточно. Если нет, то похоже, что вам нужно написать свою инструкцию по настройке :).

Настройка VS Code

  1. Скачайте и установите VS Code.
  2. Установите необходимые плагины:

3. Перейдите в раздел настроек:

VS Code settings

Выберите ABAP-FS configuration -> Edit in settings.json:

Edit in settings.json

Добавьте в файл следующую конфигурацию (скопировать ее можно здесь):

Settings.json

Запустите ваш ABAP сервер и пробуйте подключиться. Для этого нажмите F1 или Fn + F1 и выберите AbapFs Connect to ABAP system:

AbapFs Connect

После этого вы подключитесь к своей системе:

VS Code. Abap

Ура!

Итоги

На сегодняшний день речи о полноценной разработке на ABAP в VS Code не идет. Отсутствует большое количество функционала, и проще сказать что уже можно делать, чем то, чего нельзя. Например отсутствует тот же отладчик. Однако, если вы хотите просто писать код, то это уже возможно.

UPD: Стал доступен отладчик для Linux.

Будем следить за проектом и посмотрим что будет дальше.

Подробнее функциональных возможностях ABAP плагина для VS Code можно почитать тут.

На этом все, пока!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.