Splash Screen in ABAP
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 160 LINE-COUNT 72 MESSAGE-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 IMPLEMENTATION DATA 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 Plant pbudat 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 Code CALL 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' EXPORTING type = 'IMAGE' subtype = 'GIF' TABLES data = graphic_table CHANGING url = graphic_url EXCEPTIONS dp_invalid_parameter = 1 dp_error_put_table = 2 dp_error_general = 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. EXIT. ENDIF. IF graphic_url IS NOT INITIAL. CALL METHOD picture->clear_picture EXCEPTIONS error = 1. CALL METHOD picture->load_picture_from_url EXPORTING url = graphic_url IMPORTING RESULT = g_result. CALL METHOD picture->set_display_mode EXPORTING display_mode = picture->display_mode_normal_center EXCEPTIONS error = 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 Timer timer->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 Timer timer->interval = timeout. CALL METHOD timer->run. PERFORM getpicurl. CALL METHOD cl_gui_cfw=>flush. ENDMODULE. " PBOABAP Tips by : Jayanta Narayan Choudhuri Author Email: sss@cal.vsnl.net.in Author Website: http://www.geocities.com/ojnc
Fast Links:
SAP Books
ABAP Tips
Best regards,
All the site contents are Copyright © www.erpgreat.com
and the content authors. All rights reserved.
|