Иногда бывает необходимо решить задачу по переносу записей одной или нескольких таблиц из одной SAP системы в другую.
Как вы уже знаете, и в
некоторых постах я упоминал про это, SAP системы объединяются в транспортные ландшафты, а транспортная система (
TMS) позволяет осуществлять переносы (прежде всего настроек и разработок) между системами. Единицами переносов являются транспортные запросы, которые бывают двух основных типов:
- запрос на настройку (customizing request),
- запрос инструментальных средств (workbench request).
Как вы уже наверное догадались, для решения нашей задачи нам необходимо включить записи таблицы в транспортный запрос, а именно в
запрос инструментальных средств.
Для этого входим в транзакцию
SE10 (SE09 или SE01, кому что нравится) и создаем новый запрос, выбрав пункт меню "Запрос/Задача -> Создать". Выбираем нужный тип транспортного запроса (рис. 1).
|
Рис. 1. Создание запроса инструментальных средств. |
Создаем описание для запроса и сохраняем. Обратите внимание, что задачу можно не создавать (рис. 2).
|
Рис. 2. Описание запроса инструментальных средств. |
После этого необходимо встать на номер созданного запроса и нажать кнопку "Просмотр списка объектов" (рис. 3).
|
Рис. 3. Просмотр содержимого транспортного запроса. |
На следующем экране необходимо перейти в режим редактирования и нажать на панели кнопку "Вставить строку" (рис. 4).
|
Рис. 4. Добавление объектов в транспортный запрос. |
Теперь необходимо вписать строку вида:
R3TR:TABU:<table_name>. Здесь
TABU - это тип объекта, обозначающий содержимое таблицы (рис. 5).
|
Рис. 5. Добавление записей таблицы в запрос на перенос. |
Если вы добавляете таблицу с данными, то есть типа "А", то система выдаст предупреждение (рис. 6).
|
Рис. 6. Предупреждение при включении записей таблицы в запрос на перенос. |
Чтобы его проигнорировать, необходимо на клавиатуре нажать клавишу "Enter".
После этого следует определить ключ SQL-запроса, по которому будут выбраны записи таблицы для переноса. Для этого необходимо дважды щелкнуть левой клавишей мыши на добавленную запись с таблицей. Для добавления ключа на следующем экране необходимо нажать кнопку "Вставить строку" (рис. 7).
|
Рис. 7. Добавления ключа для выбора записей таблицы в транспортный запрос. |
Для просмотра ключевых полей таблицы можно дважды щелкнуть левой клавишей мыши на строку с ключом (рис. 8).
|
Рис. 8. Просмотр списка ключевых полей таблицы. |
Можно задать SQL-запрос, заполнив все поля, можно использовать знак "*", но есть одно условие: ставить его можно только в конце запроса. В данном примере, можно задать запросы вида:
- "*" - включить все записи всех мандантов,
- "300*" - включить записи только манданта 300,
- "30010000001*" - включить записи из манданта 300 для табельного номера 10000001,
- и т.д.
Я думаю, что основная идея понятна.
Итак, задать ключ, после чего нажать кнопку "Сохранить" (рис. 9).
|
Рис. 9. Сохранение ключа для выборки записей таблицы. |
Есть возможность просмотреть какие записи будут включены в запрос на перенос, если использовать тот ключ, который был задан. Для этого в экране с отображением ключа необходимо выбрать пункт меню "Перейти к -> Просмотр содержимого таблицы -> Определено через ключ" (рис. 10).
|
Рис. 10. Просмотр содержимого таблицы, определенного через ключ. |
Если все в порядке, то сохранить ключ и запись о таблице. В один запрос можно добавить в несколько таблиц и для каждой определить несколько ключей для выборки. Выйти на экран отображения информации о запросе и деблокировать его, выделив курсором мыши и нажав соответствующую кнопку на панели (рис. 11).
|
Рис. 11. Деблокирование запроса с записями таблицы. |
Чем больше записей таблицы или таблиц включены в запрос, тем дольше будет процесс деблокирования и тем больше будет дата-файл транспортного запроса.
При переносе нескольких, выбранных записей эти записи просто добавляются/модифицируются в целевой системе. Однако SAP система предупреждает, что если переносить все записи с ключом "*", то в целевой системе все записи будут удалены, даже те, которых нет в исходной системе. То есть таблица будет предварительно очищена. Поэтому в данном случае, для ускорения процесса импорта рекомендую, с большой осторожностью, воспользоваться транзакцией
SE14, о которой я писал в
одноименном посте.
Автор:
Шиболов Вячеслав Анатольевич
Оооо спасибо )) как-то задавался таким вопросом
ОтветитьУдалитьВячеслав, а как вы выгружаете данные из продуктивной системы?
ОтветитьУдалитьДобрый день!
УдалитьСмотря какая цель для выгрузки данных. Можно пользоваться выгрузкой на уровне таблиц. Как указано в этом посте. Можно через копирование манданта. А можно и разворачивать тестовую систему, например, из резервной копии продуктивной системы.
Интересует выгрузка на уровне таблиц
ОтветитьУдалитьЧерез экспорт/импорт (R3trans) можно сделать. Читайте ноту 1942...
ОтветитьУдалитьСпасибо за подсказку.
Удалить