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
417

Hi,

I am having a internal table which has vendors, company code and their corresponding data records.

I have to show this internal table in an alv list. I am using REUSE_ALV_LIST_DISPLAY function module to do this task.

But I need to show the alv list in such a way that vendor and company code should appear in header and the document details like posting date, currency etc., should come as line items.

Can you please explain me how we can do this?

Thanks & Regards,

Balaji.R

3 REPLIES 3
Read only

Former Member
0 Likes
395

then u can use REUSE_ALV_HIERSEQ_LIST_DISPLAY

see the following example:-

REPORT TEST NO STANDARD PAGE HEADING.

*"General Data

TYPE-POOLS: SLIS.

DATA: GT_OUTTABH TYPE SCARR OCCURS 0 WITH HEADER LINE,

GT_OUTTAB TYPE SFLIGHT OCCURS 0 WITH HEADER LINE,

GT_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE ,

GS_LAYOUT TYPE SLIS_LAYOUT_ALV,

GS_KEYINFO TYPE SLIS_KEYINFO_ALV,

G_REPID LIKE SY-REPID.

DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE .

DATA:

GT_EVENTS TYPE SLIS_T_EVENT,

GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,

G_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',

G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND',

G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',

G_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',

G_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.

INITIALIZATION.

  • define keyinfo

CLEAR GS_KEYINFO.

GS_KEYINFO-HEADER01 = 'CARRID'.

GS_KEYINFO-ITEM01 = 'CARRID'.

GS_KEYINFO-HEADER02 = SPACE.

GS_KEYINFO-ITEM02 = 'CONNID'.

G_REPID = SY-REPID.

GS_LAYOUT-GROUP_CHANGE_EDIT = 'X'.

GT_SORT-FIELDNAME = 'CURRCODE'.

GT_SORT-tabNAME = '1'.

GT_SORT-SPOS = 1.

GT_SORT-UP = 'X'.

GT_SORT-SUBTOT = 'X'.

GT_SORT-GROUP = '*'.

APPEND GT_SORT.

GT_SORT-FIELDNAME = 'CARRID'.

GT_SORT-tabNAME = '1'.

GT_SORT-SPOS = 2.

GT_SORT-UP = 'X'.

GT_SORT-SUBTOT = 'X'.

GT_SORT-GROUP = ' '.

APPEND GT_SORT.

GT_FIELDCAT-FIELDNAME = 'PRICE'.

GT_FIELDCAT-tabname = '2'.

GT_FIELDCAT-outputlen = 12.

GT_FIELDCAT-DO_SUM = 'X'.

APPEND GT_FIELDCAT.

GT_FIELDCAT-FIELDNAME = 'CARRID'.

GT_FIELDCAT-tabname = '1'.

GT_FIELDCAT-outputlen = 6.

GT_FIELDCAT-DO_SUM = space.

APPEND GT_FIELDCAT.

PERFORM EVENTTAB_BUILD USING GT_EVENTS[].

START-OF-SELECTION.

SELECT * FROM SCARR INTO CORRESPONDING FIELDS

OF TABLE GT_OUTTABH.

SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS

OF TABLE GT_OUTTAB.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = G_REPID

I_STRUCTURE_NAME_HEADER = 'SCARR'

I_STRUCTURE_NAME_ITEM = 'SFLIGHT'

IS_KEYINFO = GS_KEYINFO

IS_LAYOUT = GS_LAYOUT

IT_FIELDCAT = GT_FIELDCAT[]

I_TABNAME_HEADER = '1'

I_TABNAME_ITEM = '2'

IT_EVENTS = GT_EVENTS[]

IT_SORT = GT_SORT[]

TABLES

T_OUTTAB_HEADER = GT_outtabh

T_OUTTAB_ITEM = GT_outtab.

----


  • FORM EVENTTAB_BUILD *

----


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.

*

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 G_TOP_OF_PAGE TO LS_EVENT-FORM.

APPEND LS_EVENT TO RT_EVENTS.

ENDIF.

ENDFORM.

----


  • FORM TOP_OF_PAGE *

----


FORM TOP_OF_PAGE.

DATA: LS_LINE TYPE SLIS_LISTHEADER.

*

REFRESH GT_LIST_TOP_OF_PAGE.

CLEAR LS_LINE.

LS_LINE-TYP = 'H'.

LS_LINE-INFO = '<Header>'.

APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.

  • STATUS LINE: TYPE S

CLEAR LS_LINE.

LS_LINE-TYP = 'S'.

LS_LINE-KEY = '<Status1>'.

LS_LINE-INFO = GT_OUTTABH-CURRCODE.

APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.

ENDFORM.

Read only

Former Member
0 Likes
395

Hi,

For this u hav to declare two internal table , one for header details another for item details....

U can use REUSE_ALV_HIERSEQ_LIST_DISPLAY

EXPORTING

I_TABNAME_HEADER = 'HEADER'

I_TABNAME_ITEM = 'ITEM'

Declare like this....

TABLES

T_OUTTAB_HEADER = HEADER

T_OUTTAB_ITEM = ITEM

In this u find KeyInfo for that u find common filed for header table & item table u should give that in Key info then u wil get the Header data and item data......

Read only

Former Member
0 Likes
395

Hi,

Use the Sort Functionlaity in the Grid Display,u will get it.

Thanks...