删除订单BOM的链接的文档(linked document)[BAPI_DOCUMENT_SAVEOBJECTLINKS]详解编程语言
2023-06-13 09:15:22 时间
1, 前台操作
Tcode:CSKB 输入销售订单号和行项目,点击start order browser展开订单BOM(order BOM).
img >
找到对应的物料,右键display
img >
可以看到链接的文档信息,
img >
可以通过函数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没有链接关系了。
img >
以上。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/19213.html
cjava