FB01 F-02 BAPI: BAPI_ACC_DOCUMENT_POST

最简单的过账:

FB01或者F-02

4cd5ef39f50df391f889f5ed747dbbdb.jpeg

3981b335fe5cebd926a0e6a69c7ab91c.jpeg

d98ad1ccc1252a1befd7ea47cf898b6f.jpeg

FB03查看

440cbd5d583fae4960b467e9eadf87c1.jpeg

一般默认都是BAPI_ACC_DOCUMENT_POST

三个参数

aec5d235244529c9a89912b8188bc006.jpeg

demo代码

CLEAR: ls_acc_gl,ls_acc_cur,lt_acc_cur[],lt_acc_cur[],ls_doc_header.
    ls_doc_header-header_txt   =
    ls_doc_header-username   = sy-uname.
    ls_doc_header-comp_code  =
    ls_doc_header-doc_date   =
    ls_doc_header-pstng_date = 
    ls_doc_header-fisc_year  =
    ls_doc_header-fis_period = 
    ls_doc_header-doc_type   = 'SA'.

    ls_acc_gl-item_text  =
    ls_acc_gl-itemno_acc  = 1.
    ls_acc_gl-doc_type = 'SA'.
    ls_acc_gl-comp_code = 
    ls_acc_gl-pstng_date = 
    ls_acc_gl-fisc_year  = 
    ls_acc_gl-fis_period = 
    ls_acc_gl-gl_account  = 


    APPEND  ls_acc_gl TO lt_acc_gl.

    ls_acc_gl-itemno_acc  = 2.
    ls_acc_gl-gl_account  = 


    APPEND  ls_acc_gl TO lt_acc_gl.

    ls_acc_cur-itemno_acc = 1.
    ls_acc_cur-currency =  
    ls_acc_cur-amt_doccur = 
    APPEND ls_acc_cur TO lt_acc_cur.

    ls_acc_cur-itemno_acc = 2.
    ls_acc_cur-currency =  
    ls_acc_cur-amt_doccur =   
    APPEND ls_acc_cur TO lt_acc_cur.

    CALL FUNCTION 'BAPI_ACC_DOCUMENT_CHECK'
      EXPORTING
        documentheader = ls_doc_header
      TABLES
        accountgl      = lt_acc_gl
        currencyamount = lt_acc_cur
        return         = lt_return.

    READ TABLE lt_return TRANSPORTING NO FIELDS
      WITH KEY type = 'E'.
 
    CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
      EXPORTING
        documentheader = ls_doc_header
      IMPORTING
        obj_type       = lv_type
        obj_key        = lv_key
        obj_sys        = lv_sys
      TABLES
        accountgl      = lt_acc_gl
        currencyamount = lt_acc_cur
        return         = lt_return.

下面内容可以参考博文:

http://blog.sina.com.cn/s/blog_3f2c03e30100mk24.html

有一些参数在BAPI_ACC_DOCUMENT_POST的输入和表参数中根本没有,如记账码Posting Key、原因代码Reason Code,

解决办法大体如下:

1、se11创建结构,必须包含行项目号POSNR字段,和其他需要扩展的字段,如记账码Posting Key、原因代码Reason Code

2、SE19实现BADI增强ACC_DOCUMENT,这个增强是用来将BAPI_ACC_DOCUMENT_POST参数表EXTENSION2传入系统表

3、使用BAPI_ACC_DOCUMENT_POST参数表EXTENSION2,将扩展字段传入

486c70e74ec2e2dfe3b81e1d0b5bdc7d.jpeg

DATA: ACCOUNTGL TYPE STANDARD TABLE OF BAPIACGL09.

DATA: CURRENCY_AMOUNT TYPE STANDARD TABLE OF BAPIACCR09.

DATA: RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE.

DATA: IT_EXTENSION2 TYPE STANDARD TABLE OF BAPIPAREX WITH HEADER LINE.

DATA: WA_ZEXTEN LIKE ZEXTEN. ”ZEXTEN就是刚才SE11创建的那个结构

*& EXTENSION2 扩展字段增强部分

  WA_ZEXTEN-POSNR = '0000000010'. "凭证行项目

  WA_ZEXTEN-RSTGR = '171'. "凭证行项目原因代码

  IT_EXTENSION2-STRUCTURE  = 'ZEXTEN'.

  IT_EXTENSION2-VALUEPART1 = WA_ZEXTEN.

  APPEND IT_EXTENSION2.

 *执行BAPI

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

  EXPORTING

    DOCUMENTHEADER = HEADER

  TABLES

    ACCOUNTGL         = ACCOUNTGL

    CURRENCYAMOUNT = CURRENCY_AMOUNT

    RETURN         = RETURN

    EXTENSION2     = IT_EXTENSION2

2e337b60bb48461c141e0d5a5acb1232.gif

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值