У меня была подобная проблема!
Я создавал СПП-элементы с помощью BAPI.
Эти ФМ 'BAPI_PS_*' используют некие глобальные флаги.
Сама BAPI по созданию СПП отрабатывала как будто корректно и не возвращала ошибки. Но в BAPI_PS_PRECOMMIT падало в дамп.
После 2х дней в отладке я выяснил что в BAPI (Создающей СПП) отрабатывает экзит из за которого значения в глобальных флагах ставятся не те. Вследствие чего в BAPI_PS_PRECOMMIT падет в дамп.
Т. е. вот эта вещь BAPI_PS_INITIALIZATION обнуляет флаги.
Потом ваша BAPI их меняет
А вот эта вещь BAPI_PS_PRECOMMIT смотрит на них и падает в дамп

)
Меня спасло добавление еще одной проверки в экзите(уже не помню какой)..
Для ясности можно посмотреть группу функций PS_BAPI