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

Interactive ALV

Former Member
0 Likes
934

Hi experts,

I had developed an ALV report. In that i need to add interactive functionality for vendor number and PO so that they go directly to vendor master transaction and ME23N respectively.

Can any one please suggest me how to work out this.

Thank you,

regards,

vijay

7 REPLIES 7
Read only

Former Member
0 Likes
894

hi,

Check the demo program BCALV_TEST_GRID_EVENTS

Refer to this link...

Edited by: avinash kodarapu on Jan 10, 2009 9:56 AM

Read only

Former Member
0 Likes
894

Hi,

ALV Report Links:

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

http://www.itcserver.com/blog/2006/06/29/interactive-reports-in-abap/

Reference Code

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

Functions on ALV Reports:

1. general info on ALV.

http://www.sapfans.com/forums/viewtopic.php?t=58286

http://www.sapfans.com/forums/viewtopic.php?t=76490

http://www.sapfans.com/forums/viewtopic.php?t=20591

http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.

2. How do I program double click in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=11601

http://www.sapfans.com/forums/viewtopic.php?t=23010

3. How do I add subtotals (I have problem to add them)...

http://www.sapfans.com/forums/viewtopic.php?t=20386

http://www.sapfans.com/forums/viewtopic.php?t=85191

http://www.sapfans.com/forums/viewtopic.php?t=88401

http://www.sapfans.com/forums/viewtopic.php?t=17335

4. How to add list heading like top-of-page in ABAP lists?

http://www.sapfans.com/forums/viewtopic.php?t=58775

http://www.sapfans.com/forums/viewtopic.php?t=60550

http://www.sapfans.com/forums/viewtopic.php?t=16629

5. How to print page number / total number of pages X/XX in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)

6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.

http://www.sapfans.com/forums/viewtopic.php?t=64320

http://www.sapfans.com/forums/viewtopic.php?t=44477

7. How can I set the cell color in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=52107

8. How do I print a logo/graphics in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=81149

http://www.sapfans.com/forums/viewtopic.php?t=35498

http://www.sapfans.com/forums/viewtopic.php?t=5013

9. How do I create and use input-enabled fields in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=84933

http://www.sapfans.com/forums/viewtopic.php?t=69878

10. How can I use ALV for reports that are going to be run in background?

http://www.sapfans.com/forums/viewtopic.php?t=83243

http://www.sapfans.com/forums/viewtopic.php?t=19224

11. How can I display an icon in ALV? (Common requirement is traffic light icon).

http://www.sapfans.com/forums/viewtopic.php?t=79424

http://www.sapfans.com/forums/viewtopic.php?t=24512

12. How can I display a checkbox in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=88376

http://www.sapfans.com/forums/viewtopic.php?t=40968

http://www.sapfans.com/forums/viewtopic.php?t=6919

Link containing all the important PDFS. ( There is a PDF for ALV Grid in this link)

http://www.easymarketplace.de/online-pdfs.php

Hope these details are useful to you.

Thanks!!

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
894

Hello Vijay,

Please search SDN before posting your question. Trust me you will get faster solutions if you try to search )

Happy searching !!!

BR,

Suhas

Read only

Former Member
0 Likes
894

try this...


 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
     i_callback_program                = sy-repid
*            I_CALLBACK_PF_STATUS_SET          = ' '
*            I_CALLBACK_USER_COMMAND           = ' '
*            I_CALLBACK_TOP_OF_PAGE            = ' '
*            I_GRID_TITLE                      =
*            I_GRID_SETTINGS                   =
     i_callback_user_command           = 'USER_COMMAND '                          
     is_layout                         = is_layout
     it_fieldcat                       = it_fieldcat
*            IT_EXCLUDING                      =
*            IT_SPECIAL_GROUPS                 =
*            IT_SORT                           =
*            IT_FILTER                         =
*            IS_SEL_HIDE                       =
*            I_DEFAULT                         = 'X'
     i_save                            = 'X'
*            IS_VARIANT                        =
*            IT_EVENTS                         =
*            IT_EVENT_EXIT                     =
    TABLES
      t_outtab                          = it_final
   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.                    " alv_display


*&---------------------------------------------------------------------*
*&      Form  user_command
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->R_UCOMM      text
*      -->RS_SELFIELD  text
*----------------------------------------------------------------------*
FORM user_command  USING r_ucomm LIKE sy-ucomm
                         rs_selfield TYPE slis_selfield.
  CASE r_ucomm.

*----- When the User Clicks on on the Order
    WHEN '&IC1'.
      IF rs_selfield-fieldname EQ 'BANFN'.
        READ TABLE it_final INTO wa_final INDEX rs_selfield-tabindex.
        SET PARAMETER ID 'BAN' FIELD wa_final-banfn.
        CALL TRANSACTION 'ME53N' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ 'EBELN'.
        READ TABLE it_final INTO wa_final INDEX rs_selfield-tabindex.
        CHECK wa_final-ebeln IS NOT INITIAL.
        SET PARAMETER ID 'BES' FIELD wa_final-ebeln.
        CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ 'BELNR'.
        READ TABLE it_final INTO wa_final INDEX rs_selfield-tabindex.
        CHECK wa_final-belnr IS NOT INITIAL.
        SET PARAMETER ID 'MBN' FIELD wa_final-belnr.
        SET PARAMETER ID 'MJA' FIELD wa_final-gjahr.
        CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN.

      ENDIF.
  ENDCASE.
ENDFORM.                    "user_command

Read only

Former Member
0 Likes
894

Hi,

Please follow the code below.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_BYPASSING_BUFFER = ' '

I_SAVE = 'A'

I_CALLBACK_PROGRAM = 'Program name'

I_CALLBACK_PF_STATUS_SET = 'F01_ALV_EVENT_PF_STATUS_SET'

I_CALLBACK_USER_COMMAND = 'F01_ALV_EVENT_USER_COMMAND'

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FCAT[]

I_GRID_TITLE = W_GRIDTITLE

TABLES

T_OUTTAB = IT_OFIN[].

FORM F01_ALV_EVENT_USER_COMMAND USING PU_UCOMM LIKE SY-UCOMM

PU_SELFIELD TYPE SLIS_SELFIELD.

CASE PU_UCOMM.

WHEN '&IC1'.

CASE PU_SELFIELD-FIELDNAME.

WHEN 'LIFNR'.

W_LIFNR1 = PU_SELFIELD-VALUE.

SET PARAMETER ID 'LIF' FIELD W_LIFNR1.

CALL TRANSACTION 'XK03'.

EXIT.

WHEN 'EBELN'.

W_EBELN1 = PU_SELFIELD-VALUE.

SET PARAMETER ID 'BES' FIELD W_EBELN1.

CALL FUNCTION 'ME_DISPLAY_PURCHASE_DOCUMENT'

EXPORTING

I_EBELN = W_EBELN1

I_ENJOY = 'X'

I_DISPLAY_ONLY = 'X'.

EXIT.

ENDCASE.

READ TABLE IT_OFIN INTO WA_OFIN INDEX PU_SELFIELD-TABINDEX.

MOVE WA_OFIN-EBELN TO W_EBELN.

MOVE WA_OFIN-EBELP TO W_EBELP.

MOVE WA_OFIN-ZSPLTNO TO W_ZSPLTNO.

EXPORT W_EBELN FROM W_EBELN TO MEMORY ID 'MEM1'.

EXPORT W_EBELP FROM W_EBELP TO MEMORY ID 'MEM2'.

EXPORT W_ZSPLTNO FROM W_ZSPLTNO TO MEMORY ID 'MEM3'.

CALL TRANSACTION 'transaction to be called'.

WHEN '/&EB9'.

PU_SELFIELD-REFRESH = 'X'.

LOOP AT IT_OFIN INTO WA_OFIN WHERE SEL = 'X'.

MOVE WA_OFIN-EBELN TO WA_EXPT-EBELN.

MOVE WA_OFIN-EBELP TO WA_EXPT-EBELP.

MOVE WA_OFIN-ZSPLTNO TO WA_EXPT-ZSPLTNO.

APPEND WA_EXPT TO IT_EXPT.

CLEAR WA_EXPT.

CLEAR WA_OFIN.

ENDLOOP.

IF NOT IT_EXPT IS INITIAL.

EXPORT IT_EXPT = IT_EXPT TO MEMORY ID 'MM4'.

REFRESH IT_EXPT[].

ELSE.

MESSAGE I020(message id).

EXIT.

ENDIF.

CALL TRANSACTION 'transaction to be called'.

ENDCASE.

Read only

Former Member
0 Likes
894

Use this below code..

START-OF-SELECTION.

SELECT * into corresponding fields of table itab FROM MARA.

END-OF-SELECTION.

************************************************************************

*build field catalog for basic list

************************************************************************

FIELDCATALOG-FIELDNAME = 'MATNR'.

FIELDCATALOG-SELTEXT_S = 'MAT-NUMBER'.

FIELDCATALOG-COL_POS = 0.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ERSDA'.

FIELDCATALOG-SELTEXT_S = 'CREATE-DATE'.

FIELDCATALOG-COL_POS = 1.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ERNAM'.

FIELDCATALOG-SELTEXT_S = 'NAME'.

FIELDCATALOG-COL_POS = 2.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'LAEDA'.

FIELDCATALOG-SELTEXT_S = 'LAST-DATE'.

FIELDCATALOG-COL_POS = 3.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

************************************************************************

*call function module

************************************************************************

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_USER_COMMAND ='HANDLE_ALV_UCOMM'

IT_FIELDCAT = FIELDCATALOG[]

TABLES

t_outtab = ITAB

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.

form HANDLE_ALV_UCOMM using r_ucomm like sy-ucomm

r_selfield type slis_selfield.

case r_ucomm.

when '&IC1'.

read table itab index r_selfield-tabindex.

PERFORM BUILD_FIELDCATLOG_MARC.

PERFORM DATA_RETRIEVAL_MARC.

PERFORM DISPLAY_ALV_MARC.

endcase.

ENDFORM.

************************************************************************

*Build field catalog for secondary list

************************************************************************

FORM BUILD_FIELDCATLOG_MARC.

refresh FIELDCATALOG.

FIELDCATALOG-TABNAME = 'ITAB1'.

FIELDCATALOG-FIELDNAME = 'WERKS'.

FIELDCATALOG-SELTEXT_S = 'PLANT'.

FIELDCATALOG-COL_POS = 1.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-TABNAME = 'ITAB1'.

FIELDCATALOG-FIELDNAME = 'PSTAT'.

FIELDCATALOG-SELTEXT_S = 'MAINTANANCE-STATUS'.

FIELDCATALOG-COL_POS = 2.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

ENDFORM.

************************************************************************

*form data retrival

************************************************************************

FORM DATA_RETRIEVAL_MARC.

SELECT werks pstat lvorm FROM MARC into table itab1

WHERE MATNR = itab-MATNR.

ENDFORM.

************************************************************************

*call function display-alv

************************************************************************

FORM DISPLAY_ALV_MARC.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

IT_FIELDCAT = FIELDCATALOG[]

TABLES

t_outtab = ITAB1.

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.

Read only

0 Likes
894

thnnx