• 创建委外加工采购申请时更新组件——BAPI_PR_CREATE


    效果:

    物料表的组件

    创建采购申请后的组件

    代码:

    DATA: ls_header  TYPE bapimereqheader,
          ls_headerx TYPE bapimereqheaderx,
          lt_return  TYPE TABLE OF bapiret2,
          lt_item    TYPE TABLE OF bapimereqitemimp,
          ls_item    TYPE bapimereqitemimp,
          lt_itemx   TYPE TABLE OF bapimereqitemx,
          ls_itemx   TYPE bapimereqitemx,
          lt_bom     TYPE TABLE OF bapimereqcomponent,
          ls_bom     TYPE bapimereqcomponent,
          lt_bomx    TYPE TABLE OF bapimereqcomponentx,
          ls_bomx    TYPE bapimereqcomponentx.
    
    DATA: lv_prnumber TYPE banfn.
    
    ls_header-pr_type = 'ZLC'.
    ls_headerx-pr_type = 'X'.
    
    ls_item-preq_item = ls_itemx-preq_item = '00010'.
    ls_item-pur_group = '204'.
    ls_item-material = ls_item-material_external = 'ATBQ0410-22SVA-1'.
    ls_item-plant = '2000'.
    ls_item-deliv_date = sy-datum.
    ls_item-store_loc = '2172'.
    ls_item-quantity = 10.
    ls_item-unit = 'PCS'.
    ls_item-item_cat = 'L'.
    ls_item-bomexpl_no = '99999999'.
    
    ls_itemx-pur_group = 'X'.
    ls_itemx-material = ls_itemx-material_external = 'X'.
    ls_itemx-plant = 'X'.
    ls_itemx-deliv_date = 'X'.
    ls_itemx-store_loc = 'X'.
    ls_itemx-quantity = 'X'.
    ls_itemx-unit = 'X'.
    ls_itemx-item_cat = 'X'.
    ls_itemx-bomexpl_no = 'X'.
    
    APPEND ls_item TO lt_item.
    APPEND ls_itemx TO lt_itemx.
    CLEAR: ls_item,ls_itemx.
    
    ls_bom-preq_item = ls_bomx-preq_item = '00010'.
    ls_bom-item_no = ls_bomx-item_no = '0001'.
    ls_bom-material = ls_bom-material_external = 'ATBQ0410-11'.
    ls_bom-entry_quantity = 20.
    ls_bom-entry_uom = 'PCS'.
    ls_bom-plant = '2000'.
    ls_bom-item_cat = 'L'.
    ls_bom-change_id = 'R'.
    
    ls_bomx-material = ls_bomx-material_external = 'X'.
    ls_bomx-entry_quantity = 'X'.
    ls_bomx-entry_uom = 'X'.
    ls_bomx-plant = 'X'.
    ls_bomx-item_cat = 'X'.
    ls_bomx-change_id = 'X'.
    APPEND ls_bom TO lt_bom.
    APPEND ls_bomx TO lt_bomx.
    CLEAR: ls_bom,ls_bomx.
    
    ls_bom-preq_item = ls_bomx-preq_item = '00010'.
    ls_bom-item_no = ls_bomx-item_no = '0002'.
    ls_bom-material = ls_bom-material_external = 'ATBQ0410-11A'.
    ls_bom-entry_quantity = 40.
    ls_bom-entry_uom = 'PCS'.
    ls_bom-plant = '2000'.
    ls_bom-item_cat = 'L'.
    ls_bom-change_id = 'R'.
    
    ls_bomx-material = ls_bomx-material_external = 'X'.
    ls_bomx-entry_quantity = 'X'.
    ls_bomx-entry_uom = 'X'.
    ls_bomx-plant = 'X'.
    ls_bomx-item_cat = 'X'.
    ls_bomx-change_id = 'X'.
    APPEND ls_bom TO lt_bom.
    APPEND ls_bomx TO lt_bomx.
    CLEAR: ls_bom,ls_bomx.
    
    CALL FUNCTION 'BAPI_PR_CREATE'
      EXPORTING
        prheader      = ls_header
        prheaderx     = ls_headerx
      IMPORTING
        number        = lv_prnumber
      TABLES
        return        = lt_return
        pritem        = lt_item
        pritemx       = lt_itemx
        prcomponents  = lt_bom
        prcomponentsx = lt_bomx.
    
    READ TABLE lt_return WITH KEY type = 'E' TRANSPORTING NO FIELDS.
    IF sy-subrc = 0.
      ROLLBACK WORK.
    ELSE.
      COMMIT WORK AND WAIT.
    ENDIF.
    
    cl_demo_output=>write( lv_prnumber ).
    cl_demo_output=>write( lt_return ).
    cl_demo_output=>display(  ).
    木叶飞舞之处,火亦生生不息
  • 相关阅读:
    ASIHttpRequest框架使用说明-----post请求 以及监听网络
    tableView中当我们向右滑动不出现删除按钮(实现了代理方法)的原因
    自定义view 添加动画的时候一定要注意
    判断一个点是否在view上
    Razor视图引擎 语法学习(二)
    Razor视图引擎 语法学习(一)
    Razor语法大全
    文件
    win10下的使用
    gdb调试器的使用
  • 原文地址:https://www.cnblogs.com/StephenAmell/p/14898305.html
Copyright © 2020-2023  润新知