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

problem in alv

Former Member
0 Likes
816

Hi All,

Can anybody tell how to use top of page and intreactive in alv

just brief it technically

as inteview poin of view

7 REPLIES 7
Read only

former_member150733
Contributor
0 Likes
786

Please refer :

Read only

0 Likes
786

hi,

For More Examples go thru the following Thread,

Regards,

Santosh

Read only

Former Member
0 Likes
786

Add Title(heading) to ALV Grid

In order to insert a report heading in to the ALV grid you need to perform the following steps:

1. Update 'REUSE_ALV_GRID_DISPLAY' FM call to include 'top-of-page' FORM

2. Create 'top-of-page' FORM


 call function 'REUSE_ALV_GRID_DISPLAY'
       exporting
            i_callback_program      = gd_repid
            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
            is_layout               = gd_layout
            it_fieldcat             = fieldcatalog[]
            i_save                  = 'X'
       tables
            t_outtab                = it_ekko
       exceptions
            program_error           = 1
            others                  = 2.


Form top-of-page.
*ALV Header declarations
data: t_header type slis_t_listheader,
      wa_header type slis_listheader,
      t_line like wa_header-info,
      ld_lines type i,
      ld_linesc(10) type c.

* Title
  wa_header-typ  = 'H'.
  wa_header-info = 'EKKO Table Report'.
  append wa_header to t_header.
  clear wa_header.

* Date
  wa_header-typ  = 'S'.
  wa_header-key = 'Date: '.
  CONCATENATE  sy-datum+6(2) '.'
               sy-datum+4(2) '.'
               sy-datum(4) INTO wa_header-info.   "todays date
  append wa_header to t_header.
  clear: wa_header.

* Total No. of Records Selected
  describe table it_ekko lines ld_lines.
  ld_linesc = ld_lines.
  concatenate 'Total No. of Records Selected: ' ld_linesc
                    into t_line separated by space.
  wa_header-typ  = 'A'.
  wa_header-info = t_line.
  append wa_header to t_header.
  clear: wa_header, t_line.

  call function 'REUSE_ALV_COMMENTARY_WRITE'
       exporting
            it_list_commentary = t_header.
*            i_logo             = 'Z_LOGO'.
endform.

reward points if it is usefull ...

Girish

Read only

Former Member
0 Likes
786

HI,

You need to pass the formname under the event parameter 'TOP_OF_PAGE'..

Please look at the code below this does the TOP-of-page..

&----


*& Function Module to display output in ALV GRID FORMAT

&----


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = l_v_repid

i_callback_top_of_page = 'F_TOP_OF_PAGE' "This is the form name which **is called dynamically by sap.

it_fieldcat = it_fieldcat

TABLES

t_outtab = fp_it_final

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE i032. "System Failure, ALV Report can't be be generated

LEAVE LIST-PROCESSING.

ENDIF.

&----


*& Form f_top_of_page

&----


  • Subroutine for the Header Information TOP_OF_PAGE

----


FORM f_top_of_page. "#EC CALLED

*Local declarations

DATA: l_st_line TYPE slis_listheader,

l_it_top_of_page TYPE slis_t_listheader,

l_v_date TYPE char10,

l_v_time TYPE char8.

*Local Constants

CONSTANTS:

l_c_h TYPE char1 VALUE 'H',

l_c_small TYPE char1 VALUE 'S',

l_c_tm TYPE char1 VALUE '/',

l_c_dt TYPE char1 VALUE ':'.

  • Program Name

CLEAR l_st_line.

l_st_line-typ = l_c_small.

l_st_line-key = 'Program name'.

l_st_line-info = sy-repid.

APPEND l_st_line TO l_it_top_of_page.

CLEAR: l_st_line.

  • Date

CONCATENATE sy-datum6(2) sy-datum4(2)

sy-datum+0(4) INTO l_v_date

SEPARATED BY l_c_tm.

CLEAR l_st_line.

l_st_line-typ = l_c_small.

l_st_line-key = 'DATE'.

l_st_line-info = l_v_date.

APPEND l_st_line TO l_it_top_of_page.

CLEAR: l_st_line.

  • Time

CONCATENATE sy-uzeit0(2) sy-uzeit2(2)

sy-uzeit+4(2) INTO l_v_time

SEPARATED BY l_c_dt.

CLEAR l_st_line.

l_st_line-typ = l_c_small.

l_st_line-key = 'time'.

l_st_line-info = l_v_time.

APPEND l_st_line TO l_it_top_of_page.

CLEAR: l_st_line.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = l_it_top_of_page.

ENDFORM. "f_top_ot_page

Look at the code above ,

the ALV_COMMENTARY_WRITE does the top of page for your program..

rewards if useful,

regards,

nazeer

Read only

Former Member
0 Likes
786

hi

good

go through this link and use accordingly.

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/abapInteractiveALV+Program&

thanks

mrutyun^

Read only

Former Member
0 Likes
786

hi,

To create Top-of-page u need to include it.

Interactive alv.

REPORT ZTEST_ALV123 .

TYPE-POOLS:SLIS.

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.

DATA: BEGIN OF ITAB OCCURS 0,

VBELN LIKE VBAK-VBELN,

POSNR LIKE VBAP-POSNR,

END OF ITAB.

DATA: BEGIN OF ITAB1 OCCURS 0,

VBELN LIKE LIKP-VBELN,

POSNR LIKE LIPS-POSNR,

VGBEL LIKE LIPS-VGBEL,

VGPOS LIKE LIPS-VGPOS,

END OF ITAB1.

DATA: IT_LIPS LIKE ITAB1 OCCURS 0 WITH HEADER LINE.

SELECT VBELN

POSNR

UP TO 100 ROWS

FROM VBAP

INTO TABLE ITAB.

IF SY-SUBRC = 0.

SORT ITAB BY VBELN .

SELECT VBELN

POSNR

VGBEL

VGPOS

INTO TABLE ITAB1

FROM LIPS

FOR ALL ENTRIES IN ITAB

WHERE VGBEL = ITAB-VBELN

AND VGPOS = ITAB-POSNR.

ENDIF.

DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

X_FIELDCAT-FIELDNAME = 'VBELN'.

X_FIELDCAT-TABNAME = 'ITAB'.

X_FIELDCAT-COL_POS = 1.

APPEND X_FIELDCAT TO IT_FIELDCAT.

CLEAR X_FIELDCAT.

X_FIELDCAT-FIELDNAME = 'POSNR'.

X_FIELDCAT-TABNAME = 'ITAB'.

X_FIELDCAT-COL_POS = 1.

APPEND X_FIELDCAT TO IT_FIELDCAT.

CLEAR X_FIELDCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'PFSTATUS'

I_CALLBACK_USER_COMMAND = 'HANDLE_USER_COMMAND'

IT_FIELDCAT = IT_FIELDCAT

TABLES

T_OUTTAB = ITAB

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

IF SY-SUBRC = 0.

ENDIF.

&----


*& Form POPUP

&----


  • text

----


  • -->P_EXTAB text

----


FORM POPUP USING P_EXTAB TYPE SLIS_T_EXTAB.

"here double click on PFSTATUS and create the status, "activate, before that set PICK for choose(F2).

*- Pf status

SET PF-STATUS 'PFSTATUS'.

ENDFORM. " POPUP

&----


*& Form HANDLE_USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->RS_SELFIELD text

----


FORM HANDLE_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

IF RS_SELFIELD-FIELDNAME = 'VBELN'.

READ TABLE ITAB INDEX RS_SELFIELD-TABINDEX.

LOOP AT ITAB1 WHERE VGBEL = ITAB-VBELN

AND VGPOS = ITAB-POSNR.

MOVE-CORRESPONDING ITAB1 TO IT_LIPS.

APPEND IT_LIPS.

ENDLOOP.

PERFORM INTERACTIVE_REPORT.

ENDIF.

ENDCASE.

ENDFORM. "HANDLE_USER_COMMAND

&----


*& Form interactive_report

&----


  • text

----


FORM INTERACTIVE_REPORT .

X_FIELDCAT-FIELDNAME = 'VBELN'.

X_FIELDCAT-SELTEXT_L = 'VBELN'.

X_FIELDCAT-TABNAME = 'IT_LIPS'.

X_FIELDCAT-COL_POS = 1.

APPEND X_FIELDCAT TO IT_FIELDCAT1.

CLEAR X_FIELDCAT.

X_FIELDCAT-FIELDNAME = 'POSNR'.

X_FIELDCAT-SELTEXT_L = 'ITEM'.

X_FIELDCAT-TABNAME = 'IT_LIPS'.

X_FIELDCAT-COL_POS = 2.

APPEND X_FIELDCAT TO IT_FIELDCAT1.

CLEAR X_FIELDCAT.

X_FIELDCAT-FIELDNAME = 'VGBEL'.

X_FIELDCAT-SELTEXT_M = 'SO #'.

X_FIELDCAT-TABNAME = 'IT_LIPS'.

X_FIELDCAT-COL_POS = 3.

APPEND X_FIELDCAT TO IT_FIELDCAT1.

CLEAR X_FIELDCAT.

X_FIELDCAT-FIELDNAME = 'VGPOS'.

X_FIELDCAT-SELTEXT_M = 'SO ITEM'.

X_FIELDCAT-TABNAME = 'IT_LIPS'.

X_FIELDCAT-COL_POS = 4.

APPEND X_FIELDCAT TO IT_FIELDCAT1.

CLEAR X_FIELDCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

IT_FIELDCAT = IT_FIELDCAT1

TABLES

T_OUTTAB = IT_LIPS

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

IF SY-SUBRC = 0.

ENDIF.

ENDFORM. " interactive_report

Read only

Former Member
0 Likes
786

In Interview point of view,

just say Top of page can be used by calling a perform statement indirectly in the FM reuse_alv_grid_display