创建会计凭证保存前BTE增强
场景: 在会计凭证创建保存之前将凭证中的部分字段信息保存到自建表中
具体实现步骤如下:
- 进入事务码FIBF中,查找业务交易事件00001030(过帐凭证: 标准数据的过帐)和与之对应的SAMPLE函数SAMPLE_INTERFACE_00001030
- 根据SAMPLE函数拷贝创建自定义的Z函数
- 创建产品
- 将业务交易事件、产品和自定义Z函数关联起来
详细的实现步骤截图以及代码如下:
1. 查找交易事件00001030(过帐凭证: 标准数据的过帐)和与之对应的SAMPLE函数SAMPLE_INTERFACE_00001030
事务码: FIBF (菜单栏: 环境--->信息系统(P/S) )
点击执行按钮,其他选项保持默认
定位到业务事件00001030, 点击模式函数模块,查看SAMPLE 函数SAMPLE_INTERFACE_00001030
2. 根据SAMPLE函数拷贝创建自定义的Z函数
事务码: SE37
输入SAMPLE函数,点击拷贝按钮,创建自定义Z函数
在函数中实现相关逻辑去满足保存凭证信息到自定义表中
FUNCTION zfi_interface_00001030.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_BKDF) LIKE BKDF STRUCTURE BKDF
*" VALUE(I_UF05A) LIKE UF05A STRUCTURE UF05A
*" VALUE(I_XVBUP) LIKE OFIWA-XVBUP DEFAULT 'X'
*" TABLES
*" T_AUSZ1 STRUCTURE AUSZ1 OPTIONAL
*" T_AUSZ2 STRUCTURE AUSZ2 OPTIONAL
*" T_AUSZ3 STRUCTURE AUSZ_CLR OPTIONAL
*" T_BKP1 STRUCTURE BKP1
*" T_BKPF STRUCTURE BKPF
*" T_BSEC STRUCTURE BSEC
*" T_BSED STRUCTURE BSED
*" T_BSEG STRUCTURE BSEG
*" T_BSET STRUCTURE BSET
*" T_BSEU STRUCTURE BSEU
*"----------------------------------------------------------------------DATA: lt_data TYPE TABLE OF zpjxx,ls_data TYPE zpjxx,lt_temp TYPE TABLE OF zpjxx,ls_temp TYPE zpjxx,lt_copy TYPE TABLE OF zpjxx,ls_copy TYPE zpjxx,ls_bseg TYPE bseg,ls_bkpf TYPE bkpf.CLEAR: lt_data,ls_data,lt_temp,ls_temp,lt_copy,ls_copy,ls_bseg,ls_bkpf.LOOP AT t_bseg INTO ls_bseg WHERE hkont = '0011110000' OR hkont = '0011110001' .ls_data-bukrs = ls_bseg-bukrs. "公司代码ls_data-gjahr = ls_bseg-gjahr. "会计年度ls_data-belnr = ls_bseg-belnr. "凭证编号ls_data-docln = ls_bseg-buzei. "行项目号ls_data-zuonr = ls_bseg-zuonr. "发票号ls_data-xref3 = ls_bseg-xref3. "票据开具日期ls_data-zfbdt = ls_bseg-zfbdt. "票据到期日ls_data-dmbtr = ls_bseg-dmbtr. "金额READ TABLE t_bkpf INTO ls_bkpf INDEX 1.IF sy-subrc = 0.ls_data-rwcur = ls_bkpf-waers. "货币ENDIF.CONCATENATE ls_bseg-belnr ls_bseg-bukrs ls_bseg-gjahr ls_bseg-buzei INTO ls_data-zz_value SEPARATED BY '#'.APPEND ls_data TO lt_data.CLEAR: ls_data, ls_bseg.ENDLOOP.IF lt_data IS NOT INITIAL.SELECT * INTO TABLE lt_tempFROM zpjxxFOR ALL ENTRIES IN lt_dataWHERE bukrs = lt_data-bukrsAND zuonr = lt_data-zuonr.IF sy-subrc = 0 AND lt_temp IS NOT INITIAL.CLEAR: ls_temp.READ TABLE lt_temp INTO ls_temp WITH KEY zsfzy = 'X'.IF sy-subrc = 0.INSERT zpjxx FROM TABLE lt_data.lt_copy = lt_data.ELSE.CLEAR: ls_temp.LOOP AT lt_temp INTO ls_temp.READ TABLE lt_data INTO ls_data INDEX 1.IF sy-subrc = 0.UPDATE zpjxx SET zsfzy = 'X'zbelnr = ls_data-belnrzdocln = ls_data-doclnzgjahr = ls_data-gjahrWHERE bukrs = ls_temp-bukrsAND gjahr = ls_temp-gjahrAND belnr = ls_temp-belnrAND docln = ls_temp-doclnAND zuonr = ls_temp-zuonr.ls_copy = ls_temp.ls_copy-zsfzy = 'X'.ls_copy-zbelnr = ls_data-belnr.ls_copy-zdocln = ls_data-docln.ls_copy-zgjahr = ls_data-gjahr.APPEND ls_copy TO lt_copy.CLEAR: ls_copy.ENDIF.CLEAR: ls_temp.ENDLOOP.ENDIF.ELSE.INSERT zpjxx FROM TABLE lt_data.lt_copy = lt_data.ENDIF.ENDIF.IF lt_copy IS NOT INITIAL.EXPORT lt_copy TO MEMORY ID 'ZFI_PIAOJU_XINXI'.ENDIF.ENDFUNCTION.
3. 创建产品
事务码:FIBF (菜单栏: 设置 ---> 产品 ---> 一个客户的)
维护产品名称和文本描述,并且注意勾选激活复选框
4. 将业务交易事件、产品和自定义Z函数关联起来
创建会计凭证保存前BTE增强相关推荐
- SAP MM ME21N保存前检查增强
想在ME21N保存前做一些数据检查, 可以做一个增强功能, 运行 CMOD 新增, 增强接口 输入 MM06E005 ( EXIT_SAPMM06E_012 ) ,在 NCLUDE ZXM06 ...
- 2021-10-19 SAP 创建会计凭证 BTE替代利润中心
创建会计凭证 BTE替代利润中心 FIBF ZSAMPLE_PROCESS_00001120
- BAPI - BAPI_ACC_DOCUMENT_POST 创建会计凭证,表增强 扩展字段
使用BAPI创建会计凭证需要注意的一点是,行项目最多不能超过1000行 FUNCTION zyktrfm_acc_document_post. *"--------------------- ...
- Business Transaction Events BTE 增强
BTE 介绍 BTEs Are enhancements that were developed for the Financial Accounting (FI) component BTEs Ha ...
- 创建Facebook广告前的准备工作有哪些?
现在使用Facebook广告进行引流的跨境电商不在少数,那创建Facebook广告前的准备工作有哪些?需要注意的事项又是什么? 账号准备 需要准备一个稳定的个人账号:企业的广告账户以及公共主页 Fac ...
- OPENCV图像创建,保存和复制
OPENCV图像的创建,保存和复制 这是官方中讲稿的一个例子 /*************************************************** cvLoadImage, cvS ...
- 如何使用SAP CRM增强工具AET创建Table表格类型的增强
Jerry创建于2019年1月11日周五. 第一步,创建一个起包裹作用的SAP CRM UI component,用于容纳这个表格类型的UI增强: 点击按钮Create UI component,指定 ...
- 【Spring-AOP-学习笔记-3】@Before前向增强处理简单示例
项目结构 程序代码 HelloImpl.java WorldImpl.java 定义切面类 package org.crazyit.app.aspect; import org.aspectj.lan ...
- python cookies过期_Python3中关于cookie的创建与保存
1.cookie的作用 cookie 是指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据,就像有些网站上的一些数据是需要登录后才能看得到,那么想抓取某个页面内容,就需要用 ...
最新文章
- PHP生成PDF完美支持中文,解决TCPDF乱码
- setInterval和setTimeout的区别以及setInterval越来越快问题的解决方法
- 最优二叉树(哈夫曼树)知识点
- 解决The current branch is not configured for pull No value for key branch.master.merge found in confi
- 给一个金额字符串插入逗号分隔 保留两位有效数字
- 牛津书虫系列双语读物
- android TextView EditTextView一些技巧使用 (视图代码布局)
- 面试必备:synchronized的底层原理?
- ODBC连接达梦数据库配置
- STM32与FPGA Cyclone IV芯片fsmc通信
- 通过HOOK获取QQ游戏登录密码
- 计算机网络知识点总结——第三章数据链路层
- 【IDEA保姆级教程】快捷键
- mac下后端开发常用软件
- 来自菜鸟的逆袭,闭关修炼一个月,出关后成功拿下阿里,蚂蚁金服,美团三个大厂意向书!
- 医疗系统流程软件测试用例,如何写全流程的测试用例 - rose8561900的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
- 校园公交车管理系统设计
- 欧瑞变频器故障码表_尼得科变频器故障代码处理一览表
- 外文翻译原文附在后面_外文翻译及外文原文(参考格式).doc
- 地下室气味难闻,地下室车库co浓度报警一招解决!
热门文章
- 计算机64位只有2g,电脑插了4G内存,但只有2G左右可以用,为什么 WIN7 64位
- windows下hadoop的部署和使用
- cesium获取模型高度_180套经典夹具设计方案(附详解+模型),原来夹具设计这么简单!...
- 3款开源软件帮你缩短链接
- 用计算机打根号怎么打,根号在电脑上怎么打出来啊?
- APMSERV 配置失败 或80端口被占用最全解决办法 100%解决
- apmserv mysql5.1启动失败_apmserv启动失败的原因以及解决方法
- 怎么用U盘制作原版系统启动盘
- Java 基础核心总结
- TNN MatConverter CvtColor NV21TOBGR