Время чтения ~3 мин.
Получать удовольствие от работы — это важно.
Если вы пишите код, то безусловно важно в какой среде разработки вы его пишите.
До недавнего времени вести разработку на ABAP можно было либо в SAP ABAP Workbench, либо в Eclipse, предварительно установив ADT.
Недавно появилась возможность писать код в Visual Studio Code. О том, какие настройки для этого необходимо выполнить и будет этот пост.
Основные этапы настройки SAP AS ABAP и VS Code описаны здесь. Для тех, кому больше нравится видео формат процесс настройки доступен тут.
Казалось бы, на этом можно завершить пост, но, некоторые важные моменты в источниках указанных выше не рассмотрены. Поэтому, рассмотрим их ниже.
Обратите внимание, что все рассмотренные здесь настройки относящиеся к SAP, я выполнял на своем локальном SAP ABAP сервере. Не выполняйте их самостоятельно без ведома администратора в любой другой системе.
Итак, «поднимем» свой ABAP сервер. Для начала, рекомендую поискать в сети образ виртуальной машины с уже установленным ABAP сервером. Это существенно упростит вам жизнь.
Если готовый образ найти не получится, вам необходимо будет пройти все шаги установки самому. Начать можно с этой статьи. Я этого не делал, т.к. использовал уже готовый образ виртуальной машины, но в двух словах вам потребуется:
- Платформа виртуализации. Подойдет VirtualBox или VM Ware.
- Операционная система OpenSUSE Leap.
- ABAP сервер.
Надеюсь, у вас все получилось и вы теперь можете подключиться к своему ABAP серверу через, например, SAP Logon. Теперь самое время настроить его для работы с VS Code.
Настройка SAP AS ABAP
- Перейдите в транзакцию SICF и убедитесь, что сервис ADT_SRV активирован. Если нет — активируйте его. После активации выполните тест, как показано на рисунке ниже:
При успешном выполнении теста в браузере вы увидите примерно следующее:
Если вместо XML вы видите какую-либо ошибку выполните шаги ниже:
- 1. Зайдите в настройки сети VirtualBox и проверьте тип подключения.
Если тип подключения «Сетевой мост», то скорее всего, вам нужно только добавить запись в hosts файл. В Windows он находится здесь:
C:\Windows\System32\drivers\etc
Откройте файл в режиме администратора и добавьте строку:
Первый параметр это IP, который вы указываете в параметрах подключения SAP Logon.
Второй параметр это имя хоста. Его можно узнать, например, используя команду hostname в терминале вашей виртуальной машины:
Снова попробуйте выполнить тест сервиса ADT_SRV. Если тест прошел успешно — сервер настроен. Если нет, настраиваем дальше.
1.2. При типе подключения NAT, кроме добавления записи в файл hosts вам необходимо выполнить настройку проброса портов:
Мне это не понадобилось, но выглядит это примерно так (скриншот из инструкции SAP):
В SICF необходимо перейти в меню Client->Proxy Settings->HTTP Protocl и заполнить поля Host Name и Port.
Как узнать имя хоста мы уже выяснили, а какой прописать порт можно узнать из адреса в браузере во время теста сервиса ADT_SRV.
В случае, если после всего этого во время тестирования сервиса ADT_SRV по прежнему возникает ошибка, убедитесь, что активирован SAP Gateway в SPRO:
Также, в транзакции SMICM проверьте, что напротив протокола HTTP и порта 8000 стоит галочка:
Этого должно быть достаточно. Если нет, то похоже, что вам нужно написать свою инструкцию по настройке :).
Настройка VS Code
- Скачайте и установите VS Code.
- Установите необходимые плагины:
3. Перейдите в раздел настроек:
Выберите ABAP-FS configuration -> Edit in settings.json:
Добавьте в файл следующую конфигурацию (скопировать ее можно здесь):
Запустите ваш ABAP сервер и пробуйте подключиться. Для этого нажмите F1 или Fn + F1 и выберите AbapFs Connect to ABAP system:
После этого вы подключитесь к своей системе:
Ура!
Итоги
На сегодняшний день речи о полноценной разработке на ABAP в VS Code не идет. Отсутствует большое количество функционала, и проще сказать что уже можно делать, чем то, чего нельзя. Например отсутствует тот же отладчик. Однако, если вы хотите просто писать код, то это уже возможно.
UPD: Стал доступен отладчик для Linux.
Будем следить за проектом и посмотрим что будет дальше.
Подробнее функциональных возможностях ABAP плагина для VS Code можно почитать тут.
На этом все, пока!