*&---------------------------------------------------------------------*
*& Report ZTEST_COPY_CLASS
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_copy_class.
PARAMETERS:p_class TYPE seoclskey."前缀
PARAMETERS:p_name TYPE char20."前缀
*PARAMETERS:p_name_n TYPE seoclskey."new class
PARAMETERS:p_pack TYPE char30 ."dest package
START-OF-SELECTION.
*获取需要复制的类
DATA:lv_string TYPE string.
DATA:lv_string_temp TYPE string.
DATA:lv_class_new TYPE seoclskey.
DATA:lv_class_temp TYPE string.
lv_string_temp = p_class.
lv_string = lv_string_temp && '%'.
SELECT clsname
FROM seoclass
INTO TABLE @DATA(lt_data)
WHERE clsname LIKE @lv_string.
BREAK-POINT.
DATA:ls_clskey_old TYPE seoclskey.
DATA:ls_clskey_new TYPE seoclskey.
LOOP AT lt_data ASSIGNING FIELD-SYMBOL(<ls_data>).
CLEAR ls_clskey_old.
CLEAR ls_clskey_new.
lv_class_temp = p_name && <ls_data>-clsname.
lv_class_new = lv_class_temp.
ls_clskey_old-clsname = <ls_data>-clsname.
ls_clskey_new-clsname = lv_class_new.
CALL FUNCTION 'SEO_CLASS_COPY'
EXPORTING
clskey = ls_clskey_old
new_clskey = ls_clskey_new
CHANGING
devclass = p_pack
EXCEPTIONS
OTHERS = 1.
IF sy-subrc IS INITIAL.
COMMIT WORK AND WAIT.
ENDIF.
ENDLOOP.
ABAP 批量 copy class 重命名
于 2023-07-13 16:43:27 首次发布