6 сентября 2016 г.

Как восстановить cofile из datafile транспортного запроса

Как вы прекрасно знаете, в SAP системе есть такая чудесная вещь, как транспортная система (Transport Management System или TMS), которая позволяет производить изменения (настройку и разработку) в одной SAP системе, а в последующем переносить изменения в другие системы. SAP системы с помощью транспортной системы объединяются в ландшафты. В ландшафты можно объединять системы одного типа и одной версии (рис. 1).

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

Юнит, в котором в SAP ландшафте переносятся изменения, называется транспортным запросом (Transport Request). Сразу после создания транспортный запрос находится в состоянии "Изменяемо" (Modifiable). А после окончания разработки и готовности импортировать изменения в целевые системы запрос необходимо деблокировать, то есть перевести его в статус "Деблокировано" (Released). Второй статус часто вызывает недоумение, но здесь, как мне кажется, виноват неудачный перевод. По английски он звучит "Released", то есть готовый к импорту в другую систему, а по русски "Деблокировано". Мне кажется, что русское название статуса идёт от того факта, что с объектов, которые лежали в запросе сняли блокировку. Блокировка программ и других объектов ABAP-словаря нужна для того, чтобы исключить одновременное внесение изменений разными программистами в один объект.

Напомню, что один небольшой хинт про статусы запросов я описывал в этом посте.

Стоит учесть, что пока транспортный запрос находится в состоянии "Изменяемо", физически никакие объекты никуда не выгружены и существуют только в исходной SAP системе. Чаще всего это система разработки (DEV). А в запросе хранятся лишь ссылки на данные объекты. И только во время процесса "Деблокирования" или "Releasing" происходит выгрузка объектов, в их текущих версиях, в файлы транспортного запроса. Транспортный запрос представляет собой два файла (рис. 2):
  • контрольный файл в директории /usr/sap/trans/cofiles,
  • дата-файл в директории /usr/sap/trans/data.

Рис. 2. Файлы транспортного запроса.

Контрольный файл или cofile содержит информацию об объектах транспортного запроса, шаги импорта, которые необходимо будет выполнить и т.п. Дата файл содержит экспорт данных из базы данных.

На уровне операционной системы сервера работу транспортной системы обеспечивает утилита tp.

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

Формат команды восстановления следующий:
tp createcofile <транспортный запрос> pf=<path_to_tp_profile> -s <SAP SID>

Пример выполнения на рисунке 3.

Рис. 3. Восстановление контрольного файла из дата файла транспортного запроса.

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

Про транспортную директорию можно найти информацию тут.

Научиться настривать транспортную систему можно в последнем пакете моего обучающего курса.


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


Комментариев нет:

Отправить комментарий