DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_CORE_UTIL

Source


1 PACKAGE BODY CS_Core_UTIL AS
2 /* $Header: csucoreb.pls 120.4 2006/06/21 19:25:09 spusegao noship $ */
3 
4 ------------------------------------------------------------------------------
5 --  Procedure	: Add_Desc_Flex_Msg
6 ------------------------------------------------------------------------------
7 
8 PROCEDURE Add_Desc_Flex_Msg
9   ( p_token_an	IN	VARCHAR2,
10     p_token_dfm	IN	VARCHAR2 )
11   IS
12 BEGIN
13    IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
14       fnd_message.set_name('CS', 'CS_API_SR_DESC_FLEX_ERROR');
15       fnd_message.set_token('API_NAME', p_token_an);
16       fnd_message.set_token('DESC_FLEX_MSG', p_token_dfm);
17       fnd_msg_pub.add;
18    END IF;
19 END Add_Desc_Flex_Msg;
20 
21 ------------------------------------------------------------------------------
22 --  Procedure	: Add_Duplicate_Value_Msg
23 ------------------------------------------------------------------------------
24 
25 PROCEDURE Add_Duplicate_Value_Msg
26   ( p_token_an	IN	VARCHAR2,
27     p_token_p	IN	VARCHAR2 )
28   IS
29 BEGIN
30    IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
31       fnd_message.set_name('CS', 'CS_API_ALL_DUPLICATE_VALUE');
32       fnd_message.set_token('API_NAME', p_token_an);
33       fnd_message.set_token('DUPLICATE_VAL_PARAM', p_token_p);
34       fnd_msg_pub.add;
35    END IF;
36 END Add_Duplicate_Value_Msg;
37 
38 ------------------------------------------------------------------------------
39 --  Procedure	: Add_Invalid_Argument_Msg
40 ------------------------------------------------------------------------------
41 
42 PROCEDURE Add_Invalid_Argument_Msg
43   ( p_token_an	IN	VARCHAR2,
44     p_token_v	IN	VARCHAR2,
45     p_token_p	IN	VARCHAR2 )
46   IS
47 BEGIN
48    IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
49       fnd_message.set_name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
50       fnd_message.set_token('API_NAME', p_token_an);
51       fnd_message.set_token('VALUE', p_token_v);
52       fnd_message.set_token('PARAMETER', p_token_p);
53       fnd_msg_pub.add;
54    END IF;
55 END Add_Invalid_Argument_Msg;
56 
57 ------------------------------------------------------------------------------
58 --  Procedure	: Add_Missing_Param_Msg
59 ------------------------------------------------------------------------------
60 
61 PROCEDURE Add_Missing_Param_Msg
62   ( p_token_an	IN	VARCHAR2,
63     p_token_mp	IN	VARCHAR2 )
64   IS
65 BEGIN
66    IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
67       fnd_message.set_name('CS', 'CS_API_ALL_MISSING_PARAM');
68       fnd_message.set_token('API_NAME', p_token_an);
69       fnd_message.set_token('MISSING_PARAM', p_token_mp);
70       fnd_msg_pub.add;
71    END IF;
72 END Add_MIssing_Param_Msg;
73 
74 ------------------------------------------------------------------------------
75 --  Procedure	: Add_Null_Parameter_Msg
76 ------------------------------------------------------------------------------
77 
78 PROCEDURE Add_Null_Parameter_Msg
79   ( p_token_an	IN	VARCHAR2,
80     p_token_np	IN	VARCHAR2 )
81   IS
82 BEGIN
83    IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
84       fnd_message.set_name('CS', 'CS_API_ALL_NULL_PARAMETER');
85       fnd_message.set_token('API_NAME', p_token_an);
86       fnd_message.set_token('NULL_PARAM', p_token_np);
87       fnd_msg_pub.add;
88    END IF;
89 END Add_Null_Parameter_Msg;
90 
91 ------------------------------------------------------------------------------
92 --  Procedure	: Add_Param_Ignored_Msg
93 ------------------------------------------------------------------------------
94 
95 PROCEDURE Add_Param_Ignored_Msg
96   ( p_token_an	IN	VARCHAR2,
97     p_token_ip	IN	VARCHAR2 )
98   IS
99 BEGIN
100    IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
101       fnd_message.set_name('CS', 'CS_API_ALL_PARAM_IGNORED');
102       fnd_message.set_token('API_NAME', p_token_an);
103       fnd_message.set_token('IGNORED_PARAM', p_token_ip);
104       fnd_msg_pub.add;
105    END IF;
106 END Add_Param_Ignored_Msg;
107 
108 ------------------------------------------------------------------------------
109 --  Procedure	: Add_Same_Val_Update_Msg
110 ------------------------------------------------------------------------------
111 
112 PROCEDURE Add_Same_Val_Update_Msg
113   ( p_token_an	IN	VARCHAR2,
114     p_token_p	IN	VARCHAR2 )
115   IS
116 BEGIN
117    IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
118       fnd_message.set_name('CS', 'CS_API_ALL_SAME_VAL_UPDATE');
119       fnd_message.set_token('API_NAME', p_token_an);
120       fnd_message.set_token('SAME_VAL_PARAM', p_token_p);
121       fnd_msg_pub.add;
122    END IF;
123 END Add_Same_Val_Update_Msg;
124 
125 ------------------------------------------------------------------------------
126 --  Procedure	: Convert_Contact_To_ID
127 ------------------------------------------------------------------------------
128 
129 -- -----------------------------------------------------------------------------
130 -- Modification History
131 -- Date     Name     Desc
132 -- -------- -------- -----------------------------------------------------------
133 -- 08/08/05 smisra   bug 4532643
134 --                   The procedure is being stubbed as it is not used
135 -- -----------------------------------------------------------------------------
136 PROCEDURE Convert_Contact_To_ID
137   ( p_api_name		IN	VARCHAR2,
138     p_parameter_name_ln	IN	VARCHAR2,
139     p_parameter_name_fn	IN	VARCHAR2,
140     p_contact_lastname	IN	VARCHAR2,
141     p_contact_firstname	IN	VARCHAR2 DEFAULT fnd_api.g_miss_char,
142     x_contact_id	OUT NOCOPY	NUMBER,
143     x_return_status	OUT NOCOPY	VARCHAR2 )
144   IS
145 BEGIN
146    x_return_status := fnd_api.g_ret_sts_success;
147 /****
148    IF p_contact_firstname <> fnd_api.g_miss_char THEN
149       SELECT contact_id INTO x_contact_id
150 	FROM ra_contacts
151 	WHERE last_name = p_contact_lastname
152 	AND first_name = p_contact_firstname;
153    ELSE
154       SELECT contact_id INTO x_contact_id
155 	FROM ra_contacts
156 	WHERE last_name = p_contact_lastname;
157    END IF;
158 ***/
159 EXCEPTION
160    WHEN no_data_found THEN
161       x_return_status := fnd_api.g_ret_sts_error;
162       IF p_contact_firstname <> fnd_api.g_miss_char THEN
163 	 cs_core_util.add_invalid_argument_msg
164 	   ( p_token_an	=> p_api_name,
165 	     p_token_v	=> p_contact_lastname||', '||p_contact_firstname,
166 	     p_token_p	=> p_parameter_name_ln||', '||p_parameter_name_fn );
167       ELSE
168 	 cs_core_util.add_invalid_argument_msg
169 	   ( p_token_an	=> p_api_name,
170 	     p_token_v	=> p_contact_lastname,
171 	     p_token_p	=> p_parameter_name_ln );
172       END IF;
173    WHEN too_many_rows THEN
174       x_return_status := fnd_api.g_ret_sts_error;
175       IF p_contact_firstname <> fnd_api.g_miss_char THEN
176 	 cs_core_util.add_duplicate_value_msg
177 	   ( p_token_an	=> p_api_name,
178 	     p_token_p	=> p_parameter_name_ln||', '||p_parameter_name_fn );
179       ELSE
180 	 cs_core_util.add_duplicate_value_msg
181 	   ( p_token_an	=> p_api_name,
182 	     p_token_p	=> p_parameter_name_ln );
183       END IF;
184 END Convert_Contact_To_ID;
185 
186 ------------------------------------------------------------------------------
187 --  Procedure	: Convert_Customer_To_ID
188 ------------------------------------------------------------------------------
189 
190 PROCEDURE Convert_Customer_To_ID
191   ( p_api_name		IN	VARCHAR2,
192     p_parameter_name_nb	IN	VARCHAR2,
193     p_parameter_name_n	IN	VARCHAR2,
194     p_customer_number	IN	VARCHAR2 DEFAULT fnd_api.g_miss_char,
195     p_customer_name	IN	VARCHAR2 DEFAULT fnd_api.g_miss_char,
196     x_customer_id	OUT NOCOPY	NUMBER,
197     x_return_status	OUT NOCOPY	VARCHAR2 )
198   IS
199 BEGIN
200    x_return_status := fnd_api.g_ret_sts_success;
201 
202    IF p_customer_number <> fnd_api.g_miss_char THEN
203       BEGIN
204 	 SELECT party_id INTO x_customer_id
205 	   FROM hz_parties
206 	   WHERE party_number = p_customer_number;
207       EXCEPTION
208 	 WHEN no_data_found THEN
209 	    x_return_status := fnd_api.g_ret_sts_error;
210 	    cs_core_util.add_invalid_argument_msg(p_api_name,
211 						  p_customer_number,
212 						  p_parameter_name_nb);
213       END;
214       IF p_customer_name <> fnd_api.g_miss_char THEN
215 	 cs_core_util.add_param_ignored_msg(p_api_name, p_parameter_name_n);
216       END IF;
217    ELSE
218       BEGIN
219 	 SELECT party_id INTO x_customer_id
220 	   FROM hz_parties
221 	   WHERE party_name = p_customer_name;
222       EXCEPTION
223 	 WHEN no_data_found THEN
224 	    x_return_status := fnd_api.g_ret_sts_error;
225 	    cs_core_util.add_invalid_argument_msg(p_api_name, p_customer_name,
226 						  p_parameter_name_n);
227 	 WHEN too_many_rows THEN
228 	    x_return_status := fnd_api.g_ret_sts_error;
229 	    cs_core_util.add_duplicate_value_msg(p_api_name,
230 						 p_parameter_name_n);
231       END;
232    END IF;
233 END Convert_Customer_To_ID;
234 
235 ------------------------------------------------------------------------------
236 --  Procedure	: Convert_Customer_To_Name
237 ------------------------------------------------------------------------------
238 
239 PROCEDURE Convert_Customer_To_Name
240   ( p_api_name		IN	VARCHAR2,
241     p_parameter_name	IN	VARCHAR2,
242     p_customer_id	IN	NUMBER,
243     x_customer_name	OUT NOCOPY	VARCHAR2,
244     x_return_status	OUT NOCOPY	VARCHAR2 )
245   IS
246 BEGIN
247    x_return_status := fnd_api.g_ret_sts_success;
248 
249    -- Fetch name from database.
250    SELECT party_name INTO x_customer_name
251      FROM hz_parties
252      WHERE party_id = p_customer_id;
253 
254 EXCEPTION
255    WHEN no_data_found THEN
256       x_return_status := fnd_api.g_ret_sts_error;
257       add_invalid_argument_msg(p_api_name, To_char(p_customer_id),
258 			       p_parameter_name);
259 END Convert_Customer_To_Name;
260 
261 ------------------------------------------------------------------------------
262 --  Procedure	: Convert_Employee_To_ID
263 ------------------------------------------------------------------------------
264 
265 PROCEDURE Convert_Employee_To_ID
266   ( p_api_name		IN	VARCHAR2,
267     p_parameter_name_nb	IN	VARCHAR2,
268     p_parameter_name_n	IN	VARCHAR2,
269     p_employee_number	IN	VARCHAR2 DEFAULT fnd_api.g_miss_char,
270     p_employee_name	IN	VARCHAR2 DEFAULT fnd_api.g_miss_char,
271     x_employee_id	OUT NOCOPY	NUMBER,
272     x_return_status	OUT NOCOPY	VARCHAR2 )
273   IS
274 BEGIN
275    x_return_status := fnd_api.g_ret_sts_success;
276 
277    IF p_employee_number <> fnd_api.g_miss_char THEN
278       BEGIN
279 	 SELECT person_id INTO x_employee_id
280 	   FROM per_people_x
281 	   WHERE employee_number = p_employee_number;
282       EXCEPTION
283 	 WHEN no_data_found THEN
284 	    x_return_status := fnd_api.g_ret_sts_error;
285 	    cs_core_util.add_invalid_argument_msg(p_api_name,
286 						  p_employee_number,
287 						  p_parameter_name_nb);
288 	 WHEN too_many_rows THEN
289 	    x_return_status := fnd_api.g_ret_sts_error;
290 	    cs_core_util.add_duplicate_value_msg(p_api_name,
291 						 p_parameter_name_nb);
292       END;
293       IF p_employee_name <> fnd_api.g_miss_char THEN
294 	 cs_core_util.add_param_ignored_msg(p_api_name, p_parameter_name_n);
295       END IF;
296    ELSE
297       BEGIN
298 	 SELECT person_id INTO x_employee_id
299 	   FROM per_people_x
300 	   WHERE full_name = p_employee_name;
301       EXCEPTION
302 	 WHEN no_data_found THEN
303 	    x_return_status := fnd_api.g_ret_sts_error;
304 	    cs_core_util.add_invalid_argument_msg(p_api_name, p_employee_name,
305 						  p_parameter_name_n);
306 	 WHEN too_many_rows THEN
307 	    x_return_status := fnd_api.g_ret_sts_error;
308 	    cs_core_util.add_duplicate_value_msg(p_api_name,
309 						 p_parameter_name_n);
310       END;
311    END IF;
312 END Convert_Employee_To_ID;
313 
314 ------------------------------------------------------------------------------
315 --  Procedure	: Convert_Lookup_To_Code
316 ------------------------------------------------------------------------------
317 
318 PROCEDURE Convert_Lookup_To_Code
319   ( p_api_name		IN	VARCHAR2,
320     p_parameter_name	IN	VARCHAR2,
321     p_meaning		IN	VARCHAR2,
322     p_lookup_type	IN	VARCHAR2,
323     x_lookup_code	OUT NOCOPY	VARCHAR2,
324     x_return_status	OUT NOCOPY	VARCHAR2 )
325   IS
326 BEGIN
327    x_return_status := fnd_api.g_ret_sts_success;
328 
329    SELECT lookup_code INTO x_lookup_code
330      FROM cs_lookups
331      WHERE lookup_type = p_lookup_type
332      AND meaning = p_meaning;
333 EXCEPTION
334    WHEN no_data_found THEN
335       x_return_status := fnd_api.g_ret_sts_error;
336       cs_core_util.add_invalid_argument_msg(p_api_name, p_meaning,
337 					    p_parameter_name);
338 END Convert_Lookup_To_Code;
339 
340 ------------------------------------------------------------------------------
341 --  Procedure	: Convert_Org_To_ID
342 ------------------------------------------------------------------------------
343 
344 PROCEDURE Convert_Org_To_ID
345   ( p_api_name		IN	VARCHAR2,
346     p_parameter_name	IN	VARCHAR2,
347     p_org_name		IN	VARCHAR2,
348     x_org_id		OUT NOCOPY	NUMBER,
349     x_return_status	OUT NOCOPY	VARCHAR2 )
350   IS
351 BEGIN
352    x_return_status := fnd_api.g_ret_sts_success;
353 
354    SELECT organization_id INTO x_org_id
355      FROM hr_operating_units
356      WHERE name = p_org_name;
357 EXCEPTION
358    WHEN no_data_found THEN
359       x_return_status := fnd_api.g_ret_sts_error;
360       cs_core_util.add_invalid_argument_msg(p_api_name, p_org_name,
361 					    p_parameter_name);
362    WHEN too_many_rows THEN
363       x_return_status := fnd_api.g_ret_sts_error;
364       cs_core_util.add_duplicate_value_msg(p_api_name, p_parameter_name);
365 END Convert_Org_To_ID;
366 
367 ------------------------------------------------------------------------------
368 --  Procedure	: Default_Common_Attributes
369 ------------------------------------------------------------------------------
370 /*
371 PROCEDURE Default_Common_Attributes
372   ( p_api_name		IN	VARCHAR2,
373     p_resp_appl_id	IN OUT	NUMBER,
374     p_resp_id		IN OUT	NUMBER,
375     p_user_id		IN OUT	NUMBER,
376     p_login_id		IN OUT	NUMBER,
377     p_org_id		IN OUT	NUMBER,
378     p_inventory_org_id	IN OUT	NUMBER)
379   IS
380 BEGIN
381    -------------------------------------------------------------------------
382    -- FND_GLOBAL.RESP_APPL_ID, FND_GLOBAL.RESP_ID, and FND_GLOBAL.LOGIN_ID
383    -- returns -1 by default, which is an invalid value. FND_GLOBAL.USER_ID
384    -- is okay, because user ID -1 corresponds to user 'ANONYMOUS.'  If
385    -- FND_GLOBAL returns -1, the variables are set to NULL instead.
386    -------------------------------------------------------------------------
387    IF p_resp_appl_id = fnd_api.g_miss_num THEN
388       IF fnd_global.resp_appl_id <> -1 THEN
389 	 p_resp_appl_id := fnd_global.resp_appl_id;
390       ELSE
391 	 p_resp_appl_id := NULL;
392       END IF;
393    END IF;
394 
395    IF p_resp_id = fnd_api.g_miss_num THEN
396       IF fnd_global.resp_id <> -1 THEN
397 	 p_resp_id := fnd_global.resp_id;
398       ELSE
399 	 p_resp_id := NULL;
400       END IF;
401    END IF;
402 
403    IF p_user_id = fnd_api.g_miss_num THEN
404       p_user_id := fnd_global.user_id;
405    END IF;
406 
407    IF p_login_id = fnd_api.g_miss_num THEN
408       IF fnd_global.login_id NOT IN (-1,0) THEN
409 	 p_login_id := fnd_global.login_id;
410       ELSE
411 	 p_login_id := NULL;
412       END IF;
413    END IF;
414 
415    --
416    -- If Multi-Org is enabled, get the default from the session variable
417    -- CLIENT_INFO. If it is not set, get the default from the ORG_ID profile
418    -- option.
419    --
420    IF cs_core_util.is_multiorg_enabled THEN
421       IF p_org_id = fnd_api.g_miss_num THEN
422 	 SELECT To_number(Decode(substrb(userenv('CLIENT_INFO'),1,1), ' ',
423 				 NULL, substrb(userenv('CLIENT_INFO'),1,10)))
424 	   INTO p_org_id
425 	   FROM dual;
426 	 IF p_org_id IS NULL THEN
427 	    p_org_id := To_number(fnd_profile.value_specific('ORG_ID',
428 							     p_user_id,
429 							     p_resp_id,
430 							     p_resp_appl_id));
431 	 END IF;
432       END IF;
433    END IF;
434 
435    IF p_inventory_org_id = fnd_api.g_miss_num THEN
436       p_inventory_org_id :=
437 	To_number(fnd_profile.value_specific('SO_ORGANIZATION_ID', p_user_id,
438 					     p_resp_id, p_resp_appl_id));
439    END IF;
440 END Default_Common_Attributes;
441 */
442 ------------------------------------------------------------------------------
443 --  Function	: Is_MultiOrg_Enabled
444 ------------------------------------------------------------------------------
445 
446 FUNCTION Is_MultiOrg_Enabled RETURN BOOLEAN IS
447    l_multiorg_enabled  VARCHAR2(1);
448 BEGIN
449    SELECT multi_org_flag INTO l_multiorg_enabled
450      FROM fnd_product_groups;
451 
452    IF l_multiorg_enabled = 'Y' THEN
453       RETURN TRUE;
454    ELSE
455       RETURN FALSE;
456    END IF;
457 END Is_MultiOrg_Enabled;
458 
459 ------------------------------------------------------------------------------
460 --  Procedure	: Trunc_String_Length
461 ------------------------------------------------------------------------------
462 
463 PROCEDURE Trunc_String_length
464   ( p_api_name		IN	VARCHAR2,
465     p_parameter_name	IN	VARCHAR2,
466     p_str		IN	VARCHAR2,
467     p_len		IN	NUMBER,
468     x_str		OUT NOCOPY	VARCHAR2 )
469   IS
470      l_len	NUMBER;
471 BEGIN
472    l_len := lengthb(p_str);
473    IF (l_len > p_len) THEN
474       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
475 	 fnd_message.set_name('CS', 'CS_API_ALL_VALUE_TRUNCATED');
476 	 fnd_message.set_token('API_NAME', p_api_name);
477 	 fnd_message.set_token('TRUNCATED_PARAM', p_parameter_name);
478 	 fnd_message.set_token('VAL_LEN', l_len);
479 	 fnd_message.set_token('DB_LEN', p_len);
480 	 fnd_msg_pub.add;
481       END IF;
482       x_str := substrb(p_str, 1, p_len);
483     ELSE
484       x_str := p_str;
485    END IF;
486 END Trunc_String_Length;
487 
488 ------------------------------------------------------------------------------
489 --  Procedure	: Validate_Bill_To_Site
490 ------------------------------------------------------------------------------
491 
492 -- -----------------------------------------------------------------------------
493 -- Modification History
494 -- Date     Name     Desc
495 -- -------- -------- -----------------------------------------------------------
496 -- 08/08/05 smisra   bug 4532643
497 --                   The procedure is being stubbed as it is not used
498 -- -----------------------------------------------------------------------------
499 PROCEDURE Validate_Bill_To_Site
500   ( p_api_name			IN	VARCHAR2,
501     p_parameter_name		IN	VARCHAR2,
502     p_bill_to_site_id		IN	NUMBER,
503     p_customer_id		IN	NUMBER,
504     p_org_id			IN	NUMBER   := NULL,
505     x_bill_to_customer_id	OUT NOCOPY	NUMBER,
506     x_return_status		OUT NOCOPY	VARCHAR2 )
507   IS
508 BEGIN
509    x_return_status := fnd_api.g_ret_sts_success;
510 /*****
511    -- Find the customer of the given site
512    SELECT a.customer_id INTO x_bill_to_customer_id
513      FROM ra_site_uses_all su, ra_addresses_all a
514      WHERE Nvl(su.org_id,-99) = Decode(su.org_id,NULL,-99,p_org_id)
515      AND su.site_use_id = p_bill_to_site_id
516      AND su.site_use_code = 'BILL_TO'
517      AND su.address_id = a.address_id
518      -- Verify that the bill-to site customer is the same as the customer
519      AND ( a.customer_id = p_customer_id
520 	   -- or one of its related customers
521 	   OR a.customer_id IN
522 	   ( SELECT ra.related_customer_id
523 	     FROM ra_customer_relationships_all ra
524 	     WHERE ra.customer_id = p_customer_id
525 	     AND ra.status = 'A'
526 	     AND Nvl(ra.org_id,-99) = Decode(ra.org_id,NULL,-99,p_org_id) ) );
527 *****/
528 EXCEPTION
529    WHEN no_data_found THEN
530       x_return_status := fnd_api.g_ret_sts_error;
531       add_invalid_argument_msg(p_api_name, To_char(p_bill_to_site_id),
532 			       p_parameter_name);
533 END Validate_Bill_To_Site;
534 
535 ------------------------------------------------------------------------------
536 --  Procedure	: Validate_Comment
537 ------------------------------------------------------------------------------
538 /*** bug 4887572 smisra. Removed this procedure
539 PROCEDURE Validate_Comment
540   ( p_api_name		IN	VARCHAR2,
541     p_parameter_name	IN	VARCHAR2,
542     p_comment_id	IN	NUMBER,
543     x_return_status	OUT NOCOPY	VARCHAR2 )
544   IS
545      l_dummy	VARCHAR2(1);
546 BEGIN
547    x_return_status := fnd_api.g_ret_sts_success;
548 
549    -- Validate against cs_comments, which contains all notes across
550    -- multiple source object types
551    SELECT 'x' INTO l_dummy
552      FROM cs_comments
553      WHERE comment_id = p_comment_id;
554 EXCEPTION
555    WHEN no_data_found THEN
556       x_return_status := fnd_api.g_ret_sts_error;
557       cs_core_util.add_invalid_argument_msg(p_api_name, p_comment_id,
558 					    p_parameter_name);
559 END Validate_Comment;
560 **********************************/
561 ------------------------------------------------------------------------------
562 --  Procedure	: Validate_Customer
563 ------------------------------------------------------------------------------
564 
565 PROCEDURE Validate_Customer
566   ( p_api_name		IN	VARCHAR2,
567     p_parameter_name	IN	VARCHAR2,
568     p_customer_id	IN	NUMBER,
569     x_return_status	OUT NOCOPY	VARCHAR2 )
570   IS
571      l_dummy 	VARCHAR2(1);
572 BEGIN
573    x_return_status := fnd_api.g_ret_sts_success;
574    SELECT 'x' INTO l_dummy
575      FROM hz_parties
576      WHERE party_id = p_customer_id
577      AND status = 'A';
578 EXCEPTION
579    WHEN no_data_found THEN
580       x_return_status := fnd_api.g_ret_sts_error;
581       add_invalid_argument_msg(p_api_name, To_char(p_customer_id),
582 			       p_parameter_name);
583 END Validate_Customer;
584 
585 ------------------------------------------------------------------------------
586 --  Procedure	: Validate_Customer_Contact
587 ------------------------------------------------------------------------------
588 
589 -- -----------------------------------------------------------------------------
590 -- Modification History
591 -- Date     Name     Desc
592 -- -------- -------- -----------------------------------------------------------
593 -- 08/08/05 smisra   bug 4532643
594 --                   The procedure is being stubbed as it is not used
595 -- -----------------------------------------------------------------------------
596 PROCEDURE Validate_Customer_Contact
597   ( p_api_name			IN	VARCHAR2,
598     p_parameter_name		IN	VARCHAR2,
599     p_customer_contact_id	IN	NUMBER,
600     p_customer_id		IN	NUMBER,
601     p_org_id			IN	NUMBER   := NULL,
602     x_return_status		OUT NOCOPY	VARCHAR2 )
603   IS
604      l_dummy  VARCHAR2(1);
605 BEGIN
606    x_return_status := fnd_api.g_ret_sts_success;
607 /********
608    SELECT 'x' INTO l_dummy
609      FROM ra_contacts
610      WHERE contact_id = p_customer_contact_id
611      AND status = 'A'
612      AND customer_id IN
613      ( SELECT p_customer_id
614        FROM dual
615        UNION
616        SELECT related_customer_id
617        FROM ra_customer_relationships_all
618        WHERE customer_id = p_customer_id
619        AND status = 'A'
620        AND Nvl(org_id,-99) = Decode(org_id,NULL,-99,p_org_id) );
621 *****/
622 EXCEPTION
623    WHEN no_data_found THEN
624       x_return_status := fnd_api.g_ret_sts_error;
625       add_invalid_argument_msg(p_api_name, To_char(p_customer_contact_id),
626 			       p_parameter_name);
627 END Validate_Customer_Contact;
628 
629 ------------------------------------------------------------------------------
630 --  Procedure	: Validate_Desc_Flex
631 ------------------------------------------------------------------------------
632 
633 PROCEDURE Validate_Desc_Flex
634   ( p_api_name		IN	VARCHAR2,
635     p_appl_short_name	IN	VARCHAR2 DEFAULT 'CS',
636     p_desc_flex_name	IN	VARCHAR2,
637     p_column_name1	IN	VARCHAR2,
638     p_column_name2	IN	VARCHAR2,
639     p_column_name3	IN	VARCHAR2,
640     p_column_name4	IN	VARCHAR2,
641     p_column_name5	IN	VARCHAR2,
642     p_column_name6	IN	VARCHAR2,
643     p_column_name7	IN	VARCHAR2,
644     p_column_name8	IN	VARCHAR2,
645     p_column_name9	IN	VARCHAR2,
646     p_column_name10	IN	VARCHAR2,
647     p_column_name11	IN	VARCHAR2,
648     p_column_name12	IN	VARCHAR2,
649     p_column_name13	IN	VARCHAR2,
650     p_column_name14	IN	VARCHAR2,
651     p_column_name15	IN	VARCHAR2,
652     p_column_value1	IN	VARCHAR2,
653     p_column_value2	IN	VARCHAR2,
654     p_column_value3	IN	VARCHAR2,
655     p_column_value4	IN	VARCHAR2,
656     p_column_value5	IN	VARCHAR2,
657     p_column_value6	IN	VARCHAR2,
658     p_column_value7	IN	VARCHAR2,
659     p_column_value8	IN	VARCHAR2,
660     p_column_value9	IN	VARCHAR2,
661     p_column_value10	IN	VARCHAR2,
662     p_column_value11	IN	VARCHAR2,
663     p_column_value12	IN	VARCHAR2,
664     p_column_value13	IN	VARCHAR2,
665     p_column_value14	IN	VARCHAR2,
666     p_column_value15	IN	VARCHAR2,
667     p_context_value	IN	VARCHAR2,
668     p_resp_appl_id	IN	NUMBER   := NULL,
669     p_resp_id		IN	NUMBER   := NULL,
670     x_return_status	OUT NOCOPY	VARCHAR2 )
671   IS
672      l_error_message	VARCHAR2(2000);
673 BEGIN
674    x_return_status := fnd_api.g_ret_sts_success;
675 
676    fnd_flex_descval.set_column_value(p_column_name1, p_column_value1);
677    fnd_flex_descval.set_column_value(p_column_name2, p_column_value2);
678    fnd_flex_descval.set_column_value(p_column_name3, p_column_value3);
679    fnd_flex_descval.set_column_value(p_column_name4, p_column_value4);
680    fnd_flex_descval.set_column_value(p_column_name5, p_column_value5);
681    fnd_flex_descval.set_column_value(p_column_name6, p_column_value6);
682    fnd_flex_descval.set_column_value(p_column_name7, p_column_value7);
683    fnd_flex_descval.set_column_value(p_column_name8, p_column_value8);
684    fnd_flex_descval.set_column_value(p_column_name9, p_column_value9);
685    fnd_flex_descval.set_column_value(p_column_name10, p_column_value10);
686    fnd_flex_descval.set_column_value(p_column_name11, p_column_value11);
687    fnd_flex_descval.set_column_value(p_column_name12, p_column_value12);
688    fnd_flex_descval.set_column_value(p_column_name13, p_column_value13);
689    fnd_flex_descval.set_column_value(p_column_name14, p_column_value14);
690    fnd_flex_descval.set_column_value(p_column_name15, p_column_value15);
691    fnd_flex_descval.set_context_value(p_context_value);
692    IF NOT fnd_flex_descval.validate_desccols
693      ( appl_short_name	=> p_appl_short_name,
694        desc_flex_name	=> p_desc_flex_name,
695        resp_appl_id	=> p_resp_appl_id,
696        resp_id		=> p_resp_id ) THEN
697       l_error_message := fnd_flex_descval.error_message;
698       add_desc_flex_msg(p_api_name, l_error_message);
699       x_return_status := fnd_api.g_ret_sts_error;
700    END IF;
701 END Validate_Desc_Flex;
702 
703 ------------------------------------------------------------------------------
704 --  Procedure	: Validate_Price_Attribs
705 ------------------------------------------------------------------------------
706 
707 PROCEDURE Validate_Price_Attribs
708   ( p_api_name		IN	VARCHAR2,
709     p_appl_short_name	IN	VARCHAR2 DEFAULT 'CS',
710     p_desc_flex_name	IN	VARCHAR2,
711 	p_column_name1		IN VARCHAR2,
712 	p_column_name2		IN VARCHAR2,
713 	p_column_name3		IN VARCHAR2,
714 	p_column_name4		IN VARCHAR2,
715 	p_column_name5		IN VARCHAR2,
716 	p_column_name6		IN VARCHAR2,
717 	p_column_name7		IN VARCHAR2,
718 	p_column_name8		IN VARCHAR2,
719 	p_column_name9		IN VARCHAR2,
720 	p_column_name10		IN VARCHAR2,
721 	p_column_name11		IN VARCHAR2,
722 	p_column_name12		IN VARCHAR2,
723 	p_column_name13		IN VARCHAR2,
724 	p_column_name14		IN VARCHAR2,
725 	p_column_name15		IN VARCHAR2,
726 	p_column_name16		IN VARCHAR2,
727 	p_column_name17		IN VARCHAR2,
728 	p_column_name18		IN VARCHAR2,
729 	p_column_name19		IN VARCHAR2,
730 	p_column_name20		IN VARCHAR2,
731 	p_column_name21		IN VARCHAR2,
732 	p_column_name22		IN VARCHAR2,
733 	p_column_name23		IN VARCHAR2,
734 	p_column_name24		IN VARCHAR2,
735 	p_column_name25		IN VARCHAR2,
736 	p_column_name26		IN VARCHAR2,
737 	p_column_name27		IN VARCHAR2,
738 	p_column_name28		IN VARCHAR2,
739 	p_column_name29		IN VARCHAR2,
740 	p_column_name30		IN VARCHAR2,
741 	p_column_name31		IN VARCHAR2,
742 	p_column_name32		IN VARCHAR2,
743 	p_column_name33		IN VARCHAR2,
744 	p_column_name34		IN VARCHAR2,
745 	p_column_name35		IN VARCHAR2,
746 	p_column_name36		IN VARCHAR2,
747 	p_column_name37		IN VARCHAR2,
748 	p_column_name38		IN VARCHAR2,
749 	p_column_name39		IN VARCHAR2,
750 	p_column_name40		IN VARCHAR2,
751 	p_column_name41		IN VARCHAR2,
752 	p_column_name42		IN VARCHAR2,
753 	p_column_name43		IN VARCHAR2,
754 	p_column_name44		IN VARCHAR2,
755 	p_column_name45		IN VARCHAR2,
756 	p_column_name46		IN VARCHAR2,
757 	p_column_name47		IN VARCHAR2,
758 	p_column_name48		IN VARCHAR2,
759 	p_column_name49		IN VARCHAR2,
760 	p_column_name50		IN VARCHAR2,
761 	p_column_name51		IN VARCHAR2,
762 	p_column_name52		IN VARCHAR2,
763 	p_column_name53		IN VARCHAR2,
764 	p_column_name54		IN VARCHAR2,
765 	p_column_name55		IN VARCHAR2,
766 	p_column_name56		IN VARCHAR2,
767 	p_column_name57		IN VARCHAR2,
768 	p_column_name58		IN VARCHAR2,
769 	p_column_name59		IN VARCHAR2,
770 	p_column_name60		IN VARCHAR2,
771 	p_column_name61		IN VARCHAR2,
772 	p_column_name62		IN VARCHAR2,
773 	p_column_name63		IN VARCHAR2,
774 	p_column_name64		IN VARCHAR2,
775 	p_column_name65		IN VARCHAR2,
776 	p_column_name66		IN VARCHAR2,
777 	p_column_name67		IN VARCHAR2,
778 	p_column_name68		IN VARCHAR2,
779 	p_column_name69		IN VARCHAR2,
780 	p_column_name70		IN VARCHAR2,
781 	p_column_name71		IN VARCHAR2,
782 	p_column_name72		IN VARCHAR2,
783 	p_column_name73		IN VARCHAR2,
784 	p_column_name74		IN VARCHAR2,
785 	p_column_name75		IN VARCHAR2,
786 	p_column_name76		IN VARCHAR2,
787 	p_column_name77		IN VARCHAR2,
788 	p_column_name78		IN VARCHAR2,
789 	p_column_name79		IN VARCHAR2,
790 	p_column_name80		IN VARCHAR2,
791 	p_column_name81		IN VARCHAR2,
792 	p_column_name82		IN VARCHAR2,
793 	p_column_name83		IN VARCHAR2,
794 	p_column_name84		IN VARCHAR2,
795 	p_column_name85		IN VARCHAR2,
796 	p_column_name86		IN VARCHAR2,
797 	p_column_name87		IN VARCHAR2,
798 	p_column_name88		IN VARCHAR2,
799 	p_column_name89		IN VARCHAR2,
800 	p_column_name90		IN VARCHAR2,
801 	p_column_name91		IN VARCHAR2,
802 	p_column_name92		IN VARCHAR2,
803 	p_column_name93		IN VARCHAR2,
804 	p_column_name94		IN VARCHAR2,
805 	p_column_name95		IN VARCHAR2,
806 	p_column_name96		IN VARCHAR2,
807 	p_column_name97		IN VARCHAR2,
808 	p_column_name98		IN VARCHAR2,
809 	p_column_name99		IN VARCHAR2,
810 	p_column_name100	IN VARCHAR2,
811 	p_column_value1		IN VARCHAR2,
812 	p_column_value2		IN VARCHAR2,
813 	p_column_value3		IN VARCHAR2,
814 	p_column_value4		IN VARCHAR2,
815 	p_column_value5		IN VARCHAR2,
816 	p_column_value6		IN VARCHAR2,
817 	p_column_value7		IN VARCHAR2,
818 	p_column_value8		IN VARCHAR2,
819 	p_column_value9		IN VARCHAR2,
820 	p_column_value10		IN VARCHAR2,
821 	p_column_value11		IN VARCHAR2,
822 	p_column_value12		IN VARCHAR2,
823 	p_column_value13		IN VARCHAR2,
824 	p_column_value14		IN VARCHAR2,
825 	p_column_value15		IN VARCHAR2,
826 	p_column_value16		IN VARCHAR2,
827 	p_column_value17		IN VARCHAR2,
828 	p_column_value18		IN VARCHAR2,
829 	p_column_value19		IN VARCHAR2,
830 	p_column_value20		IN VARCHAR2,
831 	p_column_value21		IN VARCHAR2,
832 	p_column_value22		IN VARCHAR2,
833 	p_column_value23		IN VARCHAR2,
834 	p_column_value24		IN VARCHAR2,
835 	p_column_value25		IN VARCHAR2,
836 	p_column_value26		IN VARCHAR2,
837 	p_column_value27		IN VARCHAR2,
838 	p_column_value28		IN VARCHAR2,
839 	p_column_value29		IN VARCHAR2,
840 	p_column_value30		IN VARCHAR2,
841 	p_column_value31		IN VARCHAR2,
842 	p_column_value32		IN VARCHAR2,
843 	p_column_value33		IN VARCHAR2,
844 	p_column_value34		IN VARCHAR2,
845 	p_column_value35		IN VARCHAR2,
846 	p_column_value36		IN VARCHAR2,
847 	p_column_value37		IN VARCHAR2,
848 	p_column_value38		IN VARCHAR2,
849 	p_column_value39		IN VARCHAR2,
850 	p_column_value40		IN VARCHAR2,
851 	p_column_value41		IN VARCHAR2,
852 	p_column_value42		IN VARCHAR2,
853 	p_column_value43		IN VARCHAR2,
854 	p_column_value44		IN VARCHAR2,
855 	p_column_value45		IN VARCHAR2,
856 	p_column_value46		IN VARCHAR2,
857 	p_column_value47		IN VARCHAR2,
858 	p_column_value48		IN VARCHAR2,
859 	p_column_value49		IN VARCHAR2,
860 	p_column_value50		IN VARCHAR2,
861 	p_column_value51		IN VARCHAR2,
862 	p_column_value52		IN VARCHAR2,
863 	p_column_value53		IN VARCHAR2,
864 	p_column_value54		IN VARCHAR2,
865 	p_column_value55		IN VARCHAR2,
866 	p_column_value56		IN VARCHAR2,
867 	p_column_value57		IN VARCHAR2,
868 	p_column_value58		IN VARCHAR2,
869 	p_column_value59		IN VARCHAR2,
870 	p_column_value60		IN VARCHAR2,
871 	p_column_value61		IN VARCHAR2,
872 	p_column_value62		IN VARCHAR2,
873 	p_column_value63		IN VARCHAR2,
874 	p_column_value64		IN VARCHAR2,
875 	p_column_value65		IN VARCHAR2,
876 	p_column_value66		IN VARCHAR2,
877 	p_column_value67		IN VARCHAR2,
878 	p_column_value68		IN VARCHAR2,
879 	p_column_value69		IN VARCHAR2,
880 	p_column_value70		IN VARCHAR2,
881 	p_column_value71		IN VARCHAR2,
882 	p_column_value72		IN VARCHAR2,
883 	p_column_value73		IN VARCHAR2,
884 	p_column_value74		IN VARCHAR2,
885 	p_column_value75		IN VARCHAR2,
886 	p_column_value76		IN VARCHAR2,
887 	p_column_value77		IN VARCHAR2,
888 	p_column_value78		IN VARCHAR2,
889 	p_column_value79		IN VARCHAR2,
890 	p_column_value80		IN VARCHAR2,
891 	p_column_value81		IN VARCHAR2,
892 	p_column_value82		IN VARCHAR2,
893 	p_column_value83		IN VARCHAR2,
894 	p_column_value84		IN VARCHAR2,
895 	p_column_value85		IN VARCHAR2,
896 	p_column_value86		IN VARCHAR2,
897 	p_column_value87		IN VARCHAR2,
898 	p_column_value88		IN VARCHAR2,
899 	p_column_value89		IN VARCHAR2,
900 	p_column_value90		IN VARCHAR2,
901 	p_column_value91		IN VARCHAR2,
902 	p_column_value92		IN VARCHAR2,
903 	p_column_value93		IN VARCHAR2,
904 	p_column_value94		IN VARCHAR2,
905 	p_column_value95		IN VARCHAR2,
906 	p_column_value96		IN VARCHAR2,
907 	p_column_value97		IN VARCHAR2,
908 	p_column_value98		IN VARCHAR2,
909 	p_column_value99		IN VARCHAR2,
910 	p_column_value100		IN VARCHAR2,
911     p_context_value	IN	VARCHAR2,
912     p_resp_appl_id	IN	NUMBER   := NULL,
913     p_resp_id		IN	NUMBER   := NULL,
914     x_return_status	OUT NOCOPY	VARCHAR2 )
915       IS
916      l_error_message	VARCHAR2(2000);
917 BEGIN
918    x_return_status := fnd_api.g_ret_sts_success;
919 	fnd_flex_descval.set_column_value(p_column_name1, p_column_value1);
920 	fnd_flex_descval.set_column_value(p_column_name2, p_column_value2);
921 	fnd_flex_descval.set_column_value(p_column_name3, p_column_value3);
922 	fnd_flex_descval.set_column_value(p_column_name4, p_column_value4);
923 	fnd_flex_descval.set_column_value(p_column_name5, p_column_value5);
924 	fnd_flex_descval.set_column_value(p_column_name6, p_column_value6);
925 	fnd_flex_descval.set_column_value(p_column_name7, p_column_value7);
926 	fnd_flex_descval.set_column_value(p_column_name8, p_column_value8);
927 	fnd_flex_descval.set_column_value(p_column_name9, p_column_value9);
928 	fnd_flex_descval.set_column_value(p_column_name10, p_column_value10);
929 	fnd_flex_descval.set_column_value(p_column_name11, p_column_value11);
930 	fnd_flex_descval.set_column_value(p_column_name12, p_column_value12);
931 	fnd_flex_descval.set_column_value(p_column_name13, p_column_value13);
932 	fnd_flex_descval.set_column_value(p_column_name14, p_column_value14);
933 	fnd_flex_descval.set_column_value(p_column_name15, p_column_value15);
934 	fnd_flex_descval.set_column_value(p_column_name16, p_column_value16);
935 	fnd_flex_descval.set_column_value(p_column_name17, p_column_value17);
936 	fnd_flex_descval.set_column_value(p_column_name18, p_column_value18);
937 	fnd_flex_descval.set_column_value(p_column_name19, p_column_value19);
938 	fnd_flex_descval.set_column_value(p_column_name20, p_column_value20);
939 	fnd_flex_descval.set_column_value(p_column_name21, p_column_value21);
940 	fnd_flex_descval.set_column_value(p_column_name22, p_column_value22);
941 	fnd_flex_descval.set_column_value(p_column_name23, p_column_value23);
942 	fnd_flex_descval.set_column_value(p_column_name24, p_column_value24);
943 	fnd_flex_descval.set_column_value(p_column_name25, p_column_value25);
944 	fnd_flex_descval.set_column_value(p_column_name26, p_column_value26);
945 	fnd_flex_descval.set_column_value(p_column_name27, p_column_value27);
946 	fnd_flex_descval.set_column_value(p_column_name28, p_column_value28);
947 	fnd_flex_descval.set_column_value(p_column_name29, p_column_value29);
948 	fnd_flex_descval.set_column_value(p_column_name30, p_column_value30);
949 	fnd_flex_descval.set_column_value(p_column_name31, p_column_value31);
950 	fnd_flex_descval.set_column_value(p_column_name32, p_column_value32);
951 	fnd_flex_descval.set_column_value(p_column_name33, p_column_value33);
952 	fnd_flex_descval.set_column_value(p_column_name34, p_column_value34);
953 	fnd_flex_descval.set_column_value(p_column_name35, p_column_value35);
954 	fnd_flex_descval.set_column_value(p_column_name36, p_column_value36);
955 	fnd_flex_descval.set_column_value(p_column_name37, p_column_value37);
956 	fnd_flex_descval.set_column_value(p_column_name38, p_column_value38);
957 	fnd_flex_descval.set_column_value(p_column_name39, p_column_value39);
958 	fnd_flex_descval.set_column_value(p_column_name40, p_column_value40);
959 	fnd_flex_descval.set_column_value(p_column_name41, p_column_value41);
960 	fnd_flex_descval.set_column_value(p_column_name42, p_column_value42);
961 	fnd_flex_descval.set_column_value(p_column_name43, p_column_value43);
962 	fnd_flex_descval.set_column_value(p_column_name44, p_column_value44);
963 	fnd_flex_descval.set_column_value(p_column_name45, p_column_value45);
964 	fnd_flex_descval.set_column_value(p_column_name46, p_column_value46);
965 	fnd_flex_descval.set_column_value(p_column_name47, p_column_value47);
966 	fnd_flex_descval.set_column_value(p_column_name48, p_column_value48);
967 	fnd_flex_descval.set_column_value(p_column_name49, p_column_value49);
968 	fnd_flex_descval.set_column_value(p_column_name50, p_column_value50);
969 	fnd_flex_descval.set_column_value(p_column_name51, p_column_value51);
970 	fnd_flex_descval.set_column_value(p_column_name52, p_column_value52);
971 	fnd_flex_descval.set_column_value(p_column_name53, p_column_value53);
972 	fnd_flex_descval.set_column_value(p_column_name54, p_column_value54);
973 	fnd_flex_descval.set_column_value(p_column_name55, p_column_value55);
974 	fnd_flex_descval.set_column_value(p_column_name56, p_column_value56);
975 	fnd_flex_descval.set_column_value(p_column_name57, p_column_value57);
976 	fnd_flex_descval.set_column_value(p_column_name58, p_column_value58);
977 	fnd_flex_descval.set_column_value(p_column_name59, p_column_value59);
978 	fnd_flex_descval.set_column_value(p_column_name60, p_column_value60);
979 	fnd_flex_descval.set_column_value(p_column_name61, p_column_value61);
980 	fnd_flex_descval.set_column_value(p_column_name62, p_column_value62);
981 	fnd_flex_descval.set_column_value(p_column_name63, p_column_value63);
982 	fnd_flex_descval.set_column_value(p_column_name64, p_column_value64);
983 	fnd_flex_descval.set_column_value(p_column_name65, p_column_value65);
984 	fnd_flex_descval.set_column_value(p_column_name66, p_column_value66);
985 	fnd_flex_descval.set_column_value(p_column_name67, p_column_value67);
986 	fnd_flex_descval.set_column_value(p_column_name68, p_column_value68);
987 	fnd_flex_descval.set_column_value(p_column_name69, p_column_value69);
988 	fnd_flex_descval.set_column_value(p_column_name70, p_column_value70);
989 	fnd_flex_descval.set_column_value(p_column_name71, p_column_value71);
990 	fnd_flex_descval.set_column_value(p_column_name72, p_column_value72);
991 	fnd_flex_descval.set_column_value(p_column_name73, p_column_value73);
992 	fnd_flex_descval.set_column_value(p_column_name74, p_column_value74);
993 	fnd_flex_descval.set_column_value(p_column_name75, p_column_value75);
994 	fnd_flex_descval.set_column_value(p_column_name76, p_column_value76);
995 	fnd_flex_descval.set_column_value(p_column_name77, p_column_value77);
996 	fnd_flex_descval.set_column_value(p_column_name78, p_column_value78);
997 	fnd_flex_descval.set_column_value(p_column_name79, p_column_value79);
998 	fnd_flex_descval.set_column_value(p_column_name80, p_column_value80);
999 	fnd_flex_descval.set_column_value(p_column_name81, p_column_value81);
1000 	fnd_flex_descval.set_column_value(p_column_name82, p_column_value82);
1001 	fnd_flex_descval.set_column_value(p_column_name83, p_column_value83);
1002 	fnd_flex_descval.set_column_value(p_column_name84, p_column_value84);
1003 	fnd_flex_descval.set_column_value(p_column_name85, p_column_value85);
1004 	fnd_flex_descval.set_column_value(p_column_name86, p_column_value86);
1005 	fnd_flex_descval.set_column_value(p_column_name87, p_column_value87);
1006 	fnd_flex_descval.set_column_value(p_column_name88, p_column_value88);
1007 	fnd_flex_descval.set_column_value(p_column_name89, p_column_value89);
1008 	fnd_flex_descval.set_column_value(p_column_name90, p_column_value90);
1009 	fnd_flex_descval.set_column_value(p_column_name91, p_column_value91);
1010 	fnd_flex_descval.set_column_value(p_column_name92, p_column_value92);
1011 	fnd_flex_descval.set_column_value(p_column_name93, p_column_value93);
1012 	fnd_flex_descval.set_column_value(p_column_name94, p_column_value94);
1013 	fnd_flex_descval.set_column_value(p_column_name95, p_column_value95);
1014 	fnd_flex_descval.set_column_value(p_column_name96, p_column_value96);
1015 	fnd_flex_descval.set_column_value(p_column_name97, p_column_value97);
1016 	fnd_flex_descval.set_column_value(p_column_name98, p_column_value98);
1017 	fnd_flex_descval.set_column_value(p_column_name99, p_column_value99);
1018 	fnd_flex_descval.set_column_value(p_column_name100, p_column_value100);
1019    fnd_flex_descval.set_context_value(p_context_value);
1020    IF NOT fnd_flex_descval.validate_desccols
1021      ( appl_short_name	=> p_appl_short_name,
1022        desc_flex_name	=> p_desc_flex_name,
1023        resp_appl_id	=> p_resp_appl_id,
1024        resp_id		=> p_resp_id ) THEN
1025       l_error_message := fnd_flex_descval.error_message;
1026       add_desc_flex_msg(p_api_name, l_error_message);
1027       x_return_status := fnd_api.g_ret_sts_error;
1028    END IF;
1029 END Validate_Price_Attribs;
1030 
1031 
1032 
1033 -------------------------------------------------------------------------------
1034 --  Procedure	: Validate_Employee
1035 -------------------------------------------------------------------------------
1036 
1037 PROCEDURE Validate_Employee
1038  ( p_api_name		IN	VARCHAR2,
1039     p_parameter_name	IN	VARCHAR2,
1040     p_employee_id	IN	NUMBER,
1041     p_org_id		IN	NUMBER	:= NULL,
1042     x_return_status	OUT NOCOPY	VARCHAR2 )
1043   IS
1044      l_orig_org_id	NUMBER;
1045      l_dummy	VARCHAR2(1);
1046 BEGIN
1047    x_return_status := fnd_api.g_ret_sts_success;
1048 
1049    -- Store the old value of the multi-org context
1050    SELECT To_number(Decode(substrb(userenv('CLIENT_INFO'),1,1), ' ', NULL,
1051 			   substrb(userenv('CLIENT_INFO'),1,10)))
1052      INTO l_orig_org_id
1053      FROM dual;
1054 
1055    IF (p_org_id IS NOT NULL) THEN
1056       -- Set the multi-org context using p_org_id
1057       fnd_client_info.set_org_context(p_org_id);
1058    END IF;
1059 
1060    -- Validate against hr_employees_current_v, which contains all active
1061    -- employees assigned to the business group stored in
1062    -- financials_system_parameters
1063 
1064    SELECT 'X' INTO l_dummy
1065      FROM per_workforce_x hr
1066     WHERE hr.person_id = p_employee_id
1067       AND NVL(hr.termination_date,SYSDATE) >= SYSDATE ;
1068 
1069 /**** commented and replaced by the sql statement above for bug # 5201278
1070    SELECT 'x' INTO l_dummy
1071      FROM hr_employees_current_v
1072      WHERE employee_id = p_employee_id;
1073 **********/
1074 
1075    IF (p_org_id IS NOT NULL) THEN
1076       -- Restore the original multi-org context
1077       fnd_client_info.set_org_context(l_orig_org_id);
1078    END IF;
1079 EXCEPTION
1080    WHEN no_data_found THEN
1081       x_return_status := fnd_api.g_ret_sts_error;
1082       IF (p_org_id IS NOT NULL) THEN
1083 	 -- Restore the original multi-org context
1084 	 fnd_client_info.set_org_context(l_orig_org_id);
1085       END IF;
1086       add_invalid_argument_msg(p_api_name, p_employee_id, p_parameter_name);
1087    WHEN OTHERS THEN
1088       IF (p_org_id IS NOT NULL) THEN
1089 	 -- Restore the original multi-org context
1090 	 fnd_client_info.set_org_context(l_orig_org_id);
1091       END IF;
1092       -- Reraise the exception so the calling subprogram can handle it
1093       RAISE;
1094 END Validate_Employee;
1095 
1096 ------------------------------------------------------------------------------
1097 --  Procedure	: Validate_Later_Date
1098 ------------------------------------------------------------------------------
1099 
1100 PROCEDURE Validate_Later_Date
1101   ( p_api_name		IN	VARCHAR2,
1102     p_parameter_name	IN	VARCHAR2,
1103     p_later_date	IN	DATE,
1104     p_earlier_date      IN	DATE,
1105     x_return_status	OUT NOCOPY	VARCHAR2 )
1106   IS
1107 BEGIN
1108    IF p_later_date >= p_earlier_date THEN
1109       x_return_status := fnd_api.g_ret_sts_success;
1110    ELSE
1111       x_return_status := fnd_api.g_ret_sts_error;
1112       add_invalid_argument_msg(p_api_name, To_char(p_later_date),
1113 			       p_parameter_name);
1114    END IF;
1115 END Validate_Later_Date;
1116 
1117 ------------------------------------------------------------------------------
1118 --  Procedure	: Validate_Lookup_Code
1119 ------------------------------------------------------------------------------
1120 
1121 PROCEDURE Validate_Lookup_Code
1122   ( p_api_name		IN	VARCHAR2,
1123     p_parameter_name	IN	VARCHAR2,
1124     p_lookup_code  	IN	VARCHAR2,
1125     p_lookup_type  	IN	VARCHAR2,
1126     x_return_status	OUT NOCOPY	VARCHAR2 )
1127   IS
1128      l_dummy  VARCHAR2(1);
1129 BEGIN
1130    x_return_status := fnd_api.g_ret_sts_success;
1131 
1132    SELECT 'x' INTO l_dummy
1133      FROM cs_lookups
1134      WHERE lookup_code = p_lookup_code
1135      AND lookup_type = p_lookup_type
1136      AND enabled_flag = 'Y'
1137      AND Trunc(Sysdate) BETWEEN Trunc(Nvl(start_date_active, Sysdate))
1138 			AND Trunc(Nvl(end_date_active, Sysdate));
1139 EXCEPTION
1140    WHEN no_data_found THEN
1141       x_return_status := fnd_api.g_ret_sts_error;
1142       add_invalid_argument_msg(p_api_name, p_lookup_code, p_parameter_name);
1143 END Validate_Lookup_Code;
1144 
1145 ------------------------------------------------------------------------------
1146 --  Procedure	: Validate_Operating_Unit
1147 ------------------------------------------------------------------------------
1148 
1149 PROCEDURE Validate_Operating_Unit
1150   ( p_api_name		IN	VARCHAR2,
1151     p_parameter_name	IN	VARCHAR2,
1152     p_org_id		IN	NUMBER,
1153     x_return_status	OUT NOCOPY	VARCHAR2 )
1154   IS
1155      l_dummy	VARCHAR2(1);
1156 BEGIN
1157    x_return_status := fnd_api.g_ret_sts_success;
1158 
1159    SELECT 'x' INTO l_dummy
1160      FROM hr_operating_units
1161      WHERE organization_id = p_org_id;
1162 EXCEPTION
1163    WHEN no_data_found THEN
1164       x_return_status := fnd_api.g_ret_sts_error;
1165       cs_core_util.add_invalid_argument_msg(p_api_name, p_org_id,
1166 					    p_parameter_name);
1167 END Validate_Operating_Unit;
1168 
1169 ------------------------------------------------------------------------------
1170 --  Procedure	: Validate_Person
1171 ------------------------------------------------------------------------------
1172 
1173 PROCEDURE Validate_Person
1174   ( p_api_name		IN	VARCHAR2,
1175     p_parameter_name	IN	VARCHAR2,
1176     p_person_id		IN	NUMBER,
1177     x_return_status	OUT NOCOPY	VARCHAR2 )
1178   IS
1179      l_dummy	VARCHAR2(1);
1180 BEGIN
1181    x_return_status := fnd_api.g_ret_sts_success;
1182 
1183    -- Validate against per_people_x, which contains all employees across
1184    -- multiple business groups
1185    SELECT 'x' INTO l_dummy
1186      FROM per_people_x p, per_assignments_x a
1187      WHERE a.person_id = p_person_id
1188      AND a.person_id = p.person_id
1189      AND a.assignment_type = 'E'
1190      AND a.primary_flag = 'Y'
1191      AND p.employee_number IS NOT NULL;
1192 EXCEPTION
1193    WHEN no_data_found THEN
1194       x_return_status := fnd_api.g_ret_sts_error;
1195       cs_core_util.add_invalid_argument_msg(p_api_name, p_person_id,
1196 					    p_parameter_name);
1197 END Validate_Person;
1198 
1199 ------------------------------------------------------------------------------
1200 --  Procedure	: Validate_Ship_To_Site
1201 ------------------------------------------------------------------------------
1202 
1203 -- -----------------------------------------------------------------------------
1204 -- Modification History
1205 -- Date     Name     Desc
1206 -- -------- -------- -----------------------------------------------------------
1207 -- 08/08/05 smisra   bug 4532643
1208 --                   The procedure is being stubbed as it is not used
1209 -- -----------------------------------------------------------------------------
1210 PROCEDURE Validate_Ship_To_Site
1211   ( p_api_name			IN	VARCHAR2,
1212     p_parameter_name		IN	VARCHAR2,
1213     p_ship_to_site_use_id	IN	NUMBER,
1214     p_customer_id		IN	NUMBER,
1215     p_org_id			IN	NUMBER    := NULL,
1216     x_ship_to_customer_id	OUT NOCOPY	NUMBER,
1217     x_return_status		OUT NOCOPY	VARCHAR2 )
1218   IS
1219 /****
1220      CURSOR l_ship_to_site_csr IS
1221 	SELECT a.customer_id
1222 	  FROM ra_addresses_all a, ra_site_uses_all su
1223 	  WHERE su.site_use_id = p_ship_to_site_use_id
1224 	  AND su.site_use_code = 'SHIP_TO'
1225 	  AND su.status = 'A'
1226 	  AND Nvl(su.org_id,-99) = Decode(su.org_id,NULL,-99,p_org_id)
1227 	  AND a.address_id = su.address_id
1228 	  AND Nvl(a.org_id,-99) = Decode(a.org_id,NULL,-99,p_org_id)
1229 	  AND a.customer_id IN
1230 	  ( SELECT p_customer_id
1231 	    FROM dual
1232 	    UNION
1233 	    SELECT related_customer_id
1234 	    FROM ra_customer_relationships_all
1235 	    WHERE customer_id = p_customer_id
1236 	    AND status = 'A'
1237 	    AND Nvl(org_id,-99) = Decode(org_id,NULL,-99,p_org_id) );
1238 ******/
1239 BEGIN
1240    x_return_status := fnd_api.g_ret_sts_success;
1241 
1242 /****
1243    OPEN l_ship_to_site_csr;
1244    FETCH l_ship_to_site_csr INTO x_ship_to_customer_id;
1245    IF l_ship_to_site_csr%notfound THEN
1246       x_return_status := fnd_api.g_ret_sts_error;
1247       add_invalid_argument_msg(p_api_name, To_char(p_ship_to_site_use_id),
1248 			       p_parameter_name);
1249    END IF;
1250    CLOSE l_ship_to_site_csr;
1251 EXCEPTION
1252    WHEN OTHERS THEN
1253       IF (l_ship_to_site_csr%isopen) THEN
1254 	 CLOSE l_ship_to_site_csr;
1255       END IF;
1256       RAISE;
1257 *****/
1258 END Validate_Ship_To_Site;
1259 
1260 -------------------------------------------------------------------------------
1261 --  Procedure	: Validate_Source_Object_ID
1262 -------------------------------------------------------------------------------
1263 
1264 PROCEDURE Validate_Source_Object_ID
1265   ( p_api_name			IN	VARCHAR2,
1266     p_parameter_name		IN	VARCHAR2,
1267     p_source_object_id		IN	NUMBER,
1268     p_source_object_code	IN	VARCHAR2 := 'INC',
1269     p_org_id			IN	NUMBER	 := NULL,
1270     x_return_status		OUT NOCOPY	VARCHAR2 )
1271   IS
1272      l_dummy	VARCHAR2(1);
1273 BEGIN
1274    x_return_status := fnd_api.g_ret_sts_success;
1275 
1276    IF (p_source_object_code = 'INT') THEN
1277       SELECT 'x' INTO l_dummy
1278 	FROM cs_interactions
1279 	WHERE interaction_id = p_source_object_id
1280 	AND Nvl(org_id, -99) = Decode(org_id, NULL, -99, p_org_id);
1281     ELSE
1282       SELECT 'x' INTO l_dummy
1283 	FROM cs_incidents_all
1284 	WHERE incident_id = p_source_object_id
1285 	AND Nvl(org_id, -99) = Decode(org_id, NULL, -99, p_org_id);
1286    END IF;
1287 EXCEPTION
1288    WHEN no_data_found THEN
1289       x_return_status := fnd_api.g_ret_sts_error;
1290       add_invalid_argument_msg(p_api_name, p_source_object_id,
1291 			       p_parameter_name);
1292 END Validate_Source_Object_ID;
1293 
1294 ------------------------------------------------------------------------------
1295 --  Procedure	: Validate_Who_Info
1296 ------------------------------------------------------------------------------
1297 
1298 PROCEDURE Validate_Who_Info
1299   ( p_api_name			IN	VARCHAR2,
1300     p_parameter_name_usr	IN	VARCHAR2,
1301     p_parameter_name_log	IN	VARCHAR2,
1302     p_user_id			IN	NUMBER,
1303     p_login_id			IN	NUMBER,
1304     p_resp_id			IN	NUMBER   := NULL,
1305     p_resp_appl_id		IN	NUMBER   := NULL,
1306     x_return_status		OUT NOCOPY	VARCHAR2 )
1307   IS
1308      l_dummy	VARCHAR2(1);
1309 BEGIN
1310    x_return_status := fnd_api.g_ret_sts_success;
1311 
1312    BEGIN
1313       -- Special check to not check the dates when the user ID is (-1).
1314       IF p_user_id = -1 THEN
1315 	 SELECT 'x' INTO l_dummy
1316 	   FROM fnd_user
1317 	   WHERE user_id = p_user_id;
1318        ELSE
1319 	 SELECT 'x' INTO l_dummy
1320 	   FROM fnd_user
1321 	   WHERE user_id = p_user_id
1322 	   AND Trunc(Sysdate) BETWEEN Trunc(Nvl(start_date, Sysdate))
1323 			      AND Trunc(Nvl(end_date, Sysdate));
1324       END IF;
1325    EXCEPTION
1326       WHEN no_data_found THEN
1327 	 x_return_status := fnd_api.g_ret_sts_error;
1328 	 add_invalid_argument_msg(p_api_name, To_char(p_user_id),
1329 				  p_parameter_name_usr);
1330 	 RETURN;
1331    END;
1332 
1333    IF p_login_id IS NOT NULL THEN
1334       -- Do not validate login id if audit level set to NONE
1335       IF (fnd_profile.value_specific('SIGNONAUDIT:LEVEL', p_user_id,
1336 				     p_resp_id, p_resp_appl_id) <> 'A') THEN
1337 	 BEGIN
1338 	    SELECT 'x' INTO l_dummy
1339 	      FROM fnd_logins
1340 	      WHERE login_id = p_login_id
1341 	      AND user_id = p_user_id;
1342 	 EXCEPTION
1343 	    WHEN no_data_found THEN
1344 	       x_return_status := fnd_api.g_ret_sts_error;
1345 	       add_invalid_argument_msg(p_api_name, To_char(p_login_id),
1346 					p_parameter_name_log);
1347 	 END;
1348       END IF;
1349    END IF;
1350 END Validate_Who_Info;
1351 
1352 PROCEDURE Is_DescFlex_Valid
1353 (
1354 	p_api_name			IN	VARCHAR2,
1355 	p_appl_short_name		IN	VARCHAR2	DEFAULT	'CS',
1356 	p_desc_flex_name		IN	VARCHAR2,
1357 	p_seg_partial_name		IN	VARCHAR2,
1358 	p_num_of_attributes		IN	NUMBER,
1359 	p_seg_values			IN	DFF_Rec_Type,
1360 	p_stack_err_msg		IN	BOOLEAN	DEFAULT	TRUE
1361 ) IS
1362 
1363   p_desc_context	VARCHAR2(30);
1364   p_desc_col_name1	VARCHAR2(30)	:=	p_seg_partial_name||'1';
1365   p_desc_col_name2	VARCHAR2(30)	:=	p_seg_partial_name||'2';
1366   p_desc_col_name3	VARCHAR2(30)	:=	p_seg_partial_name||'3';
1367   p_desc_col_name4	VARCHAR2(30)	:=	p_seg_partial_name||'4';
1368   p_desc_col_name5	VARCHAR2(30)	:=	p_seg_partial_name||'5';
1369   p_desc_col_name6	VARCHAR2(30)	:=	p_seg_partial_name||'6';
1370   p_desc_col_name7	VARCHAR2(30)	:=	p_seg_partial_name||'7';
1371   p_desc_col_name8	VARCHAR2(30)	:=	p_seg_partial_name||'8';
1372   p_desc_col_name9	VARCHAR2(30)	:=	p_seg_partial_name||'9';
1373   p_desc_col_name10	VARCHAR2(30)	:=	p_seg_partial_name||'10';
1374   p_desc_col_name11	VARCHAR2(30)	:=	p_seg_partial_name||'11';
1375   p_desc_col_name12	VARCHAR2(30)	:=	p_seg_partial_name||'12';
1376   p_desc_col_name13	VARCHAR2(30)	:=	p_seg_partial_name||'13';
1377   p_desc_col_name14	VARCHAR2(30)	:=	p_seg_partial_name||'14';
1378   p_desc_col_name15	VARCHAR2(30)	:=	p_seg_partial_name||'15';
1379   l_return_status	VARCHAR2(1);
1380   l_resp_appl_id	NUMBER;
1381   l_resp_id		NUMBER;
1382   l_return_value	BOOLEAN		:=	TRUE;
1383 
1384 BEGIN
1385 	IF p_num_of_attributes > 15 THEN
1386 		/* More than 15 attributes not currently supported. Please contact developer. */
1387 		FND_MESSAGE.SET_NAME('CS','CS_API_NUM_OF_DESCFLEX_GT_MAX');
1388 		FND_MESSAGE.SET_TOKEN('API_NAME',p_api_name);
1389 		FND_MSG_PUB.Add;
1390 		RAISE FND_API.G_EXC_ERROR;
1391 	END IF;
1392 
1393     Validate_Desc_Flex
1394     (
1395 		p_api_name,
1396 		p_appl_short_name,
1397       	p_desc_flex_name,
1398       	p_desc_col_name1,
1399       	p_desc_col_name2,
1400       	p_desc_col_name3,
1401       	p_desc_col_name4,
1402       	p_desc_col_name5,
1403       	p_desc_col_name6,
1404       	p_desc_col_name7,
1405       	p_desc_col_name8,
1406       	p_desc_col_name9,
1407       	p_desc_col_name10,
1408       	p_desc_col_name11,
1409       	p_desc_col_name12,
1410       	p_desc_col_name13,
1411       	p_desc_col_name14,
1412       	p_desc_col_name15,
1413       	p_seg_values.attribute1,
1414       	p_seg_values.attribute2,
1415       	p_seg_values.attribute3,
1416       	p_seg_values.attribute4,
1417       	p_seg_values.attribute5,
1418       	p_seg_values.attribute6,
1419       	p_seg_values.attribute7,
1420       	p_seg_values.attribute8,
1421       	p_seg_values.attribute9,
1422       	p_seg_values.attribute10,
1423       	p_seg_values.attribute11,
1424       	p_seg_values.attribute12,
1425       	p_seg_values.attribute13,
1426       	p_seg_values.attribute14,
1427       	p_seg_values.attribute15,
1428       	p_seg_values.context,
1429       	l_resp_appl_id,
1430       	l_resp_id,
1431       	l_return_status );
1432 
1433 	if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1434 		RAISE FND_API.G_EXC_ERROR;
1435 	end if;
1436 END Is_DescFlex_Valid;
1437 
1438 PROCEDURE Is_PriceAttribs_Valid
1439 (
1440 	p_api_name			IN	VARCHAR2,
1441 	p_appl_short_name		IN	VARCHAR2	DEFAULT	'CS',
1442 	p_Price_Attrib_name		IN	VARCHAR2,
1443 	p_seg_partial_name		IN	VARCHAR2,
1444 	p_seg_values			IN	PRICE_ATT_Rec_Type,
1445 	p_stack_err_msg		IN	BOOLEAN	DEFAULT	TRUE
1446 ) IS
1447 
1448   p_desc_context	VARCHAR2(30);
1449 	p_desc_col_name1 VARCHAR2(30) := p_seg_partial_name||'1';
1450 	p_desc_col_name2 VARCHAR2(30) := p_seg_partial_name||'2';
1451 	p_desc_col_name3 VARCHAR2(30) := p_seg_partial_name||'3';
1452 	p_desc_col_name4 VARCHAR2(30) := p_seg_partial_name||'4';
1453 	p_desc_col_name5 VARCHAR2(30) := p_seg_partial_name||'5';
1454 	p_desc_col_name6 VARCHAR2(30) := p_seg_partial_name||'6';
1455 	p_desc_col_name7 VARCHAR2(30) := p_seg_partial_name||'7';
1456 	p_desc_col_name8 VARCHAR2(30) := p_seg_partial_name||'8';
1457 	p_desc_col_name9 VARCHAR2(30) := p_seg_partial_name||'9';
1458 	p_desc_col_name10 VARCHAR2(30) := p_seg_partial_name||'10';
1459 	p_desc_col_name11 VARCHAR2(30) := p_seg_partial_name||'11';
1460 	p_desc_col_name12 VARCHAR2(30) := p_seg_partial_name||'12';
1461 	p_desc_col_name13 VARCHAR2(30) := p_seg_partial_name||'13';
1462 	p_desc_col_name14 VARCHAR2(30) := p_seg_partial_name||'14';
1463 	p_desc_col_name15 VARCHAR2(30) := p_seg_partial_name||'15';
1464 	p_desc_col_name16 VARCHAR2(30) := p_seg_partial_name||'16';
1465 	p_desc_col_name17 VARCHAR2(30) := p_seg_partial_name||'17';
1466 	p_desc_col_name18 VARCHAR2(30) := p_seg_partial_name||'18';
1467 	p_desc_col_name19 VARCHAR2(30) := p_seg_partial_name||'19';
1468 	p_desc_col_name20 VARCHAR2(30) := p_seg_partial_name||'20';
1469 	p_desc_col_name21 VARCHAR2(30) := p_seg_partial_name||'21';
1470 	p_desc_col_name22 VARCHAR2(30) := p_seg_partial_name||'22';
1471 	p_desc_col_name23 VARCHAR2(30) := p_seg_partial_name||'23';
1472 	p_desc_col_name24 VARCHAR2(30) := p_seg_partial_name||'24';
1473 	p_desc_col_name25 VARCHAR2(30) := p_seg_partial_name||'25';
1474 	p_desc_col_name26 VARCHAR2(30) := p_seg_partial_name||'26';
1475 	p_desc_col_name27 VARCHAR2(30) := p_seg_partial_name||'27';
1476 	p_desc_col_name28 VARCHAR2(30) := p_seg_partial_name||'28';
1477 	p_desc_col_name29 VARCHAR2(30) := p_seg_partial_name||'29';
1478 	p_desc_col_name30 VARCHAR2(30) := p_seg_partial_name||'30';
1479 	p_desc_col_name31 VARCHAR2(30) := p_seg_partial_name||'31';
1480 	p_desc_col_name32 VARCHAR2(30) := p_seg_partial_name||'32';
1481 	p_desc_col_name33 VARCHAR2(30) := p_seg_partial_name||'33';
1482 	p_desc_col_name34 VARCHAR2(30) := p_seg_partial_name||'34';
1483 	p_desc_col_name35 VARCHAR2(30) := p_seg_partial_name||'35';
1484 	p_desc_col_name36 VARCHAR2(30) := p_seg_partial_name||'36';
1485 	p_desc_col_name37 VARCHAR2(30) := p_seg_partial_name||'37';
1486 	p_desc_col_name38 VARCHAR2(30) := p_seg_partial_name||'38';
1487 	p_desc_col_name39 VARCHAR2(30) := p_seg_partial_name||'39';
1488 	p_desc_col_name40 VARCHAR2(30) := p_seg_partial_name||'40';
1489 	p_desc_col_name41 VARCHAR2(30) := p_seg_partial_name||'41';
1490 	p_desc_col_name42 VARCHAR2(30) := p_seg_partial_name||'42';
1491 	p_desc_col_name43 VARCHAR2(30) := p_seg_partial_name||'43';
1492 	p_desc_col_name44 VARCHAR2(30) := p_seg_partial_name||'44';
1493 	p_desc_col_name45 VARCHAR2(30) := p_seg_partial_name||'45';
1494 	p_desc_col_name46 VARCHAR2(30) := p_seg_partial_name||'46';
1495 	p_desc_col_name47 VARCHAR2(30) := p_seg_partial_name||'47';
1496 	p_desc_col_name48 VARCHAR2(30) := p_seg_partial_name||'48';
1497 	p_desc_col_name49 VARCHAR2(30) := p_seg_partial_name||'49';
1498 	p_desc_col_name50 VARCHAR2(30) := p_seg_partial_name||'50';
1499 	p_desc_col_name51 VARCHAR2(30) := p_seg_partial_name||'51';
1500 	p_desc_col_name52 VARCHAR2(30) := p_seg_partial_name||'52';
1501 	p_desc_col_name53 VARCHAR2(30) := p_seg_partial_name||'53';
1502 	p_desc_col_name54 VARCHAR2(30) := p_seg_partial_name||'54';
1503 	p_desc_col_name55 VARCHAR2(30) := p_seg_partial_name||'55';
1504 	p_desc_col_name56 VARCHAR2(30) := p_seg_partial_name||'56';
1505 	p_desc_col_name57 VARCHAR2(30) := p_seg_partial_name||'57';
1506 	p_desc_col_name58 VARCHAR2(30) := p_seg_partial_name||'58';
1507 	p_desc_col_name59 VARCHAR2(30) := p_seg_partial_name||'59';
1508 	p_desc_col_name60 VARCHAR2(30) := p_seg_partial_name||'60';
1509 	p_desc_col_name61 VARCHAR2(30) := p_seg_partial_name||'61';
1510 	p_desc_col_name62 VARCHAR2(30) := p_seg_partial_name||'62';
1511 	p_desc_col_name63 VARCHAR2(30) := p_seg_partial_name||'63';
1512 	p_desc_col_name64 VARCHAR2(30) := p_seg_partial_name||'64';
1513 	p_desc_col_name65 VARCHAR2(30) := p_seg_partial_name||'65';
1514 	p_desc_col_name66 VARCHAR2(30) := p_seg_partial_name||'66';
1515 	p_desc_col_name67 VARCHAR2(30) := p_seg_partial_name||'67';
1516 	p_desc_col_name68 VARCHAR2(30) := p_seg_partial_name||'68';
1517 	p_desc_col_name69 VARCHAR2(30) := p_seg_partial_name||'69';
1518 	p_desc_col_name70 VARCHAR2(30) := p_seg_partial_name||'70';
1519 	p_desc_col_name71 VARCHAR2(30) := p_seg_partial_name||'71';
1520 	p_desc_col_name72 VARCHAR2(30) := p_seg_partial_name||'72';
1521 	p_desc_col_name73 VARCHAR2(30) := p_seg_partial_name||'73';
1522 	p_desc_col_name74 VARCHAR2(30) := p_seg_partial_name||'74';
1523 	p_desc_col_name75 VARCHAR2(30) := p_seg_partial_name||'75';
1524 	p_desc_col_name76 VARCHAR2(30) := p_seg_partial_name||'76';
1525 	p_desc_col_name77 VARCHAR2(30) := p_seg_partial_name||'77';
1526 	p_desc_col_name78 VARCHAR2(30) := p_seg_partial_name||'78';
1527 	p_desc_col_name79 VARCHAR2(30) := p_seg_partial_name||'79';
1528 	p_desc_col_name80 VARCHAR2(30) := p_seg_partial_name||'80';
1529 	p_desc_col_name81 VARCHAR2(30) := p_seg_partial_name||'81';
1530 	p_desc_col_name82 VARCHAR2(30) := p_seg_partial_name||'82';
1531 	p_desc_col_name83 VARCHAR2(30) := p_seg_partial_name||'83';
1532 	p_desc_col_name84 VARCHAR2(30) := p_seg_partial_name||'84';
1533 	p_desc_col_name85 VARCHAR2(30) := p_seg_partial_name||'85';
1534 	p_desc_col_name86 VARCHAR2(30) := p_seg_partial_name||'86';
1535 	p_desc_col_name87 VARCHAR2(30) := p_seg_partial_name||'87';
1536 	p_desc_col_name88 VARCHAR2(30) := p_seg_partial_name||'88';
1537 	p_desc_col_name89 VARCHAR2(30) := p_seg_partial_name||'89';
1538 	p_desc_col_name90 VARCHAR2(30) := p_seg_partial_name||'90';
1539 	p_desc_col_name91 VARCHAR2(30) := p_seg_partial_name||'91';
1540 	p_desc_col_name92 VARCHAR2(30) := p_seg_partial_name||'92';
1541 	p_desc_col_name93 VARCHAR2(30) := p_seg_partial_name||'93';
1542 	p_desc_col_name94 VARCHAR2(30) := p_seg_partial_name||'94';
1543 	p_desc_col_name95 VARCHAR2(30) := p_seg_partial_name||'95';
1544 	p_desc_col_name96 VARCHAR2(30) := p_seg_partial_name||'96';
1545 	p_desc_col_name97 VARCHAR2(30) := p_seg_partial_name||'97';
1546 	p_desc_col_name98 VARCHAR2(30) := p_seg_partial_name||'98';
1547 	p_desc_col_name99 VARCHAR2(30) := p_seg_partial_name||'99';
1548 	p_desc_col_name100 VARCHAR2(30) := p_seg_partial_name||'100';
1549   l_return_status	VARCHAR2(1);
1550   l_resp_appl_id	NUMBER;
1551   l_resp_id		NUMBER;
1552   l_return_value	BOOLEAN		:=	TRUE;
1553 
1554 BEGIN
1555     Validate_Price_Attribs
1556     (
1557 		p_api_name,
1558 		p_appl_short_name,
1559       	p_price_attrib_name,
1560 		p_desc_col_name1,
1561 		p_desc_col_name2,
1562 		p_desc_col_name3,
1563 		p_desc_col_name4,
1564 		p_desc_col_name5,
1565 		p_desc_col_name6,
1566 		p_desc_col_name7,
1567 		p_desc_col_name8,
1568 		p_desc_col_name9,
1569 		p_desc_col_name10,
1570 		p_desc_col_name11,
1571 		p_desc_col_name12,
1572 		p_desc_col_name13,
1573 		p_desc_col_name14,
1574 		p_desc_col_name15,
1575 		p_desc_col_name16,
1576 		p_desc_col_name17,
1577 		p_desc_col_name18,
1578 		p_desc_col_name19,
1579 		p_desc_col_name20,
1580 		p_desc_col_name21,
1581 		p_desc_col_name22,
1582 		p_desc_col_name23,
1583 		p_desc_col_name24,
1584 		p_desc_col_name25,
1585 		p_desc_col_name26,
1586 		p_desc_col_name27,
1587 		p_desc_col_name28,
1588 		p_desc_col_name29,
1589 		p_desc_col_name30,
1590 		p_desc_col_name31,
1591 		p_desc_col_name32,
1592 		p_desc_col_name33,
1593 		p_desc_col_name34,
1594 		p_desc_col_name35,
1595 		p_desc_col_name36,
1596 		p_desc_col_name37,
1597 		p_desc_col_name38,
1598 		p_desc_col_name39,
1599 		p_desc_col_name40,
1600 		p_desc_col_name41,
1601 		p_desc_col_name42,
1602 		p_desc_col_name43,
1603 		p_desc_col_name44,
1604 		p_desc_col_name45,
1605 		p_desc_col_name46,
1606 		p_desc_col_name47,
1607 		p_desc_col_name48,
1608 		p_desc_col_name49,
1609 		p_desc_col_name50,
1610 		p_desc_col_name51,
1611 		p_desc_col_name52,
1612 		p_desc_col_name53,
1613 		p_desc_col_name54,
1614 		p_desc_col_name55,
1615 		p_desc_col_name56,
1616 		p_desc_col_name57,
1617 		p_desc_col_name58,
1618 		p_desc_col_name59,
1619 		p_desc_col_name60,
1620 		p_desc_col_name61,
1621 		p_desc_col_name62,
1622 		p_desc_col_name63,
1623 		p_desc_col_name64,
1624 		p_desc_col_name65,
1625 		p_desc_col_name66,
1626 		p_desc_col_name67,
1627 		p_desc_col_name68,
1628 		p_desc_col_name69,
1629 		p_desc_col_name70,
1630 		p_desc_col_name71,
1631 		p_desc_col_name72,
1632 		p_desc_col_name73,
1633 		p_desc_col_name74,
1634 		p_desc_col_name75,
1635 		p_desc_col_name76,
1636 		p_desc_col_name77,
1637 		p_desc_col_name78,
1638 		p_desc_col_name79,
1639 		p_desc_col_name80,
1640 		p_desc_col_name81,
1641 		p_desc_col_name82,
1642 		p_desc_col_name83,
1643 		p_desc_col_name84,
1644 		p_desc_col_name85,
1645 		p_desc_col_name86,
1646 		p_desc_col_name87,
1647 		p_desc_col_name88,
1648 		p_desc_col_name89,
1649 		p_desc_col_name90,
1650 		p_desc_col_name91,
1651 		p_desc_col_name92,
1652 		p_desc_col_name93,
1653 		p_desc_col_name94,
1654 		p_desc_col_name95,
1655 		p_desc_col_name96,
1656 		p_desc_col_name97,
1657 		p_desc_col_name98,
1658 		p_desc_col_name99,
1659 		p_desc_col_name100,
1660 		p_seg_values.pricing_attribute1,
1661 		p_seg_values.pricing_attribute2,
1662 		p_seg_values.pricing_attribute3,
1663 		p_seg_values.pricing_attribute4,
1664 		p_seg_values.pricing_attribute5,
1665 		p_seg_values.pricing_attribute6,
1666 		p_seg_values.pricing_attribute7,
1667 		p_seg_values.pricing_attribute8,
1668 		p_seg_values.pricing_attribute9,
1669 		p_seg_values.pricing_attribute10,
1670 		p_seg_values.pricing_attribute11,
1671 		p_seg_values.pricing_attribute12,
1672 		p_seg_values.pricing_attribute13,
1673 		p_seg_values.pricing_attribute14,
1674 		p_seg_values.pricing_attribute15,
1675 		p_seg_values.pricing_attribute16,
1676 		p_seg_values.pricing_attribute17,
1677 		p_seg_values.pricing_attribute18,
1678 		p_seg_values.pricing_attribute19,
1679 		p_seg_values.pricing_attribute20,
1680 		p_seg_values.pricing_attribute21,
1681 		p_seg_values.pricing_attribute22,
1682 		p_seg_values.pricing_attribute23,
1683 		p_seg_values.pricing_attribute24,
1684 		p_seg_values.pricing_attribute25,
1685 		p_seg_values.pricing_attribute26,
1686 		p_seg_values.pricing_attribute27,
1687 		p_seg_values.pricing_attribute28,
1688 		p_seg_values.pricing_attribute29,
1689 		p_seg_values.pricing_attribute30,
1690 		p_seg_values.pricing_attribute31,
1691 		p_seg_values.pricing_attribute32,
1692 		p_seg_values.pricing_attribute33,
1693 		p_seg_values.pricing_attribute34,
1694 		p_seg_values.pricing_attribute35,
1695 		p_seg_values.pricing_attribute36,
1696 		p_seg_values.pricing_attribute37,
1697 		p_seg_values.pricing_attribute38,
1698 		p_seg_values.pricing_attribute39,
1699 		p_seg_values.pricing_attribute40,
1700 		p_seg_values.pricing_attribute41,
1701 		p_seg_values.pricing_attribute42,
1702 		p_seg_values.pricing_attribute43,
1703 		p_seg_values.pricing_attribute44,
1704 		p_seg_values.pricing_attribute45,
1705 		p_seg_values.pricing_attribute46,
1706 		p_seg_values.pricing_attribute47,
1707 		p_seg_values.pricing_attribute48,
1708 		p_seg_values.pricing_attribute49,
1709 		p_seg_values.pricing_attribute50,
1710 		p_seg_values.pricing_attribute51,
1711 		p_seg_values.pricing_attribute52,
1712 		p_seg_values.pricing_attribute53,
1713 		p_seg_values.pricing_attribute54,
1714 		p_seg_values.pricing_attribute55,
1715 		p_seg_values.pricing_attribute56,
1716 		p_seg_values.pricing_attribute57,
1717 		p_seg_values.pricing_attribute58,
1718 		p_seg_values.pricing_attribute59,
1719 		p_seg_values.pricing_attribute60,
1720 		p_seg_values.pricing_attribute61,
1721 		p_seg_values.pricing_attribute62,
1722 		p_seg_values.pricing_attribute63,
1723 		p_seg_values.pricing_attribute64,
1724 		p_seg_values.pricing_attribute65,
1725 		p_seg_values.pricing_attribute66,
1726 		p_seg_values.pricing_attribute67,
1727 		p_seg_values.pricing_attribute68,
1728 		p_seg_values.pricing_attribute69,
1729 		p_seg_values.pricing_attribute70,
1730 		p_seg_values.pricing_attribute71,
1731 		p_seg_values.pricing_attribute72,
1732 		p_seg_values.pricing_attribute73,
1733 		p_seg_values.pricing_attribute74,
1734 		p_seg_values.pricing_attribute75,
1735 		p_seg_values.pricing_attribute76,
1736 		p_seg_values.pricing_attribute77,
1737 		p_seg_values.pricing_attribute78,
1738 		p_seg_values.pricing_attribute79,
1739 		p_seg_values.pricing_attribute80,
1740 		p_seg_values.pricing_attribute81,
1741 		p_seg_values.pricing_attribute82,
1742 		p_seg_values.pricing_attribute83,
1743 		p_seg_values.pricing_attribute84,
1744 		p_seg_values.pricing_attribute85,
1745 		p_seg_values.pricing_attribute86,
1746 		p_seg_values.pricing_attribute87,
1747 		p_seg_values.pricing_attribute88,
1748 		p_seg_values.pricing_attribute89,
1749 		p_seg_values.pricing_attribute90,
1750 		p_seg_values.pricing_attribute91,
1751 		p_seg_values.pricing_attribute92,
1752 		p_seg_values.pricing_attribute93,
1753 		p_seg_values.pricing_attribute94,
1754 		p_seg_values.pricing_attribute95,
1755 		p_seg_values.pricing_attribute96,
1756 		p_seg_values.pricing_attribute97,
1757 		p_seg_values.pricing_attribute98,
1758 		p_seg_values.pricing_attribute99,
1759 		p_seg_values.pricing_attribute100,
1760         p_seg_values.pricing_context,
1761       	l_resp_appl_id,
1762       	l_resp_id,
1763       	l_return_status );
1764 
1765 	if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1766 		RAISE FND_API.G_EXC_ERROR;
1767 	end if;
1768 END Is_PriceAttribs_Valid;
1769 ------------------------------------------------------------------------------
1770 --  Procedure	: get_g_false
1771 ------------------------------------------------------------------------------
1772 
1773 function get_g_false return varchar2 is
1774 
1775   begin
1776     return (fnd_api.g_false);
1777 
1778 end get_g_false;
1779 
1780 ------------------------------------------------------------------------------
1781 --  Procedure	: get_g_true
1782 ------------------------------------------------------------------------------
1783 
1784 function get_g_true return varchar2 is
1785 
1786   begin
1787     return (fnd_api.g_true);
1788 
1789 end get_g_true;
1790 
1791 ------------------------------------------------------------------------------
1792 --  Procedure	: get_g_valid_level_full
1793 ------------------------------------------------------------------------------
1794 
1795 function get_g_valid_level_full return varchar2 is
1796 
1797   begin
1798     return (fnd_api.g_valid_level_full);
1799 
1800 end get_g_valid_level_full;
1801 
1802 ------------------------------------------------------------------------------
1803 --  Procedure	: get_g_miss_num
1804 ------------------------------------------------------------------------------
1805 
1806 function get_g_miss_num return number is
1807 
1808   begin
1809     return (fnd_api.g_miss_num);
1810 
1811 end get_g_miss_num;
1812 
1813 ------------------------------------------------------------------------------
1814 --  Procedure	: get_g_miss_char
1815 ------------------------------------------------------------------------------
1816 
1817 function get_g_miss_char return varchar2 is
1818 
1819   begin
1820     return (fnd_api.g_miss_char);
1821 
1822 end get_g_miss_char;
1823 
1824 ------------------------------------------------------------------------------
1825 --  Procedure	: get_g_miss_date
1826 ------------------------------------------------------------------------------
1827 
1828 function get_g_miss_date return date is
1829 
1830   begin
1831     return (fnd_api.g_miss_date);
1832 
1833 end get_g_miss_date;
1834 
1835 ----------------------------------- End of Code -----------------------------
1836 
1837 END CS_CORE_UTIL;