创建前检查 BAPI_ACC_DOCUMENT_CHECK
创建 BAPI_ACC_DOCUMENT_POST
测试运行的可以用CHECK 检查数据正确性
预制凭证生成 调用创建 BAPI_ACC_DOCUMENT_POST 需要传递一个参数值
在BAPI的凭证抬头数据结构中 将doc_status 字段状态设置为 2 生成的就是预制凭证 否则不传递值
凭证抬头数据
documentheader-comp_code = p_bukrs. "公司代码
documentheader-doc_type = gt_item01-blart. "凭证类型
documentheader-username = sy-uname. "用户名
documentheader-header_txt = gt_item01-bktxt. "抬头文本
documentheader-pstng_date = gt_item01-budat. "过账日期
documentheader-doc_date = gt_item01-bldat. "凭证日期
documentheader-fis_period = gt_item01-monat. "记账期间
documentheader-ref_doc_no = gt_item01-xblnr. "参考凭证号
documentheader-bus_act = 'RFBU'. "总账凭证,如果是资产类的不能是这个
IF rb_2 = 'X'. "预制凭证
documentheader-doc_status = '2'.
ENDIF.
* 凭证行项目数据 略
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = documentheader
* CUSTOMERCPD =
IMPORTING
obj_type = obj_type
obj_key = obj_key
obj_sys = obj_sys
TABLES
accountreceivable = accountreceivable
accountgl = accountgl
accounttax = accounttax
accountpayable = accountpayable
criteria = criteria
* VALUEFIELD =
currencyamount = currencyamount
return = return
* SALESORDER =
* SALESAMOUNT =
extension2 = extension2.