点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我的界面是Proxy(xml)-> PI-> SFTP(EDIFACT)。
我想使用NRO生成的序号来构造文件名(例如; EDI_DELFOR_
如果我将这个( $ B2B_UEBNRTestNRO $ B2B_END_UEBNR )映射到目标结构中的一个字段,我就能在文件中获得一个顺序号。
模块:
文件名UDF:
公共字符串FileName(字符串a,容器容器)抛出StreamTransformationException
{
尝试
{
DynamicConfiguration conf =(DynamicConfiguration)container.getTransformationParameters()。get(StreamTransformationConstants.DYNAMIC_CONFIGURATION); DynamicConfigurationKey键= DynamicConfigurationKey.create(" http://sap.com/xi/ XI/System/File "," FileName"); conf.put(key,a); 返回
}
捕获(异常e)
{
字符串异常= e.toString();
返回异常;
}}
nro.jpg (33.1 kB)
巴瓦那,
之所以将值获取为常量$ B2B_UEBNRTestNRO $ B2B_END_UEBNR的原因是因为您将值EDI_DELFOR_ $ B2B_UEBNRTestNRO $ B2B_END_UEBNR作为报头级别常量而不是有效负载传递,TransmissionNumberModule仅检查有效负载中的值而不是报头 级别,因此该值不会被计数器代替。
但是,当您在目标文件之一中传递$ B2B_UEBNRTestNRO $ B2B_END_UEBNR时,该计数器将替换为计数器,因为该计数器存在于目标有效负载中。
因此,如果您仍想为文件名计数器实现NRO,则需要在映射级别通过java api调用NRO,在这种情况下,无需增加TransmissionNumberModule,就可以增加值。
查看此博客,了解如何通过Java在映射级别访问NRO API:
https://blogs.sap.com/2016/09/01/use-case-nro-api-access-dynamic-counter-variable /
https://blogs.sap.com/ 2016/09/01/nro-access-from-mapping-esr /
请注意,要对此进行测试,必须从运行时运行接口,本地ESR测试会出错。
Br,
Manoj
通过映射访问的特定NRO变量不会在映射执行时更新,只会在模块级别再次更新。
但是那些您未通过api访问的遗漏的NRO变量将在模块级别更新。
Hello Manoj,
我有来自PIB2BCONTENT.SCA的jar文件 com.sap.aii.nro.interface.filter ,并导入到我的自定义命名空间SWCV中。 但是我很困惑如何使用函数库中的此导入的存档设置依赖性。
SAP注释下面的行:2035054
先决条件:
从" PIB2BCONTENT.SCA"档案中提取的" .jar"文件(com.sap.aii.nro.interface.filter.jar)应作为"导入的档案"导入到存储库中 对象。新的或现有的函数库应与此新导入的存档一起用作依赖项。
感谢
Bhavana,
除了此导入的存档,您还需要一个功能库,其中包含所有必需的UDF,我建议您仔细阅读 再次清楚地说明这些博客的博客:
Br,
Manoj
一周热门 更多>