将日期从Excel文件传输到内部表(日期格式问题)

2020-08-22 10:16发布

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

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


大家好,

我正在处理SAP ABAP分配,在该分配中,我应该将数据从Excel文件上载到已经在SAP中创建的数据库表中。 我在Excel文件中有两列包含日期的日期,其中日期为11/18/2018(MM/DD/YYYY)格式。 但是当上传到内部表并更新数据库时,它显示为8//20/11/1。

这与未转换的值和显示的值之间的差异有关吗?

如果有人能帮助我解决此问题,我将不胜感激。

谢谢

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

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


大家好,

我正在处理SAP ABAP分配,在该分配中,我应该将数据从Excel文件上载到已经在SAP中创建的数据库表中。 我在Excel文件中有两列包含日期的日期,其中日期为11/18/2018(MM/DD/YYYY)格式。 但是当上传到内部表并更新数据库时,它显示为8//20/11/1。

这与未转换的值和显示的值之间的差异有关吗?

如果有人能帮助我解决此问题,我将不胜感激。

谢谢

付费偷看设置
发送
3条回答
d56caomao
1楼 · 2020-08-22 10:29.采纳回答

>>这与未转换的值和显示的值之间的差异有关吗?

是的,首先,缺少转换(从" MM/DD/YYYY"到" YYYYMMDD" ),然后在GUI中,这些错误复制的日期值也将显示为"错误"。

您的逻辑:
 EXCEL => ABAP => SAP界面
 MM/DD/YYYY => YYYYMMDD => MM/DD/YYYY
 11/18/2018 => 11/18/20 => 8//20/11/1


 预期逻辑:
 EXCEL => ABAP => SAP界面
 MM/DD/YYYY => YYYYMMDD => MM/DD/YYYY
 11/18/2018 => 20181118 => 11/18/2018
 

如果要在SAP中将Excel日期作为数据类型DATS(我强烈建议所有基础ABAP日期功能使用该日期),则必须将Excel日期字段转换为特定的8 数据类型为DATS的字符字段。

让我们假设您已经在表中具有导入行,并且该表中的导入行具有用于不同Excel行的单独的结构字段,并希望传输日期值(具有字符串或至少 char10类型(如果为字符串),请确保导入值的字符串长度至少为10个字符以避免转储,也可以从导入行到"导出"行进行其他值检查(如果需要) 将它们插入到SAP ABAP数据库表中:

  1. 首先,您将年份的第六个位置的四个字符
  2. 与月份的前两个字符相连接
  3. ,最后将其与来自月份的两个字符相连接 当天的第三位置
 export_row-date = import_row-date + 6(4)&& import_row-date(2)&& import_row-date + 3(2)。

谢谢

迈克尔是正确的关于月份和日期的切换。 我使用CONCATENATE进行了月份和日期的切换,并且可以使用。

Bunny_CDM
3楼-- · 2020-08-22 10:47

在SAP中,日期以YYYYMMDD格式存储-因此您需要将字符串转换为 格式,然后将其分配给上传字段。

示例-如果您从excel文件读取的变量的日期为08/01/2020-那么在分配之前,请编写以下语句将其重新转换

< p> concatinae wa_file-date + 6(4)wa_file-date + 3(2)wa_file-date + 0(2)到目标变量中

OR

将wa_file-date写入 targetfield'YYYYMMDD'。

致谢

Venkat

一周热门 更多>