点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我的方案是"文件到文件",我们每天都会从源系统获得一个文件中发生的销售交易,并且我们需要检查每15分钟完成的交易数量,并将这些详细信息发送给目标 系统。
我们从源文件中获取交易的日期和时间以及数量和价格。
销售124385 201910291010500001100
销售124385 201910291011500001 35.9
销售124385 201910291020500002 17.5
销售124391 201910291350070001 200
销售124391 201910291355070001 18.9
销售124392 201910291442290003 10.9
我正在使用下面的映射,并且能够每15分钟提取一次记录。
,但如果那15分钟内没有交易发生,我还需要填充0.00。 您能告诉我如何在UDF中添加该条件吗?
我需要更新此UDF使其包含-
就像在00:01到1:00之间没有交易一样,我们已经发送了0,0,0,0之类的数据(每15分钟发送一次)。
我们要检查直到一天结束(凌晨00:01到23:45)。
谢谢
(21.2 kB)
史密斯嗨,
根据我的理解,您使用的是子字符串(10..12),这是执行交易的实际时间。
我假设此文件每小时发送一次,而实际上每个小时您发送的事务数例如。 如果从xx:00到xx:15有2笔交易,从xx:16到xx:30有5笔交易,从xx:31 tp xx:45发生3笔交易,从xx:46到xx:59的0笔交易,您将发送 数据格式为[2,5,3,0](其中逗号表示上下文更改-您已使用标志启用了此功能)
我的解决方案很简单:
1。 声明四个柜台
int transFirstFifteen = 0;
int transSecondFifteen = 0;
int transThirdFifteen = 0;
int transFourthFifteen = 0;
2。 当您运行for循环并且满足您的任何条件时,将计数器增加1。 该值表示在该季度中至少发生了一笔交易。
3。 最后,按照上面的示例,您将具有以下条件:
int transFirstFifteen = 2;
int transSecondFifteen = 5;
int transThirdFifteen = 3;
int transFourthFifteen = 0;
4。 最后,而不是检查flag == 3 || 标志2等。只需在上下文更改中将值插入结果。
result.addValue(transFirstFifteen);
result.addContextChange();
result.addValue(transSecondFifteen);
result.addContextChange();
result.addValue(transThirdFifteen);
result.addContextChange();
result.addValue(transFourthFifteen);
result.addContextChange();
因此,使用此功能后,无需使用SS中显示的图形映射函数sum。
问候,
Khusal
以下是映射:
//由于您每小时需要四个条目,我们将全天候循环。 您需要将HH子字符串作为udf的附加参数(在for循环中由hourInput表示)。
//注意:确保事务从00:00到23:59升序排列。
你好史密斯
请尝试通过添加跟踪来调试程序。
一周热门 更多>