i have made a report to to get some fields from vbap and checkbox in alv ...and based on those checkbox i get few fields from vbak but the chekbpx fields are not coming out correct
perform fieldcat.
perform alv.
PERFORM GETEVENT.
perform fillevent.
FORM FIELDCAT .
* wa_fieldcat-tabname = 'TT_VBAP'.
wa_fieldcat-fieldname = 'cb'.
wa_fieldcat-seltext_m = 'Checkbox'.
wa_fieldcat-checkbox = 'X'.
* wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-outputlen = '3'.
append wa_fieldcat to i_fieldcat.
clear wa_fieldcat.
wa_fieldcat-tabname = 'TT_VBAP'.
wa_fieldcat-fieldname = 'VBELN'.
wa_fieldcat-seltext_m = 'VBELN'.
append wa_fieldcat to i_fieldcat.
clear wa_fieldcat.
wa_fieldcat-tabname = 'TT_VBAP'.
wa_fieldcat-fieldname = 'POSNR' .
wa_fieldcat-seltext_m = 'posnr'.
append wa_fieldcat to i_fieldcat.
clear wa_fieldcat.
wa_fieldcat-tabname = 'TT_VBAP'.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-seltext_m = 'matnr'.
append wa_fieldcat to i_fieldcat.
clear wa_fieldcat.
wa_fieldcat-tabname = 'TT_VBAP'.
wa_fieldcat-fieldname = 'MATWA'.
wa_fieldcat-seltext_m = 'matwa'.
append wa_fieldcat to i_fieldcat.
clear wa_fieldcat.
ENDFORM. " FIELDCAT
FORM ALV .
SET PF-STATUS 'DISPLAY'.
*SET PF-STATUS 'DISPLAY2'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_PF_STATUS_SET = 'DISPLAY'
* 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 =
IT_FIELDCAT = i_fieldcat[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
I_SAVE = 'A'
* IS_VARIANT =
IT_EVENTS = V_EVENT
* 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 = TT_VBAP
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. " ALV
FORM GETEVENT .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENT
* EXCEPTIONS
* LIST_TYPE_WRONG = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. " GETEVENT
form fillevent.
READ TABLE v_EVENT INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC = 0.
WA_EVENT-FORM = 'USER_COMMAND'.
modify V_EVENT from wa_event transporting form where name =
wa_event-name.
endif.
ENDFORM.
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
refresh temp_tt_vbap.
data: v_count type i.
case r_ucomm.
when 'ONLI'.
*loop at tt_vbap into wa_vbap where cb eq 'X' .*
*if sy-subrc = 0.*
*if wa_vbap-cb = 'X'.*
*append wa_vbap-vbeln to temp_tt_vbap.*
*clear wa_vbap-vbeln.*
*endif.*
** endif.*
*endloop.*
the checked check box VBLEN no is not coming from tt_vabp
Edited by: kishan P on Dec 12, 2011 7:46 PM