Skip to Content
0
Former Member
Dec 30, 2007 at 07:44 AM

URGENT(15 min)

25 Views

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.