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

report-grid-variant

Former Member
0 Likes
391

For ALV variant use the FM_REUSE_ALV_VARIANT_F4 and REUSE_ALV_VARIANT_DEFAULT_GET to allow the user to save the variant and select it for displaying output.If any of the data (Z fields in VBAP) is blank,the cell in the column must be highlighted in red.sample alv report display in grid

For ALV variant use the FM_REUSE_ALV_VARIANT_F4 and REUSE_ALV_VARIANT_DEFAULT_GET to allow the user to save the variant and select it for displaying output.If any of the data (Z fields in VBAP) is blank,the cell in the column must be highlighted in red.sample alv report display in grid

1 REPLY 1
Read only

Former Member
0 Likes
348

REPORT zalvgrid NO STANDARD PAGE HEADING.

&----


*& Written By : Sheila Titchener - www.iconet-ltd.co.uk

& Date : January 2006

*&

&----


  • Includes logo and white background - optimized field size

&----


  • ALV

TYPE-POOLS: slis.

*----


  • extracted Notification date

TYPES: BEGIN OF ty_data,

qmnum TYPE qmnum,

qmdat TYPE qmdat,

mzeit TYPE mzeit,

erdat TYPE erdat,

erzeit TYPE erzeit,

ernam TYPE ernam,

END OF ty_data.

  • ALV print table

TYPES: BEGIN OF ty_out,

qmnum TYPE qmnum,

qmdat TYPE qmdat,

mzeit TYPE mzeit,

erdat TYPE erdat,

erzeit TYPE erzeit,

ernam TYPE ernam,

END OF ty_out.

----


DATA: viqmel TYPE viqmel.

----


  • Internal tables and their work areas

----


DATA: w_data TYPE ty_data,

t_data TYPE TABLE OF ty_data.

DATA: w_out TYPE ty_out,

t_out TYPE TABLE OF ty_out.

----


  • Headings.

----


DATA: BEGIN OF h1,

print_date(10),

sdate(10),

END OF h1.

*

----


  • Data for ALV

----


INCLUDE .

INCLUDE .

*----


CONSTANTS:

*----


gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.

DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,

gs_layout TYPE slis_layout_alv,

gs_print TYPE slis_print_alv,

gt_sort TYPE slis_t_sortinfo_alv,

gt_sp_group TYPE slis_t_sp_group_alv,

gt_events TYPE slis_t_event.

*

DATA: g_repid LIKE sy-repid.

DATA: gt_list_top_of_page TYPE slis_t_listheader.

DATA: g_save(1) TYPE c.

----


  • Report Selections

----


PARAMETERS: plant LIKE viqmel-iwerk VALUE CHECK OBLIGATORY

MEMORY ID wrk,

sorg LIKE vbak-vkorg OBLIGATORY MEMORY ID vko.

SELECTION-SCREEN SKIP 1.

SELECT-OPTIONS: wkcentre FOR viqmel-arbpl,

nottype FOR viqmel-qmart,

notnum FOR viqmel-qmnum,

crdate FOR viqmel-erdat NO-EXTENSION,

createby FOR viqmel-ernam.

*-------

  • MACROS

*-------

  • FIELD CATALOGUE ENTRY FOR Keyed FIELDS

DEFINE catfield.

*----


  • 1= Fieldname, 2= Description, 3=Key

clear ls_fieldcat.

ls_fieldcat-fieldname = &1.

ls_fieldcat-key = &3.

ls_fieldcat-hotspot = &3.

  • ls_fieldcat-key_sel = 'X'.

ls_fieldcat-tabname = 'T_OUT'.

  • Output length will be optimised by ALV

  • ls_fieldcat-outputlen = '6'.

ls_fieldcat-seltext_m = &2.

append ls_fieldcat to gt_fieldcat.

  • color C or X 1-9 = color number 0/1 intensified 0/1 inverse

ls_fieldcat-emphasize = 'C100'.

END-OF-DEFINITION.

*----


  • FIELD CATALOGUE ENTRY FOR SUMMED FIELDS

DEFINE catsum.

*----


  • 1= Fieldname, 2= color, 3= Description,

clear ls_fieldcat.

ls_fieldcat-fieldname = &1.

ls_fieldcat-do_sum = 'X'.

ls_fieldcat-key_sel = 'X'.

ls_fieldcat-tabname = 'T_OUT'.

ls_fieldcat-emphasize = &2.

ls_fieldcat-seltext_m = &3.

append ls_fieldcat to gt_fieldcat.

END-OF-DEFINITION.

----


INITIALIZATION.

----


g_repid = sy-repid.

  • set to-date as today

crdate-high = sy-datum.

crdate-option = 'EQ'.

crdate-sign = 'I'.

APPEND crdate TO crdate.

REFRESH gt_fieldcat.

PERFORM e01_fieldcat_init .

PERFORM e03_eventtab_build USING gt_events[].

PERFORM e06_t_sort_build USING gt_sort[].

----


AT SELECTION-SCREEN ON plant.

----


----


START-OF-SELECTION.

----


PERFORM e04_comment_build USING gt_list_top_of_page[].

PERFORM selection.

----


END-OF-SELECTION.

----


PERFORM e05_layout_build USING gs_layout. "wg. Parameters

  • Call ABAP/4 List Viewer

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_background_id = 'WHITE'

i_callback_program = g_repid

i_callback_user_command = 'USER_COMMAND'

is_layout = gs_layout

it_fieldcat = gt_fieldcat[]

  • i_save = 'A'

is_print = gs_print

it_events = gt_events[]

TABLES

t_outtab = t_out.

----


  • FORM E01_FIELDCAT_INIT *

----


  • ........ *

----


  • --> E01_LT_FIELDCAT *

----


FORM e01_fieldcat_init.

DATA: ls_fieldcat TYPE slis_fieldcat_alv.

  • BASIC FIELDS

catfield 'QMNUM' text-024 'X'.

catfield 'QMDAT' text-023 ' '.

catfield 'MZEIT' text-022 ' '.

catfield 'ERDAT' text-021 ' '.

catfield 'ERZEIT' text-020 ' '.

catfield 'ERNAM' text-019 ' '.

ENDFORM.

----


  • FORM E02_DATA_ADD *

----


  • ........ *

----


  • --> *

----


FORM e02_data_add .

LOOP AT t_data INTO w_data.

MOVE-CORRESPONDING w_data TO w_out.

PERFORM get_disp_task.

PERFORM get_tsrl_status.

APPEND w_out TO t_out.

ENDLOOP.

ENDFORM.

----


  • FORM E03_EVENTTAB_BUILD *

----


  • Set up TOP-OF-PAGE event processing *

----


  • --> E03_LT_EVENTS *

----


FORM e03_eventtab_build USING e03_lt_events TYPE slis_t_event.

DATA: ls_event TYPE slis_alv_event.

*

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = e03_lt_events.

READ TABLE e03_lt_events WITH KEY name = slis_ev_top_of_page

INTO ls_event.

IF sy-subrc = 0.

MOVE gc_formname_top_of_page TO ls_event-form.

APPEND ls_event TO e03_lt_events.

ENDIF.

ENDFORM.

----


  • FORM E04_COMMENT_BUILD *

----


  • Create Headings

*

----


  • --> E04_LT_TOP_OF_PAGE *

----


FORM e04_comment_build USING e04_lt_top_of_page TYPE slis_t_listheader.

DATA: ls_line TYPE slis_listheader.

DATA: l_date(10).

*

  • Title Typ H

CLEAR ls_line.

ls_line-typ = 'H'.

ls_line-info = sy-title.

APPEND ls_line TO e04_lt_top_of_page.

  • head 1

CLEAR ls_line.

  • Plant

ls_line-key = text-101.

ls_line-info = plant.

ls_line-typ = 'S'.

APPEND ls_line TO e04_lt_top_of_page.

  • Sales Org

ls_line-key = text-102.

ls_line-info = sorg.

APPEND ls_line TO e04_lt_top_of_page.

  • Maintenance Work Centre

IF NOT wkcentre[] IS INITIAL.

ls_line-key = text-105.

ls_line-info = wkcentre-low.

APPEND ls_line TO e04_lt_top_of_page.

ENDIF.

  • Notification Type

IF NOT nottype[] IS INITIAL.

ls_line-key = text-106.

ls_line-info = nottype-low.

APPEND ls_line TO e04_lt_top_of_page.

ENDIF.

  • Notification Number

IF NOT notnum[] IS INITIAL.

ls_line-key = text-107.

ls_line-info = notnum-low.

APPEND ls_line TO e04_lt_top_of_page.

ENDIF.

  • Created From

ls_line-key = text-103.

WRITE crdate-low TO l_date DD/MM/YYYY.

ls_line-info = l_date.

APPEND ls_line TO e04_lt_top_of_page.

  • Created to

ls_line-key = text-104.

WRITE crdate-high TO l_date DD/MM/YYYY.

ls_line-info = l_date.

APPEND ls_line TO e04_lt_top_of_page.

*

ENDFORM.

----


  • FORM E05_LAYOUT_BUILD *

----


  • ALV Layout options *

----


  • <-> E05_LS_LAYOUT *

----


FORM e05_layout_build USING e05_ls_layout TYPE slis_layout_alv.

e05_ls_layout-zebra = 'X'.

e05_ls_layout-colwidth_optimize = 'X'.

  • e05_ls_layout-lights_fieldname = 'LIGHTS'.

ENDFORM.

----


  • FORM E06_T_SORT_BUILD *

----


  • ........ *

----


  • --> E06_LT_SORT *

----


FORM e06_t_sort_build USING e06_lt_sort TYPE slis_t_sortinfo_alv.

  • DATA: ls_sort TYPE slis_sortinfo_alv.

ENDFORM.

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

----


  • called by ALV list viewer

*----


CASE rs_selfield-sel_tab_field.

WHEN 'T_OUT-QMNUM'.

SET PARAMETER ID 'IQM' FIELD rs_selfield-value.

CALL TRANSACTION 'IW53' AND SKIP FIRST SCREEN.

ENDCASE.

ENDFORM.

----


  • FORM SELECTION *

----


  • Select data from CATSDB *

----


FORM selection.

SELECT * FROM viqmel

INTO CORRESPONDING FIELDS OF TABLE t_data

WHERE iwerk = plant

AND vkorg = sorg

AND arbpl IN wkcentre

AND qmart IN nottype

AND qmnum IN notnum

AND erdat IN crdate

AND ernam IN createby.

*

PERFORM e02_data_add.

ENDFORM.

----


  • FORM TOP_OF_PAGE *

----


  • ........ *

----


FORM top_of_page.

  • create logo in transaction OAER - Business Documents

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

i_logo = 'LOGO'

it_list_commentary = gt_list_top_of_page.

ENDFORM.

&----


*& Form get_disp_task

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_disp_task.

ENDFORM. " get_disp_task

&----


*& Form get_tsrl_status

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_tsrl_status.

ENDFORM. " get_tsrl_status

check this link also

http://saplab.blogspot.com/2007/10/learn-all-functions-in-alv-grid-or-alv.html

hope this will help u

reward if useful

jgds