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

ALV?

Former Member
0 Likes
849

Can we give horizontal details in ALV.

like i have data column -wise bt i want to give some data row-wise... is it possible?

9 REPLIES 9
Read only

Former Member
0 Likes
814

Abhay,

It depends on how you are going to build your field catalog. The way you design the field catalog, the display will come like that.

If you can give us a example, how you want to display the data of the internal table, the will help us in explaining the solution.

Regards,

Ravi

Note - Please mark the helpful answers

Read only

Former Member
0 Likes
814

like i have 2 tables and want to display it in 1 final table and want to display both in final table divided by horizontal data saying the down recors are from diff table

please help

Read only

0 Likes
814

As I already said it depends on how you build the field catalog and the final table data, if you can give some sample data, then we can check on the same.

Regards,

Ravi

Read only

0 Likes
814

Hi,

in this case You can Use BLOCK LIST ALV.

Check the sample Demo program on Block List <b>BALVBT01</b>.

Regards

vijay

Read only

Former Member
0 Likes
814

Hi abhaykumar,

1. use BLOCK Alv concept.

2. The FMs are

REUSE_ALV_BLOCK_LIST_INIT

REUSE_ALV_BLOCK_LIST_APPEND

REUSE_ALV_BLOCK_LIST_DISPLAY

3. Also see documentation/help on this FMs.

regards,

amit m.

Read only

Former Member
0 Likes
814

hi,

ucan use block alvs.

here is a sample code. check it once.

tables: mara.

&----


*& type-pools declaration

&----


type-pools: slis.

&----


*& data declaration

&----


data: g_repid type sy-repid.

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "mara

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA : IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV, "makt

WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.

DATA : IT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV, "marc

WA_FIELDCAT2 TYPE SLIS_FIELDCAT_ALV.

DATA: GT_PRINT TYPE SLIS_PRINT_ALV,

WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

XS_EVENT TYPE SLIS_ALV_EVENT,

GT_XEVENTS TYPE SLIS_T_EVENT,

GT_YEVENTS TYPE SLIS_T_EVENT,

GT_ZEVENTS TYPE SLIS_T_EVENT,

WA_SORT TYPE SLIS_SORTINFO_ALV,

IT_SORT TYPE SLIS_T_SORTINFO_ALV.

DATA: BEGIN OF it_mara occurs 0,

MATNR LIKE MARA-MATNR,

MTART LIKE MARA-MTART,

MATKL LIKE MARA-MATKL,

MEINS LIKE MARA-MEINS,

NTGEW LIKE MARA-NTGEW,

END OF it_mara.

DATA: BEGIN OF IT_MAKT occurs 0,

MATNR LIKE MAKT-MATNR,

SPRAS LIKE MAKT-SPRAS,

MAKTX LIKE MAKT-MAKTX,

MAKTG LIKE MAKT-MAKTG,

END OF IT_MAKT.

DATA: BEGIN OF IT_MARC occurs 0,

MATNR LIKE MARC-MATNR,

WERKS LIKE MARC-WERKS,

LADGR LIKE MARC-LADGR,

MTVFP LIKE MARC-MTVFP,

dispr LIKE marc-dispr,

dismm LIKE marc-dismm,

dispo LIKE marc-dispo,

END OF IT_MARC.

&----


*& initialisation

&----


initialization.

g_repid = sy-repid.

&----


*& selection screen

&----


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

select-options: s_matnr for mara-matnr,

s_mtart for mara-mtart.

selection-screen end of block b.

&----


*& start of selection

&----


start-of-selection.

perform get_maradetails.

perform get_maktdetails.

perform get_marcdetails.

&----


*& Form get_maradetails

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_maradetails .

select matnr

mtart

matkl

meins

ntgew from mara

into table it_mara

where matnr in s_matnr and

mtart in s_mtart.

ENDFORM. " get_maradetails

&----


*& Form get_maktdetails

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_maktdetails .

select matnr

spras

maktx

maktg from makt into table it_makt

for all entries in it_mara

where matnr = it_mara-matnr..

ENDFORM. " get_maktdetails

&----


*& Form get_marcdetails

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_marcdetails .

select matnr

werks

ladgr

mtvfp

dispr

dismm

dispo from marc

into table it_marc

for all entries in it_mara

where matnr = it_mara-matnr.

ENDFORM. " get_marcdetails

&----


*& end of selection

&----


END-OF-SELECTION.

perform sort_list.

perform modify_fieldcat.

PERFORM EVENT_LIST.

PERFORM BLOCK_LIST.

&----


*& Form modify_fieldcat

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM modify_fieldcat .

clear wa_fieldcat.

WA_FIELDCAT-FIELDNAME = 'MATNR'.

WA_FIELDCAT-TABNAME = 'IT_MARA'.

WA_FIELDCAT-SELTEXT_L = 'MATERIAL NUM'.

WA_FIELDCAT-COL_POS = 1.

WA_FIELDCAT-OUTPUTLEN = 18.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'MTART'.

WA_FIELDCAT-TABNAME = 'IT_MARA'.

WA_FIELDCAT-SELTEXT_L = 'MAT TYPE'.

WA_FIELDCAT-COL_POS = 2.

WA_FIELDCAT-OUTPUTLEN = 5.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'MATKL'.

WA_FIELDCAT-TABNAME = 'IT_MARA'.

WA_FIELDCAT-SELTEXT_L = 'MAT GROUP'.

WA_FIELDCAT-COL_POS = 3.

WA_FIELDCAT-OUTPUTLEN = 10.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'MEINS'.

WA_FIELDCAT-TABNAME = 'IT_MARA'.

WA_FIELDCAT-SELTEXT_L = 'UNIT'.

WA_FIELDCAT-COL_POS = 4.

WA_FIELDCAT-OUTPUTLEN = 5.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'NTGEW'.

WA_FIELDCAT-TABNAME = 'IT_MARA'.

WA_FIELDCAT-DO_SUM = 'X'.

WA_FIELDCAT-SELTEXT_L = 'QUANTITY'.

WA_FIELDCAT-COL_POS = 5.

WA_FIELDCAT-OUTPUTLEN = 15.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-FIELDNAME = 'MATNR'.

WA_FIELDCAT1-TABNAME = 'IT_MAKT'.

WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUM'.

WA_FIELDCAT1-COL_POS = 1.

WA_FIELDCAT1-OUTPUTLEN = 18.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-FIELDNAME = 'SPRAS'.

WA_FIELDCAT1-TABNAME = 'IT_MAKT'.

WA_FIELDCAT1-SELTEXT_L = 'LANGUAGE'.

WA_FIELDCAT1-COL_POS = 2.

WA_FIELDCAT1-OUTPUTLEN = 2.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-FIELDNAME = 'MAKTX'.

WA_FIELDCAT1-TABNAME = 'IT_MAKT'.

WA_FIELDCAT1-SELTEXT_L = 'MAT DESC'.

WA_FIELDCAT1-COL_POS = 3.

WA_FIELDCAT1-OUTPUTLEN = 40.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-FIELDNAME = 'MAKTG'.

WA_FIELDCAT1-TABNAME = 'IT_MAKT'.

WA_FIELDCAT1-SELTEXT_L = 'GRP DESC'.

WA_FIELDCAT1-COL_POS = 4.

WA_FIELDCAT1-OUTPUTLEN = 40.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-FIELDNAME = 'MATNR'.

WA_FIELDCAT2-TABNAME = 'IT_MARC'.

WA_FIELDCAT2-SELTEXT_L = 'MATERIAL NUM'.

WA_FIELDCAT2-COL_POS = 1.

WA_FIELDCAT2-OUTPUTLEN = 18.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-FIELDNAME = 'WERKS'.

WA_FIELDCAT2-TABNAME = 'IT_MARC'.

WA_FIELDCAT2-SELTEXT_L = 'PLANT'.

WA_FIELDCAT2-COL_POS = 2.

WA_FIELDCAT2-OUTPUTLEN = 4.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-FIELDNAME = 'LADGR'.

WA_FIELDCAT2-TABNAME = 'IT_MARC'.

WA_FIELDCAT2-SELTEXT_L = 'LOAD GRP'.

WA_FIELDCAT2-COL_POS = 3.

WA_FIELDCAT2-OUTPUTLEN = 4.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-FIELDNAME = 'MTVFP'.

WA_FIELDCAT2-TABNAME = 'IT_MARC'.

WA_FIELDCAT2-SELTEXT_L = 'GRP CHK'.

WA_FIELDCAT2-COL_POS = 4.

WA_FIELDCAT2-OUTPUTLEN = 4.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-FIELDNAME = 'DISPR'.

WA_FIELDCAT2-TABNAME = 'IT_MARC'.

WA_FIELDCAT2-SELTEXT_L = 'MRP PROFILE'.

WA_FIELDCAT2-COL_POS = 5.

WA_FIELDCAT2-OUTPUTLEN = 4.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-FIELDNAME = 'DISMM'.

WA_FIELDCAT2-TABNAME = 'IT_MARC'.

WA_FIELDCAT2-SELTEXT_L = 'MRP TYPE'.

WA_FIELDCAT2-COL_POS = 6.

WA_FIELDCAT2-OUTPUTLEN = 4.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

WA_FIELDCAT2-FIELDNAME = 'DISPO'.

WA_FIELDCAT2-TABNAME = 'IT_MARC'.

WA_FIELDCAT2-SELTEXT_L = 'MRP CON'.

WA_FIELDCAT2-COL_POS = 7.

WA_FIELDCAT2-OUTPUTLEN = 4.

APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.

CLEAR WA_FIELDCAT2.

ENDFORM. " modify_fieldcat

&----


*& Form BLOCK_LIST

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BLOCK_LIST .

CLEAR WA_LAYOUT.

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

I_CALLBACK_PROGRAM = G_REPID

I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'user_command'.

  • IT_EXCLUDING =

.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT[]

I_TABNAME = 'IT_MARA'

IT_EVENTS = GT_XEVENTS

IT_SORT = IT_SORT

  • I_TEXT = ' '

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

IT_FIELDCAT = IT_FIELDCAT1

I_TABNAME = 'IT_MAKT'

IT_EVENTS = GT_YEVENTS

  • IT_SORT =

  • I_TEXT = ' '

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

IT_FIELDCAT = IT_FIELDCAT2

I_TABNAME = 'IT_MARC'

IT_EVENTS = GT_ZEVENTS

  • IT_SORT =

  • I_TEXT = ' '

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

  • I_INTERFACE_CHECK = ' '

IS_PRINT = GT_PRINT

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

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

&----


*& Form EVENT_LIST

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM EVENT_LIST .

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.

XS_EVENT-FORM = 'XTOP_OF_PAGE'.

APPEND XS_EVENT TO GT_XEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.

XS_EVENT-FORM = 'XEND_OF_PAGE'.

APPEND XS_EVENT TO GT_XEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.

XS_EVENT-FORM = 'XTOP_OF_LIST'.

APPEND XS_EVENT TO GT_XEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_LIST.

XS_EVENT-FORM = 'XEND_OF_LIST'.

APPEND XS_EVENT TO GT_XEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.

XS_EVENT-FORM = 'YEND_OF_PAGE'.

APPEND XS_EVENT TO GT_YEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.

XS_EVENT-FORM = 'YTOP_OF_PAGE'.

APPEND XS_EVENT TO GT_YEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.

XS_EVENT-FORM = 'YTOP_OF_LIST'.

APPEND XS_EVENT TO GT_YEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_LIST.

XS_EVENT-FORM = 'YEND_OF_LIST'.

APPEND XS_EVENT TO GT_YEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.

XS_EVENT-FORM = 'ZEND_OF_PAGE'.

APPEND XS_EVENT TO GT_ZEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.

XS_EVENT-FORM = 'ZTOP_OF_PAGE'.

APPEND XS_EVENT TO GT_ZEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.

XS_EVENT-FORM = 'ZTOP_OF_LIST'.

APPEND XS_EVENT TO GT_ZEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_LIST.

XS_EVENT-FORM = 'ZEND_OF_LIST'.

APPEND XS_EVENT TO GT_ZEVENTS.

CLEAR XS_EVENT.

ENDFORM. " EVENT_LIST

FORM XTOP_OF_PAGE.

WRITE:/ 'TOP OF PAGE FOR MARA'.

ENDFORM.

FORM YTOP_OF_PAGE.

WRITE:/ 'TOP OF PAGE FOR MAKT'.

ENDFORM.

FORM ZTOP_OF_PAGE.

WRITE:/ 'TOP OF PAGE FOR MARC'.

ENDFORM.

FORM XEND_OF_PAGE.

WRITE:/ 'END OF PAGE FOR MARA'.

ENDFORM.

FORM YEND_OF_PAGE.

WRITE:/ 'END OF PAGE FOR MAKT'.

ENDFORM.

FORM ZEND_OF_PAGE.

WRITE:/ 'END OF PAGE FOR MARC'.

ENDFORM.

FORM XTOP_OF_LIST.

WRITE:/ 'TOP OF LIST FOR MARA'.

ENDFORM.

FORM YTOP_OF_LIST.

WRITE:/ 'TOP OF LIST FOR MAKT'.

ENDFORM.

FORM ZTOP_OF_LIST.

WRITE:/ 'TOP OF LIST FOR MARC'.

ENDFORM.

FORM XEND_OF_LIST.

WRITE:/ 'END OF LIST FOR MARA'.

ENDFORM.

FORM YEND_OF_LIST.

WRITE:/ 'END OF LIST FOR MAKT'.

ENDFORM.

FORM ZEND_OF_LIST.

WRITE:/ 'END OF LIST FOR MARC'.

ENDFORM.

&----


*& Form sort_list

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM sort_list .

CLEAR WA_SORT.

WA_SORT-FIELDNAME = 'MTART'.

WA_SORT-SUBTOT = 'X'.

APPEND WA_SORT TO IT_SORT.

CLEAR WA_SORT.

WA_SORT-FIELDNAME = 'MATKL'.

WA_SORT-SUBTOT = 'X'.

APPEND WA_SORT TO IT_SORT.

CLEAR WA_SORT.

please award if it helps.

regards,

keerthi.

Read only

0 Likes
814

the code isnt not clear.

i have internal tables itab1 and itab2. i have to take both in 1 internal table and give the total of that, so i want to diffrentiate both the records and display.

i am pasting a classical reort which i want in ALV. plzz help.

this is my output.

<b>table 1</b>

41026 5,780

41101 13,023

41103 70,549

50001 112,933

50051 20,400

60201 129,399

60701 20,400

<i><b> table 2</b></i>

31604 9,311,222.00-

31752 35,000.00-

31808 5.00-

32601 155,100.00-

now my output should be like this:

41026 5,780

41101 13,023

41103 70,549

50001 112,933

50051 20,400

60201 129,399

60701 20,400

<u> this entry is of table 2....</u>

31604 9,311,222.00-

31752 35,000.00-

31808 5.00-

32601 155,100.00-

total = table 1 + table 2.

i will be greatful if some body helps me fast.

Read only

Former Member
0 Likes
814

Hai Go through the following COde

&----


*& Report ZALV_BLOCK *

*& *

&----


*& *

*& *

&----


REPORT ZALV_BLOCK NO STANDARD PAGE HEADING

LINE-SIZE 150

LINE-COUNT 60(4)

MESSAGE-ID Z00.

*..Type Definitions for ALV Report

TYPE-POOLS SLIS.

*..Includes

*for ICONs

*INCLUDE <ICON>.

----


  • Table/Structure declarations. *

----


TABLES: MARA,

MARC,

T134.

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

  • Types Declaration *

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

TYPES: BEGIN OF typ_mara,

MATNR TYPE MARA-MATNR,

MTART TYPE MARA-MTART,

MATKL TYPE MARA-MATKL,

MEINS TYPE MARA-MEINS,

NTGEW TYPE MARA-NTGEW,

END OF typ_mara.

TYPES: BEGIN OF typ_marc,

WERKS TYPE MARC-WERKS,

LADGR TYPE MARC-LADGR,

MTVFP TYPE MARC-MTVFP,

DISPR TYPE MARC-DISPR,

DISMM TYPE MARC-DISMM,

DISPO TYPE MARC-DISPO,

END OF typ_marc.

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

  • Intrnal tables Declaration *

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

DATA: it_mara TYPE STANDARD TABLE OF typ_mara WITH HEADER LINE.

DATA: it_marc TYPE STANDARD TABLE OF typ_marc WITH HEADER LINE.

----


  • ALV Type declaration *

----


DATA:V_NO_DATA TYPE C.

----


  • ALV Type declaration *

----


DATA:V_REPID TYPE SYREPID.

DATA: IT_FIELDCATALOG_MARA TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCATALOG_MARA TYPE SLIS_FIELDCAT_ALV,

IT_FIELDCATALOG_MARC TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCATALOG_MARC TYPE SLIS_FIELDCAT_ALV,

IT_FIELDCATALOG_MATKL TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCATALOG_MATKL TYPE SLIS_FIELDCAT_ALV,

WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

IT_EVENTS TYPE SLIS_T_EVENT,

WA_EVENTS TYPE SLIS_ALV_EVENT,

WA_KEYINFO TYPE SLIS_KEYINFO_ALV.

----


  • Selection Screen. *

----


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

SELECT-OPTIONS: S_MATNR FOR MARA-MATNR ,

S_MTART FOR MARA-MTART .

SELECTION-SCREEN END OF BLOCK B1.

----


  • Event:Initialization *

----


INITIALIZATION.

*Report Name

V_REPID = SY-REPID.

----


  • AT Selection Screen. *

----


AT SELECTION-SCREEN.

----


  • Event: Start-of-Selection *

----


START-OF-SELECTION.

PERFORM FETCH_DATA.

----


  • Event: End-of-Selection *

----


END-OF-SELECTION.

IF V_NO_DATA = ''.

MESSAGE I010 WITH 'NO DATA TO DISPLAY ! '.

EXIT.

ELSE.

PERFORM FILL_FIELDCAT_MARA.

  • PERFORM FILL_FIELDCAT_MAKT.

PERFORM FILL_FIELDCAT_MARC.

PERFORM FILL_LAYOUT.

PERFORM CALL_ALV_INIT.

PERFORM ADD_LISTS.

PERFORM DISPLAY_BLOCK_LIST.

ENDIF.

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

*

  • FORM DEFINITIONS *

*

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

&----


*& Form FETCH_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_DATA.

SELECT MATNR

MTART

MATKL

MEINS

NTGEW

INTO CORRESPONDING FIELDS OF TABLE IT_MARA

FROM MARA

WHERE MATNR IN S_MATNR

AND MTART IN S_MTART.

IF SY-SUBRC <> 0.

V_NO_DATA = ''.

ELSE.

V_NO_DATA = 'X'.

SELECT WERKS

LADGR

MTVFP

DISPR

DISMM

DISPO

INTO CORRESPONDING FIELDS OF TABLE IT_MARC

FROM MARC

WHERE MATNR IN S_MATNR.

ENDIF.

ENDFORM. " FETCH_DATA

*

&----


*& Form FILL_FIELDCAT_MARA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_FIELDCAT_MARA.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = V_REPID

  • I_INTERNAL_TABNAME =

I_STRUCTURE_NAME = 'IT_MARA'

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = V_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FIELDCATALOG_MARA

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_FIELDCATALOG_MARA INTO WA_FIELDCATALOG_MARA.

CASE WA_FIELDCATALOG_MARA-FIELDNAME.

WHEN 'MATNR'.

WA_FIELDCATALOG_MARA-COL_POS = '1'.

WA_FIELDCATALOG_MARA-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARA-SELTEXT_L = 'Material NO'.

WHEN 'MTART'.

WA_FIELDCATALOG_MARA-COL_POS = '2'.

WA_FIELDCATALOG_MARA-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARA-SELTEXT_L = 'Mat Type'.

WHEN 'MATKL'.

WA_FIELDCATALOG_MARA-COL_POS = '3'.

WA_FIELDCATALOG_MARA-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARA-SELTEXT_L = 'Mat Group'.

WHEN 'MEINS'.

WA_FIELDCATALOG_MARA-COL_POS = '4'.

WA_FIELDCATALOG_MARA-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARA-SELTEXT_L = 'Measure Unit'.

WHEN 'NTGEW'.

WA_FIELDCATALOG_MARA-COL_POS = '5'.

WA_FIELDCATALOG_MARA-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARA-SELTEXT_L = 'Net Wt'.

WA_FIELDCATALOG_MARA-DO_SUM = 'X'.

ENDCASE.

MODIFY IT_FIELDCATALOG_MARA FROM WA_FIELDCATALOG_MARA INDEX SY-TABIX.

ENDLOOP.

ENDFORM. " FILL_FIELDCAT_MARA

&----


*& Form FILL_FIELDCAT_MARC

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_FIELDCAT_MARC.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = V_REPID

I_INTERNAL_TABNAME = 'IT_MARC'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = V_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FIELDCATALOG_MARC

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_FIELDCATALOG_MARC INTO WA_FIELDCATALOG_MARC.

CASE WA_FIELDCATALOG_MARC-FIELDNAME.

WHEN 'WERKS'.

WA_FIELDCATALOG_MARC-COL_POS = '1'.

WA_FIELDCATALOG_MARC-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARC-SELTEXT_L = 'PLANT NAME'.

WHEN 'LADGR'.

WA_FIELDCATALOG_MARC-COL_POS = '2'.

WA_FIELDCATALOG_MARC-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARC-SELTEXT_L = 'Loading Group'.

WHEN 'MTVFP'.

WA_FIELDCATALOG_MARC-COL_POS = '3'.

WA_FIELDCATALOG_MARC-OUTPUTLEN = '20'.

WA_FIELDCATALOG_MARC-SELTEXT_L = 'Checking group'.

WHEN 'DISPR'.

WA_FIELDCATALOG_MARC-COL_POS = '4'.

WA_FIELDCATALOG_MARC-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARC-SELTEXT_L = 'MRP PROFILE'.

WHEN 'DISMM'.

WA_FIELDCATALOG_MARC-COL_POS = '5'.

WA_FIELDCATALOG_MARC-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARC-SELTEXT_L = 'MRP TYPE'.

WHEN 'DISPO'.

WA_FIELDCATALOG_MARC-COL_POS = '6'.

WA_FIELDCATALOG_MARC-OUTPUTLEN = '15'.

WA_FIELDCATALOG_MARC-SELTEXT_L = 'MRP CONTROLLER'.

ENDCASE.

MODIFY IT_FIELDCATALOG_MARC FROM WA_FIELDCATALOG_MARC INDEX SY-TABIX.

ENDLOOP.

ENDFORM. " FILL_FIELDCAT_MARC

&----


*& Form FILL_FIELDCAT_MAKT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_FIELDCAT_MAKT.

ENDFORM. " FILL_FIELDCAT_MAKT

&----


*& Form CALL_ALV_INIT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM CALL_ALV_INIT.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IT_EXCLUDING =

.

ENDFORM. " CALL_ALV_INIT

&----


*& Form ADD_LISTS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM ADD_LISTS.

*ADD IT_MARA TABLE TO THE OUTPUT

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCATALOG_MARA

I_TABNAME = 'IT_MARA'

IT_EVENTS = IT_EVENTS

  • IT_SORT =

  • I_TEXT = ' '

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.

**ADD IT_MARC TABLE TO THE OUTPUT

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCATALOG_MARC

I_TABNAME = 'IT_MARC'

IT_EVENTS = IT_EVENTS

  • IT_SORT =

  • I_TEXT = ' '

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.

ENDFORM. " ADD_LISTS

&----


*& Form FILL_LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_LAYOUT.

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.

ENDFORM. " FILL_LAYOUT

&----


*& Form DISPLAY_BLOCK_LIST

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_BLOCK_LIST.

  • WA_KEYINFO-HEADER01 = 'MATNR'.

  • WA_KEYINFO-ITEM01 = 'MATNR'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

  • EXPORTING

  • I_INTERFACE_CHECK = ' '

  • IS_PRINT =

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

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

Thanks & regards

Sreenivasulu P

Read only

Former Member
0 Likes
814

Hi abhay,

1. This simple program

will display two internal tables.

a) ITAB having data of T001

b) PTAB having data of T000

2. Just copy paste in new program.

3.

REPORT zam_temp54 .

type-pools : slis.

data : alvfc type slis_t_fieldcat_alv.

data : alvly type slis_layout_alv.

data : alvev type slis_t_event .

*----


DATA : BEGIN OF itab OCCURS 0.

include structure t001.

DATA: END OF itab.

DATA : BEGIN OF ptab OCCURS 0.

INCLUDE STRUCTURE t000.

DATA: END OF ptab..

*----


PARAMETERS : a TYPE c.

*----


start-of-selection.

*----


SELECT DATA

SELECT * FROM t001 into table itab.

select * from t000 into table ptab.

*----


INIT BLOCK ALV

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

i_callback_program = sy-repid.

*----


ADD INTERNAL TABLE ITAB

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'ITAB'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = ALVFC.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = alvly

it_fieldcat = alvfc

i_tabname = 'ITAB'

it_events = alvev

TABLES

t_outtab = ITAB

EXCEPTIONS

program_error = 1

maximum_of_appends_reached = 2

OTHERS = 3.

*----


ADD INTERNAL TABLE PTAB

REFRESH ALVFC[].

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'PTAB'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = ALVFC.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = alvly

it_fieldcat = alvfc

i_tabname = 'PTAB'

it_events = alvev

TABLES

t_outtab = PTAB

EXCEPTIONS

program_error = 1

maximum_of_appends_reached = 2

OTHERS = 3.

*----


DISPLAY

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

EXCEPTIONS

program_error = 1

OTHERS = 2.

regards,

amit m.