创建获利段

事务代码:KE21N
BAPI:BAPI_COPAACTUALS_POSTCOSTDATA
前台操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表是业务配置的
在这里插入图片描述
配置路径:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码:BAPI不返回生成的凭证号和获利段,需要通过增强或者读表获取

    ls_copa_data-record_id = '000001'.
    ls_copa_data-fieldname  = 'BUDAT'.
    ls_copa_data-value  = sy-datum.
    APPEND ls_copa_data TO lt_copa_data.
    ls_copa_field-fieldname = 'BUDAT'.
    APPEND ls_copa_field TO lt_copa_field.
    CLEAR:ls_copa_data.

    ls_copa_data-record_id = '000001'.
    ls_copa_data-fieldname  = 'BUKRS'.
    ls_copa_data-value  = lv_bukrs.
    APPEND ls_copa_data TO lt_copa_data.
    ls_copa_field-fieldname = 'BUKRS'.
    APPEND ls_copa_field TO lt_copa_field.
    CLEAR:ls_copa_data.

    ls_copa_data-record_id = '000001'.
    ls_copa_data-fieldname  = 'VRGAR'.
    ls_copa_data-value  = 'B'.
    APPEND ls_copa_data TO lt_copa_data.
    ls_copa_field-fieldname = 'VRGAR'.
    APPEND ls_copa_field TO lt_copa_field.
    CLEAR:ls_copa_data.

    ls_copa_data-record_id = '000001'.
    ls_copa_data-fieldname  = 'WERKS'.
    ls_copa_data-value  = is_header-plant.
    APPEND ls_copa_data TO lt_copa_data.
    ls_copa_field-fieldname = 'WERKS'.
    APPEND ls_copa_field TO lt_copa_field.
    CLEAR:ls_copa_data.

    ls_copa_data-record_id = '000001'.
    ls_copa_data-fieldname  = 'ARTNR'.
    ls_copa_data-value  = is_header-material.
    APPEND ls_copa_data TO lt_copa_data.
    ls_copa_field-fieldname = 'ARTNR'.
    APPEND ls_copa_field TO lt_copa_field.
    CLEAR:ls_copa_data.

    ls_copa_data-record_id = '000001'.
    ls_copa_data-fieldname  = 'KNDNR'.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = is_header-supp_id
      IMPORTING
        output = is_header-supp_id.
    ls_copa_data-value  = is_header-supp_id.
    APPEND ls_copa_data TO lt_copa_data.
    ls_copa_field-fieldname = 'KNDNR'.
    APPEND ls_copa_field TO lt_copa_field.
    CLEAR:ls_copa_data.

    CALL FUNCTION 'BAPI_COPAACTUALS_POSTCOSTDATA'
      EXPORTING
        operatingconcern = 'XXXX'
        testrun          = ''
      TABLES
        inputdata        = lt_copa_data
        fieldlist        = lt_copa_field
        return           = lt_return.
    CLEAR:lv_message.
    LOOP AT lt_return INTO ls_return WHERE type = 'E' OR type = 'A'.
      IF  lv_message IS INITIAL.
        lv_message = lv_message && ls_return-message.
      ELSE.
        lv_message =  lv_message &&  ';' && ls_return-message.
      ENDIF.
    ENDLOOP.
    IF sy-subrc <> 0.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      WAIT UP TO '0.5' SECONDS.
      SELECT SINGLE MAX( paobjnr ) AS paobjnr FROM ce1mith
        WHERE vrgar = 'B'
          AND bukrs = @lv_bukrs
          AND werks = @is_header-plant
          AND artnr = @is_header-material
          AND kndnr = @is_header-supp_id
         INTO @DATA(lv_paobjunr).
      IF lv_paobjunr IS  INITIAL.
        ev_message = TEXT-004.
        ev_type = 'E'.
        RETURN.
      ENDIF.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      ev_message = lv_message.
      ev_type = 'E'.
      RETURN.
    ENDIF.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值