2020-08-22 10:16发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在处理SAP ABAP分配,在该分配中,我应该将数据从Excel文件上载到已经在SAP中创建的数据库表中。 我在Excel文件中有两列包含日期的日期,其中日期为11/18/2018(MM/DD/YYYY)格式。 但是当上传到内部表并更新数据库时,它显示为8//20/11/1。
这与未转换的值和显示的值之间的差异有关吗?
如果有人能帮助我解决此问题,我将不胜感激。
谢谢
>>这与未转换的值和显示的值之间的差异有关吗?
是的,首先,缺少转换(从" 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数据库表中:
export_row-date = import_row-date + 6(4)&& import_row-date(2)&& import_row-date + 3(2)。
迈克尔是正确的关于月份和日期的切换。 我使用CONCATENATE进行了月份和日期的切换,并且可以使用。
嗨
在SAP中,日期以YYYYMMDD格式存储-因此您需要将字符串转换为 格式,然后将其分配给上传字段。
示例-如果您从excel文件读取的变量的日期为08/01/2020-那么在分配之前,请编写以下语句将其重新转换
OR
将wa_file-date写入 targetfield'YYYYMMDD'。
致谢
Venkat
最多设置5个标签!
>>这与未转换的值和显示的值之间的差异有关吗?
是的,首先,缺少转换(从" MM/DD/YYYY"到" YYYYMMDD" ),然后在GUI中,这些错误复制的日期值也将显示为"错误"。
如果要在SAP中将Excel日期作为数据类型DATS(我强烈建议所有基础ABAP日期功能使用该日期),则必须将Excel日期字段转换为特定的8 数据类型为DATS的字符字段。
让我们假设您已经在表中具有导入行,并且该表中的导入行具有用于不同Excel行的单独的结构字段,并希望传输日期值(具有字符串或至少 char10类型(如果为字符串),请确保导入值的字符串长度至少为10个字符以避免转储,也可以从导入行到"导出"行进行其他值检查(如果需要) 将它们插入到SAP ABAP数据库表中:
谢谢
迈克尔是正确的关于月份和日期的切换。 我使用CONCATENATE进行了月份和日期的切换,并且可以使用。
嗨
在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
一周热门 更多>