DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSD_REPAIR_HISTORY_PVT

Source


1 PACKAGE BODY CSD_REPAIR_HISTORY_PVT as
2 /* $Header: csdvdrhb.pls 120.3.12020000.3 2013/04/04 09:32:49 subhat ship $ */
3 -- Start of Comments
4 -- Package name     : CSD_REPAIR_HISTORY_PVT
5 -- Purpose          :
6 -- History          :
7 -- 02/05/02   travi  Added Object Version Number Column
8 -- NOTE             :
9 -- End of Comments
10 
11 
12 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSD_REPAIR_HISTORY_PVT';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csdvrehb.pls';
14 
15 G_USER_ID         NUMBER := FND_GLOBAL.USER_ID;
16 G_LOGIN_ID        NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
17 g_debug NUMBER := csd_gen_utility_pvt.g_debug_level;
18 
19 -- Hint: Primary key needs to be returned.
20 PROCEDURE Create_repair_history(
21     P_Api_Version_Number         IN   NUMBER,
22     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
23     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
24     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
25     P_REPH_Rec     IN    REPH_Rec_Type  := G_MISS_REPH_REC,
26   --Hint: Add detail tables as parameter lists if it's master-detail relationship.
27     X_REPAIR_HISTORY_ID     OUT NOCOPY  NUMBER,
28     X_Return_Status              OUT NOCOPY  VARCHAR2,
29     X_Msg_Count                  OUT NOCOPY  NUMBER,
30     X_Msg_Data                   OUT NOCOPY  VARCHAR2
31     )
32 
33  IS
34 l_api_name                CONSTANT VARCHAR2(30) := 'Create_repair_history';
35 l_api_version_number      CONSTANT NUMBER   := 1.0;
36 l_return_status_full        VARCHAR2(1);
37 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
38  BEGIN
39       -- Standard Start of API savepoint
40       SAVEPOINT CREATE_REPAIR_HISTORY_PVT;
41 
42       -- Standard call to check for call compatibility.
43       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
44                                          p_api_version_number,
45                                            l_api_name,
46                                            G_PKG_NAME)
47       THEN
48           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
49       END IF;
50 
51 
52       -- Initialize message list if p_init_msg_list is set to TRUE.
53       IF FND_API.to_Boolean( p_init_msg_list )
54       THEN
55           FND_MSG_PUB.initialize;
56       END IF;
57 
58 
59       -- Debug Message
60       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'start');
61 
62 
63       -- Initialize API return status to SUCCESS
64       x_return_status := FND_API.G_RET_STS_SUCCESS;
65 
66       --
67       -- API body
68       --
69 
70 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
71 /*
72       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
73       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
77                   p_init_msg_list        =>  FND_API.G_FALSE,
74       THEN
75           AS_CALLOUT_PKG.Create_repair_history_BC(
76                   p_api_version_number   =>  2.0,
78                   p_commit               =>  FND_API.G_FALSE,
79                   p_validation_level     =>  p_validation_level,
80                   P_REPH_Rec      =>  P_REPH_Rec,
81           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
82                   x_return_status        =>  x_return_status,
83                   x_msg_count            =>  x_msg_count,
84                   x_msg_data             =>  x_msg_data);
85       END IF;
86 */
87       -- ******************************************************************
88       -- Validate Environment
89       -- ******************************************************************
90       IF FND_GLOBAL.User_Id IS NULL
91       THEN
92           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
93           THEN
94               FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
95               FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
96               FND_MSG_PUB.ADD;
97           END IF;
98           RAISE FND_API.G_EXC_ERROR;
99       END IF;
100 
101 /*
102       AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
103           p_api_version_number => 2.0
104          ,p_salesforce_id => NULL
105          ,x_return_status => x_return_status
106          ,x_msg_count => x_msg_count
107          ,x_msg_data => x_msg_data
108          ,x_sales_member_rec => l_identity_sales_member_rec);
109 
110       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
111           RAISE FND_API.G_EXC_ERROR;
112       END IF;
113 */
114 
115       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
116       THEN
117           -- Debug message
118           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Validate_repair_history');
119 
120           -- Invoke validation procedures
121 IF (g_debug > 0 ) THEN
122           csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Create_repair_history before Validate_repair_history');
123 END IF;
124 
125 
126           Validate_repair_history(
127               p_init_msg_list    => FND_API.G_FALSE,
128               p_validation_level => p_validation_level,
129               p_validation_mode  => JTF_PLSQL_API.G_CREATE,
130               P_REPH_Rec  =>  P_REPH_Rec,
131               x_return_status    => x_return_status,
132               x_msg_count        => x_msg_count,
133               x_msg_data         => x_msg_data);
134 
135 IF (g_debug > 0 ) THEN
136         csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Create_repair_history after Validate_repair_history x_return_status'||x_return_status);
137 END IF;
138 
139 
140       END IF;
141 
142       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
143           RAISE FND_API.G_EXC_ERROR;
144       END IF;
145 
146       -- Hint: Add corresponding Master-Detail business logic here if necessary.
147 
148       -- Debug Message
149       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Calling create table handler');
150 
151       -- Invoke table handler(CSD_REPAIR_HISTORY_PKG.Insert_Row)
152 IF (g_debug > 0 ) THEN
153           csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Create_repair_history before CSD_REPAIR_HISTORY_PKG.Insert_Row');
154 END IF;
155 
156 
157       CSD_REPAIR_HISTORY_PKG.Insert_Row(
158           px_REPAIR_HISTORY_ID  => x_REPAIR_HISTORY_ID,
159           p_OBJECT_VERSION_NUMBER  => 1, -- travi p_REPH_rec.OBJECT_VERSION_NUMBER,
160           p_REQUEST_ID  => p_REPH_rec.REQUEST_ID,
161           p_PROGRAM_ID  => p_REPH_rec.PROGRAM_ID,
162           p_PROGRAM_APPLICATION_ID  => p_REPH_rec.PROGRAM_APPLICATION_ID,
163           p_PROGRAM_UPDATE_DATE  => p_REPH_rec.PROGRAM_UPDATE_DATE,
164           --bug#12697494, yvchen
165           p_CREATED_BY  => p_REPH_rec.CREATED_BY, --p_CREATED_BY  => G_USER_ID,
166           p_CREATION_DATE  => SYSDATE,
167           --bug#12697494, yvchen
168           p_LAST_UPDATED_BY  => p_REPH_rec.LAST_UPDATED_BY, --p_LAST_UPDATED_BY  => G_USER_ID,
169           p_LAST_UPDATE_DATE  => SYSDATE,
170           p_REPAIR_LINE_ID  => p_REPH_rec.REPAIR_LINE_ID,
171           p_EVENT_CODE  => p_REPH_rec.EVENT_CODE,
172           p_EVENT_DATE  => p_REPH_rec.EVENT_DATE,
173           p_QUANTITY  => p_REPH_rec.QUANTITY,
174           p_PARAMN1  => p_REPH_rec.PARAMN1,
175           p_PARAMN2  => p_REPH_rec.PARAMN2,
176           p_PARAMN3  => p_REPH_rec.PARAMN3,
177           p_PARAMN4  => p_REPH_rec.PARAMN4,
178           p_PARAMN5  => p_REPH_rec.PARAMN5,
179           p_PARAMN6  => p_REPH_rec.PARAMN6,
180           p_PARAMN7  => p_REPH_rec.PARAMN7,
181           p_PARAMN8  => p_REPH_rec.PARAMN8,
182           p_PARAMN9  => p_REPH_rec.PARAMN9,
183           p_PARAMN10  => p_REPH_rec.PARAMN10,
184           p_PARAMC1  => p_REPH_rec.PARAMC1,
185           p_PARAMC2  => p_REPH_rec.PARAMC2,
186           p_PARAMC3  => p_REPH_rec.PARAMC3,
187           p_PARAMC4  => p_REPH_rec.PARAMC4,
188           p_PARAMC5  => p_REPH_rec.PARAMC5,
189           p_PARAMC6  => p_REPH_rec.PARAMC6,
190           p_PARAMC7  => p_REPH_rec.PARAMC7,
191           p_PARAMC8  => p_REPH_rec.PARAMC8,
192           p_PARAMC9  => p_REPH_rec.PARAMC9,
193           p_PARAMC10  => p_REPH_rec.PARAMC10,
194           p_PARAMD1  => p_REPH_rec.PARAMD1,
195           p_PARAMD2  => p_REPH_rec.PARAMD2,
196           p_PARAMD3  => p_REPH_rec.PARAMD3,
197           p_PARAMD4  => p_REPH_rec.PARAMD4,
198           p_PARAMD5  => p_REPH_rec.PARAMD5,
199           p_PARAMD6  => p_REPH_rec.PARAMD6,
200           p_PARAMD7  => p_REPH_rec.PARAMD7,
201           p_PARAMD8  => p_REPH_rec.PARAMD8,
205           p_ATTRIBUTE1  => p_REPH_rec.ATTRIBUTE1,
202           p_PARAMD9  => p_REPH_rec.PARAMD9,
203           p_PARAMD10  => p_REPH_rec.PARAMD10,
204           p_ATTRIBUTE_CATEGORY  => p_REPH_rec.ATTRIBUTE_CATEGORY,
206           p_ATTRIBUTE2  => p_REPH_rec.ATTRIBUTE2,
207           p_ATTRIBUTE3  => p_REPH_rec.ATTRIBUTE3,
208           p_ATTRIBUTE4  => p_REPH_rec.ATTRIBUTE4,
209           p_ATTRIBUTE5  => p_REPH_rec.ATTRIBUTE5,
210           p_ATTRIBUTE6  => p_REPH_rec.ATTRIBUTE6,
211           p_ATTRIBUTE7  => p_REPH_rec.ATTRIBUTE7,
212           p_ATTRIBUTE8  => p_REPH_rec.ATTRIBUTE8,
213           p_ATTRIBUTE9  => p_REPH_rec.ATTRIBUTE9,
214           p_ATTRIBUTE10  => p_REPH_rec.ATTRIBUTE10,
215           p_ATTRIBUTE11  => p_REPH_rec.ATTRIBUTE11,
216           p_ATTRIBUTE12  => p_REPH_rec.ATTRIBUTE12,
217           p_ATTRIBUTE13  => p_REPH_rec.ATTRIBUTE13,
218           p_ATTRIBUTE14  => p_REPH_rec.ATTRIBUTE14,
219           p_ATTRIBUTE15  => p_REPH_rec.ATTRIBUTE15,
220           p_LAST_UPDATE_LOGIN  => p_REPH_rec.LAST_UPDATE_LOGIN);
221       -- Hint: Primary key should be returned.
222       -- x_REPAIR_HISTORY_ID := px_REPAIR_HISTORY_ID;
223 IF (g_debug > 0 ) THEN
224           csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Create_repair_history after CSD_REPAIR_HISTORY_PKG.Insert_Row x_return_status'||x_return_status);
225 END IF;
226 
227 
228 
229       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
230           RAISE FND_API.G_EXC_ERROR;
231       END IF;
232 
233       --
234       -- End of API body
235       --
236 
237       -- Standard check for p_commit
238       IF FND_API.to_Boolean( p_commit )
239       THEN
240           COMMIT WORK;
241       END IF;
242 
243 
244       -- Debug Message
245       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'end');
246 
247 
248       -- Standard call to get message count and if count is 1, get message info.
249       FND_MSG_PUB.Count_And_Get
250       (  p_count          =>   x_msg_count,
251          p_data           =>   x_msg_data
252       );
253 
254 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
255 /*
256       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
257       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
258       THEN
259           AS_CALLOUT_PKG.Create_repair_history_AC(
260                   p_api_version_number   =>  2.0,
261                   p_init_msg_list        =>  FND_API.G_FALSE,
262                   p_commit               =>  FND_API.G_FALSE,
263                   p_validation_level     =>  p_validation_level,
264                   P_REPH_Rec      =>  P_REPH_Rec,
265           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
266                   x_return_status        =>  x_return_status,
267                   x_msg_count            =>  x_msg_count,
268                   x_msg_data             =>  x_msg_data);
269       END IF;
270 */
271       EXCEPTION
272           WHEN FND_API.G_EXC_ERROR THEN
273               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
274                    P_API_NAME => L_API_NAME
275                   ,P_PKG_NAME => G_PKG_NAME
276                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
277                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
278                   ,X_MSG_COUNT => X_MSG_COUNT
279                   ,X_MSG_DATA => X_MSG_DATA
280                   ,X_RETURN_STATUS => X_RETURN_STATUS);
281 --   RAISE;
282 
283           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
284               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
285                    P_API_NAME => L_API_NAME
286                   ,P_PKG_NAME => G_PKG_NAME
287                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
288                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
289                   ,X_MSG_COUNT => X_MSG_COUNT
290                   ,X_MSG_DATA => X_MSG_DATA
291                   ,X_RETURN_STATUS => X_RETURN_STATUS);
292 --   RAISE;
293 
294           WHEN OTHERS THEN
295               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
296                    P_API_NAME => L_API_NAME
297                   ,P_PKG_NAME => G_PKG_NAME
298                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
299                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
300                   ,X_MSG_COUNT => X_MSG_COUNT
301                   ,X_MSG_DATA => X_MSG_DATA
302                   ,X_RETURN_STATUS => X_RETURN_STATUS);
303 --   RAISE;
304 End Create_repair_history;
305 
306 
307 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
308 PROCEDURE Update_repair_history(
309     P_Api_Version_Number         IN   NUMBER,
310     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
311     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
312     p_validation_level           IN  NUMBER       := FND_API.G_VALID_LEVEL_FULL,
313     P_REPH_Rec     IN    REPH_Rec_Type,
314     X_Return_Status              OUT NOCOPY  VARCHAR2,
315     X_Msg_Count                  OUT NOCOPY  NUMBER,
316     X_Msg_Data                   OUT NOCOPY  VARCHAR2
317     )
318 
319  IS
320 /*
321 Cursor C_Get_repair_history(REPAIR_HISTORY_ID Number) IS
322     Select rowid,
323            REPAIR_HISTORY_ID,
324            OBJECT_VERSION_NUMBER,
325            REQUEST_ID,
326            PROGRAM_ID,
327            PROGRAM_APPLICATION_ID,
328            PROGRAM_UPDATE_DATE,
329            CREATED_BY,
330            CREATION_DATE,
331            LAST_UPDATED_BY,
332            LAST_UPDATE_DATE,
333            REPAIR_LINE_ID,
334            EVENT_CODE,
335            EVENT_DATE,
336            QUANTITY,
337            PARAMN1,
338            PARAMN2,
339            PARAMN3,
340            PARAMN4,
341            PARAMN5,
342            PARAMN6,
343            PARAMN7,
344            PARAMN8,
345            PARAMN9,
346            PARAMN10,
347            PARAMC1,
348            PARAMC2,
349            PARAMC3,
350            PARAMC4,
351            PARAMC5,
352            PARAMC6,
353            PARAMC7,
354            PARAMC8,
355            PARAMC9,
356            PARAMC10,
357            PARAMD1,
358            PARAMD2,
359            PARAMD3,
360            PARAMD4,
361            PARAMD5,
362            PARAMD6,
363            PARAMD7,
364            PARAMD8,
365            PARAMD9,
366            PARAMD10,
367            ATTRIBUTE_CATEGORY,
368            ATTRIBUTE1,
369            ATTRIBUTE2,
370            ATTRIBUTE3,
371            ATTRIBUTE4,
372            ATTRIBUTE5,
373            ATTRIBUTE6,
374            ATTRIBUTE7,
375            ATTRIBUTE8,
376            ATTRIBUTE9,
377            ATTRIBUTE10,
378            ATTRIBUTE11,
379            ATTRIBUTE12,
380            ATTRIBUTE13,
381            ATTRIBUTE14,
382            ATTRIBUTE15,
383            LAST_UPDATE_LOGIN
384     From  CSD_REPAIR_HISTORY
385     -- Hint: Developer need to provide Where clause
386     For Update NOWAIT;
387 */
388   l_api_name                CONSTANT VARCHAR2(30) := 'Update_repair_history';
389   l_api_version_number      CONSTANT NUMBER   := 1.0;
390   -- Local Variables
391   l_identity_sales_member_rec   AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
392   l_ref_REPH_rec  CSD_repair_history_PVT.REPH_Rec_Type;
393   l_tar_REPH_rec  CSD_repair_history_PVT.REPH_Rec_Type := P_REPH_Rec;
394   l_rowid  ROWID;
395 
396   --  travi ovn validation
397   l_OBJECT_VERSION_NUMBER NUMBER;
398 
399  BEGIN
400       -- Standard Start of API savepoint
401       SAVEPOINT UPDATE_REPAIR_HISTORY_PVT;
402 
403       -- Standard call to check for call compatibility.
404       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
405                                          p_api_version_number,
406                                            l_api_name,
407                                            G_PKG_NAME)
408       THEN
409           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
410       END IF;
411 
412 
413       -- Initialize message list if p_init_msg_list is set to TRUE.
414       IF FND_API.to_Boolean( p_init_msg_list )
415       THEN
416           FND_MSG_PUB.initialize;
417       END IF;
418 
419 
420       -- Debug Message
421       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'start');
422 
423 
424       -- Initialize API return status to SUCCESS
425       x_return_status := FND_API.G_RET_STS_SUCCESS;
426 
427       --
428       -- Api body
429       --
430 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
431 /*
432       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
433       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
434       THEN
435           AS_CALLOUT_PKG.Update_repair_history_BU(
436                   p_api_version_number   =>  2.0,
437                   p_init_msg_list        =>  FND_API.G_FALSE,
438                   p_commit               =>  FND_API.G_FALSE,
439                   p_validation_level     =>  p_validation_level,
440                   p_identity_salesforce_id => p_identity_salesforce_id,
441                   P_REPH_Rec      =>  P_REPH_Rec,
442           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
443                   x_return_status        =>  x_return_status,
444                   x_msg_count            =>  x_msg_count,
445                   x_msg_data             =>  x_msg_data);
446       END IF;
447 */
448 /*
449       AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
450           p_api_version_number => 2.0
451          ,p_salesforce_id => p_identity_salesforce_id
452          ,x_return_status => x_return_status
453          ,x_msg_count => x_msg_count
454          ,x_msg_data => x_msg_data
455          ,x_sales_member_rec => l_identity_sales_member_rec);
456 
457       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
458           RAISE FND_API.G_EXC_ERROR;
459       END IF;
460 */
461       -- Debug Message
462       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: - Open Cursor to Select');
463 
464 /*
465       Open C_Get_repair_history( l_tar_REPH_rec.REPAIR_HISTORY_ID);
466 
467       Fetch C_Get_repair_history into
468                l_rowid,
469                l_ref_REPH_rec.REPAIR_HISTORY_ID,
470                l_ref_REPH_rec.OBJECT_VERSION_NUMBER,
471                l_ref_REPH_rec.REQUEST_ID,
472                l_ref_REPH_rec.PROGRAM_ID,
473                l_ref_REPH_rec.PROGRAM_APPLICATION_ID,
474                l_ref_REPH_rec.PROGRAM_UPDATE_DATE,
475                l_ref_REPH_rec.CREATED_BY,
476                l_ref_REPH_rec.CREATION_DATE,
477                l_ref_REPH_rec.LAST_UPDATED_BY,
478                l_ref_REPH_rec.LAST_UPDATE_DATE,
479                l_ref_REPH_rec.REPAIR_LINE_ID,
480                l_ref_REPH_rec.EVENT_CODE,
481                l_ref_REPH_rec.EVENT_DATE,
482                l_ref_REPH_rec.QUANTITY,
483                l_ref_REPH_rec.PARAMN1,
487                l_ref_REPH_rec.PARAMN5,
484                l_ref_REPH_rec.PARAMN2,
485                l_ref_REPH_rec.PARAMN3,
486                l_ref_REPH_rec.PARAMN4,
488                l_ref_REPH_rec.PARAMN6,
489                l_ref_REPH_rec.PARAMN7,
490                l_ref_REPH_rec.PARAMN8,
491                l_ref_REPH_rec.PARAMN9,
492                l_ref_REPH_rec.PARAMN10,
493                l_ref_REPH_rec.PARAMC1,
494                l_ref_REPH_rec.PARAMC2,
495                l_ref_REPH_rec.PARAMC3,
496                l_ref_REPH_rec.PARAMC4,
497                l_ref_REPH_rec.PARAMC5,
498                l_ref_REPH_rec.PARAMC6,
499                l_ref_REPH_rec.PARAMC7,
500                l_ref_REPH_rec.PARAMC8,
501                l_ref_REPH_rec.PARAMC9,
502                l_ref_REPH_rec.PARAMC10,
503                l_ref_REPH_rec.PARAMD1,
504                l_ref_REPH_rec.PARAMD2,
505                l_ref_REPH_rec.PARAMD3,
506                l_ref_REPH_rec.PARAMD4,
507                l_ref_REPH_rec.PARAMD5,
508                l_ref_REPH_rec.PARAMD6,
509                l_ref_REPH_rec.PARAMD7,
510                l_ref_REPH_rec.PARAMD8,
511                l_ref_REPH_rec.PARAMD9,
512                l_ref_REPH_rec.PARAMD10,
513                l_ref_REPH_rec.ATTRIBUTE_CATEGORY,
514                l_ref_REPH_rec.ATTRIBUTE1,
515                l_ref_REPH_rec.ATTRIBUTE2,
516                l_ref_REPH_rec.ATTRIBUTE3,
517                l_ref_REPH_rec.ATTRIBUTE4,
518                l_ref_REPH_rec.ATTRIBUTE5,
519                l_ref_REPH_rec.ATTRIBUTE6,
520                l_ref_REPH_rec.ATTRIBUTE7,
521                l_ref_REPH_rec.ATTRIBUTE8,
522                l_ref_REPH_rec.ATTRIBUTE9,
523                l_ref_REPH_rec.ATTRIBUTE10,
524                l_ref_REPH_rec.ATTRIBUTE11,
525                l_ref_REPH_rec.ATTRIBUTE12,
526                l_ref_REPH_rec.ATTRIBUTE13,
527                l_ref_REPH_rec.ATTRIBUTE14,
528                l_ref_REPH_rec.ATTRIBUTE15,
529                l_ref_REPH_rec.LAST_UPDATE_LOGIN;
530 
531        If ( C_Get_repair_history%NOTFOUND) Then
532            IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
533            THEN
534                FND_MESSAGE.Set_Name('CSD', 'API_MISSING_UPDATE_TARGET');
535                FND_MESSAGE.Set_Token ('INFO', 'repair_history', FALSE);
536                FND_MSG_PUB.Add;
537            END IF;
538            raise FND_API.G_EXC_ERROR;
539        END IF;
540        -- Debug Message
541        JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: - Close Cursor');
542        Close     C_Get_repair_history;
543 */
544 
545 
546       If (l_tar_REPH_rec.last_update_date is NULL or
547           l_tar_REPH_rec.last_update_date = FND_API.G_MISS_Date ) Then
548           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
549           THEN
550               FND_MESSAGE.Set_Name('CSD', 'API_MISSING_ID');
551               FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
552               FND_MSG_PUB.ADD;
553           END IF;
554           raise FND_API.G_EXC_ERROR;
555       End if;
556       -- Check Whether record has been changed by someone else
557       If (l_tar_REPH_rec.last_update_date <> l_ref_REPH_rec.last_update_date) Then
558           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
559           THEN
560               FND_MESSAGE.Set_Name('CSD', 'API_RECORD_CHANGED');
561               FND_MESSAGE.Set_Token('INFO', 'repair_history', FALSE);
562               FND_MSG_PUB.ADD;
563           END IF;
564           raise FND_API.G_EXC_ERROR;
565       End if;
566 
567       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
568       THEN
569           -- Debug message
570           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Validate_repair_history');
571 
572           -- Invoke validation procedures
573           Validate_repair_history(
574               p_init_msg_list    => FND_API.G_FALSE,
575               p_validation_level => p_validation_level,
576               p_validation_mode  => JTF_PLSQL_API.G_UPDATE,
577               P_REPH_Rec  =>  P_REPH_Rec,
578               x_return_status    => x_return_status,
579               x_msg_count        => x_msg_count,
580               x_msg_data         => x_msg_data);
581       END IF;
582 
583       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
584           RAISE FND_API.G_EXC_ERROR;
585       END IF;
586 
587       -- Hint: Add corresponding Master-Detail business logic here if necessary.
588 
589       -- Debug Message
590       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Calling update table handler');
591 
592       -- travi OBJECT_VERSION_NUMBER validation
593      l_OBJECT_VERSION_NUMBER := p_REPH_rec.OBJECT_VERSION_NUMBER + 1;
594 
595       -- Invoke table handler(CSD_REPAIR_HISTORY_PKG.Update_Row)
596       CSD_REPAIR_HISTORY_PKG.Update_Row(
597           p_REPAIR_HISTORY_ID  => p_REPH_rec.REPAIR_HISTORY_ID,
598           p_OBJECT_VERSION_NUMBER  => l_OBJECT_VERSION_NUMBER, -- travi p_REPH_rec.OBJECT_VERSION_NUMBER,
599           p_REQUEST_ID  => p_REPH_rec.REQUEST_ID,
600           p_PROGRAM_ID  => p_REPH_rec.PROGRAM_ID,
601           p_PROGRAM_APPLICATION_ID  => p_REPH_rec.PROGRAM_APPLICATION_ID,
602           p_PROGRAM_UPDATE_DATE  => p_REPH_rec.PROGRAM_UPDATE_DATE,
603           --bug#12697494, yvchen: does not allow updating of CREATED_BY
604           p_CREATED_BY  => FND_API.G_MISS_NUM, --p_CREATED_BY  => G_USER_ID,
605           p_CREATION_DATE  => SYSDATE,
606           --bug#12697494, yvchen
607           p_LAST_UPDATED_BY  => p_REPH_rec.LAST_UPDATED_BY, --p_LAST_UPDATED_BY  => G_USER_ID,
608           p_LAST_UPDATE_DATE  => SYSDATE,
609           p_REPAIR_LINE_ID  => p_REPH_rec.REPAIR_LINE_ID,
613           p_PARAMN1  => p_REPH_rec.PARAMN1,
610           p_EVENT_CODE  => p_REPH_rec.EVENT_CODE,
611           p_EVENT_DATE  => p_REPH_rec.EVENT_DATE,
612           p_QUANTITY  => p_REPH_rec.QUANTITY,
614           p_PARAMN2  => p_REPH_rec.PARAMN2,
615           p_PARAMN3  => p_REPH_rec.PARAMN3,
616           p_PARAMN4  => p_REPH_rec.PARAMN4,
617           p_PARAMN5  => p_REPH_rec.PARAMN5,
618           p_PARAMN6  => p_REPH_rec.PARAMN6,
619           p_PARAMN7  => p_REPH_rec.PARAMN7,
620           p_PARAMN8  => p_REPH_rec.PARAMN8,
621           p_PARAMN9  => p_REPH_rec.PARAMN9,
622           p_PARAMN10  => p_REPH_rec.PARAMN10,
623           p_PARAMC1  => p_REPH_rec.PARAMC1,
624           p_PARAMC2  => p_REPH_rec.PARAMC2,
625           p_PARAMC3  => p_REPH_rec.PARAMC3,
626           p_PARAMC4  => p_REPH_rec.PARAMC4,
627           p_PARAMC5  => p_REPH_rec.PARAMC5,
628           p_PARAMC6  => p_REPH_rec.PARAMC6,
629           p_PARAMC7  => p_REPH_rec.PARAMC7,
630           p_PARAMC8  => p_REPH_rec.PARAMC8,
631           p_PARAMC9  => p_REPH_rec.PARAMC9,
632           p_PARAMC10  => p_REPH_rec.PARAMC10,
633           p_PARAMD1  => p_REPH_rec.PARAMD1,
634           p_PARAMD2  => p_REPH_rec.PARAMD2,
635           p_PARAMD3  => p_REPH_rec.PARAMD3,
636           p_PARAMD4  => p_REPH_rec.PARAMD4,
637           p_PARAMD5  => p_REPH_rec.PARAMD5,
638           p_PARAMD6  => p_REPH_rec.PARAMD6,
639           p_PARAMD7  => p_REPH_rec.PARAMD7,
640           p_PARAMD8  => p_REPH_rec.PARAMD8,
641           p_PARAMD9  => p_REPH_rec.PARAMD9,
642           p_PARAMD10  => p_REPH_rec.PARAMD10,
643           p_ATTRIBUTE_CATEGORY  => p_REPH_rec.ATTRIBUTE_CATEGORY,
644           p_ATTRIBUTE1  => p_REPH_rec.ATTRIBUTE1,
645           p_ATTRIBUTE2  => p_REPH_rec.ATTRIBUTE2,
646           p_ATTRIBUTE3  => p_REPH_rec.ATTRIBUTE3,
647           p_ATTRIBUTE4  => p_REPH_rec.ATTRIBUTE4,
648           p_ATTRIBUTE5  => p_REPH_rec.ATTRIBUTE5,
649           p_ATTRIBUTE6  => p_REPH_rec.ATTRIBUTE6,
650           p_ATTRIBUTE7  => p_REPH_rec.ATTRIBUTE7,
651           p_ATTRIBUTE8  => p_REPH_rec.ATTRIBUTE8,
652           p_ATTRIBUTE9  => p_REPH_rec.ATTRIBUTE9,
653           p_ATTRIBUTE10  => p_REPH_rec.ATTRIBUTE10,
654           p_ATTRIBUTE11  => p_REPH_rec.ATTRIBUTE11,
655           p_ATTRIBUTE12  => p_REPH_rec.ATTRIBUTE12,
656           p_ATTRIBUTE13  => p_REPH_rec.ATTRIBUTE13,
657           p_ATTRIBUTE14  => p_REPH_rec.ATTRIBUTE14,
658           p_ATTRIBUTE15  => p_REPH_rec.ATTRIBUTE15,
659           p_LAST_UPDATE_LOGIN  => p_REPH_rec.LAST_UPDATE_LOGIN);
660       --
661       -- End of API body.
662       --
663 
664       -- Standard check for p_commit
665       IF FND_API.to_Boolean( p_commit )
666       THEN
667           COMMIT WORK;
668       END IF;
669 
670 
671       -- Debug Message
672       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'end');
673 
674 
675       -- Standard call to get message count and if count is 1, get message info.
676       FND_MSG_PUB.Count_And_Get
677       (  p_count          =>   x_msg_count,
678          p_data           =>   x_msg_data
679       );
680 
681 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
682 /*
683       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
684       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
685       THEN
686           AS_CALLOUT_PKG.Update_repair_history_AU(
687                   p_api_version_number   =>  2.0,
688                   p_init_msg_list        =>  FND_API.G_FALSE,
689                   p_commit               =>  FND_API.G_FALSE,
690                   p_validation_level     =>  p_validation_level,
691                   p_identity_salesforce_id => p_identity_salesforce_id,
692                   P_REPH_Rec      =>  P_REPH_Rec,
693           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
694                   x_return_status        =>  x_return_status,
695                   x_msg_count            =>  x_msg_count,
696                   x_msg_data             =>  x_msg_data);
697       END IF;
698 */
699       EXCEPTION
700           WHEN FND_API.G_EXC_ERROR THEN
701               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
702                    P_API_NAME => L_API_NAME
703                   ,P_PKG_NAME => G_PKG_NAME
704                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
705                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
706                   ,X_MSG_COUNT => X_MSG_COUNT
707                   ,X_MSG_DATA => X_MSG_DATA
708                   ,X_RETURN_STATUS => X_RETURN_STATUS);
709 --   RAISE;
710 
711           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
712               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
713                    P_API_NAME => L_API_NAME
714                   ,P_PKG_NAME => G_PKG_NAME
715                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
716                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
717                   ,X_MSG_COUNT => X_MSG_COUNT
718                   ,X_MSG_DATA => X_MSG_DATA
719                   ,X_RETURN_STATUS => X_RETURN_STATUS);
720 --   RAISE;
721 
722           WHEN OTHERS THEN
723               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
724                    P_API_NAME => L_API_NAME
725                   ,P_PKG_NAME => G_PKG_NAME
726                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
727                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
728                   ,X_MSG_COUNT => X_MSG_COUNT
729                   ,X_MSG_DATA => X_MSG_DATA
730                   ,X_RETURN_STATUS => X_RETURN_STATUS);
731 --   RAISE;
732 End Update_repair_history;
733 
734 
735 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
739     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
736 --       The Master delete procedure may not be needed depends on different business requirements.
737 PROCEDURE Delete_repair_history(
738     P_Api_Version_Number         IN   NUMBER,
740     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
741     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
742     P_REPH_Rec     IN REPH_Rec_Type,
743     X_Return_Status              OUT NOCOPY  VARCHAR2,
744     X_Msg_Count                  OUT NOCOPY  NUMBER,
745     X_Msg_Data                   OUT NOCOPY  VARCHAR2
746     )
747 
748  IS
749 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_repair_history';
750 l_api_version_number      CONSTANT NUMBER   := 1.0;
751 l_identity_sales_member_rec  AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
752  BEGIN
753       -- Standard Start of API savepoint
754       SAVEPOINT DELETE_REPAIR_HISTORY_PVT;
755 
756       -- Standard call to check for call compatibility.
757       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
758                                          p_api_version_number,
759                                            l_api_name,
760                                            G_PKG_NAME)
761       THEN
762           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
763       END IF;
764 
765 
766       -- Initialize message list if p_init_msg_list is set to TRUE.
767       IF FND_API.to_Boolean( p_init_msg_list )
768       THEN
769           FND_MSG_PUB.initialize;
770       END IF;
771 
772 
773       -- Debug Message
774       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'start');
775 
776 
777       -- Initialize API return status to SUCCESS
778       x_return_status := FND_API.G_RET_STS_SUCCESS;
779 
780       --
781       -- Api body
782       --
783 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
784 /*
785       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
786       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
787       THEN
788           AS_CALLOUT_PKG.Delete_repair_history_BD(
789                   p_api_version_number   =>  2.0,
790                   p_init_msg_list        =>  FND_API.G_FALSE,
791                   p_commit               =>  FND_API.G_FALSE,
792                   p_validation_level     =>  p_validation_level,
793                   p_identity_salesforce_id => p_identity_salesforce_id,
794                   P_REPH_Rec      =>  P_REPH_Rec,
795           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
796                   x_return_status        =>  x_return_status,
797                   x_msg_count            =>  x_msg_count,
798                   x_msg_data             =>  x_msg_data);
799       END IF;
800 */
801 /*
802       AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
803           p_api_version_number => 2.0
804          ,p_salesforce_id => p_identity_salesforce_id
805          ,x_return_status => x_return_status
806          ,x_msg_count => x_msg_count
807          ,x_msg_data => x_msg_data
808          ,x_sales_member_rec => l_identity_sales_member_rec);
809 
810       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
811           RAISE FND_API.G_EXC_ERROR;
812       END IF;
813      */
814 
815       -- Debug Message
816       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD',  'Private API: Calling delete table handler');
817 
818       -- Invoke table handler(CSD_REPAIR_HISTORY_PKG.Delete_Row)
819       CSD_REPAIR_HISTORY_PKG.Delete_Row(
820           p_REPAIR_HISTORY_ID  => p_REPH_rec.REPAIR_HISTORY_ID,
821           p_OBJECT_VERSION_NUMBER  => p_REPH_rec.OBJECT_VERSION_NUMBER);
822       --
823       -- End of API body
824       --
825 
826       -- Standard check for p_commit
827       IF FND_API.to_Boolean( p_commit )
828       THEN
829           COMMIT WORK;
830       END IF;
831 
832 
833       -- Debug Message
834       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'end');
835 
836 
837       -- Standard call to get message count and if count is 1, get message info.
838       FND_MSG_PUB.Count_And_Get
839       (  p_count          =>   x_msg_count,
840          p_data           =>   x_msg_data
841       );
842 
843 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
844 /*
845       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
846       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
847       THEN
848           AS_CALLOUT_PKG.Delete_repair_history_AD(
849                   p_api_version_number   =>  2.0,
850                   p_init_msg_list        =>  FND_API.G_FALSE,
851                   p_commit               =>  FND_API.G_FALSE,
852                   p_validation_level     =>  p_validation_level,
853                   p_identity_salesforce_id => p_identity_salesforce_id,
854                   P_REPH_Rec      =>  P_REPH_Rec,
855           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
856                   x_return_status        =>  x_return_status,
857                   x_msg_count            =>  x_msg_count,
858                   x_msg_data             =>  x_msg_data);
859       END IF;
860 */
861       EXCEPTION
862           WHEN FND_API.G_EXC_ERROR THEN
863               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
864                    P_API_NAME => L_API_NAME
865                   ,P_PKG_NAME => G_PKG_NAME
866                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
867                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
871 --   RAISE;
868                   ,X_MSG_COUNT => X_MSG_COUNT
869                   ,X_MSG_DATA => X_MSG_DATA
870                   ,X_RETURN_STATUS => X_RETURN_STATUS);
872 
873           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
874               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
875                    P_API_NAME => L_API_NAME
876                   ,P_PKG_NAME => G_PKG_NAME
877                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
878                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
879                   ,X_MSG_COUNT => X_MSG_COUNT
880                   ,X_MSG_DATA => X_MSG_DATA
881                   ,X_RETURN_STATUS => X_RETURN_STATUS);
882 --   RAISE;
883 
884           WHEN OTHERS THEN
885               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
886                    P_API_NAME => L_API_NAME
887                   ,P_PKG_NAME => G_PKG_NAME
888                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
889                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
890                   ,X_MSG_COUNT => X_MSG_COUNT
891                   ,X_MSG_DATA => X_MSG_DATA
892                   ,X_RETURN_STATUS => X_RETURN_STATUS);
893 --   RAISE;
894 End Delete_repair_history;
895 
896 
897 -- This procudure defines the columns for the Dynamic SQL.
898 PROCEDURE Define_Columns(
899     P_REPH_Rec   IN  CSD_REPAIR_HISTORY_PVT.REPH_Rec_Type,
900     p_cur_get_REPH   IN   NUMBER
901 )
902 IS
903 BEGIN
904       -- Debug Message
905       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Define Columns Begins');
906 
907       -- define all columns for CSD_REPAIR_HISTORY_V view
908       dbms_sql.define_column(p_cur_get_REPH, 1, P_REPH_Rec.REPAIR_HISTORY_ID);
909       dbms_sql.define_column(p_cur_get_REPH, 2, P_REPH_Rec.REQUEST_ID);
910       dbms_sql.define_column(p_cur_get_REPH, 3, P_REPH_Rec.REPAIR_LINE_ID);
911       dbms_sql.define_column(p_cur_get_REPH, 4, P_REPH_Rec.EVENT_CODE, 30);
912       dbms_sql.define_column(p_cur_get_REPH, 5, P_REPH_Rec.EVENT_MEANING, 80);
913       dbms_sql.define_column(p_cur_get_REPH, 6, P_REPH_Rec.EVENT_DATE);
914       dbms_sql.define_column(p_cur_get_REPH, 7, P_REPH_Rec.QUANTITY);
915       dbms_sql.define_column(p_cur_get_REPH, 8, P_REPH_Rec.PARAMN1);
916       dbms_sql.define_column(p_cur_get_REPH, 9, P_REPH_Rec.PARAMN2);
917       dbms_sql.define_column(p_cur_get_REPH, 10, P_REPH_Rec.PARAMN3);
918       dbms_sql.define_column(p_cur_get_REPH, 11, P_REPH_Rec.PARAMN4);
919       dbms_sql.define_column(p_cur_get_REPH, 12, P_REPH_Rec.PARAMN5);
920       dbms_sql.define_column(p_cur_get_REPH, 13, P_REPH_Rec.PARAMN6);
921       dbms_sql.define_column(p_cur_get_REPH, 14, P_REPH_Rec.PARAMN7);
922       dbms_sql.define_column(p_cur_get_REPH, 15, P_REPH_Rec.PARAMN8);
923       dbms_sql.define_column(p_cur_get_REPH, 16, P_REPH_Rec.PARAMN9);
924       dbms_sql.define_column(p_cur_get_REPH, 17, P_REPH_Rec.PARAMN10);
925       dbms_sql.define_column(p_cur_get_REPH, 18, P_REPH_Rec.PARAMC1, 240);
926       dbms_sql.define_column(p_cur_get_REPH, 19, P_REPH_Rec.PARAMC2, 240);
927       dbms_sql.define_column(p_cur_get_REPH, 20, P_REPH_Rec.PARAMC3, 240);
928       dbms_sql.define_column(p_cur_get_REPH, 21, P_REPH_Rec.PARAMC4, 240);
929       dbms_sql.define_column(p_cur_get_REPH, 22, P_REPH_Rec.PARAMC5, 240);
930       dbms_sql.define_column(p_cur_get_REPH, 23, P_REPH_Rec.PARAMC6, 240);
931       dbms_sql.define_column(p_cur_get_REPH, 24, P_REPH_Rec.PARAMC7, 240);
932       dbms_sql.define_column(p_cur_get_REPH, 25, P_REPH_Rec.PARAMC8, 240);
933       dbms_sql.define_column(p_cur_get_REPH, 26, P_REPH_Rec.PARAMC9, 240);
934       dbms_sql.define_column(p_cur_get_REPH, 27, P_REPH_Rec.PARAMC10, 240);
935       dbms_sql.define_column(p_cur_get_REPH, 28, P_REPH_Rec.PARAMD1);
936       dbms_sql.define_column(p_cur_get_REPH, 29, P_REPH_Rec.PARAMD2);
937       dbms_sql.define_column(p_cur_get_REPH, 30, P_REPH_Rec.PARAMD3);
938       dbms_sql.define_column(p_cur_get_REPH, 31, P_REPH_Rec.PARAMD4);
939       dbms_sql.define_column(p_cur_get_REPH, 32, P_REPH_Rec.PARAMD5);
940       dbms_sql.define_column(p_cur_get_REPH, 33, P_REPH_Rec.PARAMD6);
941       dbms_sql.define_column(p_cur_get_REPH, 34, P_REPH_Rec.PARAMD7);
942       dbms_sql.define_column(p_cur_get_REPH, 35, P_REPH_Rec.PARAMD8);
943       dbms_sql.define_column(p_cur_get_REPH, 36, P_REPH_Rec.PARAMD9);
944       dbms_sql.define_column(p_cur_get_REPH, 37, P_REPH_Rec.PARAMD10);
945       dbms_sql.define_column(p_cur_get_REPH, 38, P_REPH_Rec.ATTRIBUTE_CATEGORY, 30);
946       dbms_sql.define_column(p_cur_get_REPH, 39, P_REPH_Rec.ATTRIBUTE1, 150);
947       dbms_sql.define_column(p_cur_get_REPH, 40, P_REPH_Rec.ATTRIBUTE2, 150);
948       dbms_sql.define_column(p_cur_get_REPH, 41, P_REPH_Rec.ATTRIBUTE3, 150);
949       dbms_sql.define_column(p_cur_get_REPH, 42, P_REPH_Rec.ATTRIBUTE4, 150);
950       dbms_sql.define_column(p_cur_get_REPH, 43, P_REPH_Rec.ATTRIBUTE5, 150);
951       dbms_sql.define_column(p_cur_get_REPH, 44, P_REPH_Rec.ATTRIBUTE6, 150);
952       dbms_sql.define_column(p_cur_get_REPH, 45, P_REPH_Rec.ATTRIBUTE7, 150);
953       dbms_sql.define_column(p_cur_get_REPH, 46, P_REPH_Rec.ATTRIBUTE8, 150);
954       dbms_sql.define_column(p_cur_get_REPH, 47, P_REPH_Rec.ATTRIBUTE9, 150);
955       dbms_sql.define_column(p_cur_get_REPH, 48, P_REPH_Rec.ATTRIBUTE10, 150);
956       dbms_sql.define_column(p_cur_get_REPH, 49, P_REPH_Rec.ATTRIBUTE11, 150);
957       dbms_sql.define_column(p_cur_get_REPH, 50, P_REPH_Rec.ATTRIBUTE12, 150);
958       dbms_sql.define_column(p_cur_get_REPH, 51, P_REPH_Rec.ATTRIBUTE13, 150);
959       dbms_sql.define_column(p_cur_get_REPH, 52, P_REPH_Rec.ATTRIBUTE14, 150);
960       dbms_sql.define_column(p_cur_get_REPH, 53, P_REPH_Rec.ATTRIBUTE15, 150);
961       dbms_sql.define_column(p_cur_get_REPH, 54, P_REPH_Rec.OBJECT_VERSION_NUMBER);
962 
963       -- Debug Message
964       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Define Columns Ends');
965 END Define_Columns;
966 
967 -- This procudure gets column values by the Dynamic SQL.
968 PROCEDURE Get_Column_Values(
972 IS
969     p_cur_get_REPH   IN   NUMBER,
970     X_REPH_Rec   OUT NOCOPY  CSD_REPAIR_HISTORY_PVT.REPH_Rec_Type
971 )
973 BEGIN
974       -- Debug Message
975       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Get Column Values Begins');
976 
977       -- get all column values for CSD_REPAIR_HISTORY_V table
978       dbms_sql.column_value(p_cur_get_REPH, 1, X_REPH_Rec.REPAIR_HISTORY_ID);
979       dbms_sql.column_value(p_cur_get_REPH, 2, X_REPH_Rec.REQUEST_ID);
980       dbms_sql.column_value(p_cur_get_REPH, 3, X_REPH_Rec.REPAIR_LINE_ID);
981       dbms_sql.column_value(p_cur_get_REPH, 4, X_REPH_Rec.EVENT_CODE);
982       dbms_sql.column_value(p_cur_get_REPH, 5, X_REPH_Rec.EVENT_MEANING);
983       dbms_sql.column_value(p_cur_get_REPH, 6, X_REPH_Rec.EVENT_DATE);
984       dbms_sql.column_value(p_cur_get_REPH, 7, X_REPH_Rec.QUANTITY);
985       dbms_sql.column_value(p_cur_get_REPH, 8, X_REPH_Rec.PARAMN1);
986       dbms_sql.column_value(p_cur_get_REPH, 9, X_REPH_Rec.PARAMN2);
987       dbms_sql.column_value(p_cur_get_REPH, 10, X_REPH_Rec.PARAMN3);
988       dbms_sql.column_value(p_cur_get_REPH, 11, X_REPH_Rec.PARAMN4);
989       dbms_sql.column_value(p_cur_get_REPH, 12, X_REPH_Rec.PARAMN5);
990       dbms_sql.column_value(p_cur_get_REPH, 13, X_REPH_Rec.PARAMN6);
991       dbms_sql.column_value(p_cur_get_REPH, 14, X_REPH_Rec.PARAMN7);
992       dbms_sql.column_value(p_cur_get_REPH, 15, X_REPH_Rec.PARAMN8);
993       dbms_sql.column_value(p_cur_get_REPH, 16, X_REPH_Rec.PARAMN9);
994       dbms_sql.column_value(p_cur_get_REPH, 17, X_REPH_Rec.PARAMN10);
995       dbms_sql.column_value(p_cur_get_REPH, 18, X_REPH_Rec.PARAMC1);
996       dbms_sql.column_value(p_cur_get_REPH, 19, X_REPH_Rec.PARAMC2);
997       dbms_sql.column_value(p_cur_get_REPH, 20, X_REPH_Rec.PARAMC3);
998       dbms_sql.column_value(p_cur_get_REPH, 21, X_REPH_Rec.PARAMC4);
999       dbms_sql.column_value(p_cur_get_REPH, 22, X_REPH_Rec.PARAMC5);
1000       dbms_sql.column_value(p_cur_get_REPH, 23, X_REPH_Rec.PARAMC6);
1001       dbms_sql.column_value(p_cur_get_REPH, 24, X_REPH_Rec.PARAMC7);
1002       dbms_sql.column_value(p_cur_get_REPH, 25, X_REPH_Rec.PARAMC8);
1003       dbms_sql.column_value(p_cur_get_REPH, 26, X_REPH_Rec.PARAMC9);
1004       dbms_sql.column_value(p_cur_get_REPH, 27, X_REPH_Rec.PARAMC10);
1005       dbms_sql.column_value(p_cur_get_REPH, 28, X_REPH_Rec.PARAMD1);
1006       dbms_sql.column_value(p_cur_get_REPH, 29, X_REPH_Rec.PARAMD2);
1007       dbms_sql.column_value(p_cur_get_REPH, 30, X_REPH_Rec.PARAMD3);
1008       dbms_sql.column_value(p_cur_get_REPH, 31, X_REPH_Rec.PARAMD4);
1009       dbms_sql.column_value(p_cur_get_REPH, 32, X_REPH_Rec.PARAMD5);
1010       dbms_sql.column_value(p_cur_get_REPH, 33, X_REPH_Rec.PARAMD6);
1011       dbms_sql.column_value(p_cur_get_REPH, 34, X_REPH_Rec.PARAMD7);
1012       dbms_sql.column_value(p_cur_get_REPH, 35, X_REPH_Rec.PARAMD8);
1013       dbms_sql.column_value(p_cur_get_REPH, 36, X_REPH_Rec.PARAMD9);
1014       dbms_sql.column_value(p_cur_get_REPH, 37, X_REPH_Rec.PARAMD10);
1015       dbms_sql.column_value(p_cur_get_REPH, 38, X_REPH_Rec.ATTRIBUTE_CATEGORY);
1016       dbms_sql.column_value(p_cur_get_REPH, 39, X_REPH_Rec.ATTRIBUTE1);
1017       dbms_sql.column_value(p_cur_get_REPH, 40, X_REPH_Rec.ATTRIBUTE2);
1018       dbms_sql.column_value(p_cur_get_REPH, 41, X_REPH_Rec.ATTRIBUTE3);
1019       dbms_sql.column_value(p_cur_get_REPH, 42, X_REPH_Rec.ATTRIBUTE4);
1020       dbms_sql.column_value(p_cur_get_REPH, 43, X_REPH_Rec.ATTRIBUTE5);
1021       dbms_sql.column_value(p_cur_get_REPH, 44, X_REPH_Rec.ATTRIBUTE6);
1022       dbms_sql.column_value(p_cur_get_REPH, 45, X_REPH_Rec.ATTRIBUTE7);
1023       dbms_sql.column_value(p_cur_get_REPH, 46, X_REPH_Rec.ATTRIBUTE8);
1024       dbms_sql.column_value(p_cur_get_REPH, 47, X_REPH_Rec.ATTRIBUTE9);
1025       dbms_sql.column_value(p_cur_get_REPH, 48, X_REPH_Rec.ATTRIBUTE10);
1026       dbms_sql.column_value(p_cur_get_REPH, 49, X_REPH_Rec.ATTRIBUTE11);
1027       dbms_sql.column_value(p_cur_get_REPH, 50, X_REPH_Rec.ATTRIBUTE12);
1028       dbms_sql.column_value(p_cur_get_REPH, 51, X_REPH_Rec.ATTRIBUTE13);
1029       dbms_sql.column_value(p_cur_get_REPH, 52, X_REPH_Rec.ATTRIBUTE14);
1030       dbms_sql.column_value(p_cur_get_REPH, 53, X_REPH_Rec.ATTRIBUTE15);
1031       dbms_sql.column_value(p_cur_get_REPH, 54, X_REPH_Rec.OBJECT_VERSION_NUMBER);
1032 
1033       -- Debug Message
1034       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Get Column Values Ends');
1035 END Get_Column_Values;
1036 
1037 PROCEDURE Gen_REPH_order_cl(
1038     p_order_by_rec   IN   CSD_REPAIR_HISTORY_PVT.REPH_sort_rec_type,
1039     x_order_by_cl    OUT NOCOPY  VARCHAR2,
1040     x_return_status  OUT NOCOPY  VARCHAR2,
1041     x_msg_count      OUT NOCOPY  NUMBER,
1042     x_msg_data       OUT NOCOPY  VARCHAR2
1043 )
1044 IS
1045 l_order_by_cl        VARCHAR2(1000)   := NULL;
1046 l_util_order_by_tbl  JTF_PLSQL_API.Util_order_by_tbl_type;
1047 BEGIN
1048       -- Debug Message
1049       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Generate Order by Begins');
1050 
1051       -- Hint: Developer should add more statements according to CSD_sort_rec_type
1052       -- Ex:
1053       -- l_util_order_by_tbl(1).col_choice := p_order_by_rec.customer_name;
1054       -- l_util_order_by_tbl(1).col_name := 'Customer_Name';
1055 
1056       -- Debug Message
1057       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Invoke JTF_PLSQL_API.Translate_OrderBy');
1058 
1059       JTF_PLSQL_API.Translate_OrderBy(
1060           p_api_version_number   =>   1.0
1061          ,p_init_msg_list        =>   FND_API.G_FALSE
1062          ,p_validation_level     =>   FND_API.G_VALID_LEVEL_FULL
1063          ,p_order_by_tbl         =>   l_util_order_by_tbl
1064          ,x_order_by_clause      =>   l_order_by_cl
1065          ,x_return_status        =>   x_return_status
1066          ,x_msg_count            =>   x_msg_count
1067          ,x_msg_data             =>   x_msg_data);
1068 
1069       IF(l_order_by_cl IS NOT NULL) THEN
1073       END IF;
1070           x_order_by_cl := 'order by' || l_order_by_cl;
1071       ELSE
1072           x_order_by_cl := NULL;
1074 
1075       -- Debug Message
1076       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Generate Order by Ends');
1077 END Gen_REPH_order_cl;
1078 
1079 -- This procedure bind the variables for the Dynamic SQL
1080 PROCEDURE Bind(
1081     P_REPH_Rec   IN   CSD_REPAIR_HISTORY_PVT.REPH_Rec_Type,
1082     -- Hint: Add more binding variables here
1083     p_cur_get_REPH   IN   NUMBER
1084 )
1085 IS
1086 BEGIN
1087       -- Bind variables
1088       -- Only those that are not NULL
1089       -- Debug Message
1090       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Bind Variables Begins');
1091 
1092       -- The following example applies to all columns,
1093       -- developers can copy and paste them.
1094       IF( (P_REPH_Rec.REPAIR_HISTORY_ID IS NOT NULL) AND (P_REPH_Rec.REPAIR_HISTORY_ID <> FND_API.G_MISS_NUM) )
1095       THEN
1096           DBMS_SQL.BIND_VARIABLE(p_cur_get_REPH, ':p_REPAIR_HISTORY_ID', P_REPH_Rec.REPAIR_HISTORY_ID);
1097       END IF;
1098 
1099       -- Debug Message
1100       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Bind Variables Ends');
1101 END Bind;
1102 
1103 PROCEDURE Gen_Select(
1104     x_select_cl   OUT NOCOPY   VARCHAR2
1105 )
1106 IS
1107 BEGIN
1108       -- Debug Message
1109       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Generate Select Begins');
1110 
1111       x_select_cl := 'Select ' ||
1112                 'CSD_REPAIR_HISTORY_V.REPAIR_HISTORY_ID,' ||
1113                 'CSD_REPAIR_HISTORY_V.REQUEST_ID,' ||
1114                 'CSD_REPAIR_HISTORY_V.PROGRAM_ID,' ||
1115                 'CSD_REPAIR_HISTORY_V.PROGRAM_APPLICATION_ID,' ||
1116                 'CSD_REPAIR_HISTORY_V.PROGRAM_UPDATE_DATE,' ||
1117                 'CSD_REPAIR_HISTORY_V.CREATED_BY,' ||
1118                 'CSD_REPAIR_HISTORY_V.CREATION_DATE,' ||
1119                 'CSD_REPAIR_HISTORY_V.LAST_UPDATED_BY,' ||
1120                 'CSD_REPAIR_HISTORY_V.LAST_UPDATE_DATE,' ||
1121                 'CSD_REPAIR_HISTORY_V.LAST_UPDATE_LOGIN,' ||
1122                 'CSD_REPAIR_HISTORY_V.REPAIR_LINE_ID,' ||
1123                 'CSD_REPAIR_HISTORY_V.EVENT_CODE,' ||
1124                 'CSD_REPAIR_HISTORY_V.EVENT_MEANING,' ||
1125                 'CSD_REPAIR_HISTORY_V.EVENT_DATE,' ||
1126                 'CSD_REPAIR_HISTORY_V.QUANTITY,' ||
1127                 'CSD_REPAIR_HISTORY_V.PARAMN1,' ||
1128                 'CSD_REPAIR_HISTORY_V.PARAMN2,' ||
1129                 'CSD_REPAIR_HISTORY_V.PARAMN3,' ||
1130                 'CSD_REPAIR_HISTORY_V.PARAMN4,' ||
1131                 'CSD_REPAIR_HISTORY_V.PARAMN5,' ||
1132                 'CSD_REPAIR_HISTORY_V.PARAMN6,' ||
1133                 'CSD_REPAIR_HISTORY_V.PARAMN7,' ||
1134                 'CSD_REPAIR_HISTORY_V.PARAMN8,' ||
1135                 'CSD_REPAIR_HISTORY_V.PARAMN9,' ||
1136                 'CSD_REPAIR_HISTORY_V.PARAMN10,' ||
1137                 'CSD_REPAIR_HISTORY_V.PARAMC1,' ||
1138                 'CSD_REPAIR_HISTORY_V.PARAMC2,' ||
1139                 'CSD_REPAIR_HISTORY_V.PARAMC3,' ||
1140                 'CSD_REPAIR_HISTORY_V.PARAMC4,' ||
1141                 'CSD_REPAIR_HISTORY_V.PARAMC5,' ||
1142                 'CSD_REPAIR_HISTORY_V.PARAMC6,' ||
1143                 'CSD_REPAIR_HISTORY_V.PARAMC7,' ||
1144                 'CSD_REPAIR_HISTORY_V.PARAMC8,' ||
1145                 'CSD_REPAIR_HISTORY_V.PARAMC9,' ||
1146                 'CSD_REPAIR_HISTORY_V.PARAMC10,' ||
1147                 'CSD_REPAIR_HISTORY_V.PARAMD1,' ||
1148                 'CSD_REPAIR_HISTORY_V.PARAMD2,' ||
1149                 'CSD_REPAIR_HISTORY_V.PARAMD3,' ||
1150                 'CSD_REPAIR_HISTORY_V.PARAMD4,' ||
1151                 'CSD_REPAIR_HISTORY_V.PARAMD5,' ||
1152                 'CSD_REPAIR_HISTORY_V.PARAMD6,' ||
1153                 'CSD_REPAIR_HISTORY_V.PARAMD7,' ||
1154                 'CSD_REPAIR_HISTORY_V.PARAMD8,' ||
1155                 'CSD_REPAIR_HISTORY_V.PARAMD9,' ||
1156                 'CSD_REPAIR_HISTORY_V.PARAMD10,' ||
1157                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE_CATEGORY,' ||
1158                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE1,' ||
1159                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE2,' ||
1160                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE3,' ||
1161                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE4,' ||
1162                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE5,' ||
1163                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE6,' ||
1164                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE7,' ||
1165                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE8,' ||
1166                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE9,' ||
1167                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE10,' ||
1168                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE11,' ||
1169                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE12,' ||
1170                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE13,' ||
1171                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE14,' ||
1172                 'CSD_REPAIR_HISTORY_V.ATTRIBUTE15,' ||
1173                 'CSD_REPAIR_HISTORY_V.OBJECT_VERSION_NUMBER' ||
1174                 'from CSD_REPAIR_HISTORY_V';
1175       -- Debug Message
1176       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Generate Select Ends');
1177 
1178 END Gen_Select;
1179 
1180 PROCEDURE Gen_REPH_Where(
1181     P_REPH_Rec     IN   CSD_REPAIR_HISTORY_PVT.REPH_Rec_Type,
1182     x_REPH_where   OUT NOCOPY   VARCHAR2
1183 )
1184 IS
1185 -- cursors to check if wildcard values '%' and '_' have been passed
1186 -- as item values
1187 CURSOR c_chk_str1(p_rec_item VARCHAR2) IS
1188     SELECT INSTR(p_rec_item, '%', 1, 1)
1189     FROM DUAL;
1190 CURSOR c_chk_str2(p_rec_item VARCHAR2) IS
1191     SELECT INSTR(p_rec_item, '_', 1, 1)
1192     FROM DUAL;
1193 
1194 -- return values from cursors
1198 BEGIN
1195 str_csr1   NUMBER;
1196 str_csr2   NUMBER;
1197 l_operator VARCHAR2(10);
1199       -- Debug Message
1200       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Generate Where Begins');
1201 
1202       -- There are three examples for each kind of datatype:
1203       -- NUMBER, DATE, VARCHAR2.
1204       -- Developer can copy and paste the following codes for your own record.
1205 
1206       -- example for NUMBER datatype
1207       IF( (P_REPH_Rec.REPAIR_HISTORY_ID IS NOT NULL) AND (P_REPH_Rec.REPAIR_HISTORY_ID <> FND_API.G_MISS_NUM) )
1208       THEN
1209           IF(x_REPH_where IS NULL) THEN
1210               x_REPH_where := 'Where';
1211           ELSE
1212               x_REPH_where := x_REPH_where || ' AND ';
1213           END IF;
1214           x_REPH_where := x_REPH_where || 'P_REPH_Rec.REPAIR_HISTORY_ID = :p_REPAIR_HISTORY_ID';
1215       END IF;
1216 
1217       -- example for DATE datatype
1218       IF( (P_REPH_Rec.PROGRAM_UPDATE_DATE IS NOT NULL) AND (P_REPH_Rec.PROGRAM_UPDATE_DATE <> FND_API.G_MISS_DATE) )
1219       THEN
1220           -- check if item value contains '%' wildcard
1221           OPEN c_chk_str1(P_REPH_Rec.PROGRAM_UPDATE_DATE);
1222           FETCH c_chk_str1 INTO str_csr1;
1223           CLOSE c_chk_str1;
1224 
1225           IF(str_csr1 <> 0) THEN
1226               l_operator := ' LIKE ';
1227           ELSE
1228               l_operator := ' = ';
1229           END IF;
1230 
1231           -- check if item value contains '_' wildcard
1232           OPEN c_chk_str2(P_REPH_Rec.PROGRAM_UPDATE_DATE);
1233           FETCH c_chk_str2 INTO str_csr2;
1234           CLOSE c_chk_str2;
1235 
1236           IF(str_csr2 <> 0) THEN
1237               l_operator := ' LIKE ';
1238           ELSE
1239               l_operator := ' = ';
1240           END IF;
1241 
1242           IF(x_REPH_where IS NULL) THEN
1243               x_REPH_where := 'Where ';
1244           ELSE
1245               x_REPH_where := x_REPH_where || ' AND ';
1246           END IF;
1247           x_REPH_where := x_REPH_where || 'P_REPH_Rec.PROGRAM_UPDATE_DATE ' || l_operator || ' :p_PROGRAM_UPDATE_DATE';
1248       END IF;
1249 
1250       -- example for VARCHAR2 datatype
1251       IF( (P_REPH_Rec.EVENT_CODE IS NOT NULL) AND (P_REPH_Rec.EVENT_CODE <> FND_API.G_MISS_CHAR) )
1252       THEN
1253           -- check if item value contains '%' wildcard
1254           OPEN c_chk_str1(P_REPH_Rec.EVENT_CODE);
1255           FETCH c_chk_str1 INTO str_csr1;
1256           CLOSE c_chk_str1;
1257 
1258           IF(str_csr1 <> 0) THEN
1259               l_operator := ' LIKE ';
1260           ELSE
1261               l_operator := ' = ';
1262           END IF;
1263 
1264           -- check if item value contains '_' wildcard
1265           OPEN c_chk_str2(P_REPH_Rec.EVENT_CODE);
1266           FETCH c_chk_str2 INTO str_csr2;
1267           CLOSE c_chk_str2;
1268 
1269           IF(str_csr2 <> 0) THEN
1270               l_operator := ' LIKE ';
1271           ELSE
1272               l_operator := ' = ';
1273           END IF;
1274 
1275           IF(x_REPH_where IS NULL) THEN
1276               x_REPH_where := 'Where ';
1277           ELSE
1278               x_REPH_where := x_REPH_where || ' AND ';
1279           END IF;
1280           x_REPH_where := x_REPH_where || 'P_REPH_Rec.EVENT_CODE ' || l_operator || ' :p_EVENT_CODE';
1281       END IF;
1282 
1283       -- Add more IF statements for each column below
1284 
1285       -- Debug Message
1286       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Generate Where Ends');
1287 
1288 END Gen_REPH_Where;
1289 
1290 PROCEDURE Get_repair_history(
1291     P_Api_Version_Number         IN   NUMBER,
1292     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1293     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
1294     P_identity_salesforce_id     IN   NUMBER       := NULL,
1295     P_REPH_Rec     IN    REPH_Rec_Type,
1296   -- Hint: Add list of bind variables here
1297     p_rec_requested              IN   NUMBER  := G_DEFAULT_NUM_REC_FETCH,
1298     p_start_rec_prt              IN   NUMBER  := 1,
1299     p_return_tot_count           IN   NUMBER  := FND_API.G_FALSE,
1300   -- Hint: user defined record type
1301     p_order_by_rec               IN   REPH_sort_rec_type,
1302     x_return_status              OUT NOCOPY  VARCHAR2,
1303     x_msg_count                  OUT NOCOPY  NUMBER,
1304     x_msg_data                   OUT NOCOPY  VARCHAR2,
1305     X_REPH_Tbl  OUT NOCOPY  REPH_Tbl_Type,
1306     x_returned_rec_count         OUT NOCOPY  NUMBER,
1307     x_next_rec_ptr               OUT NOCOPY  NUMBER,
1308     x_tot_rec_count              OUT NOCOPY  NUMBER
1309   -- other optional parameters
1310 --  x_tot_rec_amount             OUT NOCOPY  NUMBER
1311     )
1312 
1313  IS
1314 l_api_name                CONSTANT VARCHAR2(30) := 'Get_repair_history';
1315 l_api_version_number      CONSTANT NUMBER   := 2.0;
1316 
1317 -- Local identity variables
1318 l_identity_sales_member_rec  AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
1319 
1320 -- Local record counters
1321 l_returned_rec_count     NUMBER := 0; -- number of records returned in x_X_REPH_Rec
1322 l_next_record_ptr        NUMBER := 1;
1323 l_ignore                 NUMBER;
1324 
1325 -- total number of records accessable by caller
1326 l_tot_rec_count          NUMBER := 0;
1327 l_tot_rec_amount         NUMBER := 0;
1328 
1329 -- Status local variables
1330 l_return_status          VARCHAR2(1); -- Return value from procedures
1331 l_return_status_full     VARCHAR2(1); -- Calculated return status from
1332 
1333 -- Dynamic SQL statement elements
1334 l_cur_get_REPH           NUMBER;
1335 l_select_cl              VARCHAR2(2000) := '';
1339 -- For flex field query
1336 l_order_by_cl            VARCHAR2(2000);
1337 l_REPH_where    VARCHAR2(2000) := '';
1338 
1340 l_flex_where_tbl_type    AS_FOUNDATION_PVT.flex_where_tbl_type;
1341 l_flex_where             VARCHAR2(2000) := NULL;
1342 l_counter                NUMBER;
1343 
1344 -- Local scratch record
1345 l_REPH_rec CSD_REPAIR_HISTORY_Pvt.REPH_Rec_Type;
1346 l_crit_REPH_rec CSD_REPAIR_HISTORY_Pvt.REPH_Rec_Type;
1347  BEGIN
1348       -- Standard Start of API savepoint
1349       SAVEPOINT GET_REPAIR_HISTORY_PVT;
1350 
1351       -- Standard call to check for call compatibility.
1352       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1353                                          p_api_version_number,
1354                                            l_api_name,
1355                                            G_PKG_NAME)
1356       THEN
1357           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1358       END IF;
1359 
1360 
1361       -- Initialize message list if p_init_msg_list is set to TRUE.
1362       IF FND_API.to_Boolean( p_init_msg_list )
1363       THEN
1364           FND_MSG_PUB.initialize;
1365       END IF;
1366 
1367 
1368       -- Debug Message
1369       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'start');
1370 
1371 
1372       -- Initialize API return status to SUCCESS
1373       x_return_status := FND_API.G_RET_STS_SUCCESS;
1374 
1375       --
1376       -- Api body
1377       --
1378 /*
1379       AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
1380           p_api_version_number => 2.0
1381          ,p_salesforce_id => p_identity_salesforce_id
1382          ,x_return_status => x_return_status
1383          ,x_msg_count => x_msg_count
1384          ,x_msg_data => x_msg_data
1385          ,x_sales_member_rec => l_identity_sales_member_rec);
1386 */
1387       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1388           RAISE FND_API.G_EXC_ERROR;
1389       END IF;
1390 
1391       -- *************************************************
1392       -- Generate Dynamic SQL based on criteria passed in.
1393       -- Doing this for performance. Indexes are disabled when using NVL within static SQL statement.
1394       -- Ignore condition when criteria is NULL
1395       -- Debug Message
1396       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Generating Dsql');
1397       -- Generate Select clause and From clause
1398       -- Hint: Developer should modify Gen_Select procedure.
1399       Gen_Select(l_select_cl);
1400 
1401       -- Hint: Developer should modify and implement Gen_Where precedure.
1402       Gen_REPH_Where(l_crit_REPH_rec, l_REPH_where);
1403 
1404       -- Generate Where clause for flex fields
1405       -- Hint: Developer can use table/view alias in the From clause generated in Gen_Select procedure
1406 
1407       FOR l_counter IN 1..15 LOOP
1408           l_flex_where_tbl_type(l_counter).name := 'CSD_REPAIR_HISTORY_V.attribute' || l_counter;
1409       END LOOP;
1410 
1411       l_flex_where_tbl_type(16).name := 'CSD_REPAIR_HISTORY_V.attribute_category';
1412       l_flex_where_tbl_type(1).value := P_REPH_Rec.attribute1;
1413       l_flex_where_tbl_type(2).value := P_REPH_Rec.attribute2;
1414       l_flex_where_tbl_type(3).value := P_REPH_Rec.attribute3;
1415       l_flex_where_tbl_type(4).value := P_REPH_Rec.attribute4;
1416       l_flex_where_tbl_type(5).value := P_REPH_Rec.attribute5;
1417       l_flex_where_tbl_type(6).value := P_REPH_Rec.attribute6;
1418       l_flex_where_tbl_type(7).value := P_REPH_Rec.attribute7;
1419       l_flex_where_tbl_type(8).value := P_REPH_Rec.attribute8;
1420       l_flex_where_tbl_type(9).value := P_REPH_Rec.attribute9;
1421       l_flex_where_tbl_type(10).value := P_REPH_Rec.attribute10;
1422       l_flex_where_tbl_type(11).value := P_REPH_Rec.attribute11;
1423       l_flex_where_tbl_type(12).value := P_REPH_Rec.attribute12;
1424       l_flex_where_tbl_type(13).value := P_REPH_Rec.attribute13;
1425       l_flex_where_tbl_type(14).value := P_REPH_Rec.attribute14;
1426       l_flex_where_tbl_type(15).value := P_REPH_Rec.attribute15;
1427       l_flex_where_tbl_type(16).value := P_REPH_Rec.attribute_category;
1428 
1429       AS_FOUNDATION_PVT.Gen_Flexfield_Where(
1430           p_flex_where_tbl_type   => l_flex_where_tbl_type,
1431           x_flex_where_clause     => l_flex_where);
1432 
1433       -- Hint: if master/detail relationship, generate Where clause for lines level criteria
1434       -- Generate order by clause
1435       Gen_REPH_order_cl(p_order_by_rec, l_order_by_cl, l_return_status, x_msg_count, x_msg_data);
1436 
1437       -- Debug Message
1438       JTF_PLSQL_API.Debug_message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Open and Parse Cursor');
1439 
1440       l_cur_get_REPH := dbms_sql.open_cursor;
1441 
1442       -- Hint: concatenate all where clause (include flex field/line level if any applies)
1443       --    dbms_sql.parse(l_cur_get_REPH, l_select_cl || l_head_where || l_flex_where || l_lines_where
1444       --    || l_steam_where || l_order_by_cl, dbms_sql.native);
1445 
1446       -- Hint: Developer should implement Bind Variables procedure according to bind variables in the parameter list
1447       -- Bind(l_crit_REPH_rec, l_crit_exp_purchase_rec, p_start_date, p_end_date,
1448       --      p_crit_exp_salesforce_id, p_crit_ptr_salesforce_id,
1449       --      p_crit_salesgroup_id, p_crit_ptr_manager_person_id,
1450       --      p_win_prob_ceiling, p_win_prob_floor,
1451       --      p_total_amt_ceiling, p_total_amt_floor,
1452       --      l_cur_get_REPH);
1453 
1454       -- Bind flexfield variables
1455       AS_FOUNDATION_PVT.Bind_Flexfield_Where(
1456           p_cursor_id   =>   l_cur_get_REPH,
1457           p_flex_where_tbl_type => l_flex_where_tbl_type);
1458 
1459       -- Define all Select Columns
1460       Define_Columns(l_crit_REPH_rec, l_cur_get_REPH);
1461 
1465 
1462       -- Execute
1463       -- Debug Message
1464       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Execute Dsql');
1466       l_ignore := dbms_sql.execute(l_cur_get_REPH);
1467 
1468       -- Debug Message
1469       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: Fetch Results');
1470 
1471       -- This loop is here to avoid calling a function in the main
1472       -- cursor. Basically, calling this function seems to disable
1473       -- index, but verification is needed. This is a good
1474       -- place to optimize the code if required.
1475 
1476       LOOP
1477       -- 1. There are more rows in the cursor.
1478       -- 2. User does not care about total records, and we need to return more.
1479       -- 3. Or user cares about total number of records.
1480       IF((dbms_sql.fetch_rows(l_cur_get_REPH)>0) AND ((p_return_tot_count = FND_API.G_TRUE)
1481         OR (l_returned_rec_count<p_rec_requested) OR (p_rec_requested=FND_API.G_MISS_NUM)))
1482       THEN
1483           -- Debug Message
1484           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: found');
1485 
1486           -- Hint: Developer need to implement this part
1487           --      dbms_sql.column_value(l_cur_get_opp, 1, l_opp_rec.lead_id);
1488           --      dbms_sql.column_value(l_cur_get_opp, 7, l_opp_rec.customer_id);
1489           --      dbms_sql.column_value(l_cur_get_opp, 8, l_opp_rec.address_id);
1490 
1491           -- Hint: Check access for this record (e.x. AS_ACCESS_PVT.Has_OpportunityAccess)
1492           -- Return this particular record if
1493           -- 1. The caller has access to record.
1494           -- 2. The number of records returned < number of records caller requested in this run.
1495           -- 3. The record comes AFTER or Equal to the start index the caller requested.
1496 
1497           -- Developer should check whether there is access privilege here
1498 --          IF(l_REPH_rec.member_access <> 'N' OR l_REPH_rec.member_role <> 'N') THEN
1499               Get_Column_Values(l_cur_get_REPH, l_REPH_rec);
1500               l_tot_rec_count := l_tot_rec_count + 1;
1501               IF(l_returned_rec_count < p_rec_requested) AND (l_tot_rec_count >= p_start_rec_prt) THEN
1502                   l_returned_rec_count := l_returned_rec_count + 1;
1503                   -- insert into resultant tables
1504                   X_REPH_Tbl(l_returned_rec_count) := l_REPH_rec;
1505               END IF;
1506 --          END IF;
1507       ELSE
1508           EXIT;
1509       END IF;
1510       END LOOP;
1511       --
1512       -- End of API body
1513       --
1514 
1515       -- Debug Message
1516       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'end');
1517 
1518 
1519       -- Standard call to get message count and if count is 1, get message info.
1520       FND_MSG_PUB.Count_And_Get
1521       (  p_count          =>   x_msg_count,
1522          p_data           =>   x_msg_data
1523       );
1524 
1525       EXCEPTION
1526           WHEN FND_API.G_EXC_ERROR THEN
1527               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1528                    P_API_NAME => L_API_NAME
1529                   ,P_PKG_NAME => G_PKG_NAME
1530                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1531                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1532                   ,X_MSG_COUNT => X_MSG_COUNT
1533                   ,X_MSG_DATA => X_MSG_DATA
1534                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1535 --   RAISE;
1536 
1537           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1538               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1539                    P_API_NAME => L_API_NAME
1540                   ,P_PKG_NAME => G_PKG_NAME
1541                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1542                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1543                   ,X_MSG_COUNT => X_MSG_COUNT
1544                   ,X_MSG_DATA => X_MSG_DATA
1545                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1546 --   RAISE;
1547 
1548           WHEN OTHERS THEN
1549               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1550                    P_API_NAME => L_API_NAME
1551                   ,P_PKG_NAME => G_PKG_NAME
1552                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
1553                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1554                   ,X_MSG_COUNT => X_MSG_COUNT
1555                   ,X_MSG_DATA => X_MSG_DATA
1556                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1557 --   RAISE;
1558 End Get_repair_history;
1559 
1560 
1561 -- Item-level validation procedures
1562 PROCEDURE Validate_REPAIR_HISTORY_ID (
1563     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1564     P_Validation_mode            IN   VARCHAR2,
1565     P_REPAIR_HISTORY_ID                IN   NUMBER,
1566     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1567     X_Return_Status              OUT NOCOPY  VARCHAR2,
1568     X_Msg_Count                  OUT NOCOPY  NUMBER,
1569     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1570     )
1571 IS
1572 BEGIN
1573 
1574       -- Initialize message list if p_init_msg_list is set to TRUE.
1575       IF FND_API.to_Boolean( p_init_msg_list )
1576       THEN
1577           FND_MSG_PUB.initialize;
1578       END IF;
1579 
1580 
1581       -- Initialize API return status to SUCCESS
1582       x_return_status := FND_API.G_RET_STS_SUCCESS;
1583 
1584       -- validate NOT NULL column
1585       IF(p_REPAIR_HISTORY_ID is NULL)
1586       THEN
1587           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSD', 'Private repair_history API: -Violate NOT NULL constraint(REPAIR_HISTORY_ID)');
1588           x_return_status := FND_API.G_RET_STS_ERROR;
1592       THEN
1589       END IF;
1590 
1591       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1593           -- Hint: Validate data
1594           -- IF p_REPAIR_HISTORY_ID is not NULL and p_REPAIR_HISTORY_ID <> G_MISS_CHAR
1595           -- verify if data is valid
1596           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1597           NULL;
1598       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1599       THEN
1600           -- Hint: Validate data
1601           -- IF p_REPAIR_HISTORY_ID <> G_MISS_CHAR
1602           -- verify if data is valid
1603           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1604           NULL;
1605       END IF;
1606 
1607       -- Standard call to get message count and if count is 1, get message info.
1608       FND_MSG_PUB.Count_And_Get
1609       (  p_count          =>   x_msg_count,
1610          p_data           =>   x_msg_data
1611       );
1612 
1613 END Validate_REPAIR_HISTORY_ID;
1614 
1615 
1616 PROCEDURE Validate_REQUEST_ID (
1617     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1618     P_Validation_mode            IN   VARCHAR2,
1619     P_REQUEST_ID                IN   NUMBER,
1620     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1621     X_Return_Status              OUT NOCOPY  VARCHAR2,
1622     X_Msg_Count                  OUT NOCOPY  NUMBER,
1623     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1624     )
1625 IS
1626 BEGIN
1627 
1628       -- Initialize message list if p_init_msg_list is set to TRUE.
1629       IF FND_API.to_Boolean( p_init_msg_list )
1630       THEN
1631           FND_MSG_PUB.initialize;
1632       END IF;
1633 
1634 
1635       -- Initialize API return status to SUCCESS
1636       x_return_status := FND_API.G_RET_STS_SUCCESS;
1637 
1638       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1639       THEN
1640           -- Hint: Validate data
1641           -- IF p_REQUEST_ID is not NULL and p_REQUEST_ID <> G_MISS_CHAR
1642           -- verify if data is valid
1643           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1644           NULL;
1645       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1646       THEN
1647           -- Hint: Validate data
1648           -- IF p_REQUEST_ID <> G_MISS_CHAR
1649           -- verify if data is valid
1650           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1651           NULL;
1652       END IF;
1653 
1654       -- Standard call to get message count and if count is 1, get message info.
1655       FND_MSG_PUB.Count_And_Get
1656       (  p_count          =>   x_msg_count,
1657          p_data           =>   x_msg_data
1658       );
1659 
1660 END Validate_REQUEST_ID;
1661 
1662 
1663 PROCEDURE Validate_REPAIR_LINE_ID (
1664     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1665     P_Validation_mode            IN   VARCHAR2,
1666     P_REPAIR_LINE_ID                IN   NUMBER,
1667     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1668     X_Return_Status              OUT NOCOPY  VARCHAR2,
1669     X_Msg_Count                  OUT NOCOPY  NUMBER,
1670     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1671     )
1672 IS
1673 BEGIN
1674 
1675       -- Initialize message list if p_init_msg_list is set to TRUE.
1676       IF FND_API.to_Boolean( p_init_msg_list )
1677       THEN
1678           FND_MSG_PUB.initialize;
1679       END IF;
1680 
1681 
1682       -- Initialize API return status to SUCCESS
1683       x_return_status := FND_API.G_RET_STS_SUCCESS;
1684 
1685       -- validate NOT NULL column
1686       IF(p_REPAIR_LINE_ID is NULL)
1687       THEN
1688           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSD', 'Private repair_history API: -Violate NOT NULL constraint(REPAIR_LINE_ID)');
1689           x_return_status := FND_API.G_RET_STS_ERROR;
1690       END IF;
1691 
1692       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1693       THEN
1694           -- Hint: Validate data
1695           -- IF p_REPAIR_LINE_ID is not NULL and p_REPAIR_LINE_ID <> G_MISS_CHAR
1696           -- verify if data is valid
1697           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1698           NULL;
1699       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1700       THEN
1701           -- Hint: Validate data
1702           -- IF p_REPAIR_LINE_ID <> G_MISS_CHAR
1703           -- verify if data is valid
1704           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1705           NULL;
1706       END IF;
1707 
1708       -- Standard call to get message count and if count is 1, get message info.
1709       FND_MSG_PUB.Count_And_Get
1710       (  p_count          =>   x_msg_count,
1711          p_data           =>   x_msg_data
1712       );
1713 
1714 END Validate_REPAIR_LINE_ID;
1715 
1716 
1717 PROCEDURE Validate_EVENT_CODE (
1718     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1719     P_Validation_mode            IN   VARCHAR2,
1720     P_EVENT_CODE                IN   VARCHAR2,
1721     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1722     X_Return_Status              OUT NOCOPY  VARCHAR2,
1723     X_Msg_Count                  OUT NOCOPY  NUMBER,
1724     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1725     )
1726 IS
1727 BEGIN
1728 
1729       -- Initialize message list if p_init_msg_list is set to TRUE.
1730       IF FND_API.to_Boolean( p_init_msg_list )
1731       THEN
1735 
1732           FND_MSG_PUB.initialize;
1733       END IF;
1734 
1736       -- Initialize API return status to SUCCESS
1737       x_return_status := FND_API.G_RET_STS_SUCCESS;
1738 
1739       -- validate NOT NULL column
1740       IF(p_EVENT_CODE is NULL)
1741       THEN
1742           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSD', 'Private repair_history API: -Violate NOT NULL constraint(EVENT_CODE)');
1743           x_return_status := FND_API.G_RET_STS_ERROR;
1744       END IF;
1745 
1746       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1747       THEN
1748           -- Hint: Validate data
1749           -- IF p_EVENT_CODE is not NULL and p_EVENT_CODE <> G_MISS_CHAR
1750           -- verify if data is valid
1751           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1752           NULL;
1753       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1754       THEN
1755           -- Hint: Validate data
1756           -- IF p_EVENT_CODE <> G_MISS_CHAR
1757           -- verify if data is valid
1758           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1759           NULL;
1760       END IF;
1761 
1762       -- Standard call to get message count and if count is 1, get message info.
1763       FND_MSG_PUB.Count_And_Get
1764       (  p_count          =>   x_msg_count,
1765          p_data           =>   x_msg_data
1766       );
1767 
1768 END Validate_EVENT_CODE;
1769 
1770 
1771 
1772 
1773 PROCEDURE Validate_EVENT_meaning (
1774     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1775     P_Validation_mode            IN   VARCHAR2,
1776     P_EVENT_meaning                IN   VARCHAR2,
1777     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1778     X_Return_Status              OUT NOCOPY  VARCHAR2,
1779     X_Msg_Count                  OUT NOCOPY  NUMBER,
1780     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1781     )
1782 IS
1783 BEGIN
1784 
1785       -- Initialize message list if p_init_msg_list is set to TRUE.
1786       IF FND_API.to_Boolean( p_init_msg_list )
1787       THEN
1788           FND_MSG_PUB.initialize;
1789       END IF;
1790 
1791 
1792       -- Initialize API return status to SUCCESS
1793       x_return_status := FND_API.G_RET_STS_SUCCESS;
1794 
1795       -- validate NOT NULL column
1796       IF(p_EVENT_meaning is NULL)
1797       THEN
1798           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSD', 'Private repair_history API: -Violate NOT NULL constraint(EVENT_MEANING)');
1799           x_return_status := FND_API.G_RET_STS_ERROR;
1800       END IF;
1801 
1802       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1803       THEN
1804           -- Hint: Validate data
1805           -- IF p_EVENT_meaning is not NULL and p_EVENT_meaning <> G_MISS_CHAR
1806           -- verify if data is valid
1807           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1808           NULL;
1809       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1810       THEN
1811           -- Hint: Validate data
1812           -- IF p_EVENT_meaning <> G_MISS_CHAR
1813           -- verify if data is valid
1814           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1815           NULL;
1816       END IF;
1817 
1818       -- Standard call to get message count and if count is 1, get message info.
1819       FND_MSG_PUB.Count_And_Get
1820       (  p_count          =>   x_msg_count,
1821          p_data           =>   x_msg_data
1822       );
1823 
1824 END Validate_EVENT_meaning;
1825 
1826 
1827 PROCEDURE Validate_EVENT_DATE (
1828     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1829     P_Validation_mode            IN   VARCHAR2,
1830     P_EVENT_DATE                IN   DATE,
1831     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1832     X_Return_Status              OUT NOCOPY  VARCHAR2,
1833     X_Msg_Count                  OUT NOCOPY  NUMBER,
1834     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1835     )
1836 IS
1837 BEGIN
1838 
1839       -- Initialize message list if p_init_msg_list is set to TRUE.
1840       IF FND_API.to_Boolean( p_init_msg_list )
1841       THEN
1842           FND_MSG_PUB.initialize;
1843       END IF;
1844 
1845 
1846       -- Initialize API return status to SUCCESS
1847       x_return_status := FND_API.G_RET_STS_SUCCESS;
1848 
1849       -- validate NOT NULL column
1850       IF(p_EVENT_DATE is NULL)
1851       THEN
1852           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSD', 'Private repair_history API: -Violate NOT NULL constraint(EVENT_DATE)');
1853           x_return_status := FND_API.G_RET_STS_ERROR;
1854       END IF;
1855 
1856       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1857       THEN
1858           -- Hint: Validate data
1859           -- IF p_EVENT_DATE is not NULL and p_EVENT_DATE <> G_MISS_CHAR
1860           -- verify if data is valid
1861           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1862           NULL;
1863       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1864       THEN
1865           -- Hint: Validate data
1866           -- IF p_EVENT_DATE <> G_MISS_CHAR
1867           -- verify if data is valid
1868           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1869           NULL;
1870       END IF;
1871 
1872       -- Standard call to get message count and if count is 1, get message info.
1873       FND_MSG_PUB.Count_And_Get
1874       (  p_count          =>   x_msg_count,
1875          p_data           =>   x_msg_data
1876       );
1880 
1877 
1878 END Validate_EVENT_DATE;
1879 
1881 PROCEDURE Validate_QUANTITY (
1882     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1883     P_Validation_mode            IN   VARCHAR2,
1884     P_QUANTITY                IN   NUMBER,
1885     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1886     X_Return_Status              OUT NOCOPY  VARCHAR2,
1887     X_Msg_Count                  OUT NOCOPY  NUMBER,
1888     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1889     )
1890 IS
1891 BEGIN
1892 
1893       -- Initialize message list if p_init_msg_list is set to TRUE.
1894       IF FND_API.to_Boolean( p_init_msg_list )
1895       THEN
1896           FND_MSG_PUB.initialize;
1897       END IF;
1898 
1899 
1900       -- Initialize API return status to SUCCESS
1901       x_return_status := FND_API.G_RET_STS_SUCCESS;
1902 
1903       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1904       THEN
1905           -- Hint: Validate data
1906           -- IF p_QUANTITY is not NULL and p_QUANTITY <> G_MISS_CHAR
1907           -- verify if data is valid
1908           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1909           NULL;
1910       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1911       THEN
1912           -- Hint: Validate data
1913           -- IF p_QUANTITY <> G_MISS_CHAR
1914           -- verify if data is valid
1915           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1916           NULL;
1917       END IF;
1918 
1919       -- Standard call to get message count and if count is 1, get message info.
1920       FND_MSG_PUB.Count_And_Get
1921       (  p_count          =>   x_msg_count,
1922          p_data           =>   x_msg_data
1923       );
1924 
1925 END Validate_QUANTITY;
1926 
1927 
1928 PROCEDURE Validate_PARAMN1 (
1929     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1930     P_Validation_mode            IN   VARCHAR2,
1931     P_PARAMN1                IN   NUMBER,
1932     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1933     X_Return_Status              OUT NOCOPY  VARCHAR2,
1934     X_Msg_Count                  OUT NOCOPY  NUMBER,
1935     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1936     )
1937 IS
1938 BEGIN
1939 
1940       -- Initialize message list if p_init_msg_list is set to TRUE.
1941       IF FND_API.to_Boolean( p_init_msg_list )
1942       THEN
1943           FND_MSG_PUB.initialize;
1944       END IF;
1945 
1946 
1947       -- Initialize API return status to SUCCESS
1948       x_return_status := FND_API.G_RET_STS_SUCCESS;
1949 
1950       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1951       THEN
1952           -- Hint: Validate data
1953           -- IF p_PARAMN1 is not NULL and p_PARAMN1 <> G_MISS_CHAR
1954           -- verify if data is valid
1955           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1956           NULL;
1957       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1958       THEN
1959           -- Hint: Validate data
1960           -- IF p_PARAMN1 <> G_MISS_CHAR
1961           -- verify if data is valid
1962           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1963           NULL;
1964       END IF;
1965 
1966       -- Standard call to get message count and if count is 1, get message info.
1967       FND_MSG_PUB.Count_And_Get
1968       (  p_count          =>   x_msg_count,
1969          p_data           =>   x_msg_data
1970       );
1971 
1972 END Validate_PARAMN1;
1973 
1974 
1975 PROCEDURE Validate_PARAMN2 (
1976     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1977     P_Validation_mode            IN   VARCHAR2,
1978     P_PARAMN2                IN   NUMBER,
1979     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1980     X_Return_Status              OUT NOCOPY  VARCHAR2,
1981     X_Msg_Count                  OUT NOCOPY  NUMBER,
1982     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1983     )
1984 IS
1985 BEGIN
1986 
1987       -- Initialize message list if p_init_msg_list is set to TRUE.
1988       IF FND_API.to_Boolean( p_init_msg_list )
1989       THEN
1990           FND_MSG_PUB.initialize;
1991       END IF;
1992 
1993 
1994       -- Initialize API return status to SUCCESS
1995       x_return_status := FND_API.G_RET_STS_SUCCESS;
1996 
1997       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1998       THEN
1999           -- Hint: Validate data
2000           -- IF p_PARAMN2 is not NULL and p_PARAMN2 <> G_MISS_CHAR
2001           -- verify if data is valid
2002           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2003           NULL;
2004       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2005       THEN
2006           -- Hint: Validate data
2007           -- IF p_PARAMN2 <> G_MISS_CHAR
2008           -- verify if data is valid
2009           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2010           NULL;
2011       END IF;
2012 
2013       -- Standard call to get message count and if count is 1, get message info.
2014       FND_MSG_PUB.Count_And_Get
2015       (  p_count          =>   x_msg_count,
2016          p_data           =>   x_msg_data
2017       );
2018 
2019 END Validate_PARAMN2;
2020 
2021 
2022 PROCEDURE Validate_PARAMN3 (
2023     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2024     P_Validation_mode            IN   VARCHAR2,
2025     P_PARAMN3                IN   NUMBER,
2026     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2027     X_Return_Status              OUT NOCOPY  VARCHAR2,
2028     X_Msg_Count                  OUT NOCOPY  NUMBER,
2029     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2030     )
2031 IS
2032 BEGIN
2033 
2034       -- Initialize message list if p_init_msg_list is set to TRUE.
2035       IF FND_API.to_Boolean( p_init_msg_list )
2036       THEN
2037           FND_MSG_PUB.initialize;
2038       END IF;
2039 
2040 
2041       -- Initialize API return status to SUCCESS
2042       x_return_status := FND_API.G_RET_STS_SUCCESS;
2043 
2044       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2045       THEN
2046           -- Hint: Validate data
2047           -- IF p_PARAMN3 is not NULL and p_PARAMN3 <> G_MISS_CHAR
2048           -- verify if data is valid
2049           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2050           NULL;
2051       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2052       THEN
2053           -- Hint: Validate data
2054           -- IF p_PARAMN3 <> G_MISS_CHAR
2055           -- verify if data is valid
2056           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2057           NULL;
2058       END IF;
2059 
2060       -- Standard call to get message count and if count is 1, get message info.
2061       FND_MSG_PUB.Count_And_Get
2062       (  p_count          =>   x_msg_count,
2063          p_data           =>   x_msg_data
2064       );
2065 
2066 END Validate_PARAMN3;
2067 
2068 
2069 PROCEDURE Validate_PARAMN4 (
2070     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2071     P_Validation_mode            IN   VARCHAR2,
2072     P_PARAMN4                IN   NUMBER,
2073     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2074     X_Return_Status              OUT NOCOPY  VARCHAR2,
2075     X_Msg_Count                  OUT NOCOPY  NUMBER,
2076     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2077     )
2078 IS
2079 BEGIN
2080 
2081       -- Initialize message list if p_init_msg_list is set to TRUE.
2082       IF FND_API.to_Boolean( p_init_msg_list )
2083       THEN
2084           FND_MSG_PUB.initialize;
2085       END IF;
2086 
2087 
2088       -- Initialize API return status to SUCCESS
2089       x_return_status := FND_API.G_RET_STS_SUCCESS;
2090 
2091       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2092       THEN
2093           -- Hint: Validate data
2094           -- IF p_PARAMN4 is not NULL and p_PARAMN4 <> G_MISS_CHAR
2095           -- verify if data is valid
2096           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2097           NULL;
2098       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2099       THEN
2100           -- Hint: Validate data
2101           -- IF p_PARAMN4 <> G_MISS_CHAR
2102           -- verify if data is valid
2103           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2104           NULL;
2105       END IF;
2106 
2107       -- Standard call to get message count and if count is 1, get message info.
2108       FND_MSG_PUB.Count_And_Get
2109       (  p_count          =>   x_msg_count,
2110          p_data           =>   x_msg_data
2111       );
2112 
2113 END Validate_PARAMN4;
2114 
2115 
2116 PROCEDURE Validate_PARAMN5 (
2117     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2118     P_Validation_mode            IN   VARCHAR2,
2119     P_PARAMN5                IN   NUMBER,
2120     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2121     X_Return_Status              OUT NOCOPY  VARCHAR2,
2122     X_Msg_Count                  OUT NOCOPY  NUMBER,
2123     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2124     )
2125 IS
2126 BEGIN
2127 
2128       -- Initialize message list if p_init_msg_list is set to TRUE.
2129       IF FND_API.to_Boolean( p_init_msg_list )
2130       THEN
2131           FND_MSG_PUB.initialize;
2132       END IF;
2133 
2134 
2135       -- Initialize API return status to SUCCESS
2136       x_return_status := FND_API.G_RET_STS_SUCCESS;
2137 
2138       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2139       THEN
2140           -- Hint: Validate data
2141           -- IF p_PARAMN5 is not NULL and p_PARAMN5 <> G_MISS_CHAR
2142           -- verify if data is valid
2143           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2144           NULL;
2145       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2146       THEN
2147           -- Hint: Validate data
2148           -- IF p_PARAMN5 <> G_MISS_CHAR
2149           -- verify if data is valid
2150           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2151           NULL;
2152       END IF;
2153 
2154       -- Standard call to get message count and if count is 1, get message info.
2155       FND_MSG_PUB.Count_And_Get
2156       (  p_count          =>   x_msg_count,
2157          p_data           =>   x_msg_data
2158       );
2159 
2160 END Validate_PARAMN5;
2161 
2162 
2163 PROCEDURE Validate_PARAMN6 (
2164     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2165     P_Validation_mode            IN   VARCHAR2,
2166     P_PARAMN6                IN   NUMBER,
2167     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2168     X_Return_Status              OUT NOCOPY  VARCHAR2,
2169     X_Msg_Count                  OUT NOCOPY  NUMBER,
2170     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2171     )
2172 IS
2173 BEGIN
2174 
2175       -- Initialize message list if p_init_msg_list is set to TRUE.
2176       IF FND_API.to_Boolean( p_init_msg_list )
2177       THEN
2178           FND_MSG_PUB.initialize;
2179       END IF;
2180 
2181 
2182       -- Initialize API return status to SUCCESS
2183       x_return_status := FND_API.G_RET_STS_SUCCESS;
2184 
2185       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2186       THEN
2187           -- Hint: Validate data
2188           -- IF p_PARAMN6 is not NULL and p_PARAMN6 <> G_MISS_CHAR
2189           -- verify if data is valid
2190           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2191           NULL;
2192       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2193       THEN
2194           -- Hint: Validate data
2195           -- IF p_PARAMN6 <> G_MISS_CHAR
2196           -- verify if data is valid
2197           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2198           NULL;
2199       END IF;
2200 
2201       -- Standard call to get message count and if count is 1, get message info.
2202       FND_MSG_PUB.Count_And_Get
2203       (  p_count          =>   x_msg_count,
2204          p_data           =>   x_msg_data
2205       );
2206 
2207 END Validate_PARAMN6;
2208 
2209 
2210 PROCEDURE Validate_PARAMN7 (
2211     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2212     P_Validation_mode            IN   VARCHAR2,
2213     P_PARAMN7                IN   NUMBER,
2214     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2215     X_Return_Status              OUT NOCOPY  VARCHAR2,
2216     X_Msg_Count                  OUT NOCOPY  NUMBER,
2217     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2218     )
2219 IS
2220 BEGIN
2221 
2222       -- Initialize message list if p_init_msg_list is set to TRUE.
2223       IF FND_API.to_Boolean( p_init_msg_list )
2224       THEN
2225           FND_MSG_PUB.initialize;
2226       END IF;
2227 
2228 
2229       -- Initialize API return status to SUCCESS
2230       x_return_status := FND_API.G_RET_STS_SUCCESS;
2231 
2232       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2233       THEN
2234           -- Hint: Validate data
2235           -- IF p_PARAMN7 is not NULL and p_PARAMN7 <> G_MISS_CHAR
2236           -- verify if data is valid
2237           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2238           NULL;
2239       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2240       THEN
2241           -- Hint: Validate data
2242           -- IF p_PARAMN7 <> G_MISS_CHAR
2243           -- verify if data is valid
2244           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2245           NULL;
2246       END IF;
2247 
2248       -- Standard call to get message count and if count is 1, get message info.
2249       FND_MSG_PUB.Count_And_Get
2250       (  p_count          =>   x_msg_count,
2251          p_data           =>   x_msg_data
2252       );
2253 
2254 END Validate_PARAMN7;
2255 
2256 
2257 PROCEDURE Validate_PARAMN8 (
2258     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2259     P_Validation_mode            IN   VARCHAR2,
2260     P_PARAMN8                IN   NUMBER,
2261     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2262     X_Return_Status              OUT NOCOPY  VARCHAR2,
2263     X_Msg_Count                  OUT NOCOPY  NUMBER,
2264     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2265     )
2266 IS
2267 BEGIN
2268 
2269       -- Initialize message list if p_init_msg_list is set to TRUE.
2270       IF FND_API.to_Boolean( p_init_msg_list )
2271       THEN
2272           FND_MSG_PUB.initialize;
2273       END IF;
2274 
2275 
2276       -- Initialize API return status to SUCCESS
2277       x_return_status := FND_API.G_RET_STS_SUCCESS;
2278 
2279       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2280       THEN
2281           -- Hint: Validate data
2282           -- IF p_PARAMN8 is not NULL and p_PARAMN8 <> G_MISS_CHAR
2283           -- verify if data is valid
2284           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2285           NULL;
2286       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2287       THEN
2288           -- Hint: Validate data
2289           -- IF p_PARAMN8 <> G_MISS_CHAR
2290           -- verify if data is valid
2291           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2292           NULL;
2293       END IF;
2294 
2295       -- Standard call to get message count and if count is 1, get message info.
2296       FND_MSG_PUB.Count_And_Get
2297       (  p_count          =>   x_msg_count,
2298          p_data           =>   x_msg_data
2299       );
2300 
2301 END Validate_PARAMN8;
2302 
2303 
2304 PROCEDURE Validate_PARAMN9 (
2305     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2306     P_Validation_mode            IN   VARCHAR2,
2307     P_PARAMN9                IN   NUMBER,
2308     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2309     X_Return_Status              OUT NOCOPY  VARCHAR2,
2310     X_Msg_Count                  OUT NOCOPY  NUMBER,
2311     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2312     )
2313 IS
2314 BEGIN
2315 
2316       -- Initialize message list if p_init_msg_list is set to TRUE.
2317       IF FND_API.to_Boolean( p_init_msg_list )
2318       THEN
2319           FND_MSG_PUB.initialize;
2320       END IF;
2321 
2322 
2323       -- Initialize API return status to SUCCESS
2324       x_return_status := FND_API.G_RET_STS_SUCCESS;
2325 
2326       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2327       THEN
2328           -- Hint: Validate data
2329           -- IF p_PARAMN9 is not NULL and p_PARAMN9 <> G_MISS_CHAR
2330           -- verify if data is valid
2331           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2332           NULL;
2333       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2334       THEN
2335           -- Hint: Validate data
2336           -- IF p_PARAMN9 <> G_MISS_CHAR
2337           -- verify if data is valid
2338           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2339           NULL;
2340       END IF;
2341 
2342       -- Standard call to get message count and if count is 1, get message info.
2343       FND_MSG_PUB.Count_And_Get
2344       (  p_count          =>   x_msg_count,
2345          p_data           =>   x_msg_data
2346       );
2347 
2348 END Validate_PARAMN9;
2349 
2350 
2351 PROCEDURE Validate_PARAMN10 (
2352     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2353     P_Validation_mode            IN   VARCHAR2,
2354     P_PARAMN10                IN   NUMBER,
2355     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2356     X_Return_Status              OUT NOCOPY  VARCHAR2,
2357     X_Msg_Count                  OUT NOCOPY  NUMBER,
2358     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2359     )
2360 IS
2361 BEGIN
2362 
2363       -- Initialize message list if p_init_msg_list is set to TRUE.
2364       IF FND_API.to_Boolean( p_init_msg_list )
2365       THEN
2366           FND_MSG_PUB.initialize;
2367       END IF;
2368 
2369 
2370       -- Initialize API return status to SUCCESS
2371       x_return_status := FND_API.G_RET_STS_SUCCESS;
2372 
2373       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2374       THEN
2375           -- Hint: Validate data
2376           -- IF p_PARAMN10 is not NULL and p_PARAMN10 <> G_MISS_CHAR
2377           -- verify if data is valid
2378           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2379           NULL;
2380       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2381       THEN
2382           -- Hint: Validate data
2383           -- IF p_PARAMN10 <> G_MISS_CHAR
2384           -- verify if data is valid
2385           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2386           NULL;
2387       END IF;
2388 
2389       -- Standard call to get message count and if count is 1, get message info.
2390       FND_MSG_PUB.Count_And_Get
2391       (  p_count          =>   x_msg_count,
2392          p_data           =>   x_msg_data
2393       );
2394 
2395 END Validate_PARAMN10;
2396 
2397 
2398 PROCEDURE Validate_PARAMC1 (
2399     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2400     P_Validation_mode            IN   VARCHAR2,
2401     P_PARAMC1                IN   VARCHAR2,
2402     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2403     X_Return_Status              OUT NOCOPY  VARCHAR2,
2404     X_Msg_Count                  OUT NOCOPY  NUMBER,
2405     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2406     )
2407 IS
2408 BEGIN
2409 
2410       -- Initialize message list if p_init_msg_list is set to TRUE.
2411       IF FND_API.to_Boolean( p_init_msg_list )
2412       THEN
2413           FND_MSG_PUB.initialize;
2414       END IF;
2415 
2416 
2417       -- Initialize API return status to SUCCESS
2418       x_return_status := FND_API.G_RET_STS_SUCCESS;
2419 
2420       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2421       THEN
2422           -- Hint: Validate data
2423           -- IF p_PARAMC1 is not NULL and p_PARAMC1 <> G_MISS_CHAR
2424           -- verify if data is valid
2425           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2426           NULL;
2427       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2428       THEN
2429           -- Hint: Validate data
2430           -- IF p_PARAMC1 <> G_MISS_CHAR
2431           -- verify if data is valid
2432           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2433           NULL;
2434       END IF;
2435 
2436       -- Standard call to get message count and if count is 1, get message info.
2437       FND_MSG_PUB.Count_And_Get
2438       (  p_count          =>   x_msg_count,
2439          p_data           =>   x_msg_data
2440       );
2441 
2442 END Validate_PARAMC1;
2443 
2444 
2445 PROCEDURE Validate_PARAMC2 (
2446     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2447     P_Validation_mode            IN   VARCHAR2,
2448     P_PARAMC2                IN   VARCHAR2,
2449     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2450     X_Return_Status              OUT NOCOPY  VARCHAR2,
2451     X_Msg_Count                  OUT NOCOPY  NUMBER,
2452     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2453     )
2454 IS
2455 BEGIN
2456 
2457       -- Initialize message list if p_init_msg_list is set to TRUE.
2458       IF FND_API.to_Boolean( p_init_msg_list )
2459       THEN
2460           FND_MSG_PUB.initialize;
2461       END IF;
2462 
2463 
2464       -- Initialize API return status to SUCCESS
2465       x_return_status := FND_API.G_RET_STS_SUCCESS;
2466 
2467       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2468       THEN
2469           -- Hint: Validate data
2470           -- IF p_PARAMC2 is not NULL and p_PARAMC2 <> G_MISS_CHAR
2471           -- verify if data is valid
2472           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2473           NULL;
2474       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2475       THEN
2476           -- Hint: Validate data
2477           -- IF p_PARAMC2 <> G_MISS_CHAR
2478           -- verify if data is valid
2479           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2480           NULL;
2481       END IF;
2482 
2483       -- Standard call to get message count and if count is 1, get message info.
2484       FND_MSG_PUB.Count_And_Get
2485       (  p_count          =>   x_msg_count,
2486          p_data           =>   x_msg_data
2487       );
2488 
2489 END Validate_PARAMC2;
2490 
2491 
2492 PROCEDURE Validate_PARAMC3 (
2493     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2494     P_Validation_mode            IN   VARCHAR2,
2495     P_PARAMC3                IN   VARCHAR2,
2496     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2497     X_Return_Status              OUT NOCOPY  VARCHAR2,
2498     X_Msg_Count                  OUT NOCOPY  NUMBER,
2499     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2500     )
2501 IS
2502 BEGIN
2503 
2504       -- Initialize message list if p_init_msg_list is set to TRUE.
2505       IF FND_API.to_Boolean( p_init_msg_list )
2506       THEN
2507           FND_MSG_PUB.initialize;
2508       END IF;
2509 
2510 
2511       -- Initialize API return status to SUCCESS
2512       x_return_status := FND_API.G_RET_STS_SUCCESS;
2513 
2514       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2515       THEN
2516           -- Hint: Validate data
2517           -- IF p_PARAMC3 is not NULL and p_PARAMC3 <> G_MISS_CHAR
2518           -- verify if data is valid
2519           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2520           NULL;
2521       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2522       THEN
2523           -- Hint: Validate data
2524           -- IF p_PARAMC3 <> G_MISS_CHAR
2525           -- verify if data is valid
2526           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2527           NULL;
2528       END IF;
2529 
2530       -- Standard call to get message count and if count is 1, get message info.
2531       FND_MSG_PUB.Count_And_Get
2532       (  p_count          =>   x_msg_count,
2533          p_data           =>   x_msg_data
2534       );
2535 
2536 END Validate_PARAMC3;
2537 
2538 
2539 PROCEDURE Validate_PARAMC4 (
2540     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2541     P_Validation_mode            IN   VARCHAR2,
2542     P_PARAMC4                IN   VARCHAR2,
2543     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2544     X_Return_Status              OUT NOCOPY  VARCHAR2,
2545     X_Msg_Count                  OUT NOCOPY  NUMBER,
2546     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2547     )
2548 IS
2549 BEGIN
2550 
2551       -- Initialize message list if p_init_msg_list is set to TRUE.
2552       IF FND_API.to_Boolean( p_init_msg_list )
2553       THEN
2554           FND_MSG_PUB.initialize;
2555       END IF;
2556 
2557 
2558       -- Initialize API return status to SUCCESS
2559       x_return_status := FND_API.G_RET_STS_SUCCESS;
2560 
2561       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2562       THEN
2563           -- Hint: Validate data
2564           -- IF p_PARAMC4 is not NULL and p_PARAMC4 <> G_MISS_CHAR
2565           -- verify if data is valid
2566           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2567           NULL;
2568       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2569       THEN
2570           -- Hint: Validate data
2571           -- IF p_PARAMC4 <> G_MISS_CHAR
2572           -- verify if data is valid
2573           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2574           NULL;
2575       END IF;
2576 
2577       -- Standard call to get message count and if count is 1, get message info.
2578       FND_MSG_PUB.Count_And_Get
2579       (  p_count          =>   x_msg_count,
2580          p_data           =>   x_msg_data
2581       );
2582 
2583 END Validate_PARAMC4;
2584 
2585 
2586 PROCEDURE Validate_PARAMC5 (
2587     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2588     P_Validation_mode            IN   VARCHAR2,
2589     P_PARAMC5                IN   VARCHAR2,
2593     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2590     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2591     X_Return_Status              OUT NOCOPY  VARCHAR2,
2592     X_Msg_Count                  OUT NOCOPY  NUMBER,
2594     )
2595 IS
2596 BEGIN
2597 
2598       -- Initialize message list if p_init_msg_list is set to TRUE.
2599       IF FND_API.to_Boolean( p_init_msg_list )
2600       THEN
2601           FND_MSG_PUB.initialize;
2602       END IF;
2603 
2604 
2605       -- Initialize API return status to SUCCESS
2606       x_return_status := FND_API.G_RET_STS_SUCCESS;
2607 
2608       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2609       THEN
2610           -- Hint: Validate data
2611           -- IF p_PARAMC5 is not NULL and p_PARAMC5 <> G_MISS_CHAR
2612           -- verify if data is valid
2613           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2614           NULL;
2615       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2616       THEN
2617           -- Hint: Validate data
2618           -- IF p_PARAMC5 <> G_MISS_CHAR
2619           -- verify if data is valid
2620           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2621           NULL;
2622       END IF;
2623 
2624       -- Standard call to get message count and if count is 1, get message info.
2625       FND_MSG_PUB.Count_And_Get
2626       (  p_count          =>   x_msg_count,
2627          p_data           =>   x_msg_data
2628       );
2629 
2630 END Validate_PARAMC5;
2631 
2632 
2633 PROCEDURE Validate_PARAMC6 (
2634     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2635     P_Validation_mode            IN   VARCHAR2,
2636     P_PARAMC6                IN   VARCHAR2,
2637     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2638     X_Return_Status              OUT NOCOPY  VARCHAR2,
2639     X_Msg_Count                  OUT NOCOPY  NUMBER,
2640     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2641     )
2642 IS
2643 BEGIN
2644 
2645       -- Initialize message list if p_init_msg_list is set to TRUE.
2646       IF FND_API.to_Boolean( p_init_msg_list )
2647       THEN
2648           FND_MSG_PUB.initialize;
2649       END IF;
2650 
2651 
2652       -- Initialize API return status to SUCCESS
2653       x_return_status := FND_API.G_RET_STS_SUCCESS;
2654 
2655       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2656       THEN
2657           -- Hint: Validate data
2658           -- IF p_PARAMC6 is not NULL and p_PARAMC6 <> G_MISS_CHAR
2659           -- verify if data is valid
2660           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2661           NULL;
2662       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2663       THEN
2664           -- Hint: Validate data
2665           -- IF p_PARAMC6 <> G_MISS_CHAR
2666           -- verify if data is valid
2667           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2668           NULL;
2669       END IF;
2670 
2671       -- Standard call to get message count and if count is 1, get message info.
2672       FND_MSG_PUB.Count_And_Get
2673       (  p_count          =>   x_msg_count,
2674          p_data           =>   x_msg_data
2675       );
2676 
2677 END Validate_PARAMC6;
2678 
2679 
2680 PROCEDURE Validate_PARAMC7 (
2681     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2682     P_Validation_mode            IN   VARCHAR2,
2683     P_PARAMC7                IN   VARCHAR2,
2684     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2685     X_Return_Status              OUT NOCOPY  VARCHAR2,
2686     X_Msg_Count                  OUT NOCOPY  NUMBER,
2687     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2688     )
2689 IS
2690 BEGIN
2691 
2692       -- Initialize message list if p_init_msg_list is set to TRUE.
2693       IF FND_API.to_Boolean( p_init_msg_list )
2694       THEN
2695           FND_MSG_PUB.initialize;
2696       END IF;
2697 
2698 
2699       -- Initialize API return status to SUCCESS
2700       x_return_status := FND_API.G_RET_STS_SUCCESS;
2701 
2702       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2703       THEN
2704           -- Hint: Validate data
2705           -- IF p_PARAMC7 is not NULL and p_PARAMC7 <> G_MISS_CHAR
2706           -- verify if data is valid
2707           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2708           NULL;
2709       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2710       THEN
2711           -- Hint: Validate data
2712           -- IF p_PARAMC7 <> G_MISS_CHAR
2713           -- verify if data is valid
2714           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2715           NULL;
2716       END IF;
2717 
2718       -- Standard call to get message count and if count is 1, get message info.
2719       FND_MSG_PUB.Count_And_Get
2720       (  p_count          =>   x_msg_count,
2721          p_data           =>   x_msg_data
2722       );
2723 
2724 END Validate_PARAMC7;
2725 
2726 
2727 PROCEDURE Validate_PARAMC8 (
2728     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2729     P_Validation_mode            IN   VARCHAR2,
2730     P_PARAMC8                IN   VARCHAR2,
2731     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2732     X_Return_Status              OUT NOCOPY  VARCHAR2,
2733     X_Msg_Count                  OUT NOCOPY  NUMBER,
2734     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2735     )
2736 IS
2737 BEGIN
2738 
2739       -- Initialize message list if p_init_msg_list is set to TRUE.
2740       IF FND_API.to_Boolean( p_init_msg_list )
2741       THEN
2742           FND_MSG_PUB.initialize;
2743       END IF;
2744 
2745 
2746       -- Initialize API return status to SUCCESS
2747       x_return_status := FND_API.G_RET_STS_SUCCESS;
2748 
2749       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2750       THEN
2751           -- Hint: Validate data
2752           -- IF p_PARAMC8 is not NULL and p_PARAMC8 <> G_MISS_CHAR
2753           -- verify if data is valid
2754           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2755           NULL;
2756       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2757       THEN
2758           -- Hint: Validate data
2759           -- IF p_PARAMC8 <> G_MISS_CHAR
2760           -- verify if data is valid
2761           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2762           NULL;
2763       END IF;
2764 
2765       -- Standard call to get message count and if count is 1, get message info.
2766       FND_MSG_PUB.Count_And_Get
2767       (  p_count          =>   x_msg_count,
2768          p_data           =>   x_msg_data
2769       );
2770 
2771 END Validate_PARAMC8;
2772 
2773 
2774 PROCEDURE Validate_PARAMC9 (
2775     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2776     P_Validation_mode            IN   VARCHAR2,
2777     P_PARAMC9                IN   VARCHAR2,
2778     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2779     X_Return_Status              OUT NOCOPY  VARCHAR2,
2780     X_Msg_Count                  OUT NOCOPY  NUMBER,
2781     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2782     )
2783 IS
2784 BEGIN
2785 
2786       -- Initialize message list if p_init_msg_list is set to TRUE.
2787       IF FND_API.to_Boolean( p_init_msg_list )
2788       THEN
2789           FND_MSG_PUB.initialize;
2790       END IF;
2791 
2792 
2793       -- Initialize API return status to SUCCESS
2794       x_return_status := FND_API.G_RET_STS_SUCCESS;
2795 
2796       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2797       THEN
2798           -- Hint: Validate data
2799           -- IF p_PARAMC9 is not NULL and p_PARAMC9 <> G_MISS_CHAR
2800           -- verify if data is valid
2801           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2802           NULL;
2803       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2804       THEN
2805           -- Hint: Validate data
2806           -- IF p_PARAMC9 <> G_MISS_CHAR
2807           -- verify if data is valid
2808           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2809           NULL;
2810       END IF;
2811 
2812       -- Standard call to get message count and if count is 1, get message info.
2813       FND_MSG_PUB.Count_And_Get
2814       (  p_count          =>   x_msg_count,
2815          p_data           =>   x_msg_data
2816       );
2817 
2818 END Validate_PARAMC9;
2819 
2820 
2821 PROCEDURE Validate_PARAMC10 (
2822     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2823     P_Validation_mode            IN   VARCHAR2,
2824     P_PARAMC10                IN   VARCHAR2,
2825     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2826     X_Return_Status              OUT NOCOPY  VARCHAR2,
2827     X_Msg_Count                  OUT NOCOPY  NUMBER,
2828     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2829     )
2830 IS
2831 BEGIN
2832 
2833       -- Initialize message list if p_init_msg_list is set to TRUE.
2834       IF FND_API.to_Boolean( p_init_msg_list )
2835       THEN
2836           FND_MSG_PUB.initialize;
2837       END IF;
2838 
2839 
2840       -- Initialize API return status to SUCCESS
2841       x_return_status := FND_API.G_RET_STS_SUCCESS;
2842 
2843       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2844       THEN
2845           -- Hint: Validate data
2846           -- IF p_PARAMC10 is not NULL and p_PARAMC10 <> G_MISS_CHAR
2847           -- verify if data is valid
2848           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2849           NULL;
2850       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2851       THEN
2852           -- Hint: Validate data
2853           -- IF p_PARAMC10 <> G_MISS_CHAR
2854           -- verify if data is valid
2855           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2856           NULL;
2857       END IF;
2858 
2859       -- Standard call to get message count and if count is 1, get message info.
2860       FND_MSG_PUB.Count_And_Get
2861       (  p_count          =>   x_msg_count,
2862          p_data           =>   x_msg_data
2863       );
2864 
2865 END Validate_PARAMC10;
2866 
2867 
2868 PROCEDURE Validate_PARAMD1 (
2869     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2870     P_Validation_mode            IN   VARCHAR2,
2871     P_PARAMD1                IN   DATE,
2872     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2873     X_Return_Status              OUT NOCOPY  VARCHAR2,
2874     X_Msg_Count                  OUT NOCOPY  NUMBER,
2875     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2876     )
2877 IS
2878 BEGIN
2879 
2880       -- Initialize message list if p_init_msg_list is set to TRUE.
2881       IF FND_API.to_Boolean( p_init_msg_list )
2882       THEN
2883           FND_MSG_PUB.initialize;
2884       END IF;
2885 
2886 
2887       -- Initialize API return status to SUCCESS
2888       x_return_status := FND_API.G_RET_STS_SUCCESS;
2889 
2890       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2891       THEN
2892           -- Hint: Validate data
2893           -- IF p_PARAMD1 is not NULL and p_PARAMD1 <> G_MISS_CHAR
2894           -- verify if data is valid
2895           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2896           NULL;
2897       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2898       THEN
2899           -- Hint: Validate data
2900           -- IF p_PARAMD1 <> G_MISS_CHAR
2901           -- verify if data is valid
2902           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2903           NULL;
2904       END IF;
2905 
2906       -- Standard call to get message count and if count is 1, get message info.
2907       FND_MSG_PUB.Count_And_Get
2908       (  p_count          =>   x_msg_count,
2909          p_data           =>   x_msg_data
2910       );
2911 
2912 END Validate_PARAMD1;
2913 
2914 
2915 PROCEDURE Validate_PARAMD2 (
2916     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2917     P_Validation_mode            IN   VARCHAR2,
2918     P_PARAMD2                IN   DATE,
2919     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2920     X_Return_Status              OUT NOCOPY  VARCHAR2,
2921     X_Msg_Count                  OUT NOCOPY  NUMBER,
2922     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2923     )
2924 IS
2925 BEGIN
2926 
2927       -- Initialize message list if p_init_msg_list is set to TRUE.
2928       IF FND_API.to_Boolean( p_init_msg_list )
2929       THEN
2930           FND_MSG_PUB.initialize;
2931       END IF;
2932 
2933 
2934       -- Initialize API return status to SUCCESS
2935       x_return_status := FND_API.G_RET_STS_SUCCESS;
2936 
2937       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2938       THEN
2939           -- Hint: Validate data
2940           -- IF p_PARAMD2 is not NULL and p_PARAMD2 <> G_MISS_CHAR
2941           -- verify if data is valid
2942           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2943           NULL;
2944       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2945       THEN
2946           -- Hint: Validate data
2947           -- IF p_PARAMD2 <> G_MISS_CHAR
2948           -- verify if data is valid
2949           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2950           NULL;
2951       END IF;
2952 
2953       -- Standard call to get message count and if count is 1, get message info.
2954       FND_MSG_PUB.Count_And_Get
2955       (  p_count          =>   x_msg_count,
2956          p_data           =>   x_msg_data
2957       );
2958 
2959 END Validate_PARAMD2;
2960 
2961 
2962 PROCEDURE Validate_PARAMD3 (
2963     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2964     P_Validation_mode            IN   VARCHAR2,
2965     P_PARAMD3                IN   DATE,
2966     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2967     X_Return_Status              OUT NOCOPY  VARCHAR2,
2968     X_Msg_Count                  OUT NOCOPY  NUMBER,
2969     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2970     )
2971 IS
2972 BEGIN
2973 
2974       -- Initialize message list if p_init_msg_list is set to TRUE.
2975       IF FND_API.to_Boolean( p_init_msg_list )
2976       THEN
2977           FND_MSG_PUB.initialize;
2978       END IF;
2979 
2980 
2981       -- Initialize API return status to SUCCESS
2982       x_return_status := FND_API.G_RET_STS_SUCCESS;
2983 
2984       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2985       THEN
2986           -- Hint: Validate data
2987           -- IF p_PARAMD3 is not NULL and p_PARAMD3 <> G_MISS_CHAR
2988           -- verify if data is valid
2989           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2990           NULL;
2991       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2992       THEN
2993           -- Hint: Validate data
2994           -- IF p_PARAMD3 <> G_MISS_CHAR
2995           -- verify if data is valid
2996           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2997           NULL;
2998       END IF;
2999 
3000       -- Standard call to get message count and if count is 1, get message info.
3001       FND_MSG_PUB.Count_And_Get
3002       (  p_count          =>   x_msg_count,
3003          p_data           =>   x_msg_data
3004       );
3005 
3006 END Validate_PARAMD3;
3007 
3008 
3009 PROCEDURE Validate_PARAMD4 (
3010     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3011     P_Validation_mode            IN   VARCHAR2,
3012     P_PARAMD4                IN   DATE,
3013     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3014     X_Return_Status              OUT NOCOPY  VARCHAR2,
3015     X_Msg_Count                  OUT NOCOPY  NUMBER,
3016     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3017     )
3018 IS
3019 BEGIN
3020 
3021       -- Initialize message list if p_init_msg_list is set to TRUE.
3022       IF FND_API.to_Boolean( p_init_msg_list )
3023       THEN
3024           FND_MSG_PUB.initialize;
3025       END IF;
3026 
3027 
3028       -- Initialize API return status to SUCCESS
3029       x_return_status := FND_API.G_RET_STS_SUCCESS;
3030 
3031       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3032       THEN
3033           -- Hint: Validate data
3034           -- IF p_PARAMD4 is not NULL and p_PARAMD4 <> G_MISS_CHAR
3035           -- verify if data is valid
3036           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3037           NULL;
3038       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3039       THEN
3040           -- Hint: Validate data
3041           -- IF p_PARAMD4 <> G_MISS_CHAR
3042           -- verify if data is valid
3043           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3044           NULL;
3045       END IF;
3046 
3047       -- Standard call to get message count and if count is 1, get message info.
3048       FND_MSG_PUB.Count_And_Get
3049       (  p_count          =>   x_msg_count,
3050          p_data           =>   x_msg_data
3051       );
3052 
3053 END Validate_PARAMD4;
3054 
3055 
3056 PROCEDURE Validate_PARAMD5 (
3057     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3058     P_Validation_mode            IN   VARCHAR2,
3059     P_PARAMD5                IN   DATE,
3060     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3061     X_Return_Status              OUT NOCOPY  VARCHAR2,
3062     X_Msg_Count                  OUT NOCOPY  NUMBER,
3063     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3064     )
3065 IS
3066 BEGIN
3067 
3068       -- Initialize message list if p_init_msg_list is set to TRUE.
3069       IF FND_API.to_Boolean( p_init_msg_list )
3070       THEN
3071           FND_MSG_PUB.initialize;
3072       END IF;
3073 
3074 
3075       -- Initialize API return status to SUCCESS
3076       x_return_status := FND_API.G_RET_STS_SUCCESS;
3077 
3078       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3079       THEN
3080           -- Hint: Validate data
3081           -- IF p_PARAMD5 is not NULL and p_PARAMD5 <> G_MISS_CHAR
3082           -- verify if data is valid
3083           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3084           NULL;
3085       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3086       THEN
3087           -- Hint: Validate data
3088           -- IF p_PARAMD5 <> G_MISS_CHAR
3089           -- verify if data is valid
3090           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3091           NULL;
3092       END IF;
3093 
3094       -- Standard call to get message count and if count is 1, get message info.
3095       FND_MSG_PUB.Count_And_Get
3096       (  p_count          =>   x_msg_count,
3097          p_data           =>   x_msg_data
3098       );
3099 
3100 END Validate_PARAMD5;
3101 
3102 
3103 PROCEDURE Validate_PARAMD6 (
3104     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3105     P_Validation_mode            IN   VARCHAR2,
3106     P_PARAMD6                IN   DATE,
3107     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3108     X_Return_Status              OUT NOCOPY  VARCHAR2,
3109     X_Msg_Count                  OUT NOCOPY  NUMBER,
3110     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3111     )
3112 IS
3113 BEGIN
3114 
3115       -- Initialize message list if p_init_msg_list is set to TRUE.
3116       IF FND_API.to_Boolean( p_init_msg_list )
3117       THEN
3118           FND_MSG_PUB.initialize;
3119       END IF;
3120 
3121 
3122       -- Initialize API return status to SUCCESS
3123       x_return_status := FND_API.G_RET_STS_SUCCESS;
3124 
3125       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3126       THEN
3127           -- Hint: Validate data
3128           -- IF p_PARAMD6 is not NULL and p_PARAMD6 <> G_MISS_CHAR
3129           -- verify if data is valid
3130           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3131           NULL;
3132       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3133       THEN
3134           -- Hint: Validate data
3135           -- IF p_PARAMD6 <> G_MISS_CHAR
3136           -- verify if data is valid
3137           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3138           NULL;
3139       END IF;
3140 
3141       -- Standard call to get message count and if count is 1, get message info.
3142       FND_MSG_PUB.Count_And_Get
3143       (  p_count          =>   x_msg_count,
3144          p_data           =>   x_msg_data
3145       );
3146 
3147 END Validate_PARAMD6;
3148 
3149 
3150 PROCEDURE Validate_PARAMD7 (
3151     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3152     P_Validation_mode            IN   VARCHAR2,
3153     P_PARAMD7                IN   DATE,
3154     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3155     X_Return_Status              OUT NOCOPY  VARCHAR2,
3156     X_Msg_Count                  OUT NOCOPY  NUMBER,
3157     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3158     )
3159 IS
3160 BEGIN
3161 
3162       -- Initialize message list if p_init_msg_list is set to TRUE.
3163       IF FND_API.to_Boolean( p_init_msg_list )
3164       THEN
3165           FND_MSG_PUB.initialize;
3166       END IF;
3167 
3168 
3169       -- Initialize API return status to SUCCESS
3170       x_return_status := FND_API.G_RET_STS_SUCCESS;
3171 
3172       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3173       THEN
3174           -- Hint: Validate data
3175           -- IF p_PARAMD7 is not NULL and p_PARAMD7 <> G_MISS_CHAR
3176           -- verify if data is valid
3177           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3178           NULL;
3179       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3180       THEN
3181           -- Hint: Validate data
3182           -- IF p_PARAMD7 <> G_MISS_CHAR
3183           -- verify if data is valid
3184           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3185           NULL;
3186       END IF;
3187 
3188       -- Standard call to get message count and if count is 1, get message info.
3189       FND_MSG_PUB.Count_And_Get
3190       (  p_count          =>   x_msg_count,
3191          p_data           =>   x_msg_data
3192       );
3193 
3194 END Validate_PARAMD7;
3195 
3196 
3197 PROCEDURE Validate_PARAMD8 (
3198     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3199     P_Validation_mode            IN   VARCHAR2,
3200     P_PARAMD8                IN   DATE,
3201     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3202     X_Return_Status              OUT NOCOPY  VARCHAR2,
3203     X_Msg_Count                  OUT NOCOPY  NUMBER,
3204     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3205     )
3206 IS
3207 BEGIN
3208 
3212           FND_MSG_PUB.initialize;
3209       -- Initialize message list if p_init_msg_list is set to TRUE.
3210       IF FND_API.to_Boolean( p_init_msg_list )
3211       THEN
3213       END IF;
3214 
3215 
3216       -- Initialize API return status to SUCCESS
3217       x_return_status := FND_API.G_RET_STS_SUCCESS;
3218 
3219       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3220       THEN
3221           -- Hint: Validate data
3222           -- IF p_PARAMD8 is not NULL and p_PARAMD8 <> G_MISS_CHAR
3223           -- verify if data is valid
3224           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3225           NULL;
3226       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3227       THEN
3228           -- Hint: Validate data
3229           -- IF p_PARAMD8 <> G_MISS_CHAR
3230           -- verify if data is valid
3231           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3232           NULL;
3233       END IF;
3234 
3235       -- Standard call to get message count and if count is 1, get message info.
3236       FND_MSG_PUB.Count_And_Get
3237       (  p_count          =>   x_msg_count,
3238          p_data           =>   x_msg_data
3239       );
3240 
3241 END Validate_PARAMD8;
3242 
3243 
3244 PROCEDURE Validate_PARAMD9 (
3245     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3246     P_Validation_mode            IN   VARCHAR2,
3247     P_PARAMD9                IN   DATE,
3248     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3249     X_Return_Status              OUT NOCOPY  VARCHAR2,
3250     X_Msg_Count                  OUT NOCOPY  NUMBER,
3251     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3252     )
3253 IS
3254 BEGIN
3255 
3256       -- Initialize message list if p_init_msg_list is set to TRUE.
3257       IF FND_API.to_Boolean( p_init_msg_list )
3258       THEN
3259           FND_MSG_PUB.initialize;
3260       END IF;
3261 
3262 
3263       -- Initialize API return status to SUCCESS
3264       x_return_status := FND_API.G_RET_STS_SUCCESS;
3265 
3266       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3267       THEN
3268           -- Hint: Validate data
3269           -- IF p_PARAMD9 is not NULL and p_PARAMD9 <> G_MISS_CHAR
3270           -- verify if data is valid
3271           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3272           NULL;
3273       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3274       THEN
3275           -- Hint: Validate data
3276           -- IF p_PARAMD9 <> G_MISS_CHAR
3277           -- verify if data is valid
3278           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3279           NULL;
3280       END IF;
3281 
3282       -- Standard call to get message count and if count is 1, get message info.
3283       FND_MSG_PUB.Count_And_Get
3284       (  p_count          =>   x_msg_count,
3285          p_data           =>   x_msg_data
3286       );
3287 
3288 END Validate_PARAMD9;
3289 
3290 
3291 PROCEDURE Validate_PARAMD10 (
3292     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3293     P_Validation_mode            IN   VARCHAR2,
3294     P_PARAMD10                IN   DATE,
3295     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3296     X_Return_Status              OUT NOCOPY  VARCHAR2,
3297     X_Msg_Count                  OUT NOCOPY  NUMBER,
3298     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3299     )
3300 IS
3301 BEGIN
3302 
3303       -- Initialize message list if p_init_msg_list is set to TRUE.
3304       IF FND_API.to_Boolean( p_init_msg_list )
3305       THEN
3306           FND_MSG_PUB.initialize;
3307       END IF;
3308 
3309 
3310       -- Initialize API return status to SUCCESS
3311       x_return_status := FND_API.G_RET_STS_SUCCESS;
3312 
3313       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3314       THEN
3315           -- Hint: Validate data
3316           -- IF p_PARAMD10 is not NULL and p_PARAMD10 <> G_MISS_CHAR
3317           -- verify if data is valid
3318           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3319           NULL;
3320       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3321       THEN
3322           -- Hint: Validate data
3323           -- IF p_PARAMD10 <> G_MISS_CHAR
3324           -- verify if data is valid
3325           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3326           NULL;
3327       END IF;
3328 
3329       -- Standard call to get message count and if count is 1, get message info.
3330       FND_MSG_PUB.Count_And_Get
3331       (  p_count          =>   x_msg_count,
3332          p_data           =>   x_msg_data
3333       );
3334 
3335 END Validate_PARAMD10;
3336 
3337 -- travi OBJECT_VERSION_NUMBER validation
3338 PROCEDURE Validate_OBJECT_VERSION_NUMBER (
3339     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3340     P_Validation_mode            IN   VARCHAR2,
3341     P_OBJECT_VERSION_NUMBER      IN   NUMBER,
3342     P_REPAIR_HISTORY_ID          IN   NUMBER,
3343     X_Return_Status              OUT NOCOPY  VARCHAR2,
3344     X_Msg_Count                  OUT NOCOPY  NUMBER,
3345     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3346     )
3347 IS
3348 
3349    l_OBJECT_VERSION_NUMBER NUMBER;
3350 
3351 BEGIN
3352 
3353       -- Initialize message list if p_init_msg_list is set to TRUE.
3357       END IF;
3354       IF FND_API.to_Boolean( p_init_msg_list )
3355       THEN
3356           FND_MSG_PUB.initialize;
3358 
3359 
3360       -- Initialize API return status to SUCCESS
3361       x_return_status := FND_API.G_RET_STS_SUCCESS;
3362 
3363       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3364       THEN
3365 IF (g_debug > 0 ) THEN
3366           csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Validate_OBJECT_VERSION_NUMBER in create we get null ovn');
3367 END IF;
3368 
3369 IF (g_debug > 0 ) THEN
3370           csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Validate_OBJECT_VERSION_NUMBER ovn '||to_char(p_OBJECT_VERSION_NUMBER));
3371 END IF;
3372 
3373 
3374       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3375       THEN
3376 
3377 IF (g_debug > 0 ) THEN
3378          csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Validate_OBJECT_VERSION_NUMBER in update');
3379 END IF;
3380 
3381 IF (g_debug > 0 ) THEN
3382          csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Validate_OBJECT_VERSION_NUMBER ovn from form '||to_char(p_OBJECT_VERSION_NUMBER));
3383 END IF;
3384 
3385 
3386           -- verify if data is valid
3387         SELECT OBJECT_VERSION_NUMBER
3388           INTO l_OBJECT_VERSION_NUMBER
3389           FROM CSD_REPAIR_HISTORY
3390            WHERE REPAIR_HISTORY_ID = P_REPAIR_HISTORY_ID;
3391 
3392 IF (g_debug > 0 ) THEN
3393          csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Validate_OBJECT_VERSION_NUMBER ovn from db '||to_char(l_OBJECT_VERSION_NUMBER));
3394 END IF;
3395 
3396 
3397         if (l_OBJECT_VERSION_NUMBER <> p_OBJECT_VERSION_NUMBER) then
3398             -- data is not valid
3399           x_return_status := FND_API.G_RET_STS_ERROR;
3400 
3401 IF (g_debug > 0 ) THEN
3402          csd_gen_utility_pvt.add('CSD_REPAIR_HISTORY_PVT.Validate_OBJECT_VERSION_NUMBER ovn mismatch error');
3403 END IF;
3404 
3405 
3406           end if;
3407 
3408       END IF;
3409 
3410       -- Standard call to get message count and if count is 1, get message info.
3411       FND_MSG_PUB.Count_And_Get
3412       (  p_count          =>   x_msg_count,
3413          p_data           =>   x_msg_data
3414       );
3415 
3416 END Validate_OBJECT_VERSION_NUMBER;
3417 
3418 
3419 
3420 -- Hint: inter-field level validation can be added here.
3421 -- Hint: If p_validation_mode = JTF_PLSQL_API.G_VALIDATE_UPDATE, we should use cursor
3422 --       to get old values for all fields used in inter-field validation and set all G_MISS_XXX fields to original value
3423 --       stored in database table.
3424 PROCEDURE Validate_REPH_rec(
3425     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3426     P_Validation_mode            IN   VARCHAR2,
3427     P_REPH_Rec     IN    REPH_Rec_Type,
3428     X_Return_Status              OUT NOCOPY  VARCHAR2,
3429     X_Msg_Count                  OUT NOCOPY  NUMBER,
3430     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3431     )
3432 IS
3433 BEGIN
3434 
3435       -- Initialize message list if p_init_msg_list is set to TRUE.
3436       IF FND_API.to_Boolean( p_init_msg_list )
3437       THEN
3438           FND_MSG_PUB.initialize;
3439       END IF;
3440 
3441 
3442       -- Initialize API return status to SUCCESS
3443       x_return_status := FND_API.G_RET_STS_SUCCESS;
3444 
3445       -- Hint: Validate data
3446       -- If data not valid
3447       -- THEN
3448       -- x_return_status := FND_API.G_RET_STS_ERROR;
3449 
3450       -- Debug Message
3451       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'API_INVALID_RECORD');
3452 
3453       -- Standard call to get message count and if count is 1, get message info.
3454       FND_MSG_PUB.Count_And_Get
3455       (  p_count          =>   x_msg_count,
3456          p_data           =>   x_msg_data
3457       );
3458 
3459 END Validate_REPH_Rec;
3460 
3461 PROCEDURE Validate_repair_history(
3462     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3463     P_Validation_level           IN   NUMBER := FND_API.G_VALID_LEVEL_FULL,
3464     P_Validation_mode            IN   VARCHAR2,
3465     P_REPH_Rec     IN    REPH_Rec_Type,
3466     X_Return_Status              OUT NOCOPY  VARCHAR2,
3467     X_Msg_Count                  OUT NOCOPY  NUMBER,
3468     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3469     )
3470 IS
3471 l_api_name   CONSTANT VARCHAR2(30) := 'Validate_repair_history';
3472  BEGIN
3473 
3474       -- Debug Message
3475       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'start');
3476 
3477 
3478       -- Initialize API return status to SUCCESS
3479       x_return_status := FND_API.G_RET_STS_SUCCESS;
3480 
3481       IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_ITEM) THEN
3482           -- Hint: We provide validation procedure for every column. Developer should delete
3483           --       unnecessary validation procedures.
3484           Validate_REPAIR_HISTORY_ID(
3485               p_init_msg_list          => FND_API.G_FALSE,
3486               p_validation_mode        => p_validation_mode,
3487               p_REPAIR_HISTORY_ID   => P_REPH_Rec.REPAIR_HISTORY_ID,
3488               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3489               x_return_status          => x_return_status,
3490               x_msg_count              => x_msg_count,
3491               x_msg_data               => x_msg_data);
3492           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3493               raise FND_API.G_EXC_ERROR;
3494           END IF;
3495 
3496           Validate_REQUEST_ID(
3497               p_init_msg_list          => FND_API.G_FALSE,
3498               p_validation_mode        => p_validation_mode,
3502               x_msg_count              => x_msg_count,
3499               p_REQUEST_ID   => P_REPH_Rec.REQUEST_ID,
3500               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3501               x_return_status          => x_return_status,
3503               x_msg_data               => x_msg_data);
3504           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3505               raise FND_API.G_EXC_ERROR;
3506           END IF;
3507 
3508           Validate_REPAIR_LINE_ID(
3509               p_init_msg_list          => FND_API.G_FALSE,
3510               p_validation_mode        => p_validation_mode,
3511               p_REPAIR_LINE_ID   => P_REPH_Rec.REPAIR_LINE_ID,
3512               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3513               x_return_status          => x_return_status,
3514               x_msg_count              => x_msg_count,
3515               x_msg_data               => x_msg_data);
3516           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3517               raise FND_API.G_EXC_ERROR;
3518           END IF;
3519 
3520           Validate_EVENT_CODE(
3521               p_init_msg_list          => FND_API.G_FALSE,
3522               p_validation_mode        => p_validation_mode,
3523               p_EVENT_CODE   => P_REPH_Rec.EVENT_CODE,
3524               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3525               x_return_status          => x_return_status,
3526               x_msg_count              => x_msg_count,
3527               x_msg_data               => x_msg_data);
3528           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3529               raise FND_API.G_EXC_ERROR;
3530           END IF;
3531 
3532           Validate_EVENT_DATE(
3533               p_init_msg_list          => FND_API.G_FALSE,
3534               p_validation_mode        => p_validation_mode,
3535               p_EVENT_DATE   => P_REPH_Rec.EVENT_DATE,
3536               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3537               x_return_status          => x_return_status,
3538               x_msg_count              => x_msg_count,
3539               x_msg_data               => x_msg_data);
3540           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3541               raise FND_API.G_EXC_ERROR;
3542           END IF;
3543 
3544           Validate_QUANTITY(
3545               p_init_msg_list          => FND_API.G_FALSE,
3546               p_validation_mode        => p_validation_mode,
3547               p_QUANTITY   => P_REPH_Rec.QUANTITY,
3548               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3549               x_return_status          => x_return_status,
3550               x_msg_count              => x_msg_count,
3551               x_msg_data               => x_msg_data);
3552           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3553               raise FND_API.G_EXC_ERROR;
3554           END IF;
3555 
3556           Validate_PARAMN1(
3557               p_init_msg_list          => FND_API.G_FALSE,
3558               p_validation_mode        => p_validation_mode,
3559               p_PARAMN1   => P_REPH_Rec.PARAMN1,
3560               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3561               x_return_status          => x_return_status,
3562               x_msg_count              => x_msg_count,
3563               x_msg_data               => x_msg_data);
3564           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3565               raise FND_API.G_EXC_ERROR;
3566           END IF;
3567 
3568           Validate_PARAMN2(
3569               p_init_msg_list          => FND_API.G_FALSE,
3570               p_validation_mode        => p_validation_mode,
3571               p_PARAMN2   => P_REPH_Rec.PARAMN2,
3572               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3573               x_return_status          => x_return_status,
3574               x_msg_count              => x_msg_count,
3575               x_msg_data               => x_msg_data);
3576           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3577               raise FND_API.G_EXC_ERROR;
3578           END IF;
3579 
3580 
3581         Validate_PARAMN3(
3582               p_init_msg_list          => FND_API.G_FALSE,
3583               p_validation_mode        => p_validation_mode,
3584               p_PARAMN3   => P_REPH_Rec.PARAMN3,
3585               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3586               x_return_status          => x_return_status,
3587               x_msg_count              => x_msg_count,
3588               x_msg_data               => x_msg_data);
3589           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3590               raise FND_API.G_EXC_ERROR;
3591           END IF;
3592 
3593           Validate_PARAMN4(
3594               p_init_msg_list          => FND_API.G_FALSE,
3595               p_validation_mode        => p_validation_mode,
3596               p_PARAMN4   => P_REPH_Rec.PARAMN4,
3597               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3598               x_return_status          => x_return_status,
3599               x_msg_count              => x_msg_count,
3600               x_msg_data               => x_msg_data);
3601           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3602               raise FND_API.G_EXC_ERROR;
3603           END IF;
3604 
3605           Validate_PARAMN5(
3606               p_init_msg_list          => FND_API.G_FALSE,
3607               p_validation_mode        => p_validation_mode,
3608               p_PARAMN5   => P_REPH_Rec.PARAMN5,
3612               x_msg_data               => x_msg_data);
3609               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3610               x_return_status          => x_return_status,
3611               x_msg_count              => x_msg_count,
3613           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3614               raise FND_API.G_EXC_ERROR;
3615           END IF;
3616 
3617           Validate_PARAMN6(
3618               p_init_msg_list          => FND_API.G_FALSE,
3619               p_validation_mode        => p_validation_mode,
3620               p_PARAMN6   => P_REPH_Rec.PARAMN6,
3621               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3622               x_return_status          => x_return_status,
3623               x_msg_count              => x_msg_count,
3624               x_msg_data               => x_msg_data);
3625           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3626               raise FND_API.G_EXC_ERROR;
3627           END IF;
3628 
3629           Validate_PARAMN7(
3630               p_init_msg_list          => FND_API.G_FALSE,
3631               p_validation_mode        => p_validation_mode,
3632               p_PARAMN7   => P_REPH_Rec.PARAMN7,
3633               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3634               x_return_status          => x_return_status,
3635               x_msg_count              => x_msg_count,
3636               x_msg_data               => x_msg_data);
3637           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3638               raise FND_API.G_EXC_ERROR;
3639           END IF;
3640 
3641           Validate_PARAMN8(
3642               p_init_msg_list          => FND_API.G_FALSE,
3643               p_validation_mode        => p_validation_mode,
3644               p_PARAMN8   => P_REPH_Rec.PARAMN8,
3645               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3646               x_return_status          => x_return_status,
3647               x_msg_count              => x_msg_count,
3648               x_msg_data               => x_msg_data);
3649           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3650               raise FND_API.G_EXC_ERROR;
3651           END IF;
3652 
3653           Validate_PARAMN9(
3654               p_init_msg_list          => FND_API.G_FALSE,
3655               p_validation_mode        => p_validation_mode,
3656               p_PARAMN9   => P_REPH_Rec.PARAMN9,
3657               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3658               x_return_status          => x_return_status,
3659               x_msg_count              => x_msg_count,
3660               x_msg_data               => x_msg_data);
3661           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3662               raise FND_API.G_EXC_ERROR;
3663           END IF;
3664 
3665           Validate_PARAMN10(
3666               p_init_msg_list          => FND_API.G_FALSE,
3667               p_validation_mode        => p_validation_mode,
3668               p_PARAMN10   => P_REPH_Rec.PARAMN10,
3669               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3670               x_return_status          => x_return_status,
3671               x_msg_count              => x_msg_count,
3672               x_msg_data               => x_msg_data);
3673           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3674               raise FND_API.G_EXC_ERROR;
3675           END IF;
3676 
3677           Validate_PARAMC1(
3678               p_init_msg_list          => FND_API.G_FALSE,
3679               p_validation_mode        => p_validation_mode,
3680               p_PARAMC1   => P_REPH_Rec.PARAMC1,
3681               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3682               x_return_status          => x_return_status,
3683               x_msg_count              => x_msg_count,
3684               x_msg_data               => x_msg_data);
3685           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3686               raise FND_API.G_EXC_ERROR;
3687           END IF;
3688 
3689           Validate_PARAMC2(
3690               p_init_msg_list          => FND_API.G_FALSE,
3691               p_validation_mode        => p_validation_mode,
3692               p_PARAMC2   => P_REPH_Rec.PARAMC2,
3693               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3694               x_return_status          => x_return_status,
3695               x_msg_count              => x_msg_count,
3696               x_msg_data               => x_msg_data);
3697           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3698               raise FND_API.G_EXC_ERROR;
3699           END IF;
3700 /*
3701           Validate_PARAMC3(
3702               p_init_msg_list          => FND_API.G_FALSE,
3703               p_validation_mode        => p_validation_mode,
3704               p_PARAMC3   => P_REPH_Rec.PARAMC3,
3705               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3706               x_return_status          => x_return_status,
3707               x_msg_count              => x_msg_count,
3708               x_msg_data               => x_msg_data);
3709           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3710               raise FND_API.G_EXC_ERROR;
3711           END IF;
3712 
3713 */
3714 
3715           Validate_PARAMC4(
3716               p_init_msg_list          => FND_API.G_FALSE,
3717               p_validation_mode        => p_validation_mode,
3718               p_PARAMC4   => P_REPH_Rec.PARAMC4,
3722               x_msg_data               => x_msg_data);
3719               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3720               x_return_status          => x_return_status,
3721               x_msg_count              => x_msg_count,
3723           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3724               raise FND_API.G_EXC_ERROR;
3725           END IF;
3726 
3727           Validate_PARAMC5(
3728               p_init_msg_list          => FND_API.G_FALSE,
3729               p_validation_mode        => p_validation_mode,
3730               p_PARAMC5   => P_REPH_Rec.PARAMC5,
3731               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3732               x_return_status          => x_return_status,
3733               x_msg_count              => x_msg_count,
3734               x_msg_data               => x_msg_data);
3735           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3736               raise FND_API.G_EXC_ERROR;
3737           END IF;
3738 
3739           Validate_PARAMC6(
3740               p_init_msg_list          => FND_API.G_FALSE,
3741               p_validation_mode        => p_validation_mode,
3742               p_PARAMC6   => P_REPH_Rec.PARAMC6,
3743               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3744               x_return_status          => x_return_status,
3745               x_msg_count              => x_msg_count,
3746               x_msg_data               => x_msg_data);
3747           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3748               raise FND_API.G_EXC_ERROR;
3749           END IF;
3750 
3751           Validate_PARAMC7(
3752               p_init_msg_list          => FND_API.G_FALSE,
3753               p_validation_mode        => p_validation_mode,
3754               p_PARAMC7   => P_REPH_Rec.PARAMC7,
3755               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3756               x_return_status          => x_return_status,
3757               x_msg_count              => x_msg_count,
3758               x_msg_data               => x_msg_data);
3759           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3760               raise FND_API.G_EXC_ERROR;
3761           END IF;
3762 
3763           Validate_PARAMC8(
3764               p_init_msg_list          => FND_API.G_FALSE,
3765               p_validation_mode        => p_validation_mode,
3766               p_PARAMC8   => P_REPH_Rec.PARAMC8,
3767               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3768               x_return_status          => x_return_status,
3769               x_msg_count              => x_msg_count,
3770               x_msg_data               => x_msg_data);
3771           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3772               raise FND_API.G_EXC_ERROR;
3773           END IF;
3774 
3775           Validate_PARAMC9(
3776               p_init_msg_list          => FND_API.G_FALSE,
3777               p_validation_mode        => p_validation_mode,
3778               p_PARAMC9   => P_REPH_Rec.PARAMC9,
3779               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3780               x_return_status          => x_return_status,
3781               x_msg_count              => x_msg_count,
3782               x_msg_data               => x_msg_data);
3783           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3784               raise FND_API.G_EXC_ERROR;
3785           END IF;
3786 
3787           Validate_PARAMC10(
3788               p_init_msg_list          => FND_API.G_FALSE,
3789               p_validation_mode        => p_validation_mode,
3790               p_PARAMC10   => P_REPH_Rec.PARAMC10,
3791               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3792               x_return_status          => x_return_status,
3793               x_msg_count              => x_msg_count,
3794               x_msg_data               => x_msg_data);
3795           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3796               raise FND_API.G_EXC_ERROR;
3797           END IF;
3798 
3799           Validate_PARAMD1(
3800               p_init_msg_list          => FND_API.G_FALSE,
3801               p_validation_mode        => p_validation_mode,
3802               p_PARAMD1   => P_REPH_Rec.PARAMD1,
3803               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3804               x_return_status          => x_return_status,
3805               x_msg_count              => x_msg_count,
3806               x_msg_data               => x_msg_data);
3807           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3808               raise FND_API.G_EXC_ERROR;
3809           END IF;
3810 
3811           Validate_PARAMD2(
3812               p_init_msg_list          => FND_API.G_FALSE,
3813               p_validation_mode        => p_validation_mode,
3814               p_PARAMD2   => P_REPH_Rec.PARAMD2,
3815               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3816               x_return_status          => x_return_status,
3817               x_msg_count              => x_msg_count,
3818               x_msg_data               => x_msg_data);
3819           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3820               raise FND_API.G_EXC_ERROR;
3821           END IF;
3822 
3823           Validate_PARAMD3(
3824               p_init_msg_list          => FND_API.G_FALSE,
3825               p_validation_mode        => p_validation_mode,
3826               p_PARAMD3   => P_REPH_Rec.PARAMD3,
3830               x_msg_data               => x_msg_data);
3827               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3828               x_return_status          => x_return_status,
3829               x_msg_count              => x_msg_count,
3831           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3832               raise FND_API.G_EXC_ERROR;
3833           END IF;
3834 
3835           Validate_PARAMD4(
3836               p_init_msg_list          => FND_API.G_FALSE,
3837               p_validation_mode        => p_validation_mode,
3838               p_PARAMD4   => P_REPH_Rec.PARAMD4,
3839               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3840               x_return_status          => x_return_status,
3841               x_msg_count              => x_msg_count,
3842               x_msg_data               => x_msg_data);
3843           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3844               raise FND_API.G_EXC_ERROR;
3845           END IF;
3846 
3847           Validate_PARAMD5(
3848               p_init_msg_list          => FND_API.G_FALSE,
3849               p_validation_mode        => p_validation_mode,
3850               p_PARAMD5   => P_REPH_Rec.PARAMD5,
3851               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3852               x_return_status          => x_return_status,
3853               x_msg_count              => x_msg_count,
3854               x_msg_data               => x_msg_data);
3855           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3856               raise FND_API.G_EXC_ERROR;
3857           END IF;
3858 
3859           Validate_PARAMD6(
3860               p_init_msg_list          => FND_API.G_FALSE,
3861               p_validation_mode        => p_validation_mode,
3862               p_PARAMD6   => P_REPH_Rec.PARAMD6,
3863               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3864               x_return_status          => x_return_status,
3865               x_msg_count              => x_msg_count,
3866               x_msg_data               => x_msg_data);
3867           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3868               raise FND_API.G_EXC_ERROR;
3869           END IF;
3870 
3871           Validate_PARAMD7(
3872               p_init_msg_list          => FND_API.G_FALSE,
3873               p_validation_mode        => p_validation_mode,
3874               p_PARAMD7   => P_REPH_Rec.PARAMD7,
3875               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3876               x_return_status          => x_return_status,
3877               x_msg_count              => x_msg_count,
3878               x_msg_data               => x_msg_data);
3879           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3880               raise FND_API.G_EXC_ERROR;
3881           END IF;
3882 
3883           Validate_PARAMD8(
3884               p_init_msg_list          => FND_API.G_FALSE,
3885               p_validation_mode        => p_validation_mode,
3886               p_PARAMD8   => P_REPH_Rec.PARAMD8,
3887               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3888               x_return_status          => x_return_status,
3889               x_msg_count              => x_msg_count,
3890               x_msg_data               => x_msg_data);
3891           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3892               raise FND_API.G_EXC_ERROR;
3893           END IF;
3894 
3895           Validate_PARAMD9(
3896               p_init_msg_list          => FND_API.G_FALSE,
3897               p_validation_mode        => p_validation_mode,
3898               p_PARAMD9   => P_REPH_Rec.PARAMD9,
3899               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3900               x_return_status          => x_return_status,
3901               x_msg_count              => x_msg_count,
3902               x_msg_data               => x_msg_data);
3903           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3904               raise FND_API.G_EXC_ERROR;
3905           END IF;
3906 
3907           Validate_PARAMD10(
3908               p_init_msg_list          => FND_API.G_FALSE,
3909               p_validation_mode        => p_validation_mode,
3910               p_PARAMD10   => P_REPH_Rec.PARAMD10,
3911               -- Hint: You may add x_item_property_rec as one of your out parameter if you'd like to pass back item property.
3912               x_return_status          => x_return_status,
3913               x_msg_count              => x_msg_count,
3914               x_msg_data               => x_msg_data);
3915           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3916               raise FND_API.G_EXC_ERROR;
3917           END IF;
3918 
3919           -- travi OBJECT_VERSION_NUMBER validation
3920           Validate_OBJECT_VERSION_NUMBER(
3921               p_init_msg_list          => FND_API.G_FALSE,
3922               p_validation_mode        => p_validation_mode,
3923               p_OBJECT_VERSION_NUMBER  => P_REPH_Rec.OBJECT_VERSION_NUMBER,
3924               p_REPAIR_HISTORY_ID       => P_REPH_Rec.REPAIR_HISTORY_ID,
3925               x_return_status          => x_return_status,
3926               x_msg_count              => x_msg_count,
3927               x_msg_data               => x_msg_data);
3928           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3929               raise FND_API.G_EXC_ERROR;
3930           END IF;
3931 
3932       END IF;
3933 
3934       IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_RECORD) THEN
3935           -- Hint: Inter-field level validation can be added here
3936           -- invoke record level validation procedures
3937           Validate_REPH_Rec(
3941               x_return_status          => x_return_status,
3938               p_init_msg_list          => FND_API.G_FALSE,
3939               p_validation_mode        => p_validation_mode,
3940           P_REPH_Rec     =>    P_REPH_Rec,
3942               x_msg_count              => x_msg_count,
3943               x_msg_data               => x_msg_data);
3944 
3945           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3946               raise FND_API.G_EXC_ERROR;
3947           END IF;
3948       END IF;
3949 
3950       IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_INTER_RECORD) THEN
3951           -- invoke inter-record level validation procedures
3952           NULL;
3953       END IF;
3954 
3955       IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_INTER_ENTITY) THEN
3956           -- invoke inter-entity level validation procedures
3957           NULL;
3958       END IF;
3959 
3960 
3961       -- Debug Message
3962       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSD', 'Private API: ' || l_api_name || 'end');
3963 
3964 END Validate_repair_history;
3965 
3966 /*
3967 This function will start with a basic sql query that will get the details of
3968 a repair history row, and then construct the appropriate text using fnd_messages,
3969 the repair history event code, and the parameters stored in the repair history table.
3970 */
3971 FUNCTION GET_HISTORY_DETAIL(p_repair_history_id IN NUMBER)
3972        RETURN VARCHAR2
3973     IS
3974 
3975     -- variables --
3976     l_repair_detail                 VARCHAR2(2000);
3977     l_attachments_copied            VARCHAR2(1000);
3978     l_attachments_not_copied        VARCHAR2(1000);
3979     l_ref_REPH_rec                  CSD_REPAIR_HISTORY_Pvt.REPH_Rec_Type;
3980     l_user_name                     VARCHAR2(100);
3981     l_status_meaning                VARCHAR2(80);
3982 
3983     -- bug#13698799 auto create ro, parent ro
3984     l_repair_number                 VARCHAR2(30);
3985 
3986     Cursor c_get_repair_history(p_REPAIR_HISTORY_ID Number) IS
3987     Select
3988          REPAIR_HISTORY_ID
3989         ,REQUEST_ID
3990         ,PROGRAM_ID
3991         ,PROGRAM_APPLICATION_ID
3992         ,PROGRAM_UPDATE_DATE
3993         ,CREATED_BY
3994         ,CREATION_DATE
3995         ,LAST_UPDATED_BY
3996         ,LAST_UPDATE_DATE
3997         ,LAST_UPDATE_LOGIN
3998         ,REPAIR_LINE_ID
3999         ,EVENT_CODE
4000         ,EVENT_DATE
4001         ,QUANTITY
4002         ,PARAMN1
4003         ,PARAMN2
4004         ,PARAMN3
4005         ,PARAMN4
4006         ,PARAMN5
4007         ,PARAMN6
4008         ,PARAMN7
4009         ,PARAMN8
4010         ,PARAMN9
4011         ,PARAMN10
4012         ,PARAMC1
4013         ,PARAMC2
4014         ,PARAMC3
4015         ,PARAMC4
4016         ,PARAMC5
4017         ,PARAMC6
4018         ,PARAMC7
4019         ,PARAMC8
4020         ,PARAMC9
4021         ,PARAMC10
4022         ,PARAMD1
4023         ,PARAMD2
4024         ,PARAMD3
4025         ,PARAMD4
4026         ,PARAMD5
4027         ,PARAMD6
4028         ,PARAMD7
4029         ,PARAMD8
4030         ,PARAMD9
4031         ,PARAMD10
4032         ,ATTRIBUTE_CATEGORY
4033         ,ATTRIBUTE1
4034         ,ATTRIBUTE2
4035         ,ATTRIBUTE3
4036         ,ATTRIBUTE4
4037         ,ATTRIBUTE5
4038         ,ATTRIBUTE6
4039         ,ATTRIBUTE7
4040         ,ATTRIBUTE8
4041         ,ATTRIBUTE9
4042         ,ATTRIBUTE10
4043         ,ATTRIBUTE11
4044         ,ATTRIBUTE12
4045         ,ATTRIBUTE13
4046         ,ATTRIBUTE14
4047         ,ATTRIBUTE15
4048         ,OBJECT_VERSION_NUMBER
4049     From  CSD_REPAIR_HISTORY
4050     where repair_history_id = p_REPAIR_HISTORY_ID;
4051 
4052     Cursor c_get_user_name(p_user_id  number) is
4053     select user_name
4054     from fnd_user
4055     where user_id = p_user_id;
4056 
4057     Cursor c_get_status_meaning(p_status_code VARCHAR2, p_lookup_type VARCHAR2) IS
4058     select meaning
4059     from fnd_lookups
4060     where lookup_type = p_lookup_type
4061     and lookup_code = p_status_code;
4062 
4063     -- bug#13698799 auto create ro, parent ro
4064     Cursor c_get_repair_number(p_repair_line_id  number) is
4065     select repair_number
4066     from csd_repairs
4067     where repair_line_id = p_repair_line_id;
4068 
4069 BEGIN
4070 
4071     Open C_Get_repair_history(p_repair_history_id);
4072 
4073     Fetch C_Get_repair_history into
4074             l_ref_REPH_rec.REPAIR_HISTORY_ID     ,
4075             l_ref_REPH_rec.REQUEST_ID            ,
4076             l_ref_REPH_rec.PROGRAM_ID            ,
4077             l_ref_REPH_rec.PROGRAM_APPLICATION_ID,
4078             l_ref_REPH_rec.PROGRAM_UPDATE_DATE   ,
4079             l_ref_REPH_rec.CREATED_BY            ,
4080             l_ref_REPH_rec.CREATION_DATE         ,
4081             l_ref_REPH_rec.LAST_UPDATED_BY       ,
4082             l_ref_REPH_rec.LAST_UPDATE_DATE      ,
4083             l_ref_REPH_rec.LAST_UPDATE_LOGIN     ,
4084             l_ref_REPH_rec.REPAIR_LINE_ID        ,
4085             l_ref_REPH_rec.EVENT_CODE            ,
4086             l_ref_REPH_rec.EVENT_DATE            ,
4087             l_ref_REPH_rec.QUANTITY              ,
4088             l_ref_REPH_rec.PARAMN1               ,
4089             l_ref_REPH_rec.PARAMN2               ,
4090             l_ref_REPH_rec.PARAMN3               ,
4091             l_ref_REPH_rec.PARAMN4               ,
4092             l_ref_REPH_rec.PARAMN5               ,
4093             l_ref_REPH_rec.PARAMN6               ,
4094             l_ref_REPH_rec.PARAMN7               ,
4095             l_ref_REPH_rec.PARAMN8               ,
4099             l_ref_REPH_rec.PARAMC2               ,
4096             l_ref_REPH_rec.PARAMN9               ,
4097             l_ref_REPH_rec.PARAMN10              ,
4098             l_ref_REPH_rec.PARAMC1               ,
4100             l_ref_REPH_rec.PARAMC3               ,
4101             l_ref_REPH_rec.PARAMC4               ,
4102             l_ref_REPH_rec.PARAMC5               ,
4103             l_ref_REPH_rec.PARAMC6               ,
4104             l_ref_REPH_rec.PARAMC7               ,
4105             l_ref_REPH_rec.PARAMC8               ,
4106             l_ref_REPH_rec.PARAMC9               ,
4107             l_ref_REPH_rec.PARAMC10              ,
4108             l_ref_REPH_rec.PARAMD1               ,
4109             l_ref_REPH_rec.PARAMD2               ,
4110             l_ref_REPH_rec.PARAMD3               ,
4111             l_ref_REPH_rec.PARAMD4               ,
4112             l_ref_REPH_rec.PARAMD5               ,
4113             l_ref_REPH_rec.PARAMD6               ,
4114             l_ref_REPH_rec.PARAMD7               ,
4115             l_ref_REPH_rec.PARAMD8               ,
4116             l_ref_REPH_rec.PARAMD9               ,
4117             l_ref_REPH_rec.PARAMD10              ,
4118             l_ref_REPH_rec.ATTRIBUTE_CATEGORY    ,
4119             l_ref_REPH_rec.ATTRIBUTE1            ,
4120             l_ref_REPH_rec.ATTRIBUTE2            ,
4121             l_ref_REPH_rec.ATTRIBUTE3            ,
4122             l_ref_REPH_rec.ATTRIBUTE4            ,
4123             l_ref_REPH_rec.ATTRIBUTE5            ,
4124             l_ref_REPH_rec.ATTRIBUTE6            ,
4125             l_ref_REPH_rec.ATTRIBUTE7            ,
4126             l_ref_REPH_rec.ATTRIBUTE8            ,
4127             l_ref_REPH_rec.ATTRIBUTE9            ,
4128             l_ref_REPH_rec.ATTRIBUTE10           ,
4129             l_ref_REPH_rec.ATTRIBUTE11           ,
4130             l_ref_REPH_rec.ATTRIBUTE12           ,
4131             l_ref_REPH_rec.ATTRIBUTE13           ,
4132             l_ref_REPH_rec.ATTRIBUTE14           ,
4133             l_ref_REPH_rec.ATTRIBUTE15           ,
4134             l_ref_REPH_rec.OBJECT_VERSION_NUMBER ;
4135 
4136     If ( C_Get_repair_history%NOTFOUND) Then
4137        return null;
4138     END IF;
4139     Close     C_Get_repair_history;
4140 
4141 
4142     --get user name
4143     Open c_get_user_name(l_ref_REPH_rec.CREATED_BY);
4144     FETCH c_get_user_name into l_user_name;
4145     Close  c_get_user_name;
4146 
4147     --This is a special case for attachment message details on Repair Order Split
4148     if (l_ref_REPH_rec.event_code = 'SLT') then
4149         -- standard naming in fnd_new_messages for Attachments message
4150         --ATTACHMENTS_PARAMC2 based on paramc2 value:'Y' => 'Attachments Copied
4151         --'else 'Attachments Not Copied'
4152         fnd_message.set_name('CSD','CSD_ATTACHMENTS_COPIED');
4153         l_attachments_copied := FND_MESSAGE.GET;
4154         fnd_message.set_name('CSD','CSD_ATTACHMENTS_NOT_COPIED');
4155         l_attachments_not_copied := FND_MESSAGE.GET;
4156     end if;
4157 
4158 
4159     -- standard naming in fnd_new_messages for activity details
4160     fnd_message.set_name('CSD','CSD_ACTIVITY_DETAIL_' || l_ref_REPH_rec.EVENT_CODE);
4161 
4162     -- set the tokens for each respective event --
4163 
4164     --RMA Received
4165     if (l_ref_REPH_rec.event_code = 'RR') then
4166 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4167 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4168 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4169 	      FND_MESSAGE.SET_TOKEN('QUANTITY' , l_ref_REPH_rec.QUANTITY );
4170 	      FND_MESSAGE.SET_TOKEN('CREATED_BY' , l_user_name);
4171     --Repair Job Completed
4172     elsif (l_ref_REPH_rec.event_code = 'JC') then
4173 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4174 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4175 	      FND_MESSAGE.SET_TOKEN('QUANTITY' , l_ref_REPH_rec.QUANTITY );
4176 
4177          --Only show PARAMN5 if PARAMN6 > 1
4178          if (l_ref_REPH_rec.PARAMN6 > 1) then
4179 	         FND_MESSAGE.SET_TOKEN('QTY_PARAMN5_6' , l_ref_REPH_rec.PARAMN5 );
4180          else
4181             FND_MESSAGE.SET_TOKEN('QTY_PARAMN5_6' , l_ref_REPH_rec.PARAMN6 );
4182          end if;
4183 
4184     --Shipment
4185     elsif (l_ref_REPH_rec.event_code = 'PS') then
4186 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4187 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4188 	      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4189 	      FND_MESSAGE.SET_TOKEN('QUANTITY' , l_ref_REPH_rec.QUANTITY );
4190 	      FND_MESSAGE.SET_TOKEN('CREATED_BY' , l_user_name );
4191     --Status Changed
4192     elsif (l_ref_REPH_rec.event_code = 'SC') then
4193 
4194          --get flow status meaning
4195          Open c_get_status_meaning(l_ref_REPH_rec.PARAMC2, 'CSD_REPAIR_FLOW_STATUS' );
4196          FETCH c_get_status_meaning into l_status_meaning;
4197          Close c_get_status_meaning;
4198 	      FND_MESSAGE.SET_TOKEN('OLD_STATUS_PARAMC2' , l_status_meaning );
4199 
4200          --get flow status meaning
4201          Open c_get_status_meaning(l_ref_REPH_rec.PARAMC1, 'CSD_REPAIR_FLOW_STATUS');
4202          FETCH c_get_status_meaning into l_status_meaning;
4203          Close c_get_status_meaning;
4204 	      FND_MESSAGE.SET_TOKEN('NEW_STATUS_PARAMC1' , l_status_meaning );
4205 
4206 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4207 	      FND_MESSAGE.SET_TOKEN('CREATED_BY' , l_user_name );
4208     --WIP Job Created
4209     elsif (l_ref_REPH_rec.event_code = 'JS') then
4210 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4211 	      FND_MESSAGE.SET_TOKEN('QUANTITY' , l_ref_REPH_rec.QUANTITY );
4212 	      FND_MESSAGE.SET_TOKEN('PARAMN5' , l_ref_REPH_rec.PARAMN5 );
4213 	      FND_MESSAGE.SET_TOKEN('PARAMC5' , l_ref_REPH_rec.PARAMC5 );
4217 	      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4214     --RMA Serial Number Changed
4215     elsif (l_ref_REPH_rec.event_code = 'RSC') then
4216 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4218 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4219 	      FND_MESSAGE.SET_TOKEN('PARAMN2' , l_ref_REPH_rec.PARAMN2 );
4220     --Shipment Serial Number Changed
4221     elsif (l_ref_REPH_rec.event_code = 'SSC') then
4222 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4223 	      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4224 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4225    --Inspection Performed
4226    elsif (l_ref_REPH_rec.event_code = 'IP') then
4227 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4228 	      FND_MESSAGE.SET_TOKEN('PARAMN3' , l_ref_REPH_rec.PARAMN3 );
4229 	      FND_MESSAGE.SET_TOKEN('PARAMN4' , l_ref_REPH_rec.PARAMN4 );
4230    --Repair Order Split
4231    elsif (l_ref_REPH_rec.event_code = 'SLT') then
4232 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4233 	      FND_MESSAGE.SET_TOKEN('PARAMN1' , l_ref_REPH_rec.PARAMN1 );
4234 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4235 
4236          --ATTACHMENTS_PARAMC2 based on paramc2 value:'Y' => 'Attachments Copied'
4237          --else 'Attachments Not Copied'
4238          if (l_ref_REPH_rec.PARAMC2 = 'Y') then
4239 	         FND_MESSAGE.SET_TOKEN('ATTACHMENTS_PARAMC2' , l_attachments_copied );
4240          else
4241             FND_MESSAGE.SET_TOKEN('ATTACHMENTS_PARAMC2' , l_attachments_not_copied );
4242          end if;
4243 
4244    --Estimate Status Updated
4245    elsif (l_ref_REPH_rec.event_code = 'ESU') then
4246          --get status meaning
4247          Open c_get_status_meaning(l_ref_REPH_rec.PARAMC2, 'CSD_APPROVAL_STATUS');
4248          FETCH c_get_status_meaning into l_status_meaning;
4249          Close c_get_status_meaning;
4250 	      FND_MESSAGE.SET_TOKEN('OLD_STATUS_PARAMC2' , l_status_meaning );
4251 
4252          --get status meaning
4253          Open c_get_status_meaning(l_ref_REPH_rec.PARAMC1, 'CSD_APPROVAL_STATUS');
4254          FETCH c_get_status_meaning into l_status_meaning;
4255          Close c_get_status_meaning;
4256 	      FND_MESSAGE.SET_TOKEN('NEW_STATUS_PARAMC1' , l_status_meaning );
4257 
4258 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4259 	      FND_MESSAGE.SET_TOKEN('PARAMN2' , l_ref_REPH_rec.PARAMN2 );
4260 	      FND_MESSAGE.SET_TOKEN('CREATED_BY' , l_user_name );
4261    --Charges Manually Updated for RO
4262    elsif (l_ref_REPH_rec.event_code = 'CM') then
4263 	      FND_MESSAGE.SET_TOKEN('CREATED_BY' , l_user_name );
4264    --Default Contract Updated
4265    elsif (l_ref_REPH_rec.event_code = 'CONU') then
4266 	      FND_MESSAGE.SET_TOKEN('PARAMC10' , l_ref_REPH_rec.PARAMC10 );
4267 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4268 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4269 	      FND_MESSAGE.SET_TOKEN('CREATED_BY' , l_user_name );
4270    --Job Submitted
4271    elsif (l_ref_REPH_rec.event_code = 'JSU') then
4272 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4273 	      FND_MESSAGE.SET_TOKEN('QUANTITY' , l_ref_REPH_rec.QUANTITY );
4274 	      FND_MESSAGE.SET_TOKEN('PARAMN5' , l_ref_REPH_rec.PARAMN5 );
4275 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4276 	      FND_MESSAGE.SET_TOKEN('PARAMN6' , l_ref_REPH_rec.PARAMN6 );
4277 	      FND_MESSAGE.SET_TOKEN('PARAMN7' , l_ref_REPH_rec.PARAMN7 );
4278    --Job Completed Alert
4279    elsif (l_ref_REPH_rec.event_code = 'JCA') then
4280 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4281 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4282    --Sales Order Received
4283    elsif (l_ref_REPH_rec.event_code = 'RRI') then
4284 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4285 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4286 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4287 	      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4288 	      FND_MESSAGE.SET_TOKEN('QUANTITY' , l_ref_REPH_rec.QUANTITY );
4289    --Sales Order Completed
4290    elsif (l_ref_REPH_rec.event_code = 'PSI') then
4291 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4292 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4293 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4294 	      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4295 	      FND_MESSAGE.SET_TOKEN('PARAMC5' , l_ref_REPH_rec.PARAMC5 );
4296 	      FND_MESSAGE.SET_TOKEN('PARAMC6' , l_ref_REPH_rec.PARAMC6 );
4297    --Repair Order Owner Updated
4298    elsif (l_ref_REPH_rec.event_code = 'DROC') then
4299         fnd_message.set_token('PARAMC1',l_ref_REPH_rec.PARAMC1);
4300         fnd_message.set_token('PARAMC2',l_ref_REPH_rec.PARAMC2);
4301         fnd_message.set_token('CREATED_BY',l_user_name);
4302    --Service Request Status Updated
4303    elsif (l_ref_REPH_rec.event_code = 'SRU') then
4304 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4305 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4306 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4307 	      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4308 	      FND_MESSAGE.SET_TOKEN('CREATED_BY' , l_user_name );
4309    --RO Type Updated
4310    elsif (l_ref_REPH_rec.event_code = 'RTU') then
4311 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4312 	      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4313 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4314 	      FND_MESSAGE.SET_TOKEN('CREATED_BY' , l_user_name );
4315    --Repair Order Alert
4316    elsif (l_ref_REPH_rec.event_code = 'OA') then
4317 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4318 	      FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4319    --Task Created
4320    elsif (l_ref_REPH_rec.event_code = 'TC') then
4321 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4322 	      FND_MESSAGE.SET_TOKEN('PARAMC7' , l_ref_REPH_rec.PARAMC7 );
4323 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4324 	      FND_MESSAGE.SET_TOKEN('PARAMC5' , l_ref_REPH_rec.PARAMC5 );
4325 	      FND_MESSAGE.SET_TOKEN('PARAMC6' , l_ref_REPH_rec.PARAMC6 );
4326    --Task Owner Updated
4327    elsif (l_ref_REPH_rec.event_code = 'TOC') then
4328 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4329 	      FND_MESSAGE.SET_TOKEN('PARAMC7' , l_ref_REPH_rec.PARAMC7 );
4330 	      FND_MESSAGE.SET_TOKEN('PARAMC9' , l_ref_REPH_rec.PARAMC9 );
4331 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4332    --Task Status Updated
4333    elsif (l_ref_REPH_rec.event_code = 'TSC') then
4334 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4335 	      FND_MESSAGE.SET_TOKEN('PARAMC7' , l_ref_REPH_rec.PARAMC7 );
4336 	      FND_MESSAGE.SET_TOKEN('PARAMC8' , l_ref_REPH_rec.PARAMC8 );
4337 	      FND_MESSAGE.SET_TOKEN('PARAMC6' , l_ref_REPH_rec.PARAMC6 );
4338    --Task Assignee Updated
4339    elsif (l_ref_REPH_rec.event_code = 'TAC') then
4340 	      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4341 	      FND_MESSAGE.SET_TOKEN('PARAMC7' , l_ref_REPH_rec.PARAMC7 );
4342 	      FND_MESSAGE.SET_TOKEN('PARAMC9' , l_ref_REPH_rec.PARAMC9 );
4343 	      FND_MESSAGE.SET_TOKEN('PARAMC5' , l_ref_REPH_rec.PARAMC5 );
4344    --Customer Approved
4345    elsif (l_ref_REPH_rec.event_code = 'A') then
4346          --get status meaning
4347          Open c_get_status_meaning(l_ref_REPH_rec.PARAMC2, 'CSD_APPROVAL_STATUS');
4348          FETCH c_get_status_meaning into l_status_meaning;
4349          Close c_get_status_meaning;
4350 	      FND_MESSAGE.SET_TOKEN('OLD_STATUS_PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4351 
4352          --get flow status meaning
4353          Open c_get_status_meaning(l_ref_REPH_rec.PARAMC1,'CSD_APPROVAL_STATUS' );
4354          FETCH c_get_status_meaning into l_status_meaning;
4355          Close c_get_status_meaning;
4356 	      FND_MESSAGE.SET_TOKEN('NEW_STATUS_PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4357 
4358 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4359    --Customer Rejected
4360    elsif (l_ref_REPH_rec.event_code = 'R') then
4361 
4362          --get status meaning
4363          Open c_get_status_meaning(l_ref_REPH_rec.PARAMC2, 'CSD_APPROVAL_STATUS');
4364          FETCH c_get_status_meaning into l_status_meaning;
4365          Close c_get_status_meaning;
4366 	      FND_MESSAGE.SET_TOKEN('OLD_STATUS_PARAMC2' , l_status_meaning );
4367 
4368          --get flow status meaning
4369          Open c_get_status_meaning(l_ref_REPH_rec.PARAMC1,'CSD_APPROVAL_STATUS' );
4370          FETCH c_get_status_meaning into l_status_meaning;
4371          Close c_get_status_meaning;
4372 	      FND_MESSAGE.SET_TOKEN('NEW_STATUS_PARAMC1' , l_status_meaning);
4373 
4374 	      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4375 
4376    -- START bug#13698799 auto create ro, parent ro
4377    --Repair Order Creation
4378    elsif (l_ref_REPH_rec.event_code = 'ROC') then
4379      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4380      open c_get_status_meaning(l_ref_REPH_rec.PARAMC2, 'CSD_REPAIR_FLOW_STATUS' );
4381      FETCH c_get_status_meaning into l_status_meaning;
4382      Close c_get_status_meaning;
4383      FND_MESSAGE.SET_TOKEN('FLOW_STATUS_PARAMC2' , l_status_meaning );
4384      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4385      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4386      FND_MESSAGE.SET_TOKEN('PARAMC5' , l_ref_REPH_rec.PARAMC5 );
4387      FND_MESSAGE.SET_TOKEN('QTY' , l_ref_REPH_rec.QUANTITY);
4388      open c_get_repair_number(l_ref_REPH_rec.repair_line_id);
4389      FETCH c_get_repair_number into l_repair_number;
4390      Close c_get_repair_number;
4391      FND_MESSAGE.SET_TOKEN('REPAIR_NUMBER' , l_repair_number);
4392    --Component Repair Order Creation
4393    elsif (l_ref_REPH_rec.event_code = 'CROC') then
4394      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4395      open c_get_status_meaning(l_ref_REPH_rec.PARAMC2, 'CSD_REPAIR_FLOW_STATUS' );
4396      FETCH c_get_status_meaning into l_status_meaning;
4397      Close c_get_status_meaning;
4398      FND_MESSAGE.SET_TOKEN('COMP_STATUS_PARAMC2' , l_status_meaning );
4399      FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4400      FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4401      FND_MESSAGE.SET_TOKEN('PARAMC5' , l_ref_REPH_rec.PARAMC5 );
4402      FND_MESSAGE.SET_TOKEN('QTY' , l_ref_REPH_rec.QUANTITY);
4403      -- END bug#13698799 auto create ro, parent ro
4404    -- service warranty contract.
4405    elsif (l_ref_REPH_rec.event_code = 'WI') then
4406      FND_MESSAGE.SET_TOKEN('PARAMC1' , l_ref_REPH_rec.PARAMC1 );
4407 	 FND_MESSAGE.SET_TOKEN('PARAMC2' , l_ref_REPH_rec.PARAMC2 );
4408 	 FND_MESSAGE.SET_TOKEN('PARAMC3' , l_ref_REPH_rec.PARAMC3 );
4409 	 FND_MESSAGE.SET_TOKEN('PARAMC4' , l_ref_REPH_rec.PARAMC4 );
4410 	 FND_MESSAGE.SET_TOKEN('PARAMC5' , l_ref_REPH_rec.PARAMC5 );
4411 	 FND_MESSAGE.SET_TOKEN('PARAMC6' , l_ref_REPH_rec.PARAMC6 );
4412    end if;
4413     -- get the message string and return it  --
4414     l_repair_detail := FND_MESSAGE.GET;
4415     return l_repair_detail;
4416 
4417 END GET_HISTORY_DETAIL;
4418 
4419 
4420 
4421 End CSD_REPAIR_HISTORY_PVT;