‎2007 May 16 9:32 PM
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
‎2007 May 16 9:45 PM
wa_fieldcat-fieldname = 'MATNO'
wa_fieldcat-tabname = 'ITAB'.
see the output..
‎2007 May 16 9:44 PM
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?
‎2007 May 16 9:45 PM
wa_fieldcat-fieldname = 'MATNO'
wa_fieldcat-tabname = 'ITAB'.
see the output..
‎2007 May 16 9:49 PM
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.
‎2007 May 16 9:50 PM
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.
‎2007 May 16 9:51 PM
Please use function module REUSE_ALV_FIELDCATALOG_MERGE. Never attempt to create the catelog by appending to the catelog table.
‎2007 May 16 9:59 PM
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
‎2007 May 16 10:11 PM
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
‎2007 May 16 10:18 PM
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
‎2007 May 16 10:24 PM
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.
‎2007 May 16 10:26 PM
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
‎2007 May 16 10:41 PM
‎2007 May 16 9:48 PM
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.