1

我需要将 TCURR 表输出到 ALV 网格中。一切都很好,但是当用户按“有效自”日期(GDATU)对表格进行排序时,发生了奇怪的事情。升序排序相当于降序排序,反之亦然。之所以如此,是因为字段GDATU包含反转格式的日期,并且具有转换例程的域GDATU_INV,该转换例程INVDT可以即时转换日期。ALV 网格正确显示日期,但按倒置日期进行排序。

我是这样解决的:

  1. 我声明了类似于的表结构,并用 simpleTCURR替换了 domain 。 GDATU_INVDATUM
  2. 我将倒转日期转换为常用日期
  3. 我用转换后的日期填满了我的桌子
  4. LVC_FIELDCATALOG_MERGE根据TCURR我写的结构通过FM生成字段目录后

CONVEXIT、
REF_TABLE、DATATYPE

DOMNAME

GDATU 线值的字段

''、
''、
'DATS'、
'DATUM'。

有没有更有效和简单的解决方案来解决这个问题?

4

1 回答 1

2

您应该能够在 中使用新结构LVC_FIELDCATALOG_MERGE,而不是使用 TCURR,这意味着您不必事后覆盖字段目录中的设置。但这是一件很小的事情。

我认为您别无选择,只能使用具有按照您需要的方式运行的数据元素的结构。

不过,请查看 Simple ALV 类。( CL_SALV*) 它们有据可查,并且比现在过时的 ALV 功能模块更易于使用。(特别是生成字段目录的麻烦要少得多)。

于 2013-05-19T23:33:31.780 回答