*&---------------------------------------------------------------------*
*& Report ZTEST_COPY_DOMAIN
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_copy_domain.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
* messages of call transaction
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
* error session opened (' ' or 'X')
DATA: e_group_opened.
PARAMETERS:p_domna TYPE char30."取数
PARAMETERS:p_dom_n TYPE char30."前缀
PARAMETERS:p_pack TYPE char30."包
PARAMETERS:p_tr TYPE trkorr."TR
START-OF-SELECTION.
DATA:lv_sql TYPE string.
DATA:lv_domname_new TYPE char30.
lv_sql = p_domna && '%'.
SELECT domname
FROM dd01l
INTO TABLE @DATA(lt_dd01l)
WHERE domname LIKE @lv_sql.
LOOP AT lt_dd01l ASSIGNING FIELD-SYMBOL(<ls_dd01l>).
lv_domname_new = p_dom_n && <ls_dd01l>-domname.
CLEAR bdcdata[].
CLEAR messtab[].
PERFORM bdc_dynpro USING 'SAPLSD_ENTRY' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSRD1-DOMA_VAL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=WB_COPY'.
PERFORM bdc_field USING 'RSRD1-DOMA'
abap_true.
PERFORM bdc_field USING 'RSRD1-DOMA_VAL'
<ls_dd01l>-domname.
PERFORM bdc_dynpro USING 'SAPLSDYY' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'*RSEDD0-DDOBJNAME'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=GOON'.
PERFORM bdc_field USING 'RSEDD0-DDOBJNAME'
<ls_dd01l>-domname.
PERFORM bdc_field USING '*RSEDD0-DDOBJNAME'
lv_domname_new.
PERFORM bdc_dynpro USING 'SAPLSTRD' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'KO007-L_DEVCLASS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ADD'.
PERFORM bdc_field USING 'KO007-L_DEVCLASS'
p_pack.
PERFORM bdc_field USING 'KO007-L_AUTHOR'
sy-uname.
PERFORM bdc_dynpro USING 'SAPLSTRD' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'KO008-TRKORR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=LOCK'.
PERFORM bdc_field USING 'KO008-TRKORR'
p_tr.
BREAK-POINT.
CALL TRANSACTION 'SE11'
USING bdcdata[] MODE 'N' MESSAGES INTO messtab.
ENDLOOP.
COMMIT WORK AND WAIT.
FORM bdc_field USING fnam fval.
IF fval <> ''.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
ENDFORM.
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM.
自用小工具