Показаны сообщения с ярлыком E070L. Показать все сообщения
Показаны сообщения с ярлыком E070L. Показать все сообщения

29 апреля 2016 г.

Хватит ли номеров для транспортных запросов?

При введении в эксплуатацию любого сложного программного продукта требуется его настройка и доработка под текущего пользователя (заказчика). Причем, чем сложнее программное обеспечение, тем больше требуется внести изменений для успешного внедрения его в инфраструктуру предприятия. Часто программные продукты предоставляют инструментарий для донастройки системы. Это может быть утилита, позволяющая провести настройку параметров системы, или среда разработки, которая использует тот или иной язык программирования для написания необходимых модулей и функций.

SAP система не исключение. Для изменений объектов репозитария и настроек используется система разработки (DEV), для тестирования - система контроля качества (QAS), а после тестирования изменения переносятся в систему промышленной эксплуатации или продуктивную систему (PRD). Типичный ландшафт представлен на рисунке 1.

Рис. 1. Типовой транспортный ландшафт SAP системы. 

Для переноса изменений между системами используются транспортные запросы. Их можно сравнить с патчами, которые содержат новые версии программ, записи таблиц или другие объекты. Транспортные запросы генерируются в системе разработки, по мере готовности они деблокируются (release) и переносятся или импортируются, сначала в тестовую систему, а затем в систему промышленной эксплуатации. 

Для импорта запросов используется транзакция STMS. Запросы импортируются по одному или очередями. 

Каждый транспортный запрос имеет свой уникальный идентификатор или номер, вида:

<SID>K9<номер запроса>

Интервалы номеров запросов имеют длину 5 символов и изменяются от '00001' до '99999'. 
Как я уже упоминал в посте "Решение проблем с транспортной системой", текущий номер запроса хранится в таблице E070L. Новый присваивается путём увеличения текущего на единицу.

На проектах, которые существуют давно и активно разрабатываются, высока вероятность достижения максимального номера, равного '99999'. Многие переживают, что дальше всё остановится. Спешу развеять опасения. :) Дальше автоматически будут использованы буквы латинского алфавита. Для расширения используются диапазоны от 'A0000' до 'ZZZZZ' или от 'AAAAA' до 'Z9999' (рис. 2). В результате, существует порядка 40 миллионов номеров для транспортных запросов.  

Рис. 2. Пример расширенной нумерации транспортных запросов.

Так же можно использовать отчет RSWBO301, который находит свободные непрерывные интервалы выбранной длины. Например, вводим длину 5000 и получаем интервал, который можно использовать (рис. 3 и 4) - с '74262' до '79261'. При этом в данном примере последний активный номер в системе уже '9A00FY'. 

Рис. 3. Пример использования программы RSWBO301.

Рис. 4. Результаты работы отчета RSWBO301.

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

Самостоятельно поменять номер текущего запроса в таблице E070L можно собственной ABAP-программой, через уровень базы данных или через режим отладки (хинт).

Подробности можно найти в SAP нотах:


23 июля 2009 г.

Решение проблем с транспортной системой


Самое гениальное, что есть в системе SAP и что кочует практически неизменным из версии в версию, это транспортная система (TMS). И действительно, зачем менять прозрачный и отлаженный механизм? :)
Но время от времени и в такой идеальной системе возникают проблемы. Как у меня сегодня утром. Перестали импортироваться запросы в тестовую систему. Перелопатил всё что можно, пока докопался до причины. Решил написать памятку для коллег. И так,
  • Транзакция STMS. Входите в очередь нужной системы и там изучаете пункты меню "Перейти к". Особенно пункты "Монитор импорта" и системный журнал программы tp.
  • Таблица E070L. Содержит номер последнего запроса в системе. Можно сделать скачок в будущее :) Подробности в SAP Note # 12799.
  • Таблица TMSTLOCKR. Хранит блокировки импортируемых в данный момент запросов.
  • Таблицы TRBAT и TRJOB. Временные записи во время импорта.
  • Фоновые задания RDDIMPDP. Смотреть выполняются или нет, почему. Планирование заданием RDDNEWPP в 000 манданте. Подробности в SAP Note # 26966.
  • На уровне ОС файловая система /usr/sap/trans и поддиректории. Полномочия, права, свободное место.
  • Процессы tp на уровне ОС.
Есть хороший курс по транспортной системе (TMS) - ADM325. Рекомендуется минимум прочитать самостоятельно.

P.S. А моя проблема была в старой записи в табличке TRJOB. Кстати, очистить такую рабочую табличку от всех записей можно через транзакцию SE14. Вписываете имя объекта. Нажимаете кнопку "Edit" и, выбрав "Delete data", жмёте "Activate and adjust database". Опля! И табличка пустая.


Автор: Шиболов Вячеслав Анатольевич