用 ABAP 实现的报表欢迎屏幕 - Splash Screen
生活随笔
收集整理的這篇文章主要介紹了
用 ABAP 实现的报表欢迎屏幕 - Splash Screen
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
說明
I created 2 MODAL screens 0806 & 2009
0806 was for start of job spash & 20009 was an exit SPLASH
Used this effectively in a lrge DOI Excel download program…
2 JPG files with a nice Indian Welcome & fancy Bengali Text!
Each Modal scren had 2 Containers
CUSTOM_1 shaped for Picture control
CUSTOM_2 for CL_GUI_TIMER control
- Create 2 MODAL screens 0806 and 2009
- 1 CUSTOM_1 shaped to hold JPG
- and 1 CUSTOM_2 to hold TIMER
源代碼
REPORT zpp_r012 LINE-SIZE 160LINE-COUNT 72MESSAGE-ID zpp01.DATA: container1 TYPE REF TO cl_gui_custom_container,container2 TYPE REF TO cl_gui_custom_container,picture TYPE REF TO cl_gui_picture.DATA: graphic_url(255),g_result TYPE i,g_linesz TYPE i,g_filesz TYPE i,g_name(100).TYPES: t_graphic_line(256) TYPE x.DATA: graphic_line TYPE t_graphic_line,graphic_table TYPE TABLE OF t_graphic_line.*---------------------------------------------------------------------* * CLASS lcl_event_handler DEFINITION *---------------------------------------------------------------------* CLASS lcl_event_handler DEFINITION.PUBLIC SECTION.CLASS-METHODS: on_finished FOR EVENT finished OF cl_gui_timer. ENDCLASS. "lcl_event_handler DEFINITION*---------------------------------------------------------------------* * CLASS lcl_event_handler IMPLEMENTATION *---------------------------------------------------------------------* CLASS lcl_event_handler IMPLEMENTATION.METHOD on_finished.IF sy-dynnr = 2009.LEAVE PROGRAM.ELSE.PERFORM f_excel_job.ENDIF.ENDMETHOD. "on_finished ENDCLASS. "lcl_event_handler IMPLEMENTATIONDATA timer TYPE REF TO cl_gui_timer. DATA event_handler TYPE REF TO lcl_event_handler. DATA timeout TYPE i VALUE '3'.*&---------------------------------------------------------------------* * SELECTION-SCREEN DESIGN * *&---------------------------------------------------------------------* SELECTION-SCREEN: BEGIN OF BLOCK b2sels WITH FRAME TITLE text-002. PARAMETERS: pwerks LIKE mseg-werks OBLIGATORY, "THIS Plantpbudat LIKE mkpf-budat OBLIGATORY. "THIS Date SELECTION-SCREEN: END OF BLOCK b2sels.*&---------------------------------------------------------------------* * INITIALIZATION EVENT * *&---------------------------------------------------------------------* INITIALIZATION.*&---------------------------------------------------------------------* * AT SELECTION-SCREEN EVENT * *&---------------------------------------------------------------------* **Use this EVENT to validate SELECTION-SCREEN AT SELECTION-SCREEN.*&---------------------------------------------------------------------* * START-OF-SELECTION EVENT * *&---------------------------------------------------------------------* START-OF-SELECTION.CALL SCREEN 0806 STARTING AT 30 4.*&---------------------------------------------------------------------* *& Form f_excel_job *&---------------------------------------------------------------------* FORM f_excel_job.* LOTS of CodeCALL SCREEN 2009 STARTING AT 30 4.ENDFORM. "f_excel_job** LOTS of CODE*&---------------------------------------------------------------------* *& Form getpicurl *&---------------------------------------------------------------------* FORM getpicurl.OPEN DATASET g_name FOR INPUT IN BINARY MODE.REFRESH graphic_table.CLEAR g_filesz.DO.CLEAR graphic_line.READ DATASET g_name INTO graphic_line ACTUAL LENGTH g_linesz.ADD g_linesz TO g_filesz.APPEND graphic_line TO graphic_table.IF sy-subrc <> 0.EXIT.ENDIF.ENDDO.CLOSE DATASET g_name.CLEAR graphic_url.CALL FUNCTION 'DP_CREATE_URL'EXPORTINGtype = 'IMAGE'subtype = 'GIF'TABLESdata = graphic_tableCHANGINGurl = graphic_urlEXCEPTIONSdp_invalid_parameter = 1dp_error_put_table = 2dp_error_general = 3OTHERS = 4.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.EXIT.ENDIF.IF graphic_url IS NOT INITIAL.CALL METHOD picture->clear_pictureEXCEPTIONSerror = 1.CALL METHOD picture->load_picture_from_urlEXPORTINGurl = graphic_urlIMPORTINGRESULT = g_result.CALL METHOD picture->set_display_modeEXPORTINGdisplay_mode = picture->display_mode_normal_centerEXCEPTIONSerror = 1.CALL METHOD cl_gui_cfw=>update_view.ENDIF.ENDFORM. "getpicurl*---------------------------------------------------------------------* * MODULE zjncpbo OUTPUT screen 0806 *---------------------------------------------------------------------* MODULE zjncpbo OUTPUT.MOVE 'NAMASTE.JPG' TO g_name.CREATE OBJECT: container1 EXPORTING container_name = 'CUSTOM_1',container2 EXPORTING container_name = 'CUSTOM_2',picture EXPORTING parent = container1,timer EXPORTING parent = container2.SET HANDLER lcl_event_handler=>on_finished FOR timer.* Start Timertimer->interval = timeout.CALL METHOD timer->run.PERFORM getpicurl.CALL METHOD cl_gui_cfw=>flush.ENDMODULE. " PBO*---------------------------------------------------------------------* * MODULE zjncpbo2 OUTPUT screen 2009 *---------------------------------------------------------------------* MODULE zjncpbo2 OUTPUT.MOVE 'THANKS.JPG' TO g_name.CREATE OBJECT: container1 EXPORTING container_name = 'CUSTOM_1',container2 EXPORTING container_name = 'CUSTOM_2',picture EXPORTING parent = container1,timer EXPORTING parent = container2.SET HANDLER lcl_event_handler=>on_finished FOR timer.* Start Timertimer->interval = timeout.CALL METHOD timer->run.PERFORM getpicurl.CALL METHOD cl_gui_cfw=>flush.ENDMODULE. " PBO總結(jié)
以上是生活随笔為你收集整理的用 ABAP 实现的报表欢迎屏幕 - Splash Screen的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AMD锐龙7000X3D不再烧毁了!内存
- 下一篇: NASA 研发蛇形机器人,用于寻找土卫二