Меню

Загрузка Z-полей с помощью LSMW

На большинстве проектов для различных документов (объектов) системы выполняются доработки, в том числе создаются новые поля в таблицах. На этапе миграции данных, либо в процессе продуктивной работы с системой может возникнуть необходимость массовой загрузки данных «расширенных» документов, при этом встает вопрос, каким образом выполнить загрузку данных в такие новые поля. В этой статье приводится рекомендация по решению этой задачи стандартными средствами LSMW.

В основе предлагаемого метода лежит использование специальной структуры EXTENSIONIN. Связь внутри программы загрузки осуществляется через ссылочную структуру E1BPPAREX. Данная структура имеет 5 текстовых полей: 4 по 240 символов и одно поле 30 символов. Таким образом, всего структура содержит строку из 1000 символов. Данная строка представляет собой последовательную комбинацию значений полей из структуры расширения любой таблицы. Также строка содержит поле с именем структуры, для которой выполнено расширение.

Для работы со стандартным средством существует ограничение – дополнительные (новые) поля таблицы не должны иметь тип P. Однако, даже если бизнес-процесс требует использования именно этого типа данных, предусмотрены расширения обработки данных структуры EXTENSIONIN с помощью BADI. В расширении можно произвести перекодировку цифрового поля в текстовое.

Структура E1BPPAREX представлена следующим образом:

Поле

Тип

Длина

Название

STRUCTURE

C

30

 

VALUEPART1

C

240

 

VALUEPART2

С

240

 

VALUEPART3

С

240

 

VALUEPART4

С

240

 

 

Поле STRUCTURE содержит имя структуры BAPI, которая в процессе обработки дополняется новыми полями. В зависимости от документа в системе, это может быть и структура заголовка, и структура позиций. Также как правило, необходима передача индикаторов изменяемых полей с помощью дополнительной структуры индикаторов, имеющий символ «X» в конце названия.

Далее рассмотрен пример заполнения полей для заявки на закупку.

Таблица позиций заявки EBAN расширена следующей структурой полей:

Include CI_EBANDB:

Поле

Тип

Длина

Название

ZFIELD1

C

5

Текстовое

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

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

Войти

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

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

Евгений Тенищев

  |  21 октября 2020, 23:21

Было бы не плохо продемонстрировать скриншотом как это выглядит в lsmw. Особенно интересно в разделе где прописывается мэппинг.
Пока, если честно, не понятно как это реализовать в lsmw.