Bapi yang akan kita gunakan nantinya adalah ' BAPI_MATERIAL_SAVEDATA '.
OK!! Tidak usah banyak cingcong, langsung kita buat aja programnya:
- Buka Abap Editor (SE38).
- Langsung saja ketikkan source code seperti di bawah ini:
*& Report ZBAPI_MATERIAL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zbapi_material.
TABLES:bapimathead,
bapi_makt,
bapi_mara,
bapi_marax.
DATA:BEGIN OF t_data OCCURS 0,
material TYPE bapimathead-material,
ind_sector(20),
matl_type TYPE bapimathead-matl_type,
matl_group TYPE bapi_mara-matl_group,
base_uom TYPE bapi_mara-base_uom,
matl_desc TYPE bapi_makt-matl_desc,
END OF t_data,
it_return LIKE bapiret2.
DATA : it_bapi LIKE bapi_makt OCCURS 0 WITH HEADER LINE.
PARAMETERS:p_file TYPE localfile.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM get_f4help.
START-OF-SELECTION.
PERFORM upload_file_t_data.
PERFORM call_bapi.
*&---------------------------------------------------------------------*
*& Form get_f4help
*&---------------------------------------------------------------------*
FORM get_f4help .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
ENDFORM. " get_f4help
*&---------------------------------------------------------------------*
*& Form upload_file_t_data
*&---------------------------------------------------------------------*
FORM upload_file_t_data .
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 = t_data.
delete t_data index 1.
ENDFORM. " upload_file_t_data
*&---------------------------------------------------------------------*
*& Form call_bapi
*&---------------------------------------------------------------------*
FORM call_bapi .
LOOP AT t_data.
bapimathead-material = t_data-material.
bapimathead-ind_sector = t_data-ind_sector.
bapimathead-matl_type = t_data-matl_type.
bapimathead-basic_view = 'X'.
bapi_mara-matl_group = t_data-matl_group.
bapi_mara-base_uom = t_data-base_uom.
bapi_marax-matl_group = 'X'.
bapi_marax-base_uom = 'X'.
it_bapi-langu = 'EN'.
it_bapi-langu_iso = 'EN'.
it_bapi-matl_desc = t_data-matl_desc.
APPEND it_bapi.
CLEAR it_bapi.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = bapimathead
clientdata = bapi_mara
clientdatax = bapi_marax
IMPORTING
return = it_return
TABLES
materialdescription = it_bapi.
IF it_return-type NE 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
* IMPORTING
* RETURN =
.
WRITE : / 'Material created:',bapimathead-material.
ELSE.
WRITE:/ it_return-message.
ENDIF.
ENDLOOP.
ENDFORM. "
- Lalu aktifkan dan jalankan program.
- Masukkan file .txt
MATNR MBRSH MTART MATKL MEINS MAKTX BISMT
1111-11115 M ROH 001 tt Test1 909809
- Langsung hajar saja programnya (F8).
- OK. Selesai
Tidak ada komentar:
Posting Komentar