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: 

top of page in ALV

Former Member
0 Kudos

HI

can any one tell me how do i display some few lines text just above my alv grid using reuse_alv_grid_display function module...

with example will be helpful

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi ginni,

here are the steps for top of page.reward points if helpful.

  • work area and internal table for top of page.

DATA: it_list_top_of_page TYPE slis_t_listheader,

it_events TYPE slis_t_event,

gs_layout TYPE slis_layout_alv,

lwa_line TYPE slis_listheader.

  • constant to store top of page

CONSTANTS: gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.

PERFORM eventtab_build USING it_events[].

PERFORM list_header USING it_list_top_of_page[].

PERFORM layout_build USING gs_layout.

PERFORM display.

FORM eventtab_build USING lit_events TYPE slis_t_event.

DATA: lit_alv_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = lit_events.

READ TABLE lit_events WITH KEY name = slis_ev_top_of_page

INTO lit_alv_event.

IF sy-subrc = 0.

MOVE gc_formname_top_of_page TO lit_alv_event-form.

APPEND lit_alv_event TO lit_events.

ENDIF.

ENDFORM. "EVENTTAB_BUILD

FORM list_header USING lt_top_of_page TYPE slis_t_listheader.

CLEAR lwa_line.

lwa_line-typ = 'S'.

lwa_line-key = description for field.

lwa_line-info = <field name or date ot time, etc> .

APPEND lwa_line TO lt_top_of_page.

lwa_line-key = description for field.

lwa_line-info = <field name or date ot time, etc>.

APPEND lwa_line TO lt_top_of_page.

CLEAR lwa_line.

lwa_line-typ = 'S'.

lwa_line-key = description for field.

lwa_line-info = sy-datum.

APPEND lwa_line TO lt_top_of_page.

CLEAR lwa_line.

lwa_line-typ = 'S'.

lwa_line-key = description for field.

lwa_line-info = sy-uname.

APPEND lwa_line TO lt_top_of_page.

ENDFORM. "COMMENT_BUILD

FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = it_list_top_of_page.

ENDFORM. "TOP_OF_PAGE

&----


*& Form LAYOUT_BUILD

&----


----


  • -->LS_LAYOUT for zebra pattern between records

----


FORM layout_build USING ls_layout TYPE slis_layout_alv.

ls_layout-zebra = c_x.

ENDFORM. "LAYOUT_BUILD

&----


*& Form display

&----


  • text

----


FORM display.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

is_layout = gs_layout

it_fieldcat = it_fieldcat

it_events = it_events[]

TABLES

t_outtab = lit_field

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

13 REPLIES 13

anversha_s
Active Contributor
0 Kudos

hi,

http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_rephead.htm

code is there, juts copy paste.

rgds

Anver

Former Member
0 Kudos
*&---------------------------------------------------------------------*
*& Report  Y_TOP_PAGE                                                  *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  y_top_page                              .

TABLES : mara.
TYPE-POOLS: slis.

DATA : w_repid LIKE sy-repid.
  w_repid = sy-repid.

DATA : BEGIN OF it_mara OCCURS 0,
       matnr LIKE mara-matnr,
       END OF it_mara.

*layout
DATA: wa_layout           TYPE SLIS_LAYOUT_ALV.
*field catalog
DATA: it_fieldcat_wrt_off TYPE slis_t_fieldcat_alv,
      wa_fieldcat_wrt_off TYPE slis_fieldcat_alv.

START-OF-SELECTION.

  SELECT matnr FROM mara INTO CORRESPONDING FIELDS OF TABLE it_mara.

END-OF-SELECTION.


  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     i_program_name               = w_repid
   I_INTERNAL_TABNAME           = 'IT_MARA'
*     i_structure_name             = 'IT_MARA'
*   I_CLIENT_NEVER_DISPLAY       = 'X'
   I_INCLNAME                   = w_repid
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
    CHANGING
      ct_fieldcat                  = it_fieldcat_wrt_off[]
   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_callback_program     = w_repid
      i_callback_top_of_page = 'TOP-OF-PAGE'
      is_layout              = wa_layout
      it_fieldcat            = it_fieldcat_wrt_off
    TABLES
      t_outtab               = it_mara
    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  TOP-OF-PAGE                                                 *
*-------------------------------------------------------------------*
* ALV Report Header                                                 *
*-------------------------------------------------------------------*
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 = 'CHANDU 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.                    "top-of-page

former_member632991
Active Contributor
0 Kudos

Hi,

for top of page in ALV, declare the events in the FM 'REUSE_ALV_GRID_DISPLAY'.

write the form for top of page and call FM 'REUSE_ALV_COMMENTARY_WRITE' in this.

For activating the events, call the FM 'REUSE_ALV_EVENTS_GET'

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = G_REPID

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IT_FIELDCAT = T_FIELDCAT

IT_EVENTS = T_EVENT

TABLES

T_OUTTAB = T_CREDIT

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

FORM FORM_TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = T_LISTHEADER

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "FORM_TOP_OF_PAGE

FORM EVENT .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = T_EVENT

EXCEPTIONS

LIST_TYPE_WRONG = 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 F_HEADERLIST .

IF T_CREDIT[] IS NOT INITIAL.

"Title

WA_LISTHEADER-TYP = 'H'.

WA_LISTHEADER-INFO = TEXT-T00. "'Purchasing Card Billing Report - By

"Cardholder'

APPEND WA_LISTHEADER TO T_LISTHEADER.

CLEAR: WA_LISTHEADER.

WA_LISTHEADER-TYP = 'S'.

WA_LISTHEADER-KEY = TEXT-T01. "'Company Code:'.

WA_LISTHEADER-INFO = P_BUKRS.

APPEND WA_LISTHEADER TO T_LISTHEADER.

CLEAR: WA_LISTHEADER.

WA_LISTHEADER-TYP = 'S'.

WA_LISTHEADER-KEY = TEXT-T02 . "'Page No. :'.

WA_LISTHEADER-INFO = SY-PAGNO .

APPEND WA_LISTHEADER TO T_LISTHEADER.

CLEAR: WA_LISTHEADER.

WA_LISTHEADER-TYP = 'S'.

WA_LISTHEADER-KEY = TEXT-T03. "'Run Date'.

CONCATENATE SY-DATUM+4(2) '/'

SY-DATUM+6(2) '/'

SY-DATUM(4) INTO WA_LISTHEADER-INFO. "todays date

APPEND WA_LISTHEADER TO T_LISTHEADER.

CLEAR: WA_LISTHEADER.

ENDIF.

ENDFORM. " F_HEADERLIST

Former Member
0 Kudos

hi

you can use REUSE_ALV_COMMENTARY_WRITE.

example:


DATA:   wa_variant LIKE disvariant                ,   "Variant
        wa_fieldcat TYPE slis_fieldcat_alv        ,
        it_fieldcat TYPE slis_t_fieldcat_alv      ,
        wa_layout   TYPE slis_layout_alv          ,
        wa_print    TYPE slis_print_alv           ,
        it_sort     TYPE slis_t_sortinfo_alv      ,
        it_sp_group TYPE slis_t_sp_group_alv      ,
        it_events   TYPE slis_t_event             ,
        it_list_top_of_page TYPE slis_t_listheader,
        w_title1    TYPE lvc_title,
        w_datum LIKE sy-datum.
DATA slis_ev_top_of_page  TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA w_top_of_page  TYPE slis_formname VALUE 'TOP_OF_PAGE'.   " for top of page
DATA it_event  TYPE slis_t_event.

INITIALIZATION.

  PERFORM eventtab_build USING it_event[].

START-OF-SELECTION.


select * into corresponding fields of table
it_bkpf from bkpf where
bukrs = pr_bukrs and
belnr = pr_belnr and
gjahr = pr_gjahr.

  PERFORM fieldcat.
  PERFORM display_data.


END-OF-SELECTION.




FORM eventtab_build USING rt_events TYPE slis_t_event.
*"Registration of events to happen during list display
  DATA: ls_event TYPE slis_alv_event.
* to get the events
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type = 0
    IMPORTING
      et_events   = rt_events.
  READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
                           INTO ls_event.
  IF sy-subrc = 0.
    MOVE w_top_of_page TO ls_event-form.
    APPEND ls_event TO rt_events.
  ENDIF.
ENDFORM.                    "eventtab_build

*&---------------------------------------------------------------------*
*&      Form  fieldcat
*&---------------------------------------------------------------------*

FORM fieldcat .
  CLEAR  wa_fieldcat.
  wa_fieldcat-fieldname = 'BUKRS'.
  wa_fieldcat-seltext_m   = text-023 .
  APPEND wa_fieldcat TO it_fieldcat.

  CLEAR  wa_fieldcat.
  wa_fieldcat-fieldname = 'BELNR'.
  wa_fieldcat-seltext_m   = text-014 .
  APPEND wa_fieldcat TO it_fieldcat.


  CLEAR  wa_fieldcat.
  wa_fieldcat-fieldname = 'GJAHR'.
  wa_fieldcat-seltext_m   = text-001 .
  APPEND wa_fieldcat TO it_fieldcat.

ENDFORM.                    "fieldcat





*&---------------------------------------------------------------------*
*&      Form  display_data
*&---------------------------------------------------------------------*

FORM display_data .
  PERFORM comment_build USING gt_list_top_of_page[].

  wa_layout-info_fieldname = 'LINE_COLOR'. " Line Color
  wa_print-no_coverpage = 'X'.
  wa_print-no_print_listinfos = 'X'.  " Remove the default first page.


*  to get thr grid display
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program = sy-repid
      i_background_id    = 'ALV_BACKGROUND'
      is_layout          = wa_layout
      it_fieldcat        = it_fieldcat
      i_default          = 'X'
      i_save             = 'A'
      it_events          = it_event[]
      is_print           = wa_print
    TABLES
      t_outtab           = it_bkpf
    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.                    " eventtab_build

*&---------------------------------------------------------------------*
*&      Form  comment_build
*&---------------------------------------------------------------------*

FORM comment_build USING lt_top_of_page TYPE  slis_t_listheader.
  DATA: ls_line TYPE slis_listheader.
  CLEAR ls_line.
  ls_line-typ  = 'H'.
* to get the company text

  DATA w_name(50) TYPE c.

  ls_line-info = 'BKPF Accounting Header'.

  APPEND ls_line TO lt_top_of_page.

  CLEAR ls_line.
  ls_line-typ  = 'S'.

  ls_line-info = 'Report'.

  APPEND ls_line TO lt_top_of_page.
ENDFORM.                    "comment_build


*&---------------------------------------------------------------------*
*&      Form  top_of_page
*&---------------------------------------------------------------------*
*      to print at top of page
*----------------------------------------------------------------------*
FORM top_of_page.
* to pass the comment bulid for the top of page into the alv
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = gt_list_top_of_page.
ENDFORM.                    "top_of_page

thanks

pavan

Former Member
0 Kudos

hi

you can use REUSE_ALV_COMMENTARY_WRITE.

example:


DATA:   wa_variant LIKE disvariant                ,   "Variant
        wa_fieldcat TYPE slis_fieldcat_alv        ,
        it_fieldcat TYPE slis_t_fieldcat_alv      ,
        wa_layout   TYPE slis_layout_alv          ,
        wa_print    TYPE slis_print_alv           ,
        it_sort     TYPE slis_t_sortinfo_alv      ,
        it_sp_group TYPE slis_t_sp_group_alv      ,
        it_events   TYPE slis_t_event             ,
        it_list_top_of_page TYPE slis_t_listheader,
        w_title1    TYPE lvc_title,
        w_datum LIKE sy-datum.
DATA slis_ev_top_of_page  TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA w_top_of_page  TYPE slis_formname VALUE 'TOP_OF_PAGE'.   " for top of page
DATA it_event  TYPE slis_t_event.

INITIALIZATION.

  PERFORM eventtab_build USING it_event[].

START-OF-SELECTION.


select * into corresponding fields of table
it_bkpf from bkpf where
bukrs = pr_bukrs and
belnr = pr_belnr and
gjahr = pr_gjahr.

  PERFORM fieldcat.
  PERFORM display_data.


END-OF-SELECTION.




FORM eventtab_build USING rt_events TYPE slis_t_event.
*"Registration of events to happen during list display
  DATA: ls_event TYPE slis_alv_event.
* to get the events
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type = 0
    IMPORTING
      et_events   = rt_events.
  READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
                           INTO ls_event.
  IF sy-subrc = 0.
    MOVE w_top_of_page TO ls_event-form.
    APPEND ls_event TO rt_events.
  ENDIF.
ENDFORM.                    "eventtab_build

*&---------------------------------------------------------------------*
*&      Form  fieldcat
*&---------------------------------------------------------------------*

FORM fieldcat .
  CLEAR  wa_fieldcat.
  wa_fieldcat-fieldname = 'BUKRS'.
  wa_fieldcat-seltext_m   = text-023 .
  APPEND wa_fieldcat TO it_fieldcat.

  CLEAR  wa_fieldcat.
  wa_fieldcat-fieldname = 'BELNR'.
  wa_fieldcat-seltext_m   = text-014 .
  APPEND wa_fieldcat TO it_fieldcat.


  CLEAR  wa_fieldcat.
  wa_fieldcat-fieldname = 'GJAHR'.
  wa_fieldcat-seltext_m   = text-001 .
  APPEND wa_fieldcat TO it_fieldcat.

ENDFORM.                    "fieldcat





*&---------------------------------------------------------------------*
*&      Form  display_data
*&---------------------------------------------------------------------*

FORM display_data .
  PERFORM comment_build USING gt_list_top_of_page[].

  wa_layout-info_fieldname = 'LINE_COLOR'. " Line Color
  wa_print-no_coverpage = 'X'.
  wa_print-no_print_listinfos = 'X'.  " Remove the default first page.


*  to get thr grid display
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program = sy-repid
      i_background_id    = 'ALV_BACKGROUND'
      is_layout          = wa_layout
      it_fieldcat        = it_fieldcat
      i_default          = 'X'
      i_save             = 'A'
      it_events          = it_event[]
      is_print           = wa_print
    TABLES
      t_outtab           = it_bkpf
    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.                    " eventtab_build

*&---------------------------------------------------------------------*
*&      Form  comment_build
*&---------------------------------------------------------------------*

FORM comment_build USING lt_top_of_page TYPE  slis_t_listheader.
  DATA: ls_line TYPE slis_listheader.
  CLEAR ls_line.
  ls_line-typ  = 'H'.
* to get the company text

  DATA w_name(50) TYPE c.

  ls_line-info = 'BKPF Accounting Header'.

  APPEND ls_line TO lt_top_of_page.

  CLEAR ls_line.
  ls_line-typ  = 'S'.

  ls_line-info = 'Report'.

  APPEND ls_line TO lt_top_of_page.
ENDFORM.                    "comment_build


*&---------------------------------------------------------------------*
*&      Form  top_of_page
*&---------------------------------------------------------------------*
*      to print at top of page
*----------------------------------------------------------------------*
FORM top_of_page.
* to pass the comment bulid for the top of page into the alv
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = gt_list_top_of_page.
ENDFORM.                    "top_of_page

thanks

pavan

Former Member
0 Kudos

Hi Ginni,

If you want a single line then use i_grid_title in the function module.

if you want more lines then i will send you the steps for top of page soon.

Former Member
0 Kudos

Hi ginni,

here are the steps for top of page.reward points if helpful.

  • work area and internal table for top of page.

DATA: it_list_top_of_page TYPE slis_t_listheader,

it_events TYPE slis_t_event,

gs_layout TYPE slis_layout_alv,

lwa_line TYPE slis_listheader.

  • constant to store top of page

CONSTANTS: gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.

PERFORM eventtab_build USING it_events[].

PERFORM list_header USING it_list_top_of_page[].

PERFORM layout_build USING gs_layout.

PERFORM display.

FORM eventtab_build USING lit_events TYPE slis_t_event.

DATA: lit_alv_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = lit_events.

READ TABLE lit_events WITH KEY name = slis_ev_top_of_page

INTO lit_alv_event.

IF sy-subrc = 0.

MOVE gc_formname_top_of_page TO lit_alv_event-form.

APPEND lit_alv_event TO lit_events.

ENDIF.

ENDFORM. "EVENTTAB_BUILD

FORM list_header USING lt_top_of_page TYPE slis_t_listheader.

CLEAR lwa_line.

lwa_line-typ = 'S'.

lwa_line-key = description for field.

lwa_line-info = <field name or date ot time, etc> .

APPEND lwa_line TO lt_top_of_page.

lwa_line-key = description for field.

lwa_line-info = <field name or date ot time, etc>.

APPEND lwa_line TO lt_top_of_page.

CLEAR lwa_line.

lwa_line-typ = 'S'.

lwa_line-key = description for field.

lwa_line-info = sy-datum.

APPEND lwa_line TO lt_top_of_page.

CLEAR lwa_line.

lwa_line-typ = 'S'.

lwa_line-key = description for field.

lwa_line-info = sy-uname.

APPEND lwa_line TO lt_top_of_page.

ENDFORM. "COMMENT_BUILD

FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = it_list_top_of_page.

ENDFORM. "TOP_OF_PAGE

&----


*& Form LAYOUT_BUILD

&----


----


  • -->LS_LAYOUT for zebra pattern between records

----


FORM layout_build USING ls_layout TYPE slis_layout_alv.

ls_layout-zebra = c_x.

ENDFORM. "LAYOUT_BUILD

&----


*& Form display

&----


  • text

----


FORM display.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

is_layout = gs_layout

it_fieldcat = it_fieldcat

it_events = it_events[]

TABLES

t_outtab = lit_field

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

0 Kudos

hi pradeep...wat is this c_x

...ls_layout-zebra = c_x.

??????

0 Kudos

C_X is a constant , it can be X or space

Former Member
0 Kudos

HI,

FORM TOP-OF-PAGE.

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = i_list_comments

i_logo = 'SUN_TEST_LOGO1'.

  • I_END_OF_LIST_GRID =

  • I_ALV_FORM =

ENDFORM.

pASS TOP-OF-PAGE TO THE EXPORTING PARAMETER IN THE fm

REUSE_ALV_GRID_DISPLAY.

rEGARDS,

KEERTHI

Former Member
0 Kudos

Hi Ginni,

c_x is a constant with value X. i thought it is self explanatory that c_x is a constant and value as x so i didnot specify there.Couldn't reply yesterday soon about this.

Former Member
0 Kudos

Hi,

see given example

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

TABLE DECLARATION

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

TABLES: vbak , "Sales Document: Header Data

vbap , "Sales Document: Item Data

makt , "Material Descriptions

lips . "SD document: Delivery: Item data

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

DECLARATION OF TYPE-POOL

*THIS TYPE-POOL CONTAINS THE EVENTS,

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

TYPE-POOLS : slis.

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

DECLARATION OF EVENTS

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

DATA: i_event TYPE slis_t_event.

DATA: t_event TYPE slis_alv_event.

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

DECLARATION OF LIST HEADER

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

DATA: i_listheader TYPE slis_t_listheader.

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

DECLARATION OF FIELD CATALOG FOR SCREEN 1

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

DATA: i_fldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.

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

DECLARATION OF FIELD CATALOG FOR SCREEN 2

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

DATA: i_fldcat2 TYPE slis_t_fieldcat_alv WITH HEADER LINE.

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

DECLARATION OF FIELD LAYOUT

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

DATA: i_layout TYPE slis_layout_alv.

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

SORTING OF OUTPUT

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

DATA: i_sort TYPE slis_t_sortinfo_alv.

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

*DATA DECLARATION

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

DATA: v_auart TYPE tvak-auart,

v_vkorg TYPE tvko-vkorg,

v_kunnr TYPE kna1-kunnr,

v_matnr TYPE mara-matnr ,

v_spart TYPE tvta-spart .

TYPES: BEGIN OF it_so ,

vbeln TYPE vbeln_va , "SALES ORDER NO.

auart TYPE auart , "SALES DOC. TYPE

vkorg TYPE vkorg , "SALES ORG.

spart TYPE spart , "DIVISION

kunnr TYPE kunag , "SOLD TO PARTY

posnr TYPE posnr_va , "SALES DOC. ITEM

matnr TYPE matnr , "MATERIAL NO

maktx TYPE maktx , "DESCRIPTION

kwmeng TYPE kwmeng , "QUANTITY

vrkme TYPE vrkme , "SALES UNIT

line_color(4) TYPE c ,

END OF it_so .

TYPES: BEGIN OF it_del ,

vbeln TYPE vbeln_vl , "SALES ORDER NO.

posnr TYPE posnr_vl , "SALES DOC. ITEM

matnr TYPE matnr , "MATERIAL NO

werks TYPE werks_d , "PLANT

lgort TYPE lgort_d , "STORAGE LOCATION

charg TYPE charg_d , "BATCH NO.

lfimg TYPE lfimg , "ACTUAL DELIVERY QTY.

vrkme TYPE vrkme , "SALES UNIT

END OF it_del .

TYPES: BEGIN OF type_vbfa ,

vbelv TYPE vbeln_von , "Preceding sales and distribution document

posnv TYPE posnr_von , "Preceding item of an SD document

vbeln TYPE vbeln_nach, "Subsequent sales and distribution document

posnn TYPE posnr_nach, "Document category of subsequent document

vbtyp_n TYPE vbtyp_n ,

END OF type_vbfa .

DATA: it_so1 TYPE STANDARD TABLE OF it_so ,

it_del1 TYPE STANDARD TABLE OF it_del ,

it_vbfa TYPE STANDARD TABLE OF type_vbfa,

it_del_ful TYPE STANDARD TABLE OF it_del.

DATA: wa_so TYPE it_so ,

wa_del TYPE it_del ,

wa_vbfa TYPE type_vbfa,

wa_it_del_ful TYPE it_del.

DATA: i_title_vbfa TYPE lvc_title VALUE 'SALES ORDER LIST DISPLAYED'.

DATA: i_title_vbpa TYPE lvc_title VALUE 'DELIVERY DETAILS DISPLAYED AGAINST GIVEN SALES ORDER'.

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

*SELECTION SCREEN *

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

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-004 .

SELECT-OPTIONS: s_vbeln FOR vbak-vbeln ,

s_auart FOR v_auart ,

s_vkorg FOR v_vkorg ,

s_spart FOR v_spart ,

s_kunnr FOR v_kunnr ,

s_matnr FOR v_matnr .

SELECTION-SCREEN END OF BLOCK blk1 .

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

*AT SELECTION SCREEN *

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

AT SELECTION-SCREEN.

SELECT SINGLE vbeln

FROM vbak INTO vbak-vbeln

WHERE vbeln IN s_vbeln.

IF sy-subrc <> 0.

MESSAGE e202.

ENDIF.

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

*START OF SELECTION *

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

START-OF-SELECTION .

PERFORM data_select.

PERFORM t_sort USING i_sort .

PERFORM event_cat USING i_event .

PERFORM fld_cat USING i_fldcat[] .

PERFORM t_layout USING i_layout .

PERFORM fld_cat2 USING i_fldcat2[] .

PERFORM call_alv.

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

  • DATA SELECT *

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

&----


*& Form DATA_SELECT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM data_select .

REFRESH: it_vbfa, it_so1, it_del_ful ,it_del1 .

BREAK-POINT.

SELECT

a~vbeln

a~auart

a~vkorg

a~spart

a~kunnr

b~posnr

b~matnr

c~maktx

b~kwmeng

b~vrkme

INTO TABLE it_so1 FROM vbak AS a

JOIN vbap AS b ON bvbeln = avbeln

JOIN makt AS c ON cmatnr = bmatnr

AND c~spras = sy-langu

WHERE a~vbeln IN s_vbeln .

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

  • COLURING DISPLAY *

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

DATA: ld_color(1) TYPE c .

LOOP AT it_so1 INTO wa_so.

  • Populate color variable with colour properties

  • Char 1 = C (This is a color property)

  • Char 2 = 3 (Color codes: 1 - 7)

  • Char 3 = Intensified on/off ( 1 or 0 )

  • Char 4 = Inverse display on/off ( 1 or 0 )

  • i.e. wa_ekko-line_color = 'C410'

ld_color = ld_color + 1.

  • Only 7 colours so need to reset color value

IF ld_color = 8.

ld_color = 1.

ENDIF.

CONCATENATE 'C' ld_color '10' INTO wa_so-line_color.

  • wa_ekko-line_color = 'C410'.

MODIFY it_so1 FROM wa_so.

ENDLOOP .

IF sy-subrc = 0.

SELECT vbelv

posnv

vbeln

posnn

vbtyp_n

INTO TABLE it_vbfa

FROM vbfa

FOR ALL ENTRIES IN it_so1

WHERE vbelv = it_so1-vbeln

AND posnn = it_so1-posnr

AND vbtyp_n ='J' .

IF sy-subrc = 0.

SELECT vbeln

posnr

matnr

werks

lgort

charg

lfimg

vrkme

FROM lips INTO TABLE it_del_ful

FOR ALL ENTRIES IN it_vbfa

WHERE vbeln = it_vbfa-vbeln

AND posnr = it_vbfa-posnn.

ENDIF.

ENDIF.

ENDFORM. " DATA_SELECT

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

                                • EVENT CATALOG ****************************************

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

&----


*& Form EVENT_CAT

&----


  • text

----


  • -->P_I_EVENT text

----


FORM event_cat USING p_i_event TYPE slis_t_event .

REFRESH p_i_event .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • I_LIST_TYPE = 0

IMPORTING

et_events = p_i_event

  • EXCEPTIONS

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

READ TABLE p_i_event WITH KEY name = slis_ev_top_of_page INTO t_event.

IF sy-subrc = 0.

MOVE 'TOP_OF_PAGE' TO t_event-form.

MODIFY p_i_event FROM t_event INDEX sy-tabix TRANSPORTING form.

ENDIF.

CLEAR t_event .

ENDFORM. " EVENT_CAT

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

*********FORM FOR EVENT TOP_OF_PAGE*********************************

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

FORM top_of_page .

REFRESH i_listheader.

DATA: t_header TYPE slis_listheader.

DATA: v_text(50).

WRITE sy-datum TO v_text.

CLEAR t_header.

t_header-typ = 'S'.

t_header-key = 'Date'.

t_header-info = v_text.

APPEND t_header TO i_listheader.

CLEAR t_header.

CLEAR v_text.

  • WRITE: 'SALES ORDER REPORT ' TO v_text .

  • t_header-typ = 'S'.

  • t_header-key = 'TITLE'.

  • t_header-info = v_text.

  • APPEND t_header TO i_listheader.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = i_listheader.

  • I_LOGO = 'ALV_BACKGROUND'.

  • I_END_OF_LIST_GRID =

ENDFORM. "TOP_OF_PAGE

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

                • FIRST ALV GRID DISPLAY ***************************************

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

&----


*& Form CALL_ALV

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM call_alv .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

  • I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'

i_callback_user_command = 'USER_COMMAND1'

i_callback_top_of_page = 'TOP_OF_PAGE'

I_BACKGROUND_ID = 'ALV_BACKGROUND'

i_grid_title = i_title_vbfa

is_layout = i_layout

it_fieldcat = i_fldcat[]

it_sort = i_sort

it_events = i_event

TABLES

t_outtab = it_so1

.

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

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

                            • FIRST FIELDCATALOG *************************************

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

&----


*& Form FLD_CAT

&----


  • text

----


  • -->P_I_FLDCAT[] text

----


FORM fld_cat USING p_i_fldcat TYPE slis_t_fieldcat_alv.

CLEAR i_fldcat.

i_fldcat-fieldname = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'."TABLE NAME

i_fldcat-seltext_m = 'SALES ORDER NO.'.

i_fldcat-col_pos = 1. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-hotspot = 'X'.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'AUART'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'."TABLE NAME

i_fldcat-seltext_m = 'SALES DOC. TYPE'.

i_fldcat-col_pos = 2. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 15. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'VKORG'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'.

i_fldcat-seltext_m = 'SALES ORG.'.

i_fldcat-col_pos = 3. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 12. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'SPART'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'.

i_fldcat-seltext_m = 'DIVISION'.

i_fldcat-col_pos = 4. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 10. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'KUNNR'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'.

i_fldcat-seltext_m = 'SOLD TO PARTY'.

i_fldcat-col_pos = 5. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 15. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'.

i_fldcat-seltext_m = 'SALES DOC. ITEM'.

i_fldcat-col_pos = 6. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 17. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'.

i_fldcat-seltext_m = 'MATERIAL NO.'.

i_fldcat-col_pos = 7. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'MAKTX'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'.

i_fldcat-seltext_m = 'DESCRIPTION'.

i_fldcat-col_pos = 8. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'KWMENG'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'.

i_fldcat-seltext_m = 'QUANTITY'.

i_fldcat-col_pos = 9. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 15. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-do_sum = 'X'. " For doing "SUM"

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

CLEAR i_fldcat.

i_fldcat-fieldname = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat-tabname = 'IT_SO1'.

i_fldcat-seltext_m = 'SALES UNIT'.

i_fldcat-col_pos = 10. " POSITION OF THE COLUMN.

i_fldcat-outputlen = 10. " SET THE OUTPUT LENGTH.

i_fldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat-just(1) = 'C'.

APPEND i_fldcat.

ENDFORM. " FLD_CAT

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

                                    • ALV SORTING ***************************************

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

&----


*& Form SORT

&----


  • text

----


  • -->P_I_SORT text

----


FORM t_sort USING p_i_sort TYPE slis_t_sortinfo_alv .

DATA: i_sort TYPE slis_sortinfo_alv .

REFRESH p_i_sort .

CLEAR i_sort.

i_sort-spos = 1.

i_sort-tabname = 'IT_SO1'.

i_sort-fieldname = 'VBELN'.

i_sort-up = 'X'.

i_sort-subtot = 'X'.

i_sort-group = '*'.

APPEND i_sort TO p_i_sort.

ENDFORM. " SORT

*FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.

  • SET PF-STATUS 'ZSTANDARD'.

*ENDFORM. "Set_pf_status

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

**********FORM FOR EVENT USER_COMMAND1*******************************

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

FORM user_command1 USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

*CASE R_UCOMM .

  • WHEN '&IC1' .

*

  • IF rs_selfield-FIELDNAME = 'VBELN' .

*

  • ENDIF .

*

  • WHEN OTHERS .

*

  • ENDCASE .

CLEAR wa_so.

REFRESH: it_del1 .

IF r_ucomm = '&IC1' AND rs_selfield-fieldname = 'VBELN' AND

rs_selfield-value IS NOT INITIAL.

READ TABLE it_so1 INTO wa_so INDEX rs_selfield-tabindex.

IF sy-subrc = 0.

LOOP AT it_vbfa INTO wa_vbfa WHERE vbelv = wa_so-vbeln

AND posnv = wa_so-posnr.

READ TABLE it_del_ful INTO wa_it_del_ful

WITH KEY vbeln = wa_vbfa-vbelv

posnr = wa_vbfa-posnn.

IF sy-subrc = 0.

CLEAR wa_del.

MOVE wa_it_del_ful TO wa_del.

APPEND wa_del TO it_del1.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

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

                  • SECOND ALV GRID DISPLAY ***********************************

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

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

  • I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'

i_callback_user_command = 'USER_COMMAND2'

i_callback_top_of_page = 'TOP_OF_PAGE'

I_BACKGROUND_ID = 'ALV_BACKGROUND'

i_grid_title = i_title_vbpa

it_fieldcat = i_fldcat2[]

it_sort = i_sort

TABLES

t_outtab = it_del_ful

.

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

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

                    • FORM FOR EVENT USER_COMMAND 2 ******************************

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

FORM user_command2 USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

CLEAR wa_so.

REFRESH: it_del1 .

IF r_ucomm = '&IC1' AND rs_selfield-fieldname = 'VBELN' AND

rs_selfield-value IS NOT INITIAL.

READ TABLE it_so1 INTO wa_so INDEX rs_selfield-tabindex.

  • IF SY-SUBRC = 0.

*

  • LOOP AT it_vbfa INTO wa_vbfa WHERE vbelv = WA_SO-vbeln

  • AND posnv = WA_SO-posnr.

READ TABLE it_del_ful INTO wa_it_del_ful

WITH KEY vbeln = rs_selfield-value

posnr = wa_vbfa-posnn.

IF rs_selfield-fieldname = 'VBELN'.

SET PARAMETER ID 'VL' FIELD wa_vbfa-vbeln .

CALL TRANSACTION 'VL03' AND SKIP FIRST SCREEN.

ENDIF .

  • ENDLOOP.

  • ENDIF.

ENDIF.

ENDFORM . "USER_COMMAND2

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

                  • SECOND FIELDCATALOG ******************************************

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

&----


*& Form FLD_CAT2

&----


  • text

----


  • -->P_I_FLDCAT2[] text

----


FORM fld_cat2 USING p_i_fldcat2 TYPE slis_t_fieldcat_alv .

CLEAR i_fldcat2.

i_fldcat2-fieldname = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat2-tabname = 'IT_DEL_FUL'."TABLE NAME

i_fldcat2-seltext_m = 'DELIVERY NO.'.

i_fldcat2-col_pos = 1. " POSITION OF THE COLUMN.

i_fldcat2-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat2-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat2-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat2-hotspot = 'X'.

i_fldcat2-just(1) = 'C'.

APPEND i_fldcat2.

CLEAR i_fldcat2.

i_fldcat2-fieldname = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat2-seltext_m = 'DELIVERY ITEM'.

i_fldcat2-col_pos = 2. " POSITION OF THE COLUMN.

i_fldcat2-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat2-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat2-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat2-just(1) = 'C'.

APPEND i_fldcat2.

CLEAR i_fldcat2.

i_fldcat2-fieldname = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat2-seltext_m = 'MATERIAL NO.'.

i_fldcat2-col_pos = 3. " POSITION OF THE COLUMN.

i_fldcat2-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat2-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat2-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat2-just(1) = 'C'.

APPEND i_fldcat2.

CLEAR i_fldcat2.

i_fldcat2-fieldname = 'WERKS'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat2-seltext_m = 'PLANT.'.

i_fldcat2-col_pos = 4. " POSITION OF THE COLUMN.

i_fldcat2-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat2-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat2-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat2-just(1) = 'C'.

APPEND i_fldcat2.

CLEAR i_fldcat2.

i_fldcat2-fieldname = 'LGORT'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat2-seltext_m = 'ST. LOCATION'.

i_fldcat2-col_pos = 5. " POSITION OF THE COLUMN.

i_fldcat2-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat2-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat2-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat2-just(1) = 'C'.

APPEND i_fldcat2.

CLEAR i_fldcat2.

i_fldcat2-fieldname = 'CHARG'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat2-seltext_m = 'BATCH NO.'.

i_fldcat2-col_pos = 6. " POSITION OF THE COLUMN.

i_fldcat2-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat2-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat2-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat2-just(1) = 'C'.

APPEND i_fldcat2.

CLEAR i_fldcat2.

i_fldcat2-fieldname = 'LFIMG'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat2-seltext_m = 'ACT. DEL. QTY.'.

i_fldcat2-col_pos = 7. " POSITION OF THE COLUMN.

i_fldcat2-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat2-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat2-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat2-just(1) = 'C'.

APPEND i_fldcat2.

CLEAR i_fldcat2.

i_fldcat2-fieldname = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED

i_fldcat2-seltext_m = 'SALES UNIT.'.

i_fldcat2-col_pos = 8. " POSITION OF THE COLUMN.

i_fldcat2-outputlen = 20. " SET THE OUTPUT LENGTH.

i_fldcat2-emphasize = 'X'. " COLOR OF THIS COLUMN.

i_fldcat2-key = 'X'. " SO THAT THIS FIELD IS NOT

"SCROLLABLE AND HIDDABLE.

i_fldcat2-just(1) = 'C'.

APPEND i_fldcat2.

ENDFORM. " FLD_CAT2

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

                                  • ALV LAYOUT *******************************************

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

&----


*& Form LAYOUT

&----


  • text

----


  • -->P_I_LAYOUT text

----


FORM t_layout USING p_i_layout TYPE slis_layout_alv .

p_i_layout-zebra = 'X'.

p_i_layout-totals_text = 'GRAND TOTAL ='.

  • p_i_layout-CONFIRMATION_PROMPT = 'X'.

  • p_i_layout-DEF_STATUS = ' '.

p_i_layout-info_fieldname = 'LINE_COLOR'.

ENDFORM. " LAYOUT

note:reward helpful answer