Привет, други и другалики.
Сегодня будем творить чудеса. Вы-то все это знаете, поэтому я для себя напишу, чтобы не забыть. Понадобилось, значит, нам сделать загрузку файлов таким образом, чтобы, как бы это сказать. Ну вы же представляете 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. Без него я бы еще час ерундил.
Хотите подробную инструкцию? Видео? В картинках? Напишите в комментариях 😉
7 комментариев
ovetchenkoandrey
Конечно хотим инструкцию в картинках 🙂
В hr всегда консультанты пишут batchinput, забывая об idoc.
minkika
Спасибо!! И +100 в карму Роману @metha
Роман Величко
На выходных сделаю видео, размещу на ютубе.
Роман Величко
вот видео http://youtu.be/f7THZSi6xgw
Calm
>> зарплату в T558* таблички надо грузить не как все, а по лучшим практикам — через IDOC. А у нас никто этого не знает, все абап пишут. САП не дурак, все продумал и сделал
Грузил я как-то айдоками. Ацкий ад.
Не, в сапе типа все работает. Вот только для заказчика содержимое айдока — ни разу не интуитивно понятно. 100500 ошибок при загрузках. Ну типа все ошибки заказчика, консы не виноваты. Но результата ведь нет!
Роман Величко
Да нууу, не согласен. От конечного пользователя требуется только одно заполнить данными только один шаблон
Виды оплат по формату:
PERNR, № периода, вид оплат, RTE, NUM, AMT с разделителями tab
Все 😉
Calm
>>Виды оплат по формату:
Гм. помнится заказчику было предложено что-то гораздо более монстрообразное. Перемудрили значит 🙂