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: 

ALV REPORT WITH MULTIPLE BLOCKS

Former Member
0 Kudos

To print two blocks in a single ALV report, I have taken the sample and modified to my requirement. I am having the following problems in this code.

1. Columnwise total not appearing.

2. Amount and numbers in all the columns are

left justified instead of right justified.

The code written is given below. Kindly check the same and suggest for corrections.

--- SAMPLE 1--


CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

i_callback_program = sy-cprog

i_callback_user_command = 'USER_COMMAND'.

PERFORM list_append TABLES IT_CTV

USING '1'

'IT_CTV'.

PERFORM list_append TABLES IT_APP

USING '2'

'IT_APP'.

PERFORM f_list_display.

----


  • FORM USER_COMMAND *

----


FORM user_command USING i_ucomm LIKE sy-ucomm

is_selfield TYPE slis_selfield. "#EC CALLED

ENDFORM. " USER_COMMAND

----


  • Form list_append

----


FORM list_append TABLES ut_table

USING u_no TYPE char1

u_tabname TYPE slis_tabname.

DEFINE m_fieldcat.

ls_fieldcat-fieldname = &1.

ls_fieldcat-ref_tabname = &2.

append ls_fieldcat to lt_fieldcat.

END-OF-DEFINITION.

DEFINE m_sort.

ls_sort-fieldname = &1.

ls_sort-up = 'X'.

append ls_sort to lt_sort.

END-OF-DEFINITION.

DATA :

ls_fieldcat TYPE slis_fieldcat_alv,

lt_fieldcat TYPE slis_t_fieldcat_alv, " Field catalog

ls_sort TYPE slis_sortinfo_alv,

lt_sort TYPE slis_t_sortinfo_alv. " Sort table

DATA:

lt_events TYPE slis_t_event,

ls_event TYPE slis_alv_event,

ls_layout TYPE slis_layout_alv.

ls_layout-group_change_edit = 'X'.

ls_layout-colwidth_optimize = 'X'.

ls_layout-zebra = 'X'.

ls_layout-cell_merge = 'X'.

ls_layout-detail_popup = 'X'.

ls_layout-get_selinfos = 'X'.

ls_layout-max_linesize = '300'.

CASE u_no.

WHEN '1'.

ls_fieldcat-SELTEXT_L = ' REGION'.

ls_fieldcat-DO_SUM = 'X'.

m_fieldcat 'BZIRK' 'IT_CTV'.

ls_fieldcat-SELTEXT_L = ' CTV STOCK'.

m_fieldcat 'CTVST' 'IT_CTV'.

ls_fieldcat-SELTEXT_L = ' CTV VALUE'.

m_fieldcat 'CTVVL' 'IT_CTV'.

m_sort 'BZIRK'.

ls_fieldcat-DO_SUM = 'X'.

WHEN '2'.

ls_fieldcat-SELTEXT_L = ' REGION'.

m_fieldcat 'BZIRK' 'IT_APP'.

ls_fieldcat-SELTEXT_L = ' RFG STK'.

m_fieldcat 'RFGST' 'IT_APP'.

ls_fieldcat-SELTEXT_L = ' RFG VAL'.

m_fieldcat 'RFGVL' 'IT_APP'.

ls_fieldcat-SELTEXT_L = ' WM STK'.

m_fieldcat 'WMCST' 'IT_APP'.

ls_fieldcat-SELTEXT_L = ' WM VAL'.

m_fieldcat 'WMCVL' 'IT_APP'.

ls_fieldcat-SELTEXT_L = ' MCCS STK'.

m_fieldcat 'MOVST' 'IT_APP'.

ls_fieldcat-SELTEXT_L = ' MCCS VAL'.

m_fieldcat 'MOVVL' 'IT_APP'.

ls_fieldcat-SELTEXT_L = ' APP STK'.

m_fieldcat 'APPST' 'IT_APP'.

  • ls_fieldcat-SELTEXT_L = ' APP VAL'.

  • m_fieldcat 'APPVL' 'IT_APP'.

m_sort 'BZIRK'.

ENDCASE.

  • ls_fieldcat-COL_POS = 1.

  • ls_fieldcat-FIELDNAME = 'BZIRK'.

  • ls_fieldcat-DO_SUM = 'X'.

  • ls_fieldcat-FIX_COLUMN = 'X'.

  • APPEND ls_fieldcat TO lT_fieldcat.

IF u_no CA '13'.

MOVE 'TOP_OF_PAGE' TO ls_event-name.

CONCATENATE 'TOP_OF_PAGE' u_no INTO ls_event-form.

APPEND ls_event TO lt_events.

ELSE.

MOVE 'TOP_OF_LIST' TO ls_event-name.

CONCATENATE 'TOP_OF_LIST' u_no INTO ls_event-form.

APPEND ls_event TO lt_events.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

it_fieldcat = lt_fieldcat

is_layout = ls_layout

i_tabname = u_tabname

it_events = lt_events

it_sort = lt_sort

TABLES

t_outtab = ut_table

EXCEPTIONS

program_error = 1

maximum_of_appends_reached = 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. " LIST_APPEND

----


  • Form f_list_display

----


FORM f_list_display.

DATA ls_print TYPE slis_print_alv.

ls_print-no_print_selinfos = 'X'. " Display no selection infos

ls_print-no_print_listinfos = 'X'. " Display no listinfos

ls_print-reserve_lines = 2. " Lines reserved for end of page

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

EXPORTING

i_interface_check = ' '

is_print = ls_print

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

-


Thanks in advance.

A S VINCENT

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hi,

try giving the value to the field

<b>ls_fieldcat-just = 'R'</b>

This will align right justified

9 REPLIES 9

rahulkavuri
Active Contributor
0 Kudos

Try using this way u will have no probs... reward points if helpful... the problem might be with the sort



FORM SORT_FUNC.

  WA_SORT-SPOS = '1'.
  WA_SORT-FIELDNAME = 'MTART'.
  WA_SORT-TABNAME = 'IT_MARA'.
  WA_SORT-UP = 'X'.
  APPEND WA_SORT TO IT_SORT.
  CLEAR WA_SORT.

  WA_SORT-SPOS = '2'.
  WA_SORT-FIELDNAME = 'MATKL'.
  WA_SORT-TABNAME = 'IT_MARA'.
  WA_SORT-UP = 'X'.
  APPEND WA_SORT TO IT_SORT.
  CLEAR WA_SORT.

  WA_SORT-SPOS = '3'.
  WA_SORT-FIELDNAME = 'MATKL'.
  WA_SORT-TABNAME = 'IT_MARA'.
  WA_SORT-UP = 'X'.
  APPEND WA_SORT TO IT_SORT.
  CLEAR WA_SORT.

  WA_SORT-SPOS = '4'.
  WA_SORT-FIELDNAME = 'NTGEW'.
  WA_SORT-TABNAME = 'IT_MARA'.
  WA_SORT-UP = 'X'.
  WA_SORT-SUBTOT = 'X'.
  APPEND WA_SORT TO IT_SORT.
  CLEAR WA_SORT.

  WA_SORT-SPOS = '5'.
  WA_SORT-FIELDNAME = 'MATNR'.
  WA_SORT-TABNAME = 'IT_MARA'.
  WA_SORT-UP = 'X'.
  APPEND WA_SORT TO IT_SORT.
  CLEAR WA_SORT.


ENDFORM.                    "SORT_FUNC


*&--------------------------------------------------------------------*
*&      Form  FINAL_DISPLAY
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM FINAL_DISPLAY.

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
    EXPORTING
      I_CALLBACK_PROGRAM = SY-REPID.

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      IS_LAYOUT                  = L_LAYOUT_MARA
      IT_FIELDCAT                = IT_FIELDCAT
      I_TABNAME                  = 'IT_MARA'
      IT_EVENTS                  = GT_XEVENTS
      IT_SORT                    = IT_SORT
    TABLES
      T_OUTTAB                   = IT_MARA
    EXCEPTIONS
      PROGRAM_ERROR              = 1
      MAXIMUM_OF_APPENDS_REACHED = 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_BLOCK_LIST_APPEND'
    EXPORTING
      IS_LAYOUT                  = L_LAYOUT_MAKT
      IT_FIELDCAT                = IT_FIELDCAT_MAKT
      I_TABNAME                  = 'IT_MAKT'
      IT_EVENTS                  = GT_YEVENTS
    TABLES
      T_OUTTAB                   = IT_MAKT
    EXCEPTIONS
      PROGRAM_ERROR              = 1
      MAXIMUM_OF_APPENDS_REACHED = 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_BLOCK_LIST_APPEND'
    EXPORTING
      IS_LAYOUT                  = L_LAYOUT_MARC
      IT_FIELDCAT                = IT_FIELDCAT_MARC
      I_TABNAME                  = 'IT_MARC'
      IT_EVENTS                  = GT_YEVENTS
    TABLES
      T_OUTTAB                   = IT_MARC
    EXCEPTIONS
      PROGRAM_ERROR              = 1
      MAXIMUM_OF_APPENDS_REACHED = 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_BLOCK_LIST_DISPLAY'
    EXPORTING
      IS_PRINT = GT_PRINT.

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


Message was edited by: Rahul Kavuri

Former Member
0 Kudos

Hi Vincent,

check the following forums

Regards,

Ranjit Thakur.

Please Mark The Helpful Answer.

Former Member
0 Kudos

hi,

try giving the value to the field

<b>ls_fieldcat-just = 'R'</b>

This will align right justified

former_member188685
Active Contributor
0 Kudos

Hi,

DId you check this sample alv <b>BALVBT01</b>.

Regards

vijay

Former Member
0 Kudos

Hi Vincent,

I think u have to use 'modify lT_fieldcat from ls_fieldcat index sy-index' instead of APPEND ls_fieldcat TO lT_fieldcat.

regards,

Kiran

0 Kudos

The program is working fine. But how to get the column total. Eg. Sales total in the sales column.

Regards.

Former Member
0 Kudos

hii vincent,

The SAP program BALVBT01 provides an example of displying multiple ALV LIST reports on one page

Try this

hope this helps

Thanks & Regards

Naresh

Former Member
0 Kudos

Hai Vincent

Check the following Code

&----


*& Report ZALV_BLOCK *

*& *

&----


*& *

*& *

&----


REPORT ZALV_BLOCK NO STANDARD PAGE HEADING

MESSAGE-ID ZZ.

*..Type Definitions for ALV Report

TYPE-POOLS SLIS.

----


  • Table Declarations. *

----


TABLES: MARA, "Material Master

MARC, "Plant Data for Material

MARD, "Storage Location Data for Material

VBAP, "Sales Document: Item Data

VBUP. "Sales Document: Item Status

----


----


  • Internal table to store sales orders.......

*.......................................................................

DATA: BEGIN OF IT_VBAP OCCURS 0,

VBELN LIKE VBAP-VBELN, "Sales Document

POSNR LIKE VBAP-POSNR, "Sales Document Item

KWMENG LIKE VBAP-KWMENG, "Cumulative order quantity in sales

" Units

END OF IT_VBAP.

*......................................................................

  • internal table to store final data

*----


DATA: BEGIN OF IT_FINAL OCCURS 0,

WERKS LIKE MARD-WERKS, "Plant

MATNR LIKE MARD-MATNR, "Material Number

LGORT LIKE MARD-LGORT, "Storage Location

LABST LIKE MARD-LABST, "Valuated stock with unrestricted use

INSME LIKE MARD-INSME, "Stock in quality inspection

RETME LIKE MARD-RETME, "Blocked Stock Returns

UMLME LIKE MARD-UMLME, "Stock in transfer

MAKTX LIKE MAKT-MAKTX, "Material description

VBELN LIKE VBAP-VBELN, "Sales Document

POSNR LIKE VBAP-POSNR, "Sales Document Item

KWMENG LIKE VBAP-KWMENG, "Cumulative order quantity in sales

" Units

END OF IT_FINAL.

----


  • ALV Type declaration *

----


*..Field Catalog for Basic List.

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

*..Events For Basic List.

DATA : IT_EVENTS TYPE SLIS_T_EVENT,

WA_EVENTS TYPE SLIS_ALV_EVENT.

*..Layout For Basic List

DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.

*..Sort Table For Basic List

DATA: IT_SORT TYPE SLIS_SORTINFO_ALV OCCURS 0 WITH HEADER LINE.

----


  • DATA DECLARATIONS *

----


DATA: V_FLAG,

VINDEX TYPE SY-TABIX,

TOTAL TYPE VBAP-KWMENG. "Open order quantity

*..To Store Program Name

DATA: V_REPID TYPE SYREPID.

*..To know whether basic list contains any data

----


  • Selection Screen. *

----


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

SELECT-OPTIONS: S_MATNR FOR MARA-MATNR,

S_WERKS FOR MARC-WERKS,

S_LGORT FOR MARD-LGORT.

SELECTION-SCREEN END OF BLOCK B1.

----


  • Event:Initialization *

----


INITIALIZATION.

V_REPID = SY-REPID.

----


  • AT Selection Screen. *

----


AT SELECTION-SCREEN.

PERFORM VALIDATIONS.

----


  • Event: Start-of-Selection *

----


START-OF-SELECTION.

&----


  • To get data from vbap into internal table IT_VBAP

----


PERFORM FETCH_OPEN_DATA.

&----


  • To get data into final internal table IT_FINAL

----


IF V_FLAG = 'X'.

PERFORM FETCH_FINAL_DATA.

ENDIF.

IF V_FLAG = ''.

MESSAGE I010 WITH 'NO DATA TO BE DISPLAYED'.

EXIT.

ELSE.

  • --Setting the FIELD CATALOG for ALV

PERFORM FILL_FIELDCAT_HEADER.

*-----Setting the LAYOUT for ALV

PERFORM GET_LAYOUT.

*-----Getting the ALV Events

PERFORM GET_EVENT.

*---- To Sort the list

PERFORM DO_SORT.

ENDIF.

----


  • Event: End-of-Selection *

----


END-OF-SELECTION.

*--Generating the ALV LIST DISPLAY

PERFORM DISPLAY_LIST.

//////////////////////////////////////////////////////////////////////

*

  • FORM DEFINITIONS *

*//////////////////////////////////////////////////////////////////////

&----


*& Form VALIDATIONS

&----


  • To validate data in selection screen

----


  • --> p1 text

  • <-- p2 text

----


FORM VALIDATIONS.

PERFORM VALIDATE_MATNR.

PERFORM VALIDATE_WERKS.

PERFORM VALIDATE_LGORT.

IF NOT ( ( MARA-MATNR IS INITIAL ) AND

( MARC-WERKS IS INITIAL ) AND

( MARD-LGORT IS INITIAL ) ).

SELECT SINGLE MATNR

WERKS

LGORT

FROM MARD

INTO (MARD-MATNR, MARD-WERKS, MARD-LGORT)

WHERE MATNR = MARA-MATNR

AND WERKS = MARC-WERKS

AND LGORT = MARD-LGORT.

ENDIF.

ENDFORM. " VALIDATIONS

&----


*& Form VALIDATE_MATNR

&----


  • To validate MATNR

----


  • --> p1 text

  • <-- p2 text

----


FORM VALIDATE_MATNR.

IF NOT S_MATNR[] IS INITIAL.

SELECT MATNR

UP TO 1 ROWS

INTO (MARD-MATNR)

FROM MARA

WHERE MATNR IN S_MATNR.

ENDSELECT.

ENDIF.

IF SY-SUBRC NE 0.

MESSAGE E000 WITH TEXT-001.

ENDIF.

ENDFORM. " VALIDATE_MATNR

&----


*& Form VALIDATE_WERKS

&----


  • To validate plant

----


  • --> p1 text

  • <-- p2 text

----


FORM VALIDATE_WERKS.

IF NOT S_WERKS[] IS INITIAL.

SELECT WERKS

UP TO 1 ROWS

INTO (MARD-WERKS)

FROM MARC

WHERE WERKS IN S_WERKS.

ENDSELECT.

ENDIF.

IF SY-SUBRC NE 0.

MESSAGE E000 WITH TEXT-002.

ENDIF.

ENDFORM. " VALIDATE_WERKS

&----


*& Form VALIDATE_LGORT

&----


  • To validate storage

----


  • --> p1 text

  • <-- p2 text

----


FORM VALIDATE_LGORT.

IF NOT S_LGORT[] IS INITIAL.

SELECT LGORT

UP TO 1 ROWS

INTO (MARD-LGORT)

FROM MARD

WHERE LGORT IN S_LGORT.

ENDSELECT.

ENDIF.

IF SY-SUBRC NE 0.

MESSAGE E000 WITH TEXT-003.

ENDIF.

ENDFORM. " VALIDATE_LGORT

&----


*& Form FETCH_OPEN_DATA

&----


  • To get data into internal table IT_VBAP

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_OPEN_DATA.

IF NOT ( ( MARA-MATNR IS INITIAL ) AND

( MARC-WERKS IS INITIAL ) AND

( MARD-LGORT IS INITIAL ) ).

SELECT VBELN

POSNR

KWMENG

INTO CORRESPONDING FIELDS OF TABLE IT_VBAP

FROM VBAP

WHERE MATNR IN S_MATNR

AND WERKS IN S_WERKS

AND LGORT IN S_LGORT.

ENDIF.

LOOP AT IT_VBAP.

SELECT * FROM VBUP

INTO VBUP

WHERE VBELN = IT_VBAP-VBELN

AND POSNR = IT_VBAP-POSNR

AND LFSTA NE 'C'.

ENDSELECT.

ENDLOOP.

IF SY-SUBRC NE 0.

REFRESH IT_VBAP.

MESSAGE E000 WITH TEXT-004.

EXIT.

ELSE.

V_FLAG = 'X'.

ENDIF.

&----


  • To get sum of all quantities as open order quantity

----


LOOP AT IT_VBAP.

TOTAL = TOTAL + IT_VBAP-KWMENG.

ENDLOOP.

ENDFORM. " FETCH_OPEN_DATA

&----


*& Form FETCH_FINAL_DATA

&----


  • To get data into final internal table IT_FINAL

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_FINAL_DATA.

SELECT A~MATNR

A~WERKS

A~LGORT

MAKTX

LABST

INSME

RETME

UMLME

VBELN

POSNR

KWMENG

INTO CORRESPONDING FIELDS OF TABLE IT_FINAL

FROM MARD AS A

INNER JOIN MAKT AS B

ON AMATNR = BMATNR

AND SPRAS = 'E'

INNER JOIN VBAP AS C

ON AMATNR = CMATNR

FOR ALL ENTRIES IN IT_VBAP

WHERE VBELN = IT_VBAP-VBELN

AND POSNR = IT_VBAP-POSNR

AND KWMENG = IT_VBAP-KWMENG

AND A~MATNR IN S_MATNR

AND A~WERKS IN S_WERKS

AND A~LGORT IN S_LGORT.

IF SY-SUBRC NE 0.

V_FLAG = SPACE.

MESSAGE E001 WITH 'No data found IN the selection criteria'.

EXIT.

ELSE.

V_FLAG = 'X'.

ENDIF.

ENDFORM. " FETCH_FINAL_DATA

&----


*& Form FILL_FIELDCAT_HEADER

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_FIELDCAT_HEADER .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = V_REPID

I_INTERNAL_TABNAME = 'IT_FINAL'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = V_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.

LOOP AT IT_FIELDCAT INTO WA_FIELDCAT.

CASE WA_FIELDCAT-FIELDNAME.

WHEN 'KWMENG'.

  • WA_FIELDCAT-COL_POS = '11'.

  • WA_FIELDCAT-OUTPUTLEN = '22'.

  • WA_FIELDCAT-SELTEXT_L = 'Net Value'.

WA_FIELDCAT-DO_SUM = 'X'.

ENDCASE.

MODIFY IT_FIELDCAT FROM WA_FIELDCAT INDEX SY-TABIX.

ENDLOOP.

ENDFORM. " FILL_FIELDCAT_HEADER

&----


*& Form GET_LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_LAYOUT .

WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.

ENDFORM. " GET_LAYOUT

&----


*& Form GET_EVENT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_EVENT .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IT_EVENTS

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.

LOOP AT IT_EVENTS INTO WA_EVENTS.

CASE WA_EVENTS-NAME.

WHEN 'TOP_OF_PAGE'.

WA_EVENTS-FORM = 'FILL_LIST_HEADER'.

WHEN 'USER_COMMAND'.

WA_EVENTS-FORM = 'PROCESS_BASIC_LIST'.

ENDCASE.

MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.

ENDLOOP.

ENDFORM. " GET_EVENT

----


  • FORM FILL_LIST_HEADER *

----


  • ........ *

----


FORM FILL_LIST_HEADER.

WRITE:2'Report :' , SY-REPID,

: 85 ' Intelligroup Asia Pvt Ltd' CENTERED,

: 159 'Date :' ,SY-DATUM,

:/2'User :', SY-UNAME,

: 82 ' Hyderabad ' CENTERED ,

: 159 'Pg.No :' ,SY-PAGNO,

:/86 ' Stock Report ' CENTERED.

SKIP 2.

ENDFORM. "FILL_LIST_HEADER

&----


*& Form DISPLAY_LIST

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_LIST .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME =

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = IT_SORT[]

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

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

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_FINAL

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_LIST

&----


*& Form do_sort

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DO_SORT .

*-- Populating the sort table

IT_SORT-FIELDNAME = 'MATNR'.

IT_SORT-TABNAME = 'IT_FINAL'.

IT_SORT-UP = 'X'.

  • it_sort-subtot = 'X'.

APPEND IT_SORT.

ENDFORM. " do_sort

Thanks & Regards

Sreenivasulu P

Former Member
0 Kudos

This message was moderated.