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"S

Former Member
0 Kudos

Hi in ALV list if i select a field it should be goto some transaction .

for this one i implemented logic but for that field i didnt find parameter id so how to proceed from this can help me

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hi chaaya,

goto SE11.

give the table name of the field.

select the data element of the field from DB table.

Double click on it.

go to the further characteristic tab .

there you will get the PARAMETER ID for the field.

if the parameter id is not there for that field.

set your own parameter id for that field and use it in your program.

<b><i>reward points if useful</i></b>

Chandra

4 REPLIES 4

rainer_hbenthal
Active Contributor
0 Kudos

you can use

call transaction

and filling in the paramters and select options in the same way like submit.

Former Member
0 Kudos

Hi,

Just write the code like,

Call transaction 'SE38'. -


> Just for Ex.

For which field and Transaction you want to know the Parameter Id.

Thanks.

Former Member
0 Kudos

Hi

this example you can understand very easily

in this LOGO is inserted and the Transaction is called when u select a field

TYPE-POOLS : slis.

*ALV Formatting tables /structures
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: gt_events   TYPE slis_t_event.
DATA: gs_layout   TYPE slis_layout_alv.
DATA: gt_page     TYPE slis_t_listheader.
DATA: gs_page     TYPE slis_listheader.
DATA: v_repid     LIKE sy-repid.

*ALV Formatting work area
DATA: w_fieldcat TYPE slis_fieldcat_alv.
DATA: w_events   TYPE slis_alv_event.

DATA: gt_bsid TYPE TABLE OF bsid WITH HEADER LINE.

INITIALIZATION.

  PERFORM build_events.
  PERFORM build_page_header.

START-OF-SELECTION.
*perform build_comment.     "top_of_page - in initialization at present

  SELECT * FROM bsid INTO TABLE gt_bsid UP TO 10 ROWS.

*perform populate_for_fm using '1' '3' 'BUKRS' '8' 'GT_BSID' 'Whee'.
*USING = Row, Column, Field name, display length, table name, heading

*OR
  PERFORM build_fieldcat.
  gs_layout-zebra = 'X'.


*top of page event does not work without I_callback_program
  v_repid = sy-repid.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program                = v_repid
      i_structure_name                  = 'BSID'
*    i_background_id                   = 'ALV_BACKGROUND'
      i_grid_title                      = 'This is the grid title'
*   I_GRID_SETTINGS                   =
      is_layout                         = gs_layout
      it_fieldcat                       = gt_fieldcat[]
      it_events                         = gt_events[]
    TABLES
      t_outtab                          = gt_bsid.

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

* Form..............:  populate_for_fm
* Description.......:  Populates fields for function module used in ALV
************************************************************************

FORM populate_for_fm USING p_row
                           p_col
                           p_fieldname
                           p_len
                           p_table
                           p_desc.

  w_fieldcat-row_pos      = p_row.          "Row Position
  w_fieldcat-col_pos      = p_col.          "Column Position
  w_fieldcat-fieldname    = p_fieldname.    "Field name
  w_fieldcat-outputlen    = p_len.          "Column Lenth
  w_fieldcat-tabname      = p_table.        "Table name
  w_fieldcat-reptext_ddic = p_desc.         "Field Description
  w_fieldcat-input        = '1'.
  APPEND w_fieldcat TO gt_fieldcat.
  CLEAR w_fieldcat.

ENDFORM.                    " populate_for_fm
*&---------------------------------------------------------------------*

*&      Form  build_events
*&---------------------------------------------------------------------*

FORM build_events.
  DATA: ls_event TYPE slis_alv_event.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type = 0
    IMPORTING
      et_events   = gt_events.

  READ TABLE gt_events
             WITH KEY name =  slis_ev_user_command
             INTO ls_event.
  IF sy-subrc = 0.
    MOVE slis_ev_user_command TO ls_event-form.
    APPEND ls_event TO gt_events.
  ENDIF.
  READ TABLE gt_events
             WITH KEY name =  slis_ev_top_of_page
             INTO ls_event.
  IF sy-subrc = 0.
    MOVE slis_ev_top_of_page TO ls_event-form.
    APPEND ls_event TO gt_events.
  ENDIF.

ENDFORM.                    " build_events
*&---------------------------------------------------------------------*

*&      Form  USER_COMMAND
*&---------------------------------------------------------------------*

* When user command is called it uses 2 parameters. The itab
* passed to the ALV is in whatever order it currently is on screen.
* Therefore, you can read table itab index rs_selfield-tabindex to get
* all data from the table. You can also check r_ucomm and code
* accordingly.
*&---------------------------------------------------------------------*

FORM user_command USING  r_ucomm     LIKE sy-ucomm
                         rs_selfield TYPE slis_selfield.

  READ TABLE gt_bsid INDEX rs_selfield-tabindex.
* error checking etc.
  SET PARAMETER ID 'KUN' FIELD gt_bsid-kunnr.
  CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
ENDFORM.                    "user_command
*&---------------------------------------------------------------------*

*&      Form  top_of_page
*&---------------------------------------------------------------------*

* Your own company logo can go here if it has been saved (OAOR)
* If the logo is larger than the size of the headings in gt_page,
* the window will not show full logo and will have a scroll bar. Thus,
* it is a good idea to have a standard ALV header if you are going to
* use logos in your top of page.
*&---------------------------------------------------------------------*

FORM top_of_page.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = gt_page
      i_logo             = 'ENJOYSAP_LOGO'.
ENDFORM.                    "top_of_page
*&---------------------------------------------------------------------*

*&      Form  build_fieldcat
*&---------------------------------------------------------------------*

*Many and varied fields are available here. Have a look at documentation

*for FM REUSE_ALV_LIST_DISPLAY and REUSE_ALV_FIELDCATALOG_MERGE
*----------------------------------------------------------------------*

FORM build_fieldcat.
  w_fieldcat-fieldname  = 'BUDAT'.
  w_fieldcat-seltext_m  = 'Dte pst'.
  w_fieldcat-ddictxt(1) = 'M'.
  w_fieldcat-edit = 'x'.
* Can change the position of fields if you do not want them in order
* of the DDIC or itab

*  w_fieldcat-row_pos = '1'.
*  w_fieldcat-col_pos = '10'.
  APPEND w_fieldcat TO gt_fieldcat.
  CLEAR w_fieldcat.

ENDFORM.                    " build_fieldcat
*&---------------------------------------------------------------------*

*&      Form  build_page_header
*&---------------------------------------------------------------------*

*       gt_page is used in top of page (ALV subroutine - NOT event)
*       *H = Header, S = Selection, A = Action
*----------------------------------------------------------------------*

FORM build_page_header.
* For Headers, Key is not printed and is irrelevant. Will not cause
* a syntax error, but is not used.
  gs_page-typ  = 'H'.
  gs_page-info = 'Header 1'.
  APPEND gs_page TO gt_page.

  gs_page-typ  = 'H'.
  gs_page-info = 'Header 2'.
  APPEND gs_page TO gt_page.

* For Selections, the Key is printed (bold). It can be anything up to 20

* bytes. It gets printed in order of code here, not by key value.
  gs_page-typ  = 'S'.
  gs_page-key  = 'And the winner is:'.
  gs_page-info = 'Selection 1'.
  APPEND gs_page TO gt_page.

  gs_page-typ  = 'S'.
  gs_page-key  = 'Runner up:'.
  gs_page-info = 'Selection 2'.
  APPEND gs_page TO gt_page.

* For Action, Key is also irrelevant.
  gs_page-typ  = 'A'.
  gs_page-info = 'Action goes here'.
  APPEND gs_page TO gt_page.

ENDFORM.                    " build_page_header

<b>Reward if usefull</b>

Former Member
0 Kudos

hi chaaya,

goto SE11.

give the table name of the field.

select the data element of the field from DB table.

Double click on it.

go to the further characteristic tab .

there you will get the PARAMETER ID for the field.

if the parameter id is not there for that field.

set your own parameter id for that field and use it in your program.

<b><i>reward points if useful</i></b>

Chandra