DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSD_REPAIR_HISTORY_PVT

Source


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