hi experts,
i m facing a little problem with my code.
can anybody solve this?
my excel sheet data.
test1 T-IC-R2001
test2 T-IC-R2002
test3 T-IC-R2003
test4 T-IC-R2004
test5 T-IC-R2005
test6 T-IC-R2006
test7 T-IC-R2007
test8 T-IC-R2008
test9 T-IC-R2009
test10 T-IC-R2010
if i check my check box i should display my excel data.
if i uncheck my checkbox i should display updated mara table with original matnr and ernam.
my code is:
*table declaration
TABLES:mara.
TYPE-POOLS: slis.
TYPE-POOLS: truxs.
*declaration of structure
TYPES: BEGIN OF itab,
matnr LIKE mara-matnr,
ernam LIKE mara-ernam,
END OF itab.
*internal table and work area declaration
DATA: itab1 TYPE STANDARD TABLE OF itab.
*DATA: itab_update TYPE STANDARD TABLE OF itab.
DATA: itab_error TYPE STANDARD TABLE OF itab.
DATA: wa_itab1 TYPE itab.
*ALV data declarations
DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_tab_group TYPE slis_t_sp_group_alv,
gd_layout TYPE slis_layout_alv,
gd_repid LIKE sy-repid.
DATA: it_raw TYPE truxs_t_text_data.
*declare check box and filepath
PARAMETERS: testrun AS CHECKBOX.
PARAMETERS: filename TYPE rlgrap-filename.
*at selection-screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
*function modules to upload file to internal tables
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'p_file'
IMPORTING
file_name = filename.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*Start-of-selection.
START-OF-SELECTION.
BREAK-POINT.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_tab_raw_data = it_raw " WORK TABLE
i_filename = filename
TABLES
i_tab_converted_data = itab1 "ACTUAL DATA
EXCEPTIONS
conversion_failed = 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.
PERFORM data_retrieval.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM display_alv_report.
END-OF-SELECTION.
&----
*& Form BUILD_FIELDCATALOG
&----
Build Fieldcatalog for ALV Report
----
FORM build_fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'MATERIAL NO.'.
fieldcatalog-col_pos = 0.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'ERNAM'.
fieldcatalog-seltext_m = 'NAME'.
fieldcatalog-col_pos = 1.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
ENDFORM. " BUILD_FIELDCATALOG
&----
*& Form BUILD_LAYOUT
&----
Build layout for ALV grid report
----
FORM build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
ENDFORM. " BUILD_LAYOUT
&----
*& Form DISPLAY_ALV_REPORT
&----
Display report using ALV grid
----
FORM display_alv_report.
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = 'X'
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.
ENDFORM. " DISPLAY_ALV_REPORT
----
FORM data_retrieval *
----
........ *
----
FORM data_retrieval.
BREAK-POINT.
IF testrun = 'X'.
LOOP AT itab1 INTO wa_itab1.
SELECT matnr FROM mara INTO CORRESPONDING FIELDS OF
TABLE itab1 WHERE matnr = wa_itab1-matnr.
MODIFY itab1 FROM wa_itab1
TRANSPORTING ernam
WHERE matnr = wa_itab1-matnr.
ELSE.
***************
code for original mara data????????? (please help at this step)
ENDLOOP.
ENDIF.