问题标签 [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.

0 投票
1 回答
25565 浏览

commit - BAPI_TRANSACTION_COMMIT 与 BADi 中的 WAIT = 'X'

当在 BADi 中等于 'X' 时,使用带有 'WAIT' 参数的 'BAPI_TRANSACTION_COMMIT' 会有什么影响?我是否应该期望 SAP 在 LUW 提交时提交数据?

我知道如果您指定参数“WAIT”=“X”,在“BAPI_TRANSACTION_COMMIT”内部会发生“COMMIT WORK”或“COMMIT WORK AND WAIT”。

我也知道在 BADi 中进行“提交工作”是不正确的,但如果我通过 BAPI 使用“提交工作并等待”?

关于 COMMIT 的 SAP 文档说:

这将按照注册顺序和在公共数据库 LUW 中执行所有高优先级 (VB1) 更新功能模块。如果不指定添加AND WAIT,程序不会等到更新工作进程执行完毕(异步更新),而是在COMMIT WORK后立即恢复。但是,如果指定了添加AND WAIT,COMMIT WORK 之后的程序处理将不会继续,直到更新工作进程执行了高优先级更新功能模块(同步更新)。

当所有高优先级更新功能模块都成功完成后,该语句将低优先级(VB2)更新功能模块按照注册的顺序一起执行到公共数据库LUW中。

我的困惑是因为我们有一个 BADi 实现,其中使用参数“WAIT”=“X”调用了上述函数,并且我们发现了一个 SAP Notes,它禁止在该 BADi 中使用“COMMIT WORK”,但是它说“提交工作”而不是“提交工作并等待”。

因此,我可以认为该实现是正确的,因为当 LUW 完成时将提交该数据……与否。任何意见?

0 投票
1 回答
2575 浏览

abap - Z 字段中的用户输入未在 CUSTOMER_ADD_DATA BAdI 中处理

我需要知道在自定义字段中使用用户输入来处理(保存和显示)什么。

我的设置:
- Transactions XD..(例如 XD02)的新子屏幕
- 使用 badi customer_add_data 和 customer_add_data_cs
- 向表中添加了一些自定义字段,例如 KNA1
- 使用 dynpros 为 Transactions XD.. 创建功能组
​​- 新客户字段显示在 XD 中..

但是,我在新字段中输入的任何内容似乎都没有得到处理。我不知道如何继续我的实施。

我在 BADI 中尝试过的内容:

我在 PBO 中尝试显示自定义字段值的方法

我必须使用 customer_add_data 和 customer_add_data_cs 的哪些接口方法?我的 dynpro 的 PBO/PAI 中必须写什么?

例如,如果新字段是:knvv-zfoo 和 knvv-zbar,解决方案会如何。

我是自定义 SAP 的新手,需要一些关于如何使用 BADI 的一般指导。

0 投票
1 回答
1773 浏览

sap - 如何从 C# 执行 BAPI_ACC_DOCUMENT_POST 中的 BADI?

我必须在BAPIacc_document的参数中将数据传递给 BAdI ,但我不知道如何使用 SAP .Net 连接器来做到这一点。extension1bapi_acc_document_post

有什么建议么?

问候,德温德

0 投票
0 回答
595 浏览

abap - SAP HR OM BAdI 未检测到 IN_UPDATE 更改

我们已经实现了 BADI ZHR_INT_BAD_OM_INFTY 和方法 IN_UPDATE。现在,当一些用户保存他们的 OM 工作时,不会触发 IN_UPDATE 方法。

调试的问题在于,当您进入abap 调试器时,后台的“东西”会被提交。

我们的目标是列出最近的 OM 更改以进行 delta 检测。

我们实现的代码示例:

0 投票
2 回答
3031 浏览

abap - CO11N 中生产订单确认的用户退出?

我在 YouTube 上观看了很多视频,并且对如何找到用户出口(增强功能?)并实施它们有了基本的了解。但是,当我尝试复制我所看到的内容时,它似乎不起作用。

我希望创建一个用户出口,当生产订单通过 CO11N 确认(关闭/完成)时执行。有人建议我输入一行代码“BREAK 用户名”。这样我就可以验证我的代码是否正在触发。什么都没有。我试过从网上找到的代码中输入一条消息

不显示任何消息。我已经激活了包含和项目。我尝试了不同的退出/包含,无论我做什么,似乎都没有破坏或显示消息。

我缺少一些简单的东西吗?我试过 CONFPI05 和 CONFPM05。

0 投票
1 回答
3987 浏览

abap - 在 MIRO 中的 E 错误消息后启用输入错误字段?

我正在通过 BADI MRM_HEADER_CHECK 在 tx MIRO 中进行验证,当“reference”字段已被使用时,我会显示一条消息。该消息的类型为 E,这会禁用屏幕上的每个字段,因此用户无法返回该字段来修复其值。

截图 Tcode MIRO

供参考:

  • 我必须显示消息类型 E,因为我想阻止除红色圈出的两个字段之外的所有字段。我看到人们的建议使用这个:

  • 如果我把断点SY-DINNR设置为 6000。

  • 在我的 BADI 代码LOOP AT SCREEN中没有看到我想要禁用的字段名称。

  • MESSAGE <msg> TYPE 'S' DISPLAY LIKE 'E'也不行

我无法修改我的 BADI 代码之外的代码,例如在 PAI 和 PBO 模块中:

这是我的 BADI 代码:

有任何想法吗?提前致谢。

0 投票
1 回答
961 浏览

abap - 从业务插件调用 WebDynpro 的弹出窗口?

我们得到了一个使用 Floorplan Manager 创建的 Web Dynpro 应用程序。通过单击特定按钮,我启动了一个业务插件,它检查一些条件,然后它应该在屏幕上显示一个弹出窗口,并为用户显示一条消息。有没有办法我可以做到这一点?

0 投票
1 回答
444 浏览

commit - F4IF_INT_TABLE_VALUE_REQUEST 弹出窗口中的隐式提交?

我注意到在上述循环之间存在隐式提交。

现在我在一个 BADI 中,在那里我实现了一个方法,该方法有助于说明那里不应该有任何提交。但是,我有一个最好通过这种方法实现的要求。

我使用F4IF_INT_TABLE_VALUE_REQUEST模块允许用户通过弹出窗口进行选择。

现在我需要知道这个弹出窗口是否隐式触发了提交,因为还涉及到 PBO-PAI 循环。是吗?

0 投票
2 回答
433 浏览

reference - 在 ABAP 中可以对 cl_gui_alv_grid 对象进行脏分配吗?

需要验证通过主题中提到的技巧可以轻松解决的新需求。

除了顾问所说的肮脏的认识之外,他还允许我们使用肮脏的分配。

所以我开始,在一个 BADI 方法中,让两个脏分配正常工作。

一种是分配一个不引用 GUI 对象的对象,另一种是仅分配一个数据表。两者都驻留在同一个其他程序中。

现在我想从同一个程序的 ALV 网格之一中分配一个字段符号。

SY-SUBRC返回0,但后面的字段符号指向INITIAL。我可以想象,就安全性而言,这是不允许的。

无论如何,我只是在这里要求对我的假设进行确认或更正。

0 投票
1 回答
3568 浏览

abap - ME51N如何配置OCI目录?

我们需要从 ME51N tcode(采购申请)连接到外部目录。这种集成必须完全从 ECC 端完成,并且不应与 SRM 链接。

我尝试在两个不同的地方配置 OCI。让我解释一下每个结果和疑问。我不需要这两种解决方案,只需要一种就能满足我的需求。

  1. 路径:SPRO-> IMG-> 物料管理-> 采购-> 环境数据-> Web 服务:ID 和描述

在这里,我能够配置与目录的连接,在将其定义为默认值后,我在 ME51N 的工具栏上获得了进入目录的按钮。我可以选择数据并将其返回到采购申请。但是,客户发送的某些数据与我们在物料管理中配置的数据不同,例如,如果他们发送的物料组我们没有收到的物料组被删除,我看不到目录返回的内容对于那个领域。

我已经搜索了一种映射这些字段的方法,并可能插入一些 Z 代码来映射这些值并按照我们的需要填充它们,但我还没有找到任何有用的东西,大多数文档都是为 SRM 制作的,而不是为 ECC 制作的。

那么,如何映射/配置从目录返回的这些值?我目前正在查看 BADI ME_PROCESS_REQ_CUST 以根据目录返回的内容进行更改,但这为时已晚,因为那时未配置的值已被删除。

  1. 由于我无法配置它,我尝试了另一种方式,使用这条其他路径,这确实让我可以选择将目录中的字段映射到 SAP 的标准字段,甚至可以设置退出以添加个人逻辑。

路径:SPRO->IMG->工厂维护和客户服务->维护和服务处理->维护和服务订单->使用目录(OCI)进行采购的接口->定义目录。

但是,我无法在 ME51N 中显示这些目录的链接。这些目录可以链接到 ME51N 吗?

谢谢