• 删除订单BOM的链接的文档(linked document)[BAPI_DOCUMENT_SAVEOBJECTLINKS]


    1, 前台操作

    Tcode:CSKB 输入销售订单号和行项目,点击start order browser展开订单BOM(order BOM).

    2017-02-16_15-27-02

    找到对应的物料,右键display

    2017-02-16_15-28-06

    可以看到链接的文档信息,

    2017-02-16_15-28-36

    2, 例子程序

    可以通过函数BAPI_DOCUMENT_SAVEOBJECTLINKS删除order BOM中链接的文档。

    逻辑如下:

    删除order bom 行项目中链接的文档

    1,STPO中读取objectkey,如果要删除订单BOM 头中的链接文档需要从STKO中读取

    2,调用BAPI_DOCUMENT_GETOBJECTDOCS取得链接的文档信息

    3,调用BAPI_DOCUMENT_SAVEOBJECTLINKS删除文档和订单BOM的链接关系

    REPORT ztest_del_link.
    DATA:g_guidx         TYPE stpo-guidx,
         g_objectkey     TYPE bapi_doc_drad-objectkey,
         git_list        TYPE STANDARD TABLE OF bapi_doc_keys,
         gwa_list        TYPE bapi_doc_keys,
         git_objectlinks TYPE TABLE OF bapi_doc_drad,
         gwa_objectlinks TYPE bapi_doc_drad,
         gwa_return      TYPE bapiret2.
    * 测试,所以只取了1条,实际会有多条的情况
    SELECT SINGLE stpo~guidx
      INTO g_guidx
      FROM stpo
     INNER JOIN kdst ON stpo~stlnr = kdst~stlnr
     WHERE stpo~stlty = 'K'
       AND stpo~idnrk = 'B1-10'      "Material Number
       AND kdst~vbeln = '0690000318' "Sales Order Number
       AND kdst~vbpos = '200'        "Sales order Item
       AND kdst~werks = '8800'       "Plant
           .
    g_objectkey = g_guidx.
    refresh:git_list.
    CALL FUNCTION 'BAPI_DOCUMENT_GETOBJECTDOCS'
      EXPORTING
        objecttype   = 'STPO_DOC'  "order bom 头用STKO_DOC
        objectkey    = g_objectkey
    *   CURRENTVERSIONSONLY       =
        date         = sy-datum
    *  IMPORTING
    *   RETURN       =
      TABLES
        documentlist = git_list[].
    
    LOOP AT git_list INTO gwa_list.
      CLEAR   gwa_objectlinks.
      REFRESH:git_objectlinks.
      gwa_objectlinks-deletevalue = 'X'.
      gwa_objectlinks-objecttype  = 'STPO_DOC'. "Order BOM头用STKO_DOC
      gwa_objectlinks-objectkey   = g_guidx.
      APPEND gwa_objectlinks TO git_objectlinks.
      CALL FUNCTION 'BAPI_DOCUMENT_SAVEOBJECTLINKS'
        EXPORTING
          documenttype    = gwa_list-documenttype
          documentnumber  = gwa_list-documentnumber
          documentpart    = gwa_list-documentpart
          documentversion = gwa_list-documentversion
        IMPORTING
          return          = gwa_return
        TABLES
          objectlinks     = git_objectlinks.
    
    * Commit or Rollback
      IF gwa_return-type NA 'AE'.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      ENDIF.
    
    ENDLOOP.

    运行结果,订单BOM行项目上的链接的文档已删除,也就是文档与订单BOM没有链接关系了。

    2017-02-16_16-08-14

    以上。

  • 相关阅读:
    第十八次发博不知道用什么标题好
    第十七次发博不知道用什么标题好
    第十六次发博不知道用什么标题好
    第十五次发博不知道用什么标题好
    第十四次发博不知道用什么标题好
    第十三次发博不知道用什么标题好
    第十二次发博不知道用什么标题好
    NEC学习 ---- 布局 -两列, 左侧定宽,右侧自适应
    jQuery 利用 $.getJson() 实现跨域
    HTML: 字符實體
  • 原文地址:https://www.cnblogs.com/datie/p/11435829.html
Copyright © 2020-2023  润新知