Использование bapi_vendor_find
Я совершенно новичок в мире ABAP. Я искал в Интернете более часа, но не смог найти пример функции bapi_vendor_find.
CALL FUNCTION 'BAPI_VENDOR_FIND'
* EXPORTING
* MAX_CNT = 0
* PL_HOLD = ' '
* IMPORTING
* RETURN =
TABLES
selopt_tab = g_tab_selopt
result_tab = g_tab_result
.
Как мне подготовить "g_tab_selopt" и "g_tab_selopt". Заранее благодарю за любую помощь...
2 ответа
После многих попыток и неудач я нашел решение.
REPORT zbss00_lieferant_anzeigen.
PARAMETERS: p_ccode TYPE bapivendor_10-comp_code.
TYPES: tab1 TYPE TABLE OF BAPIVENDOR_10.
Data:
g_tab_selopt type table of BAPIVENDOR_10,
g_tab_result type table of BAPIVENDOR_11,
l_vendor_no type BAPIVENDOR_11,
g_selopt type BAPIVENDOR_10.
g_selopt-COMP_CODE = p_ccode.
g_selopt-TABNAME = 'LFB1'.
g_selopt-FIELDNAME = 'MANDT'.
g_selopt-FIELDVALUE = '900'.
APPEND g_selopt TO g_tab_selopt.
CALL FUNCTION 'BAPI_VENDOR_FIND'
* EXPORTING
* MAX_CNT = 0
* PL_HOLD = ' '
* IMPORTING
* RETURN =
TABLES
selopt_tab = g_tab_selopt
result_tab = g_tab_result
.
loop at g_tab_result into l_vendor_no.
write: /, 'Vendor No: ', l_vendor_no-VENDOR_NO.
endloop.
В этом примере я искал поставщиков по балансовой единице в таблице "LFB1", где mandt равно 900. Я установил MANDT 900, потому что мне нужно было получить всех поставщиков, и в моем случае все поставщики имеют 900 в столбце MANDT.
Это не может быть правильным способом, но по крайней мере это работает. Если кто-нибудь знает лучший способ сделать это, пожалуйста, не стесняйтесь писать. Я отредактирую ответ в соответствии с этим...
Взгляните на онлайн-документацию - либо функционального модуля напрямую, либо в транзакции BAPI
,