Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => Тема начата: themax от Ноябрь 01, 2018, 01:33:52 pm
-
Доброго времени суток уважаемые ABAP-еры.
Возникла необходимость отобразить в отчёте приложенные документы к единице оборудования. Почитал в инете различную инфу, в итоге пытаюсь вывести доки, но не получается, а не получается потому что функциональный модуль BDS_BUSINESSDOCUMENT_GET_INFO не заполняет три таблицы, данные этих трёх таблиц собираю в одну и передаю в функциональный модуль BDS_OBJECT_DISPLAY_INTERN, но что мне передавать, если таблицы пустые. Может кто подскажет что я делаю не так. Вот собственно код первого функционального модуля.
tables iloa.
data:
classname like bapibds01-classname,
object_key like bapibds01-objkey.
data tmp_text(50).
field-symbols <tmp_fld_symb>.
*
data wa_bapicompon type bapicompon.
data ibapicompon like standard table of wa_bapicompon.
*
data wa_bapisignat type bapisignat.
data ibapisignat like standard table of wa_bapisignat.
*
data wa_bapiconnec type bapiconnec.
data ibapiconnec like standard table of wa_bapiconnec.
*
data wa_bapicompo2 type bapicompo2.
data ibapicompo2 like standard table of wa_bapicompo2.
data wa_bds_info type zfnb_26_bd_info.
data ibds_info like standard table of wa_bds_info.
refresh ibds_info.
classname = 'EQUI'.
object_key = '000000000010000203'.
*check zfnb_26_markpf-marnr <> space.
*
call function 'BDS_BUSINESSDOCUMENT_GET_INFO'
exporting
* LOGICAL_SYSTEM =
classname = classname
classtype = 'BO'
* CLIENT = SY-MANDT
object_key = object_key
* ALL = 'X'
* CHECK_STATE = ' '
tables
components = ibapicompon
signature = ibapisignat
* CONNECTIONS = iBAPICONNEC
extended_components = ibapicompo2
exceptions
nothing_found = 1
parameter_error = 2
not_allowed = 3
error_kpro = 4
internal_error = 5
not_authorized = 6
others = 7.
if sy-subrc <> 0.
message id sy-msgid type 'S' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
loop at ibapicompon into wa_bapicompon.
move-corresponding wa_bapicompon to wa_bds_info.
loop at ibapisignat into wa_bapisignat
where doc_count = wa_bapicompon-doc_count.
concatenate 'WA_BDS_INFO-' wa_bapisignat-prop_name into tmp_text.
assign (tmp_text) to <tmp_fld_symb>.
check sy-subrc = 0.
<tmp_fld_symb> = wa_bapisignat-prop_value.
wa_bds_info-doc_id = wa_bapisignat-doc_id.
endloop.
read table ibapicompo2 into wa_bapicompo2 with key wa_bapicompon-doc_count.
if sy-subrc = 0.
move-corresponding wa_bapicompo2 to wa_bds_info.
endif.
insert wa_bds_info into table ibds_info.
endloop.
В итоге таблица ibds_info пустая, но если я правильно понял как эта штука работает, то она должна заполниться.
-
Возникла необходимость отобразить в отчёте приложенные документы к единице оборудования.
Можно узнать о каких документах вложениях идет речь? GOS-сервисы или что-то другое?