田锡剑
Oracle EBS高级定价模块中怎么设置一个Freight金额是基于SO行发运数量去计算的?
原创 田锡剑 爱记不记的记忆碎片
问 题
Oracle EBS高级定价模块中怎么设置一个Freight金额是基于SO行发运数量去计算的?
答 案
引言
在EBS的高级定价模块中,可以灵活的去定义一些修改量(运费,折扣)去应对在实际销售业务的需要,修改量还可以结合限定词进行灵活使用,确保用户能够在特定的业务场景选择正确的修改量从而确保AR开票正确。
这里我们主要介绍的是一种特殊场景的功能实现:大家知道一般情况下运费都是在发运前提前就在订单上维护好的一个金额,然后去进行发运开票。这里的特殊情况是企业要求运费的金额是基于当前发运数量去计算的,发运出去了才能知道运费是多少。(适用于零担或者大宗商品的运输…视具体业务需求而定)
设置
1.利用Oracle的包CUX_QP_SOURCING_API_PUB,Function: FUNCTION get_shipped_quantity(p_line_id IN NUMBER)去获取发运数量。
Responsibility: Oracle Pricing Manager
Navigate to: Setup > Attribute Management > Context and Attributes
查找type = Pricing Context, Code = Pricing Attribute
然后加一条记录:
Code = SHIPPED_QTY (or whatever you wish to name it)
Description – Shipped Quantity
Column Mapped = Pricing_attribute25 <
select next available pricing_attributeXX
>
Value Set = QP: Number
Responsibility: Oracle Pricing Manager
Navigate to: Setup > Attribute Management > Attribute Linking and Mapping
查找头:
Pricing Transaction Entity = Order Fulfillment,
Context type = Pricing Context
查找行:Code = Pricing Attribute
点击Link Attributes
3.1 加一行记录:
Code = SHIPPED_QTY, level = LINE, Attribute Mapping Method = Attribute Mapping
然后点击Attribute Mapping
然后加一行记录:
Application Name = Advanced Pricing for request type = ONT
Enter user source type = PL/SQL API
User Value String =CUX_QP_SOURCING_API_PUB.GET_SHIPPED_QUANTITY(OE_ORDER_PUB.G_LINE.LINE_ID)
Responsibility = Oracle Pricing Manager
Navigate: Pricing Formulas > Formula Setup
formula name =SHIPPED_FRIGHT
formula = 1*2*3
step 1 pricing attribute Shipped Quantity
step 2 List Price -- this is the unit price in the SO line
step 3 Modifier Value --This is the step represents that the value comes from modified value
这样的设置就能得到Formula value = shipped quantity * list price * modified value
Responsibility = Oracle Pricing Manager
Navigate: Modifiers>Modifier
使用刚刚创建好的Formula
Formula = SHIPPED_FRIGHT
Application Method = Lumpsum (the option means that the freight will be calculated according to formula, but not ordered quantity)
Value = 0.04 (which means that the freight = shipped quantity * list price * 0.04)
6.针对这个修改量运行QP: Maintains the denormalized data in QP Qualifiers
7.在订单类型中加一个行流:Line Flow - Generic, with Reprice at Fulfillment
测试
Before ship-1:订单发运前运费为0
Before ship-2:发运13个
发运13个,则freight charges = shipped quantity * list price * modified value = 13*16.16*0.04=8.4032
这样就实现了运费是基于发运完成的数量去计算的了。
﹏﹏
﹏﹏
作者 :田锡剑
审核 :陆 觉
编辑 :王 锐