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

Как уже стало ясно, речь далее пойдет про термин "контроль версий" (version control), который часто встречается при разработке программного обеспечения, сложных веб-порталов, а также других массивов структурированных данных, для которых важным критерием является сохранение версионности, ну или быстрый поиск ответа на вопросы "кто все испортил", и "как откатиться на предыдущую версию".

См. Version control

A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the "revision number", "revision level", or simply "revision". For example, an initial set of files is "revision 1". When the first change is made, the resulting set is "revision 2", and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.

В системе SAP есть встроенный механизм отслеживания изменений, применяемый в ABAP разработке.

С чего начинается контроль версий?

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

Рисунок 1.

Выберите в контекстном меню Utilities -> Versions -> Version Management

Рисунок 2.

Под двумя версиями программы подразумевается:

  • Активная версия (activ) - исходный код вашей программы пустой, за исключением строки REPORT имя_программы;
  • Корректируемая версия (modif) - версия программы, которая будет наполняться вашими корректировками. Данная версия становится активной сразу после генерации вновь внесенных изменений
    Стоит вам дополнить программу хотя бы одной строкой, и выполнить сохранение, изменения будут записаны в корректируемую (modif) версию программы. Допустим, изменения носят косметический характер

Рисунок 3.

На следующем видеофрагменте представлена следующая последовательность действий:

  • Просмотр двух сгенерированных версий новой программы;
  • Сравнение двух версий новой программы;

Стоит активировать изменения в программе, как версия (modif) перекочевывает в активную (activ).

О чем не мешало бы помнить?

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

Например, у вас есть все та же программа с активной версией изменений (см. предыдущий видеофрагмент). Прежде чем вносить изменения в исходный код программы, создайте ее новую версию, выбрав в контекстном меню Utilities -> Versions -> Generate Version

В новую версию вы вносите свои изменения, выполняете активацию. Теперь активной является вновь созданная версия программы.

Что дает создание новой версии программы?

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

Ну и напоследок...

Если вдруг какой-то несносный кю решил удалить программу, и сделал это не качественно, у вас есть возможность выполнить ее восстановление. На следующем видеофрагменте представлена соответствующая последовательность действий

Справочные материалы

См. Version Management of Repository Objects