SAP实战程序开发源代码(5)

2019-08-31 21:19

SET HANDLER EVENT_RECEIVER->HANDLE_TOOLBAR FOR ALV_GRID. SET HANDLER EVENT_RECEIVER->HANDLE_USER_COMMAND FOR ALV_GRID. CALL METHOD ALV_GRID->SET_TOOLBAR_INTERACTIVE. * EXPORTING

* I_INTERACTIVE = SPACE .

ENDMODULE. \

*&---------------------------------------------------------------------*

*& Module CANCEL INPUT

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

MODULE CANCEL INPUT. LEAVE PROGRAM.

ENDMODULE. \

*&---------------------------------------------------------------------*

*& Module USER_COMMAND_0100 INPUT

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WHEN 'EXIT'. LEAVE PROGRAM. ENDCASE.

ENDMODULE. \ 处理ALV双击事件

测试程序:ZLITEST_019.源代码如下:

*&---------------------------------------------------------------------*

*& Report ZLITEST_019 *&

*&---------------------------------------------------------------------* *&

*&

*&---------------------------------------------------------------------*

REPORT ZLITEST_019.

DATA:SAVE_OK TYPE SY-UCOMM. DATA:OK_CODE TYPE SY-UCOMM.

DATA:LT_SPFLI LIKE TABLE OF SPFLI. DATA:LS_SPFLI LIKE SPFLI.

DATA:CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER. DATA:ALV_GRID TYPE REF TO CL_GUI_ALV_GRID. DATA:CONTAINER_N TYPE SCRFNAME VALUE 'ALVDATA'. CLASS:LCL_EVENT_RECEIVER DEFINITION DEFERRED. DATA:EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER. CLASS LCL_EVENT_RECEIVER DEFINITION. PUBLIC SECTION.

METHODS:HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID

IMPORTING E_ROW E_COLUMN ES_ROW_NO. * RAISE EVENT DOUBLE_CLICK ** EXPORTING ** E_ROW = ** E_COLUMN = ** ES_ROW_NO = * . ENDCLASS.

CLASS LCL_EVENT_RECEIVER IMPLEMENTATION. METHOD HANDLE_DOUBLE_CLICK.

READ TABLE LT_SPFLI INTO LS_SPFLI INDEX E_ROW-INDEX.

MESSAGE I007(YMESS) WITH LS_SPFLI-CARRID LS_SPFLI-CONNID LS_SPFLI-CITYFROM. ENDMETHOD. ENDCLASS.

START-OF-SELECTION.

SELECT * FROM SPFLI INTO TABLE LT_SPFLI. CALL SCREEN 100.

*&---------------------------------------------------------------------*

*& Module STATUS_0100 OUTPUT

*&-------------------------------------------------------------------

--*

* text

*----------------------------------------------------------------------*

MODULE STATUS_0100 OUTPUT. SET PF-STATUS 'STATUS1'. * SET TITLEBAR 'xxx'. CREATE OBJECT CONTAINER EXPORTING

* PARENT =

CONTAINER_NAME = CONTAINER_N * STYLE =

* LIFETIME = LIFETIME_DEFAULT * REPID = * DYNNR = * NO_AUTODEF_PROGID_DYNNR = * EXCEPTIONS

* CNTL_ERROR = 1 * CNTL_SYSTEM_ERROR = 2 * CREATE_ERROR = 3 * LIFETIME_ERROR = 4 * LIFETIME_DYNPRO_DYNPRO_LINK = 5 * OTHERS = 6 .

IF SY-SUBRC <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

CREATE OBJECT ALV_GRID EXPORTING

* I_SHELLSTYLE = 0 * I_LIFETIME =

I_PARENT = CONTAINER * I_APPL_EVENTS = SPACE * I_PARENTDBG = * I_APPLOGPARENT = * I_GRAPHICSPARENT = * I_NAME = * I_FCAT_COMPLETE = SPACE * EXCEPTIONS

* ERROR_CNTL_CREATE = 1 * ERROR_CNTL_INIT = 2 * ERROR_CNTL_LINK = 3 * ERROR_DP_CREATE = 4

* OTHERS = 5 .

IF SY-SUBRC <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING

* I_BUFFER_ACTIVE = * I_BYPASSING_BUFFER = * I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME = 'SPFLI' * IS_VARIANT = * I_SAVE = * I_DEFAULT = 'X' * IS_LAYOUT = * IS_PRINT = * IT_SPECIAL_GROUPS = * IT_TOOLBAR_EXCLUDING = * IT_HYPERLINK = * IT_ALV_GRAPHICS = * IT_EXCEPT_QINFO = * IR_SALV_ADAPTER = CHANGING

IT_OUTTAB = LT_SPFLI * IT_FIELDCATALOG = * IT_SORT = * IT_FILTER = * EXCEPTIONS

* INVALID_PARAMETER_COMBINATION = 1 * PROGRAM_ERROR = 2 * TOO_MANY_LINES = 3 * OTHERS = 4 .

IF SY-SUBRC <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

CREATE OBJECT EVENT_RECEIVER.

SET HANDLER EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR ALV_GRID. ENDMODULE. \

*&---------------------------------------------------------------------*

*& Module CANCEL INPUT

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

MODULE CANCEL INPUT. LEAVE PROGRAM.

ENDMODULE. \

*&---------------------------------------------------------------------*

*& Module USER_COMMAND_0100 INPUT

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WHEN 'EXIT'. LEAVE PROGRAM. ENDCASE.

ENDMODULE. \


SAP实战程序开发源代码(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:10KVPT耐压试验不合格原因及解决方法分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: