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

2019-08-31 21:19

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.

ENDIF.

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. \

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

*& Module CANCEL INPUT

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

* text

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

MODULE CANCEL INPUT. LEAVE PROGRAM.

ENDMODULE. \ 自定义ALV控件的工具条按钮

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

REPORT ZLITEST_018. INCLUDE .

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

DATA:LT_SPFLI TYPE TABLE OF SPFLI. DATA:LS_SPFLI TYPE 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_TOOLBAR FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID IMPORTING E_OBJECT E_INTERACTIVE, * RAISE EVENT TOOLBAR ** EXPORTING

** E_OBJECT = ** E_INTERACTIVE = * .

HANDLE_USER_COMMAND FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID

IMPORTING E_UCOMM. * RAISE EVENT USER_COMMAND ** EXPORTING

** E_UCOMM = * .

ENDCLASS.

CLASS LCL_EVENT_RECEIVER IMPLEMENTATION. METHOD HANDLE_TOOLBAR.

DATA:LS_BUTTON TYPE STB_BUTTON. * CLEAR LS_BUTTON.

CLEAR LS_BUTTON-BUTN_TYPE. MOVE 3 TO LS_BUTTON-BUTN_TYPE.

APPEND LS_BUTTON TO E_OBJECT->MT_TOOLBAR. CLEAR LS_BUTTON.

MOVE 'ALVDATA' TO LS_BUTTON-FUNCTION. MOVE ICON_DISPLAY TO LS_BUTTON-ICON. MOVE 'SHOW DETIAL' TO LS_BUTTON-QUICKINFO. MOVE 'SHOW DETIAL' TO LS_BUTTON-TEXT. APPEND LS_BUTTON TO E_OBJECT->MT_TOOLBAR. ENDMETHOD.

METHOD HANDLE_USER_COMMAND. DATA:LT_ROWS TYPE LVC_T_ROW. DATA:LS_ROWS TYPE LVC_S_ROW. CASE E_UCOMM. WHEN 'ALVDATA'.

CALL METHOD ALV_GRID->GET_SELECTED_ROWS IMPORTING

ET_INDEX_ROWS = LT_ROWS * ET_ROW_NO = .

LOOP AT LT_ROWS INTO LS_ROWS.

READ TABLE LT_SPFLI INTO LS_SPFLI INDEX LS_ROWS-INDEX. MESSAGE I007(YMESS) WITH 'YOU SELECTED' LS_SPFLI-CARRID LS_SPFLI-CONNID LS_SPFLI-CITYFROM. ENDLOOP. ENDCASE. ENDMETHOD. ENDCLASS.

START-OF-SELECTION.

SELECT * INTO TABLE LT_SPFLI FROM 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.


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

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

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

马上注册会员

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