Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Drill down report

Former Member
0 Likes
899

I need to create a report that has a drill down into the equipment master .Any suggested reading materials about drill down reports .

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
824

Hi Anjali,

Check these links.

http://www.sap-img.com/abap/difference-between-drilldown-report-and-interactive-report.htm

http://www.ask.com/web?q=differencebetweendrilldownreportandinteractivereportin+abap&qsrc=0&o=333&l=dir

Regards

Aneesh.

6 REPLIES 6
Read only

Former Member
0 Likes
824

See the sample Programs both ALV and Normal report

Normal report ( 3 Level Interactive )

REPORT ZTEJ_INTAB1 LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE

HEADING.

*TABLES DECLARATION

TABLES : KNA1, VBAK, VBAP.

*SELECT OPTIONS

SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.

*INITIALIZATION

INITIALIZATION.

CUST_NO-LOW = '01'.

CUST_NO-HIGH = '5000'.

CUST_NO-SIGN = 'I'.

CUST_NO-OPTION = 'BT'.

APPEND CUST_NO.

*SELECTION SCREEN VALIDATION

AT SELECTION-SCREEN ON CUST_NO.

LOOP AT SCREEN.

IF CUST_NO-LOW < 1 OR CUST_NO-HIGH > 5000.

MESSAGE E001(ZTJ1).

ENDIF.

ENDLOOP.

*BASIC LIST SELECTION

START-OF-SELECTION.

SELECT KUNNR NAME1 ORT01 LAND1 INTO

(KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)

FROM KNA1

WHERE KUNNR IN CUST_NO.

WRITE:/1 SY-VLINE,

KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,

16 SY-VLINE,

KNA1-NAME1 UNDER 'NAME',

61 SY-VLINE,

KNA1-ORT01 UNDER 'CITY',

86 SY-VLINE,

KNA1-LAND1 UNDER 'COUNTRY',

103 SY-VLINE.

HIDE: KNA1-KUNNR.

ENDSELECT.

ULINE.

*SECONDARY LIST ACCESS

AT LINE-SELECTION.

IF SY-LSIND = 1.

PERFORM SALES_ORD.

ENDIF.

IF SY-LSIND = 2.

PERFORM ITEM_DET.

ENDIF.

*TOP OF PAGE

TOP-OF-PAGE.

FORMAT COLOR 1.

WRITE : 'CUSTOMER DETAILS'.

FORMAT COLOR 1 OFF.

ULINE.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'CUSTOMER NO.',

16 SY-VLINE,

18 'NAME',

61 SY-VLINE,

63 'CITY',

86 SY-VLINE,

88 'COUNTRY',

103 SY-VLINE.

ULINE.

FORMAT COLOR 3 OFF.

*TOP OF PAGE FOR SECONDARY LISTS

TOP-OF-PAGE DURING LINE-SELECTION.

*TOP OF PAGE FOR 1ST SECONDARY LIST

IF SY-LSIND = 1.

ULINE.

FORMAT COLOR 1.

WRITE : 'SALES ORDER DETAILS'.

ULINE.

FORMAT COLOR 1 OFF.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'CUSTOMER NO.',

16 SY-VLINE,

18 'SALES ORDER NO.',

40 SY-VLINE,

42 'DATE',

60 SY-VLINE,

62 'CREATOR',

85 SY-VLINE,

87 'DOC DATE',

103 SY-VLINE.

ULINE.

ENDIF.

FORMAT COLOR 3 OFF.

*TOP OF PAGE FOR 2ND SECONDARY LIST

IF SY-LSIND = 2.

ULINE.

FORMAT COLOR 1.

WRITE : 'ITEM DETAILS'.

ULINE.

FORMAT COLOR 1 OFF.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'SALES ORDER NO.',

40 SY-VLINE,

42 'SALES ITEM NO.',

60 SY-VLINE,

62 'ORDER QUANTITY',

103 SY-VLINE.

ULINE.

ENDIF.

FORMAT COLOR 3 OFF.

*END OF PAGE

END-OF-PAGE.

ULINE.

WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',

SY-PAGNO.

SKIP.

&----


*& Form SALES_ORD

*&

*& FIRST SECONDARY LIST FORM

&----


FORM SALES_ORD .

SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO

(VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)

FROM VBAK

WHERE KUNNR = KNA1-KUNNR.

WRITE:/1 SY-VLINE,

VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,

16 SY-VLINE,

VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,

40 SY-VLINE,

VBAK-ERDAT UNDER 'DATE',

60 SY-VLINE,

VBAK-ERNAM UNDER 'CREATOR',

85 SY-VLINE,

VBAK-AUDAT UNDER 'DOC DATE',

103 SY-VLINE.

HIDE : VBAK-VBELN.

ENDSELECT.

ULINE.

ENDFORM. " SALES_ORD

&----


*& Form ITEM_DET

*&

*& SECOND SECONDARY LIST FORM

&----


FORM ITEM_DET .

SELECT VBELN POSNR KWMENG INTO

(VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)

FROM VBAP

WHERE VBELN = VBAK-VBELN.

WRITE : /1 SY-VLINE,

VBAP-VBELN UNDER 'SALES ORDER NO.',

40 SY-VLINE,

VBAP-POSNR UNDER 'SALES ITEM NO.',

60 SY-VLINE,

VBAP-KWMENG UNDER 'ORDER QUANTITY',

103 SY-VLINE.

ENDSELECT.

ULINE.

ENDFORM. " ITEM_DET

ALV report and calls transaction when user double click on field

REPORT Z_GET_REFRESH no standard page heading.

type-pools : slis.

tables : makt,

mara.

data : i_fieldcat type slis_t_fieldcat_alv.

data : begin of i_makt occurs 0,

matnr like makt-matnr,

maktx like makt-maktx,

end of i_makt.

data : v_repid like sy-repid,

g_user_command type slis_formname value 'USER_COMMAND',

g_status_set type slis_formname value 'SET_PF_STATUS'.

DATA:LC_GLAY TYPE LVC_S_GLAY.

select-options s_matnr for mara-matnr .

start-of-selection.

select matnr maktx from makt into table i_makt

where matnr in s_matnr.

end-of-selection.

  • Fill the fieldcatlog

perform fill_field.

  • Call the FM

perform call_fm.

&----


*& Form fill_field

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fill_field.

data wa_fieldcat type slis_fieldcat_alv.

clear : wa_fieldcat.

wa_fieldcat-tabname = 'I_MAKT'.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-outputlen = '18'.

wa_fieldcat-seltext_l = 'Material #'.

wa_fieldcat-col_pos = '1'.

append wa_fieldcat to i_fieldcat.

clear : wa_fieldcat.

wa_fieldcat-tabname = 'I_MAKT'.

wa_fieldcat-fieldname = 'MAKTX'.

wa_fieldcat-outputlen = '40'.

wa_fieldcat-seltext_l = 'Material Desc'.

wa_fieldcat-col_pos = '2'.

append wa_fieldcat to i_fieldcat.

ENDFORM. " fill_field

&----


*& Form call_fm

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM call_fm.

v_repid = sy-repid.

LC_GLAY-EDT_CLL_CB = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = v_repid

I_CALLBACK_PF_STATUS_SET = g_status_set

I_CALLBACK_USER_COMMAND = g_user_command

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

I_GRID_SETTINGS = LC_GLAY

  • IS_LAYOUT =

IT_FIELDCAT = i_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT =

  • IT_HYPERLINK =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IT_EXCEPT_QINFO =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = i_makt

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " call_fm

----


  • FORM USER_COMMAND *

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield. "#EC CALLED

data i_RSPARAMS like RSPARAMS occurs 0.

CASE R_UCOMM.

WHEN '&IC1'.

read table i_makt index rs_selfield-tabindex.

SET PARAMETER ID 'MAT' FIELD i_makt-matnr.

if not i_makt-matnr is initial.

call transaction 'MM02' and skip first screen.

endif.

when 'REFRESH'.

CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'

EXPORTING

CURR_REPORT = v_repid

  • IMPORTING

  • SP =

TABLES

SELECTION_TABLE = i_RSPARAMS

EXCEPTIONS

NOT_FOUND = 1

NO_REPORT = 2

OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

submit z_get_refresh with selection-table i_RSPARAMS.

rs_selfield-refresh = 'X'.

*

ENDCASE.

MOVE 'REFRESH' TO r_ucomm.

ENDFORM.

----


  • FORM set_pf_status *

----


FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.

SET PF-STATUS 'ZSTANDARD' EXCLUDING rt_extab.

SET TITLEBAR sy-tcode.

ENDFORM.

Reward Points if it is helpful

Thanks

Seshu

Read only

Former Member
0 Likes
825

Hi Anjali,

Check these links.

http://www.sap-img.com/abap/difference-between-drilldown-report-and-interactive-report.htm

http://www.ask.com/web?q=differencebetweendrilldownreportandinteractivereportin+abap&qsrc=0&o=333&l=dir

Regards

Aneesh.

Read only

Former Member
0 Likes
824

hi,

With drilldown reporting, SAP provides you with an interactive information system to let you evaluate the data collected in your application. This information system is capable of analyzing all the data according to any of the characteristics that describe the data. You can also use any key figures you wish to categorize your data. You can display a number of objects for a given key figure, or a number of key figures for a given object. In addition, the system lets you carry out any number of variance analyses (such as plan/actual comparisons, fiscal year comparisons, comparisons of different objects, and so on).

Example Code For Drill Down Report

REPORT zmm_rept_purchorderkkb01 LINE-SIZE 80

LINE-COUNT 65(3)

MESSAGE-ID z_msg_class

NO STANDARD PAGE HEADING.

--


DECLARING THE STANDARD TABLES--

TABLES : ekko, "PURCHASE ORDER : HEADER

ekpo. "PURCHASE ORDER : ITEM

--


DECLARING THE INTERNAL TABLE--

DATA : BEGIN OF it_ekko OCCURS 2,

ebeln LIKE ekko-ebeln, "PURCHASE ORDER NUMBER

bukrs LIKE ekko-bukrs, "COMPANY CODE

bsart LIKE ekko-bsart, "PURCHASING DOCUMENT TYPE

lifnr LIKE ekko-lifnr, "VENDOR

spras LIKE ekko-spras, "LANGUAGE KEY

zterm LIKE ekko-zterm, "PAYMENT TERMS KEY

end of it_ekko.

DATA : BEGIN OF it_ekpo OCCURS 2,

ebeln LIKE ekpo-ebeln, "PURCHASE ORDER NUMBER

ebelp LIKE ekpo-ebelp, "PURCHASE ORDER NUMBER

werks LIKE ekpo-werks, "PLANT

matnr LIKE ekpo-matnr, "MATERIAL NUMBER

matkl LIKE ekpo-matkl, "MATERIAL GROUP

END OF it_ekpo.

DATA: it_ebeln LIKE ekko-ebeln OCCURS 0 WITH HEADER LINE.

*DATA: it_ebeln_high LIKE ekko-ebeln OCCURS 0 WITH HEADER LINE.

DATA: p_ebeln TYPE i.

--


Declaring the selection screen--

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

SELECT-OPTIONS : s_ebeln FOR ekko-ebeln.

PARAMETER : p_limit TYPE i.

SELECTION-SCREEN END OF BLOCK blk1.

*INCLUDE z_incl_purorderkkb01_sub_f01.

----


  • Validation for number of records to be printed *

----


*AT SELECTION-SCREEN ON p_limit.

  • IF p_limit IS INITIAL.

  • MESSAGE e011.

  • ENDIF.

  • IF p_limit GT sy-linct.

  • MESSAGE e010.

  • ENDIF.

----


  • Search help for purchase document number (s_ebeln-low) *

----


AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_ebeln-low.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = s_ebeln-low

IMPORTING

output = s_ebeln-low.

perform form_search_help.

IF sy-subrc <> 0.

CASE sy-subrc.

WHEN 2.

LEAVE TO SCREEN 1000.

ENDCASE.

ELSE.

LOOP AT it_ebeln.

IF sy-tabix = p_ebeln.

s_ebeln-low = it_ebeln.

EXIT.

ENDIF.

ENDLOOP.

ENDIF.

----


  • Search help for purchase document number (s_ebeln-high) *

----


AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_ebeln-high.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = s_ebeln-high

IMPORTING

output = s_ebeln-high.

perform form_search_help.

IF sy-subrc <> 0.

CASE sy-subrc.

WHEN 2.

LEAVE TO SCREEN 1000.

ENDCASE.

ELSE.

LOOP AT it_ebeln.

IF sy-tabix = p_ebeln.

s_ebeln-high = it_ebeln.

EXIT.

ENDIF.

ENDLOOP.

ENDIF.

----


  • Start-of-selection event *

----


START-OF-SELECTION.

--


To attach a user interface--

SET PF-STATUS '0010'.

--


To fetch the data for the basic list--

SELECT ebeln "PURCHASE ORDER NUMBER

bukrs "COMPANY CODE

bsart "PURCHASING DOCUMENT TYPE

lifnr "VENDOR

spras "LANGUAGE KEY

zterm "PAYMENT TERMS KEY

up to p_limit rows

into table it_ekko from ekko

where ebeln in s_ebeln.

REFRESH it_ekpo.

--


To fetch the data for the secondary list--

if it_ekpo is initial.

SELECT ebeln "PURCHASE ORDER NUMBER

ebelp "PURCHASING DOCUMENT TYPE

werks "PLANT

matnr "MATERIAL NUMBER

matkl "MATERIAL GROUP

FROM ekpo INTO TABLE it_ekpo for all entries in it_ekko

WHERE ebeln EQ it_ekko-ebeln.

endif.

----


  • End-of-selection event *

----


END-OF-SELECTION.

--


To display the data for the basic list--

format color 4 intensified off.

LOOP AT it_ekko.

WRITE 😕 sy-vline, it_ekko-ebeln UNDER text-002, 18 sy-vline,

"PURCHASE ORDER NUMBER

it_ekko-bukrs UNDER text-003, 27 sy-vline,

"COMPANY CODE

it_ekko-bsart UNDER text-004, 38 sy-vline,

"PURCHASING DOCUMENT TYPE

it_ekko-lifnr UNDER text-005, 50 sy-vline,

"VENDOR

it_ekko-spras UNDER text-006, 62 sy-vline,

"LANGUAGE KEY

it_ekko-zterm UNDER text-007, 80 sy-vline.

"PAYMENT TERMS KEY

hide : it_ekko-ebeln.

ENDLOOP.

WRITE 😕 sy-uline(80).

----


  • To generate the detailed lists *

----


AT LINE-SELECTION.

CASE sy-lsind.

WHEN 1.

SET PF-STATUS '0011'.

--


To display the data for the secondary list--

WINDOW STARTING AT 10 10

ENDING AT 90 30.

format color 5 intensified off.

LOOP AT it_ekpo where ebeln = it_ekko-ebeln .

WRITE 😕 sy-vline, it_ekpo-ebeln UNDER text-002, 15 sy-vline,

"PURCHASE ORDER NUMBER

it_ekpo-ebelp UNDER text-008, 30 sy-vline,

"PO ITEM NUMBER

it_ekpo-werks UNDER text-009, 45 sy-vline,

"PLANT

it_ekpo-matnr UNDER text-010, 60 sy-vline,

"MATERIAL NUMBER

it_ekpo-matkl UNDER text-011, 80 sy-vline.

"MATERIAL GROUP

ENDLOOP.

WRITE 😕 sy-uline(80).

ENDCASE.

CASE sy-ucomm.

WHEN 'EXIT' OR 'CANC' OR 'BACK'.

LEAVE TO SCREEN 0.

ENDCASE.

----


  • At user-command event *

----


AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'SELE' OR 'LIST1'.

IF sy-lsind = 1.

SET PF-STATUS '0011'.

--


To display the data for the secondary list--

WINDOW STARTING AT 10 10

ENDING AT 90 30.

format color 5 intensified off.

LOOP AT it_ekpo where ebeln = it_ekko-ebeln .

WRITE 😕 sy-vline, it_ekpo-ebeln UNDER text-002, 15 sy-vline, "PURCHASE ORDER NUMBER

it_ekpo-ebelp UNDER text-008, 30 sy-vline, "PO ITEM NUMBER

it_ekpo-werks UNDER text-009, 45 sy-vline, "PLANT

it_ekpo-matnr UNDER text-010, 60 sy-vline, "MATERIAL NUMBER

it_ekpo-matkl UNDER text-011, 80 sy-vline. "MATERIAL GROUP

ENDLOOP.

WRITE 😕 sy-uline(80).

endif.

ENDCASE.

CASE sy-ucomm.

WHEN 'EXIT' OR 'CANC' OR 'BACK'.

LEAVE TO SCREEN 0.

ENDCASE.

----


  • Top-of-page for basic list *

----


TOP-OF-PAGE.

format color 3 intensified off.

WRITE 😕 sy-uline(80).

WRITE 😕 sy-vline,

03 sy-repid,

60 text-015,

sy-uname,

80 sy-vline.

WRITE 😕 sy-vline, 03 sy-datum,

35 text-012,

60 text-014,

sy-pagno,

80 sy-vline.

WRITE 😕 sy-uline(80).

WRITE 😕 sy-vline, text-002, 18 sy-vline, "PURCHASE ORDER NUMBER

text-003, 27 sy-vline, "COMPANY CODE

text-004, 38 sy-vline, "PURCHASING DOCUMENT TYPE

text-005, 50 sy-vline, "VENDOR

text-006, 62 sy-vline, "LANGUAGE KEY

text-007, 80 sy-vline. "PAYMENT TERMS KEY

WRITE 😕 sy-uline(80).

----


  • Top-of-page for secondary list *

----


TOP-OF-PAGE DURING LINE-SELECTION.

format color 2 intensified off.

WINDOW STARTING AT 10 10

ENDING AT 90 30.

WRITE 😕 sy-uline(80).

WRITE 😕 sy-vline,

03 sy-repid,

60 text-015,

sy-uname,

80 sy-vline.

WRITE 😕 sy-vline,

03 sy-datum,

35 text-013,

60 text-014,

sy-pagno,

80 sy-vline.

WRITE 😕 sy-uline(80).

WRITE 😕 sy-vline, text-014, 15 sy-vline, "PURCHASE ORDER NUMBER

text-008, 30 sy-vline, "PO ITEM NUMBER

text-009, 45 sy-vline, "PLANT

text-010, 60 sy-vline, "MATERIAL NUMBER

text-011, 80 sy-vline. "MATERIAL GROUP

WRITE 😕 sy-uline(80).

----


  • End-of-page event *

----


END-OF-PAGE.

WRITE 😕 sy-vline,

03 text-016,

p_limit,

60 text-014,

sy-pagno,

80 sy-vline.

write:/ sy-uline(80).

INCLUDE Z_INCLUDE_PURCHORDERKKB01.

form form_search_help .

REFRESH it_ebeln.

CLEAR it_ebeln.

CLEAR P_ebeln.

SELECT ebeln FROM ekko INTO TABLE it_ebeln.

CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'

EXPORTING

endpos_col = 21

endpos_row = 35

startpos_col = 12

startpos_row = 1

titletext = text-012

IMPORTING

choise = P_ebeln

TABLES

valuetab = it_ebeln

EXCEPTIONS

break_off = 1

OTHERS = 2.

http://www.erpgenie.com/abap/drill_down_reports.htm

example with ALV

REPORT ZSR_ALV_INTERACTIVE.

TABLES : LFA1,EKKO,EKPO.

SELECT-OPTIONS : VENDOR FOR LFA1-LIFNR.

DATA : BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

END OF JTAB.

DATA : BEGIN OF KTAB OCCURS 0,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

END OF KTAB.

TYPE-POOLS : SLIS.

DATA : REPID LIKE SY-REPID.

DATA :LFA1_B TYPE SLIS_T_FIELDCAT_ALV,

LFA1_W TYPE SLIS_FIELDCAT_ALV,

EKKO_B TYPE SLIS_T_FIELDCAT_ALV,

EKKO_W TYPE SLIS_FIELDCAT_ALV,

EKPO_B TYPE SLIS_T_FIELDCAT_ALV,

EKPO_W TYPE SLIS_FIELDCAT_ALV,

EVENTS_B TYPE SLIS_T_EVENT,

EVENTS_W TYPE SLIS_ALV_EVENT.

PERFORM GET_VAL.

REPID = SY-REPID.

SELECT LIFNR NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN VENDOR.

*perform val USING USER_COMMAND sel.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPID

IT_FIELDCAT = LFA1_B

IT_EVENTS = EVENTS_B

TABLES

T_OUTTAB = ITAB.

&----


*& Form GET_VAL

&----


  • text this is to put column headings

----


FORM GET_VAL.

LFA1_W-FIELDNAME = 'LIFNR'.

LFA1_W-REF_TABNAME = 'LFA1'.

LFA1_W-REF_FIELDNAME = 'LIFNR'.

APPEND LFA1_W TO LFA1_B.

LFA1_W-FIELDNAME = 'NAME1'.

LFA1_W-REF_TABNAME = 'LFA1'.

LFA1_W-REF_FIELDNAME = 'NAME1'.

APPEND LFA1_W TO LFA1_B.

EKKO_W-FIELDNAME = 'EBELN'.

EKKO_W-REF_TABNAME = 'EKKO'.

EKKO_W-REF_FIELDNAME = 'EBELN'.

APPEND EKKO_W TO EKKO_B.

EKKO_W-FIELDNAME = 'AEDAT'.

EKKO_W-REF_TABNAME = 'EKKO'.

EKKO_W-REF_FIELDNAME = 'AEDAT'.

APPEND EKKO_W TO EKKO_B.

EKPO_W-FIELDNAME = 'EBELP'.

EKPO_W-REF_TABNAME = 'EKPO'.

EKPO_W-REF_FIELDNAME = 'EBELP'.

APPEND EKPO_W TO EKPO_B.

EKPO_W-FIELDNAME = 'MATNR'.

EKPO_W-REF_TABNAME = 'EKPO'.

EKPO_W-REF_FIELDNAME = 'MATNR'.

APPEND EKPO_W TO EKPO_B.

EVENTS_W-NAME = 'USER_COMMAND'.

EVENTS_W-FORM = 'VAL'.

APPEND EVENTS_W TO EVENTS_B.

ENDFORM. "GET_VAL

&----


*& Form VAL

&----


FORM VAL USING USER_COMMAND LIKE SY-UCOMM SEL TYPE SLIS_SELFIELD.

DATA : VEN(10) TYPE N,

PO(10) TYPE N.

DATA : MAT(10) TYPE C.

IF SEL-FIELDNAME = 'LIFNR'.

VEN = SEL-VALUE.

SELECT EBELN AEDAT FROM EKKO INTO TABLE JTAB WHERE LIFNR = VEN.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPID

  • I_STRUCTURE_NAME = EKKO_B

IT_FIELDCAT = EKKO_B

IT_EVENTS = EVENTS_B

TABLES

T_OUTTAB = JTAB.

ENDIF.

IF SEL-FIELDNAME = 'EBELN'.

PO = SEL-VALUE.

SELECT EBELP MATNR FROM EKPO INTO TABLE KTAB WHERE EBELN = PO.

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

I_TITLE = 'ITEM DETAILS'

I_TABNAME = 'EKPO'

IT_FIELDCAT = EKPO_B

I_CALLBACK_PROGRAM = REPID

IMPORTING

ES_SELFIELD = SEL

TABLES

T_OUTTAB = KTAB.

ENDIF.

  • logic to select a record

IF SEL-FIELDNAME = 'MATNR'.

MAT = SEL-VALUE.

SET PARAMETER ID 'MAT' FIELD MAT.

CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.

ENDIF.

ENDFORM. "VAL

Read only

Former Member
0 Likes
824

Here is the link for <b>module pool table control creation with screen shots ...

with steps and how acheive it ...</b>

<a href="http://">http://www.sapdevelopment.co.uk/dialog/tabcontrol/tc_basic.htm</a>

reward points if it is usefull ....

Girish

Read only

Former Member
0 Likes
824

Sorry Anjali last my message is not for your Question ...

Girish

Read only

Former Member
0 Likes
824

Have got good refernce material to start reading for drill down.