Abap 格式化显示的持续时间

Abap 格式化显示的持续时间,abap,dynpro,Abap,Dynpro,在SAP数据库中,有格式为PxDTyH的值,其中x是天数,y是小时数。类似于P2DT0H的值是2天+0小时。我可以通过SE16看到: 不幸的是,这与用户看到的完全一样,“3”对应于数据库中的索引(在上面的屏幕截图中没有看到)。 我想看看它的展示 没有索引(更改选项“在下拉列表中显示键”没有效果) 我想看“2天零小时”(或类似)而不是技术名称P2DT0H 在数据显示在组合框中之前,是否有方法处理数据?开发人员无法更改数据库中的格式,因为它会更改API 仅供参考:我只是一名测试人员,我不知道

在SAP数据库中,有格式为
PxDTyH
的值,其中x是天数,y是小时数。类似于
P2DT0H
的值是2天+0小时。我可以通过
SE16
看到:

不幸的是,这与用户看到的完全一样,“3”对应于数据库中的索引(在上面的屏幕截图中没有看到)。

我想看看它的展示

  • 没有索引(更改选项“在下拉列表中显示键”没有效果)
  • 我想看“2天零小时”(或类似)而不是技术名称
    P2DT0H
在数据显示在组合框中之前,是否有方法处理数据?开发人员无法更改数据库中的格式,因为它会更改API


仅供参考:我只是一名测试人员,我不知道如何用ABAP编码,但从其他编程语言的知识来看,我认为数据可以在显示之前进行转换。我不需要一个完整的答案,只需要一个指向SAP钩子或事件的指针就可以编写转换函数。

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

  • 获取您的域(用于
    PxDTyH
    值)或专门为此创建一个新域
  • 使用名称
    转换\u退出\u%name%\u输出创建FM,并将转换逻辑放入其中。应存在强制参数
    输入
    输出
  • 在域属性的Convers.routine字段中输入
    %NAME%
  • 启用“用户参数”中的“检查转换是否退出”复选框

  • 更多信息如下。

    这是SAP标准表还是自定义表(通常在名称开头有Y或Z)?如果它是标准表,您能提供它的名称吗?@Jagger:该表是/OURNAMESPACE/TABLENAME,因此它不是SAP标准表。您需要的输出是“P2DT0H”,没有前导“3”?简短的回答是:“是”。需要更多信息为您提供可能的解决方案。可以选择添加文本表以生成下拉列表中的描述,也可以创建逻辑以编程方式填充下拉列表。字段所用屏幕的完整数据模型和描述(如标准/自定义)将有所帮助。@Thomas若它是自定义表,则显示此数据的程序也必须是自定义表。因此,人们可以很容易地改变这些数据在组合框中的显示方式。这听起来很棒。不幸的是,我将离开公司,在我在这里的时候它不会被实施,所以我无法判断这是否会解决这个问题。