Вступление
Сначала меня транзакция LSMW пугала и была совершенно непонятной. Здесь я хочу описать краткий сценарий от начала и до конца на одном очень простом примере.
Мы будем грузить в систему иерархию финансовых позиций для модуля FM.
Заголовок объекта LSMW
Создаем проект, подпроект и объект:
Определение атрибутов объекта LSMW
Создаем рекординг
Указываем на базе какой транзакции будет происходить рекординг
Прогоняем создание нужного объекта с тестовыми данными
Любуемся на сохраненную запись пакетного ввода
Выбираем опцию пакетного ввода и прописываем рекординг в атрибутах
Определение структуры исходных данных LSMW
Просто задаем имя и описание структуры
Определение исходных полей
Для начала откроем соответствующую экрану структуру
Найти эту структуру можно, например, следующим образом: если в транзакции ввода на любом из этих полей нажать F1, и в разделе “Техническая информация” будет указана структура:
Затем двойным щелчком “проваливаемся” или открываем структуру в транзакции SE11.
Копируем в нашу структуру только поля, которые будем закачивать, указываем правильные типы
Любуемся на результат:
Определение соотношения структур
Ничего сложного
Заполнение присвоения полей в рекординге
Возвращаемся в рекординг и
Проставляем соответствие полей нашей структуры и полей рекординга
Маппинг полей
Просто запускаем автоматическое присвоение полей
И наслаждаемся результатом
Создание файла для загрузки
На всякий случай на одном листе сохраняем структуру
А на другом листе создаем колонки в точности по порядку полей в структуре. И заполняем тестовыми данными.
Сохраняем сам файл в формате Excel, а затем сохраняем наш лист в текстовом формате.
Не забывайте что в текстовом формате сохраняется только один лист и в нём только текст без всякого форматирования.
Настройка выбора файла
Указываем файл с данными. Тут надо выставить соответствующие опции (табулятор, начало файла, порядок).
Наслаждаемся проведёнными изменениями.
Процесс загрузки данных LSMW
А затем в цикле по мере дополнения данных в файле, правок и прочего выполняются все пункты строго по очереди. Благо там заполнять практически нечего – запускаем по очереди и подтверждаем действие.
Прочитать данные из файла
Конвертировать данные файла
Создать сеанс пакетного ввода
Запустить сеанс пакетного ввода
Если хотите, то можете воспользоваться промежуточными пунктами для просмотра данных.
Настоящие данные
После того как мы убедились что всё хорошо легло в системе– то тестовые данные можно удалить.
Затем следует заполнить Excel настоящими данными и загрузить их (выполняя все шаги по очереди).
Заключение
Здесь описан простой сценарий ввода данных из Excel-файлов. В скриншотах чтобы вы не заблудились, почти от начала и почти до конца.
О чём можно было бы упомянуть ещё:
- могут быть небольшие грабельки при работе с данными, в которых есть кавычки;
- могут быть небольшие проблемы с различием пустых полей и полей, которые не надо трогать – например: блок банковских счетов в карточке контрагента;
- отдельного разбора может заслуживать процедура дополнения существующих данных в системе, когда вы не знаете код дополняемого объекта, но есть другие признаки для “связки” – например: раздельная загрузка основной карточки (контрагента, материала) и ракурсов к ней;
- в данном инструменте есть экспорт и импорт во внешний файл (для переноса между системами).
Удачи в работе!
Спасибо, хорошая статья, пригодилась.
«могут быть небольшие проблемы с различием пустых полей» — мы в текстовом файле для таких полей указываем символ наклонной черты (/), и тогда обрабатывает нормально. Но, возможно, ещё какие-либо варианты есть.
Именно это я и имел в виду.