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

域名注册_自己架设游戏服务器_高性能

小七 141 0

在这个博客中,数据更新,购物返现,我解释了如何扩展迁移对象并向BAPI的扩展结构提供数据

场景

一些BAPI支持通过接口中的表参数EXTENSIONIN和EXTENSIONOUT对客户添加的字段进行扩展

在我的示例中,我将扩展迁移对象设备并提供ETM数据(设备和工具)管理)对于通过extensionIn向功能模块BAPI\ U EQUI\ U CREATE追加结构J\ U 3GEQUIA和J\ U 3GEQUZA,物联网的,

此BAPI的接口有扩展字段:

参数的定义类似于结构BAPIPrex:

因此,您必须在字段结构中提供结构的名称,以及该结构中所有字段的数据字段VALUEPART1,因此结构只能包含类似字符的字段:

如果您想阅读更多关于扩展概念的内容,你可以阅读https://blogs.sap.com/2014/06/24/bapi-extension-for-customer-added-fields/。

前提条件

本博客基于S/4HANA 1709 FPS2,对更高版本也应有效。

于2018年11月14日更新

LTMOM中引入了S/4HANA 1610 FPS2,因此,永久免费自助建站平台,这种方法在旧版本中不起作用。(对于1610 FPS2到1709 FPS1之间的版本,我不知道它是否工作。)

我为文件上载项目和暂存项目执行了必要的步骤。截图取自基于文件的项目。

BAPI本身不处理扩展字段中的数据,但需要BADI实现。在BAPI BAPI\u EQUI\u的情况下,必须创建BADI BADI\u EAM\u ITOB\u BAPI\u CUST\u字段,这不是本博客的一部分。

在迁移对象建模器中扩展对象

在迁移驾驶舱中,对象设备只有一个源结构EQUI,正如您在迁移对象建模器(事务)中查看源结构所看到的LTMOM):

备注

我更喜欢显示字段和结构名称的技术视图,大数据分析方法,而不是描述。视图可以在菜单设置中切换为技术名称开/关。

BAPI的目标结构扩展是一个表;因此,我们必须在源结构S_EQUI下添加一个新的源结构。我的示例不需要结构扩展输出。

切换到更改模式,然后右键单击"设备",选择"将结构附加到较低级别:

输入附加结构的名称和说明并确认。我将结构命名为S_Extension in并使用说明"Extension Fields":

现在添加必需的字段:

备注

字段equinr是迁移驾驶舱将此结构中的条目链接到上层结构中的设备所必需的。

其他字段按函数的结构Extension中的定义输入模块。

现在我们需要通过外键关系将结构链接到父结构S_EQUI:

在第一行输入eqnr,在第二行保留首字母:

确认并保存更改。

在目标结构中,我们不需要更改任何内容。

在结构映射中,我们需要将新结构S_扩展映射到通过拖放进行结构扩展:

保存更改。

在字段映射中,我们需要通过拖放将源结构中的字段映射到目标结构中相应的字段:

只有链接到结构设备时才需要字段等式,因此我们不将其映射到目标结构。

保存更改。

生成对象:

现在您可以跳转到迁移驾驶舱(事务LTMC)并测试您的扩展:

下载新的xml模板后,您会看到一个新的工作表扩展字段;屏幕截图显示了一些示例数据:

在这里您填写了设备编号和扩展结构的名称及其值。

根据注释2630183调试迁移对象显示这些值正确地传递给了BAPI:

扩展结构中的内容:

每个设备都调用了BAPI,因此,表扩展现在只包含我上传文件中第一个设备的两行。

如前所述,本博客中没有描述BAPI中数据的处理;如果您需要信息,请查看BAPI:技术对象中的注释2146575客户字段。