关于bapi创建利润中心其实很简单了,本来参数也不多,比较麻烦的是利润中心那里我还做了个cepc的屏幕增强,具体怎么是实现

去翻看一下我之前的帖子

现在的问题点是增强字段,sap虽然在bapi里面预留了一个结构给我们传,但是尝试了很多遍发现不行

最后有个我们这的大佬去修改了创建利润中心的BAPI_PROFITCENTER_CREATE这个baip,弄了个隐式增强,代码如下:

ABAP的ke51利润中心BAPI创建BAPI_PROFITCENTER_CREATE,以及利润中心增强字段的bapi传入

ABAP的ke51利润中心BAPI创建BAPI_PROFITCENTER_CREATE,以及利润中心增强字段的bapi传入

ABAP的ke51利润中心BAPI创建BAPI_PROFITCENTER_CREATE,以及利润中心增强字段的bapi传入

代码如下:

DATA: ls_return         LIKE bapiret2,
      ls_profitcenterid TYPE bapi0015id2,
      lv_validfrom      TYPE bapi0015_3-date,
      lv_validto        TYPE bapi0015_3-date,
      ls_basicdata      TYPE bapi0015_4,
      lt_companycodes   TYPE TABLE OF bapi0015_7,
      ls_companycodes   LIKE LINE OF lt_companycodes,
      lt_extensionin    TYPE  bapiparextab,
      ls_extensionin    LIKE LINE OF  lt_extensionin,
      ls_segment        TYPE ZAFI_002.

ls_profitcenterid-co_area = 'YS00'.
ls_profitcenterid-profit_ctr = 'FA133'.
lv_validfrom = '20200131'.
lv_validto  = '99991231'.
ls_basicdata-prctr_name = 'SDJK'.
ls_basicdata-long_text = 'MIAOSH'.
ls_basicdata-in_charge = 'FD'.
ls_basicdata-prctr_hier_grp = 'YS00'.

ls_companycodes-comp_code = '2000'.
ls_companycodes-assign_to_prctr = 'X'.
APPEND ls_companycodes TO lt_companycodes.

ls_segment-zzkunnr    = 'FA132'.
ls_segment-ZZKUNNRTXT = 'TXT324'.

ls_extensionin-structure = 'ZAFI_002'.
PERFORM frm_transfer_to_extensionin USING ls_segment CHANGING ls_extensionin.
APPEND ls_extensionin TO lt_extensionin.

CALL FUNCTION 'BAPI_PROFITCENTER_CREATE'
  EXPORTING
    profitcenterid           = ls_profitcenterid
    validfrom                = lv_validfrom
    validto                  = lv_validto
    basicdata                = ls_basicdata
*   ADDRESS                  = lt_COMPANYCODES
*   COMMUNICATION            =
*   INDICATORS               =
*   TESTRUN                  =
*   LANGUAGE                 =
  IMPORTING
    return                   = ls_return
*   PROFITCENTER             =
*   CONTROLLINGAREA          =
  TABLES
    companycodes             = lt_companycodes
    profitcenter_extensionin = lt_extensionin.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
    wait = 'X'.

FORM frm_transfer_to_extensionin USING is_bapi_extensionin TYPE any
                                 CHANGING cs_bapiparex TYPE bapiparex.
  DATA l_distance_characters TYPE i.
  FIELD-SYMBOLS <any> TYPE any.
  DESCRIBE DISTANCE BETWEEN cs_bapiparex-structure
  AND cs_bapiparex-valuepart1
  INTO l_distance_characters
  IN CHARACTER MODE.
  ASSIGN cs_bapiparex+l_distance_characters(*) TO <any>
  CASTING LIKE is_bapi_extensionin.
  <any> = is_bapi_extensionin.
ENDFORM.

代码方面需要注意的点就是那个ZAFI_002

相关文章:

  • 2021-05-01
  • 2022-12-23
  • 2022-01-18
  • 2021-05-21
  • 2021-07-12
  • 2021-12-27
  • 2021-04-13
猜你喜欢
  • 2021-08-27
  • 2021-04-10
  • 2021-04-17
  • 2021-04-13
  • 2021-04-14
  • 2021-12-18
  • 2021-07-14
相关资源
相似解决方案