abap语言的alv程序中,如何控制单元格的零显示空

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap语言的alv程序中,如何控制单元格的零显示空相关的知识,希望对你有一定的参考价值。

我知道用no_zero可以控制列的零显示空,用lvc_t_styl可以控制单元格可以编辑,我的需求是控制单元格的零显示为空

ALV里面的no_zero可以控制列的前导零不显示,如果为0则不显示该列的值。但是ALV没有控制到具体单元格的功能,如果你要实现此需求,可以这样处理:
在显示的内表中添加一个CHAR类型的列,如果数字不为0,则该列值为空;如果数字为0,则将该数值直接等过去。在ALV显示的时候显示该列而不要显示对应的数字列
参考技术A 字段目录里的NO_ZERO 打X
ST_FIELDCAT-NO_ZERO = 'X'.
MODIFY GT_FIELDCAT FROM ST_FIELDCAT TRANSPORTING NO_ZERO
WHERE FIELDNAME EQ 'MATNR'.本回答被提问者采纳

ABAP中ALV的FUNCTION参数问题~

如下代码。。
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_callback_user_command = 'USER_COMMAND'
is_layout = gs_layout
it_fieldcat = it_field
it_sort = it_sort
i_save = 'A'
it_events = i_events
i_callback_top_of_page = 'TOP_OF_PAGE'
TABLES
t_outtab = it_out_table.

小弟初学ABAP,在学习ALV的使用,其中参数很多在挨个学习。。。请问 i_save = 'A'.这个参数代表什么意思?怎么用?找了很多地方找不到好的解释,好心前辈帮帮忙~谢谢,另外,it_sort那个参数好象完整程序里虽然有建立变量it_sort,但并未具体指定排序字段和规则。。。在这里却用到了会有效果吗?或者说是否有默认值在作用?

参考技术A SAP ABAP4编程语言。
给个资料参考。

新的include:Y_ERIC_ALV_FUNCTION
*&---------------------------------------------------------------------*
*& Include Y_ERIC_ALV_FUNCTION
*&---------------------------------------------------------------------*
*===============================ALV=====================
type-pools: slis.
data: i_fieldcat type slis_t_fieldcat_alv with header line.
data: i_events type slis_t_event.
data: i_layout type slis_layout_alv.
data: g_variant like disvariant.
data: l_ls_event type slis_alv_event,
l_title type lvc_title,
l_window_titlebar like sy-title,
ls_hype type lvc_s_hype,
gt_hypetab type lvc_t_hype.
* p_char(1).
*&---------------------------------------------------------*
define add_field.
i_fieldcat-tabname = &1. "内表名称
i_fieldcat-fieldname = &2. "字段名,大写
i_fieldcat-seltext_m = &3. "要显示的字段名
i_fieldcat-outputlen = &4. "长度
i_fieldcat-input = &5. "
i_fieldcat-hotspot = &6.
append i_fieldcat.
end-of-definition.
define display_data.
******启动命令功能********************************
refresh i_events.
call function 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = i_events.
read table i_events with key name = slis_ev_user_command
into l_ls_event.
if sy-subrc = 0.
move slis_ev_user_command to l_ls_event-form.
append l_ls_event to i_events.
endif.
********功能扩充**********************************
i_layout-zebra = 'X'. "颜色交替显示
i_layout-window_titlebar = l_window_titlebar. "抬头显示
i_layout-colwidth_optimize = 'X'. "优化
i_layout-group_change_edit = 'X'.
i_layout-f2code = &2.
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_save = 'X'
is_variant = g_variant
i_grid_title = l_title "抬头
it_hyperlink = gt_hypetab
it_events = i_events "事件
it_fieldcat = i_fieldcat[] "显示的内容和描述
is_layout = i_layout
TABLES
t_outtab = &1 "数据表
EXCEPTIONS
program_error = 1
others = 2.
end-of-definition.
selection-screen skip 1.
...
参考技术B ABAP?不懂,对C,C++算法略懂,这个不清楚。帮不了

以上是关于abap语言的alv程序中,如何控制单元格的零显示空的主要内容,如果未能解决你的问题,请参考以下文章

ABAP ALV中的颜色设置

abap开发中,在屏幕上怎样显示alv

ABAP ALV LVC_T_SORT 合并单元格问题

ABAP ALV 动态显示列

ABAP学习(11):ALV显示之OO ALV使用示例

ABAP ALV单个单元格状态编辑-简单版本