Управление исходным кодом ABAP в системе контроля версий

В настоящее время наш продукт охватывает большое количество технологий, включая Java, PL / SQL, VB.Net и ABAP. У нас есть довольно зрелая система управления версиями и сборки, настроенная для всех языков, кроме ABAP, который все еще находится в каменном веке. Поскольку в SAP настроена система сборки, наши инженеры выполняют всю разработку в среде SAP, экспортируют транспорты и проверяют те в системе управления версиями. Поскольку мы поддерживаем несколько версий SAP, становится очень сложно отслеживать версии и переносить код на 4.6, 4.7, 5.0 и т. Д.

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

Если вы управляете кодом ABAP в системе управления версиями, как выглядит ваш процесс? Доступны ли инструменты (желательно из командной строки) для загрузки кода ABAP в SAP? Как ваши инженеры управляют циклом кода / тестирования / отладки? Они кодируют в SAP, а затем экспортируют код по завершении или редактируют во внешнем редакторе?


person John Stauffer    schedule 01.12.2008    source источник


Ответы (6)


Для этой цели я использовал SAPLINK (упомянутый в предыдущем ответе). Также существует связанный проект под названием «zake», который якобы может автоматизировать некоторые задачи, но я никогда его не использовал. Я просто экспортировал свой код вручную в так называемые слинки (они содержат отдельные объекты, такие как группы функций; самородки, с другой стороны, содержат несколько объектов).

Причины использования внешней системы контроля версий:

  • корреляция с исходным кодом non-abap (поскольку наше программное обеспечение состояло из кода .net и abap)
  • хостинг / поддержка SAP - это не то, в чем мы были особенно хороши, поэтому было хорошо знать, что у вас есть код в надежном месте

одно но: вам нужен как минимум WAS 620, чтобы использовать saplink

person Stefan Egli    schedule 06.07.2009

Мне интересно, в чем преимущество контроля версий за пределами стека ABAP системы SAP.

Я никогда не видел, чтобы кто-нибудь использовал внешний контроль исходного кода для ABAP, поскольку он встроен прямо в систему. Я также никогда не видел, чтобы кто-то кодировал ABAP вне системы SAP. Это действительно не подходит под модель.

Стек SAP ABAP - это единственная системная среда разработки. Все разработчики входят в одну систему и развиваются там. Система автоматически записывает версии и группирует измененные объекты в транспорты. Транспорт - это просто список измененных объектов. После экспорта транспорта номера версий увеличиваются для каждого объекта, и вы получаете пакет для других систем.

Стек ABAP также не имеет концепции «сборки» как таковой. Все, что вы делаете, - это патч.

person Dom    schedule 04.12.2008
comment
Мы должны поддерживать несколько версий SAP (4.6C, 4.7, 6.0 и т. Д.). Наш текущий способ сделать это - разработать одну версию, экспортировать код, а затем вручную объединить его с другими версиями. Кроме того, код ABAP соответствует коду вне SAP, который должен быть разветвленным и версионным. - person John Stauffer; 07.01.2009

Также ознакомьтесь с SAP CTS +, который используется для управления транспортом и контроля версий компонентов на основе ABAP и JAVA.

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0249083-c0ab-2a10-78b8-b7a7854b1070

person Techboy    schedule 18.12.2008

По крайней мере, модификации должны быть выполнены и протестированы в системе разработки SAP. Никто не использует внешний редактор с ABAP. (SAP Java, с другой стороны ...) Нет причин, по которым вы не можете хранить резервные копии кода SAP ни напрямую, в виде текстовых файлов, ни (предпочтительно) с помощью SAPLink или файлов транспортного дампа. (Спросите своих сотрудников BASIS о транспортных файлах). Поймите, что если вы пойдете по маршруту текстового файла, вы можете пропустить такие вещи, как текст поля и т. Д., Которые хранятся в другом месте в базе данных.

person Noah    schedule 08.02.2010

Hy,

Как сказал вам Дом, в SAP есть собственное управление версиями. Однако для регулярного сохранения между выпуском транспорта вы можете использовать такие инструменты, как:

эти инструменты можно использовать для извлечения компонентов ABAP в XML. Я действительно не советую делать автоматический импорт в SAP по многим причинам: # эти инструменты не имеют гарантий # не все компоненты ABAP можно обрабатывать таким образом # вы потеряете гарантию SAP, если сделаете это в продуктивной системе SAP

Но может быть интересно использовать такие инструменты, как (код Google) для подробного отображения изменений программного обеспечения, которые могут быть более сложными для объекта ABAP.

Я разработал это на платформе ZAP Link с программой ZAPLINK_EXTRACTOR, которая экспортирует компоненты SAP в XML, когда они изменились. Это предотвращает изменение файла XML (новый файл, но с тем же содержимым) и его обнаружение такими инструментами, как mercurial, как изменение.

Надеюсь, это поможет.

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

Тарик. [http://www.steria.com Steria (Франция)]

person Community    schedule 23.01.2010

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

person konstantin    schedule 13.10.2020