点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我们从一个单独的HR系统提供了一个加载文件,该文件以" dd/mm/yyyy"格式提供数据。 我们需要将其作为yyyy.dd加载到系统中,以便BPC可以将其存储为数值。
我对如何通过转换文件中的javascript将dd/mm/yyyy转换为yyyy/mm感到满意(请参见 https://jsfiddle.net/31c7ywdp/)。 但是,每当我对数据文件运行或验证此数据时,它总是会抛出错误,指出Line5:Dimension:SIGNEDDATA成员:06/05/2019在第5行中为非数字; 拒绝了。
现在,我担心转换/转换过程可能会初步检查是否有任何" AMOUNT"列已采用数字格式-但希望有人可以提出解决此问题的方法吗? 对我来说有意义的是,您可以接收不一定是数字格式的内容,然后将其转换为数字格式。 有人在BPC上做到过吗?
我知道我可以回到运行HR系统的团队,询问他们是否可以提供其他格式的文件(不确信他们可以提供),或者只是在上传之前甚至在Excel中手动操作文件 一些VBA将为最终用户执行此操作,如果我们没有这些步骤,我会更喜欢它。
我已经上传了我要使用的转换文件和转换文件中的javascript的屏幕截图。
谢谢
乔
(19.8 kB)
嗨,乔
我前段时间有类似的要求,并且注意到,如果您使用SIGNEDDATA,则不会发生数字数据类型验证,因此遵循Vadim的示例:
AMOUNT = * COL(10,2:2)不起作用
但是
SIGNEDDATA = * COL(10,2:2)可以(在BPC 10.1 NW,BW 7.5 SP7上测试)
您不能使用javascript转换,但可以在映射部分中编写相同的内容:
SIGNEDDATA = * IF(ACCOUNT = * STR(HRDB2083)THEN DATE(7:10)+ * str(。)+ DATE(4:5); DATE)
Hi Ibai
很高兴收到您的来信! :)
那太好了-很好的解决方法,请尝试一下。
谢谢
Joe
我怀疑转换例程在使用转换之前会检查数字数据类型!
您可以使用ROUTINE badi尽快进行转换。
乔·米切尔
这很简单!
您必须使用:
STARTROUTINE = BADIFILTERNAME
在转换选项中
阅读:
https://www.sap。 com/documents/2015/08/20211f55-557c-0010-82c7-eda71af511fa.html
还可以使用此badi调试过程...
使用此badi进行调试:
然后在SM50中找到无限循环并开始调试。
很有道理。 谢谢。
我可以确认,除了START ROUTINE badi之外,没有其他方法可以将某些字符串转换为数值。
一周热门 更多>