Меню

Транзакция LSMW инструкция по применению. Часть 3

|

В этой книге приводятся практические решения задач с использованием транзакции

LSMW для загрузки данных на основе методов Batch Input, BAPI и

Direct Input. Примеры базируются на бизнес-сценарии миграции данных.

Продолжение книги.

Часть 1  Часть 2

Массовое обновление материалов методом BAPI в транзакции LSMW

В рамках задачи миграции нам требуется создать новые основные записи материалов. На основе созданных основных записей материалов будет проведена загрузка остатков (рис. 2.1).

Рис. 2.1.Этап загрузки ракурсов ОЗМ в общей схеме задач миграции

В настоящей главе будет показано применение метода BAPI в транзакции LSMW, а также будет показана настройка типов сообщений, использование глобальных переменных в дополнительном ABAP-коде в транзакции LSMW. В основе метода BAPI лежит структура функционального модуля, который связан с тем или иным объектом SAP ERP (например, основной записи материала).

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

2.1. Пошаговое решение задачи

Пусть требуется создать основную запись материала с несколькими ракурсами: основных данных, сбытовым, бухгалтерским. По созданным записям в дальнейшем нужно будет прогрузить данные классификации, длинные тексты и остатки. Нумерация материалов должна быть внутренняя (автоматическая). Загружаемые ракурсы (рис. 2.3 и рис. 2.4): Основные данные (Basic Data), Сбытовой (Sales: Sales Org. Data), общие данные завода (General Plant Data / Storage), бухгалтерский (Accounting). В таблицах 2.1.а–2.1.е приведены поля для загрузки.

Табл. 2.1.а. Поля для загрузки данных

Табл. 2.1.б. Поля для загрузки данных

Табл. 2.1.в. Поля для загрузки данных

Табл. 2.1.г. Поля для загрузки данных

Табл. 2.1.д. Поля для загрузки данных

Табл. 2.1.е. Поля для загрузки данных

Рис. 2.2. Начальный экран создания материала

Рис. 2.3. Выбор ракурсов при создании материала

Рис. 2.4. Выбор ракурсов при создании материала: бухгалтерский ракурс

На предварительном шаге: пройдемся вручную (через MM01) и создадим основную запись материала.

Предварительный шаг

Запустим транзакцию MM02 и заполним поля, представленные на рисункаx 2.5–2.13.

Рис. 2.5. Создание материала: указываем оргуровни

Рис. 2.6. Ракурс: основные данные

Рис. 2.7. Создание материала: ракурс классификации

Рис. 2.8. Создание материала: сбытовой ракурс 1

Рис. 2.9. Создание материала: сбытовой ракурс 2

Рис. 2.10. Создание материала: сбытовой ракурс, данные завода 

Рис. 2.11. Создание материала: складской ракурс

Рис. 2.12. Создание материала: бухгалтерский ракурс

Рис. 2.13. Создание материала: сообщение об успешном создании материала

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

Шаг 0: настройка IDoc Inbound Processing

Метод BAPI использует обработку входящего IDoc; для этого метода необходимо выполнить настройку обработки входящего IDoc. В начальном окне LSMW переходим по меню Settings -> IDoc Inbound Processing (рис. 2.14)

Рис. 2.14. Переходим к настройкам обработки IDoc

Указываем или создаем с помощью кнопки Maintain Ports порт, который мы будем использовать. Лучше использовать имя LSMW (посмотрите — возможно, этот порт уже создан и вам его не нужно создавать) (рис. 2.15).

Рис. 2.15. Ведение порта для файла

Если не создан, «идем» по кнопке Maintain Ports; в ветке File создаем порт LSMW (рис. 2.16).

Рис. 2.16. Создание порта для файла

Все

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти

Обсуждения Количество комментариев4

Комментарий от  

Роберт Махмутов

  |  29 мая 2023, 15:05

Добрый день!
Как можно создать свой Business Object Method?

Комментарий от  

Олег Башкатов

  |  29 мая 2023, 15:32

Добрый день!
Как можно создать свой Business Object Method?

Добрый день,
через транзакцию SWO1 можно создать свой бизнес объект и методы к нему.
 
В качестве ориентира можно посмотреть на статью
sapland.ru/kb/articles

Комментарий от  

Елена Карагодина

  |  17 декабря 2023, 11:51

Добрый день. Не получается в одной из систем SAP сделать LSMW на создание БУХ.РАКУРСОВ в ОЗМ. При создании LSMW методом BATCH IMPUT выходит ошибка: выберите хотя бы один ракурс. При этом на ракурсы : Основные данные, Сбыт, LSMW создалось.

Комментарий от  

Олег Башкатов

  |  19 декабря 2023, 11:08

Добрый день. Не получается в одной из систем SAP сделать LSMW на создание БУХ.РАКУРСОВ в ОЗМ. При создании LSMW методом BATCH IMPUT выходит ошибка: выберите хотя бы один ракурс. При этом на ракурсы : Основные данные, Сбыт, LSMW создалось.

Елена, добрый день,
 
Комментарий Вы сделали под статьей про использование метода BAPI почему-то :-). Собственно, я бы Вам и рекомендовал его (метода BAPI, а не BATCH INPUT) использовать для загрузки ОЗМ по материалам.
 
Предположение по описанному Вами недочёту с BATCH INPUT и бух.ракурсу - "просто не проскролили" :-) .
Бухгалтерский ракурс может находится за пределами экрана, где нужно его выбирать и поэтому он считается не выбранным.
 
Попробуйте прогнать (повторить) BATCH INPUT в ВИДИМОМ режиме (в SM35 выделить сессию и нажать Process / Выполнить).
 
Но повторюсь: что для ОЗМ надежнее использовать BAPI-метод.
 
disk.yandex.ru/i/954Z6LfvK0ZuFA   ( ответ с картинками сохранил в pdf (так как что-то не прикрепляются) )