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.                             " PBO
ABAP Tips by :  Jayanta Narayan Choudhuri
Author Email:      sss@cal.vsnl.net.in
Author Website:  http://www.geocities.com/ojnc

Fast Links:
Get help for your ABAP problems
Do you have a ABAP Question?

SAP Books
SAP Certification, Functional, Basis Administration and ABAP Programming Reference Books

ABAP Tips
ABAP Forum for Discussion and Samples Program Codes for Abapers

Best regards,
SAP Basis, ABAP Programming and Other IMG Stuff
http://www.erpgreat.com

All the site contents are Copyright © www.erpgreat.com and the content authors. All rights reserved.
All product names are trademarks of their respective companies.  The site www.erpgreat.com is in no way affiliated with SAP AG.
Every effort is made to ensure the content integrity.  Information used on this site is at your own risk.
 The content on this site may not be reproduced or redistributed without the express written permission of
www.erpgreat.com or the content authors.