bapi_vendor_find的用法

时间:2014-02-15 23:45:05

标签: sap abap bapi

我对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 个答案:

答案 0 :(得分:1)

经过多次尝试并失败后,我找到了解决方案。

    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柱。

这可能不是正确的方法,但至少它是有效的。如果有人知道更好的方法,请随时写。我会根据那个来编辑答案......

答案 1 :(得分:0)

直接查看在线文档 - 功能模块或在事务BAPI中。