[Home] [Help]
PACKAGE BODY: APPS.AS_ISSUE_UTIL_PVT
Source
1 PACKAGE BODY AS_ISSUE_UTIL_PVT AS
2 /* $Header: asxvifub.pls 115.5 2002/11/06 00:59:05 appldev ship $ */
3
4 --
5 -- NAME
6 --
7 --
8 -- HISTORY
9 -- 12/11/01 dphan Create
10 --
11
12 G_PKG_NAME CONSTANT VARCHAR2(30):='AS_ISSUE_UTIL_PVT';
13 G_FILE_NAME CONSTANT VARCHAR2(12):='asxvifub.pls';
14
15 -- Procedure to validate the party_id
16 --
17 -- Validation:
18 -- Check if this party is in the HZ_PARTY table
19 --
20 -- NOTES:
21 --
22 PROCEDURE Validate_party_id (
23 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
24 p_party_id IN NUMBER,
25 x_return_status OUT VARCHAR2,
26 x_msg_count OUT NUMBER,
27 x_msg_data OUT VARCHAR2) IS
28
29 CURSOR C_party_exists (x_party_id NUMBER) IS
30 SELECT 1
31 FROM HZ_PARTIES
32 WHERE party_id = x_party_id;
33
34 l_val VARCHAR2(1);
35
36 BEGIN
37
38 -- initialize message list if p_init_msg_list is set to TRUE;
39
40 IF FND_API.to_Boolean(p_init_msg_list) THEN
41 FND_MSG_PUB.initialize;
42 END IF;
43
44 x_return_status := FND_API.G_RET_STS_SUCCESS;
45
46 IF (p_party_id is NOT NULL) and
47 (p_party_id <> FND_API.G_MISS_NUM) THEN
48
49 OPEN C_party_exists(p_party_id);
50 FETCH C_party_exists into l_val;
51 IF (C_party_exists%NOTFOUND) THEN
52 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
53 'party_id is not valid:' || p_party_id);
54
55 AS_UTILITY_PVT.Set_Message(
56 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
57 p_msg_name => 'API_INVALID_ID',
58 p_token1 => 'COLUMN',
59 p_token1_value => 'PARTY_ID',
60 p_token2 => 'VALUE',
61 p_token2_value => p_party_id);
62
63 x_return_status := FND_API.G_RET_STS_ERROR;
64 END IF;
65 CLOSE C_Party_Exists;
66 ELSE
67 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
68 'party_id is not valid:' || p_party_id);
69
70 AS_UTILITY_PVT.Set_Message(
71 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
72 p_msg_name => 'API_INVALID_ID',
73 p_token1 => 'COLUMN',
74 p_token1_value => 'PARTY_ID',
75 p_token2 => 'VALUE',
76 p_token2_value => p_party_id);
77
78 x_return_status := FND_API.G_RET_STS_ERROR;
79 END IF;
80
81 FND_MSG_PUB.Count_And_Get (
82 p_count => x_msg_count,
83 p_data => x_msg_data);
84
85 END Validate_party_id;
86
87 -- Procedure to validate the fund contact_role_code
88 --
89 -- Validation:
90 -- Check if the passed in code is in the FND_LOOKUP_VALUES table.
91 --
92 -- NOTES:
93 --
94 PROCEDURE Validate_fd_contact_role_code (
95 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
96 p_contact_role_code IN VARCHAR2,
97 x_return_status OUT VARCHAR2,
98 x_msg_count OUT NUMBER,
99 x_msg_data OUT VARCHAR2) IS
100
101 CURSOR C_contact_role_code_exists (c_contact_role_code VARCHAR2,
102 c_lookup_type VARCHAR2) IS
103 SELECT 'X'
104 FROM FND_LOOKUP_VALUES
105 WHERE LOOKUP_TYPE = c_lookup_type
106 AND LOOKUP_CODE = c_contact_role_code;
107
108 l_val VARCHAR2(1);
109
110 BEGIN
111
112 -- Initialize message list if p_init_msg_list is set to TRUE.
113 IF FND_API.to_Boolean( p_init_msg_list ) THEN
114 FND_MSG_PUB.initialize;
115 END IF;
116
117 -- Initialize API return status to SUCCESS
118 x_return_status := FND_API.G_RET_STS_SUCCESS;
119
120 IF (p_contact_role_code is NOT NULL) and
121 (p_contact_role_code <> FND_API.G_MISS_CHAR) THEN
122
123 OPEN C_contact_role_code_exists (p_contact_role_code,
124 'AS_FUND_CONTACT_ROLE');
125 FETCH C_contact_role_code_exists into l_val;
126
127 IF C_contact_role_code_exists%NOTFOUND THEN
128 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
129 'contact_role_code is not valid:' || p_contact_role_code);
130
131 AS_UTILITY_PVT.Set_Message(
132 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
133 p_msg_name => 'API_INVALID_ID',
134 p_token1 => 'COLUMN',
135 p_token1_value => 'CONTACT_ROLE_CODE',
136 p_token2 => 'VALUE',
137 p_token2_value => p_contact_role_code );
138
139 x_return_status := FND_API.G_RET_STS_ERROR;
140 END IF;
141 CLOSE C_contact_role_code_exists;
142 END IF;
143
144 FND_MSG_PUB.Count_And_Get (
145 p_count => x_msg_count,
146 p_data => x_msg_data);
147
148 END Validate_fd_contact_role_code;
149
150 -- Procedure to validate the fund_strategy
151 --
152 -- Validation:
153 -- Check if the passed in code is in the FND_LOOKUP_VALUES table.
154 --
155 -- NOTES:
156 --
157 PROCEDURE Validate_fund_strategy (
158 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
159 p_strategy IN VARCHAR2,
160 x_return_status OUT VARCHAR2,
161 x_msg_count OUT NUMBER,
162 x_msg_data OUT VARCHAR2) IS
163
164 CURSOR C_strategy_exists (c_strategy VARCHAR2,
165 c_lookup_type VARCHAR2) IS
166 SELECT 'X'
167 FROM FND_LOOKUP_VALUES
168 WHERE LOOKUP_TYPE = c_lookup_type
169 AND LOOKUP_CODE = c_strategy;
170
171 l_val VARCHAR2(1);
172
173 BEGIN
174
175 -- Initialize message list if p_init_msg_list is set to TRUE.
176 IF FND_API.to_Boolean( p_init_msg_list ) THEN
177 FND_MSG_PUB.initialize;
178 END IF;
179
180 -- Initialize API return status to SUCCESS
181 x_return_status := FND_API.G_RET_STS_SUCCESS;
182
183 IF (p_strategy is NOT NULL) and
184 (p_strategy <> FND_API.G_MISS_CHAR) THEN
185
186 OPEN C_strategy_exists (p_strategy, 'AS_FUND_STRATEGY');
187 FETCH C_strategy_exists into l_val;
188
189 IF C_strategy_exists%NOTFOUND THEN
190 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
191 'strategy is not valid:' || p_strategy);
192
193 AS_UTILITY_PVT.Set_Message(
194 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
195 p_msg_name => 'API_INVALID_ID',
196 p_token1 => 'COLUMN',
197 p_token1_value => 'STRATEGY',
198 p_token2 => 'VALUE',
199 p_token2_value => p_strategy );
200
201 x_return_status := FND_API.G_RET_STS_ERROR;
202 END IF;
203 CLOSE C_strategy_exists;
204 END IF;
205
206 FND_MSG_PUB.Count_And_Get (
207 p_count => x_msg_count,
208 p_data => x_msg_data);
209
210 END Validate_fund_strategy;
211
212 -- Procedure to validate the scheme
213 --
214 -- Validation:
215 -- Check if the passed in code is in the FND_LOOKUP_VALUES table.
216 --
217 -- NOTES:
218 --
219 PROCEDURE Validate_scheme (
220 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
221 p_scheme IN VARCHAR2,
222 x_return_status OUT VARCHAR2,
223 x_msg_count OUT NUMBER,
224 x_msg_data OUT VARCHAR2) IS
225
226 CURSOR C_scheme_exists (
227 c_scheme VARCHAR2,
228 c_lookup_type VARCHAR2) IS
229 SELECT 'X'
230 FROM FND_LOOKUP_VALUES
231 WHERE LOOKUP_TYPE = c_lookup_type
232 AND LOOKUP_CODE = c_scheme;
233
234 l_val VARCHAR2(1);
235
236 BEGIN
237
238 -- Initialize message list if p_init_msg_list is set to TRUE.
239 IF FND_API.to_Boolean( p_init_msg_list ) THEN
240 FND_MSG_PUB.initialize;
241 END IF;
242
243 -- Initialize API return status to SUCCESS
244 x_return_status := FND_API.G_RET_STS_SUCCESS;
245
246 IF (p_scheme is NOT NULL) and
247 (p_scheme <> FND_API.G_MISS_CHAR) THEN
248
249 OPEN C_scheme_exists (p_scheme, 'AS_ISSUE_SCHEME');
250 FETCH C_scheme_exists into l_val;
251
252 IF C_scheme_exists%NOTFOUND THEN
253 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
254 'issue scheme is not valid:' || p_scheme);
255
256 AS_UTILITY_PVT.Set_Message(
257 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
258 p_msg_name => 'API_INVALID_ID',
259 p_token1 => 'COLUMN',
260 p_token1_value => 'ISSUE_SCHEME',
261 p_token2 => 'VALUE',
262 p_token2_value => p_scheme);
263 x_return_status := FND_API.G_RET_STS_ERROR;
264 END IF;
265 CLOSE C_scheme_exists;
266 END IF;
267
268 FND_MSG_PUB.Count_And_Get (
269 p_count => x_msg_count,
270 p_data => x_msg_data);
271
272 END Validate_scheme;
273
274 -- Procedure to validate the issue_type
275 --
276 -- Validation:
277 -- Check if the passed in code is in the FND_LOOKUP_VALUES table.
278 --
279 -- NOTES:
280 --
281 PROCEDURE Validate_issue_type (
282 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
283 p_issue_type IN VARCHAR2,
284 x_return_status OUT VARCHAR2,
285 x_msg_count OUT NUMBER,
286 x_msg_data OUT VARCHAR2) IS
287
288 CURSOR C_issue_type_exists (
289 c_issue_type VARCHAR2,
290 c_lookup_type VARCHAR2) IS
291 SELECT 'X'
292 FROM FND_LOOKUP_VALUES
293 WHERE LOOKUP_TYPE = c_lookup_type
294 AND LOOKUP_CODE = c_issue_type;
295
296 l_val VARCHAR2(1);
297
298 BEGIN
299
300 -- Initialize message list if p_init_msg_list is set to TRUE.
301 IF FND_API.to_Boolean( p_init_msg_list ) THEN
302 FND_MSG_PUB.initialize;
303 END IF;
304
305 -- Initialize API return status to SUCCESS
306 x_return_status := FND_API.G_RET_STS_SUCCESS;
307
308 IF (p_issue_type is NOT NULL) and
309 (p_issue_type <> FND_API.G_MISS_CHAR) THEN
310
311 OPEN C_issue_type_exists (p_issue_type,
312 'AS_ISSUE_TYPE');
313 FETCH C_issue_type_exists into l_val;
314
315 IF C_issue_type_exists%NOTFOUND THEN
316 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
317 'issue group type code is not valid:' || p_issue_type);
318
319 AS_UTILITY_PVT.Set_Message(
320 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
321 p_msg_name => 'API_INVALID_ID',
322 p_token1 => 'COLUMN',
323 p_token1_value => 'ISSUE_TYPE',
324 p_token2 => 'VALUE',
325 p_token2_value => p_issue_type);
326
327 x_return_status := FND_API.G_RET_STS_ERROR;
328 END IF;
329 CLOSE C_issue_type_exists;
330 ELSE
331 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
332 'issue group type code is not valid:' || p_issue_type);
333
334 AS_UTILITY_PVT.Set_Message(
335 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
336 p_msg_name => 'API_INVALID_ID',
337 p_token1 => 'COLUMN',
338 p_token1_value => 'ISSUE_TYPE',
339 p_token2 => 'VALUE',
340 p_token2_value => p_issue_type);
341
342 x_return_status := FND_API.G_RET_STS_ERROR;
343 END IF;
344
345 FND_MSG_PUB.Count_And_Get (
346 p_count => x_msg_count,
347 p_data => x_msg_data);
348
349 END Validate_issue_type;
350
351 -- Procedure to validate the issue_group_type_code
352 --
353 -- Validation:
354 -- Check if the passed in code is in the FND_LOOKUP_VALUES table.
355 --
356 -- NOTES:
357 --
358 PROCEDURE Validate_issue_group_type_code (
359 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
360 p_issue_group_type_code IN VARCHAR2,
361 x_return_status OUT VARCHAR2,
362 x_msg_count OUT NUMBER,
363 x_msg_data OUT VARCHAR2) IS
364
365 CURSOR C_issue_group_type_code_exists (
366 c_issue_group_type_code VARCHAR2) IS
367 SELECT 'X'
368 FROM AS_ISSUE_GROUP_TYPES
369 WHERE ISSUE_GROUP_TYPE_CODE = c_issue_group_type_code;
370
371 l_val VARCHAR2(1);
372
373 BEGIN
374
375 -- Initialize message list if p_init_msg_list is set to TRUE.
376 IF FND_API.to_Boolean( p_init_msg_list ) THEN
377 FND_MSG_PUB.initialize;
378 END IF;
379
380 -- Initialize API return status to SUCCESS
381 x_return_status := FND_API.G_RET_STS_SUCCESS;
382
383 IF (p_issue_group_type_code is NOT NULL) and
384 (p_issue_group_type_code <> FND_API.G_MISS_CHAR) THEN
385
386 OPEN C_issue_group_type_code_exists (p_issue_group_type_code);
387 FETCH C_issue_group_type_code_exists into l_val;
388
389 IF C_issue_group_type_code_exists%NOTFOUND THEN
390 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
391 'issue group type code is not valid:' || p_issue_group_type_code);
392
393 AS_UTILITY_PVT.Set_Message(
394 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
395 p_msg_name => 'API_INVALID_ID',
396 p_token1 => 'COLUMN',
397 p_token1_value => 'ISSUE_GROUP_TYPE_CODE',
398 p_token2 => 'VALUE',
399 p_token2_value => p_issue_group_type_code);
400
401 x_return_status := FND_API.G_RET_STS_ERROR;
402 END IF;
403 CLOSE C_issue_group_type_code_exists;
404 ELSE
405 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
406 'issue group type code is not valid:' || p_issue_group_type_code);
407
408 AS_UTILITY_PVT.Set_Message(
409 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
410 p_msg_name => 'API_INVALID_ID',
411 p_token1 => 'COLUMN',
412 p_token1_value => 'ISSUE_GROUP_TYPE_CODE',
413 p_token2 => 'VALUE',
414 p_token2_value => p_issue_group_type_code);
415
416 x_return_status := FND_API.G_RET_STS_ERROR;
417 END IF;
418
419 FND_MSG_PUB.Count_And_Get (
420 p_count => x_msg_count,
421 p_data => x_msg_data);
422
423 END Validate_issue_group_type_code;
424
425 -- Procedure to validate the issue_relationship_type
426 --
427 -- Validation:
428 -- Check if the passed in code is in the FND_LOOKUP_VALUES table.
429 --
430 -- NOTES:
431 --
432 PROCEDURE Validate_is_relationship_type (
433 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
434 p_issue_relationship_type IN VARCHAR2,
435 x_return_status OUT VARCHAR2,
436 x_msg_count OUT NUMBER,
437 x_msg_data OUT VARCHAR2) IS
438
439 CURSOR C_is_relationship_type_exists (
440 c_issue_relationship_type VARCHAR2,
441 c_lookup_type VARCHAR2) IS
442 SELECT 'X'
443 FROM FND_LOOKUP_VALUES
444 WHERE LOOKUP_TYPE = c_lookup_type
445 AND LOOKUP_CODE = c_issue_relationship_type;
446
447 l_val VARCHAR2(1);
448
449 BEGIN
450
451 -- Initialize message list if p_init_msg_list is set to TRUE.
452 IF FND_API.to_Boolean( p_init_msg_list ) THEN
453 FND_MSG_PUB.initialize;
454 END IF;
455
456 -- Initialize API return status to SUCCESS
457 x_return_status := FND_API.G_RET_STS_SUCCESS;
458
459 IF (p_issue_relationship_type is NOT NULL) and
460 (p_issue_relationship_type <> FND_API.G_MISS_CHAR) THEN
461
462 OPEN C_is_relationship_type_exists (
463 p_issue_relationship_type,
464 'AS_ISSUE_RELATIONSHIP_TYPE');
465 FETCH C_is_relationship_type_exists into l_val;
466
467 IF C_is_relationship_type_exists%NOTFOUND THEN
468 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
469 'issue relationship type is not valid:' || p_issue_relationship_type);
470
471 AS_UTILITY_PVT.Set_Message(
472 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
473 p_msg_name => 'API_INVALID_ID',
474 p_token1 => 'COLUMN',
475 p_token1_value => 'ISSUE_RELATIONSHIP_TYPE',
476 p_token2 => 'VALUE',
477 p_token2_value => p_issue_relationship_type);
478
479 x_return_status := FND_API.G_RET_STS_ERROR;
480 END IF;
481 CLOSE C_is_relationship_type_exists;
482 ELSE
483 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
484 'issue relationship type is not valid:' || p_issue_relationship_type);
485
486 AS_UTILITY_PVT.Set_Message(
487 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
488 p_msg_name => 'API_INVALID_ID',
489 p_token1 => 'COLUMN',
490 p_token1_value => 'ISSUE_RELATIONSHIP_TYPE',
491 p_token2 => 'VALUE',
492 p_token2_value => p_issue_relationship_type);
493
494 x_return_status := FND_API.G_RET_STS_ERROR;
495 END IF;
496
497 FND_MSG_PUB.Count_And_Get (
498 p_count => x_msg_count,
499 p_data => x_msg_data);
500
501 END Validate_is_relationship_type;
502
503 -- NAME
504 -- Validate_country_code
505 --
506 -- PURPOSE
507 -- Checks if country code is valid
508 --
509 PROCEDURE Validate_country_code (
510 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
511 p_country_code IN VARCHAR2,
512 x_return_status OUT VARCHAR2,
513 x_msg_count OUT NUMBER,
514 x_msg_data OUT VARCHAR2) IS
515
516 CURSOR C_country_code_exists (x_country_code VARCHAR2) IS
517 SELECT 'X'
518 FROM fnd_territories_vl
519 WHERE territory_code = X_Country_Code;
520
521 l_val VARCHAR2(1);
522
523 BEGIN
524 -- Initialize message list if p_init_msg_list is set to TRUE.
525 IF FND_API.to_Boolean( p_init_msg_list ) THEN
526 FND_MSG_PUB.initialize;
527 END IF;
528
529 -- Initialize API return status to SUCCESS
530 x_return_status := FND_API.G_RET_STS_SUCCESS;
531
532 IF (p_country_code is NOT NULL) and
533 (p_country_code <> FND_API.G_MISS_CHAR) THEN
534
535 OPEN C_country_code_exists ( p_country_code );
536 FETCH C_country_code_exists INTO l_val;
537 IF (C_country_code_exists%NOTFOUND) THEN
538 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
539 'country code is not valid:' || p_country_code);
540
541 AS_UTILITY_PVT.Set_Message(
542 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
543 p_msg_name => 'API_INVALID_ID',
544 p_token1 => 'COLUMN',
545 p_token1_value => 'COUNTRY_CODE',
546 p_token2 => 'VALUE',
547 p_token2_value => p_country_code);
548
549 x_return_status := FND_API.G_RET_STS_ERROR;
550 END IF;
551 CLOSE C_country_code_exists;
552 ELSE
553 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
554 'country code is not valid:' || p_country_code);
555
556 AS_UTILITY_PVT.Set_Message(
557 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
558 p_msg_name => 'API_INVALID_ID',
559 p_token1 => 'COLUMN',
560 p_token1_value => 'COUNTRY_CODE',
561 p_token2 => 'VALUE',
562 p_token2_value => p_country_code);
563
564 x_return_status := FND_API.G_RET_STS_ERROR;
565 END IF;
566
567 FND_MSG_PUB.Count_And_Get (
568 p_count => x_msg_count,
569 p_data => x_msg_data);
570
571 END Validate_country_code;
572
573 -- NAME
574 -- Validate_currency_code
575 --
576 -- PURPOSE
577 -- Checks if currency code is valid
578 --
579 PROCEDURE Validate_currency_code (
580 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
581 p_currency_code IN VARCHAR2,
582 x_return_status OUT VARCHAR2,
583 x_msg_count OUT NUMBER,
584 x_msg_data OUT VARCHAR2) IS
585
586 CURSOR C_currency_code_exists (x_currency_code VARCHAR2) IS
587 SELECT 'X'
588 FROM fnd_currencies_vl
589 WHERE currency_code = x_currency_code;
590
591 l_val VARCHAR2(1);
592
593 BEGIN
594 -- Initialize message list if p_init_msg_list is set to TRUE.
595 IF FND_API.to_Boolean( p_init_msg_list ) THEN
596 FND_MSG_PUB.initialize;
597 END IF;
598
599 -- Initialize API return status to SUCCESS
600 x_return_status := FND_API.G_RET_STS_SUCCESS;
601
602 IF (p_currency_code is NOT NULL) and
603 (p_currency_code <> FND_API.G_MISS_CHAR) THEN
604
605 OPEN C_currency_code_exists ( p_currency_code );
606 FETCH C_currency_code_exists INTO l_val;
607 IF (C_currency_code_exists%NOTFOUND) THEN
608 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
609 'currency code is not valid:' || p_currency_code);
610
611 AS_UTILITY_PVT.Set_Message(
612 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
613 p_msg_name => 'API_INVALID_ID',
614 p_token1 => 'COLUMN',
615 p_token1_value => 'CURRENCY_CODE',
616 p_token2 => 'VALUE',
617 p_token2_value => p_currency_code);
618
619 x_return_status := FND_API.G_RET_STS_ERROR;
620 END IF;
621 CLOSE C_currency_code_exists;
622 END IF;
623
624 FND_MSG_PUB.Count_And_Get (
625 p_count => x_msg_count,
626 p_data => x_msg_data);
627
628 END Validate_currency_code;
629
630 END AS_ISSUE_UTIL_PVT;