Professional Documents
Culture Documents
INTERACTIVE REPORTS and EXAMPLES
INTERACTIVE REPORTS and EXAMPLES
INTERACTIVE REPORTS
Display the basic information on the basic list and the detailed information in
the Secondary list is called Interactive report.
The first list is called basic list and the number is 0.
The remaining lists are called as secondary lists and the number start from 1
to 20. So totally there are 21 lists.
The lists no are stored in a system variable SY-LSIND.
If you select any line, then the selected line data is stored in SY-LISEL.
AT Line selection
AT User command
Top of page during line selection
AT PF <Function Key>.
AT Line Selection: - This event is triggered whenever the user double clicks on
any list line. To know the selected line contents, we have two keywords or
statements
1)HIDE
2)GET CURSOR
Functionality of hide: - Whenever the user double clicks on any list line, the event
at line selection will be triggered.
The system automatically identifies the line no where the user has double
clicked and reads the corresponding record into hide variable.
GET CURSOR: - This statement is used to read or get the selected line content
i.e. fieldname, field value into the variables.
Syntax: -
GET CURSOR field <v_fname>
Value <v_fvalue>.
AT User command: - This event is triggered whenever the user clicks on custom
GUI buttons.
Top of page during line selection: - This event is used for providing the constant page
heading for all the secondary lists.
AT PF <Function Key>: - This event is used or triggered whenever the user clicks
on function keys (f1, f2, .etc)
This event is obsolete in new versions (ECC 5.0 or 6.0)
Conversion Routine: - It is a function module which is used to convert a value from
internal format to external format and vice-versa.
Conversion exits are maintained at domain level.
Go to the domain and double click on conversion exit.
Conversion exit function module will be displayed
Example: -
Conversion_exit_Alpha_input :- used to convert a value from exeternal format to
internal format.
Conversion_exit_Alpha_output:- used to convert a value from internal format to
external format
AT user command: - This event is triggered whenever the user clicks on Custom
GUI button.
Custom GUI: - It is used to create our menus in the menu bar, our own buttons in
the application toolbar, enabling or disabling the standard buttons on the
standard toolbar.
Syntax: - SET PF-status <CustomGUI MenuName>
‘SE41’is the tcode for creating custom GUI (also called as MENU PAINTER)
FCT CODE (Function code):- It is a shortcut code assigned to a button or menu to
identify the button or menu which is clicked .
The FCT codes are automatically stored in a system variable SY-UCOMM.
Go to MM03
Give any Material no, Ex: AS-200
Press Enter
Select BASIC DATA1, Press Enter
2)Business Req: Develop a Purchase order Report to display PO Header data in BASIC list and PO
Item details in SECONDARY list .
AT LINE-SELECTION .
SELECT EBELN EBELP MATNR MENGE NETPR FROM EKPO
INTO TABLE I_EKPO
WHERE EBELN = WA_EKKO-EBELN .
LOOP AT I_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN,
WA_EKPO-EBELP,
WA_EKPO-MATNR,
WA_EKPO-MENGE,
WA_EKPO-NETPR.
ENDLOOP.
Go to ME23N
Click On OtherPurchaseOrder Button,
Give the PurchaseNo Ex: 4500017125
Press Enter
INTERACTIVE REPORTS USING GET CURSOR
1)Business Req: Develop a Material master Report to display Material general data in BASIC list
with below functionality.
On double-click of material no, display description details.
On double-click of material type , display material type details.
On double-click of material group , display material group details.
IF V_FNAME = 'WA_MARA-MATNR' .
PERFORM DISPLAY_DESC_DETAILS.
ELSEIF V_FNAME = 'WA_MARA-MTART'.
PERFORM DISPALY_MTART_DETAILS.
ELSEIF V_FNAME = 'WA_MARA-MATKL'.
PERFORM DISPLAY_MAKTL_DETAILS.
ENDIF.
*&---------------------------------------------------------------------*
*& Form DISPLAY_DESC_DETAILS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_DESC_DETAILS .CALL FUNCTION 'CONVERSION_EXIT_MATN1_
INPUT'
EXPORTING
INPUT = V_FVAL
IMPORTING
OUTPUT = V_MATNR.
REFRESH i_makt.
SELECT * FROM MAKT INTO TABLE I_MAKT
WHERE MATNR = V_MATNR.LOOP AT I_MAKT INTO WA_MAKT.
WRITE:/ WA_MAKT-MATNR,
WA_MAKT-SPRAS,
WA_MAKT-MAKTX.
ENDLOOP.
ENDFORM. " DISPLAY_DESC_DETAILS
*&---------------------------------------------------------------------*
*& Form DISPALY_MTART_DETAILS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPALY_MTART_DETAILS .CLEAR WA_T134.SELECT SINGLE * FROM T1
34
INTO WA_T134 WHERE MTART = V_FVAL.
WRITE:/ wa_t134-mtart,
WA_T134-MTREF,
WA_T134-PSTAT.
ENDFORM. " DISPALY_MTART_DETAILS
*&---------------------------------------------------------------------*
*& Form DISPLAY_MAKTL_DETAILS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_MAKTL_DETAILS .CLEAR wa_t023.SELECT SINGLE * FROM T023
INTO WA_T023 WHERE MATKL = V_FVAL.
WRITE:/ WA_T023-MATKL,
WA_T023-SPART,
WA_T023-ABTNR.
ENDFORM. " DISPLAY_MAKTL_DETAILS
2)Business Req: Develop a Purchase order Report to display PO Header data in BASIC list with
below functionality.
AT LINE-SELECTION .
GET CURSOR FIELD V_FNAME
VALUE V_FVAL .
IF V_FNAME = 'WA_EKKO-EBELN' .
PERFORM DISPLAY_PO_ITEMS .
ELSEIF V_FNAME = 'WA_EKKO-LIFNR' .
PERFORM DISPLAY_VENDOR_DETAILS.
ENDIF .
*&---------------------------------------------------------------------*
*& Form DISPLAY_PO_ITEMS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY_PO_ITEMS .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = V_FVAL
IMPORTING
OUTPUT = V_EBELN.
SELECT EBELN EBELP MATNR MENGE NETPR FROM EKPO INTO TABLE
I_EKPO WHERE EBELN = V_EBELN .
LOOP AT I_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN,
WA_EKPO-EBELP,
WA_EKPO-MATNR,
WA_EKPO-MENGE,
WA_EKPO-NETPR.
ENDLOOP.ENDFORM . "DISPLAY_PO_ITEMS
*&---------------------------------------------------------------------*
*& Form FORM
*&---------------------------------------------------------------------*
FORM DISPLAY_VENDOR_DETAILS.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = V_FVAL
IMPORTING
OUTPUT = V_LIFNR.
SELECT SINGLE * FROM LFA1 INTO WA_LFA1 WHERE LIFNR = V_LIFNR .
WRITE : / WA_LFA1-LIFNR ,
WA_LFA1-LAND1 ,
WA_LFA1-NAME1 ,
WA_LFA1-ORT01 .ENDFORM . "FORM ENDLOOP.
ENDLOOP.AT USER-COMMAND.
SY-LSIND = 0.
IF SY-UCOMM = 'SALL'.
LOOP AT I_MARA INTO WA_MARA.
WA_MARA-CHK = 'X'.
WRITE:/ WA_MARA-CHK AS CHECKBOX,
WA_MARA-MATNR,
WA_MARA-MTART,
WA_MARA-MBRSH,
WA_MARA-MEINS.
ENDLOOP.
ELSEIF SY-UCOMM = 'DALL'.
LOOP AT I_MARA INTO WA_MARA.
WA_MARA-CHK = ' '.
WRITE:/ WA_MARA-CHK AS CHECKBOX,
WA_MARA-MATNR,
WA_MARA-MTART,
WA_MARA-MBRSH,
WA_MARA-MEINS.
ENDLOOP.
IF WA_MARA-CHK = 'X'.
MOVE-CORRESPONDING WA_MARA TO WA_MARA2.
APPEND WA_MARA2 TO I_MARA2.
FILENAME = 'E:\RAT.TXT'
FILETYPE = 'ASC'
WRITE_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_MARA2.
IF SY-SUBRC = 0.
MESSAGE 'DATA SUCCESSFULLY DOWNLOADED' TYPE 'I'.
ENDIF.
ENDIF.
ENDIF.
TOP-OF-PAGE.
WRITE:/33 'BASIC LIST WITH MATERIAL DATA' COLOR 7.
WRITE:/ SY-ULINE.
AT LINE-SELECTION.
GET CURSOR FIELD V_FNAME
VALUE V_FVAL.
IF V_FNAME = 'WA_MARA-MATNR'.
PERFORM DISPLAY_MATNR.ELSEIF V_FNAME = 'WA_MARA-MTART'.
PERFORM DISPLAY_MTART.ELSEIF V_FNAME = 'WA_MARA-MATKL'.
PERFORM DISPLAY_MAKTL.
ENDIF.
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE:/ SY-ULINE.
WRITE:/33 'SECONDARY SCREEN WITH ITEM DATA' COLOR 6.
WRITE:/ SY-ULINE.
END-OF-PAGE.
write:/ sy-uline.
write:/33 'all rights reserved' color 6.
write:/ sy-uline.
*&---------------------------------------------------------------------*
*& Form DISPLAY_MATNR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_MATNR .CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
INPUT = V_FVAL
IMPORTING
OUTPUT = V_MATNR.REFRESH I_MAKT.SELECT * FROM MAKT INTO TA
BLE I_MAKT
WHERE MATNR = V_MATNR.LOOP AT I_MAKT INTO WA_MAKT.
WRITE:/ WA_MAKT-MATNR,
WA_MAKT-SPRAS,
WA_MAKT-MAKTX.
ENDLOOP.
vline = sy-linct - sy-linno.skip vline.
ENDFORM. " DISPLAY_MATNR
*&---------------------------------------------------------------------*
*& Form DISPLAY_MTART
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_MTART .CLEAR WA_T134.SELECT * FROM T134 INTO WA_T134
WHERE MTART = V_FVAL.
ENDSELECT.
WRITE:/ WA_T134-MTART,
WA_T134-MTREF,
WA_T134-MBREF.
vline = sy-linct - sy-linno.skip vline.
ENDFORM. " DISPLAY_MTART
*&---------------------------------------------------------------------*
*& Form DISPLAY_MAKTL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_MAKTL .CLEAR WA_T023.SELECT * FROM T023 INTO WA_T023
WHERE MATKL = V_FVAL.
ENDSELECT.
WRITE:/ WA_T023-MATKL,
WA_T023-SPART,
WA_T023-LREF3.
vline = sy-linct - sy-linno.skip vline.
ENDFORM. " DISPLAY_MAKTL