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 LIST DISPLAY

Former Member
0 Likes
811

Hello,

I am using the reuse_alv_list_display function module to display data from my internal table. The internal table has following fields:

MATNR LIKE MARA-MATNR,

ZZBISMT05 LIKE MARA-ZZBISMT05,

MAKTX LIKE MAKT-MAKTX,

SPART LIKE MARA-SPART,

MMSTA LIKE MARC-MMSTA,

ERSDA LIKE MARA-ERSDA,

ERNAM LIKE MARA-ERNAM,

AENNR LIKE AENR-AENNR,

AEGRU LIKE AENR-AEGRU,

I build the field catalog and pass that to FM as well. The display shows all the column heading but it doesn't show all the data. For some reason it doesn't show data for fields MAKTX, MMSTA, AENNR and AEGRU. I don't know why. Any ideas?

1 ACCEPTED SOLUTION
Read only

former_member156446
Active Contributor
0 Likes
787

Hi Rutul

before executing put a breakpoint at the REuse_alv_list_display FM and check if the data is there in the internal table ur are passing to this FM. May be there is not data..

Or else let see ur code.. and we can fix... whats wrong..

Regards

JJ

4 REPLIES 4
Read only

former_member156446
Active Contributor
0 Likes
788

Hi Rutul

before executing put a breakpoint at the REuse_alv_list_display FM and check if the data is there in the internal table ur are passing to this FM. May be there is not data..

Or else let see ur code.. and we can fix... whats wrong..

Regards

JJ

Read only

0 Likes
787

Hi,

The data is there. The weird thing is that if i change to GRID_DISPLAY the data shows up but not in LIST_DISPLAY. The reason I am using LIST_DISPLAY is because I have to display two tables.

Here's my internal table:

TYPES: BEGIN OF WA_MAT_OUT,

MATNR LIKE MARA-MATNR,

ZZBISMT05 LIKE MARA-ZZBISMT05,

MAKTX LIKE MAKT-MAKTX,

SPART LIKE MARA-SPART,

MMSTA LIKE MARC-MMSTA,

ERSDA LIKE MARA-ERSDA,

ERNAM LIKE MARA-ERNAM,

AENNR LIKE AENR-AENNR,

AEGRU LIKE AENR-AEGRU,

END OF WA_MAT_OUT,

BEGIN OF WA_BOM_OUT,

STLNR LIKE STKO-STLNR,

STLTY LIKE STKO-STLTY,

ANDAT LIKE STKO-ANDAT,

ANNAM LIKE STKO-ANNAM,

AENNR LIKE STKO-AENNR,

AEGRU LIKE AENR-AEGRU,

END OF WA_BOM_OUT.

DATA: WS_MAT_OUT TYPE WA_MAT_OUT,

MAT_OUT TYPE TABLE OF WA_MAT_OUT,

WS_BOM_OUT TYPE WA_BOM_OUT,

BOM_OUT TYPE TABLE OF WA_BOM_OUT.

Here's how I get the data:

SELECT *

INTO CORRESPONDING FIELDS OF TABLE TMARA

FROM MARA

JOIN MAKT

ON ( MARAMATNR = MAKTMATNR )

WHERE MARA~ERSDA IN S_ERSDA

AND MAKT~SPRAS = 'E'.

IF NOT TMARA[] IS INITIAL.

SELECT *

INTO TABLE TMARC

FROM MARC

FOR ALL ENTRIES IN TMARA

WHERE MATNR = TMARA-MATNR

AND WERKS = S_WERKS.

ENDIF.

SELECT *

INTO CORRESPONDING FIELDS OF TABLE TAEOI

FROM AEOI

JOIN AENR

ON ( AENRAENNR = AEOIAENNR )

WHERE AENR~ANDAT IN S_ERSDA

AND ( AEOI~AETYP = '02' OR

AEOI~AETYP = '41' )

AND AENR~AENST = '02'.

SELECT *

INTO TABLE TSTKO

FROM STKO

WHERE ANDAT IN S_ERSDA

AND STLTY = 'M'.

and Here's how I process the data and build up MAT_OUT and BOM_OUT tables:

DATA: L_OBJKT LIKE AEOI-OBJKT.

LOOP AT TMARA.

CLEAR: WS_MAT_OUT, TAEOI.

MOVE-CORRESPONDING TMARA TO WS_MAT_OUT.

READ TABLE TAEOI WITH KEY AETYP = '41'

OBJKT = TMARA-MATNR.

IF SY-SUBRC = 0.

WS_MAT_OUT-AENNR = TAEOI-AENNR.

WS_MAT_OUT-AEGRU = TAEOI-AEGRU.

ENDIF.

READ TABLE TMARC WITH KEY MATNR = TMARA-MATNR

WERKS = S_WERKS.

IF SY-SUBRC = 0.

WS_MAT_OUT-MMSTA = MARC-MMSTA.

ENDIF.

APPEND WS_MAT_OUT TO MAT_OUT.

ENDLOOP.

LOOP AT TSTKO.

CLEAR: WS_BOM_OUT, TAEOI,L_OBJKT.

MOVE-CORRESPONDING TSTKO TO WS_BOM_OUT.

CONCATENATE 'M'

TSTKO-STLNR

INTO L_OBJKT.

READ TABLE TAEOI WITH KEY AETYP = '02'

OBJKT = L_OBJKT.

IF SY-SUBRC = 0.

WS_BOM_OUT-AENNR = TAEOI-AENNR.

WS_BOM_OUT-AEGRU = TAEOI-AEGRU.

ENDIF.

APPEND WS_BOM_OUT TO BOM_OUT.

ENDLOOP.

Then create my field catalog:

PERFORM ADD_FIELD USING 'MARA'

'MATNR'.

PERFORM ADD_FIELD USING 'MARA'

'ZZBISMT05'.

PERFORM ADD_FIELD USING 'MAKT'

'MAKTX'.

PERFORM ADD_FIELD USING 'MARA'

'SPART'.

PERFORM ADD_FIELD USING 'MARC'

'MMSTA'.

PERFORM ADD_FIELD USING 'MARA'

'ERSDA'.

PERFORM ADD_FIELD USING 'MARA'

'ERNAM'.

PERFORM ADD_FIELD USING 'AENR'

'AENNR'.

PERFORM ADD_FIELD USING 'AENR'

'AEGRU'.

FORM ADD_FIELD USING TABNAME

FIELDNAME.

DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

CLEAR: LS_FIELDCAT.

LS_FIELDCAT-TABNAME = TABNAME.

LS_FIELDCAT-FIELDNAME = FIELDNAME.

LS_FIELDCAT-REF_FIELDNAME = FIELDNAME.

LS_FIELDCAT-REF_TABNAME = TABNAME.

LS_FIELDCAT-DDICTXT = 'L'.

APPEND LS_FIELDCAT TO IT_FIELDCAT.

ENDFORM.

Then I call the ALV_LIST_DISPLAY:

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = G_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

I_STRUCTURE_NAME = 'MAT_OUT'

IS_LAYOUT = GS_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = 'A'

IS_VARIANT = GS_VARIANT

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

  • IR_SALV_LIST_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = MAT_OUT

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.

Read only

0 Likes
787

hi Rutul

Looks like this is causing the problem..


I_STRUCTURE_NAME = 'MAT_OUT'
IS_LAYOUT = GS_LAYOUT
*IT_FIELDCAT = IT_FIELDCAT[ ]* "<<<<< add the [ ]


TYPES: BEGIN OF WA_MAT_OUT,
MATNR LIKE MARA-MATNR,            "<<<<<<<<<1
ZZBISMT05 LIKE MARA-ZZBISMT05,  "<<<<<<<<<2
MAKTX LIKE MAKT-MAKTX,  "<<<<<<<<<3
SPART LIKE MARA-SPART, "<<<<<<<<<4
MMSTA LIKE MARC-MMSTA,  "<<<<<<<<5<
ERSDA LIKE MARA-ERSDA,    "<<<<<<<<6<
ERNAM LIKE MARA-ERNAM,      "<<<<<<<7<<
AENNR LIKE AENR-AENNR,      "<<<<<<<<<8
AEGRU LIKE AENR-AEGRU,       "<<<<<<<<<9
END OF WA_MAT_OUT,

BEGIN OF WA_BOM_OUT,
STLNR LIKE STKO-STLNR,     "<<<<<<<<<10
STLTY LIKE STKO-STLTY,      "<<<<<<<<<11
ANDAT LIKE STKO-ANDAT,    "<<<<<<<<<12
ANNAM LIKE STKO-ANNAM,  "<<<<<<<<<13
AENNR LIKE STKO-AENNR,   "<<<<<<<<<14
AEGRU LIKE AENR-AEGRU,   "<<<<<<<<<15
END OF WA_BOM_OUT.     

DATA: WS_MAT_OUT TYPE WA_MAT_OUT,
MAT_OUT TYPE TABLE OF WA_MAT_OUT,
WS_BOM_OUT TYPE WA_BOM_OUT,
BOM_OUT TYPE TABLE OF WA_BOM_OUT.

You dint create the field catalog for the other fields...

you have 15 fields in ur output tables and you dint call the perform to build your Filed catalog for the rest of the fields..

Edited by: Jackandjay on Jan 26, 2008 11:19 PM

Read only

0 Likes
787

No. Still not showing all the data from the table.