2016-09-30 116 views
1

在SAP数据库中,存在格式为PxDTyH的值,其中x是天数,y是小时数。像P2DT0H这样的值是2天+0小时。我可以看到,通过SE16显示的格式化持续时间

Data in database, screenshot from SE16

不幸的是,这也正是显示等向用户,“3”对应于在数据库中的索引(未示在上面的屏幕截图)。 Time displayed to user

我想看到它显示

  • 没有指数(改变“下拉列表中显示键”选项并没有产生效果)
  • ,而不是技术名称P2DT0H我希望看到“2天0时间”(或类似)

有没有一种方法以前被显示在组合框中来处理数据?开发人员无法更改数据库中的格式,因为它会更改API。我只是一个测试人员,我不知道如何在ABAP中编写代码,但是从其他编程语言的知识中,我会说数据可以在显示之前进行转换。我不需要一个完整的答案,只需要一个指向SAP钩子或事件的指针,它可以写入一个转换函数。

+0

这是SAP标准表还是自定义表(通常在其名称的开头使用Y或Z)?如果它是标准表格,你能提供它的名字吗? – Jagger

+0

@Jagger:表是/ OURNAMESPACE/TABLENAME,所以它不是SAP标准表。 –

+0

你想要的输出是'P2DT0H'而没有领先的'3'? – futu

回答

1

可能转换例程可能是您的一个选项。你应该做的是:

  1. 把你的域名(这是用于PxDTyH值)或专门为此创建一个新的。
  2. 创建名称为CONVERSION_EXIT_%NAME%_OUTPUT的FM,并在其中放置转换逻辑。强制性参数INPUTOUTPUT应该存在。
  3. 在域属性中输入%NAME%Convers.routine字段。
  4. 启用检查转换在用户参数中退出复选框。

更多的信息是here

+0

这听起来不错。不幸的是我会离开公司,在我来这里时不会执行,所以我不能判断这是否会解决问题。 –