BAPI_*_DELIVERY_CHANGE BAPI附加字段增强

2023-10-20 22:59

本文主要是介绍BAPI_*_DELIVERY_CHANGE BAPI附加字段增强,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

描述:BAPI修改交货单扩展字段
业务需求:通过调用外向交货单修改的BAPI完成对LIKP&LIPS增强字段的修改
直接上操作:

1、VBKOK&VBPOK添加增强字段

 2、增强点BADI:LE_SHP_DELIVERY_UPDATE创建实施

 

  METHOD if_ex_le_shp_delivery_update~update_header.MOVE is_vbkok-zaddress TO cs_likp-zaddress .MOVE is_vbkok-zcontact TO cs_likp-zcontact .MOVE is_vbkok-ztel     TO cs_likp-ztel .MOVE is_vbkok-zord     TO cs_likp-zord .MOVE is_vbkok-zwlgs    TO cs_likp-zwlgs .MOVE is_vbkok-zfws     TO cs_likp-zfws .MOVE is_vbkok-zxsqd    TO cs_likp-zxsqd .MOVE is_vbkok-zcrtid   TO cs_likp-zcrtid .ENDMETHOD.
  method IF_EX_LE_SHP_DELIVERY_UPDATE~UPDATE_ITEM.MOVE IS_VBPOK-ZJQBM TO CS_LIPS-ZJQBM .endmethod.

完事激活

3、BADI:SMOD_V50B0001->EXIT_SAPLV50I_010添加增强逻辑

  METHOD if_ex_smod_v50b0001~exit_saplv50i_010.READ TABLE extension2 INTO DATA(ls_extension2) WITH KEY param = 'LIKP' field = 'ZADDRESS' .IF sy-subrc = 0 .MOVE ls_extension2-value TO cs_vbkok-zaddress .CLEAR : ls_extension2 .ENDIF .READ TABLE extension2 INTO ls_extension2 WITH KEY param = 'LIKP' field = 'ZCONTACT' .IF sy-subrc = 0 .MOVE ls_extension2-value TO cs_vbkok-zcontact .CLEAR : ls_extension2 .ENDIF .READ TABLE extension2 INTO ls_extension2 WITH KEY param = 'LIKP' field = 'ZTEL' .IF sy-subrc = 0 .MOVE ls_extension2-value TO cs_vbkok-ztel .CLEAR : ls_extension2 .ENDIF .READ TABLE extension2 INTO ls_extension2 WITH KEY param = 'LIKP' field = 'ZORD' .IF sy-subrc = 0 .MOVE ls_extension2-value TO cs_vbkok-zord .CLEAR : ls_extension2 .ENDIF .READ TABLE extension2 INTO ls_extension2 WITH KEY param = 'LIKP' field = 'ZWLGS' .IF sy-subrc = 0 .MOVE ls_extension2-value TO cs_vbkok-zwlgs .CLEAR : ls_extension2 .ENDIF .READ TABLE extension2 INTO ls_extension2 WITH KEY param = 'LIKP' field = 'ZFWS' .IF sy-subrc = 0 .MOVE ls_extension2-value TO cs_vbkok-zfws .CLEAR : ls_extension2 .ENDIF .READ TABLE extension2 INTO ls_extension2 WITH KEY param = 'LIKP' field = 'ZXSQD' .IF sy-subrc = 0 .MOVE ls_extension2-value TO cs_vbkok-zxsqd .CLEAR : ls_extension2 .ENDIF .READ TABLE extension2 INTO ls_extension2 WITH KEY param = 'LIKP' field = 'ZCRTID' .IF sy-subrc = 0 .MOVE ls_extension2-value TO cs_vbkok-zcrtid .CLEAR : ls_extension2 .ENDIF .LOOP AT ct_vbpok ASSIGNING FIELD-SYMBOL(<fs_vbpok>) .LOOP AT extension2 INTO ls_extension2 WHERE param = 'LIPS' AND field = 'ZJQBM' AND row = <fs_vbpok>-posnr_vl .MOVE ls_extension2-value TO <fs_vbpok>-zjqbm .CLEAR ls_extension2 .ENDLOOP .ENDLOOP .ENDMETHOD.

 完事激活

4、BAPI相关代码

    lv_head_data-deliv_numb   = lv_vbeln_in .lv_head_cont-deliv_numb   = lv_vbeln_in .lv_delivery               = lv_vbeln_in .SELECT * FROM lips INTO TABLE @DATA(lt_lips_tab) WHERE vbeln = @lv_vbeln_in .LOOP AT import_info-mt_sd002_request-import_item[] INTO ls_item .ls_item_data-deliv_numb = lv_vbeln_in .ls_item_data-deliv_item = ls_item-posnr .ls_item_data-dlv_qty    = ls_item-lfimg .READ TABLE lt_lips_tab INTO DATA(ls_lips_con) WITH KEY posnr = ls_item-posnr .IF sy-subrc = 0 .ls_item_data-fact_unit_nom   = ls_lips_con-umvkz .ls_item_data-fact_unit_denom = ls_lips_con-umvkn .ENDIF .APPEND ls_item_data TO lt_item_data .ls_item_cont-deliv_numb = lv_vbeln_in .ls_item_cont-deliv_item = ls_item-posnr .ls_item_cont-chg_delqty = 'X' .APPEND ls_item_cont TO lt_item_cont .ls_item_data_spl-deliv_numb = lv_vbeln_in .ls_item_data_spl-deliv_item = ls_item-posnr .ls_item_data_spl-stge_loc   = ls_item-lgort .APPEND ls_item_data_spl TO lt_item_data_spl .*扩展字段处理.IF import_info-mt_sd002_request-import_head-zaddress IS NOT INITIAL .ls_extension2-field = 'ZADDRESS' .ls_extension2-param = 'LIKP' .ls_extension2-value = import_info-mt_sd002_request-import_head-zaddress .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .IF import_info-mt_sd002_request-import_head-zcontact IS NOT INITIAL .ls_extension2-field = 'ZCONTACT' .ls_extension2-param = 'LIKP' .ls_extension2-value = import_info-mt_sd002_request-import_head-zcontact .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .IF import_info-mt_sd002_request-import_head-ztel IS NOT INITIAL .ls_extension2-field = 'ZTEL' .ls_extension2-param = 'LIKP' .ls_extension2-value = import_info-mt_sd002_request-import_head-ztel .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .IF import_info-mt_sd002_request-import_head-zord IS NOT INITIAL .ls_extension2-field = 'ZORD' .ls_extension2-param = 'LIKP' .ls_extension2-value = import_info-mt_sd002_request-import_head-zord .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .IF import_info-mt_sd002_request-import_head-zwlgs IS NOT INITIAL .ls_extension2-field = 'ZWLGS' .ls_extension2-param = 'LIKP' .ls_extension2-value = import_info-mt_sd002_request-import_head-zwlgs .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .IF import_info-mt_sd002_request-import_head-zfws IS NOT INITIAL .ls_extension2-field = 'ZFWS' .ls_extension2-param = 'LIKP' .ls_extension2-value = import_info-mt_sd002_request-import_head-zfws .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .IF import_info-mt_sd002_request-import_head-zxsqd IS NOT INITIAL .ls_extension2-field = 'ZXSQD' .ls_extension2-param = 'LIKP' .ls_extension2-value = import_info-mt_sd002_request-import_head-zxsqd .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .IF import_info-mt_sd002_request-import_head-zcrtid IS NOT INITIAL .ls_extension2-field = 'ZCRTID' .ls_extension2-param = 'LIKP' .ls_extension2-value = import_info-mt_sd002_request-import_head-zcrtid .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .IF ls_item-zjqbm IS NOT INITIAL .ls_extension2-field = 'ZJQBM' .ls_extension2-param = 'LIPS' .ls_extension2-row   = ls_item-posnr .ls_extension2-value = ls_item-zjqbm .APPEND ls_extension2 TO lt_extension2 .CLEAR : ls_extension2 .ENDIF .CLEAR : ls_item ,ls_item_data ,ls_item_cont ,ls_item_data_spl ,ls_lips.ENDLOOP.CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'EXPORTINGheader_data    = lv_head_dataheader_control = lv_head_contdelivery       = lv_deliveryTABLESitem_data      = lt_item_dataitem_control   = lt_item_contextension1     = lt_extensionextension2     = lt_extension2return         = lt_returnitem_data_spl  = lt_item_data_spl.

*增强BUG:做完这俩增强行项目扩展字段可以更新,但是抬头还是不行,最后也没发现问题。

DEBUG找到增强点MV50AFZ1->USEREXIT_SAVE_DOCUMENT_PREPARE

经过测试,可以抛内存将抬头的扩展字段写入这个增强点。

这篇关于BAPI_*_DELIVERY_CHANGE BAPI附加字段增强的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/250259

相关文章

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

fzu 2277 Change 线段树

Problem 2277 Change Time Limit: 2000 mSec    Memory Limit : 262144 KB  Problem Description There is a rooted tree with n nodes, number from 1-n. Root’s number is 1.Each node has a value ai.

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

674 - Coin Change

一道很水的DP,但我做的时候也很费劲,由于存在面值为1的时候,所以所有面额都至少有1种方法。 推导出状态方程就是 dp(V,step) += dp(V - i * coin[step],step - 1); 其中V为当前的面值,coin[step]为硬币的面额,递归边界,如果step == 0(也就是递归到硬币面额为1的时候,返回1); #include<cstdio>#include<

黑神话:悟空》增加草地绘制距离MOD使游戏场景看起来更加广阔与自然,增强了游戏的沉浸式体验

《黑神话:悟空》增加草地绘制距离MOD为玩家提供了一种全新的视觉体验,通过扩展游戏中草地的绘制距离,增加了场景的深度和真实感。该MOD通过增加草地的绘制距离,使游戏场景看起来更加广阔与自然,增强了游戏的沉浸式体验。 增加草地绘制距离MOD安装 1、在%userprofile%AppDataLocalb1SavedConfigWindows目录下找到Engine.ini文件。 2、使用记事本编辑

国产隔离放大器:增强信号完整性和系统安全性的指南

隔离放大器是电子领域的关键组件,特别是在信号完整性和电气隔离至关重要的应用中。这些放大器隔离输入和输出信号,使它们能够在没有直接电气连接的情况下跨不同系统传输数据。这确保了电路一部分的高压尖峰或噪声不会影响另一部分,从而保护了系统和用户。随着国产隔离放大器的不断发展,它们提供了性能、可靠性和成本效益的完美结合,使其成为工程师和系统设计师的理想选择。 1. 了解国产隔离放大器的优势 增强信号

MATLAB控制USRP的附加功能安装包

请按照你手里的USRP型号选择对应的MATLAB附加功能包,安好后直接配置即可,这里包含了以下型号的USRP:X300,X310,X410(USRP x-eries)N300,N310, N320,N321, E312,E310,USRP- B200, B200mini, B200mini-i, B205mini-i或B210, SRP- N200, N210或USRP2™.基本涵盖了所有的USR

jmeter压力测试,通过LLM利用RAG实现知识库问答,NEO4J部署,GraphRAG以知识图谱在查询时增强提示实现更准确的知识库问答(9/7)

前言         这周也是杂七杂八的一天(高情商:我是一块砖,哪里需要往哪里搬),首先是接触了jemter这个压力测试工具,然后帮公司的AIGC项目编写使用手册和问答手册的第一版,并通过这个平台的智能体实现知识库问答的功能展示,以及部分个人扩展和思考(NEO4J创建知识图谱的GraphRAG)。 Jmeter         Jmeter是一个压力测试工具,一开始导师叫我熟悉的时候我还说

Java高级特性增强-NIO

GitHub:https://github.com/wangzhiwubigdata/God-Of-BigData 关注公众号,内推,面试,资源下载,关注更多大数据技术~大数据成神之路~预计更新500+篇文章,已经更新50+篇~ **Java高级特性增强-NIO 本部分网络上有大量的资源可以参考,在这里做了部分整理并做了部分勘误,感谢前辈的付出,每