问题标签 [badi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sap - SAP cProjects 复制:设置任务级 WBS
在 cProjects 中创建项目时,我使用BADI BADI DPR_FIN_GECCO_ATTR
它来操作在 SAP PS 中创建的外部 WBS ID。
SAP 接受我为阶段级别传递的 ID,但对于任务级别,SAP 将字符串“/TTO”附加到我的 WBS ID 的末尾。知道为什么会发生这种情况以及如何摆脱它。“/TTO”违反或屏蔽PS中的结构?
abap - IDOC_CREATION_CHECK 参数填充?
我正在检查接口的实现,IF_EX_IDOC_CREATION_CHECK
它有一个IDOC_DATA_CHECK
带有 3 个参数的方法:
- IDOC_CONTROL 类型 EDIDC
- IDOC_DATA 类型 EDIDD_TT
- CREATE_IDOC 类型 C
我的问题是我在互联网上找不到与此接口相关的文档,也找不到示例。我想具体知道IDOC_DATA
调用时参数有什么值?它是一次处理一种材料的 IDoc,还是携带所有材料的所有 IDoc?
让我头疼的代码是
当涉及到exit.
语句时,它会在不处理下一个 IDoc 的情况下退出循环,但我不知道它是否停止检查所有材料的所有下一个 IDoc,或者IF_EX_IDOC_CREATION_CHECK~IDOC_DATA_CHECK
使用下一组另一种材料的 IDoc 再次调用该方法.
不幸的是我不能用示例数据运行这个接口,因为它直接改变了其他系统的数据,所以我只能阅读代码。
因此,如果有人在此问题上有经验或参考,我将不胜感激。
提前致谢。
abap - 防止创建特定的信息类型记录?
我的目标是保护用户免受某些 HR 人员创建 105 信息类型(通信)的影响。我发现每次保存信息类型更新时都会调用HRPAD00INFTY BADI。但问题是我无法阻止在IN_UPDATE方法中创建/更新信息类型。
有人知道问题的解决方案吗?
abap - 用户相关的 BAdI 实施。如何?
有什么方法可以创建依赖于用户的 BAdI 实现吗?我的意思是,BAdI 有不同的实现,这些实现取决于登录的用户和调用特定事务的用户。
其他场景是不为该用户调用某些实现并为其他用户调用。有可能吗?
现在我正在使用简单的检查
sap - 以编程方式检索 SAP BPC 动态脚本源代码
我想知道如何检索 SAP BPC 包动态脚本的源代码。
我将尝试解释:在 SAP BPC 中,我可以编写一个名为 Dynamic Script 的组件,我可以使用 Excel 插件保存源代码。
动态脚本与 SAP BPC“包”相关联,是一段可以调用 ABAP BADI 的代码。
我想知道的是这段代码是如何存储在BW中的,它是如何链接到相关包的,以及如何以编程方式检索它。
谢谢你。
abap - 以编程方式从 BW 检索 BAdI。如何?
我想以编程方式检索使用 BW 生成的 ABAP 程序的源代码。
我想要一个 ABAP 程序,它可以使用名称作为参数检索 BADI 源,然后将源保存在本地磁盘上,将每个 BADI 保存在具有程序名称的文件中。
abap - 如何在 ME51n tcode 中的项目级别上使自定义字段可编辑?
我的要求是在交易 ME5xN 中的项目中添加一个自定义字段。
我发现出口 MEREQ001 有几个出口功能 - 但据我所知,它们并没有真正帮助我。
我在其中找到了一些 BADI,但我不知道如何使用它们,也不知道它们是否有用。
无论如何,在出口 MEREQ001 的文档中,我发现了一些有用的东西:它说通过创建表 CI_EBANDB 并向其中添加字段,这些字段被添加到表 EBAN 中(所以我不必做任何额外的工作)。
此外,此包含结构包含在用于显示项目的显示结构 MEREQ3211GRID 中。
因此我附加了 CI_EBANDB 和瞧:这是我的领域。
我现在的问题是该字段永远不可编辑,我不知道如何将其变为可编辑。
该表是一个 CONTROLS: xxx TYPE TABLEVIEW WITH SCREEN 3211。当我在屏幕循环中调用的模块中放置一个断点时,它永远不会命中它。
我看到在程序 SAPLMEGUI 中只有 1 个地方在调用 LVC_FIELDCATALOG_MERGE 时使用了这个结构,如果我修改结果的字段目录的属性,则输出在屏幕上可见....
底线:我不知道如何使我的字段可编辑。
PS 该字段在事务 ME51N 和 ME52N 中应始终可编辑。
abap - 如何扩展标准屏幕 F-41
我需要将 T 代码 F-41 扩展为Xref1_HD
, Xref2_HD
。
我知道有一个 BAdI,但我既没有使用过增强功能也没有使用过 BAdI,因为我还在学习。
有一个 Dynpro1300
和 BAdI FI_HEADER_SUB_1300
,但我真的不知道如何使用它。
我也在我的实现中找到SAPLBADI_EXAMPLE_1300
并使用了它。是否可以创建一个Z
程序和一个自己的 Dynpro 来使用它?
abap - BAPI、BAdI、增强和修改有什么区别?
BAPI(业务应用程序编程接口)、BAdI(业务插件)、客户增强和客户修改之间有什么区别?
abap - 通过 ME_PROCESS_REQ_CUST 使采购申请行无效
我试图阻止用户通过 BAdI 实施、检查行和帐户来保存采购申请。我抛出的错误消息不会停止保存过程,而且我找不到使该行无效的方法,就像我在 PO 中所做的那样。因此,可以保存包含错误数据的 PR。
我扩展了采购申请 BAdI 并IF_EX_ME_PROCESS_REQ_CUST
在ZCL_IM_EI_PROCESS_REQ_CUST
. 在方法 中PROCESS_ITEM
,PROCESS_ACCOUNT
我可以访问帐户和项目的多个导入。但与 PO 不同的是,我找不到使项目无效的方法。使用的所有类都没有提供该功能。
我在 BAPI 中可以访问的 PR 项目对象是接口的IF_PURCHASE_REQUISITION_ITEM
,在函数池中实现为本地类MEREQ
。与具有方法的 PO 项接口相比,此接口具有方法IS_VALID
但不提供任何使无效的内容INVALIDATE
。
编辑
经过更多调试后,似乎失效是通过MY_STATE-BROKEN_RULES
本地类的成员完成的MEREQ/LCL_REQ_ITEM
。知道如何访问它吗?