Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Tuesday, April 22, 2008

Splash Screen in ABAP ABAP Interview Questions

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

No comments:

Post a Comment

Content

Recent Topics