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 issue

Former Member
0 Likes
1,370

Hi there,

data: begin of wa,

matnr type mara-matnr,

ersda type mara-ersda,

ernam type mara-ernam,

aenam type mara-aenam,

werks type marc-werks,

pstat type marc-pstat,

lfmon type mard-lfmon,

end of wa.

data: itab like table of wa.

for this i have obviously given the wa_fieldcat-fieldname = 'MATNR'.

and the report displays output fine.

But if i have a different name in the declaration like (changes in bold)

<b>matno</b> type mara-matnr...

<b>iersda</b> type mara-ersda

and obviously wa_fieldcat-fieldname = '<b>MATNO</b>'.

My report displays blank grid with out any data.

Can some plz tell me the possible reason for this?

Would reward.

Thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,349

wa_fieldcat-fieldname = 'MATNO'

wa_fieldcat-tabname = 'ITAB'.

see the output..

12 REPLIES 12
Read only

Former Member
0 Likes
1,349

Are you using function module REUSE_ALV_FIELDCATALOG_MERGE to get the field catalog or are you writing code to append data to the catalog table?

Read only

Former Member
0 Likes
1,350

wa_fieldcat-fieldname = 'MATNO'

wa_fieldcat-tabname = 'ITAB'.

see the output..

Read only

0 Likes
1,349

hi,

I have only used REUSE_ALV_GRId_DISPLAY.

and filled the fieldcat

clear WA_fieldcat.

WA_fieldcat-fieldname = 'ERSDA'. (" IERSDA doesn't work though declared- accepting only this")

WA_fieldcat-ref_fieldname = 'ERSDA'.

WA_fieldcat-ref_tabname = 'MARA'.

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Date Created'.

APPEND WA_fieldcat TO itab_fieldcat.

Read only

0 Likes
1,349

do not use

WA_fieldcat-ref_fieldname = 'ERSDA'.

WA_fieldcat-ref_tabname = 'MARA'.

code should be :

clear WA_fieldcat.

WA_fieldcat-fieldname = 'ERSDA'. (" IERSDA doesn't work though declared- accepting only this")

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Date Created'.

APPEND WA_fieldcat TO itab_fieldcat.

Read only

0 Likes
1,349

Please use function module REUSE_ALV_FIELDCATALOG_MERGE. Never attempt to create the catelog by appending to the catelog table.

Read only

0 Likes
1,349

This code really works. But if I make changes to it like i mentioned it doen't work and gives me blank grid. I am just placing the changes in comments and in bold text.....can some one run the report and check the changes....u wud c blank fields..no data.

(just replace the text before boldtext with bold text and run)

REPORT ZSC18 .

type-pools: slis.

tables: mara, marc, mard.

data:

itab_fieldcat type slis_t_fieldcat_alv,

gs_layout type slis_layout_alv,

wa_fieldcat type line of slis_t_fieldcat_alv,

g_repid like sy-repid.

selection-screen begin of block B1.

SELECT-OPTIONS: mat_no FOR mara-matnr.

selection-screen end of block B1.

data: begin of wa,

matnr type mara-matnr, <b>( "matno type mara-matnr)</b>

ersda type mara-ersda, <b>(" iersda type mara-matnr)</b>

ernam type mara-ernam,

aenam type mara-aenam,

werks type marc-werks,

pstat type marc-pstat,

lfmon type mard-lfmon,

end of wa.

data: itab like table of wa.

SELECT amatnr aersda aernam aaenam cwerks cpstat d~lfmon

INTO CORRESPONDING FIELDS OF TABLE itab

UP TO 13 rows

FROM mara AS a

INNER JOIN marc AS c ON amatnr = cmatnr

INNER JOIN mard AS d ON cmatnr = dmatnr

WHERE a~matnr IN MAT_NO.

start-of-selection.

*fill the fieldcatalogue

perform fieldcat_fill.

*Detail for the layout of the list.

perform layout_allg_build using gs_layout.

*show data as ALV-list.

perform alv_show.

&----


*& Form alv_show

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv_show.

CALL FUNCTION 'REUSE_ALV_GRID_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_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = GS_LAYOUT

IT_FIELDCAT = ITAB_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • 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

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT =

  • IT_HYPERLINK =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ITAB

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

&----


*& Form fieldcat_fill

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fieldcat_fill.

clear itab_fieldcat.

clear wa_fieldcat.

WA_fieldcat-fieldname = 'MATNR'. <b>("wa_fieldcat-fieldname = 'MATNO'.)</b> WA_fieldcat-ref_fieldname = 'MATNR'.

WA_fieldcat-ref_tabname = 'MARA'.

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Material No'

APPEND WA_fieldcat TO itab_fieldcat.

clear WA_fieldcat.

WA_fieldcat-fieldname = 'ERSDA'. <b>("wa_fieldcat-fieldname = 'IERSDA'.)</b>

WA_fieldcat-ref_fieldname = 'ERSDA'.

WA_fieldcat-ref_tabname = 'MARA'.

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Date Created'.

APPEND WA_fieldcat TO itab_fieldcat.

clear WA_fieldcat.

WA_fieldcat-fieldname = 'ERNAM'.

WA_fieldcat-ref_fieldname = 'ERNAM'.

WA_fieldcat-ref_tabname = 'MARA'.

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Created By'.

APPEND WA_fieldcat TO itab_fieldcat.

clear WA_fieldcat.

WA_fieldcat-fieldname = 'AENAM'.

WA_fieldcat-ref_fieldname = 'AENAM'.

WA_fieldcat-ref_tabname = 'MARA'.

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Changed By'.

APPEND WA_fieldcat TO itab_fieldcat.

clear WA_fieldcat.

WA_fieldcat-fieldname = 'IWERKS'.

WA_fieldcat-ref_fieldname = 'WERKS'.

WA_fieldcat-ref_tabname = 'MARC'.

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Plant'.

APPEND WA_fieldcat TO itab_fieldcat.

clear WA_fieldcat.

WA_fieldcat-fieldname = 'PSTAT'.

WA_fieldcat-ref_fieldname = 'PSTAT'.

WA_fieldcat-ref_tabname = 'MARC'.

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Status'.

APPEND WA_fieldcat TO itab_fieldcat.

clear WA_fieldcat.

WA_fieldcat-fieldname = 'LFMON'.

WA_fieldcat-ref_fieldname = 'LFMON'.

WA_fieldcat-ref_tabname = 'MARD'.

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Current Period'.

APPEND WA_fieldcat TO itab_fieldcat.

ENDFORM. " fieldcat_fill

&----


*& Form layout_allg_build

&----


  • text

----


  • -->P_GS_LAYOUT text

----


FORM layout_allg_build USING GS_LAYOUT type slis_layout_alv.

gs_layout-zebra = 'X'.

gs_layout-colwidth_optimize = 10.

ENDFORM. " layout_allg_build

Read only

0 Likes
1,349

Hi Alchemi,

WA_fieldcat-fieldname = 'MATNR'. ("wa_fieldcat-fieldname = 'MATNO'.)

<b>* WA_fieldcat-ref_fieldname = 'MATNR'.

  • WA_fieldcat-ref_tabname = 'MARA'.</b>WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Material No'

APPEND WA_fieldcat TO itab_fieldcat.

clear WA_fieldcat.

WA_fieldcat-fieldname = 'ERSDA'. ("wa_fieldcat-fieldname = 'IERSDA'.)

<b>* WA_fieldcat-ref_fieldname = 'ERSDA'.

  • WA_fieldcat-ref_tabname = 'MARA'.</b>

WA_fieldcat-tabname = 'ITAB'.

WA_fieldcat-seltext_s = 'Date Created'.

APPEND WA_fieldcat TO itab_fieldcat.

Comment the highlighted part.

Regards,

Ravi

Read only

0 Likes
1,349

See the below code :

REPORT zsc18 .

TYPE-POOLS: slis.

TABLES: mara, marc, mard.

DATA:

itab_fieldcat TYPE slis_t_fieldcat_alv,

gs_layout TYPE slis_layout_alv,

wa_fieldcat TYPE LINE OF slis_t_fieldcat_alv,

g_repid LIKE sy-repid.

SELECTION-SCREEN BEGIN OF BLOCK b1.

SELECT-OPTIONS: mat_no FOR mara-matnr.

SELECTION-SCREEN END OF BLOCK b1.

DATA: BEGIN OF itab OCCURS 0,

matno TYPE mara-matnr," ( "matno type mara-matnr)

iersda TYPE mara-ersda, "(" iersda type mara-matnr)

ernam TYPE mara-ernam,

aenam TYPE mara-aenam,

werks TYPE marc-werks,

pstat TYPE marc-pstat,

lfmon TYPE mard-lfmon,

END OF itab.

*data: itab like table of wa.

START-OF-SELECTION.

SELECT amatnr aersda aernam aaenam cwerks cpstat d~lfmon

INTO TABLE itab

UP TO 13 ROWS

FROM mara AS a

INNER JOIN marc AS c ON amatnr = cmatnr

INNER JOIN mard AS d ON cmatnr = dmatnr

WHERE a~matnr IN mat_no.

*fill the fieldcatalogue

PERFORM fieldcat_fill.

*Detail for the layout of the list.

PERFORM layout_allg_build USING gs_layout.

*show data as ALV-list.

PERFORM alv_show.

&----


*& Form alv_show

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv_show.

CALL FUNCTION 'REUSE_ALV_GRID_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_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

is_layout = gs_layout

it_fieldcat = itab_fieldcat[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • 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

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT =

  • IT_HYPERLINK =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = itab

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

&----


*& Form fieldcat_fill

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fieldcat_fill.

CLEAR itab_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'MATNO'. "("wa_fieldcat-fieldname = 'MATNO'.)

*WA_fieldcat-ref_fieldname = 'MATNR'.

*WA_fieldcat-ref_tabname = 'MARA'.

wa_fieldcat-tabname = 'ITAB'.

wa_fieldcat-seltext_s = 'Material No'.

APPEND wa_fieldcat TO itab_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'IERSDA'. "("wa_fieldcat-fieldname = 'IERSDA'.)

*WA_fieldcat-ref_fieldname = 'ERSDA'.

*WA_fieldcat-ref_tabname = 'MARA'.

wa_fieldcat-tabname = 'ITAB'.

wa_fieldcat-seltext_s = 'Date Created'.

APPEND wa_fieldcat TO itab_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'ERNAM'.

*WA_fieldcat-ref_fieldname = 'ERNAM'.

*WA_fieldcat-ref_tabname = 'MARA'.

wa_fieldcat-tabname = 'ITAB'.

wa_fieldcat-seltext_s = 'Created By'.

APPEND wa_fieldcat TO itab_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'AENAM'.

*WA_fieldcat-ref_fieldname = 'AENAM'.

*WA_fieldcat-ref_tabname = 'MARA'.

wa_fieldcat-tabname = 'ITAB'.

wa_fieldcat-seltext_s = 'Changed By'.

APPEND wa_fieldcat TO itab_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'IWERKS'.

wa_fieldcat-ref_fieldname = 'WERKS'.

wa_fieldcat-ref_tabname = 'MARC'.

wa_fieldcat-tabname = 'ITAB'.

wa_fieldcat-seltext_s = 'Plant'.

APPEND wa_fieldcat TO itab_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'PSTAT'.

wa_fieldcat-ref_fieldname = 'PSTAT'.

wa_fieldcat-ref_tabname = 'MARC'.

wa_fieldcat-tabname = 'ITAB'.

wa_fieldcat-seltext_s = 'Status'.

APPEND wa_fieldcat TO itab_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'LFMON'.

wa_fieldcat-ref_fieldname = 'LFMON'.

wa_fieldcat-ref_tabname = 'MARD'.

wa_fieldcat-tabname = 'ITAB'.

wa_fieldcat-seltext_s = 'Current Period'.

APPEND wa_fieldcat TO itab_fieldcat.

ENDFORM. " fieldcat_fill

&----


*& Form layout_allg_build

&----


  • text

----


  • -->P_GS_LAYOUT text

----


FORM layout_allg_build USING gs_layout TYPE slis_layout_alv.

gs_layout-zebra = 'X'.

gs_layout-colwidth_optimize = 10.

ENDFORM. " layout_allg_build

Reward Points if it is useful

Thanks

Seshu

Read only

0 Likes
1,349

Hi Alchemi,

This has nothing to do with the ALV. This has got to do with the 'INTO CORRESPONDING FIELDS OF TABLE itab' in your select statement. When you use 'INTO CORRESPONDING FIELDS OF TABLE itab' SAP puts data into fields with matching names. data from field MATNR will only be put into field in internal table ITAB with name MATNR.

The solution to this would be to replace

'INTO CORRESPONDING FIELDS OF TABLE itab'

with

'INTO TABLE itab'

This should solve your problem.

Read only

0 Likes
1,349

Hi Mark,

That was an excellent observation!!!!

Alchemi, that is it...you can assign him a 10 and close the thread. He deserves it.

Regards,

Ravi

Read only

0 Likes
1,349

Thank you all for active responses.....

Read only

Former Member
0 Likes
1,349

When using function module REUSE_ALV_FIELDCATALOG_MERGE to create your field catalog please define your structure with LIKE instead of type.

  DATA: BEGIN OF wa,
          matnr LIKE mara-matnr,
          ersda LIKE mara-ersda,
          ernam LIKE mara-ernam,
          aenam LIKE mara-aenam,
          werks LIKE marc-werks,
          pstat LIKE marc-pstat,
          lfmon LIKE mard-lfmon,
        END OF wa.

Instead of

data: begin of wa,
matnr type mara-matnr,
ersda type mara-ersda,
ernam type mara-ernam,
aenam type mara-aenam,
werks type marc-werks,
pstat type marc-pstat,
lfmon type mard-lfmon,
end of wa.

Let me know if this helps.