SAP S4/HANA BP屏幕增强添加自定义字段(BDT方式)

喜欢博主的读者也许会意识到,这是本博客中第一篇有关屏幕增强的文章。之前没有总结过相关的东西,除了因为相关经验有限之外,我个人也是不喜欢所谓dynpro编程的,它有许多“潜规则”一样的东西要记住,想要运用熟练,就需要花些力气去学,而它又十分老旧,在SAP的发展路线中处于即将被淘汰的地位..即便学成,可能也没什么用处。

但是在S4开始普及的这段时间里,我们毕竟还是使用着GUI。过去的供应商、客户的事务代码被废弃,相关的功能被整合到事务代码BP(Business Partner)中,因此相应的增强也要改在这里做,原有的经验已经失去意义。考虑到这种需求可能十分普遍,而网上的资料十分的少(大部分搜索结果都是都是有关CRM的增强),我打算简要地写下在BP增强添加字段的方法。

有CRM开发经验的开发者会知道,在CRM系统中可以使用EEW、AET等方式进行相关增强,使用起来十分便利。然而在非CRM系统中是找不到这两项功能的。系统中也不会有相关的BADI。

这里我们可以使用的技术是Business Data Toolset(以下简称BDT)。

以下是网络上的两个step by step教程,我和同事按照这两份教程进行过增强:

在按照这两份教程进行相关函数组的创建和配置后,我们发现,新增加的tab页可以正确显示数据,但并不能保存。

经验证,问题出在没有写相应的保存方法。(奇怪的是,上面的教程在这方面似乎十分轻描淡写)

对于BUT000的增强字段而言,可以在ISDAT事件中调用FM: BUP_BUPA_BUT000_GET 以获取数据,该事件负责了PBO过程中显示数据的获取;在DSAVB事件中通过FM: BUP_BUPA_BUT000_COLLECT ,该事件应当负责将数据放入内存;这两者在上面的博客中也有所提及。另外要注意的是:在DSAVE事件中调用FM: BUP_MEMORY_BUT000_FILL 将数据写入数据库。

以上是实践中可行的办法。至于AbapLog中的教程为什么行不通,这背后的原理是什么,我没有深究。读者如果有兴趣的话,不妨自行阅读相关的SAP文档。

此外,表BUT000(BP主数据)和表LFA1(供应商主数据)、KNA1(客户主数据)之间可以通过表CVI_VEND_LINK、CVI_CUST_LINK进行连接,也有相关的快速访问视图可以使用。

本文链接:http://www.cnblogs.com/hhelibeb/p/7412792.html

时间: 2024-12-12 11:04:03

SAP S4/HANA BP屏幕增强添加自定义字段(BDT方式)的相关文章

关于SAP S4 HANA 的13个问题

SAP S/4HANA的路线图是怎样的?价格是多少?下一步还将添加哪些新模块?莫不闻专业SAP问答平台结合SAP HANA及SAP HANA应用商务套件开发全球负责人Uwe Grigoleit帮大家整理了一些关于SAP新一代商务套件的关键问题.1.SAP S/4HANA能为客户带来哪些商业价值?投资回报期有多久?谁会是直接受益者?基于SAP HANA平台开发的SAP S/4HANA是全新一代的SAP商务套件.其特点是简化.高效以及一些非常瞩目的优势,比如:针对传统交易的大量规划和模拟选项.SAP

C#调用SAP S4/HANA Gateway Service

公司使用SAP,并且实施公司做了一些提供报表数据的接口供调用,首先说明一下我对SAP不熟悉 但SAP用到的接口信息提供大家参考一下,这些Gateway Service使用的是DCP方式写的,SAP提供数据的协议叫:OData 相关资料大家自行百度.Google.bing 进入T-Code:SEGW 点击Open Project按钮打开对应的接口 双击DPC_EXT之后就进入类构建器,类似于WebService的东西吧 这里要注意的是有HeaderSet.ItemSet的区别,但我不知道有什么区别

SAP S4 HANA Cloud PA Course内容目录

S4C10-Implementing SAP S4HANA Cloud – Procurement 2 S4C30-Implementing SAP S4HANA Cloud – Finance 5 S4C60-Implementing SAP S4HANA Cloud – Sales 9 S4F01-Financial Accounting in SAP S4HANA for SAP ERP FI Professionals 13 S4F02-Management Accounting in

【ABAP系列】SAP ABAP DYNP_VALUES_UPDATE 更新屏幕字段的函数及用法

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP DYNP_VALUES_UPDATE 更新屏幕字段的函数及用法 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 ? 用这两个函数Function DYNP_VALUES_READ, DYNP_VALUES_UPDATE 参考代码: MODULE ztmdno_dr_help INPU

SAP 物料主数据屏幕增强

1. 用事务代码OMT3C,(或者用SPRO进入,后勤-常规->物料主记录->配置物料主记录->创建定制子屏幕的程序)创建函数功能组,如ZMGD1,然后保存. 2. 用事务代码SE80进入,选择函数组ZMGD1,在屏幕0001里面建立自己的布局. 3. 书写屏幕的PBO和PAI.PROCESS BEFORE OUTPUT.* MM01时限制输入状态  MODULE disable_fields.* MM02/MM03时把数据从自定义表里取出来,赋值给屏幕相应的字段  MODULE get

物料主档的屏幕增强

1.创建FOUNCTION  GROUP SPRO->后勤-常规->物料主数据->配置物料主记录->创建定制子屏幕的程序 按照说明创建ZMGD1 founction group. 2.SE80,选择函数组,可以看到ZMGD1下有两个子屏幕 新建包含程序时必须是:L+ZMGD1+三位后缀 3.从SAPLMGD1这个程序中复制需要的子屏幕,同时修改上面的字段,或者是自建的子屏幕 4.下面的步骤就和网上的一样,直接复制网上的流程 module disable_field:通过判断如果是M

SAP订单编排和流程增强概述

SAP产品里的订单处理,无论是On-Premises解决方案还是云产品,我认为归根到底可以概括成四个字:订单编排,包含两个层次的内容: 1. 单个订单通过业务流程或者工作流驱动的状态迁移: 2. 多种订单类型协同工作,完成一个完整的端到端的业务员流程. 比如SAP CRM里经典的User Status(用户自定义状态)和System Status(SAP标准状态)的设计,通过引入Business Transaction将两者关联起来,完美地实现了用户自定义订单状态被SAP标准程序的感知. 下图左

关于DEDECMS自定义模型当中添加自定义字段后在后台添加内容后不显示解决方案

用DEDECMS的时间也不长,最近在做一个站时,就遇到了这个问题(自定义字段在后台不显示内容)中添加自定义字段后在后台编辑打开后发现我之前添加的内容不显示,如果是只是看看不单击确定的话,那么在前台数据的调用就是正常的,但是再次回到后台发现,那个几个字段就是不显示,没办法,在网上查了一下,还是没有找到问题的原因,算了于是自己看了一下他的附加表当中是不是有什么问题,打开后发现了,原来是在数据库里面字段的名是大写(PS:我在添加自定义字段是喜欢首字母大写)应该不会是这个问题吧!于是我把他们改成了小写字

MIGO 屏幕增强

实现不步骤: 第一步.新建一个自定义的透明表:zmkpf,同时维护它的SM30的可编辑性(se55).如图: 第二步: se80 选择program:输入SAPLMIGO_BADI_EXAMPLE,可以看到下面的FOUNCITON MODULE(MIGO_BADI_EXAMPLE),或者自己新建一个F类型的founction module 程序, 在MIGO_BADI_EXAMPLE中新增三个funciton ,用于输入,显示和保存 第三步: 在BADI:MB_MIGO_BADI中做屏幕增强 0