加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

创建销售订单BAPI一些心得

(2016-08-31 13:59:14)
标签:

abap

sap

分类: ABAP程序

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.配置要求http://s1/mw690/006wKGqXzy75aRbtgaY10&690


http://s3/mw690/006wKGqXzy75aRbx2V4e2&690

此字段逻辑:
http://s15/mw690/006wKGqXzy75aRnDZM22e&690

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

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

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

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有