在使用bapi BAPI_SALESORDER_CREATEFROMDAT2创建销售订单时,可以通过extensionin参数给自定义的参数赋值。

◆◆1创建销售订单时如何给增强扩展字段赋值[BAPI_SALESORDER_CREATEFROMDAT2]

具体的使用方法可以通过点击Function module documentaion来查看,如下:

 

◆◆1创建销售订单时如何给增强扩展字段赋值[BAPI_SALESORDER_CREATEFROMDAT2]

下面举例说明:

在销售订单的行项目上的additional data a tab页上有5个自定义的增强字段,如下:

◆◆1创建销售订单时如何给增强扩展字段赋值[BAPI_SALESORDER_CREATEFROMDAT2]

对应表vbap中是如下几个字段,这些字段是通过append的方式加到vbap上的

◆◆1创建销售订单时如何给增强扩展字段赋值[BAPI_SALESORDER_CREATEFROMDAT2]

同样,这些自定义字段也要加到structure VBAPKOZ,BAPE_VBAP和 BAPE_VBAPX中,

◆◆1创建销售订单时如何给增强扩展字段赋值[BAPI_SALESORDER_CREATEFROMDAT2]

◆◆1创建销售订单时如何给增强扩展字段赋值[BAPI_SALESORDER_CREATEFROMDAT2]

◆◆1创建销售订单时如何给增强扩展字段赋值[BAPI_SALESORDER_CREATEFROMDAT2]

总结一下:

如果增强字段在销售订单抬头(vbak)上,则要将增强字段一并append到如下四个表/结构中:

  1.  VBAKKOZ
  2.  VBAKKOZX
  3.  BAPE_VBAK
  4.  BAPE_VBAKX

在行项目(vbap)上:

  1. VBAPKOZ
  2. VBAPKOZX
  3. BAPE_VBAP
  4. BAPE_VBAPX

在运货计划行(VBEP)上:

  1. VBEPKOZ
  2. BEPKOZX
  3. BAPE_VBEP
  4. BAPE_VBEPX

下面介绍如何向bapi中extensionin参数赋值数据,具体代码如下:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
*     extension BAPE_VBAP
,
.
*     订单号可以不填,只填行项目号就可以,然后给自定义字段赋值
.
.
.
.
.
.
.
.
.
.
.
.
.
_c
EXPORTING
_vbap
IMPORTING
.
.
.
 
.
.
.

最后调用bapi BAPI_SALESORDER_CREATEFROMDAT2时将上面代码中填充好的m_it_extensionin内表传入就可以了。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
_in
_switch
_run
IMPORTING
_number
TABLES
_return
_in
_partners
_in
_in
_ref
_inst
_value
_refinst
_text
.

以上。

相关文章: