sy-uname написал(а):
Может сделать проще, без всяких там самоанализов программы и прочегео искусственного интеллекта? В контрольных точках записывать состояние в лог (ФМ BAL_LOG*).
Ну и проверок аргументов/параметров с подробными сообщениями побольше.
Дык, примерно так и будет. Только, в конечно, в лог не будет писаться все подряд. Будет фиксироваться прохождение каких-то этапов программы. Если все OK - хранить эту информацию долговременно нет необходимости (это ж сколько места займет! Если для каждого запуска хранить). Они понадобятся только в случае каких-то проблем.
Примерно это будет выглядеть следующим образом:
-----------------------------------
STAGE 'STAGE1' 'Прохождение критической точки 1' .
CALL FUNCTION ....
.....
STAGE 'SUBSTAGE1' "Прохождение критической точки 1.1"
CALL SCREEN '0100'.
.....
ENDSTAGE 'SUBSTAGE1' .
ENDSTAGE 'STAGE1'.
-----------------------------------
, где STAGE - это макрос, который и будет отмечать прохождение (с вызовом внутри него каких-то ФМ и т.п.). ENDSTAGE - соответственно, макрос, фиксирующий окончание прохождения критической стадии.
Но вот координаты этих точек... Их же много может быть. Всегда, конечно, можно сделать просто автоматический разбор исходников. Но, ИМХО, это не есть очень хорошо.