Excel上传,时间字段格式奇怪,转换回标准时间?

2020-08-26 06:34发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

从ALV网格创建的Excel文件将保存到演示服务器。

一个字段是一个时间字段,在Excel中以HH:MM:SS格式显示。

文件由用户编辑。

使用"调用方法o_spreadsheet-> get_ranges_data"上载此编辑的Excel文件。

除时间字段外,按预期填充了填充有Excel数据的内部表。

Excel文件中的" 15:24:37"在方法返回的内部表中转换为" 0.642094907407407"。

那么,有谁知道这个数字是" 0.642094907407407",又如何将其转换回" 15:24:37"?

谢谢

布鲁斯

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

从ALV网格创建的Excel文件将保存到演示服务器。

一个字段是一个时间字段,在Excel中以HH:MM:SS格式显示。

文件由用户编辑。

使用"调用方法o_spreadsheet-> get_ranges_data"上载此编辑的Excel文件。

除时间字段外,按预期填充了填充有Excel数据的内部表。

Excel文件中的" 15:24:37"在方法返回的内部表中转换为" 0.642094907407407"。

那么,有谁知道这个数字是" 0.642094907407407",又如何将其转换回" 15:24:37"?

谢谢

布鲁斯

付费偷看设置
发送
6条回答
me_for_i
1楼 · 2020-08-26 07:37.采纳回答

经过一些分析,我发现它是如何将时间转换为分数的。

我已经编写了将小数转换回时间的代码。请检查这是否适用于您的情况。

数据:h TYPE N LENGTH 2,
        m N型长度2
        N型长度2
        v_time TYPE sy-uzeit,
        v_num TYPE浮点数。
 参数:p_text(40)TYpe c。
 v_num = p_text。
 v_num = v_num * 24。
 h = floor(v_num)。
 v_num = v_num-h。
 v_num = v_num * 60。
 m = floor(v_num)。
 v_num = v_num-m。
 v_num = v_num * 60。
 s = v_num。
 将h m的INTO v_time连接。
 写入:/v_time。
SAP小黑
2楼-- · 2020-08-26 07:12

您好专家

我正面临着同样的问题,但其他方式却正相反。 我正在努力将Excel上载到SAP标准功能,并且无法更改上面提供的代码。 有人可以建议excel需要进行哪些更改以使SAP不这样做吗?

谢谢

Mohit Gupta

追夢秋陽
3楼-- · 2020-08-26 07:12

0.642094907407407是15:24:37的文本表示形式。

我认为您必须在内部表中以时间格式(sy-uzeit)而不是文本来定义字段。

闻人可可
4楼-- · 2020-08-26 07:11

Luiz,

如果秒= 60,则将时间增加1秒。 有许多SAP标准功能模块处理加减时间。

Bruce

木偶小白
5楼-- · 2020-08-26 07:25

我尝试了您给定的公式,谢谢。 现在我应该解决日期问题

软件心理学工程师
6楼-- · 2020-08-26 07:26

大家好!

我只是遇到了同样的问题,除了一点点细节外,代码对我来说也很完美:

如果我输入的是08:00:00(内部为0,33333333),则输出为07:59:60。

所以..只要我有一个"尖锐"的时间,计算就会返回前一分钟的第二个60。

任何人都知道如何解决该问题吗? 那是计算错误还是缺少什​​么?

感谢您的解决方案!

一周热门 更多>