bapi_acc_document_post使用说明

bapi_acc_document_post适用于创建会计凭证,功能与前台FB01等相同,其输出是创建的会计凭证号。 该bapi时常与badi ACC_DOCUMENT配合使用,在标准功能的基础上实现客户化需求。

1.    bapi常用参数说明

参数名

说明

用法举例

DOCUMENTHEADER

财务凭证抬头结构,存放凭证类型、日期等

*  抬头 
    ls_documentheader doc_type    = 'SA'. "总帐科目凭证 
    ls_documentheader username    =  sy uname 
    ls_documentheader comp_code   =  pt_main bukrs 
    ls_documentheader doc_date    =  pt_main budat_cb 
    ls_documentheader pstng_date  =  pt_main budat_cb 
    ls_documentheader fisc_year   =  pt_main budat_cb+0 (4). 
    ls_documentheader fis_period  =  pt_main budat_cb+4 (2). 
    ls_documentheader ref_doc_no  =  pt_main belnr .  "CO凭证

ACCOUNTGL

存放与总账相关的行项目信息。

    ls_accountgl itemno_acc  =  lv_itemno .         "行项目号 
      ls_accountgl item_text   =  pt_main kstar_txt . "科目描述 
      ls_accountgl gl_account  =  pt_main kstar .     "科目 
      ls_accountgl costcenter  =  pt_main kostl .     "成本中心 
       APPEND  ls_accountgl  TO  lt_accountgl 
       CLEAR  ls_accountgl .

ACCOUNTRECEIVABLE

存放与客户相关的行项目信息,可设定特殊总账标识。

  ls_accountreceivable itemno_acc  = 10.                "行项目号 
    ls_accountreceivable customer    =  pt_main bukrs_in .  "转入方公司代码 
    ls_accountreceivable sp_gl_ind   = 'E'.               "特殊总账标识 
     APPEND  ls_accountreceivable  TO  lt_accountreceivable 
     CLEAR  ls_accountreceivable .

ACCOUNTPAYABLE

存放与供应商相关的行项目信息,可设定特殊总账标识。

  lv_itemno  =  lv_itemno +  10. 
    ls_accountpayable itemno_acc  =  lv_itemno .          "行项目号 
    ls_accountpayable vendor_no   =  pt_main bukrs .      "转出方公司代码 
    ls_accountpayable sp_gl_ind   = 'D'.             "特殊总账标识 
     APPEND  ls_accountpayable  TO  lt_accountpayable 
     CLEAR  ls_accountpayable .

ACCOUNTTAX

存放与税相关行项目

***************行项目30 税 
    ls_accounttax itemno_acc  = 30.                      "行项目号 
    ls_accounttax gl_account  = '0022210118'.            "科目 
    ls_accounttax tax_code    = 'X3'.                   "税码 
     APPEND  ls_accounttax  TO  lt_accounttax 
     CLEAR  ls_accounttax .

CURRENCYAMOUNT

存放所有行项目与金额相关的信息,正负对应的记账码系统能自动处理一些,如正40,负50等。

**    行项目金额设定 
    lv_sum  =  lv_sum *  ( -1 ). 
    ls_currencyamount itemno_acc  =  lv_itemno .         "行项目号 
    ls_currencyamount -currency   = 'RMB'.             "货币单位 
    ls_currencyamount amt_doccur  =  lv_sum .            "合计金额 
     APPEND  ls_currencyamount  TO  lt_currencyamount 
     CLEAR  ls_currencyamount .

2.    实例讲解

通过Tcd:FB01创建一张凭证,分别有以下行项目(无需分析业务合理性,只能技术角度考虑)

 

行项目号

科目

金额

说明

特殊总账

10

020101

1000

总账科目

20

YH50

500

客户

09E

30

YHG3

1590-

供应商

39E

40

22210118

90

税X3, 6%

 

 

 

  

上述数据使用bapi过账时,设定如下

1、 行项目10存入 ACCOUNTGL

2、 行项目20存入应收,总账标识E

3、 行项目30存入应付,总账标识D

4、 行项目40存入税,税基、税额、税码都要填写。

5、 10-40行对应的金额都要存入 CURRENCYAMOUNT。

 

代码见附件

效果

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值