CN25网络中的完成确认(BDC实现)

CN25 网络完成确认操作路径如下:

    DATA:
      "bdc 执行内表
      lt_bdcdata TYPE TABLE OF bdcdata,
      "bdc 返回信息表
      lt_msgtab  TYPE TABLE OF bdcmsgcoll,
      lv_str     TYPE string,
      lv_message TYPE string.

      lt_bdcdata = VALUE #( ( program = 'SAPLCORU' dynpro  = '2000' dynbegin = 'X' )
                            (  fnam = 'BDC_CURSOR' fval = 'CORUF-VORNR' )
                            (  fnam = 'BDC_OKCODE' fval = '=ENTR' )
                            (  fnam = 'CORUF-AUFNR' fval = ls_act-network )
                            (  fnam = 'CORUF-VORNR' fval = ls_act-activity )

                            ( program = 'SAPLCORU' dynpro  = '2200' dynbegin = 'X' )
                            (  fnam = 'BDC_CURSOR' fval = 'AFRUD-IEDD' )
                            (  fnam = 'BDC_OKCODE' fval = '=BU' )
                            (  fnam = 'AFRUD-ISDD' fval = iv_isdd )
                            (  fnam = 'AFRUD-IEDD' fval = iv_iedd ) ).

      CALL TRANSACTION 'CN25' USING lt_bdcdata
                              MODE gv_mode
                              MESSAGES INTO lt_msgtab
                              UPDATE 'S'.

      CLEAR: lv_str,lv_message.
      LOOP AT lt_msgtab INTO DATA(ls_msgtab) WHERE msgtyp CA 'AEX'.
        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            msgid               = ls_msgtab-msgid
            msgnr               = ls_msgtab-msgnr
            msgv1               = ls_msgtab-msgv1
            msgv2               = ls_msgtab-msgv2
            msgv3               = ls_msgtab-msgv3
            msgv4               = ls_msgtab-msgv4
          IMPORTING
            message_text_output = lv_str.
        IF lv_message IS INITIAL.
          lv_message = lv_str.
        ELSE.
          lv_message = |{ lv_message }/{ lv_str }|.
        ENDIF.
      ENDLOOP.

      IF lv_message IS NOT INITIAL.
        "失败
      ELSE.
        "成功
      ENDIF.

 

 

 

 

 

 

下面是一个简单的 ABAP Report BDC 实现创建采购合同的示例: 1. 创建一个自定义的屏幕布局,包含需要输入的采购合同信息。 2. 使用 TCODE SHDB 记录一个标准的采购合同创建过程的 BDC 数据。 3. 通过 ABAP 代码将该 BDC 数据读入内存,并替换其需要输入的信息为用户在屏幕上输入的信息。 4. 执行 BDC 事务,创建采购合同。 以下是一个示例 ABAP Report 代码: ``` REPORT z_create_purchase_contract. DATA: BEGIN OF bdcdata OCCURS 0, program LIKE sy-repid, dynpro LIKE sy-dynnr, dynbegin(1) TYPE c, fnam LIKE bdcdata-fnam, fval LIKE bdcdata-fval, END OF bdcdata. DATA: v_ebeln TYPE ekko-ebeln, v_bsart TYPE ekko-bsart, v_bukrs TYPE ekko-bukrs, v_lifnr TYPE ekko-lifnr, v_waers TYPE ekko-waers. PARAMETERS: p_ebeln TYPE ekko-ebeln, p_bsart TYPE ekko-bsart, p_bukrs TYPE ekko-bukrs, p_lifnr TYPE ekko-lifnr, p_waers TYPE ekko-waers. v_ebeln = p_ebeln. v_bsart = p_bsart. v_bukrs = p_bukrs. v_lifnr = p_lifnr. v_waers = p_waers. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = v_ebeln IMPORTING output = v_ebeln. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0100'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_SELECT-EKGRP'. bdcdata-fval = v_bsart. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0101'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_SELECT-BUKRS'. bdcdata-fval = v_bukrs. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0102'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_SELECT-LIFNR'. bdcdata-fval = v_lifnr. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0103'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_SELECT-WAERS'. bdcdata-fval = v_waers. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-EBELN'. bdcdata-fval = v_ebeln. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-EKORG'. bdcdata-fval = '1000'. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-BSART'. bdcdata-fval = v_bsart. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-BUKRS'. bdcdata-fval = v_bukrs. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-LIFNR'. bdcdata-fval = v_lifnr. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-WAERS'. bdcdata-fval = v_waers. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-ABSAK'. bdcdata-fval = 'X'. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-BEDAT'. bdcdata-fval = sy-datum. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-ERNAM'. bdcdata-fval = sy-uname. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0200'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-LOEKZ'. bdcdata-fval = 'X'. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0210'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-EBELN'. bdcdata-fval = v_ebeln. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0211'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-EBELN'. bdcdata-fval = v_ebeln. APPEND bdcdata. CLEAR bdcdata. bdcdata-program = 'SAPLMEGUI'. bdcdata-dynpro = '0211'. bdcdata-dynbegin = 'X'. APPEND bdcdata. bdcdata-fnam = 'MEPO_CREATE-PO_TEXT'. bdcdata-fval = '采购合同文本'. APPEND bdcdata. CALL FUNCTION 'BDC_INSERT' EXPORTING program = bdcdata-program dynpro = bdcdata-dynpro dynbegin = bdcdata-dynbegin TABLES bdcdata = bdcdata. CALL FUNCTION 'BDC_TRANSACTION' EXPORTING update_task = 'S' EXCEPTIONS OTHERS = 1. ``` 在该示例,我们使用了 PARAMETERS 语句定义了用户需要输入的采购合同信息,然后将这些信息替换到 BDC 数据。最后通过调用 BDC_INSERT 和 BDC_TRANSACTION 函数执行 BDC 事务,创建采购合同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值