13: , p_old_PSG_rec IN QP_Attr_Map_PUB.Psg_Rec_Type :=
14: QP_Attr_Map_PUB.G_MISS_PSG_REC
15: )
16: IS
17: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18: BEGIN
19:
20: -- Check required attributes.
21:
21:
22: IF p_PSG_rec.segment_pte_id IS NULL
23: THEN
24:
25: l_return_status := FND_API.G_RET_STS_ERROR;
26:
27: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
28: THEN
29:
41:
42:
43: -- Return Error if a required attribute is missing.
44:
45: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
46:
47: RAISE FND_API.G_EXC_ERROR;
48:
49: END IF;
43: -- Return Error if a required attribute is missing.
44:
45: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
46:
47: RAISE FND_API.G_EXC_ERROR;
48:
49: END IF;
50:
51: --
63: x_return_status := l_return_status;
64:
65: EXCEPTION
66:
67: WHEN FND_API.G_EXC_ERROR THEN
68:
69: x_return_status := FND_API.G_RET_STS_ERROR;
70:
71: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
65: EXCEPTION
66:
67: WHEN FND_API.G_EXC_ERROR THEN
68:
69: x_return_status := FND_API.G_RET_STS_ERROR;
70:
71: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
72:
73: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
67: WHEN FND_API.G_EXC_ERROR THEN
68:
69: x_return_status := FND_API.G_RET_STS_ERROR;
70:
71: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
72:
73: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
74:
75: WHEN OTHERS THEN
69: x_return_status := FND_API.G_RET_STS_ERROR;
70:
71: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
72:
73: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
74:
75: WHEN OTHERS THEN
76:
77: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
73: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
74:
75: WHEN OTHERS THEN
76:
77: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
78:
79: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
80: THEN
81: OE_MSG_PUB.Add_Exc_Msg
96: )
97: IS
98: BEGIN
99:
100: x_return_status := FND_API.G_RET_STS_SUCCESS;
101:
102: -- Validate PSG attributes
103:
104: IF p_PSG_rec.created_by IS NOT NULL AND
106: p_old_PSG_rec.created_by OR
107: p_old_PSG_rec.created_by IS NULL )
108: THEN
109: IF NOT QP_Validate.Created_By(p_PSG_rec.created_by) THEN
110: x_return_status := FND_API.G_RET_STS_ERROR;
111: END IF;
112: END IF;
113:
114: IF p_PSG_rec.creation_date IS NOT NULL AND
116: p_old_PSG_rec.creation_date OR
117: p_old_PSG_rec.creation_date IS NULL )
118: THEN
119: IF NOT QP_Validate.Creation_Date(p_PSG_rec.creation_date) THEN
120: x_return_status := FND_API.G_RET_STS_ERROR;
121: END IF;
122: END IF;
123:
124: IF p_PSG_rec.last_updated_by IS NOT NULL AND
126: p_old_PSG_rec.last_updated_by OR
127: p_old_PSG_rec.last_updated_by IS NULL )
128: THEN
129: IF NOT QP_Validate.Last_Updated_By(p_PSG_rec.last_updated_by) THEN
130: x_return_status := FND_API.G_RET_STS_ERROR;
131: END IF;
132: END IF;
133:
134: IF p_PSG_rec.last_update_date IS NOT NULL AND
136: p_old_PSG_rec.last_update_date OR
137: p_old_PSG_rec.last_update_date IS NULL )
138: THEN
139: IF NOT QP_Validate.Last_Update_Date(p_PSG_rec.last_update_date) THEN
140: x_return_status := FND_API.G_RET_STS_ERROR;
141: END IF;
142: END IF;
143:
144: IF p_PSG_rec.last_update_login IS NOT NULL AND
146: p_old_PSG_rec.last_update_login OR
147: p_old_PSG_rec.last_update_login IS NULL )
148: THEN
149: IF NOT QP_Validate.Last_Update_Login(p_PSG_rec.last_update_login) THEN
150: x_return_status := FND_API.G_RET_STS_ERROR;
151: END IF;
152: END IF;
153:
154: IF p_PSG_rec.limits_enabled IS NOT NULL AND
156: p_old_PSG_rec.limits_enabled OR
157: p_old_PSG_rec.limits_enabled IS NULL )
158: THEN
159: IF NOT QP_Validate.Limits_Enabled(p_PSG_rec.limits_enabled) THEN
160: x_return_status := FND_API.G_RET_STS_ERROR;
161: END IF;
162: END IF;
163:
164: IF p_PSG_rec.lov_enabled IS NOT NULL AND
166: p_old_PSG_rec.lov_enabled OR
167: p_old_PSG_rec.lov_enabled IS NULL )
168: THEN
169: IF NOT QP_Validate.Lov_Enabled(p_PSG_rec.lov_enabled) THEN
170: x_return_status := FND_API.G_RET_STS_ERROR;
171: END IF;
172: END IF;
173:
174: IF p_PSG_rec.program_application_id IS NOT NULL AND
176: p_old_PSG_rec.program_application_id OR
177: p_old_PSG_rec.program_application_id IS NULL )
178: THEN
179: IF NOT QP_Validate.Program_Application(p_PSG_rec.program_application_id) THEN
180: x_return_status := FND_API.G_RET_STS_ERROR;
181: END IF;
182: END IF;
183:
184: IF p_PSG_rec.program_id IS NOT NULL AND
186: p_old_PSG_rec.program_id OR
187: p_old_PSG_rec.program_id IS NULL )
188: THEN
189: IF NOT QP_Validate.Program(p_PSG_rec.program_id) THEN
190: x_return_status := FND_API.G_RET_STS_ERROR;
191: END IF;
192: END IF;
193:
194: IF p_PSG_rec.program_update_date IS NOT NULL AND
196: p_old_PSG_rec.program_update_date OR
197: p_old_PSG_rec.program_update_date IS NULL )
198: THEN
199: IF NOT QP_Validate.Program_Update_Date(p_PSG_rec.program_update_date) THEN
200: x_return_status := FND_API.G_RET_STS_ERROR;
201: END IF;
202: END IF;
203:
204: IF p_PSG_rec.pte_code IS NOT NULL AND
206: p_old_PSG_rec.pte_code OR
207: p_old_PSG_rec.pte_code IS NULL )
208: THEN
209: IF NOT QP_Validate.Pte(p_PSG_rec.pte_code) THEN
210: x_return_status := FND_API.G_RET_STS_ERROR;
211: END IF;
212: END IF;
213:
214: IF p_PSG_rec.seeded_sourcing_method IS NOT NULL AND
216: p_old_PSG_rec.seeded_sourcing_method OR
217: p_old_PSG_rec.seeded_sourcing_method IS NULL )
218: THEN
219: IF NOT QP_Validate.Seeded_Sourcing_Method(p_PSG_rec.seeded_sourcing_method) THEN
220: x_return_status := FND_API.G_RET_STS_ERROR;
221: END IF;
222: END IF;
223:
224: IF p_PSG_rec.segment_id IS NOT NULL AND
226: p_old_PSG_rec.segment_id OR
227: p_old_PSG_rec.segment_id IS NULL )
228: THEN
229: IF NOT QP_Validate.Segment(p_PSG_rec.segment_id) THEN
230: x_return_status := FND_API.G_RET_STS_ERROR;
231: END IF;
232: END IF;
233:
234: IF p_PSG_rec.segment_level IS NOT NULL AND
236: p_old_PSG_rec.segment_level OR
237: p_old_PSG_rec.segment_level IS NULL )
238: THEN
239: IF NOT QP_Validate.Segment_Level(p_PSG_rec.segment_level) THEN
240: x_return_status := FND_API.G_RET_STS_ERROR;
241: END IF;
242: END IF;
243:
244: IF p_PSG_rec.segment_pte_id IS NOT NULL AND
246: p_old_PSG_rec.segment_pte_id OR
247: p_old_PSG_rec.segment_pte_id IS NULL )
248: THEN
249: IF NOT QP_Validate.Segment_Pte(p_PSG_rec.segment_pte_id) THEN
250: x_return_status := FND_API.G_RET_STS_ERROR;
251: END IF;
252: END IF;
253:
254: IF p_PSG_rec.sourcing_enabled IS NOT NULL AND
256: p_old_PSG_rec.sourcing_enabled OR
257: p_old_PSG_rec.sourcing_enabled IS NULL )
258: THEN
259: IF NOT QP_Validate.Sourcing_Enabled(p_PSG_rec.sourcing_enabled) THEN
260: x_return_status := FND_API.G_RET_STS_ERROR;
261: END IF;
262: END IF;
263:
264: IF p_PSG_rec.sourcing_status IS NOT NULL AND
266: p_old_PSG_rec.sourcing_status OR
267: p_old_PSG_rec.sourcing_status IS NULL )
268: THEN
269: IF NOT QP_Validate.Sourcing_Status(p_PSG_rec.sourcing_status) THEN
270: x_return_status := FND_API.G_RET_STS_ERROR;
271: END IF;
272: END IF;
273:
274: IF p_PSG_rec.user_sourcing_method IS NOT NULL AND
276: p_old_PSG_rec.user_sourcing_method OR
277: p_old_PSG_rec.user_sourcing_method IS NULL )
278: THEN
279: IF NOT QP_Validate.User_Sourcing_Method(p_PSG_rec.user_sourcing_method) THEN
280: x_return_status := FND_API.G_RET_STS_ERROR;
281: END IF;
282: END IF;
283:
284: IF (p_PSG_rec.attribute1 IS NOT NULL AND
418:
419: -- Validate descriptive flexfield.
420:
421: IF NOT QP_Validate.Desc_Flex( 'PSG' ) THEN
422: x_return_status := FND_API.G_RET_STS_ERROR;
423: END IF;
424:
425: END IF;
426:
427: -- Done validating attributes
428:
429: EXCEPTION
430:
431: WHEN FND_API.G_EXC_ERROR THEN
432:
433: x_return_status := FND_API.G_RET_STS_ERROR;
434:
435: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
429: EXCEPTION
430:
431: WHEN FND_API.G_EXC_ERROR THEN
432:
433: x_return_status := FND_API.G_RET_STS_ERROR;
434:
435: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
436:
437: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
431: WHEN FND_API.G_EXC_ERROR THEN
432:
433: x_return_status := FND_API.G_RET_STS_ERROR;
434:
435: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
436:
437: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
438:
439: WHEN OTHERS THEN
433: x_return_status := FND_API.G_RET_STS_ERROR;
434:
435: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
436:
437: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
438:
439: WHEN OTHERS THEN
440:
441: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
437: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
438:
439: WHEN OTHERS THEN
440:
441: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
442:
443: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
444: THEN
445: OE_MSG_PUB.Add_Exc_Msg
456: ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
457: , p_PSG_rec IN QP_Attr_Map_PUB.Psg_Rec_Type
458: )
459: IS
460: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
461: BEGIN
462:
463: -- Validate entity delete.
464:
469: x_return_status := l_return_status;
470:
471: EXCEPTION
472:
473: WHEN FND_API.G_EXC_ERROR THEN
474:
475: x_return_status := FND_API.G_RET_STS_ERROR;
476:
477: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
471: EXCEPTION
472:
473: WHEN FND_API.G_EXC_ERROR THEN
474:
475: x_return_status := FND_API.G_RET_STS_ERROR;
476:
477: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
478:
479: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
473: WHEN FND_API.G_EXC_ERROR THEN
474:
475: x_return_status := FND_API.G_RET_STS_ERROR;
476:
477: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
478:
479: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
480:
481: WHEN OTHERS THEN
475: x_return_status := FND_API.G_RET_STS_ERROR;
476:
477: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
478:
479: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
480:
481: WHEN OTHERS THEN
482:
483: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
479: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
480:
481: WHEN OTHERS THEN
482:
483: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
484:
485: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
486: THEN
487: OE_MSG_PUB.Add_Exc_Msg