Я не создавал документы ДВС, только изменял. Но вроде тут есть все функциональности.
Посмотрите пакет FMEF. Класс CL_FM_EF_FACTORY.
Там немного замороченная работа с этими классами. Не уверен что все тут гладко, но как направление, думаю подойдет.
Code:
DATA: lo_factory TYPE REF TO cl_fm_ef_factory
, lo_document TYPE REF TO cl_fm_ef_document
, lo_item TYPE REF TO cl_fm_ef_position
.
cl_fm_ef_factory=>init( ).
lo_factory = cl_fm_ef_factory=>get( ).
lo_factory->create_from_data( <там во входной структуре материалы есть>
importing r_doc = lo_document ).
ну и далее, как с объектной моделью
lo_document-create_position(...
и в конце
lo_factory->check_all( ). "Проверка документов
lo_factory->draw_numbers( ). "Присвоение номеров
lo_factory->update_all( ). "Обновление
COMMIT WORK AND WAIT.