日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

One order event display tool

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 One order event display tool 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Created by Jerry Wang, last modified on Feb 15, 2015

執行report,輸入要查看的process type:

得到執行結果:

source code:

PROGRAM bcalvc_print.PARAMETERS: type TYPE crmt_process_type OBLIGATORY DEFAULT 'OPSM'. CLASS lcl_event_receiver DEFINITION DEFERRED. * *********DATA: ok_code LIKE sy-ucomm,g_max TYPE i VALUE 100,gt_sflight TYPE TABLE OF sflight,g_repid LIKE sy-repid,gs_print TYPE lvc_s_prnt,gs_layout TYPE lvc_s_layo,mycontainer TYPE scrfname VALUE 'BCALVC_EVENT1_CONT1',lt_callbacks_hdr TYPE crmt_event_callbacks,lt_out TYPE STANDARD TABLE OF crm_event_callbacks,custom_container TYPE REF TO cl_gui_custom_container,grid1 TYPE REF TO cl_gui_alv_grid,event_receiver TYPE REF TO lcl_event_receiver.CLASS lcl_event_receiver DEFINITION.PUBLIC SECTION. * § 2. Define a method for each print event you need.METHODS:handle_top_of_pageFOR EVENT print_top_of_page OF cl_gui_alv_grid,handle_end_of_pageFOR EVENT print_end_of_page OF cl_gui_alv_grid,handle_top_of_listFOR EVENT print_top_of_list OF cl_gui_alv_grid,handle_end_of_listFOR EVENT print_end_of_list OF cl_gui_alv_grid.PRIVATE SECTION.DATA: pagenum TYPE i.ENDCLASS.CLASS lcl_event_receiver IMPLEMENTATION. *§ 3. Implement your event handler methods. Use WRITE to provide output.METHOD handle_top_of_page.DATA: tablename(30) TYPE c.PERFORM get_tablename CHANGING tablename.WRITE: /,'Event: PRINT_TOP_OF_PAGE'(001),'Table: '(002),tablename.ENDMETHOD. "handle_top_of_page *-------------------------------------------METHOD handle_end_of_page.DATA: tablename(30) TYPE c.PERFORM get_tablename CHANGING tablename.ADD 1 TO pagenum.WRITE: /,'Event: PRINT_END_OF_PAGE'(003),text-002,tablename,'Number of pages so far: '(004), pagenum.ENDMETHOD. "handle_end_of_page *-------------------------------------------METHOD handle_top_of_list.DATA: tablename(30) TYPE c.CLEAR pagenum.PERFORM get_tablename CHANGING tablename.WRITE: /,'Event: PRINT_TOP_OF_LIST'(005),text-002,tablename.ENDMETHOD. "handle_top_of_list *-------------------------------------------METHOD handle_end_of_list.DATA: tablename(30) TYPE c.PERFORM get_tablename CHANGING tablename.WRITE: /,'Event: PRINT_END_OF_LIST'(006),text-002,tablename.ENDMETHOD. "handle_end_of_list *------------------------------------------- ENDCLASS. * * c_event_receiver (Implementation) *===================================================================START-OF-SELECTION.CALL FUNCTION 'CRM_EVENT_FILTER_PROC_TYPE_OW'EXPORTINGiv_proc_type = typeIMPORTINGet_callbacks_hdr = lt_callbacks_hdr.lt_out = lt_callbacks_hdr. * END-OF-SELECTION.g_repid = sy-repid.CALL SCREEN 100.*---------------------------------------------------------------------* * MODULE PBO OUTPUT * *---------------------------------------------------------------------* MODULE pbo OUTPUT.SET PF-STATUS 'MAIN100'.SET TITLEBAR 'MAIN100'.IF custom_container IS INITIAL. * create a custom container control for our ALV ControlCREATE OBJECT custom_containerEXPORTINGcontainer_name = mycontainerEXCEPTIONScntl_error = 1cntl_system_error = 2create_error = 3lifetime_error = 4lifetime_dynpro_dynpro_link = 5.IF sy-subrc NE 0. * add your handling, for exampleCALL FUNCTION 'POPUP_TO_INFORM'EXPORTINGtitel = g_repidtxt2 = sy-subrctxt1 = 'The control could not be created'(010).ENDIF. * create an instance of alv controlCREATE OBJECT grid1EXPORTINGi_parent = custom_container. * * Set a titlebar for the grid control *gs_layout-grid_title = 'Flights'(100).gs_print-reservelns = 2.******** * ->Create Object to receive events and link them to handler methods. * When the ALV Control raises the event for the specified instance * the corresponding method is automatically called. ********** § 4. Link used print events and event handler methods.CREATE OBJECT event_receiver.SET HANDLER event_receiver->handle_top_of_list FOR grid1.SET HANDLER event_receiver->handle_top_of_page FOR grid1.SET HANDLER event_receiver->handle_end_of_list FOR grid1.SET HANDLER event_receiver->handle_end_of_page FOR grid1. *CALL METHOD grid1->set_table_for_first_displayEXPORTINGi_structure_name = 'CRM_EVENT_CALLBACKS'is_print = gs_printis_layout = gs_layoutCHANGINGit_outtab = lt_out.ENDIF.CALL METHOD cl_gui_control=>set_focus EXPORTING control = grid1.* Control Framework flushes at the end of PBO automatically! ENDMODULE. *---------------------------------------------------------------------* * MODULE PAI INPUT * *---------------------------------------------------------------------* MODULE pai INPUT.CASE ok_code.WHEN 'EXIT'.PERFORM exit_program.ENDCASE.CLEAR ok_code. ENDMODULE. *---------------------------------------------------------------------* * FORM EXIT_PROGRAM * *---------------------------------------------------------------------* FORM exit_program.CALL METHOD custom_container->free.CALL METHOD cl_gui_cfw=>flush.IF sy-subrc NE 0. * add your handling, for exampleCALL FUNCTION 'POPUP_TO_INFORM'EXPORTINGtitel = g_repidtxt2 = sy-subrctxt1 = 'Error in Flush'(009).ENDIF.LEAVE PROGRAM. ENDFORM. *&---------------------------------------------------------------------* *& Form GET_TABLENAME *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * <--P_TABLENAME text *----------------------------------------------------------------------* FORM get_tablename CHANGING p_tablename.DATA: lt_fieldcat TYPE STANDARD TABLE OF lvc_s_fcat,ls_fieldcat TYPE lvc_s_fcat.CALL METHOD grid1->get_frontend_fieldcatalogIMPORTINGet_fieldcatalog = lt_fieldcat.CALL METHOD cl_gui_cfw=>flush.IF sy-subrc <> 0.p_tablename = 'No tablename in fieldcatalog!'(008).CALL FUNCTION 'POPUP_TO_INFORM'EXPORTINGtitel = g_repidtxt2 = p_tablenametxt1 = 'Error in Flush'(011).ELSE.READ TABLE lt_fieldcat INDEX 1 INTO ls_fieldcat.p_tablename = ls_fieldcat-ref_table.ENDIF.ENDFORM. " GET_TABLENAME

總結

以上是生活随笔為你收集整理的One order event display tool的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。