云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

文件存储_阿里云99一年活动_最新活动

小七 141 0

在这篇文章中,我将描述我自己扩展迁移对象"采购合同"以允许输入条件量表的经验。

根据SAP deliverd模板,我们只能输入简单的条件,没有数量和价值量表。如前一篇关于迁移驾驶舱的文章所述,我将演示使用BAPI创建合同并不困难。

虽然这篇博客文章专门针对购买合同,但您应该对任何迁移对象增强应用相同的方法。

开箱即用,交付的模板中不能填写比例:

如果您在迁移建模器(LTMOM)中打开对象,则可以确认,源结构中没有:

,结构映射中没有:

但是不要害怕,我们在家,记住目标结构实际上是BAPI BAPI合同的结构创建:

此简单地说,一旦我们知道如何调用BAPI,我们就知道如何从迁移驾驶舱调用它。等等,这听起来是个愚蠢的问题,但你知道如何创建一个合同吗?

以下可能是显而易见的,但正确的方法是不要去随机填充你的结构映射和字段映射,直到它工作。稍作喘息,一步一步地

用ME31K手工创建一个样本合同

首先,先创建一个带有比例条件的样本合同(如您所愿)。您可以使用ME31K或Fiori应用程序,如您所愿。

在我的情况下,我希望我的合同包含带刻度的价格条件。

尽量不要太简单,至少放2个项目,不同的值等。

尝试与BAPI创建相同的合同

现在我们有了一个样本合同,我们的目标是能够以编程方式访问同一文档。我们真的很幸运,因为这个BAPI不仅仅是一个单独的"Create"函数,而且包含了"GetDetails"这样的方法。

我不会详细解释什么是BAPI,但是你可能知道你可以用SWO1:

或事务BAPI:

甚至更简单的方式看到它(拥有这个函数的真实对象),大数据的概念,在功能组的对象列表中:

方法显示,实际上,在我们的例子中,BAPI\u CONTRACT\u GETDETAIL是一个很好的辅助函数,因为它会加快我们的分析速度:以我们的示例CONTRACT number作为参数调用BAPI\u CONTRACT\u GETDETAIL,将显示BAPI\u CONTRACT\u CREATE中许多预期的scales输入参数。

在SE37中调用它:

,输出结构和值会或多或少地反映预期输入参数:

在我的例子中,我的示例合同包含2个项目,两个价格条件都有3个步骤。我将通过总结我的分析步骤来节省您的时间,大数据风控,但是我推断输入参数中要填充的重要字段是:

比例类型,将在项目条件

中提供,当然,比例本身

然后,我在SE37中创建了一个变量,可以用BAPI\u TRANSACTION\u COMMIT在测试序列中执行:我的BAPI分析完成了,我确定了管理契约中的缩放条件所需的字段。我可以在LTMOM中设置相关的映射。

我重复了一遍又一遍,在LTMC中进行任何映射之前,您必须确定您的BAPI参数。首先通过在item structure下添加scales来调整源结构(它是BAPIMEOUTITEMSCALEQUAN的复制粘贴)

然后,映射所需的目标结构:

最后,映射item COND\u VALIDI的所需字段:

对于item\u CONDITION:

和scales(quantity):

您可能已经注意到2个自定义规则:

INIT\u LINE\u NO:这个将全局变量g\u scale\u item重置为1INCREMENT\u LINE\u NO:这个全局变量g\u scale\u item

g\u scale\u item是一个全局变量(您可以使用与LSMW中相同的方法),它将用于自动设置item\u COND\u scale-LINE\u NO中的值。

所有更改完成后,生成函数组。

如果您已经达到这个步骤,您清楚地知道BAPI合同创建所需的BAPI参数:这将是最后一步,您之前设置的所有映射操作都将应用于生成的函数中。

所有这些映射都是驾驶舱中不太"可见"的部分(但如果需要,您仍然可以对其进行调试)。若要确保在BAPI\u CONTRACT\u CREATE中按预期填充所有参数,请在其中设置外部断点,并检查所有参数是否正确填充。如果没有,请修复映射、重试等

我希望此解释足够清楚,云快卖,并将帮助您扩展SAP提供的迁移模板,云购,以满足您的需求。请记住,自建站平台,LTMOM不是一个单一的工具,数据创建的逻辑仍然在BAPI函数(或任何其他类似于客户/供应商的函数)之外。一旦你知道如何创建一个BAPI调用,你就在一个安全的地方。