*&---------------------------------------------------------------------*
*& Report ztest_copy_dataelements
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_copy_dataelements.
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_elem TYPE char30."取数
PARAMETERS:p_elenew TYPE char30."前缀
PARAMETERS:p_pack TYPE char30."包
PARAMETERS:p_tr TYPE trkorr."TR
START-OF-SELECTION.
DATA:lv_sql TYPE string.
DATA:lv_element_new TYPE char30.
lv_sql = p_elem && '%'.
SELECT rollname
FROM dd04l "结构表
INTO TABLE @DATA(lt_dd01l)
WHERE rollname LIKE @lv_sql
AND as4local EQ 'A'.
LOOP AT lt_dd01l ASSIGNING FIELD-SYMBOL(<ls_dd01l>).
lv_element_new = p_elenew && <ls_dd01l>-rollname.
CLEAR bdcdata[].
CLEAR messtab[].
PERFORM bdc_dynpro USING 'SAPLSD_ENTRY' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSRD1-DDTYPE_VAL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=WB_COPY'.
PERFORM bdc_field USING 'RSRD1-DDTYPE'
abap_true.
PERFORM bdc_field USING 'RSRD1-DDTYPE_VAL'
<ls_dd01l>-rollname.
PERFORM bdc_dynpro USING 'SAPLSDYY' '0124'.
PERFORM bdc_field USING 'BDC_CURSOR'
'*RSEDD0-DDOBJNAME'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=GOON'.
PERFORM bdc_field USING 'RSEDD0-DDOBJNAME'
<ls_dd01l>-rollname.
PERFORM bdc_field USING '*RSEDD0-DDOBJNAME'
lv_element_new.
PERFORM bdc_field USING 'G_COPY_DOC'
abap_true.
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.
02-13
1467
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交