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

Simple ALV interactive report

Former Member
0 Likes
700

Hi All..

I want to write an ALV interactive report where if i click on header data it should display the item details..( Ex-if we take ekko table - in basic list i should have only ebeln data and if i click on ekko ebeln it should give me the values of ekpo table value.) please help me to do this.i've coded upto.

&----


*& Report YTEST_ALV *

*& *

&----


REPORT YTEST_ALV line-size 150 no standard page heading

message-id a1.

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

  • TABLES *

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

TABLES:EKKO, "Purchase Documetn Header Data.

EKPO. "Purchase Document Item Data.

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

  • ALV Declaration *

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

Type-pools : slis.

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

  • ALV Data Declaration *

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

data: i_fieldcat_alv type slis_t_fieldcat_alv,

i_list_comments type slis_t_listheader,

v_list_comments like line of i_list_comments,

i_events type slis_t_event,

lt_sort_fieldcat type slis_t_sortinfo_alv,

ls_sort_fieldcat type slis_sortinfo_alv,

v_layout type slis_layout_alv,

v_fieldcat_alv like line of i_fieldcat_alv,

v_events like line of i_events,

v_repid like sy-repid,

v_variant like disvariant,

wa_variant like disvariant,

wa_variant_save type c,

wa_exit type c,

wa_repid like sy-repid.

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

  • Constant Declaration *

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

constants : c_top_of_page type slis_formname value 'F_TOP_OF_PAGE'.

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

  • Data Declaration *

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

Types : begin of i_itab1,

ebeln like ekko-ebeln,

bukrs like ekko-bukrs,

bstyp like ekko-bstyp,

bsart like ekko-bsart,

ernam like ekko-ernam,

pincr like ekko-pincr,

lponr like ekko-lponr,

end of i_itab1.

data : wa_itab1 type standard table of i_itab1,

t_itab1 type standard table of i_itab1.

Types : begin of i_itab2,

ebeln like ekpo-ebeln,

ebelp like ekpo-ebelp,

matnr like ekpo-matnr,

werks like ekpo-werks,

lgort like ekpo-lgort,

end of i_itab2.

data : wa_itab2 type standard table of i_itab2,

t_itab2 type standard table of i_itab2.

Types : begin of i_final,

ebeln like ekpo-ebeln,

bukrs like ekko-bukrs,

werks like ekpo-werks,

lgort like ekpo-lgort,

bstyp like ekko-bstyp,

bsart like ekko-bsart,

ernam like ekko-ernam,

pincr like ekko-pincr,

lponr like ekko-lponr,

end of i_final.

data : wa_i_final type standard table of i_final,

t_i_final type standard table of i_final.

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

  • Selection-screen *

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

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

select-options : s_ebeln for ekpo-ebeln,

s_bukrs for ekpo-bukrs.

selection-screen end of block b1.

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

  • Top-Of-Page *

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

*Top-of-page.

form f_top_of_page.

clear v_list_comments.

refresh i_list_comments.

  • Move 'Report for Open Kanban Call-Offs'

v_list_comments-typ = 'H'.

move: text-h01 to v_list_comments-info.

append v_list_comments to i_list_comments .

clear v_list_comments .

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = i_list_comments

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

endform. "f_top_of_page

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

  • START-OF-SELECTION. *

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

START-OF-SELECTION.

  • Fetching Data.

Perform get_data.

&----


*& Form get_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form get_data .

select ebeln

from ekko

into table t_itab1

where ebeln in s_ebeln.

if sy-subrc eq 0.

  • Process Data.

Perform process_data.

  • Build Fieldcat.

Perform build_fieldcatlog.

  • Build Layout.

Perform build_layout.

  • Sort Layout.

Perform sort_layout.

  • ALV GRID DISPLAY.

Perform alv_grid_display.

ELSE.

MESSAGE 'No data found' TYPE 'I'.

STOP.

ENDIF.

endform. " get_data

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

  • END-OF-SELECTION. *

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

end-of-selection.

&----


*& Form process_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form process_data .

select ebeln

ebelp

matnr

werks

lgort

from ekpo into table t_itab2

for all entries in t_itab1

where ebeln eq t_itab1-ebeln.

endform. " process_data

&----


*& Form build_fieldcatlog

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form build_fieldcatlog .

refresh: i_fieldcat_alv.

  • PURCHASING DOCUMENT NUMBER.

clear i_fieldcat_alv.

v_fieldcat_alv-col_pos = '1'.

v_fieldcat_alv-fieldname = 'EBELN'.

v_fieldcat_alv-tabname = 'I_FINAL'.

v_fieldcat_alv-seltext_m = 'PURCHASE DOCU NO'.

v_fieldcat_alv-no_zero = 'X'.

v_fieldcat_alv-key = 'X'.

v_fieldcat_alv-emphasize = 'C210'.

APPEND v_fieldcat_alv TO i_fieldcat_alv.

  • COMPANY CODE

clear i_fieldcat_alv.

v_fieldcat_alv-col_pos = '2'.

v_fieldcat_alv-fieldname = 'BUKRS'.

v_fieldcat_alv-tabname = 'I_FINAL'.

v_fieldcat_alv-seltext_m = 'COMPANY CODE'.

v_fieldcat_alv-no_zero = 'X'.

v_fieldcat_alv-key = 'X'.

v_fieldcat_alv-emphasize = 'C210'.

APPEND v_fieldcat_alv TO i_fieldcat_alv.

  • PLANT

clear i_fieldcat_alv.

v_fieldcat_alv-col_pos = '3'.

v_fieldcat_alv-fieldname = 'WERKS'.

v_fieldcat_alv-tabname = 'I_FINAL'.

v_fieldcat_alv-seltext_m = 'PLANT'.

v_fieldcat_alv-no_zero = 'X'.

v_fieldcat_alv-key = 'X'.

v_fieldcat_alv-emphasize = 'C210'.

APPEND v_fieldcat_alv TO i_fieldcat_alv.

  • PURCHASING DOCU CATEGORY

clear i_fieldcat_alv.

v_fieldcat_alv-col_pos = '4'.

v_fieldcat_alv-fieldname = 'BSTYP'.

v_fieldcat_alv-tabname = 'I_FINAL'.

v_fieldcat_alv-seltext_m = 'PURCHASING DOCU CAT'.

v_fieldcat_alv-no_zero = 'X'.

v_fieldcat_alv-key = 'X'.

v_fieldcat_alv-emphasize = 'C210'.

APPEND v_fieldcat_alv TO i_fieldcat_alv.

  • PURCHASING DOCU TYP

clear i_fieldcat_alv.

v_fieldcat_alv-col_pos = '5'.

v_fieldcat_alv-fieldname = 'BSART'.

v_fieldcat_alv-tabname = 'I_FINAL'.

v_fieldcat_alv-seltext_m = 'PURCHASING DOCU TYP'.

v_fieldcat_alv-no_zero = 'X'.

v_fieldcat_alv-key = 'X'.

v_fieldcat_alv-emphasize = 'C210'.

APPEND v_fieldcat_alv TO i_fieldcat_alv.

  • NAME OF PERSON

clear i_fieldcat_alv.

v_fieldcat_alv-col_pos = '6'.

v_fieldcat_alv-fieldname = 'ERNAM'.

v_fieldcat_alv-tabname = 'I_FINAL'.

v_fieldcat_alv-seltext_m = 'COMPANY CODE'.

v_fieldcat_alv-no_zero = 'X'.

v_fieldcat_alv-key = 'X'.

v_fieldcat_alv-emphasize = 'C210'.

APPEND v_fieldcat_alv TO i_fieldcat_alv.

  • ITEM NUMBER INTERVAL

clear i_fieldcat_alv.

v_fieldcat_alv-col_pos = '7'.

v_fieldcat_alv-fieldname = 'PINCR'.

v_fieldcat_alv-tabname = 'I_FINAL'.

v_fieldcat_alv-seltext_m = 'COMPANY CODE'.

v_fieldcat_alv-no_zero = 'X'.

v_fieldcat_alv-key = 'X'.

v_fieldcat_alv-emphasize = 'C210'.

APPEND v_fieldcat_alv TO i_fieldcat_alv.

  • LAST ITEM NUMBER

clear i_fieldcat_alv.

v_fieldcat_alv-col_pos = '8'.

v_fieldcat_alv-fieldname = 'LPONR'.

v_fieldcat_alv-tabname = 'I_FINAL'.

v_fieldcat_alv-seltext_m = 'COMPANY CODE'.

v_fieldcat_alv-no_zero = 'X'.

v_fieldcat_alv-key = 'X'.

v_fieldcat_alv-emphasize = 'C210'.

APPEND v_fieldcat_alv TO i_fieldcat_alv.

endform. " build_fieldcatlog

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
658

HI priya

try this code

REPORT ZPURCHASE_ORDER.

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

  • TYPE-POOLS DECLARATION

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

TYPE-POOLS:

SLIS.

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

  • DATA DECLARATIONS

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

DATA:

W_EBELN TYPE EKKO-EBELN,

W_PROG TYPE SY-REPID,

T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

FS_FIELDCAT LIKE LINE OF T_FIELDCAT,

T_EVENTCAT TYPE SLIS_T_EVENT,

W_EVENTCAT LIKE LINE OF T_EVENTCAT.

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

  • SELECT-OPTIONS DECLARATION

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

SELECT-OPTIONS:

S_EBELN FOR W_EBELN.

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

  • INTERNAL TABLE AND FIELD-STRING DECLARATIONS

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

DATA:

T_EKKO LIKE

STANDARD TABLE

OF EKKO,

FS_EKKO LIKE LINE OF T_EKKO.

DATA:

T_EKPO LIKE

STANDARD TABLE

OF EKPO,

FS_EKPO LIKE LINE OF T_EKPO.

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

  • START-OF-SELECTION

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

START-OF-SELECTION.

SELECT *

FROM EKKO

INTO TABLE T_EKKO

WHERE EBELN IN S_EBELN.

W_PROG = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = W_PROG

I_CALLBACK_USER_COMMAND = 'PICK'

I_STRUCTURE_NAME = 'EKKO'

TABLES

T_OUTTAB = T_EKKO

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.

&----


*& Form pick

&----


  • -->UCOMM text

  • -->SELFIELD text

----


FORM PICK USING COMMAND LIKE SY-UCOMM

SELFIELD TYPE SLIS_SELFIELD.

READ TABLE T_EKKO INTO FS_EKKO INDEX SELFIELD-TABINDEX.

CASE COMMAND.

WHEN '&IC1'.

SELECT *

FROM EKPO

INTO TABLE T_EKPO

WHERE EBELN EQ FS_EKKO-EBELN.

W_PROG = SY-REPID.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_STRUCTURE_NAME = 'EKPO'

CHANGING

CT_FIELDCAT = T_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.

DELETE T_FIELDCAT WHERE FIELDNAME EQ 'EBELN'.

DELETE T_FIELDCAT WHERE FIELDNAME EQ 'BUKRS'.

DELETE T_FIELDCAT WHERE FIELDNAME EQ 'LGORT'.

DELETE T_FIELDCAT WHERE FIELDNAME EQ 'WERKS'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = W_PROG

IT_FIELDCAT = T_FIELDCAT

IT_EVENTS = T_EVENTCAT

TABLES

T_OUTTAB = T_EKPO

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.

ENDCASE. " CASE COMMAND

ENDFORM. " FORM PICK

FORM T_EVENTCAT.

W_EVENTCAT-NAME = 'TOP_OF_PAGE'.

W_EVENTCAT-FORM = 'TOP'.

APPEND W_EVENTCAT TO T_EVENTCAT.

ENDFORM.

FORM TOP.

READ TABLE T_EKPO INTO FS_EKPO INDEX 1.

WRITE:/ 'Purchase Document Number'(001),30 FS_EKPO-EBELN,

/ 'Company Code'(002), 30 FS_EKPO-BUKRS,

/ 'Plant'(003), 30 FS_EKPO-WERKS,

/ 'Storage Location'(004),30 FS_EKPO-LGORT.

ENDFORM.

5 REPLIES 5
Read only

Former Member
0 Likes
658

followed code refer

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_interface_check = ' '

i_callback_program = g_repid

<b> i_callback_user_command = 'PROCESS_USER_COMMANDS'</b>

it_fieldcat = tbl_fieldcat

i_default = 'X'

i_save = ' '

is_layout = st_layout

TABLES

t_outtab = tbl_kna1

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.

CASE syst-ucomm.

WHEN '&IC1'.

  • get cursor field fieldname.

READ TABLE tbl_kna1 INDEX selfield-tabindex.

<b>select ekpo table</b>

<b>

call 'REUSE_ALV_LIST_DISPLAY'</b>

ENDCASE.

Read only

Former Member
Read only

Former Member
0 Likes
658

Hi Priya,

Check this link...similar to your requirement..

Read only

Former Member
0 Likes
659

HI priya

try this code

REPORT ZPURCHASE_ORDER.

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

  • TYPE-POOLS DECLARATION

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

TYPE-POOLS:

SLIS.

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

  • DATA DECLARATIONS

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

DATA:

W_EBELN TYPE EKKO-EBELN,

W_PROG TYPE SY-REPID,

T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

FS_FIELDCAT LIKE LINE OF T_FIELDCAT,

T_EVENTCAT TYPE SLIS_T_EVENT,

W_EVENTCAT LIKE LINE OF T_EVENTCAT.

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

  • SELECT-OPTIONS DECLARATION

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

SELECT-OPTIONS:

S_EBELN FOR W_EBELN.

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

  • INTERNAL TABLE AND FIELD-STRING DECLARATIONS

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

DATA:

T_EKKO LIKE

STANDARD TABLE

OF EKKO,

FS_EKKO LIKE LINE OF T_EKKO.

DATA:

T_EKPO LIKE

STANDARD TABLE

OF EKPO,

FS_EKPO LIKE LINE OF T_EKPO.

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

  • START-OF-SELECTION

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

START-OF-SELECTION.

SELECT *

FROM EKKO

INTO TABLE T_EKKO

WHERE EBELN IN S_EBELN.

W_PROG = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = W_PROG

I_CALLBACK_USER_COMMAND = 'PICK'

I_STRUCTURE_NAME = 'EKKO'

TABLES

T_OUTTAB = T_EKKO

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.

&----


*& Form pick

&----


  • -->UCOMM text

  • -->SELFIELD text

----


FORM PICK USING COMMAND LIKE SY-UCOMM

SELFIELD TYPE SLIS_SELFIELD.

READ TABLE T_EKKO INTO FS_EKKO INDEX SELFIELD-TABINDEX.

CASE COMMAND.

WHEN '&IC1'.

SELECT *

FROM EKPO

INTO TABLE T_EKPO

WHERE EBELN EQ FS_EKKO-EBELN.

W_PROG = SY-REPID.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_STRUCTURE_NAME = 'EKPO'

CHANGING

CT_FIELDCAT = T_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.

DELETE T_FIELDCAT WHERE FIELDNAME EQ 'EBELN'.

DELETE T_FIELDCAT WHERE FIELDNAME EQ 'BUKRS'.

DELETE T_FIELDCAT WHERE FIELDNAME EQ 'LGORT'.

DELETE T_FIELDCAT WHERE FIELDNAME EQ 'WERKS'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = W_PROG

IT_FIELDCAT = T_FIELDCAT

IT_EVENTS = T_EVENTCAT

TABLES

T_OUTTAB = T_EKPO

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.

ENDCASE. " CASE COMMAND

ENDFORM. " FORM PICK

FORM T_EVENTCAT.

W_EVENTCAT-NAME = 'TOP_OF_PAGE'.

W_EVENTCAT-FORM = 'TOP'.

APPEND W_EVENTCAT TO T_EVENTCAT.

ENDFORM.

FORM TOP.

READ TABLE T_EKPO INTO FS_EKPO INDEX 1.

WRITE:/ 'Purchase Document Number'(001),30 FS_EKPO-EBELN,

/ 'Company Code'(002), 30 FS_EKPO-BUKRS,

/ 'Plant'(003), 30 FS_EKPO-WERKS,

/ 'Storage Location'(004),30 FS_EKPO-LGORT.

ENDFORM.

Read only

mahaboob_pathan
Contributor
0 Likes
658

hi,

go through this code and change as u required.

REPORT ZSTEST_037 .

TABLES VBAK.

TYPE-POOLS SLIS.

*--ALV

DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA I_KNA1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF ITAB OCCURS 0,

VBELN LIKE VBAK-VBELN,

ERDAT LIKE VBAK-ERDAT,

ERNAM LIKE VBAK-ERNAM,

KUNNR LIKE VBAK-KUNNR,

END OF ITAB.

DATA: BEGIN OF ITAB1 OCCURS 0,

VBELN LIKE VBAP-VBELN,

POSNR LIKE VBAP-POSNR,

MATNR LIKE VBAP-MATNR,

NETWR LIKE VBAP-NETWR,

END OF ITAB1.

SELECT-OPTIONS S_VBELN FOR VBAK-VBELN.

START-OF-SELECTION.

SELECT VBELN

ERDAT

ERNAM

KUNNR FROM VBAK INTO TABLE ITAB WHERE VBELN IN S_VBELN.

END-OF-SELECTION.

*--1

WA_FIELDCAT-FIELDNAME = 'VBELN'.

WA_FIELDCAT-SELTEXT_L = 'Sal doc no'.

WA_FIELDCAT-KEY = 'X'.

WA_FIELDCAT-HOTSPOT = 'X'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--2

WA_FIELDCAT-FIELDNAME = 'ERDAT'.

WA_FIELDCAT-SELTEXT_L = 'Date'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--3

WA_FIELDCAT-FIELDNAME = 'ERNAM'.

WA_FIELDCAT-SELTEXT_L = 'Name'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--4

WA_FIELDCAT-FIELDNAME = 'KUNNR'.

WA_FIELDCAT-SELTEXT_L = 'Customer'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--LAYOUT

I_LAYOUT-ZEBRA = 'X'.

I_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'

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

IT_FIELDCAT = I_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 = ITAB

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

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

FORM USER_COMMAND USING L_UCOMM LIKE SY-UCOMM

L_SELTEXT TYPE SLIS_SELFIELD.

DATA L_VALUE(10) TYPE N.

IF L_UCOMM EQ '&IC1' or L_UCOMM EQ 'VBAP'.

CASE L_SELTEXT-FIELDNAME.

WHEN 'VBELN' .

L_VALUE = L_SELTEXT-VALUE.

SELECT VBELN

POSNR

MATNR

NETWR FROM VBAP INTO TABLE ITAB1

WHERE VBELN EQ L_VALUE.

REFRESH I_FIELDCAT.

*--1

WA_FIELDCAT-FIELDNAME = 'VBELN'.

WA_FIELDCAT-SELTEXT_L = 'Sal doc no'.

WA_FIELDCAT-KEY = 'X'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--2

WA_FIELDCAT-FIELDNAME = 'POSNR'.

WA_FIELDCAT-SELTEXT_L = 'Item no'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--3

WA_FIELDCAT-FIELDNAME = 'MATNR'.

WA_FIELDCAT-SELTEXT_L = 'material no'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--4

WA_FIELDCAT-FIELDNAME = 'NETWR'.

WA_FIELDCAT-SELTEXT_L = 'Amount'.

WA_FIELDCAT-DO_SUM = 'X'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

  • I_CALLBACK_PROGRAM = ' '

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

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

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

WHEN 'KUNNR'.

L_VALUE = L_SELTEXT-VALUE.

SELECT * FROM KNA1 INTO TABLE I_KNA1

WHERE KUNNR EQ L_VALUE.

REFRESH I_FIELDCAT.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

  • I_PROGRAM_NAME =

I_INTERNAL_TABNAME = 'I_KNA1'

I_STRUCTURE_NAME = 'KNA1'

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = I_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.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

  • I_CALLBACK_PROGRAM = ' '

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

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

ENDCASE.

ENDIF.

ENDFORM. "USER_COMMAND

&----


*& Form PF_STATUS

&----


  • text

----


  • -->SLIS_T_EXTAtext

----


FORM PF_STATUS USING SLIS_T_EXTAB.

SET PF-STATUS 'SSS'.

ENDFORM. "PF_STATUS