Архив метки: LSMW

Коды ошибок при чтении файлов в LSMW

Иногда начинаешь загружать файлик в LSMW (Read Data пункт), он система выдает ошибку в виде кода без всякого пояснения. Чтобы понять, что за ошибка, предлагаю сохранить себе кусок кода, который отвечает за чтение файлов с компьютера клиента (Frontend). По коду ошибки можно понять, что пошло не так. Многих такие ошибки путают.

Программа /SAPDMC/SAP_LSMW_READ_FORMS:

Безопасность продуктива и LSMW

Один из хороших людей написал для нас всех материал, которым стоит поделиться. Речь про дырки в системах, про безопасность продуктива и как ее обойти с помощью LSMW – инструмента миграции данных, стандартного для проектов SAP.

Как обычно в работе консультанта периодически возникает «крайняя необходимость» что-нибудь поправить в таблице или в отладчике поправить переменную, а добрые дядечки из службы безопасности и столь же добрые администраторы, давно решили что это нам не нужно да и вообще, сложилось впечатление, что лучше всего когда мы не работаем в системе за компом, а смотрим на нее из далека и на ментальном уровне мигрируем данные или разбираем инциденты сыплющиеся как из рога изобилия на наши больные после вчерашнего долгого трудового дня головы.

И вот тут то нам может помочь один из способов махонького поправления настроек системы в нужную сторону (все что нам требуется – это «совсем крохотные» полномочия на s_develop). Один из них я ниже и постараюсь описать. Выбор пал на LSMW, и так сказать упал он не случайно, так чаще всего project, subproject и object создавать все же разрешают, но полномочиями на ABAP-редактор в продуктивной системе все те же добрые люди не делятся. Но лиха беда начало! Если есть доступ к системе разработки, в которой такой подарок судьбы вполне имеет право существовать, да и даже в случае если таких полномочий нет, не стоит отчаиваться, редактирование текста LSMWэшки в «Блокноте» нам и вам в помощь. Итак, смысл в том, что проект LSMW можно как экспортировать, так и импортировать, поэтому грех не воспользоваться такой прекрасной возможностью.

Читать далее

LSMW и IDOC инструкция для начинающих

Роман @metha решил поделиться с нами информацией, как можно создавать IDOC из файла. Это бывает нужно для миграции заработной платы, например, когда мы захотим в LSMW сделать загрузку через IDOC.

Делаем вот такой file port. Каталог указываем в соответствии со своей системой.

lsmw_idoc_1

Читать далее

Миграция заработной платы

Привет. Часто на проектах любят использовать свои абап программы для загрузки данных в табличку T558*. Плюсы всем известны. Но иногда надо быстро запустить миграцию, а программистов в бюджете нет. Или даже ключа разработчика нет. На помощь приходят стандартные программы HINUULK0, RPULKT00, которые позволяют загрузить данные в таблички из текстовых файлов. Это может помочь сделать миграцию заработной платы чуточку быстрее.

Также можно использовать LSMW для загрузки данных через IDOC. Это BAPI BUS7023, метод INSERTLEGACY. Эта часть работает с проверками основных данных (табельник, периоды).

Иерархическая загрузка файлов в LSMW

Привет, други и другалики.

Сегодня будем творить чудеса. Вы-то все это знаете, поэтому я для себя напишу, чтобы не забыть. Понадобилось, значит, нам сделать загрузку файлов таким образом, чтобы, как бы это сказать. Ну вы же представляете IDOC. Штучка такая для передачи данных между системами. А тут надо в одном айдоке заполнить несколько сегментов. Получается иерархическая загрузка файлов, когда для одной старшей записи может быть несколько младших. Деревцо такое. А я помню, что в одном из документов по SAP Best Practices for HCM Payroll for USA было написано, что зарплату в T558* таблички надо грузить не как все, а по лучшим практикам – через IDOC. А у нас никто этого не знает, все абап пишут. САП не дурак, все продумал и сделал. Скорость обработки IDOC существенно выше обычной LSMW, так что на больших объемах подумайте.

И вот у нас есть файлик вида:
LINE1 Большая айдока
LINE2 Сегмента айдоки
LINE3 Пимпочка в третьем сегменте

Ерунда вообщем-то, но такая полезная оказывается. Что мы делаем? Включаем в каждую структуру исходника (Source Structure) поле с идентификатором уровня (наши LINE1, LINE2, LINE3) и ставим галочку, что это поле относится к идентификатам (в самом низу). Дальше связываем структуры как обычно, привязываем мэппинг в Field mapping. А когда создаем определение файла, то ставим галочку, что это не последовательный файл, а структурированный. И все. Система поймет, что все строчки, которые начинаются с LINE3 надо засунуть в структуру три к пимпочкам. И эти пимпочки относятся к LINE2, который относится к LINE1. И в рамках одной транзакции будет загружена иерархическая структурка.

Хочу сказать большое авторское Хрю Роману @metha. Без него я бы еще час ерундил.

Хотите подробную инструкцию? Видео? В картинках? Напишите в комментариях 😉