Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Uukrul от Апрель 22, 2010, 02:09:38 pm
-
AC_DOCUMENT_RECORD - Связные документы. В общем виде конечно можно и по таблицам, но есть нормальный ФМ, который по номеру документа возращает все связанные с ним документы, например при проводке документа ММ, порождаются документы FI, бюджета, CO и т.д., так вот данные пример как раз по документу ММ и возвращает всю цепочку. Хочу заметить что модуль работает не только для ММ, просто ММ мне как-то ближе оказался.
DATA: l_year LIKE acchd-aworg,
l_mblnr LIKE mseg-mblnr,
t_documents LIKE acc_doc OCCURS 10 WITH HEADER LINE.
l_year(4) = i_mdoc-mjahr.
REFRESH t_documents. CLEAR t_documents.
CALL FUNCTION 'AC_DOCUMENT_RECORD'
EXPORTING
i_awsys = i_mdoc-awsys
i_awtyp = 'MKPF'
i_awref = i_mdoc-mblnr
i_aworg = l_year
x_dialog = ' '
TABLES
t_documents = t_documents
EXCEPTIONS
no_reference = 1
no_document = 2
OTHERS = 3.
LOOP AT t_documents WHERE awtyp = 'BKPF'.
ENDLOOP.
-
Вот пример для документов SD
CALL FUNCTION 'AC_DOCUMENT_RECORD'
EXPORTING
I_AWTYP = 'VBRK'
I_AWREF = d_vbfa-vbeln
X_DIALOG = ' '
TABLES
T_DOCUMENTS = T_DOCUMENTS
EXCEPTIONS
-
А это пример для поиска документов от счета логистики, который проводится транзакцией MIRO.
l_year(4) = i_ekbe-gjahr.
CLEAR t_documents[].
CALL FUNCTION 'AC_DOCUMENT_RECORD'
EXPORTING
i_awtyp = 'RMRP'
i_awref = i_ekbe-belnr
i_aworg = l_year
x_dialog = ' '
TABLES
t_documents = t_documents
EXCEPTIONS
no_reference = 1
no_document = 2
OTHERS = 3.
-
Да выбираются все связные документы, но если нужно ограничить, то есть параметр, где говорим к примеру что выбирать надо только связные документы FI
i_awtyp_incl = 'BKPF'
-
Да выбираются все связные документы, но если нужно ограничить, то есть параметр, где говорим к примеру что выбирать надо только связные документы FI
i_awtyp_incl = 'BKPF'
PS: Кстати, лучше таки ограничивать, так как иначе скорость работы будет соответствующая.