创建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打包相关推荐

  1. SAP HUM 使用HU02将几个HU打包到一个外层新的HU号码里

    SAP HUM 使用HU02将几个HU打包到一个外层新的HU号码里 如下HUMO结果, 想把1000023952/1000023953包到另外一个新HU里,形成一个嵌套HU. 操作方法如下:事务代码H ...

  2. [转载]SAP_HUM使用HU02将几个HU打包到一个外层新的HU号码里

    原文地址:SAP_HUM使用HU02将几个HU打包到一个外层新的HU号码里作者:勇闯天涯的虾客 SAP HUM 使用HU02将几个HU打包到一个外层新的HU号码里 如下HUMO结果, 想把100002 ...

  3. ABAP EWM模拟 /SCWM/ADGI过账更改HU数量

    需求: /SCWM/ADGI -> 库存更正 -> 过账发货部分数量 进行修改数量,产生WT. 比较简单哈,封装了一个函数,话不多说,直接上代码!奥里给~~~ FUNCTION zewm_ ...

  4. ABAP EWM 库存状态变更

    仓库间调拨,更改目标仓位目标库存地点,用fm:/SCWM/STOCK_CHANGE,前台tcode:/n/scwm/post FUNCTION zewm_change_stock. *"-- ...

  5. 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 ...

  6. ABAP EWM PRDO交货单过账

    /N/SCWM/PRDO 交货单过账 FUNCTION zewm_post_pdo. *"-------------------------------------------------- ...

  7. SAP EWM - 物料主数据 - EWM系统包装视图属性

    SAP EWM - 物料主数据 - EWM系统包装视图属性 https://mp.weixin.qq.com/s/ei3G_xhLnvWMcTVTB2RIsg 该页签用于保存产品主数据在打包至HU时的 ...

  8. SAP HUM 将HU与检验批号码解除关联关系

    SAP HUM 将HU与检验批号码解除关联关系 外向交货单 2000328841,试图执行事务代码VL02N对其作发货过账, 系统报错, 报错信息:HU item refers to an inspe ...

  9. 2020码农干货铺(原SAP干货铺)公众号文章清单

    干货来袭,Fuck Goods Coming: 之前写的付费文章列表: 我是怎样调试BAPI的,以F-02为例 我这个老码农是怎么debug标准程序的 十年老码农搬砖习惯和技巧 Odata  增删改查 ...

最新文章

  1. 用php对文件的操作
  2. VS2008编译汇编程序的问题
  3. Centos7 install firefox-china
  4. 【2012百度之星/初赛下】A:度度熊就是要刷排名第一
  5. 将Ubuntu安装到U盘
  6. 刚刚做了一个菜单导航变亮的效果,共享一下吧!
  7. oSIP开发者手册 (三)
  8. 用多itemtype的具有addHeaderView的recyclerview,还是scrollview?
  9. 【IBM Tivoli Identity Manager 学习文档】3 基本架构
  10. html选择地区代码,37款城市地区选择器html代码_简约干净
  11. win10 SystemParametersInfo 设置屏保 不好使_火爆抖音的旋转时钟屏保,超酷超炫的...
  12. 文献综述_软件单元测试
  13. 如何显示电脑已连接的WiFi的密码
  14. pytest-allure美化——定制化输出测试报告
  15. 从Waterfall到Bidding,开发者离Open Bidding还有多远
  16. 电路图符号超强科普,轻松看懂电路图!(推荐收藏)
  17. mysql去重汇总_Mysql常用SQL汇总
  18. 【Debug】matlab中APP Designer,legend图例线条颜色一样
  19. ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)[已解决]
  20. 计算机网络----宽带速度kbps、KB、Mbps

热门文章

  1. 智慧城市 智慧园区_真正的智慧
  2. vue项目中videoPlayer 的 src 视频地址参数动态修改---方法
  3. 中国古代历史发展的转折点
  4. SDUT_汶川地震买米_贪心
  5. 你还在疯狂加班打码?兄dei,不如跟我学做超融合吧!
  6. maven java archetype_Maven-自定义工程骨架archetype
  7. [Atcoder Yahoo Contest 2019]D.Ears(动态规划)
  8. AI说人“画” | Heart Broken, 游戏中被AI碾压的我们都中了哪些套路?
  9. 关于“尺蠖(huò)效应”
  10. 玛娜火花Mana Spark for Mac游戏介绍