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

本文介绍如何使用BusinessDataToolset在SAP Business Partner (BP)中添加自定义字段。文章详细解释了创建函数组并配置以显示新字段的过程,并特别强调了数据读取与保存所需的ABAP函数模块。
部署运行你感兴趣的模型镜像

 

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

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

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

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

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

  • Add New Tab to BP
  • Step by step procedure to enhance the BP using BDT(侧重于配置)

在按照这两份教程进行相关函数组的创建和配置后,我们发现,新增加的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

 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

SAP系统中,固定资产主数据的自定义字段扩展通常涉及以下几个方面: 1. **用户字段的定义** 在SAP中,可以通过事务码`OACB`(路径:`SPRO -> Financial Accounting -> Asset Accounting -> Master Data -> User Fields -> Change Key Words in the Evaluation Groups`)定义用户字段的关键词。这些关键词可用于在资产主数据中添加自定义字段[^2]。通过这种方式,可以在资产主数据中实现一些简单的自定义信息录入。 2. **屏幕增强(Screen Enhancement)** 为了在前台显示自定义字段,需要进行屏幕增强。通常使用事务码`AOLA`进入资产主数据的屏幕配置界面,并通过复制标准页签格式来创建客户自定义页签。在该页签中可以添加自定义字段。由于标准配置中页签行数限制为8行,因此有时需要直接修改表`TAMLAY1`的内容以扩展行数[^3]。 3. **自定义字段增强(Append Structure)** 在数据字典中,可以通过增强结构`CI_FBSL`或`CI_FBSLA`来添加自定义字段。这些结构用于增强资产主数据的字段内容,具体取决于所使用的资产主数据视图(如公司代码视图或资产类别视图)。增强后,需要在事务码`OABW`中激活增强结构,并确保字段在资产主数据屏幕中可见。 4. **字段选择(Field Selection)** 使用事务码`OABW`(路径:`SPRO -> Financial Accounting -> Asset Accounting -> Master Data -> Screen Layout -> Define Field Selection`)可以定义资产主数据字段的显示属性,如是否必填、是否隐藏等。通过字段选择,可以控制自定义字段在不同资产类别或公司代码下的显示行为。 5. **用户出口(User Exit)与BAdI增强** 在某些情况下,标准字段屏幕增强无法满足复杂业务需求。此时可以结合用户出口(如`EXIT_SAPLJ117_001`)或BAdI(如`FAGL_BADI_DERIVE_FIELDS`)来实现自定义字段的逻辑处理和数据填充。 6. **ABAP Dictionary 表扩展** 若需要持久化存储自定义字段的数据,可能需要对资产主数据相关表(如`ANLA`、`ANLB`等)进行扩展。通过SE11事务码,可以为这些表创建附加结构(Append Structure),从而实现字段的数据库级扩展。 ### 示例:增强CI_FBSL结构添加自定义字段 ```abap * 增强结构 CI_FBSL * 在SE11中打开结构 CI_FBSL,添加如下字段: ZCUSTOM_FIELD TYPE CHAR20, "自定义字段 ZDATE_FIELD TYPE D, "自定义日期字段 ZNUM_FIELD TYPE P DEC 2. "自定义数值字段 ``` ### 注意事项: - 在进行任何增强操作前,建议进行充分的测试,以确保不会影响现有业务流程。 - 所有增强操作应遵循SAP最佳实践,并考虑后续系统升级的兼容性。 - 若使用了SAP S/4HANA,部分传统增强方式可能已被替换为BAdI或自定义CDS视图。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值