‎2007 Sep 20 9:49 AM
Hi,
I have created an alv program.When I try to execue that program in the o/p all the field names are getting displayed,but it is giving list contains no data.Why is this happening?
Regards,
Hema
‎2007 Sep 20 9:51 AM
Check if the internal table u passed to ALV is populated with data.....
If it is populated...then refer to the following program and output the data.....
REPORT ZALV .
TABLES : VBAP.
TYPE-POOLS : SLIS.
DATA : BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
ERNAM LIKE VBAP-ERNAM,
ERDAT LIKE VBAP-ERDAT.
DATA : END OF ITAB.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.
START-OF-SELECTION.
SELECT VBELN
POSNR
ERNAM
ERDAT
FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE ITAB
WHERE VBELN IN S_VBELN.
PERFORM MODIFY_CAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
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 = WA_LAYOUT
IT_FIELDCAT = IT_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_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
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.
*END-OF-SELECTION.
*LOOP AT ITAB.
*WRITE : / ITAB-VBELN,
ITAB-POSNR,
ITAB-ERNAM,
ITAB-ERDAT.
*ENDLOOP.
&----
*& Form MODIFY_CAT
&----
text
----
--> p1 text
<-- p2 text
----
FORM MODIFY_CAT .
WA_FIELDCAT-TABNAME = 'ITAB'..
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-SELTEXT_L = 'SALES DOC'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-OUTPUTLEN = 10.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'ITAB'..
WA_FIELDCAT-FIELDNAME = 'POSNR'.
WA_FIELDCAT-SELTEXT_L = 'ITEM'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-OUTPUTLEN = 6.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'ITAB'..
WA_FIELDCAT-FIELDNAME = 'ERNAM'.
WA_FIELDCAT-SELTEXT_L = 'PERSON NAME'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-OUTPUTLEN = 12.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'ITAB'..
WA_FIELDCAT-FIELDNAME = 'ERDAT'.
WA_FIELDCAT-SELTEXT_L = 'DATE'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-OUTPUTLEN = 8.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_LAYOUT-ZEBRA = 'X'.
*WA_LAYOUT-INFO_FIELDNAME = 'COLOR'.
ENDFORM. " MODIFY_CAT
Regards
Vasu
‎2007 Sep 20 9:54 AM
Hi Hema,
Please check out your internal table whether that has got some data.
If your internal table is having the data, is it passed appropriately to the function module.
Check the fieldcatalog description to suite your internal table / the data format.
Kiran.
‎2007 Sep 20 10:06 AM
simple, if the internal table has no data, it will give like that only. put a break point at select and see if the itab is populated with data or not
‎2007 Sep 20 10:09 AM
Hi
i think with your logic you don't have any data retrived into ur final internal table
by going to debugging you can find whats the problem is
if you have ur code then send me i can find it for u
reward if usefull
‎2007 Sep 20 10:17 AM
Hi,
I am sending my code.Could you pls find where the error is happening?
REPORT ZFII221_ICAT_CUSTOMER NO STANDARD PAGE HEADING
LINE-SIZE 255
LINE-COUNT 65
MESSAGE-ID zfi.
************************************************************************
Table Definitions *
----
TYPE-POOLS: slis.
TABLES: KNVP,KNVV.
************************************************************************
Type Definitions *
----
TYPES: BEGIN OF d_knvp,
kunnr TYPE knvp-kunnr, "Customer Number 1
vkorg TYPE knvp-vkorg, "Sales Organization
vtweg TYPE knvp-vtweg, "Distribution Channel
spart TYPE knvp-spart, "Division
parvw TYPE knvp-parvw, "Partner function
parza TYPE knvp-parza, "Partner counter
END OF d_knvp.
TYPES: BEGIN OF d_knvv,
kunnr TYPE knvv-kunnr, "Customer Number 1
vkorg TYPE knvv-vkorg, "Sales Organization
vtweg TYPE knvv-vtweg, "Distribution Channel
spart TYPE knvv-spart, "Division
loevm TYPE knvv-loevm, "Deletion flag for customer(sales level)
END OF d_knvv.
TYPES: BEGIN OF d_output,
kunnr TYPE knvp-kunnr, "Customer Number 1
vkorg TYPE knvp-vkorg, "Sales Organization
vtweg TYPE knvp-vtweg, "Distribution Channel
spart TYPE knvp-spart, "Division
parvw TYPE knvp-parvw, "Partner function
parza TYPE knvp-parza, "Partner counter
loevm TYPE knvv-loevm, "Deletion flag for customer(sales level)
END OF d_output.
************************************************************************
Data Definitions *
----
Internal Tables
DATA: t_knvp TYPE TABLE OF d_knvp,
t_knvv TYPE TABLE OF d_knvv,
t_output TYPE TABLE OF d_output.
----
data definition for ALV
----
DATA: t_fcat TYPE slis_t_fieldcat_alv,
t_event TYPE slis_t_event,
f_layout TYPE slis_layout_alv,
v_repid LIKE sy-repid.
*----
**
Selection screen
*----
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : s_kunnr FOR knvp-kunnr,
s_vkorg FOR knvp-vkorg,
s_loevm FOR knvv-loevm.
START-OF-SELECTION.
PERFORM data_retrieval.
END-OF-SELECTION.
PERFORM build_cat USING t_fcat.
PERFORM Layout_build.
PERFORM display_list_layout.
FORM data_retrieval.
SELECT knvp~kunnr
knvp~vkorg
knvp~vtweg
knvp~spart
knvp~parvw
knvp~parza
knvv~loevm
INTO TABLE t_output
FROM knvp
INNER JOIN knvv ON
knvpkunnr = knvvkunnr AND
knvpvkorg = knvvvkorg AND
knvpvtweg = knvvvtweg AND
knvpspart = knvvspart
WHERE knvp~kunnr IN s_kunnr
AND knvp~vkorg IN s_vkorg
AND knvp~vtweg = knvp-vtweg
AND knvp~spart = knvp-spart
AND knvp~parvw = knvp-parvw
AND knvp~parza = knvp-parza
AND knvv~loevm IN s_loevm.
ENDFORM. "data_retrieval
&----
*& Form build_cat
&----
text
----
--> p1 text
<-- p2 text
----
FORM build_cat USING temp_fcat TYPE slis_t_fieldcat_alv.
DATA:w_fcat TYPE slis_fieldcat_alv.
*-Customer Number 1
CLEAR w_fcat.
w_fcat-fieldname = 'KUNNR'.
w_fcat-reptext_ddic = 'Customer Number1'.
w_fcat-outputlen = 10.
APPEND w_fcat TO temp_fcat.
*-Sales Organization
CLEAR w_fcat.
w_fcat-fieldname = 'VKORG'.
w_fcat-reptext_ddic = 'Sales Organization'.
w_fcat-outputlen = 4.
APPEND w_fcat TO temp_fcat.
*-Partner Function
CLEAR w_fcat.
w_fcat-fieldname = 'PARVW'.
w_fcat-reptext_ddic = 'Partner Function'.
w_fcat-outputlen = 2.
w_fcat-no_zero = 'X'.
APPEND w_fcat TO temp_fcat.
*-Customer Number of bussiness partner
CLEAR w_fcat.
w_fcat-fieldname = 'KUNN2'.
w_fcat-reptext_ddic = 'Customer Number of bussiness partner'.
w_fcat-outputlen = 10.
w_fcat-no_zero = 'X'.
APPEND w_fcat TO temp_fcat.
*-Deletion flag for customer(sales level)
CLEAR w_fcat.
w_fcat-fieldname = 'LOEVM'.
w_fcat-reptext_ddic = 'Deletion flag for customer'.
w_fcat-outputlen = 1.
APPEND w_fcat TO temp_fcat.
ENDFORM. "build_cat
&----
*& Form layout_build
&----
text
----
--> p1 text
<-- p2 text
----
FORM layout_build .
f_layout-zebra = 'X'.
f_layout-colwidth_optimize = 'X'. "Optimize column widths
f_layout-window_titlebar = 'Customer Download'.
ENDFORM. " Layout_build
&----
*& Form display_list_layout
&----
text
----
--> p1 text
<-- p2 text
----
form display_list_layout .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = v_repid
IS_LAYOUT = f_layout
IT_FIELDCAT = t_fcat
I_SAVE = 'A'
TABLES
t_outtab = t_output
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_list_layout
Regards,
Hema
‎2007 Sep 20 10:22 AM
hey, no body can do anything for this bcos there may be data for them but not for u. u need to debug urself by putting break point at the selct statement and find out whether data is coming into the table t_output.