Application Development and Automation 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: 
Read only

Interactive alv

former_member842213
Participant
0 Likes
597

hi,

I need to do inreactive alv using cl_salv_* class,

Can anyone give me sample code for the same.

Thanks a lot!!!!!!!!!!

5 REPLIES 5
Read only

Former Member
0 Likes
566

Have a look at belwo link. May be helpful to you.

http://help.sap.com/saphelp_nw2004s/helpdata/en/5e/88d440e14f8431e10000000a1550b0/frameset.htm

I hope it helps.

Best Regards,

Vibha

*Please mark all the helpful answers

Read only

Former Member
0 Likes
566

Hi,

Check the following link:

http://allsaplinks.com/alv1.html

Hope this helps.

Reward if helpful.

Regards,

Sipra

Read only

Former Member
0 Likes
566

Hi santhiya,

&----


report zkeerthi_alv5 .

&----


*& tables declaration

&----


tables: vbrk,vbrp.

&----


*& type-pools declaration

&----


type-pools: slis.

&----


*& data declaration

&----


data: g_repid type sy-repid.

data : it_fieldcat type slis_t_fieldcat_alv, "mara

wa_fieldcat type slis_fieldcat_alv,

wa_layout type slis_layout_alv,

wa_event type slis_alv_event,

t_event type slis_t_event.

data: v_vbeln like vbrk-vbeln,

v_matnr like vbrp-matnr.

data: begin of it_vbrk occurs 0,

vbeln like vbrk-vbeln,

waerk like vbrk-waerk,

vkorg like vbrk-vkorg,

fkdat like vbrk-fkdat,

bukrs like vbrk-bukrs,

netwr like vbrk-netwr,

end of it_vbrk.

data: begin of it_vbrp occurs 0,

vbeln like vbrp-vbeln,

posnr like vbrp-posnr,

fkimg like vbrp-fkimg,

vrkme like vbrp-vrkme,

netwr like vbrp-netwr,

matnr like vbrp-matnr,

arktx like vbrp-arktx,

end of it_vbrp.

&----


*& selection screen

&----


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

select-options: s_vbeln for vbrk-vbeln,

s_fkdat for vbrk-fkdat,

s_matnr for vbrp-matnr.

selection-screen end of block b.

**INITIALIZATION.

initialization.

g_repid = sy-repid.

s_fkdat-low = sy-datum - 200.

s_fkdat-high = sy-datum.

append s_fkdat.

***AT SELECTION-SCREEN.

at selection-screen.

if not s_vbeln is initial.

select single vbeln from vbrk

into v_vbeln

where vbeln in s_vbeln.

if sy-subrc <> 0.

message e001(zz2).

endif.

endif.

if not s_matnr is initial.

select single matnr from mara

into v_matnr

where matnr in s_matnr.

if sy-subrc <> 0.

message e001(zz2).

endif.

endif.

***START-OF-SELECTION.

start-of-selection.

perform get_data_vbrk.

&----


*& Form GET_DATA_VBRK

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form get_data_vbrk .

select vbeln

waerk

vkorg

fkdat

bukrs

netwr

into table it_vbrk

from vbrk

where vbeln in s_vbeln

and fkdat in s_fkdat.

endform. " GET_DATA_VBRK

&----


*& Form GET_DATA_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form get_data_vbrp .

select vbeln

posnr

fkimg

vrkme

netwr

matnr

arktx

from vbrp

into table it_vbrp

where vbeln = it_vbrk-vbeln.

endform. " GET_DATA_VBRP

***END-OF-SELECTION.

end-of-selection.

perform event_list.

perform get_field_catalog.

perform list_disp .

form list_disp .

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 = 'POPUP'

i_callback_user_command = 'USER_COMMAND'

  • 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 = WA_LAYOUT

it_fieldcat = it_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_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_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

tables

t_outtab = it_vbrk

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

&----


*& Form GET_FIELD_CATALOG

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form get_field_catalog .

call function 'REUSE_ALV_FIELDCATALOG_MERGE'

exporting

i_program_name = g_repid

i_internal_tabname = 'IT_VBRK'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

i_inclname = g_repid

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

changing

ct_fieldcat = it_fieldcat

exceptions

inconsistent_interface = 1

program_error = 2

others = 3

.

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

&----


*& Form event_list

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form event_list .

clear wa_event.

wa_event-name = 'USER_COMMAND'.

wa_event-form = 'USER_COMMAND'.

append wa_event to t_event.

clear wa_event.

endform. " event_list

form user_command using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

case r_ucomm.

when '&IC1'.

read table it_vbrk index rs_selfield-tabindex.

perform get_data_vbrp.

perform build_fieldcatalog_vbrp .

perform display_alv_vbrp.

endcase.

endform.

&----


*& Form BUILD_FIELDCATALOG_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form build_fieldcatalog_vbrp .

call function 'REUSE_ALV_FIELDCATALOG_MERGE'

exporting

i_program_name = g_repid

i_internal_tabname = 'IT_VBRP'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

i_inclname = g_repid

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

changing

ct_fieldcat = it_fieldcat

exceptions

inconsistent_interface = 1

program_error = 2

others = 3

.

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

&----


*& Form DISPLAY_ALV_VBRP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form display_alv_vbrp .

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 = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • 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 =

it_fieldcat = it_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_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_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

tables

t_outtab = it_vbrp

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

regards,

keerthi

Read only

anversha_s
Active Contributor
0 Likes
566

hi,

pls go to se38 -> give BCALV_EDIT_* -> press f4.

u will get many stndard sample pgms.

Regards

Anver

Read only

Former Member
0 Likes
566

Hi Santhiya,

check this example

REPORT Z_50657_ALV_EX5 NO STANDARD PAGE HEADING

LINE-COUNT 65(3)

LINE-SIZE 220

MESSAGE-ID ZZ.

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

  • Type Pools *

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

TYPE-POOLS: SLIS, ICON.

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

  • Tables *

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

TABLES : VBRK, "Billing Master table

VBRP. "Billing Item table

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

  • VARIABLES DECLARATION *

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

DATA: STR_DATE LIKE SY-DATUM.

DATA: X_FIELDCAT_VBRK TYPE SLIS_FIELDCAT_ALV,

IT_FIELDCAT_VBRK TYPE SLIS_T_FIELDCAT_ALV.

DATA: X_FIELDCAT_VBRP TYPE SLIS_FIELDCAT_ALV,

IT_FIELDCAT_VBRP TYPE SLIS_T_FIELDCAT_ALV.

DATA: L_LAYOUT TYPE SLIS_LAYOUT_ALV,

L_VARIANT LIKE DISVARIANT,

L_REPID LIKE SY-REPID,

L_SAVE(1) TYPE C.

DATA: CUR_VBELN(15), CUR_VBELN_VALUE(15).

DATA: TEMP_VBELN(10).

DATA: CTAB LIKE SY-TABIX.

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

  • Internal Tables *

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

  • Internal table to hold data from VBRK

DATA: BEGIN OF IT_VBRK OCCURS 0,

VBELN LIKE VBRK-VBELN,

WAERK LIKE VBRK-WAERK,

VKORG LIKE VBRK-VKORG,

FKDAT LIKE VBRK-FKDAT,

BUKRS LIKE VBRK-BUKRS,

BUTXT LIKE T001-BUTXT,

CHECK(1) TYPE C,

END OF IT_VBRK.

  • Internal table to hold data from VBRP

DATA: BEGIN OF IT_VBRP OCCURS 0,

VBELN LIKE VBRP-VBELN,

POSNR LIKE VBRP-POSNR,

FKIMG LIKE VBRP-FKIMG,

VRKME LIKE VBRP-VRKME,

NETWR LIKE VBRP-NETWR,

MATNR LIKE VBRP-MATNR,

ARKTX LIKE VBRP-ARKTX,

END OF IT_VBRP.

DATA: BEGIN OF IT_T001 OCCURS 0,

BUKRS LIKE T001-BUKRS,

BUTXT LIKE T001-BUTXT,

END OF IT_T001.

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

  • Selection-Screen *

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

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,

S_FKDAT FOR VBRK-FKDAT,

S_MATNR FOR VBRP-MATNR.

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.

PARAMETERS : LIST RADIOBUTTON GROUP G1,

GRID RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK B2.

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

                                  • INITIALIZATION ********************

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

INITIALIZATION.

STR_DATE = SY-DATUM - 200.

S_FKDAT-LOW = STR_DATE.

S_FKDAT-HIGH = SY-DATUM.

S_FKDAT-SIGN = 'I'.

APPEND S_FKDAT.

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

  • At Selection-Screen Output *

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

AT SELECTION-SCREEN OUTPUT .

LOOP AT SCREEN.

IF SCREEN-NAME = 'S_FKDAT-HIGH'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

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

*

  • At Selection-Screen

*

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

*

AT SELECTION-SCREEN.

PERFORM VALIDATION.

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

*

  • Start of Selection

*

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

*

START-OF-SELECTION.

*POPULATION OF DATA INTO INTERNAL TABLE IT_VBRK AND IT_VBRP

PERFORM GET_DATA_VBRK.

PERFORM FIELDCATALOG_CHANGE.

*ALV GRID/LIST DISPLAY

PERFORM FIRST_SCREEN_DISPLAY.

&----


*& Form VALIDATION

&----


  • text

----


FORM VALIDATION.

IF S_VBELN[] IS NOT INITIAL.

SELECT SINGLE VBELN

FROM VBRK

INTO VBRK-VBELN

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE E000(Z000) WITH S_VBELN.

STOP.

ENDIF.

ENDIF.

IF S_FKDAT[] IS INITIAL.

MESSAGE I000 WITH 'PLEASE ENTER ALL THE MANDATORY FIELDS'.

STOP.

ENDIF.

IF S_MATNR[] IS NOT INITIAL.

SELECT SINGLE MATNR

FROM MARA

INTO VBRP-MATNR

WHERE MATNR IN S_MATNR.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'PLEASE ENTER CORRECT MATERIAL NUMBER'.

STOP.

ENDIF.

ENDIF.

ENDFORM. "VALIDATION

&----


*& Form GET_DATA_VBRK

&----


  • text

----


FORM GET_DATA_VBRK.

SELECT VBELN

WAERK

VKORG

FKDAT

BUKRS

FROM VBRK INTO TABLE IT_VBRK

WHERE VBELN IN S_VBELN

AND FKDAT IN S_FKDAT.

SORT IT_VBRK BY VBELN BUKRS.

SELECT BUKRS

BUTXT

FROM T001 INTO TABLE IT_T001

FOR ALL ENTRIES IN IT_VBRK

WHERE BUKRS = IT_VBRK-BUKRS.

LOOP AT IT_VBRK.

CTAB = SY-TABIX.

LOOP AT IT_T001 WHERE BUKRS = IT_VBRK-BUKRS.

IF SY-SUBRC = 0.

IT_VBRK-BUTXT = IT_T001-BUTXT.

MODIFY IT_VBRK INDEX CTAB.

CLEAR CTAB.

ENDIF.

ENDLOOP.

ENDLOOP.

ENDFORM. "GET_DATA

&----


*& Form FIELDCATALOG_CHANGE

&----


  • text

----


FORM FIELDCATALOG_CHANGE.

*Layout Change

L_LAYOUT-ZEBRA = 'X'.

L_SAVE = 'X'.

L_REPID = SY-REPID.

L_VARIANT-REPORT = L_REPID.

  • L_LAYOUT-BOX_FIELDNAME = 'CHECK'.

*Define seperate Color for the fields

X_FIELDCAT_VBRK-COL_POS = 1.

X_FIELDCAT_VBRK-FIELDNAME = 'CHECK'.

X_FIELDCAT_VBRK-SELTEXT_M = 'chek'.

X_FIELDCAT_VBRK-CHECKBOX = 'X'.

X_FIELDCAT_VBRK-INPUT = 'X'.

X_FIELDCAT_VBRK-EDIT = 'X'.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-COL_POS = 2.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'VBELN'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C301'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'WAERK'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C201'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'VKORG'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C300'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'FKDAT'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C600'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'BUKRS'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C400'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.

X_FIELDCAT_VBRK-FIELDNAME = 'BUTXT'.

X_FIELDCAT_VBRK-EMPHASIZE = 'C500'.

X_FIELDCAT_VBRK-OUTPUTLEN = 15.

APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.

CLEAR X_FIELDCAT_VBRK.

ENDFORM. "FIELDCATALOG_CHANGE

&----


*& Form FIRST_SCREEN_DISPLAY

&----


  • text

----


FORM FIRST_SCREEN_DISPLAY.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'IT_VBRK'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = IT_FIELDCAT_VBRK

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • CHECK RADIO BUTTON SELECTION AND ACCORDINGLY DISPLAY LIST OR GRID ALV

IF LIST = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = L_LAYOUT

IT_FIELDCAT = IT_FIELDCAT_VBRK

  • I_SAVE = L_SAVE

  • IS_VARIANT = L_VARIANT

  • IT_EVENTS =

TABLES

T_OUTTAB = IT_VBRK

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.

CLEAR LIST.

ENDIF.

IF GRID = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'(002)

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = L_LAYOUT

IT_FIELDCAT = IT_FIELDCAT_VBRK

  • IT_EVENTS =

  • I_SAVE = L_SAVE

  • IS_VARIANT = L_VARIANT

TABLES

T_OUTTAB = IT_VBRK

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.

CLEAR GRID.

ENDIF.

ENDFORM. "FIRST_SCREEN_DISPLAY

&----


*& Form STATUS

&----


  • text

----


  • -->P_EXTAB text

----


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 '&IC1'.

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

&----


*& Form GET_DATA_VBRP

&----


  • text

----


FORM GET_DATA_VBRP.

SELECT VBELN

POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP INTO TABLE IT_VBRP

WHERE VBELN = TEMP_VBELN.

IF SY-SUBRC <> 0.

MESSAGE E000 WITH ' NO BILLING DETAILS FOUND'.

EXIT.

ELSE.

MESSAGE S000 WITH 'SUCCESSFUL'.

ENDIF.

ENDFORM. "GET_DATA_VBRP

&----


*& Form GET_SECOND_SCREEN_DISPLAY

&----


  • text

----


FORM GET_SECOND_SCREEN_DISPLAY.

  • FIELDCATALOG CALL

X_FIELDCAT_VBRP-TABNAME = 'IT_VBRP'.

X_FIELDCAT_VBRP-FIELDNAME = 'VRKME'.

X_FIELDCAT_VBRP-EMPHASIZE = 'C500'.

X_FIELDCAT_VBRP-OUTPUTLEN = 10.

APPEND X_FIELDCAT_VBRP TO IT_FIELDCAT_VBRP.

CLEAR X_FIELDCAT_VBRP.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'IT_VBRP'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = IT_FIELDCAT_VBRP

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • CHECK RADIO BUTTON SELECTION AND ACCORDINGLY DISPLAY LIST OR GRID ALV

IF LIST = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = L_LAYOUT

IT_FIELDCAT = IT_FIELDCAT_VBRP

I_SCREEN_START_COLUMN = 1

I_SCREEN_START_LINE = 1

I_SCREEN_END_COLUMN = 100

I_SCREEN_END_LINE = 10

  • IT_EVENTS =

TABLES

T_OUTTAB = IT_VBRP

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.

ENDIF.

IF GRID = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = L_LAYOUT

IT_FIELDCAT = IT_FIELDCAT_VBRP

I_SCREEN_START_COLUMN = 1

I_SCREEN_START_LINE = 1

I_SCREEN_END_COLUMN = 100

I_SCREEN_END_LINE = 10

  • IT_EVENTS =

TABLES

T_OUTTAB = IT_VBRP

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.

ENDIF.

ENDFORM. "GET_SECOND_SCREEN_DISPLAY

Check the following program on Interactive ALV.

BALVSD11

You can also refer to following links:

http://www.geocities.com/sapcircle/

Kindly reward if helpful

Regards,

Priyanka.