В этой заметке я рассмотрю пример внесения корректировок в селекционный экран ABAP-программы для которой была создана транзакция, допустим, с системным вариантом. После такого изменения и запуска транзакции с вариантом, может случиться небольшой конфуз, который, впрочем, легко устраним. Тема сегодняшнего урока: корректировка варианта транзакции после внесения изменений в программу.

Постановка вопроса. Исходные данные

Вы, вам или до вас была создана ABAP-программа, предположим, наполненная следующим содержимым

Рисунок 1.

Для данной программы определена транзакция, и системный вариант ее запуска

См. Maintaining Transactions

См. Creating Variants

Рисунок 2.

По поступившему запросу вы/вам/за вас выполнили изменение типа данных для одного из параметров программы.

Рисунок 3.

Выполняю повторный запуск транзакции с системным вариантом, и получаю сообщение об ошибке вида Variant CUS&VAR of program Z_DEMO_ADJUST_VAR_1 is not the current version

Что произошло?

Системный вариант был создан для устаревшей версии программы, о чем довольно подробно говорит детальное описание возникшей ошибки

Рисунок 4.

Исправление ошибки запуска транзакции

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

  • Наименование ABAP-программы, в которую были внесены изменения (S_REPORT)
  • Наименование варианта транзакции (S_VARI)
  • Если вариант был системным, активируйте флаг (SYSVAR = X)

Рисунок 5.

Пробуйте повторно выполнить запуск транзакции.

Доп. информация по теме

За более подробной информацией, обращайтесь к SAP Note 1953229 - Summary - Rescue obsolete variants after the upgrade

Рисунок 6.

Вы сегодня особенно хорошо смотритесь! Жму руку, ignatov.