04-05-2006 8:28 AM
Hi experts,
I am trying to get my output in ALV GRID .For that
i have declared all fields like below.
NOte : I have not copied full code .Copied required code for ALV display only
TYPE-POOLS: slis.
DATA: ws_title TYPE lvc_title VALUE 'ALV Display'.
*declaration for fieldcatalog
DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
ls_fieldcat TYPE slis_fieldcat_alv.
LS_FIELDCAT-FIELDNAME = 'qmnum'.
LS_FIELDCAT-TABNAME = 'itab1' .
LS_FIELDCAT-SELTEXT_L = 'Notification'.
APPEND LS_FIELDCAT TO I_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'bstnk'.
LS_FIELDCAT-TABNAME = 'itab1' .
LS_FIELDCAT-SELTEXT_L = 'Trans REF'.
APPEND LS_FIELDCAT TO I_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'kunum'.
LS_FIELDCAT-TABNAME = 'itab1' .
LS_FIELDCAT-SELTEXT_L = 'Customer'.
APPEND LS_FIELDCAT TO I_FIELDCAT.
CLEAR LS_FIELDCAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZIRO_AW_3006'
I_STRUCTURE_NAME = 'ITAB1'
I_GRID_TITLE = ws_title
IT_FIELDCAT = i_fieldcat "[]
I_SAVE = 'A'
TABLES
T_OUTTAB = itab1
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.
When i am debugging the code I am able to see the data
in my internal table itab1 but when i excute no data is getting displayed in output. Till that function module i am able to see the data in itab1.
Can you suggest me what is the problem in this
04-05-2006 8:33 AM
if itab1 is a table with header line then give <b>itab1[].</b>
Abdul
04-05-2006 8:42 AM
Hi,
Try using
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZIRO_AW_3006'
I_STRUCTURE_NAME = 'ITAB1'
I_GRID_TITLE = ws_title
IT_FIELDCAT = i_fieldcat "[]
I_SAVE = 'A'
TABLES
T_OUTTAB = itab1<b>[]</b>
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
Regards,
Shashank
04-05-2006 8:42 AM
Hi Murali,
there are so many changes to your code , try to give column position also.
<b>LS_FIELDCAT-FIELDNAME = 'QMNUM'. "qmnum
LS_FIELDCAT-TABNAME = 'ITAB1' . "itab1</b>
<b>LS_FIELDCAT-COL_POS = 1.</b>
LS_FIELDCAT-SELTEXT_L = 'Notification'.
APPEND LS_FIELDCAT TO I_FIELDCAT.
CLEAR LS_FIELDCAT.
<b>LS_FIELDCAT-FIELDNAME = 'BSTNK'. "bstnk
LS_FIELDCAT-TABNAME = 'ITAB1' .</b>
<b>LS_FIELDCAT-COL_POS = 2.</b>
LS_FIELDCAT-SELTEXT_L = 'Trans REF'.
APPEND LS_FIELDCAT TO I_FIELDCAT.
CLEAR LS_FIELDCAT.
<b>LS_FIELDCAT-FIELDNAME = 'KUNUM'. "kunum
LS_FIELDCAT-TABNAME = 'ITAB1' . "itab1</b>
<b>LS_FIELDCAT-COL_POS = 3.</b>
LS_FIELDCAT-SELTEXT_L = 'Customer'.
APPEND LS_FIELDCAT TO I_FIELDCAT.
CLEAR LS_FIELDCAT.
check this sample code...
REPORT ZTEST_ALV_CHECK .
TYPE-POOLS: SLIS.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
L_LAYOUT type slis_layout_alv,
x_events type slis_alv_event,
it_events type SLIS_T_EVENT.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
CHK(1),
END OF ITAB.
SELECT VBELN
POSNR
FROM VBAP
UP TO 20 ROWS
INTO TABLE ITAB.
X_FIELDCAT-FIELDNAME = 'CHK'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
X_FIELDCAT-INPUT = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-CHECKBOX = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_LAYOUT-window_titlebar = 'Popup window'.
x_events-NAME = SLIS_EV_END_OF_PAGE.
x_events-FORM = 'END_OF_PAGE'.
APPEND x_events TO iT_EVENTS.
CLEAR x_events .
x_events-NAME = SLIS_EV_TOP_OF_PAGE.
x_events-FORM = 'TOP_OF_PAGE'.
APPEND x_events TO iT_EVENTS.
CLEAR x_events .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = L_LAYOUT
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT
it_events = it_events
* I_SCREEN_START_COLUMN = 10
* I_SCREEN_START_LINE = 1
* I_SCREEN_END_COLUMN = 50
* I_SCREEN_END_LINE = 20
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.
FORM TOP_OF_PAGE.
* BREAK-POINT.
WRITE: / 'TOP_OF_PAGE'.
ENDFORM.
FORM END_OF_PAGE.
* BREAK-POINT.
WRITE: / 'END_OF_PAGE'.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form STATUS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_EXTAB text
*----------------------------------------------------------------------*
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
*- Pf status
SET PF-STATUS 'STATUS'.
ENDFORM. " STATUS
*&---------------------------------------------------------------------*
*& Form USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->R_UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
case r_ucomm.
when 'BACK' or 'CANC' or 'EXIT'.
leave to screen 0.
when '&IC1'.
set parameter id 'AUN' field rs_selfield-value.
call transaction 'VA03' and skip first screen.
endcase.
ENDFORM. "USER_COMMAND
Regards
vijay
04-05-2006 8:42 AM
Murali,
Compare the FIELDCAT and the fields of the internal table and make sure they are exactly the same.
Regards,
Ravi
note : Please mark the helpful answers
04-05-2006 8:44 AM
Hello,
Use always uppercase in fieldname.
LS_FIELDCAT-FIELDNAME = 'QMNUM' instead of LS_FIELDCAT-FIELDNAME = 'qmnum'.
Always, check for the Program name, I_CALLBACK_PROGRAM = 'ZIRO_AW_3006', whether it is right or not.
Regards,
Naimesh.
PS: Reward points, if you find useful..!
04-05-2006 9:01 AM