В корректно настроенной транспортной системе (TMS) всё работает как часы:
- При деблокировании (Released) транспортного запроса в системе разработки на уровне файловой системы сервера создаются файлы с данными.
- Транспортный запрос автоматически, в зависимости от настроек путей переноса, попадает в очередь одной или нескольких целевых систем.
- После импорта запроса в целевую систему, запрос автоматически попадает в очередь следующей системы (обычно продуктивной), опять же, в зависимости от настроек путей переноса.
Про транспортный запрос я писал недавно
тут.
Но иногда бывают ситуации, когда необходимо добавить запрос в очередь транспортной системы вручную. Например, данный запрос был принесен извне: из другой системы, которая по территориально-географическим или организационно-политическим причинам не может быть связана транспортной системой с целевой, либо транспортный запрос рекомендован к импорту в систему нотой или службой поддержки SAP. Или даже, разработчик создал запрос в своей локальной системе разработки или на другом проекте и хочет импортировать в текущую систему. Так же можно возвращать удаленные из очереди запросы.
Как
вы уже знаете, транспортный запрос представляет собой два файла:
- контрольный файл вида K9<номер_запроса>.<SID> в директории /usr/sap/trans/cofiles,
- дата-файл вида R9<номер_запроса>.<SID> в директории /usr/sap/trans/data.
Перед добавлением транспортного запроса в очередь целевой системы необходимо скопировать файлы запроса на уровень файловой системы сервера приложений. Файлы раскладываем согласно их назначения (директории cofiles и data). На Unix-like системах не забываем выставить необходимые полномочия/владельца файлов (команды chmod, chown).
После этого переходим в транзакции STMS в очередь необходимой системы. Выбираем пункт меню "Дополнительная информация -> Другие запросы -> Добавить" и указываем имя запроса по форме <SID>K9<номер_запроса> (рис. 1, 2 и 3).
|
Рис. 1. Добавление запроса в очередь на перенос - I. |
|
Рис. 2. Добавление запроса в очередь на перенос - II. |
|
Рис. 3. Добавление запроса в очередь на перенос - III. |
После этого запрос будет в очереди и появится возможность импорта его в текущую систему.
Стоит отметить, что технически очередь транспортной системы представляет собой плоский файл с именем
<SID>, который находится в директории
/usr/sap/trans/buffer. При обновлении очереди в транзакции STMS происходит анализ этого файла на предмет новых записей о запросах в очереди. Новые записи добавляются в таблицу
TMSBUFREQ в базе данных (рис. 4 и 5).
|
Рис. 4. Пример файла буфера транспортной системы. |
|
Рис. 5. Пример таблицы TMSBUFREQ. |
Причем, те запросы, что удаляются из очереди на перенос, остаются в файле в виде строки со знаком комментария (#) (рис. 4).
Запрос в очередь импорта можно добавить и на уровне командной строки сервера приложений, что удобнее при большом количестве добавляемых запросов. Формат команды:
> tp addtobuffer <transport_number> <SID> pf=/usr/sap/trans/bin/<transport profile>
Пример выполнения (рис. 6).
|
Рис. 6. Пример добавления транспортного запроса в буфер через командную строку. |
Для того, чтобы таблица TMSBUFREQ, а с ним и экран транзакции STMS, обновлялись автоматически, можно настроить автообновление. Для этого в транзакции STMS перейти в пункт меню "Дополнительная информация -> Личные параметры настройки" и установить check-box "Автомат. обновить просмотр" (рис. 7 и 8).
|
Рис. 7. Установка личных параметров настройки в STMS. |
|
Рис. 8. Настройка автоматического обновления в STMS. |
Если у вас в настройках транспортной системы в качестве целевой системы используется система с указанием целевого манданта, то при добавлении запроса в очередь не забывайте указывать мандант. Иначе система заблокирует очередь и не даст импортировать запросы (рис. 9).
|
Рис. 9. Запрос без указания целевого манданта. |
Настройку и нюансы работы с транспортной системой в SAP можно найти в курсе
SAP ADM325 - Software Logistics.
Автор:
Шиболов Вячеслав Анатольевич
Для указания целевого манданта можно использовать параметр CLIENT для tp. Например "client=300" Тогда не нужно будет явно указывать в ABAP-ной части.
ОтветитьУдалитьДа, не учёл этот параметр. Спасибо большое за комментарий.
Удалить