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: 

Button in list

Former Member
0 Kudos

Hi all,

I am trying to show a list with data and there should be a button on which you can click to process.

Can anybody help me?

Thanks,

Nathalie

1 ACCEPTED SOLUTION

rahulkavuri
Active Contributor
0 Kudos

if u are talking about the PF-status then here is the code

FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.

  SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.

ENDFORM.                    "STATUS

*&---------------------------------------------------------------------*
*&      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 'BACK' OR 'CANC' OR 'EXIT'.

      LEAVE TO SCREEN 0.

    WHEN 'button'.

      IF RS_SELFIELD-FIELDNAME = 'VBELN'.

        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = RS_SELFIELD-VALUE
          IMPORTING
            OUTPUT = TEMP_VBELN.


*      TEMP_VBELN = RS_SELFIELD-VALUE.
        PERFORM GET_DATA_VBRP.
        PERFORM GET_SECOND_SCREEN_DISPLAY.

      ENDIF.

  ENDCASE.

ENDFORM.                    "USER_COMMAND

6 REPLIES 6

Former Member
0 Kudos

Hi,

Can you elaborate?

Regards,

Raj

0 Kudos

Hello,

I am trying to print a list of data on a screen / list and the idea is that a button appears under this list of data so you can first check the data and then click on this button to confirm the data is ok and can be saved. I prefer using a separate button, rather then using the toolbar.

thanks for your help,

Nathalie

former_member188685
Active Contributor
0 Kudos

Hi,

you can do it with the help of ALV. can you check this code...

REPORT ZTESTALV.

TYPE-POOLS: SLIS.

*- Fieldcatalog
DATA: IT_FIELDCAT  TYPE LVC_T_FCAT,
      IT_FIELDCAT1  TYPE SLIS_T_FIELDCAT_ALV..
*- For Events
DATA:IT_EVENTS TYPE SLIS_T_EVENT.

DATA:  X_FIELDCAT  TYPE LVC_S_FCAT,
        X_FIELDCAT1  TYPE SLIS_FIELDCAT_ALV.
DATA:X_LAYOUT TYPE LVC_S_LAYO.

DATA: BEGIN OF IT_VBAP OCCURS 0,
      VBELN LIKE VBAP-VBELN,
      POSNR LIKE VBAP-POSNR,
      BUTTON(10),
     END OF IT_VBAP.
DATA: LS_OUTTAB LIKE LINE OF IT_VBAP.
SELECT VBELN
       POSNR
       UP TO 10 ROWS
      INTO CORRESPONDING FIELDS OF TABLE IT_VBAP
      FROM VBAP.


DATA:L_POS TYPE I VALUE 1.
CLEAR: L_POS.
L_POS = L_POS + 1.

X_FIELDCAT-SELTEXT = 'Button'.
x_fieldcat-fieldname = 'BUTTON'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS    = L_POS.
X_FIELDCAT-OUTPUTLEN = '10'.

X_FIELDCAT-style = X_FIELDCAT-style bit-xor
                  cl_gui_alv_grid=>MC_STYLE_BUTTON bit-xor
                  cl_gui_alv_grid=>MC_STYLE_ENABLEd.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.

L_POS = L_POS + 1.


X_FIELDCAT-SELTEXT = 'VBELN'.
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS    = L_POS.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-OUTPUTLEN = '10'.
x_fieldcat-ref_field = 'VBELN'.
x_fieldcat-ref_table = 'VBAK'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.

X_FIELDCAT-SELTEXT = 'POSNR'.
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS    = L_POS.
X_FIELDCAT-OUTPUTLEN = '5'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
  EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT_LVC      = X_LAYOUT
    IT_FIELDCAT_LVC    = IT_FIELDCAT
  TABLES
    T_OUTTAB           = IT_VBAP[]
  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.

Regards

vijay

Former Member
0 Kudos

Hi,

You can look into this SAP provided sample program:

BCALV_TEST_GRID_FIELDS.

This program demonstrates various things you can have as part of list fields, like check box, buttons, symbols.

Hope this helps.

Regards,

Sumant.

LucianoBentiveg
Active Contributor
0 Kudos

You must create a status gui for your report with the button, after this, call it using SET PF-STATUS command.

Regards.

rahulkavuri
Active Contributor
0 Kudos

if u are talking about the PF-status then here is the code

FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.

  SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.

ENDFORM.                    "STATUS

*&---------------------------------------------------------------------*
*&      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 'BACK' OR 'CANC' OR 'EXIT'.

      LEAVE TO SCREEN 0.

    WHEN 'button'.

      IF RS_SELFIELD-FIELDNAME = 'VBELN'.

        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = RS_SELFIELD-VALUE
          IMPORTING
            OUTPUT = TEMP_VBELN.


*      TEMP_VBELN = RS_SELFIELD-VALUE.
        PERFORM GET_DATA_VBRP.
        PERFORM GET_SECOND_SCREEN_DISPLAY.

      ENDIF.

  ENDCASE.

ENDFORM.                    "USER_COMMAND