FORM frm_upload USING value(ps_i_tabindex) LIKE sy-tabix
value(pc_i_fieldname) TYPE slis_fieldname
CHANGING
value(l_subrc) LIKE sy-subrc
value(l_msgtx) TYPE msgtx.
CLEAR:l_subrc,l_msgtx.
DATA:BEGIN OF ls_knmt_key,
vkorg LIKE knmt-vkorg,
vtweg LIKE knmt-vtweg,
kunnr LIKE knmt-kunnr,
matnr LIKE knmt-matnr,
END OF ls_knmt_key.
DATA:BEGIN OF yknmt OCCURS 1.
INCLUDE STRUCTURE knmt.
DATA:updkz(1),
END OF yknmt.
DATA:BEGIN OF xknmt OCCURS 1.
INCLUDE STRUCTURE knmt.
DATA:updkz(1),
END OF xknmt.
DATA:
lt_catalog LIKE tcatalog OCCURS 0 WITH HEADER LINE,
lv_tdname LIKE thead-tdname.
DATA:
charx TYPE c VALUE ‘X‘.
CONSTANTS:
lc_tdname_knmt LIKE thead-tdobject VALUE ‘KNMT‘.
READ TABLE gt_list WITH KEY sel = ‘X‘.
IF sy-subrc <> 0.
l_subrc = 4.
l_msgtx = ‘Please select one row at least!‘.
RETURN.
ENDIF.
LOOP AT gt_list WHERE sel = ‘X‘.
CLEAR xknmt.
MOVE-CORRESPONDING gt_list TO xknmt.
xknmt-matnr = gt_list-newmt.
xknmt-updkz = ‘I‘.
xknmt-ernam = sy-uname.
xknmt-erdat = sy-datum.
xknmt-meins = gt_list-meins.
APPEND xknmt.
ENDLOOP.
LOOP AT xknmt.
ls_knmt_key-vkorg = xknmt-vkorg.
ls_knmt_key-vtweg = xknmt-vtweg.
ls_knmt_key-kunnr = xknmt-kunnr.
ls_knmt_key-matnr = xknmt-matnr.
lv_tdname = ls_knmt_key.
CALL FUNCTION ‘SD_TEXT_UPDKZ_GET_FROM_CATALOG‘
EXPORTING
cat_tdobject = lc_tdname_knmt
cat_tdname = lv_tdname
cat_refresh = space
TABLES
cat_table = lt_catalog
EXCEPTIONS
OTHERS = 0.
ENDLOOP.
* LOOP AT yknmt WHERE updkz EQ updkz_delete.
* ls_knmt_key-vkorg = yknmt-vkorg.
* ls_knmt_key-vtweg = yknmt-vtweg.
* ls_knmt_key-kunnr = yknmt-kunnr.
* ls_knmt_key-matnr = yknmt-matnr.
*
* lv_tdname = ls_knmt_key.
* CALL FUNCTION ‘SD_TEXT_UPDKZ_GET_FROM_CATALOG‘
* EXPORTING
* cat_tdobject = lc_tdname_knmt
* cat_tdname = lv_tdname
* cat_refresh = space
* TABLES
* cat_table = lt_catalog
* EXCEPTIONS
* OTHERS = 0.
* ENDLOOP.
CALL FUNCTION ‘RV_CUSTOMER_MATERIAL_UPDATE‘ IN UPDATE TASK
TABLES
xknmt_tab = xknmt
yknmt_tab = yknmt
tcatalog_tab = lt_catalog.
LOOP AT lt_catalog WHERE tdobject = lc_tdname_knmt.
CALL FUNCTION ‘COMMIT_TEXT‘
EXPORTING
object = lc_tdname_knmt
name = lt_catalog-tdname
keep = charx.
ENDLOOP.
COMMIT WORK.
l_subrc = 0.
l_msgtx = ‘Upload successfully‘.
ENDFORM.Copy Customer-Material Info Record Data,布布扣,bubuko.com
Copy Customer-Material Info Record Data
原文:http://blog.csdn.net/leoonly2012/article/details/21712777