ABAP ALV 动态显示列

ALV已能显示一个内表数据,根据用户选择的条件不同,现ALV表格中有的整列内容为0或为空,如何在程序中动态地设置显示或隐藏这些列?即整列为0时,这一列不显示.注意:条件不... ALV已能显示一个内表数据,根据用户选择的条件不同,现ALV表格中有的整列内容为0或为空,如何在程序中动态地设置显示或隐藏这些列?即整列为0时,这一列不显示.注意:条件不同时这一列可能又不为0. 则要显示.
read table gt_tab with key 列4 = 0 BINARY SEARCH. 这个好像不起作用呀,如果这一列中有的值为0,有的不是0,那么能搜索到, SY-SUBRC=0,则这一列就不显示了,我要的是只要有一个值不为0,那到这一列就要显示,只有整列为0,就不显示.
展开
 我来答
贼橙乐m
2010-09-26 · TA获得超过322个赞
知道答主
回答量:149
采纳率:0%
帮助的人:159万
展开全部
PERFORM F_INPUT_FIELDCAT USING:
'A' '列1',
'B' '列2',
'C' '列3'.

*如果不等于0就输出列4
sort gt_tab by 列4.
read table gt_tab with key 列4 = 0 BINARY SEARCH.
IF sy-subrc <> 0.
PERFORM F_INPUT_FIELDCAT USING 'D' '列4'.
endif.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT_LVC = WS_LAYOUT
IT_FIELDCAT_LVC = WS_FIELDCAT
TABLES
T_OUTTAB = GT_TAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.

*&---------------------------------------------------------------------*
*& Form F_INPUT_FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->VALUE(P_FIELD) text
* -->VALUE(P_NAME) text
*----------------------------------------------------------------------*
FORM F_INPUT_FIELDCAT USING VALUE(P_FIELD)
VALUE(P_NAME).
DATA: ST_FIELDCAT TYPE LVC_S_FCAT.
ST_FIELDCAT-FIELDNAME = P_FIELD.
ST_FIELDCAT-SCRTEXT_M = P_NAME.
APPEND ST_FIELDCAT TO WS_FIELDCAT.
CLEAR ST_FIELDCAT.
ENDFORM. "F_INPUT_FIELDCAT
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式