Как бы вы решили задачу получения отчета по налоговому виду оплаты, у которого возникли отрицательные суммы в месяце? Причина скорее всего связана с перерасчетом заработной платы.
Говоря языком программиста, нужно сделать select * from rt where lgart = ? and betrg < 0. Банальная задача, которая должна бы быть решена стандартными средствами системы.
Посмотрим, какие инструменты у нас есть для решения этой задачи.
- Стандартный отчет по видам оплаты. Мы можем запустить отчет по всем табельным номерам. А затем в ALV отформатировать, чтобы показывались только отрицательные значения. Минус — сначала выбирается весь объем данных, а только потом уже идет обработка на «минуса». При миллионе записей нерабочий вариант.
- Создать технический расчетный лист, который бы выводил в CVS формате, а внутри прописать условие на минус. Кривенько, но чуть быстрее, чем вариант 1.
- Запускать вручную BI экстрактор в RSA3. Но на селекционном экране нельзя указать значение вида оплаты, поэтому вариант аналогичен п. 1.
- Создать 4** инфотип для отражения результатов расчета в SAP Query. Делается без абапа, но нужно запускать программку для обработки всего кластера и перекладывании данных в этот инфотип. Но можно выполнить требование задачи.
- Транзакция PU12 — экспорт данных в произвольном формате, где можно указать условия чтения кластера, а вывести в любой TXT, CSV формат, который легко отображается в Excel.
- Разработка своего отчета на абапе. Хочется без абапа.
- Разработка коррректирующей схемы с созданием технического вида оплаты, который будет содержать только отрицательные значения, если таковые встречаются.
- Разработка eCATT скрипта, который будет вызывать ФМ по чтению кластера и анализировать выходную информацию.
- Использовать BAPI для вызова из VBA в MS Excel, где производить такой анализ.
- Декластеризация кластера расчета заработной платы и выборка напрямую через SE16.
- Выгрузка в BI заработной платы и анализ данных там (в BI это легко).
На этом моя фантазия закончилась. Я не нашел ни одного стандартного способа в системе получить список табельных номеров с видами оплаты, у которых значение (поля сумма, ставка, число) удовлетворили бы моим условиям (больше, меньше, диапазон). А такая вроде бы тривиальная задача.
Так как получить отчет по видам оплаты с нужными фильтрами по полю сумма?