Application Development 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: 

ALV report

Former Member
0 Kudos

how will you difine an Button in an Alv output

1 ACCEPTED SOLUTION

Former Member
7 REPLIES 7

Former Member
0 Kudos

Hi Ratna,

Refer this docu, for adding radio buttons in ALV.

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a02535ce-9eaf-2910-ae8c-f2f2afc1...

Hope this helps,.

Former Member
0 Kudos

Hi Ratna,

You need to create a Interface Object using Menu Painter (SE41) for your program.

Define a button in the GUI.

Use <b>SET PF-STATUS 'GUI-NAME'</b> statement in your ALV program.

<b>Reward points if this helps,</b>

Kiran

Former Member
0 Kudos

hi

chk this.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = PROGNAME

<b>I_CALLBACK_PF_STATUS_SET = 'MAIN'"tHIS IS THE NAME OF THE SUBROUTINE IN WHICH YOU HAVE TO SET THE PF-STATUS AND NOT THE NAME OF THE PF-STATUS</b>

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

IS_VARIANT = VARIANT

IS_LAYOUT = LAYOUT

IT_FIELDCAT = FIELDCAT

IT_SORT = SORT

IT_FILTER = FILTER

I_SAVE = 'A'

IT_EVENTS = EVENTS

IT_EVENT_EXIT = EVENT_EXIT

IS_PRINT = PRINT

TABLES

T_OUTTAB = ITAB

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

<b>form MAIN.

SET PF-STATUS 'MAIN'.

ENDFORM.</b>

check this..

<b>alv-pfstatus:</b>

http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_pfstatus.htm

<b>then how to capture that button click.</b>

http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_ucomm.htm

http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_rowsel.htm

<b>reward points for useful ans</b>

Regards

ankit

0 Kudos

for this in normal alv programming we have to set our own pf-status and using t-code [se41] we can create button and give the function code,and in the function module REUSE_ALV_GRID_DISPLAY there is a parameter for that we have to pass one name.

using that name we have to write subroutine.

for this refer documentation of FM REUSE_ALV_GRID_DISPLAY.

reward points to all helpful answers

Former Member

Former Member
0 Kudos

Hi Rajesh,

First create a Button in se41(screen painter) and then in ALV FM .I Have created pf status as PF_STATUS and then write a logic in user command

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    I_INTERFACE_CHECK                 = 'X'
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
    I_CALLBACK_PROGRAM                = V_REPID
<i><b>    I_CALLBACK_PF_STATUS_SET          = 'PF_STATUS'
    I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'</b></i>
    I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  = I_STRUCTURE_NAME
*   I_BACKGROUND_ID                   = ' '
    I_GRID_TITLE                      = 'Report for PO Details'
*   I_GRID_SETTINGS                   = I_GRID_SETTINGS
    IS_LAYOUT                         = WA_LAYOUT
    IT_FIELDCAT                       = IT_FIELDCAT
*   IT_EXCLUDING                      = IT_EXCLUDING
*   IT_SPECIAL_GROUPS                 = IT_SPECIAL_GROUPS
    IT_SORT                           = IT_SORT
*   IT_FILTER                         = IT_FILTER
*   IS_SEL_HIDE                       = IS_SEL_HIDE
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        = IS_VARIANT
*   IT_EVENTS                         = IT_EVENTS
*   IT_EVENT_EXIT                     = IT_EVENT_EXIT
*   IS_PRINT                          = IS_PRINT
*   IS_REPREP_ID                      = IS_REPREP_ID
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   = IT_ALV_GRAPHICS
*   IT_HYPERLINK                      = IT_HYPERLINK
*   IT_ADD_FIELDCAT                   = IT_ADD_FIELDCAT
*   IT_EXCEPT_QINFO                   = IT_EXCEPT_QINFO
*   IR_SALV_FULLSCREEN_ADAPTER        = IR_SALV_FULLSCREEN_ADAPTER
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           = E_EXIT_CAUSED_BY_CALLER
*   ES_EXIT_CAUSED_BY_USER            = ES_EXIT_CAUSED_BY_USER
  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.

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

CASE SY-UCOMM.
WHEN 'UPDATE'.
LEAVE TO SCREEN 0.
ENDCASE.

ENDFORM.

Thanks

Vikranth Khimavath

Former Member
0 Kudos

Hello ratna,

You can Create Your own buttons along with the buttons provided by standard ALV.

You just go to your GUI Status. There you can find a button with '+ ' to insert.

Place your cursor on one of the buttons and just click on Insert Button ( '+' ).

And Go ahead with your button coding.

You can Write necessory actions that are to be performed after clicking that button: You have to write appropriate logic in the USER_COMMAND form that you are passing to the Function Module.

Reward If Helpful

Regards

--

Sasidhar Reddy Matli.

Message was edited by:

Sasidhar Reddy Matli