DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_SR_PREFERRED_LANG_PVT

Source


1 PACKAGE BODY CS_SR_Preferred_Lang_PVT AS
2 /* $Header: csvprlb.pls 120.0 2006/03/23 11:28:08 spusegao noship $ */
3 
4 G_PKG_NAME          CONSTANT VARCHAR2(30) := 'CS_SR_Preferred_Lang_PVT';
5 G_INITIALIZED       CONSTANT VARCHAR2(1)  := 'R';
6 
7 
8 --------------------------------------------------------------------------
9 -- Create_Preferred_Language
10 --------------------------------------------------------------------------
11 
12 PROCEDURE Create_Preferred_Language
13   ( p_api_version            IN    NUMBER,
14     p_init_msg_list          IN    VARCHAR2 DEFAULT fnd_api.g_false,
15     p_commit                 IN    VARCHAR2 DEFAULT fnd_api.g_false,
16     p_validation_level       IN    NUMBER   DEFAULT fnd_api.g_valid_level_full,
17     x_return_status          OUT   NOCOPY VARCHAR2,
18     x_msg_count              OUT   NOCOPY NUMBER,
19     x_msg_data               OUT   NOCOPY VARCHAR2,
20     p_resp_appl_id           IN    NUMBER   DEFAULT NULL,
21     p_resp_id                IN    NUMBER   DEFAULT NULL,
22     p_user_id                IN    NUMBER,
23     p_login_id               IN    NUMBER   DEFAULT NULL,
24     p_preferred_language_rec IN    preferred_language_rec_type
25   )
26   IS
27      l_api_name                   CONSTANT VARCHAR2(30)    := 'Create_Preferred_Language';
28      l_api_version                CONSTANT NUMBER          := 1.0;
29      l_api_name_full              CONSTANT VARCHAR2(61)    := G_PKG_NAME||'.'||l_api_name;
30      l_return_status              VARCHAR2(1);
31      l_preferred_language_rec     preferred_language_rec_type DEFAULT p_preferred_language_rec;
32      --
33      --
34      l_row_id       VARCHAR2(64);
35      l_msg_id       NUMBER;
36      l_msg_count    NUMBER;
37      l_msg_data     VARCHAR2(2000);
38 
39 
40 BEGIN
41 -- Standard start of API savepoint
42    SAVEPOINT Create_Preferred_Language_PVT;
43 
44 -- Standard call to check for call compatibility
45   IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
46                                      G_PKG_NAME) THEN
47     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
48   END IF;
49 
50   IF (l_preferred_language_rec.initialize_flag IS NULL
51   OR  l_preferred_language_rec.initialize_flag <> G_INITIALIZED) THEN
52     FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
53     FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
54     FND_MESSAGE.Set_Token('VALUE', l_preferred_language_rec.initialize_flag);
55     FND_MESSAGE.Set_Token('PARAMETER', 'Initialize_Flag');
56     FND_MSG_PUB.Add;
57     RAISE FND_API.G_EXC_ERROR;
58   END IF;
59 
60   -- Initialize message list if p_init_msg_list is set to TRUE
61   IF FND_API.To_Boolean(p_init_msg_list) THEN
62     FND_MSG_PUB.Initialize;
63   END IF;
64 
65   -- Initialize API return status to success
66   x_return_status := FND_API.G_RET_STS_SUCCESS;
67 
68 
69 /*
70 --
71 -- Start of Code for User Hooks
72 --
73  --
74   -- Make the preprocessing call to the user hooks
75   --
76   -- Pre call to the Customer Type User Hook
77   --
78    IF jtf_usr_hks.Ok_To_Execute('CS_SR_Preferred_Lang_PVT',
79                                       'Create_Preferred-Language',
80                                       'B', 'C')  THEN
81 
82     cs_preferred_language_cuhk.Create_Preferred_Language_Pre(p_preferred_language_rec=>l_preferred_language_rec,
83                                                      x_return_status=>l_return_status);
84 
85 
86 
87     cs_preferred_language_cuhk.Create_Preferred_Language_Pre(
88     p_api_version            =>   l_api_version,
89     p_init_msg_list          =>   p_init_msg_list,
90     p_commit                 =>   p_commit,
91     p_validation_level       =>   p_validation_level,
92     x_return_status          =>   l_return_status,
93     x_msg_count              =>   x_msg_count ,
94     x_msg_data               =>   x_msg_data,
95     p_resp_appl_id           =>   p_resp_appl_id,
96     p_resp_id                =>   p_resp_id,
97     p_user_id                =>   p_user_id,
98     p_login_id               =>   p_login_id,
99     p_request_id             =>   l_request_id,
100     p_request_number         =>   l_request_number,
101     p_preferred_language_rec    =>   l_preferred_language_rec);
102 
103 
104 
105     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
106       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
107       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_PRE_CUST_USR_HK');
108       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
109       FND_MSG_PUB.Add;
110       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
111     END IF;
112   END IF;
113 
114   -- Pre call to the Vertical Type User Hook
115   --
116   IF jtf_usr_hks.Ok_To_Execute('CS_SR_Preferred_Lang_PVT',
117                                       'Create_Preferred_Language',
118                                       'B', 'V')  THEN
119 
120     cs_preferred_language_vuhk.Create_Preferred_Language_Pre(p_preferred_language_rec=>l_preferred_language_rec,
121                                                      x_return_status=>l_return_status);
122 
123     cs_preferred_language_vuhk.Create_Preferred_Language_Pre(
124     p_api_version            =>   l_api_version,
125     p_init_msg_list          =>   p_init_msg_list,
126     p_commit                 =>   p_commit,
127     p_validation_level       =>   p_validation_level,
128     x_return_status          =>   l_return_status,
129     x_msg_count              =>   x_msg_count ,
130     x_msg_data               =>   x_msg_data,
131     p_resp_appl_id           =>   p_resp_appl_id,
132     p_resp_id                =>   p_resp_id,
133     p_user_id                =>   p_user_id,
134     p_login_id               =>   p_login_id,
135     p_request_id             =>   l_request_id,
136     p_request_number         =>   l_request_number,
137     p_preferred_language_rec =>   l_preferred_language_rec);
138 
139 
140 
141     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
142       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
143       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_PRE_VERT_USR_HK');
144       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
145       FND_MSG_PUB.Add;
146       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
147     END IF;
148   END IF;
149 
150   -- Pre call to the Internal Type User Hook
151   --
152   --Code to populate the global record type with the passed record type
153   --
154 
155   IF jtf_usr_hks.Ok_To_Execute('CS_SR_Preferred_Language_PVT',
156                                       'Create_Preferred_Language',
157                                       'B', 'I')  THEN
158 
159 
160     cs_preferred_language_iuhk.Create_Preferred_Language_Pre( x_return_status=>l_return_status);
161 
162 
163     cs_preferred_language_iuhk.call_internal_hook( p_package_name => 'Create_Preferred_Language_PVT',
164 									  p_api_name  => 'Create_Preferred_Language'
165 									  p_processing_type => 'B',
166                                                x_return_status=>l_return_status);
167     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
168       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
169       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_PRE_INT_USR_HK');
170       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
171       FND_MSG_PUB.Add;
172       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
173     END IF;
174 
175 
176   --END IF;
177 
178 --
179 --  End of User Hooks
180 --
181 */
182 
183 
184 
185 --
186 --  Validate Preferred Language Record
187 --
188 
189   IF (l_preferred_language_rec.pref_lang_id = FND_API.G_MISS_NUM )
190   OR (l_preferred_language_rec.pref_lang_id is null ) THEN
191     DECLARE
192       l_key_val       NUMBER;
193     BEGIN
194       select CS_SR_PREFERRED_LANG_S.nextval
195       into l_key_val
196       from dual;
197 
198       l_preferred_language_rec.pref_lang_id := l_key_val;
199     EXCEPTION
200       WHEN NO_DATA_FOUND THEN
201           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
202       WHEN OTHERS THEN
203           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
204     END;
205   END IF;
206 
207 
208   IF (l_preferred_language_rec.language_code = FND_API.G_MISS_CHAR  OR
209       l_preferred_language_rec.language_code IS NULL) THEN
210       FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
211       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
212       FND_MESSAGE.Set_Token('VALUE', l_preferred_language_rec.language_code);
213       FND_MESSAGE.Set_Token('PARAMETER', 'Language_Code');
214       FND_MSG_PUB.Add;
215       RAISE FND_API.G_EXC_ERROR;
216   END IF;
217 
218   IF (p_validation_level > FND_API.G_VALID_LEVEL_NONE) THEN
219     DECLARE
220       l_dummy  varchar2(1);
221     BEGIN
222       select 'x' into l_dummy
223       from fnd_languages
224       where language_code = l_preferred_language_rec.language_code;
225     EXCEPTION
226       WHEN NO_DATA_FOUND THEN
227             FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
228             FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
229             FND_MESSAGE.Set_Token('VALUE', l_preferred_language_rec.language_code);
230             FND_MESSAGE.Set_Token('PARAMETER', 'Language_Code');
231             FND_MSG_PUB.Add;
232 	    RAISE FND_API.G_EXC_ERROR;
233       WHEN OTHERS THEN
234 	    RAISE FND_API.G_EXC_ERROR;
235     END;
236 
237     DECLARE
238       l_dummy  varchar2(1);
239     BEGIN
240       select 'x' into l_dummy
241       from CS_SR_PREFERRED_LANG
242       where language_code = l_preferred_language_rec.language_code;
243 
244       FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
245       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
246       FND_MESSAGE.Set_Token('VALUE', l_preferred_language_rec.language_code);
247       FND_MESSAGE.Set_Token('PARAMETER', 'Language_Code');
248       FND_MSG_PUB.Add;
249       RAISE FND_API.G_EXC_ERROR;
250     EXCEPTION
251       WHEN NO_DATA_FOUND THEN
252 	    null;
253       WHEN OTHERS THEN
254 	    RAISE FND_API.G_EXC_ERROR;
255     END;
256   END IF;
257 
258 
259   IF (l_preferred_language_rec.start_date_active = FND_API.G_MISS_DATE ) THEN
260       l_preferred_language_rec.start_date_active := NULL;
261   END IF;
262 
263   IF (l_preferred_language_rec.end_date_active = FND_API.G_MISS_DATE ) THEN
264       l_preferred_language_rec.end_date_active := NULL;
265   END IF;
266 
267   IF  (l_preferred_language_rec.start_date_active is not null)
268   AND (l_preferred_language_rec.end_date_active is not null)
269   AND (l_preferred_language_rec.start_date_active > l_preferred_language_rec.end_date_active) THEN
270       FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
271       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
272       FND_MESSAGE.Set_Token('VALUE', to_char(l_preferred_language_rec.end_date_active));
273       FND_MESSAGE.Set_Token('PARAMETER', 'End_Date_Active');
274       FND_MSG_PUB.Add;
275       RAISE FND_API.G_EXC_ERROR;
276   END IF ;
277 
278   --
279   -- Validate the descriptive flexfields
280   --
281 
282   IF (l_preferred_language_rec.attribute_category = FND_API.G_MISS_CHAR ) THEN
283       l_preferred_language_rec.attribute_category := NULL;
284   END IF;
285 
286   IF (l_preferred_language_rec.attribute1 = FND_API.G_MISS_CHAR ) THEN
287       l_preferred_language_rec.attribute1 := NULL;
288   END IF;
289 
290   IF (l_preferred_language_rec.attribute2 = FND_API.G_MISS_CHAR ) THEN
291       l_preferred_language_rec.attribute2 := NULL;
292   END IF;
293 
294   IF (l_preferred_language_rec.attribute3 = FND_API.G_MISS_CHAR ) THEN
295       l_preferred_language_rec.attribute3 := NULL;
296   END IF;
297 
298   IF (l_preferred_language_rec.attribute4 = FND_API.G_MISS_CHAR ) THEN
299       l_preferred_language_rec.attribute4 := NULL;
300   END IF;
301 
302   IF (l_preferred_language_rec.attribute5 = FND_API.G_MISS_CHAR ) THEN
303       l_preferred_language_rec.attribute5 := NULL;
304   END IF;
305 
306   IF (l_preferred_language_rec.attribute6 = FND_API.G_MISS_CHAR ) THEN
307       l_preferred_language_rec.attribute6 := NULL;
308   END IF;
309 
310   IF (l_preferred_language_rec.attribute7 = FND_API.G_MISS_CHAR ) THEN
311       l_preferred_language_rec.attribute7 := NULL;
312   END IF;
313 
314   IF (l_preferred_language_rec.attribute8 = FND_API.G_MISS_CHAR ) THEN
315       l_preferred_language_rec.attribute8 := NULL;
316   END IF;
317 
318   IF (l_preferred_language_rec.attribute9 = FND_API.G_MISS_CHAR ) THEN
319       l_preferred_language_rec.attribute9 := NULL;
320   END IF;
321 
322   IF (l_preferred_language_rec.attribute10 = FND_API.G_MISS_CHAR ) THEN
323       l_preferred_language_rec.attribute10 := NULL;
324   END IF;
325 
326   IF (l_preferred_language_rec.attribute11 = FND_API.G_MISS_CHAR ) THEN
327       l_preferred_language_rec.attribute11 := NULL;
328   END IF;
329 
330   IF (l_preferred_language_rec.attribute12 = FND_API.G_MISS_CHAR ) THEN
331       l_preferred_language_rec.attribute12 := NULL;
332   END IF;
333 
334   IF (l_preferred_language_rec.attribute13 = FND_API.G_MISS_CHAR ) THEN
335       l_preferred_language_rec.attribute13 := NULL;
336   END IF;
337 
338   IF (l_preferred_language_rec.attribute14 = FND_API.G_MISS_CHAR ) THEN
339       l_preferred_language_rec.attribute14 := NULL;
340   END IF;
341 
342   IF (l_preferred_language_rec.attribute15 = FND_API.G_MISS_CHAR ) THEN
343       l_preferred_language_rec.attribute15 := NULL;
344   END IF;
345 
346   IF (l_preferred_language_rec.attribute1 is not null)
347   OR (l_preferred_language_rec.attribute2 is not null)
348   OR (l_preferred_language_rec.attribute3 is not null)
349   OR (l_preferred_language_rec.attribute4 is not null)
350   OR (l_preferred_language_rec.attribute5 is not null)
351   OR (l_preferred_language_rec.attribute6 is not null)
352   OR (l_preferred_language_rec.attribute7 is not null)
353   OR (l_preferred_language_rec.attribute8 is not null)
354   OR (l_preferred_language_rec.attribute9 is not null)
355   OR (l_preferred_language_rec.attribute10 is not null)
356   OR (l_preferred_language_rec.attribute11 is not null)
357   OR (l_preferred_language_rec.attribute12 is not null)
358   OR (l_preferred_language_rec.attribute13 is not null)
359   OR (l_preferred_language_rec.attribute14 is not null)
360   OR (l_preferred_language_rec.attribute15 is not null)
361   OR (l_preferred_language_rec.attribute_category is not null) THEN
362     Validate_Desc_Flex(
363         p_api_name               => l_api_name_full,
364         p_application_short_name => 'CS',
365         p_desc_flex_name         => 'CS_SR_PREFERRED_LANG',
366         p_desc_segment1          => l_preferred_language_rec.attribute1,
367         p_desc_segment2          => l_preferred_language_rec.attribute2,
368         p_desc_segment3          => l_preferred_language_rec.attribute3,
369         p_desc_segment4          => l_preferred_language_rec.attribute4,
370         p_desc_segment5          => l_preferred_language_rec.attribute5,
371         p_desc_segment6          => l_preferred_language_rec.attribute6,
372         p_desc_segment7          => l_preferred_language_rec.attribute7,
373         p_desc_segment8          => l_preferred_language_rec.attribute8,
374         p_desc_segment9          => l_preferred_language_rec.attribute9,
375         p_desc_segment10         => l_preferred_language_rec.attribute10,
376         p_desc_segment11         => l_preferred_language_rec.attribute11,
377         p_desc_segment12         => l_preferred_language_rec.attribute12,
378         p_desc_segment13         => l_preferred_language_rec.attribute13,
379         p_desc_segment14         => l_preferred_language_rec.attribute14,
380         p_desc_segment15         => l_preferred_language_rec.attribute15,
381         p_desc_context           => l_preferred_language_rec.attribute_category,
382         p_resp_appl_id           => p_resp_appl_id,
383         p_resp_id                => p_resp_id,
384         p_return_status          => l_return_status );
385 
386     IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
387       raise FND_API.G_EXC_ERROR;
388     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
389       raise FND_API.G_EXC_UNEXPECTED_ERROR;
390     END IF;
391   END IF;
392 
393   IF (l_preferred_language_rec.object_version_number = FND_API.G_MISS_NUM )
394   OR (l_preferred_language_rec.object_version_number is null) THEN
395       l_preferred_language_rec.object_version_number := 1;
396   END IF;
397 
398   --
399   -- Insert into table through the table handlers
400   --
401 
402 CS_SR_PREFERRED_LANG_PKG.INSERT_ROW (
403   X_ROWID              => l_preferred_language_rec.row_id,
404   X_PREF_LANG_ID       => l_preferred_language_rec.pref_lang_id,
405   X_LANGUAGE_CODE      => l_preferred_language_rec.language_code,
406   X_START_DATE_ACTIVE  => l_preferred_language_rec.start_date_active,
407   X_END_DATE_ACTIVE    => l_preferred_language_rec.end_date_active,
408   X_ATTRIBUTE_CATEGORY => l_preferred_language_rec.attribute_category,
409   X_ATTRIBUTE1         => l_preferred_language_rec.attribute1,
410   X_ATTRIBUTE2         => l_preferred_language_rec.attribute2,
411   X_ATTRIBUTE3         => l_preferred_language_rec.attribute3,
412   X_ATTRIBUTE4         => l_preferred_language_rec.attribute4,
413   X_ATTRIBUTE5         => l_preferred_language_rec.attribute5,
414   X_ATTRIBUTE6         => l_preferred_language_rec.attribute6,
415   X_ATTRIBUTE7         => l_preferred_language_rec.attribute7,
416   X_ATTRIBUTE8         => l_preferred_language_rec.attribute8,
417   X_ATTRIBUTE9         => l_preferred_language_rec.attribute9,
418   X_ATTRIBUTE10        => l_preferred_language_rec.attribute10,
419   X_ATTRIBUTE11        => l_preferred_language_rec.attribute11,
420   X_ATTRIBUTE12        => l_preferred_language_rec.attribute12,
421   X_ATTRIBUTE13        => l_preferred_language_rec.attribute13,
422   X_ATTRIBUTE14        => l_preferred_language_rec.attribute14,
423   X_ATTRIBUTE15        => l_preferred_language_rec.attribute15,
424   X_OBJECT_VERSION_NUMBER => l_preferred_language_rec.object_version_number,
425   X_CREATION_DATE      => sysdate,
426   X_CREATED_BY         => p_user_id,
427   X_LAST_UPDATE_DATE   => sysdate,
428   X_LAST_UPDATED_BY    => p_user_id,
429   X_LAST_UPDATE_LOGIN  => p_login_id);
430 
431 /*
432 --
433 --  Start of User Hooks post code
434 --
435 
436   -- Make the post processing call to the user hooks
437   --
438   -- Post call to the Customer Type User Hook
439   --
440   IF jtf_usr_hks.Ok_To_Execute('CS_SR_Preferred_Language_PVT',
441                                       'Create_Preferred_Language',
442                                       'A', 'C')  THEN
443 
444     cs_preferred_Language_cuhk.Create_Preferred_Language_Post(p_preferred_language_rec=>l_preferred_language_rec,
445                                                      x_return_status=>l_return_status);
446 
447 
448     cs_preferred_language_cuhk.Create_Preferred_Language_Post(
449     p_api_version            =>   l_api_version,
450     p_init_msg_list          =>   p_init_msg_list,
451     p_commit                 =>   p_commit,
452     p_validation_level       =>   p_validation_level,
453     x_return_status          =>   l_return_status,
454     x_msg_count              =>   x_msg_count ,
455     x_msg_data               =>   x_msg_data,
456     p_resp_appl_id           =>   p_resp_appl_id,
457     p_resp_id                =>   p_resp_id,
458     p_user_id                =>   p_user_id,
459     p_login_id               =>   p_login_id,
460     p_preferred_language_rec =>   l_preferred_language_rec);
461 
462     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
463       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Customer User Hook');
464       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_CUST_USR_HK');
465       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
466       FND_MSG_PUB.Add;
467       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
468     END IF;
469   END IF;
470 
471 
472   -- Post call to the Vertical Type User Hook
473   --
474   IF jtf_usr_hks.Ok_To_Execute('CS_Preferred_Language_PVT',
475                                       'Create_Preferred_Language',
476                                       'A', 'V')  THEN
477 
478     cs_preferred_language_vuhk.Create_Preferred_Language_Post(p_preferred_language_rec=>l_preferred_language_rec,
479                                                      x_return_status=>l_return_status);
480 
481 
482     cs_preferred_language_vuhk.Create_Preferred_Language_Post(
483     p_api_version            =>   l_api_version,
484     p_init_msg_list          =>   p_init_msg_list,
485     p_commit                 =>   p_commit,
486     p_validation_level       =>   p_validation_level,
487     x_return_status          =>   l_return_status,
488     x_msg_count              =>   x_msg_count ,
489     x_msg_data               =>   x_msg_data,
490     p_resp_appl_id           =>   p_resp_appl_id,
491     p_resp_id                =>   p_resp_id,
492     p_user_id                =>   p_user_id,
493     p_login_id               =>   p_login_id,
494     p_request_id             =>   l_request_id,
495     p_request_number         =>   l_request_number,
496     p_preferred_language_rec =>   l_preferred_language_rec);
497 
498 
499     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
500       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Vertical User Hook');
501       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_VERT_USR_HK');
502       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
503       FND_MSG_PUB.Add;
504       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
505     END IF;
506   END IF;
507 
508 
509 
510   -- Post call to the internal Type User Hook
511   --
512   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
513                                       'Create_ServiceRequest',
514                                       'A', 'I')  THEN
515 
516     cs_servicerequest_iuhk.Create_ServiceRequest_Post( x_return_status=>l_return_status);
517 
518     cs_servicerequest_iuhk.call_internal_hook( p_package_name => 'Create_ServiceRequest_PVT',
519 									  p_api_name  => 'Create_ServiceRequest'
520 									  p_processing_type => 'A',
521                                                x_return_status=>l_return_status);
522 
523 
524     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
525       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Vertical User Hook');
526       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_INT_USR_HK');
527       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
528       FND_MSG_PUB.Add;
529       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
530     END IF;
531 
532   --END IF;
533 
534 
535 --
536 -- End of User Hooks post code
537 --
538 
539 */
540 
541 
542   -- Standard check of p_commit
543   IF FND_API.To_Boolean(p_commit) THEN
544     COMMIT WORK;
545   END IF;
546 
547 
548   -- Standard call to get message count and if count is 1, get message info
549   FND_MSG_PUB.Count_And_Get
550     ( p_count => x_msg_count,
551       p_data  => x_msg_data
552     );
553 
554 EXCEPTION
555   WHEN FND_API.G_EXC_ERROR THEN
556     ROLLBACK TO Create_Preferred_Language_PVT;
557     x_return_status := FND_API.G_RET_STS_ERROR;
558     FND_MSG_PUB.Count_And_Get
559       ( p_count => x_msg_count,
560         p_data  => x_msg_data
561       );
562   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
563     ROLLBACK TO Create_Preferred_Language_PVT;
564     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
565     FND_MSG_PUB.Count_And_Get
566       ( p_count => x_msg_count,
567         p_data  => x_msg_data
568       );
569   WHEN OTHERS THEN
570     ROLLBACK TO Create_Preferred_Language_PVT;
571     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
572     IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
573       FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
574     END IF;
575     FND_MSG_PUB.Count_And_Get
576       ( p_count => x_msg_count,
577         p_data  => x_msg_data
578       );
579 END Create_Preferred_Language;
580 
581 
582 
583 --------------------------------------------------------------------------
584 -- Update_Preferred_Language
585 --------------------------------------------------------------------------
586 
587 
588 PROCEDURE Update_Preferred_Language
589   ( p_api_version	    IN	NUMBER,
590     p_init_msg_list	    IN	VARCHAR2 DEFAULT fnd_api.g_false,
591     p_commit		    IN	VARCHAR2 DEFAULT fnd_api.g_false,
592     p_validation_level	    IN	NUMBER   DEFAULT fnd_api.g_valid_level_full,
593     x_return_status	    OUT	NOCOPY VARCHAR2,
594     x_msg_count		    OUT	NOCOPY NUMBER,
595     x_msg_data		    OUT	NOCOPY VARCHAR2,
596     p_pref_lang_id          IN  NUMBER,
597     p_object_version_number IN  NUMBER,
598     p_resp_appl_id	    IN	NUMBER   DEFAULT NULL,
599     p_resp_id		    IN	NUMBER   DEFAULT NULL,
600     p_user_id               IN  NUMBER,
601     p_login_id              IN  NUMBER   DEFAULT NULL,
602     p_last_updated_by	    IN	NUMBER,
603     p_last_update_login	    IN	NUMBER   DEFAULT NULL,
604     p_last_update_date	    IN	DATE,
605     p_preferred_language_rec IN  preferred_language_rec_type
606     )
607   IS
608      l_api_name                   CONSTANT VARCHAR2(30)    := 'Update_Preferred_Language';
609      l_api_version                CONSTANT NUMBER          := 1.0;
610      l_api_name_full              CONSTANT VARCHAR2(61)    := G_PKG_NAME||'.'||l_api_name;
611      l_return_status              VARCHAR2(1);
612      l_preferred_language_rec     preferred_language_rec_type DEFAULT p_preferred_language_rec;
613 
614      l_msg_id   NUMBER;
615      l_msg_count    NUMBER;
616      l_msg_data   VARCHAR2(2000);
617 
618 
619      CURSOR l_Preferred_Language_csr(p_id number, p_obj_num number) IS
620        SELECT *
621        FROM   cs_sr_preferred_lang
622        WHERE  pref_lang_id = p_id
623        AND    object_version_number = p_obj_num
624        FOR UPDATE OF pref_lang_id;
625 
626      l_old_preferred_language_rec   l_Preferred_Language_csr%ROWTYPE;
627 
628      l_count                  NUMBER;
629 
630 
631 BEGIN
632 
633   -- Standard start of API savepoint
634   SAVEPOINT Update_Preferred_Language_PVT;
635 
636   -- Standard call to check for call compatibility
637   IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
638                                      G_PKG_NAME) THEN
639     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
640   END IF;
641 
642   IF (l_preferred_language_rec.initialize_flag IS NULL
643   OR  l_preferred_language_rec.initialize_flag <> G_INITIALIZED) THEN
644     FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
645     FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
646     FND_MESSAGE.Set_Token('VALUE', l_preferred_language_rec.initialize_flag);
647     FND_MESSAGE.Set_Token('PARAMETER', 'Initialize_Flag');
648     FND_MSG_PUB.Add;
649     RAISE FND_API.G_EXC_ERROR;
650   END IF;
651 
652   -- Initialize message list if p_init_msg_list is set to TRUE
653   IF FND_API.To_Boolean(p_init_msg_list) THEN
654     FND_MSG_PUB.Initialize;
655   END IF;
656 
657   -- Initialize API return status to success
658   x_return_status := FND_API.G_RET_STS_SUCCESS;
659 
660 
661 --
662 -- Check if mandatory parameter is passed
663 --
664 --dbms_output.put_line('Check Mandatory') ;
665   IF (p_pref_lang_id IS NULL ) THEN
666       CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(l_api_name_full, 'Preferred Language ID');
667       RAISE FND_API.G_EXC_ERROR;
668   END IF;
669 
670   IF (p_object_version_number IS NULL ) THEN
671       CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(l_api_name_full, 'Object Version Number');
672       RAISE FND_API.G_EXC_ERROR;
673   END IF;
674 
675 
676 -- Fetch and get the original values
677 --dbms_output.put_line('Fetch id=' || p_pref_lang_id || ', object_ver_num=' || p_object_version_number) ;
678   OPEN  l_Preferred_Language_csr(p_pref_lang_id, p_object_version_number);
679   FETCH l_Preferred_Language_csr INTO l_old_Preferred_Language_rec;
680   IF (l_Preferred_Language_csr%NOTFOUND) THEN
681       FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
682       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
683       FND_MESSAGE.Set_Token('VALUE', to_char(p_pref_lang_id));
684       FND_MESSAGE.Set_Token('PARAMETER', 'Pref_Lang_ID');
685       FND_MSG_PUB.Add;
686       raise FND_API.G_EXC_ERROR;
687   END IF;
688 
689 --dbms_output.put_line('After Fetch') ;
690 
691 
692 --
693 -- Start of Pre User Hooks
694 --
695 /*
696   -- Make the preprocessing call to the user hooks
697   --
698   -- Pre call to the Customer Type User Hook
699   --
700   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
701                                       'Update_ServiceRequest',
702                                       'B', 'C')  THEN
703 
704     cs_servicerequest_cuhk.Update_ServiceRequest_Pre(p_request_id => p_request_id,
705                                                      p_service_request_rec=>l_service_request_rec,
706                                                      x_return_status=>l_return_status);
707 
708 
709     cs_servicerequest_cuhk.Update_ServiceRequest_Pre
710   ( p_api_version         => l_api_version,
711     p_init_msg_list       => p_init_msg_list,
712     p_commit              => p_commit,
713     p_validation_level      =>  p_validation_level,
714     x_return_status         =>  l_return_status,
715     x_msg_count             =>  x_msg_count,
716     x_msg_data              =>  x_msg_data,
717     p_request_id            =>   p_request_id ,
718     p_object_version_number  =>  p_object_version_number,
719     p_resp_appl_id           =>  p_resp_appl_id,
720     p_resp_id                =>  p_resp_id,
721     p_last_updated_by        =>  p_last_updated_by,
722     p_last_update_login      =>  p_last_update_login,
723     p_last_update_date       =>  p_last_update_date,
724     p_service_request_rec    =>  l_service_request_rec);
725 
726 
727     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
728       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Customer User Hook');
729       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_PRE_CUST_USR_HK');
730       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
731       FND_MSG_PUB.Add;
732       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
733     END IF;
734   END IF;
735 
736 
737   -- Pre call to the Vertical Type User Hook
738   --
739 
740 
741   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
742                                       'Update_ServiceRequest',
743                                       'B', 'V')  THEN
744 
745 
746     cs_servicerequest_vuhk.Update_ServiceRequest_Pre(p_request_id => p_request_id,
747                                                      p_service_request_rec=>l_service_request_rec,
748                                                      x_return_status=>l_return_status);
749 
750     cs_servicerequest_vuhk.Update_ServiceRequest_Pre
751   ( p_api_version         => l_api_version,
752     p_init_msg_list       => p_init_msg_list,
753     p_commit              => p_commit,
754     p_validation_level      =>  p_validation_level,
755     x_return_status         =>  l_return_status,
756     x_msg_count             =>  x_msg_count,
757     x_msg_data              =>  x_msg_data,
758     p_request_id            =>   p_request_id ,
759     p_object_version_number  =>  p_object_version_number,
760     p_resp_appl_id           =>  p_resp_appl_id,
761     p_resp_id                =>  p_resp_id,
762     p_last_updated_by        =>  p_last_updated_by,
763     p_last_update_login      =>  p_last_update_login,
764     p_last_update_date       =>  p_last_update_date,
765     p_service_request_rec    =>  l_service_request_rec);
766 
767 
768     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
769       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
770       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_PRE_VERT_USR_HK');
771       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
772       FND_MSG_PUB.Add;
773       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
774     END IF;
775   END IF;
776 
777   --
778   -- Pre call to the Internal Type User Hook
779   --
780 
781   --Code to populate the global record type with the passed record type
782   --
783   user_hooks_rec.customer_id  :=  l_old_ServiceRequest_rec.customer_id ;
784   user_hooks_rec.request_id   :=  p_request_id ;
785 
786 
787 
788   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
789                                       'Update_ServiceRequest',
790                                       'B', 'I')  THEN
791 
792 
793  --  cs_servicerequest_iuhk.Update_ServiceRequest_Pre(x_return_status=>l_return_status);
794 
795 
796     cs_servicerequest_iuhk.call_internal_hook( p_package_name => 'Create_ServiceRequest_PVT',
797 									  p_api_name  => 'Update_ServiceRequest'
798 									  p_processing_type => 'B',
799                                                x_return_status=>l_return_status);
800 
801 
802 
803     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
804       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Pre Vertical User Hook');
805       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_PRE_INT_USR_HK');
806       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
807       FND_MSG_PUB.Add;
808       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
809     END IF;
810 
811 
812   --END IF;
813 */
814 --
815 -- End of Pre User Hooks
816 --
817 
818 
819 
820 
821   --
822   -- We first deal with some special validation rules
823   --
824   IF (p_validation_level > FND_API.G_VALID_LEVEL_NONE) THEN
825     DECLARE
826       l_dummy  varchar2(1);
827     BEGIN
828       select 'x' into l_dummy
829       from fnd_languages
830       where language_code = l_preferred_language_rec.language_code;
831     EXCEPTION
832       WHEN NO_DATA_FOUND THEN
833           FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
834           FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
835           FND_MESSAGE.Set_Token('VALUE', l_preferred_language_rec.language_code);
836           FND_MESSAGE.Set_Token('PARAMETER', 'Language_Code');
837           FND_MSG_PUB.Add;
838 	  RAISE FND_API.G_EXC_ERROR;
839       WHEN OTHERS THEN
840 	  RAISE FND_API.G_EXC_ERROR;
841     END;
842 
843     DECLARE
844       l_dummy  varchar2(1);
845     BEGIN
846       select 'x' into l_dummy
847       from CS_SR_PREFERRED_LANG
848       where language_code = l_preferred_language_rec.language_code
849       and   pref_lang_id  <> p_pref_lang_id;
850 
851       FND_MESSAGE.Set_Name('CS', 'CS_API_ALL_INVALID_ARGUMENT');
852       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
853       FND_MESSAGE.Set_Token('VALUE', l_preferred_language_rec.language_code);
854       FND_MESSAGE.Set_Token('PARAMETER', 'Language_Code');
855       FND_MSG_PUB.Add;
856       RAISE FND_API.G_EXC_ERROR;
857     EXCEPTION
858       WHEN NO_DATA_FOUND THEN
859 	    null;
860       WHEN OTHERS THEN
861 	    RAISE FND_API.G_EXC_ERROR;
862     END;
863   END IF ;  -- p_validation level end if
864 
865 --dbms_output.put_line('Validate1') ;
866 
867   -- -----------------------------------------------------------
868   -- Check to see if the descriptive flexfield is being updated
869   -- -----------------------------------------------------------
870 
871   IF (l_preferred_language_rec.attribute_category = FND_API.G_MISS_CHAR ) THEN
872       l_preferred_language_rec.attribute_category := NULL;
873   END IF;
874 
875   IF (l_preferred_language_rec.attribute1 = FND_API.G_MISS_CHAR ) THEN
876       l_preferred_language_rec.attribute1 := NULL;
877   END IF;
878 
879   IF (l_preferred_language_rec.attribute2 = FND_API.G_MISS_CHAR ) THEN
880       l_preferred_language_rec.attribute2 := NULL;
881   END IF;
882 
883   IF (l_preferred_language_rec.attribute3 = FND_API.G_MISS_CHAR ) THEN
884       l_preferred_language_rec.attribute3 := NULL;
885   END IF;
886 
887   IF (l_preferred_language_rec.attribute4 = FND_API.G_MISS_CHAR ) THEN
888       l_preferred_language_rec.attribute4 := NULL;
889   END IF;
890 
891   IF (l_preferred_language_rec.attribute5 = FND_API.G_MISS_CHAR ) THEN
892       l_preferred_language_rec.attribute5 := NULL;
893   END IF;
894 
895   IF (l_preferred_language_rec.attribute6 = FND_API.G_MISS_CHAR ) THEN
896       l_preferred_language_rec.attribute6 := NULL;
897   END IF;
898 
899   IF (l_preferred_language_rec.attribute7 = FND_API.G_MISS_CHAR ) THEN
900       l_preferred_language_rec.attribute7 := NULL;
901   END IF;
902 
903   IF (l_preferred_language_rec.attribute8 = FND_API.G_MISS_CHAR ) THEN
904       l_preferred_language_rec.attribute8 := NULL;
905   END IF;
906 
907   IF (l_preferred_language_rec.attribute9 = FND_API.G_MISS_CHAR ) THEN
908       l_preferred_language_rec.attribute9 := NULL;
909   END IF;
910 
911   IF (l_preferred_language_rec.attribute10 = FND_API.G_MISS_CHAR ) THEN
912       l_preferred_language_rec.attribute10 := NULL;
913   END IF;
914 
915   IF (l_preferred_language_rec.attribute11 = FND_API.G_MISS_CHAR ) THEN
916       l_preferred_language_rec.attribute11 := NULL;
917   END IF;
918 
919   IF (l_preferred_language_rec.attribute12 = FND_API.G_MISS_CHAR ) THEN
920       l_preferred_language_rec.attribute12 := NULL;
921   END IF;
922 
923   IF (l_preferred_language_rec.attribute13 = FND_API.G_MISS_CHAR ) THEN
924       l_preferred_language_rec.attribute13 := NULL;
925   END IF;
926 
927   IF (l_preferred_language_rec.attribute14 = FND_API.G_MISS_CHAR ) THEN
928       l_preferred_language_rec.attribute14 := NULL;
929   END IF;
930 
931   IF (l_preferred_language_rec.attribute15 = FND_API.G_MISS_CHAR ) THEN
932       l_preferred_language_rec.attribute15 := NULL;
933   END IF;
934 
935   IF (l_preferred_language_rec.attribute_category <>
936                     l_old_Preferred_Language_rec.attribute_category)
937   OR (l_preferred_language_rec.attribute1  <> l_old_Preferred_Language_rec.attribute1)
938   OR (l_preferred_language_rec.attribute2  <> l_old_Preferred_Language_rec.attribute2)
939   OR (l_preferred_language_rec.attribute3  <> l_old_Preferred_Language_rec.attribute3)
940   OR (l_preferred_language_rec.attribute4  <> l_old_Preferred_Language_rec.attribute4)
941   OR (l_preferred_language_rec.attribute5  <> l_old_Preferred_Language_rec.attribute5)
942   OR (l_preferred_language_rec.attribute6  <> l_old_Preferred_Language_rec.attribute6)
943   OR (l_preferred_language_rec.attribute7  <> l_old_Preferred_Language_rec.attribute7)
944   OR (l_preferred_language_rec.attribute8  <> l_old_Preferred_Language_rec.attribute8)
945   OR (l_preferred_language_rec.attribute9  <> l_old_Preferred_Language_rec.attribute9)
946   OR (l_preferred_language_rec.attribute10 <> l_old_Preferred_Language_rec.attribute10)
947   OR (l_preferred_language_rec.attribute11 <> l_old_Preferred_Language_rec.attribute11)
948   OR (l_preferred_language_rec.attribute12 <> l_old_Preferred_Language_rec.attribute12)
949   OR (l_preferred_language_rec.attribute13 <> l_old_Preferred_Language_rec.attribute13)
950   OR (l_preferred_language_rec.attribute14 <> l_old_Preferred_Language_rec.attribute14)
951   OR (l_preferred_language_rec.attribute15 <> l_old_Preferred_Language_rec.attribute15) THEN
952     Validate_Desc_Flex(
953         p_api_name               => l_api_name_full,
954         p_application_short_name => 'CS',
955         p_desc_flex_name         => 'CS_SR_PREFERRED_LANG',
956         p_desc_segment1          => l_preferred_language_rec.attribute1,
957         p_desc_segment2          => l_preferred_language_rec.attribute2,
958         p_desc_segment3          => l_preferred_language_rec.attribute3,
959         p_desc_segment4          => l_preferred_language_rec.attribute4,
960         p_desc_segment5          => l_preferred_language_rec.attribute5,
961         p_desc_segment6          => l_preferred_language_rec.attribute6,
962         p_desc_segment7          => l_preferred_language_rec.attribute7,
963         p_desc_segment8          => l_preferred_language_rec.attribute8,
964         p_desc_segment9          => l_preferred_language_rec.attribute9,
965         p_desc_segment10         => l_preferred_language_rec.attribute10,
966         p_desc_segment11         => l_preferred_language_rec.attribute11,
967         p_desc_segment12         => l_preferred_language_rec.attribute12,
968         p_desc_segment13         => l_preferred_language_rec.attribute13,
969         p_desc_segment14         => l_preferred_language_rec.attribute14,
970         p_desc_segment15         => l_preferred_language_rec.attribute15,
971         p_desc_context           => l_preferred_language_rec.attribute_category,
972         p_resp_appl_id           => p_resp_appl_id,
973         p_resp_id                => p_resp_id,
974         p_return_status          => l_return_status );
975 
976     IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
977       raise FND_API.G_EXC_ERROR;
978     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
979       raise FND_API.G_EXC_UNEXPECTED_ERROR;
980     END IF;
981   ELSE
982     l_preferred_language_rec.attribute1  := l_old_Preferred_Language_rec.attribute1;
983     l_preferred_language_rec.attribute2  := l_old_Preferred_Language_rec.attribute2;
984     l_preferred_language_rec.attribute3  := l_old_Preferred_Language_rec.attribute3;
985     l_preferred_language_rec.attribute4  := l_old_Preferred_Language_rec.attribute4;
986     l_preferred_language_rec.attribute5  := l_old_Preferred_Language_rec.attribute5;
987     l_preferred_language_rec.attribute6  := l_old_Preferred_Language_rec.attribute6;
988     l_preferred_language_rec.attribute7  := l_old_Preferred_Language_rec.attribute7;
989     l_preferred_language_rec.attribute8  := l_old_Preferred_Language_rec.attribute8;
990     l_preferred_language_rec.attribute9  := l_old_Preferred_Language_rec.attribute9;
991     l_preferred_language_rec.attribute10 := l_old_Preferred_Language_rec.attribute10;
992     l_preferred_language_rec.attribute11 := l_old_Preferred_Language_rec.attribute11;
993     l_preferred_language_rec.attribute12 := l_old_Preferred_Language_rec.attribute12;
994     l_preferred_language_rec.attribute13 := l_old_Preferred_Language_rec.attribute13;
995     l_preferred_language_rec.attribute14 := l_old_Preferred_Language_rec.attribute14;
996     l_preferred_language_rec.attribute15 := l_old_Preferred_Language_rec.attribute15;
997     l_preferred_language_rec.attribute_category :=
998                                    l_old_Preferred_Language_rec.attribute_category;
999   END IF;
1000 
1001 
1002 --dbms_output.put_line('Validate2') ;
1003 
1004 
1005 
1006 ---------------------------------------------------
1007 
1008 -- Before the actual update, see if the all the fields
1009 -- have their old values or null values
1010 --(otherwise they will have the MISS_NUM constants)
1011 
1012   IF l_preferred_language_rec.language_code = FND_API.G_MISS_CHAR THEN
1013      l_preferred_language_rec.language_code :=
1014                        l_old_preferred_language_rec.language_code;
1015   END IF;
1016 
1017   IF l_preferred_language_rec.start_date_active = FND_API.G_MISS_DATE THEN
1018      l_preferred_language_rec.start_date_active :=
1019                        l_old_preferred_language_rec.start_date_active;
1020   END IF;
1021 
1022   IF l_preferred_language_rec.end_date_active = FND_API.G_MISS_DATE THEN
1023      l_preferred_language_rec.end_date_active :=
1024                        l_old_preferred_language_rec.end_date_active;
1025   END IF;
1026 
1027 
1028 
1029   --
1030   -- Update table through the table handlers
1031   --
1032 
1033 --dbms_output.put_line('Before Update');
1034 
1035 CS_SR_PREFERRED_LANG_PKG.UPDATE_ROW (
1036   X_PREF_LANG_ID       => l_preferred_language_rec.pref_lang_id,
1037   X_LANGUAGE_CODE      => l_preferred_language_rec.language_code,
1038   X_START_DATE_ACTIVE  => l_preferred_language_rec.start_date_active,
1039   X_END_DATE_ACTIVE    => l_preferred_language_rec.end_date_active,
1040   X_ATTRIBUTE_CATEGORY => l_preferred_language_rec.attribute_category,
1041   X_ATTRIBUTE1         => l_preferred_language_rec.attribute1,
1042   X_ATTRIBUTE2         => l_preferred_language_rec.attribute2,
1043   X_ATTRIBUTE3         => l_preferred_language_rec.attribute3,
1044   X_ATTRIBUTE4         => l_preferred_language_rec.attribute4,
1045   X_ATTRIBUTE5         => l_preferred_language_rec.attribute5,
1046   X_ATTRIBUTE6         => l_preferred_language_rec.attribute6,
1047   X_ATTRIBUTE7         => l_preferred_language_rec.attribute7,
1048   X_ATTRIBUTE8         => l_preferred_language_rec.attribute8,
1049   X_ATTRIBUTE9         => l_preferred_language_rec.attribute9,
1050   X_ATTRIBUTE10        => l_preferred_language_rec.attribute10,
1051   X_ATTRIBUTE11        => l_preferred_language_rec.attribute11,
1052   X_ATTRIBUTE12        => l_preferred_language_rec.attribute12,
1053   X_ATTRIBUTE13        => l_preferred_language_rec.attribute13,
1054   X_ATTRIBUTE14        => l_preferred_language_rec.attribute14,
1055   X_ATTRIBUTE15        => l_preferred_language_rec.attribute15,
1056   X_OBJECT_VERSION_NUMBER => p_object_version_number + 1,
1057   X_LAST_UPDATE_DATE   => sysdate,
1058   X_LAST_UPDATED_BY    => p_last_updated_by,
1059   X_LAST_UPDATE_LOGIN  => p_last_update_login);
1060 
1061 
1062   CLOSE l_Preferred_Language_csr;
1063 
1064 --dbms_output.put_line('After Update');
1065 
1066 /*
1067 --
1068 -- Start of Post User Hooks
1069 --
1070 
1071    IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
1072                                       'Update_ServiceRequest',
1073                                       'A', 'C')  THEN
1074 
1075     cs_servicerequest_cuhk.Update_ServiceRequest_Post( p_request_id  => p_request_id,
1076                                                       p_service_request_rec=>l_service_request_rec,
1077                                                      x_return_status=>l_return_status);
1078 
1079 
1080     cs_servicerequest_cuhk.Update_ServiceRequest_Post
1081     ( p_api_version         => l_api_version,
1082       p_init_msg_list       => p_init_msg_list,
1083       p_commit              => p_commit,
1084     p_validation_level      =>  p_validation_level,
1085     x_return_status         =>  l_return_status,
1086     x_msg_count             =>  x_msg_count,
1087     x_msg_data              =>  x_msg_data,
1088     p_request_id            =>   p_request_id ,
1089     p_object_version_number  =>  p_object_version_number,
1090     p_resp_appl_id           =>  p_resp_appl_id,
1091     p_resp_id                =>  p_resp_id,
1092     p_last_updated_by        =>  p_last_updated_by,
1093     p_last_update_login      =>  p_last_update_login,
1094     p_last_update_date       =>  p_last_update_date,
1095     p_service_request_rec    =>  l_service_request_rec);
1096 
1097 
1098 
1099     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1100       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Customer User Hook');
1101       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_CUST_USR_HK');
1102       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1103       FND_MSG_PUB.Add;
1104       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1105     END IF;
1106   END IF;
1107 
1108 
1109 
1110   -- Post call to the Vertical Type User Hook
1111   --
1112   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
1113                                       'Update_ServiceRequest',
1114                                       'A', 'V')  THEN
1115 
1116 
1117     cs_servicerequest_vuhk.Update_ServiceRequest_Post( p_request_id  => p_request_id,
1118 
1119                                                       p_service_request_rec=>l_service_request_rec,
1120                                                      x_return_status=>l_return_status);
1121 
1122 
1123     cs_servicerequest_vuhk.Update_ServiceRequest_Post
1124     ( p_api_version         => l_api_version,
1125       p_init_msg_list       => p_init_msg_list,
1126       p_commit              => p_commit,
1127     p_validation_level      =>  p_validation_level,
1128     x_return_status         =>  l_return_status,
1129     x_msg_count             =>  x_msg_count,
1130     x_msg_data              =>  x_msg_data,
1131     p_request_id            =>   p_request_id ,
1132     p_object_version_number  =>  p_object_version_number,
1133     p_resp_appl_id           =>  p_resp_appl_id,
1134     p_resp_id                =>  p_resp_id,
1135     p_last_updated_by        =>  p_last_updated_by,
1136     p_last_update_login      =>  p_last_update_login,
1137     p_last_update_date       =>  p_last_update_date,
1138     p_service_request_rec    =>  l_service_request_rec);
1139 
1140 
1141     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1142       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Vertical User Hook');
1143       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_VERT_USR_HK');
1144       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1145       FND_MSG_PUB.Add;
1146       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1147     END IF;
1148   END IF;
1149 
1150 
1151 
1152   -- Post call to the Internal Type User Hook
1153   --
1154   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
1155                                       'Update_ServiceRequest',
1156                                       'A', 'I')  THEN
1157 
1158  --   cs_servicerequest_iuhk.Update_ServiceRequest_Post( x_return_status=>l_return_status);
1159 
1160 
1161 
1162     cs_servicerequest_iuhk.call_internal_hook( p_package_name => 'Create_ServiceRequest_PVT',
1163                                                                           p_api_name  => 'Update_ServiceRequest'
1164                                                                           p_processing_type => 'A',
1165                                                x_return_status=>l_return_status)
1166 ;
1167 
1168 
1169     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1170       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Vertical User Hook');
1171       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_INT_USR_HK');
1172       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1173       FND_MSG_PUB.Add;
1174       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1175     END IF;
1176 
1177   --END IF;
1178      IF (cs_servicerequest_cuhk.Ok_To_Generate_Msg(p_request_id => p_request_id,
1179                                                    p_service_request_rec=>l_service_request_rec)) THEN
1180        l_bind_data_id := JTF_USR_HKS.Get_bind_data_id;
1181 
1182        JTF_USR_HKS.Load_bind_data(l_bind_data_id, 'incident_id', p_request_id, 'S', 'N');
1183 
1184        JTF_USR_HKS.generate_message(p_prod_code => 'CS',
1185                                  p_bus_obj_code => 'SR',
1186                                  p_action_code => 'U',
1187                                  p_bind_data_id => l_bind_data_id,
1188                                  x_return_code => l_return_status);
1189 
1190 
1191        IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1192           --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Message Generation Hook');
1193             FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_MSG_GEN_HK');
1194             FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1195             FND_MSG_PUB.Add;
1196          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1197        END IF;
1198     END IF;
1199 
1200       -- Standard check of p_commit
1201       IF FND_API.To_Boolean(p_commit) THEN
1202          COMMIT WORK;
1203       END IF;
1204 
1205       RAISE OnlyUpdStatus ;
1206 
1207     END IF;
1208 --
1209 --  End of User Hooks
1210 --
1211 
1212 
1213 
1214   --
1215   -- Make the post processing call to the user hooks
1216   --
1217   -- Post call to the Customer Type User Hook
1218   --
1219 
1220     IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
1221                                       'Update_ServiceRequest',
1222                                       'A', 'C')  THEN
1223 
1224 
1225 
1226     cs_servicerequest_cuhk.Update_ServiceRequest_Post( p_request_id  => p_request_id,
1227                                                       p_service_request_rec=>l_service_request_rec,
1228                                                      x_return_status=>l_return_status);
1229 
1230 
1231     cs_servicerequest_cuhk.Update_ServiceRequest_Post
1232     ( p_api_version         => l_api_version,
1233       p_init_msg_list       => p_init_msg_list,
1234       p_commit              => p_commit,
1235     p_validation_level      =>  p_validation_level,
1236     x_return_status         =>  l_return_status,
1237     x_msg_count             =>  x_msg_count,
1238     x_msg_data              =>  x_msg_data,
1239     p_request_id            =>   p_request_id ,
1240     p_object_version_number  =>  p_object_version_number,
1241     p_resp_appl_id           =>  p_resp_appl_id,
1242     p_resp_id                =>  p_resp_id,
1243     p_last_updated_by        =>  p_last_updated_by,
1244     p_last_update_login      =>  p_last_update_login,
1245     p_last_update_date       =>  p_last_update_date,
1246     p_service_request_rec    =>  l_service_request_rec);
1247 
1248 
1249     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1250       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Customer User Hook');
1251       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_CUST_USR_HK');
1252       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1253       FND_MSG_PUB.Add;
1254       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1255     END IF;
1256   END IF;
1257 
1258 
1259   -- Post call to the Vertical Type User Hook
1260   --
1261   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
1262                                       'Update_ServiceRequest',
1263                                       'A', 'V')  THEN
1264 
1265 
1266     cs_servicerequest_vuhk.Update_ServiceRequest_Post( p_request_id  => p_request_id,
1267                                                       p_service_request_rec=>l_service_request_rec,
1268                                                      x_return_status=>l_return_status);
1269 
1270 
1271     cs_servicerequest_vuhk.Update_ServiceRequest_Post
1272     ( p_api_version         => l_api_version,
1273       p_init_msg_list       => p_init_msg_list,
1274       p_commit              => p_commit,
1275     p_validation_level      =>  p_validation_level,
1276     x_return_status         =>  l_return_status,
1277     x_msg_count             =>  x_msg_count,
1278     x_msg_data              =>  x_msg_data,
1279     p_request_id            =>   p_request_id ,
1280     p_object_version_number  =>  p_object_version_number,
1281     p_resp_appl_id           =>  p_resp_appl_id,
1282     p_resp_id                =>  p_resp_id,
1283     p_last_updated_by        =>  p_last_updated_by,
1284     p_last_update_login      =>  p_last_update_login,
1285     p_last_update_date       =>  p_last_update_date,
1286     p_service_request_rec    =>  l_service_request_rec);
1287 
1288 
1289     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1290       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Vertical User Hook');
1291       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_VERT_USR_HK');
1292       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1293       FND_MSG_PUB.Add;
1294       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1295     END IF;
1296   END IF;
1297 
1298 
1299 
1300   -- Post call to the Internal Type User Hook
1301   --
1302   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
1303                                       'Update_ServiceRequest',
1304                                       'A', 'I')  THEN
1305 
1306 
1307  --   cs_servicerequest_iuhk.Update_ServiceRequest_Post( x_return_status=>l_return_status);
1308 
1309 
1310 
1311     cs_servicerequest_iuhk.call_internal_hook( p_package_name => 'Create_ServiceRequest_PVT',
1312 									  p_api_name  => 'Update_ServiceRequest'
1313 									  p_processing_type => 'A',
1314                                                x_return_status=>l_return_status);
1315 
1316 
1317     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1318       --DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Post Vertical User Hook');
1319       FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_POST_INT_USR_HK');
1320       FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1321       FND_MSG_PUB.Add;
1322       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1323     END IF;
1324 
1325   --END IF;
1326 
1327 
1328 
1329 
1330   -- Standard call for message generation
1331   IF jtf_usr_hks.Ok_To_Execute('CS_ServiceRequest_PVT',
1332                                       'Create_ServiceRequest',
1333                                       'M', 'M')  THEN
1334 
1335      IF (cs_servicerequest_cuhk.Ok_To_Generate_Msg(p_request_id => p_request_id,
1336                                                    p_service_request_rec=>l_service_request_rec)) THEN
1337 
1338        l_bind_data_id := JTF_USR_HKS.Get_bind_data_id;
1339 
1340        JTF_USR_HKS.Load_bind_data(l_bind_data_id, 'incident_id', p_request_id, 'S', 'N');
1341 
1342        JTF_USR_HKS.generate_message(p_prod_code => 'CS',
1343                                  p_bus_obj_code => 'SR',
1344                                  p_action_code => 'U',
1345                                  p_bind_data_id => l_bind_data_id,
1346                                  x_return_code => l_return_status);
1347 
1348 
1349        IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1350          -- DBMS_OUTPUT.PUT_LINE('Returned Error Status from the Message Generation Hook');
1351             FND_MESSAGE.Set_Name('CS', 'CS_API_SR_ERR_MSG_GEN_HK');
1352             FND_MESSAGE.Set_Token('API_NAME', l_api_name_full);
1353             FND_MSG_PUB.Add;
1354          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1355        END IF;
1356     END IF;
1357   END IF;
1358 --
1359 -- End of Post User Hooks
1360 --
1361 */
1362 
1363 
1364   -- Standard check of p_commit
1365   IF FND_API.To_Boolean(p_commit) THEN
1366     COMMIT WORK;
1367   END IF;
1368 
1369 
1370   -- Standard call to get message count and if count is 1, get message info
1371   FND_MSG_PUB.Count_And_Get
1372     ( p_count => x_msg_count,
1373       p_data  => x_msg_data
1374     );
1375 
1376 EXCEPTION
1377   WHEN FND_API.G_EXC_ERROR THEN
1378     ROLLBACK TO Update_Preferred_Language_PVT;
1379     IF (l_Preferred_Language_csr%ISOPEN) THEN
1380       CLOSE l_Preferred_Language_csr;
1381     END IF;
1382     x_return_status := FND_API.G_RET_STS_ERROR;
1383     FND_MSG_PUB.Count_And_Get
1384       ( p_count => x_msg_count,
1385         p_data  => x_msg_data
1386       );
1387 
1388   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1389     ROLLBACK TO Update_Preferred_Language_PVT;
1390     IF (l_Preferred_Language_csr%ISOPEN) THEN
1391       CLOSE l_Preferred_Language_csr;
1392     END IF;
1393     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1394     FND_MSG_PUB.Count_And_Get
1395       ( p_count => x_msg_count,
1396         p_data  => x_msg_data
1397       );
1398 
1399   WHEN OTHERS THEN
1400     ROLLBACK TO Update_Preferred_Language_PVT;
1401     IF (l_Preferred_Language_csr%ISOPEN) THEN
1402       CLOSE l_Preferred_Language_csr;
1403     END IF;
1404     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1405     IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1406       FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1407     END IF;
1408     FND_MSG_PUB.Count_And_Get
1409       ( p_count => x_msg_count,
1410         p_data  => x_msg_data
1411       );
1412 
1413 
1414 END Update_Preferred_Language;
1415 
1416 
1417 
1418 
1419 PROCEDURE initialize_rec(
1420   p_preferred_lang_record        IN OUT NOCOPY preferred_language_rec_type
1421 ) AS
1422 BEGIN
1423   p_preferred_lang_record.PREF_LANG_ID           := FND_API.G_MISS_NUM;
1424   p_preferred_lang_record.LANGUAGE_CODE          := FND_API.G_MISS_CHAR;
1425   p_preferred_lang_record.START_DATE_ACTIVE      := FND_API.G_MISS_DATE;
1426   p_preferred_lang_record.END_DATE_ACTIVE        := FND_API.G_MISS_DATE;
1427   p_preferred_lang_record.OBJECT_VERSION_NUMBER  := FND_API.G_MISS_NUM;
1428   p_preferred_lang_record.LAST_UPDATE_DATE       := FND_API.G_MISS_DATE;
1429   p_preferred_lang_record.LAST_UPDATED_BY        := FND_API.G_MISS_NUM;
1430   p_preferred_lang_record.CREATION_DATE          := FND_API.G_MISS_DATE;
1431   p_preferred_lang_record.CREATED_BY             := FND_API.G_MISS_NUM;
1432   p_preferred_lang_record.LAST_UPDATE_LOGIN      := FND_API.G_MISS_NUM;
1433   p_preferred_lang_record.ATTRIBUTE1             := FND_API.G_MISS_CHAR;
1434   p_preferred_lang_record.ATTRIBUTE2             := FND_API.G_MISS_CHAR;
1435   p_preferred_lang_record.ATTRIBUTE3             := FND_API.G_MISS_CHAR;
1436   p_preferred_lang_record.ATTRIBUTE4             := FND_API.G_MISS_CHAR;
1437   p_preferred_lang_record.ATTRIBUTE5             := FND_API.G_MISS_CHAR;
1438   p_preferred_lang_record.ATTRIBUTE6             := FND_API.G_MISS_CHAR;
1439   p_preferred_lang_record.ATTRIBUTE7             := FND_API.G_MISS_CHAR;
1440   p_preferred_lang_record.ATTRIBUTE8             := FND_API.G_MISS_CHAR;
1441   p_preferred_lang_record.ATTRIBUTE9             := FND_API.G_MISS_CHAR;
1442   p_preferred_lang_record.ATTRIBUTE10            := FND_API.G_MISS_CHAR;
1443   p_preferred_lang_record.ATTRIBUTE11            := FND_API.G_MISS_CHAR;
1444   p_preferred_lang_record.ATTRIBUTE12            := FND_API.G_MISS_CHAR;
1445   p_preferred_lang_record.ATTRIBUTE13            := FND_API.G_MISS_CHAR;
1446   p_preferred_lang_record.ATTRIBUTE14            := FND_API.G_MISS_CHAR;
1447   p_preferred_lang_record.ATTRIBUTE15            := FND_API.G_MISS_CHAR;
1448   p_preferred_lang_record.ATTRIBUTE_CATEGORY     := FND_API.G_MISS_CHAR;
1449   p_preferred_lang_record.INITIALIZE_FLAG        := G_INITIALIZED;
1450 END initialize_rec;
1451 
1452 
1453 
1454 -- Procedure Lock Row
1455 -- This is called by the Preferred Language form to lock a record
1456 PROCEDURE LOCK_ROW(
1457 		    p_PREF_LANG_ID		IN	NUMBER,
1458 		    p_OBJECT_VERSION_NUMBER	IN	NUMBER,
1459                     p_preferred_language_rec    IN      preferred_language_rec_type
1460 		    )
1461 IS
1462 BEGIN
1463 
1464 CS_SR_PREFERRED_LANG_PKG.LOCK_ROW (
1465   X_PREF_LANG_ID       => p_pref_lang_id,
1466   X_LANGUAGE_CODE      => p_preferred_language_rec.language_code,
1467   X_START_DATE_ACTIVE  => p_preferred_language_rec.start_date_active,
1468   X_END_DATE_ACTIVE    => p_preferred_language_rec.end_date_active,
1469   X_ATTRIBUTE_CATEGORY => p_preferred_language_rec.attribute_category,
1470   X_ATTRIBUTE1         => p_preferred_language_rec.attribute1,
1471   X_ATTRIBUTE2         => p_preferred_language_rec.attribute2,
1472   X_ATTRIBUTE3         => p_preferred_language_rec.attribute3,
1473   X_ATTRIBUTE4         => p_preferred_language_rec.attribute4,
1474   X_ATTRIBUTE5         => p_preferred_language_rec.attribute5,
1475   X_ATTRIBUTE6         => p_preferred_language_rec.attribute6,
1476   X_ATTRIBUTE7         => p_preferred_language_rec.attribute7,
1477   X_ATTRIBUTE8         => p_preferred_language_rec.attribute8,
1478   X_ATTRIBUTE9         => p_preferred_language_rec.attribute9,
1479   X_ATTRIBUTE10        => p_preferred_language_rec.attribute10,
1480   X_ATTRIBUTE11        => p_preferred_language_rec.attribute11,
1481   X_ATTRIBUTE12        => p_preferred_language_rec.attribute12,
1482   X_ATTRIBUTE13        => p_preferred_language_rec.attribute13,
1483   X_ATTRIBUTE14        => p_preferred_language_rec.attribute14,
1484   X_ATTRIBUTE15        => p_preferred_language_rec.attribute15,
1485   X_OBJECT_VERSION_NUMBER => p_object_version_number
1486 );
1487 
1488 END LOCK_ROW;
1489 
1490 -- -------------------------------------------------------------------
1491 -- Validate_Desc_Flex
1492 -- -------------------------------------------------------------------
1493 
1494 PROCEDURE Validate_Desc_Flex
1495 ( p_api_name                    IN      VARCHAR2,
1496   p_application_short_name      IN      VARCHAR2,
1497   p_desc_flex_name              IN      VARCHAR2,
1498   p_desc_segment1               IN      VARCHAR2,
1499   p_desc_segment2               IN      VARCHAR2,
1500   p_desc_segment3               IN      VARCHAR2,
1501   p_desc_segment4               IN      VARCHAR2,
1502   p_desc_segment5               IN      VARCHAR2,
1503   p_desc_segment6               IN      VARCHAR2,
1504   p_desc_segment7               IN      VARCHAR2,
1505   p_desc_segment8               IN      VARCHAR2,
1506   p_desc_segment9               IN      VARCHAR2,
1507   p_desc_segment10              IN      VARCHAR2,
1508   p_desc_segment11              IN      VARCHAR2,
1509   p_desc_segment12              IN      VARCHAR2,
1510   p_desc_segment13              IN      VARCHAR2,
1511   p_desc_segment14              IN      VARCHAR2,
1512   p_desc_segment15              IN      VARCHAR2,
1513   p_desc_context                IN      VARCHAR2,
1514   p_resp_appl_id                IN      NUMBER          := NULL,
1515   p_resp_id                     IN      NUMBER          := NULL,
1516   p_return_status               OUT     NOCOPY VARCHAR2
1517 )
1518 IS
1519   l_error_message       VARCHAR2(2000);
1520 BEGIN
1521   -- Initialize API return status to success
1522   p_return_status := FND_API.G_RET_STS_SUCCESS;
1523 
1524   --dbms_output.put_line(' In the desc flex proc ') ;
1525 
1526   IF ( p_desc_context   || p_desc_segment1  || p_desc_segment2  ||
1527        p_desc_segment3  || p_desc_segment4  || p_desc_segment5  ||
1528        p_desc_segment6  || p_desc_segment7  || p_desc_segment8  ||
1529        p_desc_segment9  || p_desc_segment10 || p_desc_segment11 ||
1530        p_desc_segment12 || p_desc_segment13 || p_desc_segment14 ||
1531        p_desc_segment15
1532      ) IS NOT NULL THEN
1533 
1534     FND_FLEX_DESCVAL.Set_Context_Value(p_desc_context);
1535     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE1', p_desc_segment1);
1536     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE2', p_desc_segment2);
1537     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE3', p_desc_segment3);
1538     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE4', p_desc_segment4);
1539     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE5', p_desc_segment5);
1540     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE6', p_desc_segment6);
1541     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE7', p_desc_segment7);
1542     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE8', p_desc_segment8);
1543     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE9', p_desc_segment9);
1544     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE10', p_desc_segment10);
1545     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE11', p_desc_segment11);
1546     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE12', p_desc_segment12);
1547     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE13', p_desc_segment13);
1548     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE14', p_desc_segment14);
1549     FND_FLEX_DESCVAL.Set_Column_Value('PREF_LANG_ATTRIBUTE15', p_desc_segment15);
1550     IF NOT FND_FLEX_DESCVAL.Validate_Desccols
1551              ( appl_short_name => p_application_short_name,
1552                desc_flex_name  => p_desc_flex_name,
1553                resp_appl_id    => p_resp_appl_id,
1554                resp_id         => p_resp_id
1555              ) THEN
1556       l_error_message := FND_FLEX_DESCVAL.Error_Message;
1557       CS_ServiceRequest_UTIL.Add_Desc_Flex_Msg(p_api_name, l_error_message);
1558       p_return_status := FND_API.G_RET_STS_ERROR;
1559     END IF;
1560   END IF;
1561 
1562 END Validate_Desc_Flex;
1563 
1564 
1565 END CS_SR_Preferred_Lang_PVT;