33: THEN
34:
35: l_return_status := FND_API.G_RET_STS_ERROR;
36: FND_MESSAGE.SET_NAME('QP', 'QP_BASIC_PRICING_UNAVAILABLE');
37: OE_MSG_PUB.Add;
38: RAISE FND_API.G_EXC_ERROR;
39:
40: END IF;
41:
46: THEN
47:
48: l_return_status := FND_API.G_RET_STS_ERROR;
49:
50: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
51: THEN
52:
53: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
54: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula_line');
51: THEN
52:
53: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
54: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula_line');
55: OE_MSG_PUB.Add;
56:
57: END IF;
58:
59: END IF;
66: THEN
67:
68: l_return_status := FND_API.G_RET_STS_ERROR;
69:
70: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
71: THEN
72:
73: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
74: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula');
71: THEN
72:
73: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
74: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula');
75: OE_MSG_PUB.Add;
76:
77: END IF;
78:
79: END IF;
82: THEN
83:
84: l_return_status := FND_API.G_RET_STS_ERROR;
85:
86: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
87: THEN
88:
89: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
90: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula_line_type');
87: THEN
88:
89: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
90: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula_line_type');
91: OE_MSG_PUB.Add;
92:
93: END IF;
94:
95: END IF;
98: THEN
99:
100: l_return_status := FND_API.G_RET_STS_ERROR;
101:
102: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
103: THEN
104:
105: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
106: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','step_number');
103: THEN
104:
105: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
106: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','step_number');
107: OE_MSG_PUB.Add;
108:
109: END IF;
110:
111: END IF;
127: -- Formula Line Type is Numeric Constant
128: IF p_FORMULA_LINES_rec.numeric_constant IS NULL THEN
129: l_return_status := FND_API.G_RET_STS_ERROR;
130:
131: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
132: THEN
133:
134: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
135: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','numeric_constant');
132: THEN
133:
134: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
135: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','numeric_constant');
136: OE_MSG_PUB.Add;
137:
138: END IF;
139:
140: END IF;
143: -- Formula Line Type is Price List Line
144: IF p_FORMULA_LINES_rec.price_list_line_id IS NULL THEN
145: l_return_status := FND_API.G_RET_STS_ERROR;
146:
147: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
148: THEN
149:
150: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
151: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_list_line');
148: THEN
149:
150: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
151: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_list_line');
152: OE_MSG_PUB.Add;
153:
154: END IF;
155:
156: END IF;
159: -- Formula Line Type is Factor(Modifier) List
160: /*IF p_FORMULA_LINES_rec.price_modifier_list_id IS NULL THEN
161: l_return_status := FND_API.G_RET_STS_ERROR;
162:
163: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
164: THEN
165:
166: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
167: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_modifier_list');
164: THEN
165:
166: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
167: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_modifier_list');
168: OE_MSG_PUB.Add;
169:
170: END IF;
171:
172: END IF;*/
176: -- Formula Line Type is Pricing Attribute
177: IF p_FORMULA_LINES_rec.pricing_attribute_context IS NULL THEN
178: l_return_status := FND_API.G_RET_STS_ERROR;
179:
180: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
181: THEN
182:
183: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
184: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pricing_attribute_context');
181: THEN
182:
183: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
184: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pricing_attribute_context');
185: OE_MSG_PUB.Add;
186:
187: END IF;
188:
189: END IF;
190:
191: IF p_FORMULA_LINES_rec.pricing_attribute IS NULL THEN
192: l_return_status := FND_API.G_RET_STS_ERROR;
193:
194: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
195: THEN
196:
197: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
198: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pricing_attribute');
195: THEN
196:
197: FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
198: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pricing_attribute');
199: OE_MSG_PUB.Add;
200:
201: END IF;
202:
203: END IF;
206: ELSIF p_FORMULA_LINES_rec.formula_line_type_code NOT IN ('FUNC','LP','MV') THEN
207:
208: l_return_status := FND_API.G_RET_STS_ERROR;
209:
210: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
211: THEN
212:
213: FND_MESSAGE.SET_NAME('QP','QP_INVALID_FORMULA_LINE_TYPE');
214: OE_MSG_PUB.Add;
210: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
211: THEN
212:
213: FND_MESSAGE.SET_NAME('QP','QP_INVALID_FORMULA_LINE_TYPE');
214: OE_MSG_PUB.Add;
215:
216: END IF;
217:
218: END IF;
236: THEN
237:
238: l_return_status := FND_API.G_RET_STS_ERROR;
239:
240: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
241: THEN
242:
243: FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_ATTRIBUTE');
244: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','step_number');
241: THEN
242:
243: FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_ATTRIBUTE');
244: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','step_number');
245: OE_MSG_PUB.Add;
246:
247: END IF;
248:
249: END IF;
265: IF l_type <> 'N' THEN
266:
267: l_return_status := FND_API.G_RET_STS_ERROR;
268:
269: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
270: THEN
271:
272: FND_MESSAGE.SET_NAME('QP','QP_INVALID_NUM_ATTRIBUTE');
273: OE_MSG_PUB.Add;
269: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
270: THEN
271:
272: FND_MESSAGE.SET_NAME('QP','QP_INVALID_NUM_ATTRIBUTE');
273: OE_MSG_PUB.Add;
274:
275: END IF;
276:
277: END IF;
313: WHEN OTHERS THEN
314:
315: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
316:
317: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
318: THEN
319: OE_MSG_PUB.Add_Exc_Msg
320: ( G_PKG_NAME
321: , 'Entity'
315: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
316:
317: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
318: THEN
319: OE_MSG_PUB.Add_Exc_Msg
320: ( G_PKG_NAME
321: , 'Entity'
322: );
323: END IF;
670: WHEN OTHERS THEN
671:
672: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
673:
674: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
675: THEN
676: OE_MSG_PUB.Add_Exc_Msg
677: ( G_PKG_NAME
678: , 'Attributes'
672: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
673:
674: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
675: THEN
676: OE_MSG_PUB.Add_Exc_Msg
677: ( G_PKG_NAME
678: , 'Attributes'
679: );
680: END IF;
714: WHEN OTHERS THEN
715:
716: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
717:
718: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
719: THEN
720: OE_MSG_PUB.Add_Exc_Msg
721: ( G_PKG_NAME
722: , 'Entity_Delete'
716: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
717:
718: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
719: THEN
720: OE_MSG_PUB.Add_Exc_Msg
721: ( G_PKG_NAME
722: , 'Entity_Delete'
723: );
724: END IF;