Уверен, что многие их вас слышали и видели этот инструмент, но мало кто открывал и копал внутрь. В системе есть очень старый инструмент для выгрузки данных. Он такой же старый, как и LSMW, но тем не менее последний мы используем на каждом проекте, а про этот ничего не знаем. Сегодня будем исправлять этот недостаток и лишать программистов работы. Перебрав в голове свои проекты могу с 90% уверенностью сказать, что 90% исходящих интерфейсов делается на простых файлах в CSV или с табуляцией формате. Наиболее популярными направлениями для отдыха являются обмен данными с банками и страховыми. Это те случаи, когда нужно в виде простого плоского файла отправлять информацию о движении персонала (принят, переведен, убит, уволен). Также обычно просят данные по базовой заработной плате, режиму работы для страховых. Банковские ведомости мы обычно формируем на базе таблички REGUH (про нее расскажу позже), а для страховых нужны не фактические выплаты, а начисления и удержания. Профсоюзам тоже хочется списочки с удержаниями, как и бухгалтерии файлики для пересылки сумм удержаний за то и се. Обычно мы пишем спеки и кодим такие выгрузки.
Есть решение, где можно в ряде случаев обойтись без программирования, только мышкой и смекалкой. Это транзакция PU12, которая позволяет настроить форматы выгрузки данных, отслеживать дельты в данных и отгружать их наружу, хранить историю выгрузок, включая сами выгруженные данные. Это все удовольствие можно архивировать штатными средствами, так как хранится в TemSe. Одни плюсы.
Настроек практически нет, все интуитивно понятно. (на самом деле нихрена не понятно)
Сначала мы создаем набор данных.
Затем делаем формат, в котором мы будем выгружать данные. Вот тут все проблемы и вылазят. Если нужно что-то сильно клиентоориентированное, а не просто набор данных выплюнуть, то приходится подключать расширения и элементарный абап для разных пребразований.
Чтобы сильно озадачиться рекомендую изучить вот этот документ от вендора. Больше ничего в сети нет. PYSOME_INTERFACE
При нажатии на кнопочку генерации в основном экране PU12 происходит формирование обычных абап программ, которые можно запускать в фоновом режиме (для автоматизации выгрузок). Если поиграться с параметрами, то увидите, что есть разные вкусности, например, отслеживание изменения данных.
Ну и выплевывая все это в файл получается вот так.
У меня сходу не получилось поменять разделитель и выводить в CSV, например. Умные индусы пишут, что надо в очередном расширении это явно прописывать. Также не смог сделать перенос строки для блока, чтобы каждый новый блок начинался с красной строчки. Но это все мелочи, которые один раз нужно раскопать и пользоваться. Как с LSMW — сначала ничерта не понимаешь, а потом виртуозно шокируешь пользователей и стажеров. Дело привычки-с.