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 alvs i have to swith over to one transaction based on selection on one field so how we can program it can u help me this

3 REPLIES 3

Former Member
0 Kudos

hi Chaaya.,

try this sample code .

FORM user_command USING r_ucomm LIKE syst-ucomm

rs_selfield TYPE slis_selfield.

CONSTANTS:

lc_x(1) TYPE c VALUE 'X'.

IF r_ucomm = '&IC1'.

CASE rs_selfield-fieldname.

WHEN 'VBELN'.

  • When Sales Order Document is selected...

SET PARAMETER ID 'AUN' FIELD rs_selfield-value.

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN .

ENDCASE.

ENDIF.

rs_selfield-refresh = lc_x.

ENDFORM. "USER_COMMAND

and populate this form 'USER_COMMAND' in event catelog of ALV.

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

Chandra

former_member189629
Active Contributor
0 Kudos

Chaaya,

Interactive ALV's functionality will help u achieve it. Follow the sample code below

report z_alv_interactive.

tables : lfa1,ekko,ekpo.

select-options : vendor for lfa1-lifnr.

data : begin of itab occurs 0,

lifnr like lfa1-lifnr,

name1 like lfa1-name1,

end of itab.

data : begin of jtab occurs 0,

ebeln like ekko-ebeln,

aedat like ekko-aedat,

end of jtab.

data : begin of ktab occurs 0,

ebelp like ekpo-ebelp,

matnr like ekpo-matnr,

end of ktab.

type-pools : slis.

data : repid like sy-repid.

data :lfa1_b type slis_t_fieldcat_alv,

lfa1_w type slis_fieldcat_alv,

ekko_b type slis_t_fieldcat_alv,

ekko_w type slis_fieldcat_alv,

ekpo_b type slis_t_fieldcat_alv,

ekpo_w type slis_fieldcat_alv,

events_b type slis_t_event,

events_w type slis_alv_event.

perform get_val.

repid = sy-repid.

select lifnr name1 from lfa1 into table itab where lifnr in vendor.

*perform val USING USER_COMMAND sel.

call function 'REUSE_ALV_LIST_DISPLAY'

exporting

i_callback_program = repid

it_fieldcat = lfa1_b

it_events = events_b

tables

t_outtab = itab.

&----


*& Form GET_VAL

&----


  • text this is to put column headings

----


form get_val.

lfa1_w-fieldname = 'LIFNR'.

lfa1_w-ref_tabname = 'LFA1'.

lfa1_w-ref_fieldname = 'LIFNR'.

append lfa1_w to lfa1_b.

lfa1_w-fieldname = 'NAME1'.

lfa1_w-ref_tabname = 'LFA1'.

lfa1_w-ref_fieldname = 'NAME1'.

append lfa1_w to lfa1_b.

ekko_w-fieldname = 'EBELN'.

ekko_w-ref_tabname = 'EKKO'.

ekko_w-ref_fieldname = 'EBELN'.

append ekko_w to ekko_b.

ekko_w-fieldname = 'AEDAT'.

ekko_w-ref_tabname = 'EKKO'.

ekko_w-ref_fieldname = 'AEDAT'.

append ekko_w to ekko_b.

ekpo_w-fieldname = 'EBELP'.

ekpo_w-ref_tabname = 'EKPO'.

ekpo_w-ref_fieldname = 'EBELP'.

append ekpo_w to ekpo_b.

ekpo_w-fieldname = 'MATNR'.

ekpo_w-ref_tabname = 'EKPO'.

ekpo_w-ref_fieldname = 'MATNR'.

append ekpo_w to ekpo_b.

events_w-name = 'USER_COMMAND'.

events_w-form = 'VAL'.

append events_w to events_b.

endform. "GET_VAL

&----


*& Form VAL

&----


  • text

----


  • -->USER_COMMANtext

  • -->SEL text for retrieving data

----


form val using user_command like sy-ucomm sel type slis_selfield.

data : ven(10) type n,

po(10) type n.

data : mat(10) type c.

if sel-fieldname = 'LIFNR'.

ven = sel-value.

select ebeln aedat from ekko into table jtab where lifnr = ven.

call function 'REUSE_ALV_LIST_DISPLAY'

exporting

i_callback_program = repid

  • I_STRUCTURE_NAME = EKKO_B

it_fieldcat = ekko_b

it_events = events_b

tables

t_outtab = jtab.

endif.

if sel-fieldname = 'EBELN'.

po = sel-value.

select ebelp matnr from ekpo into table ktab where ebeln = po.

call function 'REUSE_ALV_POPUP_TO_SELECT'

exporting

i_title = 'ITEM DETAILS'

i_tabname = 'EKPO'

it_fieldcat = ekpo_b

i_callback_program = repid

importing

es_selfield = sel

tables

t_outtab = ktab.

endif.

  • logic to select a record

if sel-fieldname = 'MATNR'.

mat = sel-value.

set parameter id 'MAT' field mat.

call transaction 'MM02' and skip first screen.

endif.

endform. "VAL

Reward if helpful,

Karthik

Former Member
0 Kudos

check below code calling two T codes

METHODS: handle_double_click

FOR EVENT double_click OF cl_gui_alv_grid

IMPORTING e_column

es_row_no.

ENDCLASS. "lcl_event_receiver DEFINITION

----


  • METHOD handle_double_click.

----


  • To set call transaction for VD03 and VF03

----


METHOD handle_double_click.

DATA: ls_final_table TYPE gty_final,

lv_vbeln TYPE bsid-vbeln.

  • To set Jump target with call transaction for VD03 and VF03

READ TABLE gt_final

INTO ls_final_table

INDEX es_row_no-row_id.

IF sy-subrc EQ 0.

CLEAR gs_bsid.

READ TABLE gt_bsid INTO gs_bsid

WITH KEY vbeln = ls_final_table-vbeln.

IF sy-subrc EQ 0.

CLEAR: lv_vbeln.

MOVE gs_bsid-vbeln TO lv_vbeln.

ELSE.

READ TABLE gt_bsid INTO gs_bsid

WITH KEY belnr = ls_final_table-vbeln.

IF sy-subrc EQ 0.

CLEAR: lv_vbeln.

MOVE gs_bsid-belnr TO lv_vbeln.

ENDIF.

ENDIF. " READ TABLE gt_bsid

IF lv_vbeln IS NOT INITIAL.

IF e_column EQ 'KUNNR'.

READ TABLE gt_vbrp INTO gs_vbrp WITH KEY vbeln = lv_vbeln BINARY SEARCH.

IF sy-subrc = 0 .

  • Call Transaction VD03

SET PARAMETER ID 'KUN' FIELD gs_bsid-kunnr.

SET PARAMETER ID 'VKO' FIELD gs_vbrp-vkorg_auft.

SET PARAMETER ID 'VTW' FIELD gs_vbrp-vtweg_auft.

SET PARAMETER ID 'SPA' FIELD gs_vbrp-spart.

CALL TRANSACTION 'VD03' AND SKIP FIRST SCREEN.

ENDIF.

ELSEIF e_column EQ 'VBELN'.

  • Call Transaction VF03

SET PARAMETER ID 'VF' FIELD lv_vbeln.

CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.

ENDIF. " e_column EQ 'KUNNR'.

ENDIF. " IF lv_vbeln IS NOT INITIAL.

ENDIF. " READ TABLE gt_final

ENDMETHOD. "handle_data_changed_finished

ENDCLASS. "lcl_event_receiver IMPLEMENTATION

Rewards if useful...............

Minal