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

interactve alv

Former Member
0 Likes
466

can anyone giv me briefly abt ALV interactive Report?

4 REPLIES 4
Read only

Former Member
0 Likes
441

Hi,

Interactive ALV report, is one that allows you do double click on a cell and drill into a transaction.

Regards,

Ferry Lianto

Read only

Former Member
0 Likes
441

Hi,

As the name suggests, the user can Interact with the report. We can have a drill down into the report data. For example when double click on a line you have to display a transaction that has the complete details..

Check this link for a sample program.

http://www.sap-img.com/abap/an-interactive-alv-report.htm

Thanks,

Naren

Read only

Former Member
0 Likes
441

hi,

check this sample code on interactive alv...

REPORT ZTEST_ALV1.

**TABLES DECLN

TABLES: VBRK,VBRP,T001.

TYPE-POOLS: SLIS.

TYPE-POOLS: ICON.

***DATA DECLN.

DATA: V_VBELN LIKE VBRK-VBELN,

V_MATNR LIKE VBRP-MATNR.

CONSTANTS: C_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'F_USER_COMMAND',

C_PF_STATUS TYPE SLIS_FORMNAME VALUE 'F_SET_PF_STATUS'.

**ALV RELATED TABLES.

*--Field Catalog

DATA: IT_FIELDCAT TYPE STANDARD TABLE OF

SLIS_FIELDCAT_ALV WITH HEADER LINE,

IT_FIELDCAT1 TYPE STANDARD TABLE OF

SLIS_FIELDCAT_ALV WITH HEADER LINE ,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

*--Layout

WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

*--Sort

IT_SORT TYPE SLIS_T_SORTINFO_ALV,

WA_SORT TYPE SLIS_SORTINFO_ALV ,

**-Structure for excluding function codes

WA_EXTAB TYPE SLIS_EXTAB,

**-To hold function codes to be excluded in ALV toolbar

IT_EXTAB TYPE SLIS_T_EXTAB.

***INTERNAL TABLE DECLN.

DATA: BEGIN OF IT_VBRK OCCURS 0,

VBELN LIKE VBRK-VBELN,

WAERK LIKE VBRK-WAERK,

VKORG LIKE VBRK-VKORG,

FKDAT LIKE VBRK-FKDAT,

BUKRS LIKE VBRK-BUKRS,

NETWR LIKE VBRK-NETWR,

END OF IT_VBRK.

DATA: BEGIN OF ITAB OCCURS 0,

VBELN LIKE VBRP-VBELN,

POSNR LIKE VBRP-POSNR,

FKIMG LIKE VBRP-FKIMG,

VRKME LIKE VBRP-VRKME,

NETWR LIKE VBRP-NETWR,

MATNR LIKE VBRP-MATNR,

ARKTX LIKE VBRP-ARKTX,

END OF ITAB.

DATA: IT_VBRP LIKE ITAB OCCURS 0 WITH HEADER LINE.

***selection screen.

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,

S_FKDAT FOR VBRK-FKDAT OBLIGATORY,

S_MATNR FOR VBRP-MATNR.

SELECTION-SCREEN: END OF BLOCK B1.

**INITIALIZATION.

INITIALIZATION.

S_FKDAT-LOW = SY-DATUM - 200.

S_FKDAT-HIGH = SY-DATUM.

APPEND S_FKDAT.

***AT SELECTION-SCREEN.

AT SELECTION-SCREEN.

IF NOT S_VBELN IS INITIAL.

SELECT SINGLE VBELN FROM VBRK

INTO V_VBELN

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE E001(ZZ2).

ENDIF.

ENDIF.

IF NOT S_MATNR IS INITIAL.

SELECT SINGLE MATNR FROM MARA

INTO V_MATNR

WHERE MATNR IN S_MATNR.

IF SY-SUBRC <> 0.

MESSAGE E001(ZZ2).

ENDIF.

ENDIF.

***START-OF-SELECTION.

START-OF-SELECTION.

PERFORM GET_DATA_VBRK.

PERFORM GET_DATA_VBRP.

***END-OF-SELECTION.

END-OF-SELECTION.

*--Sort the Output Fields

PERFORM SORT_FIELDS.

*--Build Field catalog for the Output fields

PERFORM GET_FIELD_CATALOG.

***MODIFY LAYOUT.

PERFORM MODIFY_LAYOUT.

*--Display ALV output

PERFORM LIST_DISP TABLES IT_VBRK

USING C_USER_COMMAND.

&----


*& Form GET_DATA_VBRK

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_VBRK.

SELECT VBELN

WAERK

VKORG

FKDAT

BUKRS

NETWR

INTO TABLE IT_VBRK

FROM VBRK

WHERE VBELN IN S_VBELN

AND FKDAT IN S_FKDAT.

ENDFORM. " GET_DATA

&----


*& Form GET_DATA_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_VBRP .

  • SELECT VBELN

  • POSNR

  • FKIMG

  • VRKME

  • NETWR

  • MATNR

  • ARKTX

  • FROM VBRP

  • INTO TABLE IT_VBRP

  • FOR ALL ENTRIES IN IT_VBRK

  • WHERE VBELN = IT_VBRK-VBELN.

SELECT VBELN

POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP

INTO TABLE ITAB

FOR ALL ENTRIES IN IT_VBRK

WHERE VBELN = IT_VBRK-VBELN.

ENDFORM. " GET_DATA_VBRP

&----


*& Form GET_FIELD_CATALOG

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_FIELD_CATALOG .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'IT_VBRK'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = IT_FIELDCAT[]

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 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.

ENDFORM. " GET_FIELD_CATALOG

&----


*& Form SORT_FIELDS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM SORT_FIELDS .

CLEAR WA_SORT.

WA_SORT-SPOS = '01'.

WA_SORT-FIELDNAME = 'VBELN' .

WA_SORT-TABNAME = 'IT_VBRK'.

WA_SORT-UP = 'X'.

APPEND WA_SORT TO IT_SORT.

CLEAR WA_SORT.

WA_SORT-SPOS = '02'.

WA_SORT-FIELDNAME = 'POSNR' .

WA_SORT-TABNAME = 'IT_VBRP'.

WA_SORT-UP = 'X'.

APPEND WA_SORT TO IT_SORT.

ENDFORM. " SORT_FIELDS

&----


*& Form MODIFY_LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM MODIFY_LAYOUT .

WA_LAYOUT-DEFAULT_ITEM = 'X'.

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'.

WA_layout-colwidth_optimize = 'X'.

ENDFORM. " MODIFY_LAYOUT

&----


*& Form LIST_DISP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM LIST_DISP TABLES P_IT_VBRK

USING P_USER_COMMAND TYPE SLIS_FORMNAME.

*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

  • EXPORTING

  • I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = 'POPUP'

  • I_CALLBACK_USER_COMMAND = 'HANDLE_USER_COMMAND'

  • IS_LAYOUT = WA_LAYOUT

  • IT_FIELDCAT = IT_FIELDCAT[]

  • IT_EXCLUDING = IT_EXTAB[]

  • TABLES

  • T_OUTTAB = IT_VBRK

  • 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.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'POPUP'

I_CALLBACK_USER_COMMAND = 'HANDLE_USER_COMMAND'

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT[]

TABLES

T_OUTTAB = P_IT_VBRK

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

ENDFORM. " LIST_DISP

&----


*& Form POPUP

&----


  • text

----


  • -->P_EXTAB text

----


FORM POPUP USING IT_EXTAB TYPE SLIS_T_EXTAB.

*- Pf status

SET PF-STATUS 'POPUP'.

ENDFORM. " POPUP

&----


*& Form F_USER_COMMAND

&----


FORM HANDLE_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

clear it_fieldcat1[].

CLEAR IT_VBRP[].

IF RS_SELFIELD-FIELDNAME = 'VBELN'.

READ TABLE IT_VBRK INDEX RS_SELFIELD-TABINDEX.

LOOP AT ITAB WHERE VBELN = IT_VBRK-VBELN.

MOVE-CORRESPONDING ITAB TO IT_VBRP.

APPEND IT_VBRP.

ENDLOOP.

PERFORM INTERACTIVE_REPORT.

ENDIF.

ENDCASE.

ENDFORM. "HANDLE_USER_COMMAND

&----


*& Form INTERACTIVE_REPORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM INTERACTIVE_REPORT .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'ITAB'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = IT_FIELDCAT1[]

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 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.

  • WA_FIELDCAT-FIELDNAME = 'VBELN'.

  • WA_FIELDCAT-SELTEXT_L = 'BILLING DOC'.

  • WA_FIELDCAT-TABNAME = 'IT_VBRP'.

  • WA_FIELDCAT-COL_POS = 1.

  • APPEND WA_FIELDCAT TO IT_FIELDCAT1.

  • CLEAR WA_FIELDCAT.

*

*

  • WA_FIELDCAT-FIELDNAME = 'POSNR'.

  • WA_FIELDCAT-SELTEXT_L = 'ITEM'.

  • WA_FIELDCAT-TABNAME = 'IT_VBRP'.

  • WA_FIELDCAT-COL_POS = 2.

  • APPEND WA_FIELDCAT TO IT_FIELDCAT1.

  • CLEAR WA_FIELDCAT.

*

  • WA_FIELDCAT-FIELDNAME = 'FKIMG'.

  • WA_FIELDCAT-SELTEXT_M = 'INV QTY'.

  • WA_FIELDCAT-TABNAME = 'IT_VBRP'.

  • WA_FIELDCAT-COL_POS = 3.

  • APPEND WA_FIELDCAT TO IT_FIELDCAT1.

  • CLEAR WA_FIELDCAT.

*

  • WA_FIELDCAT-FIELDNAME = 'VRKME'.

  • WA_FIELDCAT-SELTEXT_M = 'SALES UNIT'.

  • WA_FIELDCAT-TABNAME = 'IT_VBRP'.

  • WA_FIELDCAT-COL_POS = 4.

  • APPEND WA_FIELDCAT TO IT_FIELDCAT1.

  • CLEAR WA_FIELDCAT.

*

  • WA_FIELDCAT-FIELDNAME = 'NETWR'.

  • WA_FIELDCAT-SELTEXT_M = 'NET PRICE'.

  • WA_FIELDCAT-TABNAME = 'IT_VBRP'.

  • WA_FIELDCAT-DO_SUM = 'X'.

  • WA_FIELDCAT-COL_POS = 5.

  • APPEND WA_FIELDCAT TO IT_FIELDCAT1.

  • CLEAR WA_FIELDCAT.

*

  • WA_FIELDCAT-FIELDNAME = 'MATNR'.

  • WA_FIELDCAT-SELTEXT_M = 'MATERIAL'.

  • WA_FIELDCAT-TABNAME = 'IT_VBRP'.

  • WA_FIELDCAT-COL_POS = 6.

  • APPEND WA_FIELDCAT TO IT_FIELDCAT1.

  • CLEAR WA_FIELDCAT.

*

  • WA_FIELDCAT-FIELDNAME = 'ARKTX'.

  • WA_FIELDCAT-SELTEXT_M = 'SALES ORDER'.

  • WA_FIELDCAT-TABNAME = 'IT_VBRP'.

  • WA_FIELDCAT-COL_POS = 7.

  • APPEND WA_FIELDCAT TO IT_FIELDCAT1.

  • CLEAR WA_FIELDCAT.

*

*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

  • EXPORTING

  • I_CALLBACK_PROGRAM = SY-REPID

  • IS_LAYOUT = WA_LAYOUT

  • IT_FIELDCAT = IT_FIELDCAT1[]

  • IT_SORT = IT_SORT

  • TABLES

  • T_OUTTAB = IT_VBRP

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2.

*

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT1[]

TABLES

T_OUTTAB = IT_VBRP

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. " INTERACTIVE_REPORT

do reward if it helps,

priya.

Read only

Former Member
0 Likes
441

Hai,

This is praveen kumar from bangalore i refered few books but i don't get the solution , plz any body knows send one text to me this is my quary

thanks & regards

praveen s.