Sorting 按倒排日期对ALV网格排序
我需要将TCURR表输出到ALV网格中。一切都进行得很顺利,但当用户按“有效起始日期”(Sorting 按倒排日期对ALV网格排序,sorting,grid,abap,alv,invert,Sorting,Grid,Abap,Alv,Invert,我需要将TCURR表输出到ALV网格中。一切都进行得很顺利,但当用户按“有效起始日期”(GDATU)对表进行排序时,奇怪的事情发生了。 按升序排序与按降序排序相同,反之亦然。这是因为字段GDATU包含反向格式的日期,并且具有域GDATU_INV和转换例程INVDT,该转换例程可动态转换日期。ALV网格正确显示日期,但排序是按倒排的日期进行的 我是这样解决的: 我声明了类似于TCURR的表结构,并将GDATU\u INV域替换为简单的DATUM 我把颠倒的日期转换成了通常的日期 我把转换后的日期填
GDATU
)对表进行排序时,奇怪的事情发生了。
按升序排序与按降序排序相同,反之亦然。这是因为字段GDATU
包含反向格式的日期,并且具有域GDATU_INV
和转换例程INVDT
,该转换例程可动态转换日期。ALV网格正确显示日期,但排序是按倒排的日期进行的
我是这样解决的:
TCURR
的表结构,并将GDATU\u INV
域替换为简单的DATUM
李>
TCURR
结构,通过FMLVC\u FIELDCATALOG\u MERGE
生成字段目录后参考表格,
数据类型,
域名 GDATU行值的字段 '',
'',
“DATS”,
分别为“基准”
有没有更有效、更简单的解决方案?您应该能够在
LVC\u FIELDCATALOG\u MERGE
中使用新结构,而不是使用TCURR,这意味着您不必在事后覆盖字段目录中的设置。但这是一件很小的事情
我认为您别无选择,只能使用具有数据元素的结构,该数据元素的行为符合您的需要
不过,一定要研究一下简单的ALV类。(CL\u SALV*
)它们有很好的文档记录,比现在过时的ALV功能模块更易于使用。(尤其是生成字段目录的麻烦要少得多)