7:
8: -- Procedure Clear_Dependent_Attr
9:
10: PROCEDURE Clear_Dependent_Attr
11: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
12: , p_PTE_rec IN QP_Attr_Map_PUB.Pte_Rec_Type
13: , p_old_PTE_rec IN QP_Attr_Map_PUB.Pte_Rec_Type :=
14: QP_Attr_Map_PUB.G_MISS_PTE_REC
15: , x_PTE_rec OUT NOCOPY /* file.sql.39 change */ QP_Attr_Map_PUB.Pte_Rec_Type
26:
27: -- If attr_id is missing compare old and new records and for
28: -- every changed attribute clear its dependent fields.
29:
30: IF p_attr_id = FND_API.G_MISS_NUM THEN
31:
32: IF NOT QP_GLOBALS.Equal(p_PTE_rec.description,p_old_PTE_rec.description)
33: THEN
34: l_index := l_index + 1;
157: IS
158: l_PTE_rec QP_Attr_Map_PUB.Pte_Rec_Type := p_PTE_rec;
159: BEGIN
160:
161: IF l_PTE_rec.description = FND_API.G_MISS_CHAR THEN
162: l_PTE_rec.description := p_old_PTE_rec.description;
163: END IF;
164:
165: IF l_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
161: IF l_PTE_rec.description = FND_API.G_MISS_CHAR THEN
162: l_PTE_rec.description := p_old_PTE_rec.description;
163: END IF;
164:
165: IF l_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
166: l_PTE_rec.enabled_flag := p_old_PTE_rec.enabled_flag;
167: END IF;
168:
169: IF l_PTE_rec.end_date_active = FND_API.G_MISS_DATE THEN
165: IF l_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
166: l_PTE_rec.enabled_flag := p_old_PTE_rec.enabled_flag;
167: END IF;
168:
169: IF l_PTE_rec.end_date_active = FND_API.G_MISS_DATE THEN
170: l_PTE_rec.end_date_active := p_old_PTE_rec.end_date_active;
171: END IF;
172:
173: IF l_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
169: IF l_PTE_rec.end_date_active = FND_API.G_MISS_DATE THEN
170: l_PTE_rec.end_date_active := p_old_PTE_rec.end_date_active;
171: END IF;
172:
173: IF l_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
174: l_PTE_rec.lookup_code := p_old_PTE_rec.lookup_code;
175: END IF;
176:
177: IF l_PTE_rec.lookup_type = FND_API.G_MISS_CHAR THEN
173: IF l_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
174: l_PTE_rec.lookup_code := p_old_PTE_rec.lookup_code;
175: END IF;
176:
177: IF l_PTE_rec.lookup_type = FND_API.G_MISS_CHAR THEN
178: l_PTE_rec.lookup_type := p_old_PTE_rec.lookup_type;
179: END IF;
180:
181: IF l_PTE_rec.meaning = FND_API.G_MISS_CHAR THEN
177: IF l_PTE_rec.lookup_type = FND_API.G_MISS_CHAR THEN
178: l_PTE_rec.lookup_type := p_old_PTE_rec.lookup_type;
179: END IF;
180:
181: IF l_PTE_rec.meaning = FND_API.G_MISS_CHAR THEN
182: l_PTE_rec.meaning := p_old_PTE_rec.meaning;
183: END IF;
184:
185: IF l_PTE_rec.start_date_active = FND_API.G_MISS_DATE THEN
181: IF l_PTE_rec.meaning = FND_API.G_MISS_CHAR THEN
182: l_PTE_rec.meaning := p_old_PTE_rec.meaning;
183: END IF;
184:
185: IF l_PTE_rec.start_date_active = FND_API.G_MISS_DATE THEN
186: l_PTE_rec.start_date_active := p_old_PTE_rec.start_date_active;
187: END IF;
188:
189: RETURN l_PTE_rec;
198: IS
199: l_PTE_rec QP_Attr_Map_PUB.Pte_Rec_Type := p_PTE_rec;
200: BEGIN
201:
202: IF l_PTE_rec.description = FND_API.G_MISS_CHAR THEN
203: l_PTE_rec.description := NULL;
204: END IF;
205:
206: IF l_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
202: IF l_PTE_rec.description = FND_API.G_MISS_CHAR THEN
203: l_PTE_rec.description := NULL;
204: END IF;
205:
206: IF l_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
207: l_PTE_rec.enabled_flag := NULL;
208: END IF;
209:
210: IF l_PTE_rec.end_date_active = FND_API.G_MISS_DATE THEN
206: IF l_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
207: l_PTE_rec.enabled_flag := NULL;
208: END IF;
209:
210: IF l_PTE_rec.end_date_active = FND_API.G_MISS_DATE THEN
211: l_PTE_rec.end_date_active := NULL;
212: END IF;
213:
214: IF l_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
210: IF l_PTE_rec.end_date_active = FND_API.G_MISS_DATE THEN
211: l_PTE_rec.end_date_active := NULL;
212: END IF;
213:
214: IF l_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
215: l_PTE_rec.lookup_code := NULL;
216: END IF;
217:
218: IF l_PTE_rec.lookup_type = FND_API.G_MISS_CHAR THEN
214: IF l_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
215: l_PTE_rec.lookup_code := NULL;
216: END IF;
217:
218: IF l_PTE_rec.lookup_type = FND_API.G_MISS_CHAR THEN
219: l_PTE_rec.lookup_type := NULL;
220: END IF;
221:
222: IF l_PTE_rec.meaning = FND_API.G_MISS_CHAR THEN
218: IF l_PTE_rec.lookup_type = FND_API.G_MISS_CHAR THEN
219: l_PTE_rec.lookup_type := NULL;
220: END IF;
221:
222: IF l_PTE_rec.meaning = FND_API.G_MISS_CHAR THEN
223: l_PTE_rec.meaning := NULL;
224: END IF;
225:
226: IF l_PTE_rec.start_date_active = FND_API.G_MISS_DATE THEN
222: IF l_PTE_rec.meaning = FND_API.G_MISS_CHAR THEN
223: l_PTE_rec.meaning := NULL;
224: END IF;
225:
226: IF l_PTE_rec.start_date_active = FND_API.G_MISS_DATE THEN
227: l_PTE_rec.start_date_active := NULL;
228: END IF;
229:
230: RETURN l_PTE_rec;
264: , 'Update_Row'
265: );
266: END IF;
267:
268: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
269:
270: END Update_Row;
271:
272: -- Procedure Insert_Row
310: , 'Insert_Row'
311: );
312: END IF;
313:
314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315:
316: END Insert_Row;
317:
318: -- Procedure Delete_Row
340: , 'Delete_Row'
341: );
342: END IF;
343:
344: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
345:
346: END Delete_Row;
347:
348: -- Function Query_Row
385: , 'Query_Row'
386: );
387: END IF;
388:
389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
390:
391: END Query_Row;
392:
393: -- Procedure lock_Row
444: x_PTE_rec := l_PTE_rec;
445:
446: -- Set return status
447:
448: x_return_status := FND_API.G_RET_STS_SUCCESS;
449: x_PTE_rec.return_status := FND_API.G_RET_STS_SUCCESS;
450:
451: ELSE
452:
445:
446: -- Set return status
447:
448: x_return_status := FND_API.G_RET_STS_SUCCESS;
449: x_PTE_rec.return_status := FND_API.G_RET_STS_SUCCESS;
450:
451: ELSE
452:
453: -- Row has changed by another user.
451: ELSE
452:
453: -- Row has changed by another user.
454:
455: x_return_status := FND_API.G_RET_STS_ERROR;
456: x_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
457:
458: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
459: THEN
452:
453: -- Row has changed by another user.
454:
455: x_return_status := FND_API.G_RET_STS_ERROR;
456: x_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
457:
458: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
459: THEN
460:
468: EXCEPTION
469:
470: WHEN NO_DATA_FOUND THEN
471:
472: x_return_status := FND_API.G_RET_STS_ERROR;
473: x_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
474:
475: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
476: THEN
469:
470: WHEN NO_DATA_FOUND THEN
471:
472: x_return_status := FND_API.G_RET_STS_ERROR;
473: x_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
474:
475: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
476: THEN
477:
480:
481: END IF;
482: WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
483:
484: x_return_status := FND_API.G_RET_STS_ERROR;
485: x_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
486:
487: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
488: THEN
481: END IF;
482: WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
483:
484: x_return_status := FND_API.G_RET_STS_ERROR;
485: x_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
486:
487: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
488: THEN
489:
492:
493: END IF;
494: WHEN OTHERS THEN
495:
496: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
497: x_PTE_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
498:
499: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
500: THEN
493: END IF;
494: WHEN OTHERS THEN
495:
496: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
497: x_PTE_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
498:
499: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
500: THEN
501: FND_MSG_PUB.Add_Exc_Msg
517: l_PTE_val_rec QP_Attr_Map_PUB.Pte_Val_Rec_Type;
518: BEGIN
519:
520: IF p_PTE_rec.enabled_flag IS NOT NULL AND
521: p_PTE_rec.enabled_flag <> FND_API.G_MISS_CHAR AND
522: NOT QP_GLOBALS.Equal(p_PTE_rec.enabled_flag,
523: p_old_PTE_rec.enabled_flag)
524: THEN
525: l_PTE_val_rec.enabled := QP_Id_To_Value.Enabled
527: );
528: END IF;
529:
530: IF p_PTE_rec.lookup_code IS NOT NULL AND
531: p_PTE_rec.lookup_code <> FND_API.G_MISS_CHAR AND
532: NOT QP_GLOBALS.Equal(p_PTE_rec.lookup_code,
533: p_old_PTE_rec.lookup_code)
534: THEN
535: l_PTE_val_rec.lookup := QP_Id_To_Value.Lookup
552: BEGIN
553:
554: -- initialize return_status.
555:
556: l_PTE_rec.return_status := FND_API.G_RET_STS_SUCCESS;
557:
558: -- initialize l_PTE_rec.
559:
560: l_PTE_rec := p_PTE_rec;
558: -- initialize l_PTE_rec.
559:
560: l_PTE_rec := p_PTE_rec;
561:
562: IF p_PTE_val_rec.enabled <> FND_API.G_MISS_CHAR
563: THEN
564:
565: IF p_PTE_rec.enabled_flag <> FND_API.G_MISS_CHAR THEN
566:
561:
562: IF p_PTE_val_rec.enabled <> FND_API.G_MISS_CHAR
563: THEN
564:
565: IF p_PTE_rec.enabled_flag <> FND_API.G_MISS_CHAR THEN
566:
567: l_PTE_rec.enabled_flag := p_PTE_rec.enabled_flag;
568:
569: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
580: l_PTE_rec.enabled_flag := QP_Value_To_Id.enabled
581: ( p_enabled => p_PTE_val_rec.enabled
582: );
583:
584: IF l_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
585: l_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
586: END IF;
587:
588: END IF;
581: ( p_enabled => p_PTE_val_rec.enabled
582: );
583:
584: IF l_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
585: l_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
586: END IF;
587:
588: END IF;
589:
588: END IF;
589:
590: END IF;
591:
592: IF p_PTE_val_rec.lookup <> FND_API.G_MISS_CHAR
593: THEN
594:
595: IF p_PTE_rec.lookup_code <> FND_API.G_MISS_CHAR THEN
596:
591:
592: IF p_PTE_val_rec.lookup <> FND_API.G_MISS_CHAR
593: THEN
594:
595: IF p_PTE_rec.lookup_code <> FND_API.G_MISS_CHAR THEN
596:
597: l_PTE_rec.lookup_code := p_PTE_rec.lookup_code;
598:
599: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
610: l_PTE_rec.lookup_code := QP_Value_To_Id.lookup
611: ( p_lookup => p_PTE_val_rec.lookup
612: );
613:
614: IF l_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
615: l_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
616: END IF;
617:
618: END IF;
611: ( p_lookup => p_PTE_val_rec.lookup
612: );
613:
614: IF l_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
615: l_PTE_rec.return_status := FND_API.G_RET_STS_ERROR;
616: END IF;
617:
618: END IF;
619: