2: /* $Header: jtfvnsb.pls 115.7 2003/09/26 22:52:51 hbouten ship $ */
3:
4: PROCEDURE check_notes_access
5: ( p_api_version IN NUMBER
6: , p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
7: , p_note_id IN NUMBER
8: , x_select_predicate IN OUT NOCOPY VARCHAR2
9: , x_note_type_predicate IN OUT NOCOPY VARCHAR2
10: , x_select_access IN OUT NOCOPY NUMBER
28:
29: --
30: -- Standard call to check for call compatibility
31: --
32: IF NOT FND_API.Compatible_API_Call( l_api_version
33: , p_api_version
34: , l_api_name
35: , G_PKG_NAME
36: )
34: , l_api_name
35: , G_PKG_NAME
36: )
37: THEN
38: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
39: END IF;
40:
41: --
42: -- Initialize message list if p_init_msg_list is set to TRUE
40:
41: --
42: -- Initialize message list if p_init_msg_list is set to TRUE
43: --
44: IF FND_API.To_Boolean(p_init_msg_list)
45: THEN
46: FND_MSG_PUB.Initialize;
47: END IF;
48:
48:
49: --
50: -- Initialize API return status to success
51: --
52: x_return_status := FND_API.G_RET_STS_SUCCESS;
53:
54: --
55: -- Get Security Predicate for Select
56: --
57: IF (x_select_predicate IS NULL)
58: THEN
59: get_security_predicate
60: ( p_api_version => 1.0
61: , p_init_msg_list => FND_API.G_FALSE
62: , p_object_name => G_OBJECT_NOTE
63: , p_function => G_FUNCTION_SELECT
64: , p_statement_type => 'OTHER'
65: , p_table_alias => NULL
67: , x_return_status => x_return_status
68: , x_msg_count => x_msg_count
69: , x_msg_data => x_msg_data
70: );
71: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
72: THEN
73: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
74: END IF;
75: END IF;
69: , x_msg_data => x_msg_data
70: );
71: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
72: THEN
73: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
74: END IF;
75: END IF;
76:
77: --
81: THEN
82:
83: get_security_predicate
84: ( p_api_version => 1.0
85: , p_init_msg_list => FND_API.G_FALSE
86: , p_object_name => G_OBJECT_NOTE_TYPE
87: , p_function => G_FUNCTION_TYPE_SELECT
88: , p_statement_type => 'OTHER'
89: , p_table_alias => NULL
92: , x_msg_count => x_msg_count
93: , x_msg_data => x_msg_data
94: );
95:
96: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
97: THEN
98: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99: END IF;
100:
94: );
95:
96: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
97: THEN
98: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99: END IF;
100:
101: END IF;
102:
115: x_delete_access := 0;
116:
117: get_functions
118: ( p_api_version => 1.0
119: , p_init_msg_list => FND_API.G_FALSE
120: , p_object_name => G_OBJECT_NOTE
121: , p_instance_pk1_value => TO_CHAR(p_note_id)
122: , p_instance_pk2_value => NULL
123: , p_instance_pk3_value => NULL
129: , x_msg_count => x_msg_count
130: , x_msg_data => x_msg_data
131: );
132:
133: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
134: THEN
135: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
136: END IF;
137:
131: );
132:
133: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
134: THEN
135: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
136: END IF;
137:
138: IF (l_privilege_tbl.LAST IS NOT NULL)
139: THEN
167: THEN
168:
169: check_function
170: ( p_api_version => 1.0
171: , p_init_msg_list => FND_API.G_FALSE
172: , p_function => G_FUNCTION_CREATE
173: , p_object_name => G_OBJECT_NOTE
174: , p_instance_pk1_value => NULL
175: , p_instance_pk2_value => NULL
182: , x_msg_count => x_msg_count
183: , x_msg_data => x_msg_data
184: );
185:
186: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
187: THEN
188: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
189: END IF;
190: END IF;
184: );
185:
186: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
187: THEN
188: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
189: END IF;
190: END IF;
191:
192: --
191:
192: --
193: -- Standard call to get message count and if count is 1, get message info
194: --
195: x_return_status := FND_API.G_RET_STS_SUCCESS;
196: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
197: , p_data => x_msg_data
198: );
199:
198: );
199:
200:
201: EXCEPTION
202: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
203: THEN
204: -- In case of exception return no access for all functions
205: -- (required for NOCOPY)
206: x_select_predicate := 0;
211: x_update_note_details_access := 0;
212: x_update_secondary_access := 0;
213: x_delete_access := 0;
214:
215: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
216: fnd_msg_pub.count_and_get( p_encoded => 'F'
217: , p_count => x_msg_count
218: , p_data => x_msg_data
219: );
231: x_delete_access := 0;
232: --
233: -- Set status
234: --
235: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
236: --
237: -- Push message onto CRM stack
238: --
239: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME
249:
250:
251: PROCEDURE get_security_predicate
252: ( p_api_version IN NUMBER
253: , p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
254: , p_object_name IN VARCHAR2 DEFAULT NULL
255: , p_function IN VARCHAR2 DEFAULT NULL
256: , p_grant_instance_type IN VARCHAR2 DEFAULT 'UNIVERSAL'
257: , p_user_name IN VARCHAR2 DEFAULT NULL
273: BEGIN
274: --
275: -- Standard call to check for call compatibility
276: --
277: IF NOT FND_API.Compatible_API_Call( l_api_version
278: , p_api_version
279: , l_api_name
280: , G_PKG_NAME
281: )
279: , l_api_name
280: , G_PKG_NAME
281: )
282: THEN
283: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
284: END IF;
285:
286: --
287: -- Initialize message list if p_init_msg_list is set to TRUE
285:
286: --
287: -- Initialize message list if p_init_msg_list is set to TRUE
288: --
289: IF FND_API.To_Boolean(p_init_msg_list)
290: THEN
291: FND_MSG_PUB.Initialize;
292: END IF;
293:
293:
294: --
295: -- Initialize API return status to success
296: --
297: x_return_status := FND_API.G_RET_STS_SUCCESS;
298:
299: --
300: -- Call the FND procedure
301: --
315: THEN
316: --
317: -- An error occured
318: --
319: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
320: ELSE
321: x_return_status := FND_API.G_RET_STS_SUCCESS;
322:
323: END IF;
317: -- An error occured
318: --
319: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
320: ELSE
321: x_return_status := FND_API.G_RET_STS_SUCCESS;
322:
323: END IF;
324:
325: --
330: );
331:
332:
333: EXCEPTION
334: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
335: THEN
336: --
337: -- Set status
338: --
335: THEN
336: --
337: -- Set status
338: --
339: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
340:
341: --
342: -- Get error message from FND stack
343: --
364: THEN
365: --
366: -- Set status
367: --
368: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
369:
370: --
371: -- Push message onto CRM stack
372: --
388:
389:
390: PROCEDURE get_functions
391: ( p_api_version IN NUMBER
392: , p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
393: , p_object_name IN VARCHAR2
394: , p_instance_pk1_value IN VARCHAR2 DEFAULT NULL
395: , p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
396: , p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
413: BEGIN
414: --
415: -- Standard call to check for call compatibility
416: --
417: IF NOT FND_API.Compatible_API_Call( l_api_version
418: , p_api_version
419: , l_api_name
420: , G_PKG_NAME
421: )
419: , l_api_name
420: , G_PKG_NAME
421: )
422: THEN
423: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
424: END IF;
425:
426: --
427: -- Initialize message list if p_init_msg_list is set to TRUE
425:
426: --
427: -- Initialize message list if p_init_msg_list is set to TRUE
428: --
429: IF FND_API.To_Boolean(p_init_msg_list)
430: THEN
431: FND_MSG_PUB.Initialize;
432: END IF;
433:
433:
434: --
435: -- Initialize API return status to success
436: --
437: x_return_status := FND_API.G_RET_STS_SUCCESS;
438:
439: --
440: -- Call the FND procedure
441: --
456: THEN
457: --
458: -- An error occured
459: --
460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
461: ELSE
462: x_return_status := FND_API.G_RET_STS_SUCCESS;
463:
464: END IF;
458: -- An error occured
459: --
460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
461: ELSE
462: x_return_status := FND_API.G_RET_STS_SUCCESS;
463:
464: END IF;
465:
466: --
470: , p_data => x_msg_data
471: );
472:
473: EXCEPTION
474: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
475: THEN
476: --
477: -- Set status
478: --
475: THEN
476: --
477: -- Set status
478: --
479: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
480:
481: --
482: -- Get error message from FND stack
483: --
504: THEN
505: --
506: -- Set status
507: --
508: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
509:
510: --
511: -- Push message onto CRM stack
512: --
528: END get_functions;
529:
530: PROCEDURE check_function
531: ( p_api_version IN NUMBER
532: , p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
533: , p_function IN VARCHAR2
534: , p_object_name IN VARCHAR2
535: , p_instance_pk1_value IN VARCHAR2 DEFAULT NULL
536: , p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
554: BEGIN
555: --
556: -- Standard call to check for call compatibility
557: --
558: IF NOT FND_API.Compatible_API_Call( l_api_version
559: , p_api_version
560: , l_api_name
561: , G_PKG_NAME
562: )
560: , l_api_name
561: , G_PKG_NAME
562: )
563: THEN
564: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
565: END IF;
566:
567: --
568: -- Initialize message list if p_init_msg_list is set to TRUE
566:
567: --
568: -- Initialize message list if p_init_msg_list is set to TRUE
569: --
570: IF FND_API.To_Boolean(p_init_msg_list)
571: THEN
572: FND_MSG_PUB.Initialize;
573: END IF;
574:
574:
575: --
576: -- Initialize API return status to success
577: --
578: x_return_status := FND_API.G_RET_STS_SUCCESS;
579:
580:
581: --
582: -- Call the FND procedure
608: , p_data => x_msg_data
609: );
610:
611: EXCEPTION
612: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
613: THEN
614: --
615: -- Something is wrong: no access
616: --
618:
619: --
620: -- Set status
621: --
622: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
623: --
624: -- Get error message from FND stack
625: --
626: l_msg_data := FND_MESSAGE.GET;
645:
646: --
647: -- Set status
648: --
649: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
650: --
651: -- Push message onto CRM stack
652: --
653: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME
663:
664:
665: PROCEDURE check_note_type
666: ( p_api_version IN NUMBER
667: , p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
668: , p_note_type IN VARCHAR2
669: , x_return_status OUT NOCOPY VARCHAR2
670: , x_grant OUT NOCOPY NUMBER -- 1 yes, 0 no
671: , x_msg_count OUT NOCOPY NUMBER
692: BEGIN
693: --
694: -- Standard call to check for call compatibility
695: --
696: IF NOT FND_API.Compatible_API_Call( l_api_version
697: , p_api_version
698: , l_api_name
699: , G_PKG_NAME
700: )
698: , l_api_name
699: , G_PKG_NAME
700: )
701: THEN
702: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
703: END IF;
704:
705: --
706: -- Initialize message list if p_init_msg_list is set to TRUE
704:
705: --
706: -- Initialize message list if p_init_msg_list is set to TRUE
707: --
708: IF FND_API.To_Boolean(p_init_msg_list)
709: THEN
710: FND_MSG_PUB.Initialize;
711: END IF;
712:
712:
713: --
714: -- Initialize API return status to success
715: --
716: x_return_status := FND_API.G_RET_STS_SUCCESS;
717:
718: --
719: -- Get the security predicate
720: --
719: -- Get the security predicate
720: --
721: get_security_predicate
722: ( p_api_version => 1.0
723: , p_init_msg_list => FND_API.G_FALSE
724: , p_object_name => G_OBJECT_NOTE_TYPE
725: , p_function => G_FUNCTION_TYPE_SELECT
726: , p_statement_type => 'OTHER'
727: , p_table_alias => 'FNS'
731: , x_msg_data => x_msg_data
732: );
733:
734:
735: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
736: THEN
737: --
738: -- An error occured
739: --
736: THEN
737: --
738: -- An error occured
739: --
740: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
741: END IF;
742:
743: --
744: -- No error so we can do the checks
769: , p_data => x_msg_data
770: );
771:
772: EXCEPTION
773: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
774: THEN
775: --
776: -- Something is wrong: no access
777: --
781: THEN
782: CLOSE cv_note_types;
783: END IF;
784:
785: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
786:
787: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
788: , p_data => x_msg_data
789: );
798: THEN
799: CLOSE cv_note_types;
800: END IF;
801:
802: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
803:
804: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME
805: , l_api_name
806: , SQLERRM
837: IF (p_note_id IS NOT NULL)
838: THEN
839: check_function
840: ( p_api_version => 1.0
841: , p_init_msg_list => FND_API.G_FALSE
842: , p_function => G_FUNCTION_UPDATE_SEC
843: , p_object_name => G_OBJECT_NOTE
844: , p_instance_pk1_value => p_note_id
845: , p_instance_pk2_value => NULL
852: , x_msg_count => l_msg_count
853: , x_msg_data => l_msg_data
854: );
855:
856: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS)
857: THEN
858: retAccess := 0;
859: END IF;
860: END IF;
888: IF (p_note_id IS NOT NULL)
889: THEN
890: check_function
891: ( p_api_version => 1.0
892: , p_init_msg_list => FND_API.G_FALSE
893: , p_function => G_FUNCTION_UPDATE_NOTE_DTLS
894: , p_object_name => G_OBJECT_NOTE
895: , p_instance_pk1_value => p_note_id
896: , p_instance_pk2_value => NULL
903: , x_msg_count => l_msg_count
904: , x_msg_data => l_msg_data
905: );
906:
907: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS)
908: THEN
909: retAccess := 0;
910: END IF;
911:
912: IF (retAccess <> 0)
913: THEN
914: check_function
915: ( p_api_version => 1.0
916: , p_init_msg_list => FND_API.G_FALSE
917: , p_function => G_FUNCTION_UPDATE_NOTE
918: , p_object_name => G_OBJECT_NOTE
919: , p_instance_pk1_value => p_note_id
920: , p_instance_pk2_value => NULL
927: , x_msg_count => l_msg_count
928: , x_msg_data => l_msg_data
929: );
930:
931: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS)
932: THEN
933: retAccess := 0;
934: END IF;
935: END IF;
964: IF (p_note_id IS NOT NULL)
965: THEN
966: check_function
967: ( p_api_version => 1.0
968: , p_init_msg_list => FND_API.G_FALSE
969: , p_function => G_FUNCTION_DELETE
970: , p_object_name => G_OBJECT_NOTE
971: , p_instance_pk1_value => p_note_id
972: , p_instance_pk2_value => NULL
979: , x_msg_count => l_msg_count
980: , x_msg_data => l_msg_data
981: );
982:
983: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS)
984: THEN
985: retAccess := 0;
986: END IF;
987: END IF;