Как бы вы решили задачу получения отчета по налоговому виду оплаты, у которого возникли отрицательные суммы в месяце? Причина скорее всего связана с перерасчетом заработной платы.

Говоря языком программиста, нужно сделать select * from rt where lgart = ? and betrg < 0. Банальная задача, которая должна бы быть решена стандартными средствами системы.

Посмотрим, какие инструменты у нас есть для решения этой задачи.

  1. Стандартный отчет по видам оплаты. Мы можем запустить отчет по всем табельным номерам. А затем в ALV отформатировать, чтобы показывались только отрицательные значения. Минус — сначала выбирается весь объем данных, а только потом уже идет обработка на «минуса». При миллионе записей нерабочий вариант.
  2. Создать технический расчетный лист, который бы выводил в CVS формате, а внутри прописать условие на минус. Кривенько, но чуть быстрее, чем вариант 1.
  3. Запускать вручную BI экстрактор в RSA3. Но на селекционном экране нельзя указать значение вида оплаты, поэтому вариант аналогичен п. 1.
  4. Создать 4** инфотип для отражения результатов расчета в SAP Query. Делается без абапа, но нужно запускать программку для обработки всего кластера и перекладывании данных в этот инфотип. Но можно выполнить требование задачи.
  5. Транзакция PU12 — экспорт данных в произвольном формате, где можно указать условия чтения кластера, а вывести в любой TXT, CSV формат, который легко отображается в Excel.
  6. Разработка своего отчета на абапе. Хочется без абапа.
  7. Разработка коррректирующей схемы с созданием технического вида оплаты, который будет содержать только отрицательные значения, если таковые встречаются.
  8. Разработка eCATT скрипта, который будет вызывать ФМ по чтению кластера и анализировать выходную информацию.
  9. Использовать BAPI для вызова из VBA в MS Excel, где производить такой анализ.
  10. Декластеризация кластера расчета заработной платы и выборка напрямую через SE16.
  11. Выгрузка в BI заработной платы и анализ данных там (в BI это легко).

На этом моя фантазия закончилась. Я не нашел ни одного стандартного способа в системе получить список табельных номеров с видами оплаты, у которых значение (поля сумма, ставка, число) удовлетворили бы моим условиям (больше, меньше, диапазон). А такая вроде бы тривиальная задача.

Так как получить отчет по видам оплаты с нужными фильтрами по полю сумма?