SAP ABAP 资产调配

该代码段展示了在SAP系统中,一个名为ZCLII_SI_FII012_S4_IB_SYN的函数处理逻辑。函数接收一系列输入参数,如请求头信息和详细项,进行数据赋值,然后调用另一个函数ZFG_GW_WMS_CARGOMOVEMENT进行处理。处理结果存储在导出参数中,包括返回信息和处理后的详细项数据。
摘要由CSDN通过智能技术生成

method ZCLII_SI_FII012_S4_IB_SYN~SI_FII012_S4_IB_SYN.
*** **** INSERT IMPLEMENTATION HERE **** ***

    " 函数导入参数
DATA: zbsart(4)   TYPE c,
      zzbmsid(15) TYPE c.
DATA lt_req_item TYPE TABLE OF ztwmscargomovement.
DATA ls_req_item LIKE LINE OF lt_req_item.
" 函数导出参数
DATA message(100) TYPE c.
DATA type(2) TYPE c.
DATA mblnr(10) TYPE c.
DATA budat LIKE sy-datum.
DATA lt_res_item TYPE TABLE OF ztwmsreswriteoffitem.
DATA ls_res_item LIKE LINE OF lt_res_item.
DATA zbudat LIKE sy-datum.
DATA zdoc_date LIKE sy-datum.
"接口传入参数
DATA ls_req_si_header TYPE ZCLDT_FII012_S4_REQ_HEAD.
DATA lt_req_si_item TYPE ZCLDT_FII012_S4_REQ_item_tab.
DATA ls_req_si_item LIKE LINE OF lt_req_si_item.
"接口传出参数
DATA ls_res_si_header TYPE ZCLDT_FII012_S4_RES_RETURN_HEA.
DATA lt_res_si_item TYPE ZCLDT_FII012_S4_RES_return_tab.
DATA ls_res_si_item LIKE LINE OF lt_res_si_item.
DATA return TYPE ZCLDT_FII012_S4_RES.
DATA oref1 TYPE REF TO cx_dynamic_check.

TRY.
    ls_req_si_header = input-MT_FII012_S4_REQ-head.
    lt_req_si_item = input-MT_FII012_S4_REQ-item.

    Zbsart = ls_req_si_header-bsart.
    zzbmsid = ls_req_si_header-zbmsid.
    zbudat = ls_req_si_header-budat.
    zdoc_date = ls_req_si_header-doc_date.

    LOOP AT lt_req_si_item INTO ls_req_si_item.
      ls_req_item-matnr = ls_req_si_item-matnr.
      ls_req_item-maktx = ls_req_si_item-maktx.
      ls_req_item-menge = ls_req_si_item-menge.
      ls_req_item-bprme = ls_req_si_item-bprme.
      ls_req_item-ebeln = ls_req_si_item-ebeln.
      ls_req_item-ebelp = ls_req_si_item-ebelp.
      ls_req_item-aufnr = ls_req_si_item-aufnr.
      ls_req_item-kostl = ls_req_si_item-kostl.
      ls_req_item-werks = ls_req_si_item-werks.
      ls_req_item-lgort = ls_req_si_item-lgort.
      ls_req_item-aedat = ls_req_si_item-aedat.
      ls_req_item-move_plant = ls_req_si_item-move_plant.
      ls_req_item-move_stloc = ls_req_si_item-move_stloc.
      ls_req_item-lifnr = ls_req_si_item-lifnr.
      ls_req_item-charg = ls_req_si_item-charg.
      ls_req_item-rsnum = ls_req_si_item-rsnum.
      ls_req_item-rspos = ls_req_si_item-rspos.
      ls_req_item-vbeln = ls_req_si_item-vbeln.
      ls_req_item-posnr = ls_req_si_item-posnr.
      ls_req_item-ord42 = ls_req_si_item-ord42.
      ls_req_item-anln1 = ls_req_si_item-anln1.
      ls_req_item-zjlaiy = ls_req_si_item-zjlaiy.
      ls_req_item-zbmsun = ls_req_si_item-zbmsun.
      ls_req_item-reqno = ls_req_si_item-reqno.
      ls_req_item-reqitem = ls_req_si_item-reqitem.
      ls_req_item-sobkz = ls_req_si_item-sobkz.
      APPEND ls_req_item TO lt_req_item.
      CLEAR ls_req_item.
    ENDLOOP.

    CALL FUNCTION 'ZFG_GW_WMS_CARGOMOVEMENT'
      EXPORTING
        bsart    = zbsart
        zbmsid   = zzbmsid
        budat    = zbudat
        doc_date = zdoc_date
      IMPORTING
        ztype    = type
        zmess    = message
        mblnr    = mblnr
        year     = budat
      TABLES
        req_item = lt_req_item
        res_item = lt_res_item.

    ls_res_si_header-type = type.
    ls_res_si_header-mess = message.
    ls_res_si_header-mblnr = mblnr.
    ls_res_si_header-budat = budat.

    LOOP AT lt_res_item INTO ls_res_item.
      ls_res_si_item-material = ls_res_item-material.
      ls_res_si_item-plant = ls_res_item-plant.
      ls_res_si_item-stge_loc = ls_res_item-stge_loc.
      ls_res_si_item-batch = ls_res_item-batch.
      ls_res_si_item-move_type = ls_res_item-move_type.
      ls_res_si_item-spec_stock = ls_res_item-spec_stock.
      ls_res_si_item-vendor = ls_res_item-vendor.
      ls_res_si_item-customer = ls_res_item-customer.
      ls_res_si_item-sales_ord = ls_res_item-sales_ord.
      ls_res_si_item-s_ord_item = ls_res_item-s_ord_item.
      ls_res_si_item-entry_qnt = ls_res_item-entry_qnt.
      ls_res_si_item-entry_uom = ls_res_item-entry_uom.
      ls_res_si_item-po_number = ls_res_item-po_number.
      ls_res_si_item-po_item = ls_res_item-po_item.
      ls_res_si_item-no_more_gr = ls_res_item-no_more_gr.
      ls_res_si_item-item_text = ls_res_item-item_text.
      ls_res_si_item-gr_rcpt = ls_res_item-gr_rcpt .
      ls_res_si_item-costcenter = ls_res_item-costcenter.
      ls_res_si_item-orderid = ls_res_item-orderid.
      ls_res_si_item-order_itno = ls_res_item-order_itno.
      ls_res_si_item-asset_no = ls_res_item-asset_no.
      ls_res_si_item-reserv_no = ls_res_item-reserv_no.
      ls_res_si_item-res_item = ls_res_item-res_item.
      ls_res_si_item-res_type = ls_res_item-res_type.
      ls_res_si_item-move_mat = ls_res_item-move_mat.
      ls_res_si_item-move_plant = ls_res_item-move_plant.
      ls_res_si_item-move_stloc = ls_res_item-move_stloc.
      ls_res_si_item-mvt_ind = ls_res_item-mvt_ind.
      ls_res_si_item-move_reas = ls_res_item-move_reas.
      ls_res_si_item-wbs_elem = ls_res_item-wbs_elem.
      ls_res_si_item-gl_account = ls_res_item-gl_account.
      ls_res_si_item-deliv_numb = ls_res_item-deliv_numb.
      ls_res_si_item-deliv_item = ls_res_item-deliv_item.
      ls_res_si_item-quantity = ls_res_item-quantity.
      ls_res_si_item-base_uom = ls_res_item-base_uom.
      ls_res_si_item-MBLPO = ls_res_item-MBLPO.
      APPEND ls_res_si_item TO lT_res_si_item.
      CLEAR ls_res_si_item.
    ENDLOOP.

  CATCH cx_dynamic_check INTO oref1.
    IF type = 'S'.
      message = oref1->get_text( ).
      CONCATENATE '执行成功,参数转换时发生错误:' message INTO ls_res_si_header-mess.
    ELSE.
      ls_res_si_header-type = 'E'.
      ls_res_si_header-mess = oref1->get_text( ).
    ENDIF.
ENDTRY.
return-return_head = ls_res_si_header.
return-return_item = lt_res_si_item.
output-MT_FII012_S4_RES = return.

endmethod.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值