‎2007 Apr 19 8:18 AM
hi all,
the following code is for an alv grid. The program is working fine. But after execution when the report is displayed the code is going for a dump when the back button is clicked. Could anyone tell as to whats going wrong. And when the highlighted part in the code is commented it is not giving a dump. The highligted part was used to include the row selection in the alv because
<b>s_layout-sel_mode = 'A'</b>.
was not working.
&----
*& Report ZFI_9KE0
*&
&----
*&
*&
&----
REPORT zfi_9ke0.
*----
*TYPE-POOLS
*----
TYPE-POOLS : slis.
*----
*DATA
*----
DATA: BEGIN OF wa,
blart LIKE bsis-blart,
hkont LIKE bsis-hkont,
budat LIKE bsis-budat,
wrbtr LIKE bsis-wrbtr,
prctr LIKE bsis-prctr,
pprct LIKE bsis-pprct,
sgtxt LIKE bsis-sgtxt,
END OF wa.
DATA: v_counter TYPE i.
*----
*ALV SPECIFIC DECLARATIONS
*----
DATA : t_events TYPE slis_t_event.
DATA : t_fieldcat TYPE slis_t_fieldcat_alv.
DATA : t_list TYPE slis_t_listheader.
DATA : v_repid TYPE sy-repid.
DATA : v_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA : v_user_command TYPE slis_formname VALUE 'USER_COMMAND'.
DATA : s_getinfo TYPE slis_keyinfo_alv.
DATA : s_layout TYPE slis_layout_alv.
&----
*&INTERNAL TABLE
&----
DATA: itab LIKE STANDARD TABLE OF wa WITH HEADER LINE.
&----
*&SELECTION SCREEN
&----
*SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
*PARAMETER: p_acc type bsis-hkont.
*SELECTION-SCREEN : END OF BLOCK blk1.
&----
*&INITIALIZATION.
&----
INITIALIZATION.
PERFORM init.
&----
*&START-OF-SELECTION.
&----
START-OF-SELECTION.
PERFORM get_data.
&----
*&END-OF-SELECTION.
&----
END-OF-SELECTION.
PERFORM sub_comment_write.
PERFORM sub_layout.
PERFORM sub_call_alv.
&----
*& Form billing_init
&----
text
----
--> p1 text
<-- p2 text
----
FORM init .
v_repid = sy-repid.
PERFORM sub_events.
PERFORM sub_fieldcat.
ENDFORM. " BILLING_INIT
&----
*& Form SUB_EVENTS
&----
text
----
FORM sub_events .
DATA : wa_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = t_events.
SORT t_events.
READ TABLE t_events WITH KEY name = slis_ev_top_of_page BINARY SEARCH
INTO wa_event.
MOVE v_top_of_page TO wa_event-form.
IF sy-subrc EQ 0.
APPEND wa_event TO t_events.
ENDIF.
SORT t_events.
READ TABLE t_events WITH KEY name = slis_ev_user_command BINARY SEARCH
INTO wa_event.
*
MOVE v_user_command TO wa_event-form.
*
IF sy-subrc EQ 0.
*
APPEND wa_event TO t_events.
*
ENDIF.
ENDFORM. " SUB_EVENTS
&----
*& Form SUB_FIELDCAT
&----
text
----
FORM sub_fieldcat .
PERFORM insert_field USING :
'BLART' 'DOCUMENT TYPE' 'X' 20 ,
'HKONT' 'GL DOCUMENT' space 20 ,
'BUDAT' 'DOCUMENT DATE' space 20 ,
'WRBTR' 'PROFIT AMOUNT' space 20 ,
'PRCTR' 'MATERIAL RECIEVED PROFIT CENTER' space 40 ,
'PPRCTR' 'MATERIAL SEND PROFIT CENTER' space 40 ,
'SGTXT' 'TEXT' space 40.
ENDFORM. " SUB_FIELDCAT
&----
*& Form INSERT_FIELD
&----
text
----
FORM insert_field USING value(p_fname)
value(p_tname)
value(p_key)
value(p_length).
DATA : wa_fieldcat TYPE slis_fieldcat_alv.
v_counter = v_counter + 1.
wa_fieldcat-col_pos = v_counter.
wa_fieldcat-fieldname = p_fname.
wa_fieldcat-seltext_m = p_tname.
wa_fieldcat-key = p_key.
wa_fieldcat-outputlen = p_length.
IF wa_fieldcat-col_pos = 6.
wa_fieldcat-do_sum = 'X'.
ENDIF.
APPEND wa_fieldcat TO t_fieldcat.
ENDFORM. " INSERT_FIELD
&----
*& Form GET_DATA
&----
text
----
FORM get_data .
CLEAR: itab.
SELECT blart
hkont
budat
wrbtr
prctr
pprct
sgtxt
FROM bsis
INTO TABLE itab
WHERE blart = 'WA'.
AND hkont EQ p_acc.
OR hkont EQ '277500000'.
ENDFORM. " GET_DATA
&----
*& Form SUB_COMMENT_WRITE
&----
text
----
FORM sub_comment_write .
DATA : wa_list TYPE slis_listheader.
wa_list-typ = 'H'.
wa_list-info = 'FI DOCUMENT POSTING '.
APPEND wa_list TO t_list.
ENDFORM. " SUB_COMMENT_WRITE
&----
*& Form SUB_LAYOUT
&----
text
----
FORM sub_layout .
s_layout-detail_popup = 'X'.
s_layout-sel_mode = 'A'.
s_layout-zebra = 'X'.
s_layout-colwidth_optimize = 'X'.
<b> s_layout-box_fieldname = 'SELECT'.
s_layout-box_tabname = 'itab'.</b>
ENDFORM. " SUB_LAYOUT
&----
*& Form SUB_CALL_ALV
&----
text
----
FORM sub_call_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = v_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 = s_layout
it_fieldcat = t_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
it_sort =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
it_events = t_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
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
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. " SUB_CALL_ALV
&----
*& Form TOP_OF_PAGE
&----
text
----
FORM top_of_page .
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_list
i_logo = 'ENJOYSAP_LOGO'.
ENDFORM. "top_of_page
‎2007 Apr 19 8:28 AM
Hi,
in ur code box_fieldname = 'select' should be a field in the table itab.
for that define itab like this.
data begin of itab occurs 0.
include structure wa.
data select.
data end of itab.
rgds,
bharat.
‎2007 Apr 19 8:24 AM
s_layout-box_tabname = 'itab'.
first change the above assignment to
s_layout-box_tabname = 'ITAB'. and then get back to us.
‎2007 Apr 19 8:30 AM
The problem isn't solved even after the change has been made. Can you please now try giving an answer to the question.
regards,
chaitanya
null
‎2007 Apr 19 8:28 AM
Hi,
in ur code box_fieldname = 'select' should be a field in the table itab.
for that define itab like this.
data begin of itab occurs 0.
include structure wa.
data select.
data end of itab.
rgds,
bharat.
‎2007 Apr 19 8:36 AM
JUST ADD THIS
DATA: BEGIN OF wa,
<b>SELECT,</b>
blart LIKE bsis-blart,
hkont LIKE bsis-hkont,
budat LIKE bsis-budat,
wrbtr LIKE bsis-wrbtr,
prctr LIKE bsis-prctr,
pprct LIKE bsis-pprct,
sgtxt LIKE bsis-sgtxt,
END OF wa.
IN
s_layout-box_fieldname = 'SELECT'.
*s_layout-box_tabname = 'ITAB'.
ADD THE BOX FIELD IN WA
REGARDS
SHIBA DUTTA