Архив метки: загрузка

Загрузка нескольких файлов в LSMW

Рассказываю фокус. Некоторое время назад мы научились загружать иерархические структуры из одного файла. При этом нужно было особым образом формировать сам файл, чтобы структура записи повторялась. Такие файлы сложно формировать из исторических систем, особенно, когда нет программистов. Поэтому мы предпочитаем плоские файлы с плоскими структурами (в табличном виде).

На днях я загружал заработную плату с помощью стандартного BUS7023 ManagerExtPayroll. На выходе формируется IDOC, который складывается в T558* таблицы. Сама структура айдока иерархическая, где на верхнем уровне стоит сотрудник, ниже указаны периоды, а на третьем сами виды оплаты для периода.

Для простоты я решил сделать три соответствующих файла:

  • Сотрудники
  • Периоды
  • Виды оплаты

Каждый последующий файл содержит ссылку на предыдущий. Вот, что у меня получилось.

lsmw_py_0

Читать далее

Массовая загрузка документов в Archivelink

Весьма полезная и рабочая нота. Пользуйтесь!

Note 685520 – Storing and linking documents in the background

P.S. Для загрузки фотографий, нужно создавать jpg файлы в формате XXXXXXXX0002.jpg, где XXXXXXXX – табельный номер, а 0002 – инфотип.

Проверено, работает.

Знаете ли вы LSMW?

Знаете ли вы, что если в проекте LSMW на первом шаге “Maintain Object Attributes” указать способ загрузки “Periodic”, то в меню появится еще один шаг “Frame Program for Periodic Data Transfer”? И этот шаг есть программа, которая умеет сама читать файлик, запускать конвертацию, генерацию IDOC/пакетного ввода и запускать их обработку. Шоколадно, я считаю! Пока не учился ей пользоваться, так как нет задач, но интересно.

Тонкости загрузки зарплаты

Загружаем зп в систему через таблицу T558B и схему Ru30. Случилось так, что человек в одном месяце был уволен и принят обратно. Один табельный номер. Как правильно положить суммы в загрузку?

С помощью отладчика выяснил следующее. В драйвере расчета до запуска схемы идет проверка на строчку PGM TRN. Если такая строчка найдена, то система игнорирует состояние управляющей записи и грузит все периоды, которые есть в T558B. Но, для корректности загрузки она внутри себя строит таблицу APER, в которой по WPBP сама собирает периоды расчета. Если человек принят повторно в месяце, то мы должны разделить расчет заработной платы на два с помощью отдельного мероприятия – повторный прием. Признак разделения устанавливается в таблице T530. Система по этому признаку наш месяц поделила на два периода расчета с одним годом и месяцем, но разными датами начала и окончания (begda-endda).

Следующим шагом система читает t558b и сравнивает периоды в ней с периодами в APER. Если не сошлись, то выдает ошибку “Расчетный период 12 в T558B не совпадает с основными данными” (период расчета может быть любой). Поэтому в T558b должно быть два периода – уволенный сотрудник (без видов оплаты), вновь принятый (с видами начислений/удержаний). Если работник уволен, а потом повторно принят с разрывом в несколько месяцев, то в таблице T558b должны быть периоды, когда работник не работал.

В HRUCALC0 смотреть здесь:
Include RPCHRT09_FILL_APER

*———————————————————————-*
* new: to this point “K11K127822*
*———————————————————————-*
WHEN ‘TRN’. “tranfer old payroll results
PERFORM check_payty_t558b.
IF NOT rueckrab IS INITIAL.
PERFORM fill_aper_for_regular_payroll “QNZ note 331016
USING fa_datum. “QNZ note 331016
PERFORM check_aper_versus_t558b.
ENDIF.
PERFORM insert_bonus_runs_from_t558b.

Загрузка ИТ0295 (исполнительные документы)

Возникла задача – загрузить исполнительные документы в систему. Как вы знаете, ИТ0295 не ведется напрямую, только через ИТ0296. Плюс, для одного исполнительного листа может быть несколько удержаний, что влечет к сложностям загрузки. Коллега предложил решение данного вопроса. С его согласия публикую:
Читать далее