Chinaunix首页 | 论坛 | 博客
  • 博客访问: 391792
  • 博文数量: 66
  • 博客积分: 1235
  • 博客等级: 少尉
  • 技术积分: 694
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-05 12:24
文章分类

全部博文(66)

文章存档

2010年(66)

分类:

2010-06-18 15:58:27

 
REPORT  zz_test_create_sls.

PARAMETERS: vbeln LIKE vbak-vbeln OBLIGATORY MEMORY ID aun.


DATA: lf_vbeln TYPE vbeln_vl,
      lf_num TYPE vbnum,
      ls_deli TYPE bapishpdelivnumb,
      lt_deli TYPE TABLE OF bapishpdelivnumb,
      lt_order TYPE TABLE OF bapidlvreftosalesorder,
      ls_order TYPE bapidlvreftosalesorder,
      ls_itm TYPE bapidlvitemcreated,
      lt_itm TYPE TABLE OF bapidlvitemcreated,
      ls_ext TYPE bapiparex,
      lt_extin TYPE TABLE OF bapiparex,
      lt_extout TYPE TABLE OF bapiparex,
      ls_ret TYPE bapiret2,
      lt_return TYPE TABLE OF bapiret2.

TYPES:BEGIN OF ty_vbap,
      vbeln LIKE vbap-vbeln,
      posnr LIKE vbap-posnr,
      kwmeng LIKE vbap-kwmeng,
      meins LIKE vbap-meins,
      END OF ty_vbap.
DATA:it_vbap TYPE TABLE OF ty_vbap.
DATA:ws_vbap TYPE ty_vbap.
* SalesOrderItems (here: complete sales order)

SELECT vbeln posnr kwmeng meins INTO TABLE it_vbap FROM vbap WHERE vbeln = vbeln.
LOOP AT it_vbap INTO ws_vbap.
  ls_order-ref_doc = ws_vbap-vbeln.
  ls_order-ref_item = ws_vbap-posnr.
  ls_order-dlv_qty = ws_vbap-kwmeng.
  ls_order-sales_unit = ws_vbap-meins.
  APPEND ls_order TO lt_order.
ENDLOOP.

*ls_order-ref_doc = vbeln.
*append ls_order to lt_order.

* ExtensionIn
ls_ext = 'My additional input'.
APPEND ls_ext TO lt_extin.

* Synchronous RFC
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
*   DESTINATION logsys
*   EXPORTING
*     SHIP_POINT              =
*     DUE_DATE                =
*     DEBUG_FLG               =
  IMPORTING
    delivery                = lf_vbeln
    num_deliveries          = lf_num
  TABLES
    sales_order_items       = lt_order
    extension_in            = lt_extin
    deliveries              = lt_deli
    created_items           = lt_itm
    extension_out           = lt_extout
    return                  = lt_return
          .


WRITE: / 'Delivery:', lf_vbeln,
       / 'NumDeliveries:', lf_num,
       / 'Deliveries:'.
LOOP AT lt_deli INTO ls_deli.
  WRITE ls_deli-deliv_numb.
ENDLOOP.

IF NOT lt_itm[] IS INITIAL.
  WRITE: / 'CreatedItems:'.
  LOOP AT lt_itm INTO ls_itm.
    WRITE: / ls_itm-ref_doc,
             ls_itm-ref_item,
             ls_itm-deliv_numb,
             ls_itm-deliv_item,
             ls_itm-material,
             ls_itm-dlv_qty,
             ls_itm-sales_unit,
             ls_itm-sales_unit_iso.
  ENDLOOP.
ENDIF.

IF NOT lt_return[] IS INITIAL.
  WRITE: / 'Return:'.
  LOOP AT lt_return INTO ls_ret.
    WRITE: / ls_ret-type, ls_ret-id, ls_ret-number,
             ls_ret-message,
           /.
  ENDLOOP.
ENDIF.

IF NOT lt_extout[] IS INITIAL.
  WRITE: / 'ExtensionOut:'.
  LOOP AT lt_extout INTO ls_ext.
    WRITE: / ls_ext.
  ENDLOOP.
ENDIF.

* COMMIT WORK
IF NOT lf_vbeln IS INITIAL.
  COMMIT WORK.
ENDIF.
阅读(10120) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~