Hi Srikant -
Here is an example below which might help you.
Types : Begin of t_itab,
lifnr like lfa1-lifnr, "10
bukrs like t001-bukrs, "4
ktokk like rf02k-ktokk, "4
anred like lfa1-anred, "15
name1 like lfa1-name1, "35
sortl like lfa1-sortl, "10
land1 like lfa1-land1, "3
spras(2) , "2
akont like lfb1-akont, "10
fdgrv like lfb1-fdgrv, "10
end of T_itAB,
begin of t_error,
message type string,
end of t_error.
*--- 2
Data : i_itab type standard table of t_itab,
w_itab type t_itab,
DATA : I_BDCDATA type standard table of BDCDATA ,
w_BDCDATA type BDCDATA,
i_error type standard table of t_error,
w_error type t_error.
DATA i_messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,
v_msgtxt TYPE string,
*-- 3
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = 'C:\WINDOWS\DESKTOP\VEND.TXT'
FILETYPE = 'ASC'
TABLES
data_tab = I_ITAB.
Loop at I_itab into wa_itab.
perform fill_bdc_Data.
call transaction 'XK01' using i_bdcdata
mode 'N'
update 'S'.
MESSAGES INTO i_messtab.
refresh i_bdcdata.
PERFORM FORMAT_MESSAGE.
endloop.
*&---------------------------------------------------------------------*
*& Form fill_bdc_Data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form fill_bdc_Data.
*--- 0100
w_bdcdata-PROGRAM = 'SAPMF02K'.
w_bdcdata-DYNPRO = '0100' .
w_bdcdata-DYNBEGIN = 'X'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'RF02K-LIFNR'.
w_bdcdata-fval = w_itab-lifnr.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'RF02K-BUKRS'.
w_bdcdata-fval = w_itab-bukrs.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'RF02K-KTOKK'.
w_bdcdata-fval = w_itab-ktokk.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'RF02K-KTOKK' .
w_bdcdata-fval = w_itab-ktokk.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'BDC_OKCODE' .
w_bdcdata-fval = '/00'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
*--- 110
i_bdcdata-program = 'SAPMF02K'.
i_bdcdata-dynpro = '0110'.
i_bdcdata-dynbegin = 'X'.
append i_bdcdata.
clear i_bdcdata.
i_bdcdata-fnam = 'LFA1-ANRED' .
i_bdcdata-fval = itab-anred.
append i_bdcdata.
clear i_bdcdata .
w_bdcdata-fnam = 'LFA1-NAME1' .
w_bdcdata-fval = w_itab-name1.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
i_bdcdata-fnam = 'LFA1-SORTL' .
i_bdcdata-fval = itab-sortl.
append i_bdcdata.
clear i_bdcdata .
w_bdcdata-fnam = 'LFA1-LAND1' .
w_bdcdata-fval = w_itab-land1.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
.
w_bdcdata-fnam = 'LFA1-SPRAS' .
w_bdcdata-fval = itab-spras.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'BDC_OKCODE' .
w_bdcdata-fval = '=VW'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
*--- 0120
w_bdcdata-program = 'SAPMF02K'.
w_bdcdata-dynpro = '0120'.
w_bdcdata-dynbegin = 'X'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'BDC_OKCODE' .
w_bdcdata-fval = '=VW'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
*--- 130
w_bdcdata-program = 'SAPMF02K'.
w_bdcdata-dynpro = '0130'.
w_bdcdata-dynbegin = 'X'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'BDC_OKCODE' .
w_bdcdata-fval = '=VW'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
*--- 210
w_bdcdata-program = 'SAPMF02K'.
w_bdcdata-dynpro = '0210'.
w_bdcdata-dynbegin = 'X'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'LFB1-AKONT' .
w_bdcdata-fval = w_itab-akont.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'LFB1-FDGRV' .
w_bdcdata-fval = w_itab-fdgrv.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
w_bdcdata-fnam = 'BDC_OKCODE' .
w_bdcdata-fval = '=UPDA'.
append w_bdcdata to i_bdcdata.
clear w_bdcdata.
endform. " fill_bdc_Data
FORM format_message .
CLEAR lv_msgtxt.
READ TABLE it_messtab WITH KEY msgtyp = 'E'.
IF sy-subrc = 0.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = 'EN'
no = sy-msgno
v1 = sy-msgv1
v2 = sy-msgv2
v3 = sy-msgv3
v4 = sy-msgv4
IMPORTING
msg = lv_msgtxt
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc = 0.
w_error-message = lv_msgtxt.
append w_error to i_error.
clear w_error.
ENDIF.
ENDIF.
ENDFORM. " FORMAT_MESSAGE