zoukankan      html  css  js  c++  java
  • 创建SO bapi

    转自http://blog.sina.com.cn/s/blog_1647b3eff0102wi32.html

    1.创建销售订单使用的BAPI

    BAPI_SALESORDER_CREATEFROMDAT2

    但是  BUSINESS OBJECT限制为 BUS2032

    使用FM:

    DATA           LV_OBJTYPE TYPE OJ_NAME .

    LS_HEADER-SD_DOC_CAT为销售订单类型,即类型为:VBAK-VBTYP

        CALL FUNCTION 'SD_OBJECT_TYPE_DETERMINE'
        EXPORTING
          I_DOCUMENT_TYPE   = LS_HEADER-SD_DOC_CAT
        IMPORTING
          E_BUSINESS_OBJECT = LV_OBJTYPE
        EXCEPTIONS
          OTHERS            = 1.

    如果LV_OBJTYPE = BUS2032

    则可以使用BAPI_SALESORDER_CREATEFROMDAT2

    如果其他的业务对象则使用FM: SD_SALESDOCUMENT_CREATE创建销售订单

     2.关于销售订单的增强使用

     参数 EXTENSIONIN 

    举个例子,例如VBKD的数据  VBKD- TRATY  VBKD- TRMTYP

    大家应该可以看出来VBKD 数据中, 虽然分为vbeln posnr  但是一般只会使用vbeln字段,posnr 为空,

    此时,VBKD 数据 一般都可以在bapi参数

    ORDER_HEADER_IN 找到,但是VBKD-   TRATY   却在bapi 中没有.

    所以我们需要做增强.

    首先 我们要确认使用 BAPE_VBAK 和BAPE_VBAKX两个结构

       LS_BAPIPAREX-STRUCTURE = 'BAPE_VBAK'.

        LS_BAPE_VBAK-TRATY   = LS_BAPISDHD1_VBKD-TRATY.
        LS_BAPE_VBAK-VSART   = LS_BAPISDHD1_VBKD-VSART.
        LS_BAPE_VBAK-TRMTYP  = LS_BAPISDHD1_VBKD-TRMTYP.
        LS_BAPE_VBAK-SDABW   = LS_BAPISDHD1_VBKD-SDABW.

        LS_BAPIPAREX-VALUEPART1 = LS_BAPE_VBAK.

        APPEND LS_BAPIPAREX TO ET_BAPIPAREX.

        LS_BAPIPAREX-STRUCTURE = 'BAPE_VBAKX'.
        LS_BAPE_VBAKX-TRATY    = CNS_X.
        LS_BAPE_VBAKX-VSART    = CNS_X.
        LS_BAPE_VBAKX-TRMTYP   = CNS_X.
        LS_BAPE_VBAKX-SDABW    = CNS_X.

        LS_BAPIPAREX-VALUEPART1 = LS_BAPE_VBAKX.

      其次:VBAKKOZ 需要增加TRATY . VBAKKOZX 也添加相应的控制字段TRATY type BAPIUPDATE

      然后请注意,

    ORDER_HEADER_INX-UPDATEFLAG = SPACE . !! 这点很重要.详细逻辑请找:

    SE38:FV45KFAK_VBAK_FUELLEN_VBAKKOM

    补充:2016-09-27

    模拟创建过去的销售订单的时候,交货单也应该交货在过去,但是出现报错.

    认证研究了逻辑发现如下情况

    首先 (数据库表TVAK)

    1.配置要求创建销售订单BAPI一些心得


    创建销售订单BAPI一些心得

    此字段逻辑:

    创建销售订单BAPI一些心得

    其次 BAPISCHDL 中 有四个字段需要注意  EDATU MBDAT LDDAT WADAT 都要赋值过去时间

    这样创建的销售订单vbep 数据 才会没有问题.

    交货单选过去日期才会成功!   

  • 相关阅读:
    B树、B树、B+树、B*树
    CSS黑客技术的实现
    ORM映射框架总结SQL 语句生成组件
    突然发现 ViewState,Linq 水火不容
    ALinq 入门学习(一)ALinq简介
    Google 地图基本接口(一)
    ORM映射框架总结映射桥梁
    ALinq 入门学习(二)DataContext
    ORM映射框架总结数据库操作库(精修版)
    C# 使用线程你可能不知道的问题
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6257463.html
Copyright © 2011-2022 走看看