FICO 创建会计凭证并自动计算税率
自动计算税率:CALCULATE_TAX_FROM_GROSSAMOUNT
创建会计凭证:BAPI_ACC_DOCUMENT_POST
示例代码如下:
DATA: LS_HEADER TYPE BAPIACHE09.DATA: LV_KEY TYPE BAPIACHE09-OBJ_KEY.DATA: LT_ACCOUNTGL TYPE STANDARD TABLE OF BAPIACGL09.DATA: LS_ACCOUNTGL TYPE BAPIACGL09.DATA: LT_RECEIVABLE TYPE STANDARD TABLE OF BAPIACAR09.DATA: LS_RECEIVABLE TYPE BAPIACAR09.DATA: LT_CURRENCY TYPE STANDARD TABLE OF BAPIACCR09.DATA: LS_CURRENCY TYPE BAPIACCR09.DATA: LT_EXTENSION TYPE STANDARD TABLE OF BAPIPAREX.DATA: LS_EXTENSION TYPE BAPIPAREX.DATA: LS_ACCOUNTTAX TYPE BAPIACTX09.DATA: LT_ACCOUNTTAX TYPE STANDARD TABLE OF BAPIACTX09.DATA: LT_RETURN TYPE STANDARD TABLE OF BAPIRET2.DATA: LS_RETURN TYPE BAPIRET2.DATA: LS_EXTEN TYPE ZACCIT.DATA: LV_NUM TYPE POSNR_ACC.DATA: LV_WRBTR TYPE WRBTR.DATA: LV_TAX TYPE WRBTR.DATA: LV_MESSAGE TYPE STRING.*headLS_HEADER-DOC_TYPE = LS_SELECT-BLART.LS_HEADER-USERNAME = SY-UNAME.LS_HEADER-REF_DOC_NO = LS_SELECT-XBLNR.LS_HEADER-COMP_CODE = LS_SELECT-BUKRS.LS_HEADER-DOC_DATE = SY-DATUM.LS_HEADER-PSTNG_DATE = SY-DATUM.LS_HEADER-FISC_YEAR = SY-DATUM+0(4). "会会计年度LS_HEADER-FIS_PERIOD = SY-DATUM+4(2). "会计期间*应收LV_NUM = LV_NUM + 1.LV_WRBTR = LV_WRBTR + GS_INVOICE-WRBTR.CLEAR:LS_RECEIVABLE.LS_RECEIVABLE-ITEMNO_ACC = LV_NUM.IF GS_INVOICE-HKONT IS NOT INITIAL.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGINPUT = GS_INVOICE-HKONTIMPORTINGOUTPUT = LS_RECEIVABLE-GL_ACCOUNT.ENDIF.IF GS_INVOICE-PRCTR IS NOT INITIAL .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGINPUT = GS_INVOICE-PRCTRIMPORTINGOUTPUT = LS_RECEIVABLE-PROFIT_CTR.ENDIF.LS_RECEIVABLE-TAX_CODE = GS_INVOICE-MWSKZ.APPEND LS_RECEIVABLE TO LT_RECEIVABLE.CLEAR:LS_CURRENCY.LS_CURRENCY-ITEMNO_ACC = LV_NUM.LS_CURRENCY-CURRENCY = GS_INVOICE-WAERS.LS_CURRENCY-AMT_DOCCUR = - GS_INVOICE-WRBTR.APPEND LS_CURRENCY TO LT_CURRENCY.CLEAR:LS_EXTENSION,LS_EXTEN.LS_EXTEN-POSNR = LV_NUM. "凭证行项目LS_EXTEN-BSCHL = GS_INVOICE-BSCHL. "凭证行项目过账码LS_EXTENSION-STRUCTURE = 'ZACCIT'.LS_EXTENSION-VALUEPART1 = LS_EXTEN.APPEND LS_EXTENSION TO LT_EXTENSION.
*税IF GS_INVOICE-MWSKZ IS NOT INITIAL .CLEAR:LT_TAX_INFO.CALL FUNCTION 'CALCULATE_TAX_FROM_GROSSAMOUNT'EXPORTINGI_BUKRS = GS_INVOICE-BUKRSI_MWSKZ = GS_INVOICE-MWSKZI_WAERS = GS_INVOICE-WAERSI_WRBTR = GS_INVOICE-WRBTRTABLEST_MWDAT = LT_TAX_INFO.IF LT_TAX_INFO IS NOT INITIAL .LOOP AT LT_TAX_INFO INTO LS_TAX_INFO.CLEAR:LV_TAX.CLEAR:LS_ACCOUNTTAX.LV_NUM = LV_NUM + 1.LS_ACCOUNTTAX-ITEMNO_ACC = LV_NUM.LS_ACCOUNTTAX-TAX_CODE = GS_INVOICE-MWSKZ.LS_ACCOUNTTAX-ACCT_KEY = LS_TAX_INFO-KTOSL.LS_ACCOUNTTAX-COND_KEY = LS_TAX_INFO-KSCHL.LS_ACCOUNTTAX-TAXJURCODE = LS_TAX_INFO-TXJCD.LS_ACCOUNTTAX-TAXJURCODE_DEEP = LS_TAX_INFO-TXJCD_DEEP.LS_ACCOUNTTAX-TAXJURCODE_LEVEL = LS_TAX_INFO-TXJLV.APPEND LS_ACCOUNTTAX TO LT_ACCOUNTTAX.CLEAR:LS_CURRENCY.LS_CURRENCY-ITEMNO_ACC = LV_NUM.LS_CURRENCY-CURRENCY = GS_INVOICE-WAERS.LV_TAX = GS_INVOICE-WRBTR * ( LS_TAX_INFO-MSATZ / 100 ) .LS_CURRENCY-AMT_DOCCUR = - LV_TAX.LS_CURRENCY-AMT_BASE = LS_TAX_INFO-KAWRT.APPEND LS_CURRENCY TO LT_CURRENCY.LV_WRBTR = LV_WRBTR + LV_TAX.ENDLOOP.ENDIF.ENDIF.
*合计
*allLV_NUM = LV_NUM + 1.CLEAR: LS_ACCOUNTGL.LS_ACCOUNTGL-ITEMNO_ACC = LV_NUM.IF LS_SELECT-KUNNR IS NOT INITIAL .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGINPUT = LS_SELECT-KUNNRIMPORTINGOUTPUT = LS_ACCOUNTGL-CUSTOMER.ENDIF.LS_ACCOUNTGL-GL_ACCOUNT = '0000012000'.APPEND LS_ACCOUNTGL TO LT_ACCOUNTGL.CLEAR:LS_CURRENCY.LS_CURRENCY-ITEMNO_ACC = LV_NUM.LS_CURRENCY-CURRENCY = LS_SELECT-WAERS.LS_CURRENCY-AMT_DOCCUR = LV_WRBTR.APPEND LS_CURRENCY TO LT_CURRENCY.CLEAR:LS_EXTENSION,LS_EXTEN.LS_EXTEN-POSNR = LV_NUM. "凭证行项目LS_EXTEN-BSCHL = '01'. "凭证行项目过账码LS_EXTENSION-STRUCTURE = 'ZACCIT'.LS_EXTENSION-VALUEPART1 = LS_EXTEN.APPEND LS_EXTENSION TO LT_EXTENSION.CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'EXPORTINGDOCUMENTHEADER = LS_HEADER
* CUSTOMERCPD =
* CONTRACTHEADER =IMPORTINGOBJ_KEY = LV_KEYTABLESACCOUNTGL = LT_ACCOUNTGLACCOUNTRECEIVABLE = LT_RECEIVABLE
* ACCOUNTPAYABLE = LT_PAYACCOUNTTAX = LT_ACCOUNTTAXCURRENCYAMOUNT = LT_CURRENCY
* CRITERIA =
* VALUEFIELD =
* EXTENSION1 =RETURN = LT_RETURNEXTENSION2 = LT_EXTENSION.READ TABLE LT_RETURN INTO LS_RETURN WITH KEY TYPE = 'E'.IF SY-SUBRC = 0.LOOP AT LT_RETURN INTO LS_RETURN WHERE TYPE = 'E'.CONCATENATE LV_MESSAGE LS_RETURN-MESSAGE INTO LV_MESSAGE." 错误消息ENDLOOP.ENDIF.
FICO 创建会计凭证并自动计算税率相关推荐
- 【FICO系列】SAP 创建会计凭证(FB01)的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 创建会计凭证(FB01) ...
- 2021-10-19 SAP 创建会计凭证 BTE替代利润中心
创建会计凭证 BTE替代利润中心 FIBF ZSAMPLE_PROCESS_00001120
- SAP ABAP BAPI 创建会计凭证
DATA:gs_docheader TYPE bapiache09,gt_curramount TYPE TABLE OF bapiaccr09, "金额gs_curramount TYPE ...
- BAPI - BAPI_ACC_DOCUMENT_POST 创建会计凭证,表增强 扩展字段
使用BAPI创建会计凭证需要注意的一点是,行项目最多不能超过1000行 FUNCTION zyktrfm_acc_document_post. *"--------------------- ...
- 创建会计凭证保存前BTE增强
场景: 在会计凭证创建保存之前将凭证中的部分字段信息保存到自建表中 具体实现步骤如下: 进入事务码FIBF中,查找业务交易事件00001030(过帐凭证: 标准数据的过帐)和与之对应的SAMPLE函 ...
- SAP FICO 创建利润中心 BAPI_COSTCENTER_CHANGEMULTIPLE
本人诚心接ABAP远程开发任务,价格公道,有需要的联系我,欢迎个人,甲方爸爸,乙方私信联系. DATA: LS_PROFITCENTERID TYPE BAPI0015ID2.DATA: LS_BAS ...
- SAP FICO 创建及修改成本中心
本人诚心接ABAP远程开发任务,价格公道,有需要的联系我,欢迎个人,甲方爸爸,乙方私信联系. 业务要求 SAP 与OA 对接,客户从OA填完数据后在SAP端创建成本中心 BAPI_COSTCENTER ...
- SAP FICO 创建修改会计科目 GL_ACCT_MASTER_SAVE
本人诚心接ABAP远程开发任务,价格公道,有需要的联系我,欢迎个人,甲方爸爸,乙方私信联系. 客户要求,SAP与OA对接,用户通过OA创建和修改会计科目 BAPI:GL_ACCT_MASTER_SAV ...
- 创建会计凭证BAPI_ACC_DOCUMENT_CHECK 原因代码和凭证类型必须增强
实现badi ACC_DOCUMENT DATA: WA_EXTENSION TYPE BAPIPAREX, ZEXT_DATA TYPE ZFIDOCUMENT. FIELD-SYMBOLS: TY ...
最新文章
- mysql查看当前实时连接数
- JAVA基本字节类型
- 本地项目如何连接码云上的项目
- 调查一下 大家用vs时做网页时,都用的什么标准?
- 应届生求职产品经理系列【三】:0岁产品经理的八大困惑(上)
- opencv:畸变矫正:透视变换算法的思想与实现
- 前端学习(1358) :渲染模板默认
- graphics | 基础绘图系统(三)——添加文本标注、坐标轴线和图例
- python生成随机密码串
- BZOJ 1492 货币兑换Cash
- virtualmin修改php.ini,virtualmin安装和配置使用
- grpc python 负载均衡_Ambassador 0.52 新特性:会话亲和性、负载均衡控制、gRPC-Web
- 在sqlexpress中添加DB和在sql analyzer中操作DB.
- html5 动态图表FineReport优化报表取数
- 控制系统|反馈系统的稳定性分析
- RS-485 通讯协议简介
- 代数拓扑笔记(1) —— 胞腔复形
- c语言实验报告评语大全,实验报告总结
- 武汉坚守第六十一天——运动健康相关联,牛尿神奇为哪般
- 静候Google I/O 2014大会开幕