ABAP EWM HU打包
创建HU,分配DN并分配父HU
FUNCTION zewm_pack_hu.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" REFERENCE(IV_LGNUM) TYPE /SCWM/LGNUM
*" REFERENCE(IV_VBELN) TYPE VBELN_VL
*" EXPORTING
*" REFERENCE(EV_SEVERITY) TYPE BAPI_MTYPE
*" REFERENCE(EV_MSG) TYPE BAPI_MSG
*" TABLES
*" IT_TABLE TYPE ZEWM_T_003
*"----------------------------------------------------------------------TYPES: BEGIN OF ty_hu_guid,huident TYPE zewmt001-huident,guid_hu TYPE /scwm/guid_hu,END OF ty_hu_guid.DATA:lo_dlv_pack TYPE REF TO /scwm/cl_dlv_pack_ibdl,ls_huhdr TYPE /scwm/s_huhdr_int,lt_hu_guid TYPE TABLE OF ty_hu_guid,ls_quan TYPE /scwm/s_quan,ls_stock TYPE /scwm/s_pack_stock,lv_id TYPE /scwm/de_matid,lv_severity TYPE bapi_mtype,lv_msg TYPE bapi_msg.DEFINE set_msg.ev_severity = &1.ev_msg = &2.END-OF-DEFINITION.SELECT *FROM /scdl/db_refdocINTO TABLE @DATA(lt_refdoc)WHERE refdocno = @iv_vbeln " 根据交货单取值AND refitemno <> ''AND refdoccat = 'ERP'.IF sy-subrc NE 0.set_msg 'E' '未查询到交货单'.EXIT.ELSE.SORT lt_refdoc BY refitemno.READ TABLE lt_refdoc INTO DATA(ls_refdoc) INDEX 1.ENDIF.IF it_table[] IS INITIAL.set_msg 'E' 'IT_TABLE必填'.EXIT.ENDIF./scwm/cl_tm=>cleanup( iv_lgnum = iv_lgnum ).CREATE OBJECT lo_dlv_pack.
*----INITCALL METHOD lo_dlv_pack->initEXPORTINGiv_lgnum = iv_lgnumit_docid = VALUE /scwm/tt_docid( ( docid = ls_refdoc-docid ) )iv_doccat = 'PDI'iv_no_refresh = 'X'iv_lock_dlv = 'X'./scwm/cl_dlv_pack_ibdl=>gv_online = 'X'.CLEAR:lt_hu_guid,lv_severity,lv_msg." 创建父HULOOP AT it_table ASSIGNING FIELD-SYMBOL(<fs_table>) WHERE hu_dad NE ''GROUP BY ( hu_dad = <fs_table>-hu_dad ). " 按照父HU分组CLEAR:lv_id.PERFORM frm_get_huid USING <fs_table>-hu_dad_typ CHANGING lv_id.CLEAR:ls_huhdr.CALL METHOD lo_dlv_pack->/scwm/if_pack_bas~create_huEXPORTINGiv_pmat = lv_idiv_huident = <fs_table>-hu_dadRECEIVINGes_huhdr = ls_huhdrEXCEPTIONSerror = 1OTHERS = 2.IF sy-subrc EQ 0 OR ( sy-msgno EQ '017' AND sy-msgid EQ '/SCWM/HU_WM' )."记录HU和GUID关系APPEND INITIAL LINE TO lt_hu_guid ASSIGNING FIELD-SYMBOL(<fs_hu_guid>).<fs_hu_guid>-guid_hu = ls_huhdr-guid_hu.<fs_hu_guid>-huident = <fs_table>-hu_dad.ELSE.lv_severity = 'E'.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_msg.LOOP AT GROUP <fs_table> ASSIGNING FIELD-SYMBOL(<fs_group>).<fs_group>-mtype = 'E'.<fs_group>-msg = |创建父HU报错:{ lv_msg }|.ENDLOOP.ENDIF.ENDLOOP.SORT lt_hu_guid BY huident.IF lv_severity NE 'E'." 创建子HU,并移入父HU下LOOP AT it_table ASSIGNING <fs_table>.CLEAR:lv_id,ls_refdoc.PERFORM frm_get_huid USING <fs_table>-hu_typ CHANGING lv_id.READ TABLE lt_refdoc INTO ls_refdoc WITH KEY refitemno = <fs_table>-posnr BINARY SEARCH.IF sy-subrc NE 0.<fs_table>-msg = '未查询到此交货单行数据,请检查'.<fs_table>-mtype = 'E'.CONTINUE.ENDIF." 创建子HUCLEAR:ls_huhdr.CALL METHOD lo_dlv_pack->/scwm/if_pack_bas~create_huEXPORTINGiv_pmat = lv_idiv_huident = <fs_table>-huidentRECEIVINGes_huhdr = ls_huhdrEXCEPTIONSerror = 1OTHERS = 2.IF sy-subrc EQ 0 OR ( sy-msgno EQ '017' AND sy-msgid EQ '/SCWM/HU_WM' )..ls_stock-qdocid = ls_refdoc-docid.ls_stock-qitmid = ls_refdoc-itemid.ls_quan-unit = <fs_table>-unit.ls_quan-quan = <fs_table>-quan."将库存移入HU中CALL METHOD lo_dlv_pack->/scwm/if_pack_bas~pack_stockEXPORTINGiv_dest_hu = ls_huhdr-guid_huis_material = ls_stockis_quantity = ls_quanEXCEPTIONSerror = 1OTHERS = 2.IF sy-subrc <> 0.lv_severity = 'E'.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_msg.<fs_table>-msg = |物料移入HU报错:{ lv_msg }|.<fs_table>-mtype = 'E'.ELSE.IF <fs_table>-hu_dad IS NOT INITIAL.READ TABLE lt_hu_guid INTO DATA(ls_hu_guid) WITH KEY huident = <fs_table>-hu_dad BINARY SEARCH.IF sy-subrc = 0." 子HU移入父HUCALL METHOD lo_dlv_pack->pack_huEXPORTINGiv_source_hu = ls_huhdr-guid_huiv_dest_hu = ls_hu_guid-guid_huEXCEPTIONSOTHERS = 2.IF sy-subrc <> 0.lv_severity = 'E'.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_msg.<fs_table>-msg = |子HU移入父HU报错:{ lv_msg }|.<fs_table>-mtype = 'E'.ENDIF.ENDIF.ENDIF.ENDIF.ELSE.lv_severity = 'E'.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_msg.<fs_table>-msg = |创建子HU报错:{ lv_msg }|.<fs_table>-mtype = 'E'.ENDIF.ENDLOOP.ENDIF.IF lv_severity NE 'E'." 保存HUCALL METHOD lo_dlv_pack->/scwm/if_pack_bas~saveEXPORTINGiv_commit = 'X'iv_wait = 'X'EXCEPTIONSerror = 1OTHERS = 2.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_msg.lv_msg = |打包失败:{ lv_msg }|.set_msg 'E' lv_msg.ELSE.set_msg 'S' '打包成功'.ENDIF.ELSE.set_msg 'E' '打包失败,请检查行项目明细错误'.ENDIF./scwm/cl_tm=>cleanup( iv_lgnum = iv_lgnum ).ENDFUNCTION.
FORM frm_get_huid USING lv_typeCHANGING lv_id TYPE /scwm/de_matid.DATA:lv_hu TYPE /scwm/de_matnr.lv_hu = lv_type.CALL FUNCTION 'CONVERSION_EXIT_MDLPD_INPUT'EXPORTINGinput = lv_huIMPORTINGoutput = lv_id.ENDFORM.
ABAP EWM HU打包相关推荐
- SAP HUM 使用HU02将几个HU打包到一个外层新的HU号码里
SAP HUM 使用HU02将几个HU打包到一个外层新的HU号码里 如下HUMO结果, 想把1000023952/1000023953包到另外一个新HU里,形成一个嵌套HU. 操作方法如下:事务代码H ...
- [转载]SAP_HUM使用HU02将几个HU打包到一个外层新的HU号码里
原文地址:SAP_HUM使用HU02将几个HU打包到一个外层新的HU号码里作者:勇闯天涯的虾客 SAP HUM 使用HU02将几个HU打包到一个外层新的HU号码里 如下HUMO结果, 想把100002 ...
- ABAP EWM模拟 /SCWM/ADGI过账更改HU数量
需求: /SCWM/ADGI -> 库存更正 -> 过账发货部分数量 进行修改数量,产生WT. 比较简单哈,封装了一个函数,话不多说,直接上代码!奥里给~~~ FUNCTION zewm_ ...
- ABAP EWM 库存状态变更
仓库间调拨,更改目标仓位目标库存地点,用fm:/SCWM/STOCK_CHANGE,前台tcode:/n/scwm/post FUNCTION zewm_change_stock. *"-- ...
- ABAP EWM PRDI交货单过账
/n/scwm/prdi 交货单过账 DATA: lo_sp_inb TYPE REF TO /scwm/cl_sp_prd_inb,lo_adapter_handler TYPE REF TO /s ...
- ABAP EWM PRDO交货单过账
/N/SCWM/PRDO 交货单过账 FUNCTION zewm_post_pdo. *"-------------------------------------------------- ...
- SAP EWM - 物料主数据 - EWM系统包装视图属性
SAP EWM - 物料主数据 - EWM系统包装视图属性 https://mp.weixin.qq.com/s/ei3G_xhLnvWMcTVTB2RIsg 该页签用于保存产品主数据在打包至HU时的 ...
- SAP HUM 将HU与检验批号码解除关联关系
SAP HUM 将HU与检验批号码解除关联关系 外向交货单 2000328841,试图执行事务代码VL02N对其作发货过账, 系统报错, 报错信息:HU item refers to an inspe ...
- 2020码农干货铺(原SAP干货铺)公众号文章清单
干货来袭,Fuck Goods Coming: 之前写的付费文章列表: 我是怎样调试BAPI的,以F-02为例 我这个老码农是怎么debug标准程序的 十年老码农搬砖习惯和技巧 Odata 增删改查 ...
最新文章
- 用php对文件的操作
- VS2008编译汇编程序的问题
- Centos7 install firefox-china
- 【2012百度之星/初赛下】A:度度熊就是要刷排名第一
- 将Ubuntu安装到U盘
- 刚刚做了一个菜单导航变亮的效果,共享一下吧!
- oSIP开发者手册 (三)
- 用多itemtype的具有addHeaderView的recyclerview,还是scrollview?
- 【IBM Tivoli Identity Manager 学习文档】3 基本架构
- html选择地区代码,37款城市地区选择器html代码_简约干净
- win10 SystemParametersInfo 设置屏保 不好使_火爆抖音的旋转时钟屏保,超酷超炫的...
- 文献综述_软件单元测试
- 如何显示电脑已连接的WiFi的密码
- pytest-allure美化——定制化输出测试报告
- 从Waterfall到Bidding,开发者离Open Bidding还有多远
- 电路图符号超强科普,轻松看懂电路图!(推荐收藏)
- mysql去重汇总_Mysql常用SQL汇总
- 【Debug】matlab中APP Designer,legend图例线条颜色一样
- ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)[已解决]
- 计算机网络----宽带速度kbps、KB、Mbps
热门文章
- 智慧城市 智慧园区_真正的智慧
- vue项目中videoPlayer 的 src 视频地址参数动态修改---方法
- 中国古代历史发展的转折点
- SDUT_汶川地震买米_贪心
- 你还在疯狂加班打码?兄dei,不如跟我学做超融合吧!
- maven java archetype_Maven-自定义工程骨架archetype
- [Atcoder Yahoo Contest 2019]D.Ears(动态规划)
- AI说人“画” | Heart Broken, 游戏中被AI碾压的我们都中了哪些套路?
- 关于“尺蠖(huò)效应”
- 玛娜火花Mana Spark for Mac游戏介绍