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: 

Line selection in ALV

Former Member
0 Kudos

Hello Gurus,

I wrote a code to display the ALV report.

Now I wanted to select any field in the row (any column of a particular row) of the displyed and I wanted to call a transaction code.

How do we do this in case of ALV report. For normal reports, I can use at line selection. Please help me.

Regards,

Balu

4 REPLIES 4

Former Member
0 Kudos

Check these threads which discuss interactive ALV reports -

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

ALV

1. Please give me 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

Hope this helps.

ashish

Former Member
0 Kudos

Check the below report and bold one is important:

REPORT ZMM_KITCHEN_COST no standard page heading

line-size 255

message-id zwave .

  • type-pools

type-pools : slis.

  • Tables

tables : mara,

makt,

mbew,

konp,

pgmi,

marc,

RMCP3,

sscrfields,

mvke.

  • Internal Table for MARC and MARA

data : begin of i_join occurs 0,

matnr like mara-matnr, " Material #

meins like mara-meins, " Unit of Measure

werks like marc-werks, " Plant

zzdept like marc-zzdept," Department

end of i_join.

  • Internal table for PGMI

data : begin of i_pgmi occurs 0,

werks like pgmi-werks, " Plant,

nrmit like pgmi-nrmit, " Material #

wemit like pgmi-wemit, " Plant

end of i_pgmi.

  • Internal Table for MBEW

data i_mbew like mbew occurs 0 with header line.

  • Internal Table for Output

data : begin of i_output occurs 0 ,

matnr like mara-matnr, " Material #

maktx like makt-maktx, " Material Desc

VPRSV like mbew-VPRSV, " Price Control Indicator

VERPR like mbew-VERPR, " Moving Avg Price

meins like mara-meins, " Base Unit of Measure

STPRS like mbew-STPRS, " Standard Price

LPLPR like mbew-LPLPR, " Current Planned Price

ZPLPR like mbew-ZPLPR, " Future Planned Price

VPLPR like mbew-VPLPR, " Previous Planned Price

kbetr like konp-kbetr, " Sales Price

KMEIN like konp-KMEIN, " Sales Unit

margin(5) type p decimals 2,

vmsta like mvke-vmsta, " Material Status.

end of i_output.

  • Internal Table for A004

data : i_a004 like a004 occurs 0 with header line.

  • Variables

data : wa_lines type i,

wa_maktx type makt-maktx,

v_flag type c.

  • ALV Function Module Variables

DATA: g_repid like sy-repid,

gs_layout type slis_layout_alv,

g_exit_caused_by_caller,

gs_exit_caused_by_user type slis_exit_by_user.

DATA: gt_fieldcat type slis_t_fieldcat_alv,

gs_print type slis_print_alv,

gt_events type slis_t_event,

gt_list_top_of_page type slis_t_listheader,

g_status_set type slis_formname value 'PF_STATUS_SET',

<b> g_user_command type slis_formname value 'USER_COMMAND',</b>

g_top_of_page type slis_formname value 'TOP_OF_PAGE',

g_top_of_list type slis_formname value 'TOP_OF_LIST',

g_end_of_list type slis_formname value 'END_OF_LIST',

g_variant LIKE disvariant,

g_save(1) TYPE c,

g_tabname_header TYPE slis_tabname,

g_tabname_item TYPE slis_tabname,

g_exit(1) TYPE c,

gx_variant LIKE disvariant.

data : gr_layout_bck type slis_layout_alv.

  • Selection-screen

selection-screen : begin of block blk with frame title text-001.

parameters : p_werks like marc-werks default '1000' obligatory.

select-options : s_dept for marc-zzdept obligatory,

s_matnr for mara-matnr,

s_mtart for mara-mtart,

s_vprsv for mbew-VPRSV,

s_PRGRP for RMCP3-PRGRP MATCHCODE OBJECT MAT2 ,

s_vmsta for mvke-vmsta.

selection-screen: end of block blk.

*SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.

*PARAMETERS: p_vari LIKE disvariant-variant.

*SELECTION-SCREEN END OF BLOCK b3.

*

----


  • At slection screen events *

----


*-- Process on value request

*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.

  • PERFORM f4_for_variant.

*

----


  • Initialization *

----


Initialization.

g_repid = sy-repid.

sscrfields-functxt_01 = 'Clear Selection'.

selection-screen function key 1.

AT SELECTION-SCREEN.

case sscrfields-ucomm.

when 'Clear Selection' or 'FC01'.

clear: s_matnr,

p_werks.

refresh: s_matnr,

s_dept,

s_mtart,

s_vprsv,

s_PRGRP,

s_vmsta.

endcase.

----


  • Start-of-selection.

----


start-of-selection.

  • Clear the all data.

perform clear_data.

  • Get the data from PGMI Table

perform get_pgmi.

  • Get the data from MARC and MARA Table

perform get_mara_marc.

  • Get the data from MBEW Table

perform get_mbew.

  • Move the data into OUTPUT Table

perform move_output_internal.

*end-of-selection.

end-of-selection.

if not i_output[] is initial.

  • ALV Function Module

perform print_alv.

endif.

&----


*& Form get_pgmi

&----


  • Select the data from PGMI Table

----


FORM get_pgmi.

clear v_flag.

  • If Product group has a value at Selection-screen.

if not s_prgrp is initial.

select werks nrmit wemit from pgmi into table i_pgmi

where prgrp in s_prgrp

and werks = p_werks

and wemit = p_werks.

v_flag = 'X'.

endif.

ENDFORM. " get_pgmi

&----


*& Form get_mara_marc

&----


  • Select the data from MARA and MARC

----


FORM get_mara_marc.

if v_flag = 'X'.

select amatnr ameins bwerks bzzdept into table i_join

from mara as a inner join marc as b on amatnr = bmatnr

for all entries in i_pgmi

where a~matnr in s_matnr

and b~werks = p_werks

and b~zzdept in s_dept

and a~mtart in s_mtart

and a~matnr = i_pgmi-nrmit

and b~werks = i_pgmi-werks.

else.

  • Get the data from MARA and MARC Table

select amatnr ameins bwerks bzzdept into table i_join

from mara as a inner join marc as b on amatnr = bmatnr

where a~matnr in s_matnr

and b~werks = p_werks

and b~zzdept in s_dept

and a~mtart in s_mtart.

endif.

clear wa_lines.

describe table i_join lines wa_lines.

if wa_lines is initial.

message i000(zwave) with 'List contains no data'.

stop.

endif.

sort i_join by matnr werks zzdept.

ENDFORM. " get_mara_marc

&----


*& Form get_mbew

&----


  • Select the data from MBEW Table

----


FORM get_mbew.

  • Get the data from MBEW.

select * from mbew into table i_mbew

for all entries in i_join

where matnr = i_join-matnr.

clear wa_lines.

describe table i_mbew lines wa_lines.

if wa_lines is initial.

message i000(zwave) with 'List contains no data'.

stop.

endif.

sort i_mbew by matnr bwkey.

ENDFORM. " get_mbew

&----


*& Form move_output_internal

&----


  • Final Results

----


FORM move_output_internal.

loop at i_join.

clear wa_maktx.

  • Compare the data with MVKE Table

select single vmsta from mvke into mvke-vmsta

where matnr = i_join-matnr

and vkorg = '0001'

and vtweg = '01'

and vmsta in s_vmsta.

if sy-subrc ne 0.

continue.

else.

i_output-vmsta = mvke-vmsta.

endif.

read table i_mbew with key matnr = i_join-matnr

bwkey = i_join-werks

binary search.

if sy-subrc eq 0.

  • Price Control Indicator

i_output-VPRSV = i_mbew-VPRSV.

  • Moving Average Price

i_output-VERPR = i_mbew-VERPR / i_mbew-peinh.

  • Standard Price

i_output-STPRS = i_mbew-STPRS / i_mbew-peinh.

  • Current Planned Price

i_output-LPLPR = i_mbew-LPLPR / i_mbew-peinh.

  • Future Planned Price

i_output-ZPLPR = i_mbew-ZPLPR / i_mbew-peinh.

  • Previous Planned Price

i_output-VPLPR = i_mbew-VPLPR / i_mbew-peinh.

  • Base Unit of Measure - Added by Seshu 01/09/2007

i_output-meins = i_join-meins.

else.

continue.

endif.

  • Get the sales Price.

perform get_sales_data.

if i_mbew-VPRSV = 'V'.

  • Get the Percentage of Margin

if i_output-kbetr ne '0.00'.

i_output-margin = ( ( i_output-kbetr - i_mbew-VERPR )

/ i_output-kbetr ) * 100 .

endif.

else.

  • Get the Percentage of Margin

if i_output-kbetr ne '0.00'.

i_output-margin = ( ( i_output-kbetr - i_output-stprs )

/ i_output-kbetr ) * 100 .

endif.

endif.

  • Get the material Description from MAKT Table

select single maktx from makt into wa_maktx

where matnr = i_join-matnr

and spras = 'E'.

if sy-subrc eq 0.

i_output-matnr = i_join-matnr.

i_output-maktx = wa_maktx.

endif.

append i_output.

clear : i_output,

i_join,

i_mbew.

endloop.

ENDFORM. " move_output_internal

&----


*& Form get_sales_data

&----


  • Get the Sales Price for each material

----


FORM get_sales_data.

  • Get the data from A004 table to get KNUMH

  • Added new field Sales Unit - Seshu 01/09/2006

refresh : i_a004.

clear : i_a004.

data : lv_kbetr like konp-kbetr," Condition value

lv_KPEIN like konp-kpein , "per

lv_KMEIN like konp-KMEIN. " Sales Unit

select * from a004 into table i_a004

where matnr = i_join-matnr

and vkorg = '0001'

and vtweg = '01'.

if sy-subrc eq 0.

sort i_a004 by DATAB descending.

  • Get the Latetest Date

read table i_a004 with key matnr = i_join-matnr

vkorg = '0001'

vtweg = '01'

binary search.

  • Get the Sales Value

select single kbetr KPEIN KMEIN from konp

into (lv_kbetr,lv_KPEIN, lv_KMEIN)

where knumh = i_a004-knumh

and kappl = i_a004-kappl

and kschl = i_a004-kschl.

if sy-subrc eq 0.

i_output-kbetr = lv_kbetr / lv_KPEIN.

i_output-KMEIN = lv_KMEIN.

endif.

endif.

clear : lv_kbetr,

lv_kpein,

lv_KMEIN.

ENDFORM. " get_sales_data

&----


*& Form print_alv

&----


  • ALV Function Module

----


FORM print_alv.

  • Fill the Fiedlcat

PERFORM fieldcat_init using gt_fieldcat[].

gr_layout_bck-edit_mode = 'D'.

gr_layout_bck-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = g_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

<b> I_CALLBACK_USER_COMMAND = g_user_command</b>

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = gr_layout_bck

IT_FIELDCAT = gt_fieldcat[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = g_save

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT =

  • IT_HYPERLINK =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IT_EXCEPT_QINFO =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = i_output

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. " print_alv

&----


*& Form fieldcat_init

&----


  • Fieldcat

----


FORM fieldcat_init USING e01_lt_fieldcat type slis_t_fieldcat_alv.

DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

  • Material #

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'MATNR'.

LS_FIELDCAT-ref_fieldname = 'MATNR'.

LS_FIELDCAT-ref_tabname = 'MARA'.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Material'.

ls_fieldcat-seltext_M = 'Material'.

ls_fieldcat-seltext_S = 'Material'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Material Description

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'MAKTX'.

LS_FIELDCAT-OUTPUTLEN = 35.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Description'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Price Indicator

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'VPRSV'.

LS_FIELDCAT-OUTPUTLEN = 7.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Price Control Indicator'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Moving Avg Price

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'VERPR'.

LS_FIELDCAT-OUTPUTLEN = 11.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Moving Avg Price'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Base Unit of Measure

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'MEINS'.

LS_FIELDCAT-OUTPUTLEN = 7.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Base Unit'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Standard Price

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'STPRS'.

LS_FIELDCAT-OUTPUTLEN = 11.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Standard Price'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Current Planned Price

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'LPLPR'.

LS_FIELDCAT-OUTPUTLEN = 11.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Current Planned Price'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Future Planned Price

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'ZPLPR'.

LS_FIELDCAT-OUTPUTLEN = 11.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Future Planned Price'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Previous Planned Price

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'VPLPR'.

LS_FIELDCAT-OUTPUTLEN = 11.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Previous Planned Price'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Sales Price

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'KBETR'.

LS_FIELDCAT-OUTPUTLEN = 13.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Sales Price'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Sales Unit

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'KMEIN'.

LS_FIELDCAT-OUTPUTLEN = 7.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Sales Unit'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • % of Gross Margin

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'MARGIN'.

LS_FIELDCAT-OUTPUTLEN = 13.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = '% of Gross Margin'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

  • Material Status

CLEAR LS_FIELDCAT.

LS_FIELDCAT-FIELDNAME = 'VMSTA'.

LS_FIELDCAT-OUTPUTLEN = 13.

LS_FIELDCAT-TABNAME = 'I_OUTPUT'.

ls_fieldcat-seltext_L = 'Material Status'.

APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

ENDFORM. " fieldcat_init

**&----


*

**& Form f4_for_variant

**&----


*

    • text

**----


*

*FORM f4_for_variant.

*

  • CALL FUNCTION 'REUSE_ALV_VARIANT_F4'

  • EXPORTING

  • is_variant = g_variant

  • i_save = g_save

  • i_tabname_header = g_tabname_header

  • i_tabname_item = g_tabname_item

    • it_default_fieldcat =

  • IMPORTING

  • e_exit = g_exit

  • es_variant = gx_variant

  • EXCEPTIONS

  • not_found = 2.

  • IF sy-subrc = 2.

  • MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno

  • WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  • ELSE.

  • IF g_exit = space.

  • p_vari = gx_variant-variant.

  • ENDIF.

  • ENDIF.

*

*

*ENDFORM. " f4_for_variant

&----


*& Form clear_data

&----


  • Clear the Internal table

----


FORM clear_data.

clear : i_output,

i_join,

i_mbew,

i_a004,

i_pgmi.

refresh : i_output,

i_join,

i_mbew,

i_a004,

i_pgmi.

ENDFORM. " clear_data

----


  • FORM USER_COMMAND *

----


<b>FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield. "#EC CALLED

CASE R_UCOMM.

WHEN '&IC1'.

read table i_output index rs_selfield-tabindex.

SET PARAMETER ID 'MAT' FIELD i_output-matnr.

SET PARAMETER ID 'WRK' FIELD p_werks.

if not i_output-matnr is initial.

call transaction 'MD04' and skip first screen.

endif.

ENDCASE.

ENDFORM.</b>

Thanks

Seshu

Former Member
0 Kudos

Hi,

You can refer to the standard program BALVST01.

Thanks,

Srinivas

Former Member
0 Kudos

If you are using OOPs check below code.

Here I am caling 2 diffrent T codes depends on two diffrent coluamns.

METHODS: handle_double_click

FOR EVENT double_click OF cl_gui_alv_grid

IMPORTING e_column

es_row_no.

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