BAPI_SALESDOCU_CREATEFROMDATA1--VA01

REPORT z_bapi_salesorder_create.* Parameters* Sales document typeSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text FOR FIELD p_auart.PARAMETERS: p_auart TYPE auart OBLIGATORY.SELECTION-SCREEN END OF LINE.* Sales organizationSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text1 FOR FIELD p_vkorg.PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.SELECTION-SCREEN END OF LINE.* Distribution channelSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text2 FOR FIELD p_vtweg.PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.SELECTION-SCREEN END OF LINE.* Division.SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text3 FOR FIELD p_spart.PARAMETERS: p_spart TYPE spart OBLIGATORY.SELECTION-SCREEN END OF LINE.SKIP 1.* Sold-toSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text4 FOR FIELD p_sold.PARAMETERS: p_sold  TYPE kunnr OBLIGATORY.SELECTION-SCREEN END OF LINE.* Ship-toSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text5 FOR FIELD p_ship.PARAMETERS: p_ship  TYPE kunnr OBLIGATORY.SELECTION-SCREEN END OF LINE.SKIP 1.* MaterialSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text6 FOR FIELD p_matnr.PARAMETERS: p_matnr TYPE matnr   OBLIGATORY.SELECTION-SCREEN END OF LINE.* Quantity.SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text7 FOR FIELD p_menge.PARAMETERS: p_menge TYPE kwmeng  OBLIGATORY.SELECTION-SCREEN END OF LINE.* PlantSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 2(20) v_text9 FOR FIELD p_plant.PARAMETERS: p_plant TYPE werks_d OBLIGATORY.SELECTION-SCREEN END OF LINE.* Data declarations.DATA: v_vbeln            LIKE vbak-vbeln.DATA: header             LIKE bapisdhead1.DATA: headerx            LIKE bapisdhead1x.DATA: item               LIKE bapisditem  OCCURS 0 WITH HEADER LINE.DATA: itemx              LIKE bapisditemx OCCURS 0 WITH HEADER LINE.DATA: partner            LIKE bapipartnr  OCCURS 0 WITH HEADER LINE.DATA: return             LIKE bapiret2    OCCURS 0 WITH HEADER LINE.DATA: lt_schedules_inx   TYPE STANDARD TABLE OF bapischdlx                         WITH HEADER LINE.DATA: lt_schedules_in    TYPE STANDARD TABLE OF bapischdl                         WITH HEADER LINE.* Initialization.INITIALIZATION.v_text   = 'Order type'.v_text1  = 'Sales Org'.v_text2  = 'Distribution channel'.v_text3  = 'Division'.v_text4  = 'Sold-to'.v_text5  = 'Ship-to'.v_text6  = 'Material'.v_text7  = 'Quantity'.v_text9  = 'Plant'.* Start-of-selection.START-OF-SELECTION.* Header data* Sales document type  header-doc_type = p_auart.  headerx-doc_type = 'X'.* Sales organization  header-sales_org = p_vkorg.  headerx-sales_org = 'X'.* Distribution channel  header-distr_chan  = p_vtweg.  headerx-distr_chan = 'X'.* Division  header-division = p_spart.  headerx-division = 'X'.  headerx-updateflag = 'I'.* Partner data* Sold to  partner-partn_role = 'AG'.  partner-partn_numb = p_sold.  APPEND partner.* Ship to  partner-partn_role = 'WE'.  partner-partn_numb = p_ship.  APPEND partner.* ITEM DATA  itemx-updateflag = 'I'.* Line item number.  item-itm_number = '000010'.  itemx-itm_number = 'X'.* Material  item-material = p_matnr.  itemx-material = 'X'.* Plant  item-plant    = p_plant.  itemx-plant   = 'X'.* Quantity  item-target_qty = p_menge.  itemx-target_qty = 'X'.  APPEND item.  APPEND itemx.*   Fill schedule lines  lt_schedules_in-itm_number = '000010'.  lt_schedules_in-sched_line = '0001'.  lt_schedules_in-req_qty    = p_menge.  APPEND lt_schedules_in.*   Fill schedule line flags  lt_schedules_inx-itm_number  = '000010'.  lt_schedules_inx-sched_line  = '0001'.  lt_schedules_inx-updateflag  = 'X'.  lt_schedules_inx-req_qty     = 'X'.  APPEND lt_schedules_inx.* Call the BAPI to create the sales order.  CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'       EXPORTING            sales_header_in     = header            sales_header_inx    = headerx       IMPORTING            salesdocument_ex    = v_vbeln       TABLES            return              = return            sales_items_in      = item            sales_items_inx     = itemx            sales_schedules_in  = lt_schedules_in            sales_schedules_inx = lt_schedules_inx            sales_partners      = partner.* Check the return table.  LOOP AT return WHERE type = 'E' OR type = 'A'.    EXIT.  ENDLOOP.  IF sy-subrc = 0.    WRITE: / 'Error in creating document'.  ELSE.* Commit the work.    COMMIT WORK AND WAIT.    WRITE: / 'Document ', v_vbeln, ' created'.  ENDIF.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值