*&---------------------------------------------------------------------*
*& Form FRM_PIR_DELETE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_<FS_HEAD>_MATNR text
* -->P_P_WERKS text
* -->P_P_VERSB text
*----------------------------------------------------------------------*
FORM frm_pir_delete USING p_matnr TYPE pbim-matnr
p_werks TYPE pbim-werks
p_versb TYPE pbim-versb.
DATA lt_bdcdata TYPE STANDARD TABLE OF bdcdata WITH EMPTY KEY.
DATA ls_bdcdata TYPE bdcdata .
DEFINE _bdc_dynpro.
CLEAR ls_bdcdata.
ls_bdcdata-program = &1.
ls_bdcdata-dynpro = &2.
ls_bdcdata-dynbegin = 'X'.
INSERT ls_bdcdata INTO TABLE lt_bdcdata.
END-OF-DEFINITION.
DEFINE _bdc_field.
CLEAR ls_bdcdata.
ls_bdcdata-fnam = &1.
ls_bdcdata-fval = &2.
INSERT ls_bdcdata INTO TABLE lt_bdcdata.
END-OF-DEFINITION.
" MD62筛选页面
_bdc_dynpro 'SAPMM60X' '0106'.
_bdc_field:
'BDC_OKCODE' '/00',
'AM60X-MATAW' 'X',
'AM60X-MATNR' p_matnr,
'AM60X-PRGRP' '',
'AM60X-PBDNR' '',
'RM60X-BEDAE' '',
'AM60X-WERKS' p_werks,
'AM60X-VERAW' 'X',
'RM60X-VERSB' p_versb.
" 全选
_bdc_dynpro 'SAPLM60E' '0200'.
_bdc_field:
'BDC_OKCODE' '=ALMK'.
" 点击删除按钮
_bdc_dynpro 'SAPLM60E' '0200'.
_bdc_field:
'BDC_OKCODE' '=POLO'.
" 点击确认
_bdc_dynpro 'SAPLSPO1' '0500'.
_bdc_field:
'BDC_OKCODE' '=OPT1'.
" 保存
_bdc_dynpro 'SAPLM60E' '0200'.
_bdc_field:
'BDC_OKCODE' '=SICH'.
DATA ls_option TYPE ctu_params.
ls_option-dismode = 'N'. " 后台
ls_option-updmode = 'L'. " 本地
ls_option-nobinpt = 'X'. " 有弹窗,需要启用这个标识
DATA lt_message TYPE STANDARD TABLE OF bdcmsgcoll WITH EMPTY KEY.
CALL TRANSACTION 'MD62' USING lt_bdcdata
OPTIONS FROM ls_option
MESSAGES INTO lt_message.
" 不管如何,BDC都回滚不了,直接提交了事
COMMIT WORK AND WAIT.
ENDFORM. " FRM_PIR_DELETE