ABAP 自己制作的屏幕 PAI如何获得ALV的双击事件,就想标准程序REUSE_ALV_GRID_DISPLAY_LVC一样

ABAP 自己制作的屏幕 PAI如何获得ALV的双击事件,就想标准程序REUSE_ALV_GRID_DISPLAY_LVC一样,第1张

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

1,如果抛出是错误信息,而不是dump信息,可以直接根据错误提示,直接从业务角度解决。2,如果是抛出的是错误提示,你确实又想debug的话,那就双击错误的消息找到消息号,然后反查这个消息号在哪些程序中用到过,打上断点,然后重新进行前台 *** 作,即可调试3,如果是dump信息,可以单击debug按钮直接进到调试界面。

ALV里面的no_zero可以控制列的前导零不显示,如果为0则不显示该列的值。但是ALV没有控制到具体单元格的功能,如果你要实现此需求,可以这样处理:

在显示的内表中添加一个CHAR类型的列,如果数字不为0,则该列值为空;如果数字为0,则将该数值直接等过去。在ALV显示的时候显示该列而不要显示对应的数字列


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11361762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存