Targa написал:
Добрый день, коллеги!
Так вот в связи с этим вопрос - а есть какой-нибудь способ отладки схемы расчета? Кроме как через отладку hrucalc0? Чтобы пройтись по шагам и увидеть из какой ветки "вырос" вид оплаты.
Под отладкой понимается абап-дебагер? Я другого способа не знаю. С другой стороны, этот способ не так уж и сложен, если иметь небольшой опыт в отладке и немного представлять как работает hrucalc0. Не нужно ничего долго и нудно отлаживать.
В твоем случае это могло выглядить так.
- Запускаем программу расчета как обычно, указываем ТН и все что нужно. Включаем отладку (/h) и жмем F8.
- Программа запускается и сразу останавливается. Ставим точку наблюдения ot-lgart = /861. Для каких-то особенных функций это может не прокатить, но для большенства (PIT, PRT и т.д.) сработает. Пускаем на выполнение дальше.
- Программа остановиться как только появиться вид оплат /861. Теперь остается только понять, где мы находимся. Заходим в стег вызовов и смотрим. Если есть небольше представление о hrucalc0, то все становится понятно с первого взгляда. Я вот для примера запустил так расчет для своего вида оплат и первая остановка была в FUPORT (это функция PORT). Это по схеме идет обработка прошлого результата расчета. В данном случае это неинтересно пропускаем идем дальше, попадаем на FUPIT (это PIT, думаю понятно)
Значимые процедуры
AS-FUNKTION - обработка строчки из схемы расчета
FU* - Стандартный способ наименования функций (указывается PE04)
REGEL - обработка правила
BOPER - обработка текущей строчки правила
PROCESS_OPER - вызов текущей функции правила (это большой case).
Кроме того, интересны содержимые переменных
as - таблица схемы, заголовок которой содержит текущую операцию из схемы, например as-funco даст наименование (например PIT), а as-parm1 1-й параметр (для PIT-а это имя правила)
ccycl - имя текущего правила для процедуры REGEL. Это немного точнее, чем данные из as. Например для налогов в as будет просто RUTAX, а ccycl - правило текущего налога/льготы.
op - текущее операция в правиле.
it-lgart - для операция типа PIT покажет на каком виде оплат мы сейчас находимся
Так можно буквально за полминуты определить где точно появился нужный вид оплат.