ALV Call Transaction VK13 Using BDC

本文详细介绍了如何使用BDC_DYNPRO和BDC_FIELD进行动态程序处理,包括读取表格数据、执行事务操作及字段填充等关键步骤。适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DATABDCDATA TYPE TABLE OF BDCDATA WITH HEADER LINE.

FORM 
F_COMMAND USING I_UCOMM    TYPE SY-UCOMM

               I_SELFIELD TYPE SLIS_SELFIELD.
  DATABEGIN OF MESSTAB OCCURS 10.
          INCLUDE STRUCTURE BDCMSGCOLL.
  DATAEND OF MESSTAB.
  CASE I_UCOMM.
    WHEN '&IC1'.
      READ TABLE TD_OUT INTO TH_OUT INDEX I_SELFIELD-TABINDEX.
      IF TH_OUT IS NOT INITIAL.
        PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0100'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RV13A-KSCHL'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM BDC_FIELD       USING 'RV13A-KSCHL'
                                      'ZPR0'.
        PERFORM BDC_DYNPRO      USING 'SAPLV14A' '0100'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RV130-SELKZ(01)'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=WEIT'.
        PERFORM BDC_DYNPRO      USING 'RV13A902' '1000'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'F001'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=ONLI'.
        PERFORM BDC_FIELD       USING 'F001'
                                      TH_OUT-VKORG.
        PERFORM BDC_FIELD       USING 'F002'
                                      TH_OUT-VTWEG.
        PERFORM BDC_FIELD       USING 'F003'
                                      TH_OUT-KUNNR.
        PERFORM BDC_FIELD       USING 'F004-LOW'
                                      TH_OUT-MATNR.
        PERFORM BDC_FIELD       USING 'SEL_DATE'
                                      TH_OUT-EDDAT.

        CALL TRANSACTION 'VK13' USING BDCDATA
                            MODE 'E'
                            UPDATE 'A'
                            MESSAGES INTO MESSTAB.


      ENDIF.
  ENDCASE.

ENDFORM.                    "F_COMMAND


*&---------------------------------------------------------------------*
*&      Form  BDC_DYNPRO
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PROGRAM    text
*      -->DYNPRO     text
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
  CLEAR BDCDATA.
  BDCDATA-PROGRAM  PROGRAM.
  BDCDATA-DYNPRO   DYNPRO.
  BDCDATA-DYNBEGIN 'X'.
  APPEND BDCDATA.
  CLEAR BDCDATA.
ENDFORM.                    "BDC_DYNPRO

*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
  CLEAR BDCDATA.
  BDCDATA-FNAM FNAM.
  BDCDATA-FVAL FVAL.
  APPEND BDCDATA.
  CLEAR BDCDATA.
ENDFORM.                    "BDC_FIELD

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值