@UmbertoKavalli

SAP lsmw + idoc hrmd_a?

Добрый день ! Решил попробовать освоить iDoc через lsmw для загрузки и правки данных HCM. До этого использовал только батч-инпут и запись транзакций в HCM и BAPI в RE-FX. И все работало. А здесь, бьюсь уже долго, но не выходит.
Пытаюсь заменить причину изменения основных выплат (PREAS в ИТ0008) с 01 на 03
Итак:

1. Есть проект

d250fc2b64.jpgc316d216b7.jpge4cfc0f634.jpgb99a4eb6f9.jpg2a02f05abb.jpg891c3afd9b.jpg

2. Структура

5ae4bf4349.jpg

3. Поля

15fe0b44a1.jpg36a2037f20.jpg

4. Мэппинг

a7a19dc6a3.jpg

5. Прочитали файл

09ab36a2ab.jpg

Вот такой файл

887da04b2a.jpg

6. Конвертируем

4f6247c476.jpg

7. Проверяем

691729dac1.jpg
Получили такие вот ошибки

Что это такое и как поправить ?

UPD: решение кроется в неиспользовании структуры E1Q0008 и для апдейта нужен полный слепок всех полей, даже тех, которые менять не нужно. А потому, iDoc для таких целей слишком трудозатратен.
  • Вопрос задан
  • 836 просмотров
Пригласить эксперта
Ответы на вопрос 2
@IronBream
SAP SD/MM consultant
Привет, в общем если ты используешь такую вложенность, то у тебя в файле должен быть соблюден ключ. В твоем файле, на каждой строке свой ключ, а должен сначала идти ключ вышестоящей структуры, потом свой собственный.

Как-то вот так:
LVL0 ****
LVL0 LVL1 ****
LVL0 LVL1 LVLV2 ****
и тд

где **** данные заполнения сегментов Idoc.

Все эти поля должны быть объявлены в структурах и иметь одинаковое название между структурами.
Ответ написан
@metha
1. Маппинша для EDI_DC40 структуры не надо вообще
2. Для всех дочерих сегментов для инфотипа 0008 обязательно нужно повторять все ключевые поля из основного сегмента E1P0008 (проверяйте через WE30/WE31)
3. Для HRMD_A09 обязательно надо проверить все ли сегменты подклчюены в T777D табличке
4. В исходном файле вот всего вот этого не надо
LVL0 ****
LVL0 LVL1 ****
LVL0 LVL1 LVLV2 ****
и тд
главное что каждая строка идентифицирет свой уровень LSMW сама определит кому и что надо проставить в зависимости
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы