10: -- The get_***_attr procedures populate the global variables listed
11: -- below. When the get_
12: -- default from the global variables if they have been populated
13:
14: g_Res_rec WIP_Transaction_PUB.Res_Rec_Type;
15: g_RCV_txn WIP_Transaction_PUB.Rcv_Txn_Type;
16: g_WIP_op_res WIP_Transaction_PUB.WIP_Op_Res_Type;
17: g_PO_Dstr WIP_Transaction_PUB.PO_Dist_Type;
18: g_Wip_Entities_rec WIP_Work_Order_PUB.Wip_Entities_Rec_Type :=
11: -- below. When the get_
12: -- default from the global variables if they have been populated
13:
14: g_Res_rec WIP_Transaction_PUB.Res_Rec_Type;
15: g_RCV_txn WIP_Transaction_PUB.Rcv_Txn_Type;
16: g_WIP_op_res WIP_Transaction_PUB.WIP_Op_Res_Type;
17: g_PO_Dstr WIP_Transaction_PUB.PO_Dist_Type;
18: g_Wip_Entities_rec WIP_Work_Order_PUB.Wip_Entities_Rec_Type :=
19: WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
12: -- default from the global variables if they have been populated
13:
14: g_Res_rec WIP_Transaction_PUB.Res_Rec_Type;
15: g_RCV_txn WIP_Transaction_PUB.Rcv_Txn_Type;
16: g_WIP_op_res WIP_Transaction_PUB.WIP_Op_Res_Type;
17: g_PO_Dstr WIP_Transaction_PUB.PO_Dist_Type;
18: g_Wip_Entities_rec WIP_Work_Order_PUB.Wip_Entities_Rec_Type :=
19: WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
20: g_BOM_res WIP_Transaction_PUB.BOM_Resource_Type;
13:
14: g_Res_rec WIP_Transaction_PUB.Res_Rec_Type;
15: g_RCV_txn WIP_Transaction_PUB.Rcv_Txn_Type;
16: g_WIP_op_res WIP_Transaction_PUB.WIP_Op_Res_Type;
17: g_PO_Dstr WIP_Transaction_PUB.PO_Dist_Type;
18: g_Wip_Entities_rec WIP_Work_Order_PUB.Wip_Entities_Rec_Type :=
19: WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
20: g_BOM_res WIP_Transaction_PUB.BOM_Resource_Type;
21:
16: g_WIP_op_res WIP_Transaction_PUB.WIP_Op_Res_Type;
17: g_PO_Dstr WIP_Transaction_PUB.PO_Dist_Type;
18: g_Wip_Entities_rec WIP_Work_Order_PUB.Wip_Entities_Rec_Type :=
19: WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
20: g_BOM_res WIP_Transaction_PUB.BOM_Resource_Type;
21:
22: -- Get functions.
23:
24: /* Private Procedure that will populate all the attributes from RCV_TRANSACTIONS_INTERFACE. Populating each attribute individually will be a performance hit, so call this procedure once */
583: /* Fix for bug 4155822: Divide by l_po_unit_price by g_Res_rec.usage_rate_or_amount only if
584: g_Res_rec.usage_rate_or_amount is not 0 or NULL. */
585: l_actual_resource_rate := (l_po_unit_price / CASE WHEN NVL(g_Res_rec.usage_rate_or_amount,0) = 0 THEN 1
586: ELSE g_Res_rec.usage_rate_or_amount END)+ l_tax_amount ;
587: IF g_Res_rec.action IN ( WIP_Transaction_PUB.G_ACT_OSP_RET_TO_RCV ,WIP_Transaction_PUB.G_ACT_OSP_RET_TO_VEND,WIP_Transaction_PUB.G_ACT_OSP_CORRECT_TO_RCV)
588: AND g_Res_rec.primary_quantity=0 THEN --Bug#16470292:Replaced usage rate with primary quantity
589: l_actual_resource_rate := -l_actual_resource_rate;
590: END IF;
591: --Bug#15842225(FP of Bug#14365506): Commeneted the rest of the code below, so that negative resource rate is set only when usage rate is 0
601:
602: l_actual_resource_rate := l_po_unit_price + l_tax_amount ;
603:
604: /*Fix for bug 8601418. comment following code to prevent negative l_actual_resource_rate
605: IF g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_RCV OR
606: g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_VEND OR
607: g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_CORRECT_TO_RCV THEN
608: l_actual_resource_rate := -l_actual_resource_rate;
609: END IF;
602: l_actual_resource_rate := l_po_unit_price + l_tax_amount ;
603:
604: /*Fix for bug 8601418. comment following code to prevent negative l_actual_resource_rate
605: IF g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_RCV OR
606: g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_VEND OR
607: g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_CORRECT_TO_RCV THEN
608: l_actual_resource_rate := -l_actual_resource_rate;
609: END IF;
610: END IF;
603:
604: /*Fix for bug 8601418. comment following code to prevent negative l_actual_resource_rate
605: IF g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_RCV OR
606: g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_VEND OR
607: g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_CORRECT_TO_RCV THEN
608: l_actual_resource_rate := -l_actual_resource_rate;
609: END IF;
610: END IF;
611: END IF; */
2000: ELSE
2001: RETURN NULL;
2002: END IF;
2003:
2004: IF g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_RCV
2005: OR g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_VEND
2006: OR g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_CORRECT_TO_RCV
2007: THEN
2008: g_Res_rec.transaction_quantity := -1* g_Res_rec.transaction_quantity;
2001: RETURN NULL;
2002: END IF;
2003:
2004: IF g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_RCV
2005: OR g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_VEND
2006: OR g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_CORRECT_TO_RCV
2007: THEN
2008: g_Res_rec.transaction_quantity := -1* g_Res_rec.transaction_quantity;
2009: END IF;
2002: END IF;
2003:
2004: IF g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_RCV
2005: OR g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_RET_TO_VEND
2006: OR g_Res_rec.action = WIP_Transaction_PUB.G_ACT_OSP_CORRECT_TO_RCV
2007: THEN
2008: g_Res_rec.transaction_quantity := -1* g_Res_rec.transaction_quantity;
2009: END IF;
2010:
2221: END Get_Flex_Res;
2222:
2223: -- Procedure Attributes
2224: PROCEDURE Attributes
2225: ( p_Res_rec IN WIP_Transaction_PUB.Res_Rec_Type
2226: , p_iteration IN NUMBER := NULL
2227: , x_Res_rec IN OUT NOCOPY WIP_Transaction_PUB.Res_Rec_Type
2228: )
2229: IS
2223: -- Procedure Attributes
2224: PROCEDURE Attributes
2225: ( p_Res_rec IN WIP_Transaction_PUB.Res_Rec_Type
2226: , p_iteration IN NUMBER := NULL
2227: , x_Res_rec IN OUT NOCOPY WIP_Transaction_PUB.Res_Rec_Type
2228: )
2229: IS
2230: BEGIN
2231:
2246: END IF;
2247:
2248: -- Initialize global variables
2249:
2250: g_Res_rec := WIP_Transaction_PUB.G_MISS_RES_REC;
2251: g_RCV_txn := WIP_Transaction_PUB.G_MISS_RCV_TXN_REC;
2252: g_WIP_op_res := WIP_Transaction_PUB.G_MISS_WIP_OP_RES_REC;
2253: g_PO_Dstr := WIP_Transaction_PUB.G_MISS_PO_DIST_REC;
2254: g_Wip_Entities_rec := WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
2247:
2248: -- Initialize global variables
2249:
2250: g_Res_rec := WIP_Transaction_PUB.G_MISS_RES_REC;
2251: g_RCV_txn := WIP_Transaction_PUB.G_MISS_RCV_TXN_REC;
2252: g_WIP_op_res := WIP_Transaction_PUB.G_MISS_WIP_OP_RES_REC;
2253: g_PO_Dstr := WIP_Transaction_PUB.G_MISS_PO_DIST_REC;
2254: g_Wip_Entities_rec := WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
2255: g_BOM_res := WIP_Transaction_PUB.G_MISS_BOM_RES_REC;
2248: -- Initialize global variables
2249:
2250: g_Res_rec := WIP_Transaction_PUB.G_MISS_RES_REC;
2251: g_RCV_txn := WIP_Transaction_PUB.G_MISS_RCV_TXN_REC;
2252: g_WIP_op_res := WIP_Transaction_PUB.G_MISS_WIP_OP_RES_REC;
2253: g_PO_Dstr := WIP_Transaction_PUB.G_MISS_PO_DIST_REC;
2254: g_Wip_Entities_rec := WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
2255: g_BOM_res := WIP_Transaction_PUB.G_MISS_BOM_RES_REC;
2256:
2249:
2250: g_Res_rec := WIP_Transaction_PUB.G_MISS_RES_REC;
2251: g_RCV_txn := WIP_Transaction_PUB.G_MISS_RCV_TXN_REC;
2252: g_WIP_op_res := WIP_Transaction_PUB.G_MISS_WIP_OP_RES_REC;
2253: g_PO_Dstr := WIP_Transaction_PUB.G_MISS_PO_DIST_REC;
2254: g_Wip_Entities_rec := WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
2255: g_BOM_res := WIP_Transaction_PUB.G_MISS_BOM_RES_REC;
2256:
2257: g_Res_rec := p_Res_rec;
2251: g_RCV_txn := WIP_Transaction_PUB.G_MISS_RCV_TXN_REC;
2252: g_WIP_op_res := WIP_Transaction_PUB.G_MISS_WIP_OP_RES_REC;
2253: g_PO_Dstr := WIP_Transaction_PUB.G_MISS_PO_DIST_REC;
2254: g_Wip_Entities_rec := WIP_Work_Order_PUB.G_MISS_WIP_ENTITIES_REC;
2255: g_BOM_res := WIP_Transaction_PUB.G_MISS_BOM_RES_REC;
2256:
2257: g_Res_rec := p_Res_rec;
2258:
2259: -- Default missing attributes.