通过查看此函数的源代码,很快找到了出口增强:VEDQ0001。了解此出口,找到处理代码作用处。TCODE:SMOD
经过分析,可以把处理代码加在User Exit 007 中,下面去创建增强实现。
TCODE:CMOD
Enhancement assignments:
在function module:EXIT_SAPLVEDQ_007的Include (ZXVDQU07)中添加如下代码:
Field-symbols: <fs_vbak>,
<fs_vbap>,
<fs_field>.
If cntrl-rcvprn = '0000011001'. "customer number
assign dxvbak to <fs_vbak>.
Assign component 'kunnr' of structure <fs_vbak> to <fs_field>.
<fs_field> = '0000021001'."sales param. Mapping between vendor and cuostmer
assign component 'vkorg' of structure <fs_vbak> to <fs_field>.
<fs_field> = '3000'.
Assign component 'vtweg' of structure <fs_vbak> to <fs_field>.
<fs_field> = '10'.
Assign component 'spart' of structure <fs_vbak> to <fs_field>.
<fs_field> = '00'.
Loop at dxvbap assigning <fs_vbap>.
Assign component 'kdmat' of structure <fs_vbap> to <fs_field>.
If <fs_field> = '1-01-01'. "material no. Mapping between vendor and cuostmer
assign component 'matnr' of structure <fs_vbap> to <fs_field>.
<fs_field> = 'f-01-01'.
Endif.
Endloop.
Endif.
激活增强项目后,再测试一个从客户传来的RFQ,可以看到这回已经成功创建了RFQ
可以查看生成的RFQ:
这里算出的价格是0,这是因为没有维护销售价格的原因。TCODE:VK11
保存,再次接收RFQ,结果为:
这回价格就带出来了。
至此,RFQ的IDOC相关Outbound和Inbound就告一段落了。
接着上面的业务,现在在供应商的SAP系统添加一个工作流,当接收到客户的新询价时,自动发送一个工作流给指定用户。
TCODE: SWDD 新建工作流
Save