hi
im new to BAPI....i hav written a code to upload material Data for Practise...
bt those materials are not uploading into the system...
Can anybody correct the following code and tell me wr im wrong...
TABLES: bapimathead,
bapi_makt,
bapi_mara,
bapi_marax.
DATA: BEGIN OF itab OCCURS 0,
material TYPE bapimathead-material,
ind_sector(20),
matl_type TYPE bapimathead-matl_type,
matl_group TYPE bapi_mara-matl_group,
langu type bapi_makt-langu,
matl_desc TYPE bapi_makt-matl_desc,
END OF itab,
it_return like bapiret2,
it_bapi like bapi_makt OCCURS 0 WITH HEADER LINE.
PARAMETERS: p_file TYPE ibipparms-path OBLIGATORY.
AT SELECTION-SCREEN on VALUE-REQUEST FOR p_file.
PERFORM get_f4help.
START-OF-SELECTION.
PERFORM upload_file_itab.
PERFORM call_bapi.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
IMPORTING
FILE_NAME = p_file.
.
form UPLOAD_FILE_ITAB .
DATA: v_file TYPE string.
MOVE p_file to v_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
tables
data_tab = ITAB.
endform.
form CALL_BAPI .
LOOP AT itab.
bapimathead-material = itab-material.
bapimathead-ind_sector = itab-ind_sector.
bapimathead-matl_type = itab-matl_type.
bapimathead-basic_view = 'X'.
bapi_mara-matl_group = itab-matl_group.
bapi_mara-base_uom = 'KGS'.
bapi_marax-matl_group = 'X'.
bapi_marax-base_uom = 'X'.
it_bapi-langu = itab-langu.
it_bapi-langu_iso = 'EN'.
it_bapi-matl_desc = itab-matl_desc.
APPEND it_bapi.
ENDLOOP.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = bapimathead
CLIENTDATA = bapi_mara
CLIENTDATAX = bapi_marax
TABLES
MATERIALDESCRIPTION = it_bapi .
IF sy-subrc is INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
WRITE: / it_return-type.
endform.
Regards
Smitha