Транзакция LSMW инструкция по применению. Часть 5
В этой книге приводятся практические решения задач с использованием транзакции
LSMW для загрузки данных на основе методов Batch Input, BAPI и
Direct Input. Примеры базируются на бизнес-сценарии миграции данных.
Загрузка классификации ОЗМ методом Direct Input в транзакции LSMW
Продолжение книги.
Часть 1 Часть 2 Часть 3 Часть 4
В этой главе описано эффективное использование метода Direct Input на примере загрузки классификации основной записи материала. Классификация будет загружена к ОЗМ, созданным ранее. В основе Direct Input лежит использование уже подготовленной стандартной ABAP-программы для загрузки информации по объекту. Преимущество метода заключается в том, что не нужно делать запись и излишние подготовительные работы: достаточно сделать мэппинг структур. Кроме того, метод обладает явной возможностью делать загрузку как в онлайн-режиме, так и фоновом. К недостаткам этого метода можно отнести проблемы при использовании логических и физических файлов. В решении бизнес-задачи мы находимся на этапе загрузки классификации к ОЗМ (рис. 3.1).
Рис. 3.1. Задача загрузки классификации в общей схеме задач миграции
Здесь будет показана загрузка классификации методом Direct Input. Будет продемонстрирована загрузка по одному из двух полей: по внутреннему номеру материала и по старому номеру основной записи материала. В случае если внутренний номер материала не указан явно, загрузчик будет пытаться найти внутренний номер на основе старого номера материала. Это будет достигаться с помощью инициации дополнительного ABAP-кода.
3.1. Операционные условия
Задача: требуется присвоить/создать классификацию для набора материалов. По обработанным записям в дальнейшем нужно будет загрузить остатки. Номер материала на входе может быть либо внутренним, либо старым (поле Old Material Number). Если номер материала не определен (или определен неоднозначно), такую запись необходимо пропустить и выдать об этом информацию (текст на экран). Всем материалам присвоить классификацию 023_Standard. Загружается исключительно ракурс классификации (Classification). В таблице ниже приведены поля для загрузки (таблица 3.1). На предварительном шаге: пройдемся вручную (через MM01 или транзакцию MM02, если ракурс классификации уже создан) и пропишем классификацию материала.
Табл. 3.1. Поля для загрузки
3.2. Практическое решение задачи
Предварительный этап
Запустим транзакцию MM01 (или транзакцию MM02, если ракурс классификации уже создан) и заполним поля, представленные на рис. 3.2. Затем укажем вид класса 023 (рис. 3.3).
Рис. 3.2. Выбор ракурса классификации в ОЗМ
Рис. 3.3. Выбор вида класса в ракурсе классификации
Укажем класс 023_Standard и нажмем Enter (рис. 3.4); затем сохраним основную запись материала (рис. 3.5).
Рис. 3.4. Указываем класс в ракурсе классификации
Рис. 3.5. После указания класса система подтянет перечень признаков к классу
Сохраняем данные и выходим. Так как мы создавали ракурс, то система выдаст соответствующее сообщение о создании записи (либо об изменении, если использовалась транзакция MM02) (рис. 3.6).
Рис. 3.6. Сообщение об успешном сохранении ракурса классификации
3.3. Пошаговое решение
Шаг 1: создание/выбор проекта, подпроекта и объекта
Для создания нового проекта транзакции LSMW будем использовать данные из таблицы 3.2.
Табл. 3.2. Данные для создания объекта LSMW для загрузки классификации
После указания данных подтверждаем ввод и запускаем проект. Система откроет перед нами основное меню транзакции LSMW (рис. 3.7).
Рис. 3.7. Указываем данные для создания объекта в транзакции LSMW
Шаг 2: параметры метода загрузки: выбор объекта и метода Direct Input
Дважды щелкаем по пункту меню Maintain Object Attributes (рис. 3.8).
Рис. 3.8. Переход к атрибутам объекта LSMW
В качестве объекта выбираем 0130 (classification), метод — 0002 (Direct Input) (рис. 3.9). Сохраняем и выходим к списку шагов, чтобы перейти к следующему шагу.
Рис. 3.9. Указываем атрибуты объекта LSMW
Шаг 3: создание структуры источника [данных]
Дважды щелкаем по пункту Maintain Source Structures (рис. 3.10). Создаем структуру: указываем ID и описание. Затем сохраняем и выходим, чтобы перейти к следующему шагу (рис. 3.11).
Рис. 3.10. Переходим к созданию структуры источника данных
Рис. 3.11. Указываем ID структуры и описание
Шаг 4: ведение полей структуры источника [данных]
Щелкаем дважды по пункту Maintain Source Fields (рис. 3.12). Ставим курсор на структуру ZMATCLAS (Ракурс классификации материалов) и нажимаем на кнопку Table Maintenance (рис. 3.13). Введенные данные представлены в таблице 3.3 (рис. 3.14).
Рис. 3.12. Переход к ведению полей структуры источника данных
Рис. 3.13. Переход к табличному ведению полей структуры-источника
Рис. 3.14. Перечисляем поля с типом данных и длиной
Табл. 3.3. Поля структуры источника данных
В основном экране шага сохраняем данные и выходим к обзору списка шагов, чтобы перейти к следующему шагу (рис. 3.15).
Рис. 3.15. Система привяжет указанные поля к нужной структуре
Шаг 5: соответствие структур источника данных и записи
Дважды щелкаем по шагу Maintain Structure Relations (рис. 3.16). Создаем соответствие структур так, как показано на рис. 3.17. Сохраняем, выходим и переходим к следующему шагу.
Рис. 3.16. Переход к шагу Ведение соответствия структур
Рис. 3.17. Структура — источник ZMATCLAS служит источником данных для внутренней структуры BIKSSK
Шаг 6: мэппинг (соответствие) полей источника [данных] и полей структуры программы Direct Input
Дважды щелкаем по шагу Maintain Field Mapping and Conversion Rules (рис. 3.18).
Рис. 3.18. Переход к шагу мэппинга полей и правил конвертации
На данном шаге производим мэппинг (таблицах 3.4.а–3.4.б) полей входного файла и структуры Direct Input. Предварительно откроем технические поля (рис. 3.19 и рис. 3.20), чтобы для некоторых полей вставить ABAP-код.
Рис. 3.19. Показ/скрытие полей для указания дополнительного ABAP-кода
Рис. 3.20. Выбор типов полей для отображения на экране
Табл. 3.4.а. Правила заполнения полей
Табл. 3.4.б. Правила заполнения полей
Результат заполнения полей показан на рис. 3.21 и рис. 3.22.
Рис. 3.21. Результат заполнения глобальных полей
Рис. 3.22. Результат заполнения полей мэппинга
Затем сохраняем и выходим.
Шаг 7: указание пути к файлу
После мэппинга полей следующим шагом может быть шаг Maintain Fixed Values, Translations, User-Defined Routines (Ведение постоянных значений, преобразований и подпрограмм пользователя). Об этом шаге будет рассказано позже. В этой главе в качестве следующего шага будет Specify Files. Однако прежде чем указывать путь к файлу, необходимо создать файл по нужному нам формату. Для создания входного файла будем использовать табличный редактор Excel. Первый файл для проверки загрузчика разумно создавать на 2–3 записи; так как в случае возникновения проблем их можно быстро устранить. Первую строку в Excel заполним техническими именами полей входной структуры. А строки, начиная со 2-й, заполним уже конкретными
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти