三,替换数据
可以按照下面的格式,把数据替换
FORM MAKE_BDCDATA.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '0101'.
PERFORM BDC_FIELD: USING C_BDC_OK '/00',
PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
PERFORM BDC_FIELD: USING C_BDC_OK '=SICH',
.
.
.
ENDFORM.
四,替换完后,进行CALL TRANSACTION
FORM EXEC_BATCHINPUT.
CALL TRANSACTION 'VA01' USING IT_BDCDATA
MODE 'N'
UPDATE 'S'
MESSAGES INTO IT_BDCMSG.
ENDFORM.
把BDCDATA作为参数传进来,并把消息放到表IT_BDCMSG内。这里有两个参数MODE和UPDATE,解释如下
MODE:N(画面不表示),A(画面表示)
UPDATE:S(同期更新),A(非同期更新)
五,补充
第三步用到了BDC_DYNPRO和BDC_FIELD,其实现方法如下
FORM BDC_DYNPRO USING VALUE(V_PROGRAM) TYPE ANY
VALUE(V_DYNPRO) TYPE ANY.
CLEAR: WA_BDCDATA.
WA_BDCDATA-PROGRAM = V_PROGRAM.
WA_BDCDATA-DYNPRO = V_DYNPRO.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA TO IT_BDCDATA.
ENDFORM.
FORM BDC_FIELD USING VALUE(V_FNAM) TYPE ANY
VALUE(V_FVAL) TYPE ANY.
CLEAR: WA_BDCDATA.
WA_BDCDATA-FNAM = V_FNAM.
WA_BDCDATA-FVAL = V_FVAL.
SHIFT WA_BDCDATA-FVAL LEFT DELETING LEADING SPACE.
APPEND WA_BDCDATA TO IT_BDCDATA.
ENDFORM.