当前位置: 首页 > news >正文

武汉个人做网站泉州全网营销优化

武汉个人做网站,泉州全网营销优化,广告传媒公司取名,深圳专业做网站专业公司1、销售订单BAPI创建 借贷项:SD_SALESDOCUMENT_CREATE 退货销售订单:BAPI_CUSTOMERRETURN_CREATE 正常销售订单:BAPI_SALESORDER_CREATEFROMDAT2 PS(换货具体看业务配置,换货退回可参考退货订单,换货发…

1、销售订单BAPI创建

借贷项:SD_SALESDOCUMENT_CREATE

退货销售订单:BAPI_CUSTOMERRETURN_CREATE

正常销售订单:BAPI_SALESORDER_CREATEFROMDAT2

PS(换货具体看业务配置,换货退回可参考退货订单换货发出可参考正常订单)

1.1、代码示例
    

"借贷项:SD_SALESDOCUMENT_CREATE"退换货销售订单:BAPI_CUSTOMERRETURN_CREATE"正常销售订单:BAPI_SALESORDER_CREATEFROMDAT2DATA : lv_posnr   TYPE char6 .DATA : lv_sched   TYPE char4 .DATA : lv_message TYPE char200 .DATA : lv_vbeln                TYPE vbeln_va ,           "销售订单lv_order_header_in      TYPE bapisdhd1,           "抬头lv_order_header_inx     TYPE bapisdhd1x,lt_order_partners       TYPE TABLE OF bapiparnr,  "合作伙伴ls_order_partners       TYPE bapiparnr,lt_order_items_in       TYPE TABLE OF bapisditm,  "行项目ls_order_items_in       TYPE bapisditm,lt_order_items_inx      TYPE TABLE OF bapisditmx, "行项目ls_order_items_inx      TYPE bapisditmx,lt_order_conditions_in  TYPE TABLE OF bapicond,   "条件价格ls_order_conditions_in  TYPE  bapicond,lt_order_conditions_inx TYPE TABLE OF bapicondx,  "条件价格ls_order_conditions_inx TYPE  bapicondx,lt_order_schedules_in   TYPE TABLE OF bapischdl,  "计划行ls_order_schedules_in   TYPE bapischdl,lt_order_schedules_inx  TYPE TABLE OF bapischdlx, "计划行ls_order_schedules_inx  TYPE bapischdlx,lt_return               TYPE TABLE OF bapiret2,ls_return               TYPE bapiret2."抬头数据赋值SELECT SINGLE bwkey FROM t001wINTO lv_order_header_in-sales_org             "销售组织WHERE werks = p_lv_alv-j_werks .lv_order_header_in-doc_type = p_lv_alv-auart .  "销售凭证类型lv_order_header_in-distr_chan = p_lv_alv-vtweg ."分销渠道lv_order_header_in-division   = p_lv_alv-spart ."产品组lv_order_header_in-req_date_h = sy-datum .      "要求的交货日期IF p_lv_alv-auart = 'ZRE' OR p_lv_alv-auart = 'ZCR' OR p_lv_alv-auart = 'ZRE1' .lv_order_header_in-ord_reason = 'Z01' .      "订单原因ENDIF .lv_order_header_inx-updateflag = 'I' .lv_order_header_inx-doc_type   = 'X' .lv_order_header_inx-sales_org  = 'X' .lv_order_header_inx-distr_chan = 'X' .lv_order_header_inx-division   = 'X' .lv_order_header_inx-req_date_h = 'X' .IF p_lv_alv-auart = 'ZRE' OR p_lv_alv-auart = 'ZCR' OR p_lv_alv-auart = 'ZRE1' .lv_order_header_inx-ord_reason = 'X' .ENDIF ."业务伙伴数据赋值ls_order_partners-partn_role = 'AG' .ls_order_partners-partn_numb = p_lv_alv-kunnr .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput  = ls_order_partners-partn_numbIMPORTINGoutput = ls_order_partners-partn_numb.APPEND ls_order_partners TO lt_order_partners .ls_order_partners-partn_role = 'WE' .ls_order_partners-partn_numb = p_lv_alv-kunnr .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput  = ls_order_partners-partn_numbIMPORTINGoutput = ls_order_partners-partn_numb.APPEND ls_order_partners TO lt_order_partners .LOOP AT gt_alv INTO gs_alv WHERE day_no = p_lv_alv-day_no.lv_posnr = lv_posnr + 10 .
*    lv_sched = lv_sched + 1  ."行项目数据CLEAR : ls_order_items_in  .ls_order_items_in-itm_number = lv_posnr .      "行号ls_order_items_in-material   = gs_alv-matnr .  "物料ls_order_items_in-plant      = gs_alv-j_werks ."工厂ls_order_items_in-store_loc  = gs_alv-lgort .  "库存地点ls_order_items_in-target_qty = gs_alv-qty .    "数量APPEND ls_order_items_in TO lt_order_items_in .CLEAR : ls_order_items_inx .ls_order_items_inx-itm_number = lv_posnr . "行号ls_order_items_inx-material   = 'X' .      "物料ls_order_items_inx-plant      = 'X' .      "工厂ls_order_items_inx-store_loc  = 'X' .      "库存地点ls_order_items_inx-target_qty = 'X' .      "数量APPEND ls_order_items_inx TO lt_order_items_inx ."计划行数据CLEAR : ls_order_schedules_in .ls_order_schedules_in-itm_number = lv_posnr .          "行号ls_order_schedules_in-sched_line = '1' .               "计划行ls_order_schedules_in-req_qty    = gs_alv-qty .        "数量
*    IF    p_lv_alv-j_werks <> p_lv_alv-k_werksIF ( p_lv_alv-auart = 'ZRE' OR p_lv_alv-auart = 'ZRE1' ) .ls_order_schedules_in-sched_type = 'DN' .              "计划行类别ELSEIF ( p_lv_alv-auart = 'ZOR2' OR p_lv_alv-auart = 'ZOR7' ) .ls_order_schedules_in-sched_type = 'CP' .              "计划行类别ENDIF .APPEND ls_order_schedules_in TO lt_order_schedules_in .CLEAR : ls_order_schedules_inx .ls_order_schedules_inx-itm_number = lv_posnr .ls_order_schedules_inx-sched_line = '1' .ls_order_schedules_inx-updateflag = 'I' .ls_order_schedules_inx-req_qty    = 'X' .IF    p_lv_alv-j_werks <> p_lv_alv-k_werksAND ( p_lv_alv-auart = 'ZRE' OR p_lv_alv-auart = 'ZRE1' ) .ELSE .ls_order_schedules_inx-sched_type = 'X' .ENDIF .APPEND ls_order_schedules_inx TO lt_order_schedules_inx ."价格条件CLEAR : ls_order_conditions_in .ls_order_conditions_in-itm_number = lv_posnr .          "行号ls_order_conditions_in-cond_st_no = '10' .              "步骤编号ls_order_conditions_in-cond_count = '1' .               "条件计数器ls_order_conditions_in-cond_type  = 'ZA05' .            "条件类型ls_order_conditions_in-cond_value = gs_alv-js_amount .  "金额ls_order_conditions_in-cond_p_unt = '1' .               "条件定价单位ls_order_conditions_in-currency   = 'CNY' .APPEND ls_order_conditions_in TO lt_order_conditions_in .CLEAR : ls_order_conditions_inx .ls_order_conditions_inx-itm_number = lv_posnr .ls_order_conditions_inx-updateflag = 'I' .ls_order_conditions_inx-cond_st_no = '10' .ls_order_conditions_inx-cond_count = '1' .ls_order_conditions_inx-cond_type  = 'ZA05' .ls_order_conditions_inx-cond_value = 'X' .ls_order_conditions_inx-cond_p_unt = 'X' .ls_order_conditions_inx-currency   = 'X' .APPEND ls_order_conditions_inx TO lt_order_conditions_inx .CLEAR : gs_alv .ENDLOOP .IF ( p_lv_alv-auart = 'ZRE' OR p_lv_alv-auart = 'ZRE1' ) .CALL FUNCTION 'BAPI_CUSTOMERRETURN_CREATE'EXPORTINGreturn_header_in     = lv_order_header_inreturn_header_inx    = lv_order_header_inxIMPORTINGsalesdocument        = gs_alv-vbelnTABLESreturn               = lt_returnreturn_items_in      = lt_order_items_inreturn_items_inx     = lt_order_items_inxreturn_partners      = lt_order_partnersreturn_schedules_in  = lt_order_schedules_inreturn_schedules_inx = lt_order_schedules_inxreturn_conditions_in = lt_order_conditions_in.ELSEIF  p_lv_alv-auart = 'ZCR' OR p_lv_alv-auart = 'ZDR'  .CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'EXPORTINGsales_header_in     = lv_order_header_insales_header_inx    = lv_order_header_inxIMPORTINGsalesdocument_ex    = gs_alv-vbelnTABLESreturn              = lt_returnsales_items_in      = lt_order_items_insales_items_inx     = lt_order_items_inxsales_partners      = lt_order_partnerssales_schedules_in  = lt_order_schedules_insales_schedules_inx = lt_order_schedules_inx.ELSE .CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'EXPORTINGorder_header_in      = lv_order_header_inorder_header_inx     = lv_order_header_inxIMPORTINGsalesdocument        = gs_alv-vbelnTABLESreturn               = lt_returnorder_items_in       = lt_order_items_inorder_items_inx      = lt_order_items_inxorder_partners       = lt_order_partnersorder_schedules_in   = lt_order_schedules_inorder_schedules_inx  = lt_order_schedules_inxorder_conditions_in  = lt_order_conditions_inorder_conditions_inx = lt_order_conditions_inx.ENDIF .LOOP AT lt_return INTO ls_return WHERE type CA 'EA' .gs_alv-message = gs_alv-message && ls_return-message && '/'.CLEAR : ls_return .ENDLOOP .IF sy-subrc = 0 .CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.ELSE .CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = 'X'.ENDIF .

2、销售订单BAPI扩展字段写入

2.1、相关结构扩展

抬头   :VBAKKOZ、VBAKKOZX、BAPE_VBAK、BAPE_VBAKX

行项目:VBAPKOZ、VBAPKOZX、BAPE_VBAP、BAPE_VBAPX

计划行:VBEPKOZ、VBEPKOZX、BAPE_VBEP、BAPE_VBEPX

(以抬头、行项目为例)

2.2、代码示例

2.2.1:订单创建
  lv_order_header_in-sales_org  = gs_head-vkorg .                          "销售组织lv_order_header_in-doc_type   = gs_head-auart .                          "销售凭证类型lv_order_header_in-distr_chan = gs_head-vtweg .                          "分销渠道lv_order_header_in-division   = gs_head-spart .                          "产品组lv_order_header_in-sales_off  = gs_head-vkbur .                          "销售办公室lv_order_header_in-req_date_h = sy-datum .                               "要求的交货日期lv_order_header_in-purch_date = gs_head-bstdk .                          "客户参考时间lv_order_header_in-name       = gs_head-bname .                          "订货人名字lv_order_header_in-telephone  = gs_head-telf1 .                          "联系人电话SELECT SINGLE vbeln FROM vbak INTO lv_order_header_in-purch_no_c         "参考凭证号客户参考WHERE bstnk = gs_head-bstnk2  ."为“工程销售订单”时,VBAK-BSTNK=BSTNK1,VBAK-VBTYP=G,取VBAK-VBELN,参考销售合同创建工程销售订单IF gv_auart = 'Z040' .SELECT SINGLE vbeln ,auart FROM vbak INTO @DATA(ls_vbak) WHERE bstnk = @gs_head-bstnk1 AND vbtyp = 'G'.IF sy-subrc = 0 .lv_order_header_in-refdoctype = ls_vbak-auart .lv_order_header_in-ref_doc    = ls_vbak-vbeln .ELSE .gs_return-ex_msgtype = 'E' .gs_return-ex_msginfo = '合同查询失败,无法建单!' .ENDIF .ENDIF .lv_order_header_inx-updateflag = 'I' .lv_order_header_inx-doc_type   = 'X' .lv_order_header_inx-sales_org  = 'X' .lv_order_header_inx-distr_chan = 'X' .lv_order_header_inx-division   = 'X' .lv_order_header_inx-sales_off  = 'X' .lv_order_header_inx-req_date_h = 'X' .lv_order_header_inx-purch_date = 'X' .lv_order_header_inx-name       = 'X' .lv_order_header_inx-telephone  = 'X' .lv_order_header_inx-purch_no_c = 'X' ."业务伙伴数据赋值ls_order_partners-partn_role = 'AG' .ls_order_partners-partn_numb = gs_head-kunnr .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput  = ls_order_partners-partn_numbIMPORTINGoutput = ls_order_partners-partn_numb.APPEND ls_order_partners TO lt_order_partners .ls_order_partners-partn_role = 'WE' .ls_order_partners-partn_numb = gs_head-kunnr .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput  = ls_order_partners-partn_numbIMPORTINGoutput = ls_order_partners-partn_numb.APPEND ls_order_partners TO lt_order_partners ."抬头扩展字段
*--------------------------------------------------------------------*CLEAR : ls_extensionin ,ls_bape_vbak ,ls_bape_vbakx .IF gs_head-zfws IS NOT INITIAL .ls_bape_vbak-zfws      = gs_head-zfws .ls_bape_vbakx-zfws     = 'X' .ENDIF .IF gs_head-zfws IS NOT INITIAL .ls_bape_vbak-zshdz     = gs_head-zshdz .ls_bape_vbakx-zshdz    = 'X' .ENDIF .IF gs_head-zwlgs IS NOT INITIAL .ls_bape_vbak-zwlgs     = gs_head-zwlgs .ls_bape_vbakx-zwlgs    = 'X' .ENDIF .IF gs_head-zptdh IS NOT INITIAL .ls_bape_vbak-zptdh     = gs_head-zptdh .ls_bape_vbakx-zptdh    = 'X' .ENDIF .IF gs_head-zedbdh IS NOT INITIAL .ls_bape_vbak-zedbdh    = gs_head-zedbdh .ls_bape_vbakx-zedbdh   = 'X' .ENDIF .IF gs_head-zremarks IS NOT INITIAL .ls_bape_vbak-zremarks  = gs_head-zremarks .ls_bape_vbakx-zremarks = 'X' .ENDIF .IF ls_bape_vbak IS NOT INITIAL .ls_extensionin-structure  = 'BAPE_VBAK'.   "扩展结构lv_valuepart = ls_bape_vbak .ls_extensionin-valuepart1 = lv_valuepart(240).ls_extensionin-valuepart2 = lv_valuepart+240(240).ls_extensionin-valuepart3 = lv_valuepart+480(240).ls_extensionin-valuepart4 = lv_valuepart+720(240).APPEND ls_extensionin TO lt_extensionin.CLEAR ls_extensionin .CLEAR lv_valuepart.ls_extensionin-structure = 'BAPE_VBAKX'.  "扩展结构lv_valuepart = ls_bape_vbakx.ls_extensionin-valuepart1 = lv_valuepart(240).ls_extensionin-valuepart2 = lv_valuepart+240(240).ls_extensionin-valuepart3 = lv_valuepart+480(240).ls_extensionin-valuepart4 = lv_valuepart+720(240).APPEND ls_extensionin TO lt_extensionin.CLEAR ls_extensionin.CLEAR lv_valuepart.ENDIF .
*--------------------------------------------------------------------*LOOP AT gt_item INTO gs_item .lv_posnr = lv_posnr + 10 ."行项目数据CLEAR : ls_order_items_in  .ls_order_items_in-itm_number = lv_posnr .                              "行号ls_order_items_in-material   = gs_item-matnr .                         "物料CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'EXPORTINGinput        = ls_order_items_in-materialIMPORTINGoutput       = ls_order_items_in-materialEXCEPTIONSlength_error = 1OTHERS       = 2.ls_order_items_in-plant      = gs_item-werks .                         "工厂ls_order_items_in-store_loc  = gs_item-lgort .                         "库存地点ls_order_items_in-target_qty = gs_item-kwmeng .                        "数量IF ls_order_items_in-target_qty <= 0 .ls_order_items_in-target_qty = 0 - ls_order_items_in-target_qty .ENDIF .ls_order_items_in-po_itm_no  = gs_item-posex .APPEND ls_order_items_in TO lt_order_items_in .CLEAR : ls_order_items_inx .ls_order_items_inx-itm_number = lv_posnr .                             "行号ls_order_items_inx-material   = 'X' .                                  "物料ls_order_items_inx-plant      = 'X' .                                  "工厂ls_order_items_inx-store_loc  = 'X' .                                  "库存地点ls_order_items_inx-target_qty = 'X' .                                  "数量ls_order_items_inx-po_itm_no  = 'X' .APPEND ls_order_items_inx TO lt_order_items_inx ."计划行数据CLEAR : ls_order_schedules_in .ls_order_schedules_in-itm_number = lv_posnr .                          "行号ls_order_schedules_in-sched_line = '1' .                               "计划行ls_order_schedules_in-req_qty    = gs_item-kwmeng .                    "数量IF ls_order_items_in-target_qty <= 0 .ls_order_schedules_in-req_qty = 0 - ls_order_schedules_in-req_qty .ENDIF .APPEND ls_order_schedules_in TO lt_order_schedules_in .CLEAR : ls_order_schedules_inx .ls_order_schedules_inx-itm_number = lv_posnr .ls_order_schedules_inx-sched_line = '1' .ls_order_schedules_inx-updateflag = 'I' .ls_order_schedules_inx-req_qty    = 'X' .APPEND ls_order_schedules_inx TO lt_order_schedules_inx ."价格条件CLEAR : ls_order_conditions_in .ls_order_conditions_in-itm_number = lv_posnr .                         "行号ls_order_conditions_in-cond_st_no = '10' .                             "步骤编号ls_order_conditions_in-cond_count = '1' .                              "条件计数器ls_order_conditions_in-cond_type  = 'Z001' .                           "条件类型ls_order_conditions_in-cond_value = gs_item-price1 .                   "金额ls_order_conditions_in-cond_p_unt = '1'."gs_item-kwmeng .              "条件定价单位ls_order_conditions_in-currency   = 'CNY' .APPEND ls_order_conditions_in TO lt_order_conditions_in .CLEAR : ls_order_conditions_inx .ls_order_conditions_inx-itm_number = lv_posnr .ls_order_conditions_inx-updateflag = 'U' .ls_order_conditions_inx-cond_st_no = '10' .ls_order_conditions_inx-cond_count = '1' .ls_order_conditions_inx-cond_type  = 'Z001' .                        "条件类型ls_order_conditions_inx-cond_value = 'X' .ls_order_conditions_inx-cond_p_unt = 'X' .ls_order_conditions_inx-currency   = 'X' .APPEND ls_order_conditions_inx TO lt_order_conditions_inx .IF gs_item-price2 IS NOT INITIAL .ls_order_conditions_in-cond_type = 'Z020' .ls_order_conditions_in-cond_value = gs_item-price2 .APPEND ls_order_conditions_in TO lt_order_conditions_in .ls_order_conditions_inx-cond_type  = 'Z020' .ls_order_conditions_inx-updateflag = 'I' .APPEND ls_order_conditions_inx TO lt_order_conditions_inx .ENDIF .IF gs_item-price3 IS NOT INITIAL .ls_order_conditions_in-cond_type = 'Z030' .ls_order_conditions_in-cond_value = gs_item-price3 .APPEND ls_order_conditions_in TO lt_order_conditions_in .ls_order_conditions_inx-cond_type  = 'Z030' .ls_order_conditions_inx-updateflag = 'I' .APPEND ls_order_conditions_inx TO lt_order_conditions_inx .ENDIF ."行项目扩展字段
*--------------------------------------------------------------------*CLEAR : ls_extensionin ,ls_bape_vbap ,ls_bape_vbapx .IF gs_item-zxslx IS NOT INITIAL .ls_bape_vbap-zxslx      = gs_item-zxslx .ls_bape_vbapx-zxslx     = 'X' .ENDIF .IF gs_item-zjqbm IS NOT INITIAL .ls_bape_vbap-zjqbm      = gs_item-zjqbm .ls_bape_vbapx-zjqbm     = 'X' .ENDIF .IF gs_item-zybgmrq IS NOT INITIAL .ls_bape_vbap-zybgmrq      = gs_item-zybgmrq .ls_bape_vbapx-zybgmrq     = 'X' .ENDIF .IF gs_item-zazzt IS NOT INITIAL .ls_bape_vbap-zazzt      = gs_item-zazzt .ls_bape_vbapx-zazzt     = 'X' .ENDIF .IF gs_item-zazrq IS NOT INITIAL .ls_bape_vbap-zazrq      = gs_item-zazrq .ls_bape_vbapx-zazrq     = 'X' .ENDIF .IF gs_item-zybkssj IS NOT INITIAL .ls_bape_vbap-zybkssj      = gs_item-zybkssj .ls_bape_vbapx-zybkssj     = 'X' .ENDIF .IF gs_item-zybjssj IS NOT INITIAL .ls_bape_vbap-zybjssj      = gs_item-zybjssj .ls_bape_vbapx-zybjssj     = 'X' .ENDIF .IF gs_item-zfwsbm IS NOT INITIAL .ls_bape_vbap-zfwsbm      = gs_item-zfwsbm .ls_bape_vbapx-zfwsbm     = 'X' .ENDIF .IF gs_item-zmdxgbm IS NOT INITIAL .ls_bape_vbap-zmdxgbm      = gs_item-zmdxgbm .ls_bape_vbapx-zmdxgbm     = 'X' .ENDIF .IF gs_item-zbxgmbs IS NOT INITIAL .ls_bape_vbap-zbxgmbs      = gs_item-zbxgmbs .ls_bape_vbapx-zbxgmbs     = 'X' .ENDIF .IF gs_item-zybxsskfs IS NOT INITIAL .ls_bape_vbap-zybxsskfs      = gs_item-zybxsskfs .ls_bape_vbapx-zybxsskfs     = 'X' .ENDIF .IF gs_item-zybskzh IS NOT INITIAL .ls_bape_vbap-zybskzh      = gs_item-zybskzh .ls_bape_vbapx-zybskzh     = 'X' .ENDIF .IF gs_item-zybskje IS NOT INITIAL .ls_bape_vbap-zybskje      = gs_item-zybskje .ls_bape_vbapx-zybskje     = 'X' .ENDIF .IF ls_bape_vbap IS NOT INITIAL .ls_bape_vbap-posnr      = lv_posnr .ls_bape_vbapx-posnr     = lv_posnr .ls_extensionin-structure  = 'BAPE_VBAP'.   "扩展结构CALL METHOD cl_abap_container_utilities=>fill_container_cEXPORTINGim_value     = ls_bape_vbapIMPORTINGex_container = lv_valuepart.ls_extensionin-valuepart1 = lv_valuepart(240).ls_extensionin-valuepart2 = lv_valuepart+240(240).ls_extensionin-valuepart3 = lv_valuepart+480(240).ls_extensionin-valuepart4 = lv_valuepart+720(240).APPEND ls_extensionin TO lt_extensionin.CLEAR ls_extensionin .CLEAR lv_valuepart.ls_extensionin-structure = 'BAPE_VBAPX'.  "扩展结构lv_valuepart = ls_bape_vbapx.ls_extensionin-valuepart1 = lv_valuepart(240).ls_extensionin-valuepart2 = lv_valuepart+240(240).ls_extensionin-valuepart3 = lv_valuepart+480(240).ls_extensionin-valuepart4 = lv_valuepart+720(240).APPEND ls_extensionin TO lt_extensionin.CLEAR ls_extensionin.CLEAR lv_valuepart.ENDIF .
*--------------------------------------------------------------------*CLEAR : gs_item .ENDLOOP .IF gs_return-ex_msgtype <> 'E' .IF ( gv_auart = 'Z310' OR gv_auart = 'Z320' OR gv_auart = 'Z330' OR gv_auart = 'Z340' ) .CALL FUNCTION 'BAPI_CUSTOMERRETURN_CREATE'  "退货销售订单创建EXPORTINGreturn_header_in     = lv_order_header_inreturn_header_inx    = lv_order_header_inxlogic_switch         = ls_logicIMPORTINGsalesdocument        = lv_vbelnTABLESreturn               = lt_returnreturn_items_in      = lt_order_items_inreturn_items_inx     = lt_order_items_inxreturn_partners      = lt_order_partnersreturn_schedules_in  = lt_order_schedules_inreturn_schedules_inx = lt_order_schedules_inxreturn_conditions_in = lt_order_conditions_inextensionin          = lt_extensionin.ELSEIF ( gv_auart = 'Z050' OR gv_auart = 'Z060' OR gv_auart = 'Z070' OR gv_auart = 'Z080' OR gv_auart = 'Z090' OR gv_auart = 'Z100' )  .CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'  "借贷项凭证EXPORTINGsales_header_in      = lv_order_header_insales_header_inx     = lv_order_header_inxlogic_switch         = ls_logicIMPORTINGsalesdocument_ex     = lv_vbelnTABLESreturn               = lt_returnsales_items_in       = lt_order_items_insales_items_inx      = lt_order_items_inxsales_partners       = lt_order_partnerssales_schedules_in   = lt_order_schedules_insales_schedules_inx  = lt_order_schedules_inxsales_conditions_in  = lt_order_conditions_insales_conditions_inx = lt_order_conditions_inxextensionin          = lt_extensionin.ELSEIF ( gv_auart = 'Z010' OR gv_auart = 'Z020' OR gv_auart = 'Z030' OR gv_auart = 'Z040' ) .CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'  "一般销售订单EXPORTINGorder_header_in      = lv_order_header_inorder_header_inx     = lv_order_header_inxlogic_switch         = ls_logicIMPORTINGsalesdocument        = lv_vbelnTABLESreturn               = lt_returnorder_items_in       = lt_order_items_inorder_items_inx      = lt_order_items_inxorder_partners       = lt_order_partnersorder_schedules_in   = lt_order_schedules_inorder_schedules_inx  = lt_order_schedules_inxorder_conditions_in  = lt_order_conditions_inorder_conditions_inx = lt_order_conditions_inxextensionin          = lt_extensionin.ENDIF .LOOP AT lt_return INTO ls_return WHERE type CA 'EA' .gs_return-ex_msginfo = gs_return-ex_msginfo && ls_return-message .ENDLOOP .
2.2.2:订单修改
  DATA: ls_hdr         TYPE bapisdh1,ls_hdrx        TYPE bapisdh1x,ls_logic       TYPE bapisdls,ls_ret         TYPE bapiret2,lt_ret         TYPE TABLE OF bapiret2,ls_itm         TYPE bapisditm,lt_itm         TYPE TABLE OF bapisditm,ls_itmx        TYPE bapisditmx,lt_itmx        TYPE TABLE OF bapisditmx,ls_sche        TYPE bapischdl,lt_sche        TYPE TABLE OF bapischdl,ls_schex       TYPE bapischdlx,lt_schex       TYPE TABLE OF bapischdlx,ls_cond        TYPE bapicond,lt_cond        TYPE TABLE OF bapicond,ls_condx       TYPE bapicondx,lt_condx       TYPE TABLE OF bapicondx,ls_extensionin TYPE bapiparex,           "扩展字段lt_extensionin TYPE TABLE OF bapiparex,  "扩展字段ls_bape_vbak   TYPE bape_vbak,ls_bape_vbakx  TYPE bape_vbakx,ls_bape_vbap   TYPE bape_vbap,ls_bape_vbapx  TYPE bape_vbapx.DATA : lv_valuepart(960).                          "扩展用ls_logic-pricing = 'G'.ls_hdrx-updateflag = 'U' ."抬头扩展字段
*--------------------------------------------------------------------*CLEAR : ls_extensionin ,ls_bape_vbak ,ls_bape_vbakx .IF gs_head-zfws IS NOT INITIAL .ls_bape_vbak-zfws      = gs_head-zfws .ls_bape_vbakx-zfws     = 'X' .ENDIF .IF gs_head-zfws IS NOT INITIAL .ls_bape_vbak-zshdz     = gs_head-zshdz .ls_bape_vbakx-zshdz    = 'X' .ENDIF .IF gs_head-zwlgs IS NOT INITIAL .ls_bape_vbak-zwlgs     = gs_head-zwlgs .ls_bape_vbakx-zwlgs    = 'X' .ENDIF .IF gs_head-zptdh IS NOT INITIAL .ls_bape_vbak-zptdh     = gs_head-zptdh .ls_bape_vbakx-zptdh    = 'X' .ENDIF .IF gs_head-zedbdh IS NOT INITIAL .ls_bape_vbak-zedbdh    = gs_head-zedbdh .ls_bape_vbakx-zedbdh   = 'X' .ENDIF .IF gs_head-zremarks IS NOT INITIAL .ls_bape_vbak-zremarks  = gs_head-zremarks .ls_bape_vbakx-zremarks = 'X' .ENDIF .IF ls_bape_vbak IS NOT INITIAL .ls_bape_vbak-vbeln = gs_head-vbeln .ls_bape_vbakx-vbeln = gs_head-vbeln .ls_extensionin-structure  = 'BAPE_VBAK'.   "扩展结构lv_valuepart = ls_bape_vbak .ls_extensionin-valuepart1 = lv_valuepart(240).ls_extensionin-valuepart2 = lv_valuepart+240(240).ls_extensionin-valuepart3 = lv_valuepart+480(240).ls_extensionin-valuepart4 = lv_valuepart+720(240).APPEND ls_extensionin TO lt_extensionin.CLEAR ls_extensionin .CLEAR lv_valuepart.ls_extensionin-structure = 'BAPE_VBAKX'.  "扩展结构lv_valuepart = ls_bape_vbakx.ls_extensionin-valuepart1 = lv_valuepart(240).ls_extensionin-valuepart2 = lv_valuepart+240(240).ls_extensionin-valuepart3 = lv_valuepart+480(240).ls_extensionin-valuepart4 = lv_valuepart+720(240).APPEND ls_extensionin TO lt_extensionin.CLEAR ls_extensionin.CLEAR lv_valuepart.ENDIF .
*--------------------------------------------------------------------*LOOP AT gt_item INTO gs_item .CLEAR :ls_itm ,ls_itmx.ls_itm-itm_number = gs_item-posnr .ls_itmx-itm_number = gs_item-posnr .IF gs_item-matnr IS NOT INITIAL .ls_itm-material = gs_item-posnr .ls_itmx-material = 'X' .ENDIF .IF gs_item-kwmeng IS NOT INITIAL .ls_itm-target_qty = gs_item-kwmeng .ls_itmx-target_qty = 'X' .ENDIF .ls_itmx-updateflag = 'U' .APPEND ls_itm TO lt_itm .APPEND ls_itmx TO lt_itmx ."计划行IF gs_item-kwmeng IS NOT INITIAL .CLEAR : ls_sche .ls_sche-itm_number = gs_item-posnr .                                 "行号ls_sche-sched_line = '1' .                                           "计划行ls_sche-req_qty    = gs_item-kwmeng .                                "数量IF ls_sche-req_qty <= 0 .ls_sche-req_qty = 0 - ls_sche-req_qty .ENDIF .APPEND ls_sche TO lt_sche .CLEAR : ls_schex .ls_schex-itm_number = gs_item-posnr .ls_schex-sched_line = '1' .ls_schex-updateflag = 'I' .ls_schex-req_qty    = 'X' .APPEND ls_schex TO lt_schex .ENDIF ."价格条件IF gs_item-price1 IS NOT INITIAL ."价格条件CLEAR : ls_cond .ls_cond-itm_number = gs_item-posnr .                                 "行号ls_cond-cond_st_no = '10' .                                          "步骤编号ls_cond-cond_count = '1' .                                           "条件计数器ls_cond-cond_type  = 'Z001' .                                        "条件类型ls_cond-cond_value = gs_item-price1 .                                "金额ls_cond-cond_p_unt = '1'."gs_item-kwmeng .                           "条件定价单位ls_cond-currency   = 'CNY' .APPEND ls_cond TO lt_cond .CLEAR : ls_condx .ls_condx-itm_number = gs_item-posnr .ls_condx-updateflag = 'U' .ls_condx-cond_st_no = '10' .ls_condx-cond_count = '1' .ls_condx-cond_type  = 'Z001' .                                       "条件类型ls_condx-cond_value = 'X' .ls_condx-cond_p_unt = 'X' .ls_condx-currency   = 'X' .APPEND ls_condx TO lt_condx .ENDIF ."行项目扩展字段
*--------------------------------------------------------------------*CLEAR : ls_extensionin ,ls_bape_vbap ,ls_bape_vbapx .IF gs_item-zxslx IS NOT INITIAL .ls_bape_vbap-zxslx        = gs_item-zxslx .ls_bape_vbapx-zxslx       = 'X' .ENDIF .IF gs_item-zjqbm IS NOT INITIAL .ls_bape_vbap-zjqbm        = gs_item-zjqbm .ls_bape_vbapx-zjqbm       = 'X' .ENDIF .IF gs_item-zybgmrq IS NOT INITIAL .ls_bape_vbap-zybgmrq      = gs_item-zybgmrq .ls_bape_vbapx-zybgmrq     = 'X' .ENDIF .IF gs_item-zazzt IS NOT INITIAL .ls_bape_vbap-zazzt        = gs_item-zazzt .ls_bape_vbapx-zazzt       = 'X' .ENDIF .IF gs_item-zazrq IS NOT INITIAL .ls_bape_vbap-zazrq        = gs_item-zazrq .ls_bape_vbapx-zazrq       = 'X' .ENDIF .IF gs_item-zybkssj IS NOT INITIAL .ls_bape_vbap-zybkssj      = gs_item-zybkssj .ls_bape_vbapx-zybkssj     = 'X' .ENDIF .IF gs_item-zybjssj IS NOT INITIAL .ls_bape_vbap-zybjssj      = gs_item-zybjssj .ls_bape_vbapx-zybjssj     = 'X' .ENDIF .IF gs_item-zfwsbm IS NOT INITIAL .ls_bape_vbap-zfwsbm       = gs_item-zfwsbm .ls_bape_vbapx-zfwsbm      = 'X' .ENDIF .IF gs_item-zmdxgbm IS NOT INITIAL .ls_bape_vbap-zmdxgbm      = gs_item-zmdxgbm .ls_bape_vbapx-zmdxgbm     = 'X' .ENDIF .IF gs_item-zbxgmbs IS NOT INITIAL .ls_bape_vbap-zbxgmbs      = gs_item-zbxgmbs .ls_bape_vbapx-zbxgmbs     = 'X' .ENDIF .IF gs_item-zybxsskfs IS NOT INITIAL .ls_bape_vbap-zybxsskfs    = gs_item-zybxsskfs .ls_bape_vbapx-zybxsskfs   = 'X' .ENDIF .IF gs_item-zybskzh IS NOT INITIAL .ls_bape_vbap-zybskzh      = gs_item-zybskzh .ls_bape_vbapx-zybskzh     = 'X' .ENDIF .IF gs_item-zybskje IS NOT INITIAL .ls_bape_vbap-zybskje      = gs_item-zybskje .ls_bape_vbapx-zybskje     = 'X' .ENDIF .IF ls_bape_vbap IS NOT INITIAL  .ls_bape_vbap-vbeln      = gs_item-posnr .ls_bape_vbapx-vbeln     = gs_item-posnr .ls_bape_vbap-posnr      = lv_posnr .ls_bape_vbapx-posnr     = lv_posnr .ls_extensionin-structure  = 'BAPE_VBAP'.   "扩展结构CALL METHOD cl_abap_container_utilities=>fill_container_cEXPORTINGim_value     = ls_bape_vbapIMPORTINGex_container = ls_extensionin-valuepart1.APPEND ls_extensionin TO lt_extensionin.CLEAR ls_extensionin .CLEAR lv_valuepart.ls_extensionin-structure = 'BAPE_VBAPX'.  "扩展结构lv_valuepart = ls_bape_vbapx.ls_extensionin-valuepart1 = lv_valuepart(240).ls_extensionin-valuepart2 = lv_valuepart+240(240).ls_extensionin-valuepart3 = lv_valuepart+480(240).ls_extensionin-valuepart4 = lv_valuepart+720(240).APPEND ls_extensionin TO lt_extensionin.CLEAR ls_extensionin.CLEAR lv_valuepart.ENDIF .
*--------------------------------------------------------------------*CLEAR : gs_item .ENDLOOP .CALL FUNCTION 'BAPI_SALESORDER_CHANGE'EXPORTINGsalesdocument    = gs_head-vbelnorder_header_in  = ls_hdrorder_header_inx = ls_hdrxlogic_switch     = ls_logicTABLESreturn           = lt_retorder_item_in    = lt_itmorder_item_inx   = lt_itmxschedule_lines   = lt_scheschedule_linesx  = lt_schexconditions_in    = lt_condconditions_inx   = lt_condxextensionin      = lt_extensionin.LOOP AT lt_ret INTO ls_ret WHERE type CA 'EA' .gs_return-ex_msginfo = gs_return-ex_msginfo && ls_ret-message .ENDLOOP .

http://www.bjxfkj.com.cn/article/100682.html

相关文章:

  • 音乐网站开发 群新乡百度关键词优化外包
  • 赤峰北京网站建设免费推广网站平台
  • 一家专门做特卖的网站手机版seo的优化方向
  • 两学一做网站源码百度一下浏览器下载安装
  • 上海网站建设 知名觉东莞关键词排名seo
  • 网站开发项目需求方案百度网站推广怎么收费
  • 如何做一个企业的网站百度竞价怎么排名第一
  • wordpress 开启手机标题seo是什么意思
  • ajax数据库网页网站设计免费网站外链推广
  • 做网站建设的电话销售新冠不易感染三种人
  • 厦门建站系统建设游戏特效培训机构排名
  • 做自己的网站发表文章后怎么能让钱赚到手是不是点击率高就可以有收入?请高人指教!感激涕零!seo基础培训
  • 深圳分销网站设计费用互联网营销师报名费
  • 网页游戏网站排名前10名seo优化销售话术
  • 群晖 做网站seo实战教程
  • 潍坊网站设计公司seo外链收录
  • 高级网站设计北京seo优化wyhseo
  • 网站建设哪家做的好计算机培训机构排名
  • 怎么做网站促收录房地产最新消息
  • 武汉政府网站建设新网站seo
  • 一级造价工程师真题杭州seo平台
  • 网络广告推广平台有哪些广东搜索引擎优化
  • 凡客诚品商品来源有哪些百度搜索网站优化
  • 网站栏目结构设计网络营销服务公司
  • 合肥哪个公司做网站好郑州网络推广排名
  • cdn wordpress 升级网站优化关键词排名
  • 网页设计报告心得seo专员招聘
  • 做运动鞋的网站视频seo网络推广是什么意思
  • 营销型企业网站建设 广义的空间中国新冠一共死去的人数
  • 网页设计是做什么搜索引擎优化技术都有哪些