BAPI = BAPI_BILLINGDOC_CREATEMULTIPLE:
01功能描述:创建单个客户的发票
02功能结构:
03参数解析:
EXPORTING(输入参数)
CREATORDATAIN:发票的抬头信息
:选填项目
:填写说明{ CREATED_BY,创建人;CREATED_ON,创建日期}
TESTRUN:运行模式
:选填项目
:填写说明{'X',模拟运行;'',真实运行}
POSTING:直接记账
:选填项目
:填写说明{'X',直接记账}
TABLE(表参数)
BILLINGDATAIN:发票的行项目信息
:必填项目
:填写说明:
{
"手工开票":{
"SALESORG" :"销售组织",
"DISTR_CHAN" :"分销渠道",
"DIVISION" :"产品组",
"DOC_TYPE" :"销售凭证类型",
"ORDBILLTYP" :"建议的出具发票类型",
"SOLD_TO" :"售达方",
"ITEM_CATEG" :"销售凭证项目类别",
"REQ_QTY" :"数量",
"SALES_UNIT" :"销售单位",
"CURRENCY" :"SD凭证货币",
"NO_MATMAST" :"无法检查物料主数据",
//备注:=''时,工厂+物料号必输;='X'时,物料号+国家+税分类必输
"PLANT" :"工厂",
"MATERIAL" :"物料号",
"COUNTRY" :"发送货物的国家",
"TAXCL_1MAT" :"物料的税分类"
},
"参考开票":{
"REF_DOC" :"参考凭证号",
"REF_ITEM" :"参考行项目",
"REF_DOC_CA" :"参考凭证类型",
//备注:默认为J(交货单),其它情况取VBAK-VBTYP
"ORDBILLTYP" :"出票发票类型",
//备注:默认不填,系统会走配置获取;也可指定
"REQ_QTY" :"开票数量",
"BILL_DATE" :"出票日期",
}
}
CONDITIONDATAIN:条件表
:选填项目
:填写说明:无
CCARDDATAIN:卡信息
:选填项目
:填写说明:无
TEXTDATAIN:长文本
:选填项目
:填写说明:无
ERRORS:错误信息
:选填项目
:说明:无
RETURN:返回信息
:必填项目
:说明:可以获取不成功的具体原因
SUCCESS:成功信息
:选填项目
:说明:可以获取产生的发票信息
NFMETALLITMS:NF凭证信息
:选填项目
:说明:无
04 特殊说明:
根据SUCCESS返回参数判断创建发票的执行情况;若成功调用函数BAPI_TRANSACTION_COMMIT进行提交,若失败调用函数BAPI_TRANSACTION_ROLLBACK进行回滚。
但是在成功的情况下,虽然调用函数BAPI_TRANSACTION_COMMIT提交数据库,但是有时候还是没有提交成功,这是建议写代码根据SUCDESS返回的发票号查询发票信息表VBRK,如果成功,继续下面的业务操作,如果没有数据建议WAIT UP TO X SECONDS,人工等待几秒。