[Home] [Help]
PACKAGE BODY: APPS.CSP_PACKLIST_LINES_PVT
Source
1 PACKAGE BODY CSP_PACKLIST_LINES_PVT AS
2 /* $Header: cspvtalb.pls 115.8 2003/05/02 17:14:15 phegde ship $ */
3 -- Start of Comments
4 -- Package name : CSP_PACKLIST_LINES_PVT
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSP_PACKLIST_LINES_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'cspvtalb.pls';
13
14 G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
15 G_LOGIN_ID NUMBER := FND_GLOBAL.LOGIN_ID;
16
17 -- Hint: Primary key needs to be returned.
18 PROCEDURE Create_packlist_lines(
19 P_Api_Version_Number IN NUMBER,
20 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
21 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
22 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
23 P_PLL_Rec IN PLL_Rec_Type := G_MISS_PLL_REC,
24 --Hint: Add detail tables as parameter lists if it's master-detail relationship.
25 X_PACKLIST_LINE_ID OUT NOCOPY NUMBER,
26 X_Return_Status OUT NOCOPY VARCHAR2,
27 X_Msg_Count OUT NOCOPY NUMBER,
28 X_Msg_Data OUT NOCOPY VARCHAR2
29 )
30
31 IS
32 l_api_name CONSTANT VARCHAR2(30) := 'Create_packlist_lines';
33 l_api_version_number CONSTANT NUMBER := 1.0;
34 l_return_status_full VARCHAR2(1);
35 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
36 BEGIN
37 -- Standard Start of API savepoint
38 SAVEPOINT CREATE_PACKLIST_LINES_PVT;
39
40 -- Standard call to check for call compatibility.
41 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
42 p_api_version_number,
43 l_api_name,
44 G_PKG_NAME)
45 THEN
46 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
47 END IF;
48
49
50 -- Initialize message list if p_init_msg_list is set to TRUE.
51 IF FND_API.to_Boolean( p_init_msg_list )
52 THEN
53 FND_MSG_PUB.initialize;
54 END IF;
55
56
57 -- Debug Message
58 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: ' || l_api_name || 'start');
59
60
61 -- Initialize API return status to SUCCESS
62 x_return_status := FND_API.G_RET_STS_SUCCESS;
63
64 --
65 -- API body
66 --
67
68 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
69 /*
70 -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
71 IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
72 THEN
73 AS_CALLOUT_PKG.Create_packlist_lines_BC(
74 p_api_version_number => 2.0,
75 p_init_msg_list => FND_API.G_FALSE,
76 p_commit => FND_API.G_FALSE,
77 p_validation_level => p_validation_level,
78 P_PLL_Rec => P_PLL_Rec,
79 -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
80 x_return_status => x_return_status,
81 x_msg_count => x_msg_count,
82 x_msg_data => x_msg_data);
83 END IF;
84 */
85 -- ******************************************************************
86 -- Validate Environment
87 -- ******************************************************************
88 IF FND_GLOBAL.User_Id IS NULL
89 THEN
90 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
91 THEN
92 FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
93 FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
94 FND_MSG_PUB.ADD;
95 END IF;
96 RAISE FND_API.G_EXC_ERROR;
97 END IF;
98
99 /*
100 AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
101 p_api_version_number => 1.0
102 ,p_salesforce_id => NULL
103 ,x_return_status => x_return_status
104 ,x_msg_count => x_msg_count
105 ,x_msg_data => x_msg_data
106 ,x_sales_member_rec => l_identity_sales_member_rec);
107
108 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
109 RAISE FND_API.G_EXC_ERROR;
110 END IF;
111
112 */
113 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
114 THEN
115 -- Debug message
116 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Validate_packlist_lines');
117
118 -- Invoke validation procedures
119 Validate_packlist_lines(
120 p_init_msg_list => FND_API.G_FALSE,
121 p_validation_level => p_validation_level,
122 p_validation_mode => JTF_PLSQL_API.G_CREATE,
123 P_PLL_Rec => P_PLL_Rec,
124 x_return_status => x_return_status,
125 x_msg_count => x_msg_count,
126 x_msg_data => x_msg_data);
127 END IF;
128
129 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
130 RAISE FND_API.G_EXC_ERROR;
131 END IF;
132
133 -- Hint: Add corresponding Master-Detail business logic here if necessary.
134
135 -- Debug Message
136 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Calling create table handler');
137
138 -- Invoke table handler(CSP_PACKLIST_LINES_PKG.Insert_Row)
139 CSP_PACKLIST_LINES_PKG.Insert_Row(
140 px_PACKLIST_LINE_ID => x_PACKLIST_LINE_ID,
141 p_CREATED_BY => p_PLL_rec.CREATED_BY,
142 p_CREATION_DATE => p_PLL_rec.CREATION_DATE,
143 p_LAST_UPDATED_BY => p_PLL_rec.LAST_UPDATED_BY,
144 p_LAST_UPDATE_DATE => p_PLL_rec.LAST_UPDATE_DATE,
145 p_LAST_UPDATE_LOGIN => p_PLL_rec.LAST_UPDATE_LOGIN,
146 p_ORGANIZATION_ID => p_PLL_rec.ORGANIZATION_ID,
147 p_PACKLIST_LINE_NUMBER => p_PLL_rec.PACKLIST_LINE_NUMBER,
148 p_PACKLIST_HEADER_ID => p_PLL_rec.PACKLIST_HEADER_ID,
149 p_BOX_ID => p_PLL_rec.BOX_ID,
150 p_PICKLIST_LINE_ID => p_PLL_rec.PICKLIST_LINE_ID,
151 p_PACKLIST_LINE_STATUS => p_PLL_rec.PACKLIST_LINE_STATUS,
152 p_INVENTORY_ITEM_ID => p_PLL_rec.INVENTORY_ITEM_ID,
153 p_QUANTITY_PACKED => p_PLL_rec.QUANTITY_PACKED,
154 p_QUANTITY_SHIPPED => p_PLL_rec.QUANTITY_SHIPPED,
155 p_QUANTITY_RECEIVED => p_PLL_rec.QUANTITY_RECEIVED,
156 p_ATTRIBUTE_CATEGORY => p_PLL_rec.ATTRIBUTE_CATEGORY,
157 p_ATTRIBUTE1 => p_PLL_rec.ATTRIBUTE1,
158 p_ATTRIBUTE2 => p_PLL_rec.ATTRIBUTE2,
159 p_ATTRIBUTE3 => p_PLL_rec.ATTRIBUTE3,
160 p_ATTRIBUTE4 => p_PLL_rec.ATTRIBUTE4,
161 p_ATTRIBUTE5 => p_PLL_rec.ATTRIBUTE5,
162 p_ATTRIBUTE6 => p_PLL_rec.ATTRIBUTE6,
163 p_ATTRIBUTE7 => p_PLL_rec.ATTRIBUTE7,
164 p_ATTRIBUTE8 => p_PLL_rec.ATTRIBUTE8,
165 p_ATTRIBUTE9 => p_PLL_rec.ATTRIBUTE9,
166 p_ATTRIBUTE10 => p_PLL_rec.ATTRIBUTE10,
167 p_ATTRIBUTE11 => p_PLL_rec.ATTRIBUTE11,
168 p_ATTRIBUTE12 => p_PLL_rec.ATTRIBUTE12,
169 p_ATTRIBUTE13 => p_PLL_rec.ATTRIBUTE13,
170 p_ATTRIBUTE14 => p_PLL_rec.ATTRIBUTE14,
171 p_ATTRIBUTE15 => p_PLL_rec.ATTRIBUTE15,
172 p_UOM_CODE => p_PLL_rec.UOM_CODE,
173 p_LINE_ID => p_PLL_rec.LINE_ID);
174 -- Hint: Primary key should be returned.
175 -- x_PACKLIST_LINE_ID := px_PACKLIST_LINE_ID;
176
177 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
178 RAISE FND_API.G_EXC_ERROR;
179 END IF;
180
181 --
182 -- End of API body
183 --
184
185 -- Standard check for p_commit
186 IF FND_API.to_Boolean( p_commit )
187 THEN
188 COMMIT WORK;
189 END IF;
190
191
192 -- Debug Message
193 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: ' || l_api_name || 'end');
194
195
196 -- Standard call to get message count and if count is 1, get message info.
197 FND_MSG_PUB.Count_And_Get
198 ( p_count => x_msg_count,
199 p_data => x_msg_data
200 );
201
202 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
203 /*
204 -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
205 IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
206 THEN
207 AS_CALLOUT_PKG.Create_packlist_lines_AC(
208 p_api_version_number => 2.0,
209 p_init_msg_list => FND_API.G_FALSE,
210 p_commit => FND_API.G_FALSE,
211 p_validation_level => p_validation_level,
212 P_PLL_Rec => P_PLL_Rec,
213 -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
214 x_return_status => x_return_status,
215 x_msg_count => x_msg_count,
216 x_msg_data => x_msg_data);
217 END IF;
218 */
219 EXCEPTION
220 WHEN FND_API.G_EXC_ERROR THEN
221 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
222 P_API_NAME => L_API_NAME
223 ,P_PKG_NAME => G_PKG_NAME
224 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
225 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
226 ,X_MSG_COUNT => X_MSG_COUNT
227 ,X_MSG_DATA => X_MSG_DATA
228 ,X_RETURN_STATUS => X_RETURN_STATUS);
229
230 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
231 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
232 P_API_NAME => L_API_NAME
233 ,P_PKG_NAME => G_PKG_NAME
234 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
235 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
236 ,X_MSG_COUNT => X_MSG_COUNT
237 ,X_MSG_DATA => X_MSG_DATA
238 ,X_RETURN_STATUS => X_RETURN_STATUS);
239
240 WHEN OTHERS THEN
241 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
242 P_API_NAME => L_API_NAME
243 ,P_PKG_NAME => G_PKG_NAME
244 ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
245 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
246 ,X_MSG_COUNT => X_MSG_COUNT
247 ,X_MSG_DATA => X_MSG_DATA
248 ,X_RETURN_STATUS => X_RETURN_STATUS);
249 End Create_packlist_lines;
250
251
252 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
253 PROCEDURE Update_packlist_lines(
254 P_Api_Version_Number IN NUMBER,
255 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
256 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
257 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
258 P_Identity_Salesforce_Id IN NUMBER := NULL,
259 P_PLL_Rec IN PLL_Rec_Type,
260 X_Return_Status OUT NOCOPY VARCHAR2,
261 X_Msg_Count OUT NOCOPY NUMBER,
262 X_Msg_Data OUT NOCOPY VARCHAR2
263 )
264
265 IS
266 /*
267 Cursor C_Get_packlist_lines(PACKLIST_LINE_ID Number) IS
268 Select rowid,
269 PACKLIST_LINE_ID,
270 CREATED_BY,
271 CREATION_DATE,
272 LAST_UPDATED_BY,
273 LAST_UPDATE_DATE,
274 LAST_UPDATE_LOGIN,
275 ORGANIZATION_ID,
276 PACKLIST_LINE_NUMBER,
277 PACKLIST_HEADER_ID,
278 BOX_ID,
279 PICKLIST_LINE_ID,
280 PACKLIST_LINE_STATUS,
281 INVENTORY_ITEM_ID,
282 QUANTITY_PACKED,
283 QUANTITY_SHIPPED,
284 QUANTITY_RECEIVED,
285 ATTRIBUTE_CATEGORY,
286 ATTRIBUTE1,
287 ATTRIBUTE2,
288 ATTRIBUTE3,
289 ATTRIBUTE4,
290 ATTRIBUTE5,
291 ATTRIBUTE6,
292 ATTRIBUTE7,
293 ATTRIBUTE8,
294 ATTRIBUTE9,
295 ATTRIBUTE10,
296 ATTRIBUTE11,
297 ATTRIBUTE12,
298 ATTRIBUTE13,
299 ATTRIBUTE14,
300 ATTRIBUTE15,
301 UOM_CODE,
302 LINE_ID
303 From CSP_PACKLIST_LINES
304 -- Hint: Developer need to provide Where clause
305 For Update NOWAIT;
306 */
307 l_api_name CONSTANT VARCHAR2(30) := 'Update_packlist_lines';
308 l_api_version_number CONSTANT NUMBER := 1.0;
309 -- Local Variables
310 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
311 l_ref_PLL_rec CSP_packlist_lines_PVT.PLL_Rec_Type;
312 l_tar_PLL_rec CSP_packlist_lines_PVT.PLL_Rec_Type := P_PLL_Rec;
313 l_rowid ROWID;
314 BEGIN
315 -- Standard Start of API savepoint
316 SAVEPOINT UPDATE_PACKLIST_LINES_PVT;
317
318 -- Standard call to check for call compatibility.
319 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
320 p_api_version_number,
321 l_api_name,
322 G_PKG_NAME)
323 THEN
324 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
325 END IF;
326
327
328 -- Initialize message list if p_init_msg_list is set to TRUE.
329 IF FND_API.to_Boolean( p_init_msg_list )
330 THEN
331 FND_MSG_PUB.initialize;
332 END IF;
333
334
335 -- Debug Message
336 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: ' || l_api_name || 'start');
337
338
339 -- Initialize API return status to SUCCESS
340 x_return_status := FND_API.G_RET_STS_SUCCESS;
341
342 --
343 -- Api body
344 --
345 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
346 /*
347 -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
348 IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
349 THEN
350 AS_CALLOUT_PKG.Update_packlist_lines_BU(
351 p_api_version_number => 2.0,
352 p_init_msg_list => FND_API.G_FALSE,
353 p_commit => FND_API.G_FALSE,
354 p_validation_level => p_validation_level,
355 p_identity_salesforce_id => p_identity_salesforce_id,
356 P_PLL_Rec => P_PLL_Rec,
357 -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
358 x_return_status => x_return_status,
359 x_msg_count => x_msg_count,
360 x_msg_data => x_msg_data);
361 END IF;
362 */
363 /*
364 AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
365 p_api_version_number => 1.0
366 ,p_salesforce_id => p_identity_salesforce_id
367 ,x_return_status => x_return_status
368 ,x_msg_count => x_msg_count
369 ,x_msg_data => x_msg_data
370 ,x_sales_member_rec => l_identity_sales_member_rec);
371
372 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
373 RAISE FND_API.G_EXC_ERROR;
374 END IF;
375 */
376 -- Debug Message
377 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: - Open Cursor to Select');
378
379 /*
380 Open C_Get_packlist_lines( l_tar_PLL_rec.PACKLIST_LINE_ID);
381
382 Fetch C_Get_packlist_lines into
383 l_rowid,
384 l_ref_PLL_rec.PACKLIST_LINE_ID,
385 l_ref_PLL_rec.CREATED_BY,
386 l_ref_PLL_rec.CREATION_DATE,
387 l_ref_PLL_rec.LAST_UPDATED_BY,
388 l_ref_PLL_rec.LAST_UPDATE_DATE,
389 l_ref_PLL_rec.LAST_UPDATE_LOGIN,
390 l_ref_PLL_rec.ORGANIZATION_ID,
391 l_ref_PLL_rec.PACKLIST_LINE_NUMBER,
392 l_ref_PLL_rec.PACKLIST_HEADER_ID,
393 l_ref_PLL_rec.BOX_ID,
394 l_ref_PLL_rec.PICKLIST_LINE_ID,
395 l_ref_PLL_rec.PACKLIST_LINE_STATUS,
396 l_ref_PLL_rec.INVENTORY_ITEM_ID,
397 l_ref_PLL_rec.QUANTITY_PACKED,
398 l_ref_PLL_rec.QUANTITY_SHIPPED,
399 l_ref_PLL_rec.QUANTITY_RECEIVED,
400 l_ref_PLL_rec.ATTRIBUTE_CATEGORY,
401 l_ref_PLL_rec.ATTRIBUTE1,
402 l_ref_PLL_rec.ATTRIBUTE2,
403 l_ref_PLL_rec.ATTRIBUTE3,
404 l_ref_PLL_rec.ATTRIBUTE4,
405 l_ref_PLL_rec.ATTRIBUTE5,
406 l_ref_PLL_rec.ATTRIBUTE6,
407 l_ref_PLL_rec.ATTRIBUTE7,
408 l_ref_PLL_rec.ATTRIBUTE8,
409 l_ref_PLL_rec.ATTRIBUTE9,
410 l_ref_PLL_rec.ATTRIBUTE10,
411 l_ref_PLL_rec.ATTRIBUTE11,
412 l_ref_PLL_rec.ATTRIBUTE12,
413 l_ref_PLL_rec.ATTRIBUTE13,
414 l_ref_PLL_rec.ATTRIBUTE14,
415 l_ref_PLL_rec.ATTRIBUTE15,
416 l_ref_PLL_rec.UOM_CODE,
417 l_ref_PLL_rec.LINE_ID;
418
419 If ( C_Get_packlist_lines%NOTFOUND) Then
420 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
421 THEN
422 FND_MESSAGE.Set_Name('CSP', 'API_MISSING_UPDATE_TARGET');
423 FND_MESSAGE.Set_Token ('INFO', 'packlist_lines', FALSE);
424 FND_MSG_PUB.Add;
425 END IF;
426 raise FND_API.G_EXC_ERROR;
427 END IF;
428 -- Debug Message
429 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: - Close Cursor');
430 Close C_Get_packlist_lines;
431
432
433
434 If (l_tar_PLL_rec.last_update_date is NULL or
435 l_tar_PLL_rec.last_update_date = FND_API.G_MISS_Date ) Then
436 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
437 THEN
438 FND_MESSAGE.Set_Name('CSP', 'API_MISSING_ID');
439 FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
440 FND_MSG_PUB.ADD;
441 END IF;
442 raise FND_API.G_EXC_ERROR;
443 End if;
444 -- Check Whether record has been changed by someone else
445 If (l_tar_PLL_rec.last_update_date <> l_ref_PLL_rec.last_update_date) Then
446 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
447 THEN
448 FND_MESSAGE.Set_Name('CSP', 'API_RECORD_CHANGED');
449 FND_MESSAGE.Set_Token('INFO', 'packlist_lines', FALSE);
450 FND_MSG_PUB.ADD;
451 END IF;
452 raise FND_API.G_EXC_ERROR;
453 End if;
454 */
455 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
456 THEN
457 -- Debug message
458 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Validate_packlist_lines');
459
460 -- Invoke validation procedures
461 Validate_packlist_lines(
462 p_init_msg_list => FND_API.G_FALSE,
463 p_validation_level => p_validation_level,
464 p_validation_mode => JTF_PLSQL_API.G_UPDATE,
465 P_PLL_Rec => P_PLL_Rec,
466 x_return_status => x_return_status,
467 x_msg_count => x_msg_count,
468 x_msg_data => x_msg_data);
469 END IF;
470
471 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
472 RAISE FND_API.G_EXC_ERROR;
473 END IF;
474
475 -- Hint: Add corresponding Master-Detail business logic here if necessary.
476
477 -- Debug Message
478 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Calling update table handler');
479
480 -- Invoke table handler(CSP_PACKLIST_LINES_PKG.Update_Row)
481 CSP_PACKLIST_LINES_PKG.Update_Row(
482 p_PACKLIST_LINE_ID => p_PLL_rec.PACKLIST_LINE_ID,
483 p_CREATED_BY => p_PLL_rec.CREATED_BY,
484 p_CREATION_DATE => p_PLL_rec.creation_date,
485 p_LAST_UPDATED_BY => p_PLL_rec.LAST_UPDATED_BY,
486 p_LAST_UPDATE_DATE => p_PLL_rec.LAST_UPDATE_DATE,
487 p_LAST_UPDATE_LOGIN => p_PLL_rec.LAST_UPDATE_LOGIN,
488 p_ORGANIZATION_ID => p_PLL_rec.ORGANIZATION_ID,
489 p_PACKLIST_LINE_NUMBER => p_PLL_rec.PACKLIST_LINE_NUMBER,
490 p_PACKLIST_HEADER_ID => p_PLL_rec.PACKLIST_HEADER_ID,
491 p_BOX_ID => p_PLL_rec.BOX_ID,
492 p_PICKLIST_LINE_ID => p_PLL_rec.PICKLIST_LINE_ID,
493 p_PACKLIST_LINE_STATUS => p_PLL_rec.PACKLIST_LINE_STATUS,
494 p_INVENTORY_ITEM_ID => p_PLL_rec.INVENTORY_ITEM_ID,
495 p_QUANTITY_PACKED => p_PLL_rec.QUANTITY_PACKED,
496 p_QUANTITY_SHIPPED => p_PLL_rec.QUANTITY_SHIPPED,
497 p_QUANTITY_RECEIVED => p_PLL_rec.QUANTITY_RECEIVED,
498 p_ATTRIBUTE_CATEGORY => p_PLL_rec.ATTRIBUTE_CATEGORY,
499 p_ATTRIBUTE1 => p_PLL_rec.ATTRIBUTE1,
500 p_ATTRIBUTE2 => p_PLL_rec.ATTRIBUTE2,
501 p_ATTRIBUTE3 => p_PLL_rec.ATTRIBUTE3,
502 p_ATTRIBUTE4 => p_PLL_rec.ATTRIBUTE4,
503 p_ATTRIBUTE5 => p_PLL_rec.ATTRIBUTE5,
504 p_ATTRIBUTE6 => p_PLL_rec.ATTRIBUTE6,
505 p_ATTRIBUTE7 => p_PLL_rec.ATTRIBUTE7,
506 p_ATTRIBUTE8 => p_PLL_rec.ATTRIBUTE8,
507 p_ATTRIBUTE9 => p_PLL_rec.ATTRIBUTE9,
508 p_ATTRIBUTE10 => p_PLL_rec.ATTRIBUTE10,
509 p_ATTRIBUTE11 => p_PLL_rec.ATTRIBUTE11,
510 p_ATTRIBUTE12 => p_PLL_rec.ATTRIBUTE12,
511 p_ATTRIBUTE13 => p_PLL_rec.ATTRIBUTE13,
512 p_ATTRIBUTE14 => p_PLL_rec.ATTRIBUTE14,
513 p_ATTRIBUTE15 => p_PLL_rec.ATTRIBUTE15,
514 p_UOM_CODE => p_PLL_rec.UOM_CODE,
515 p_LINE_ID => p_PLL_rec.LINE_ID);
516 --
517 -- End of API body.
518 --
519
520 -- Standard check for p_commit
521 IF FND_API.to_Boolean( p_commit )
522 THEN
523 COMMIT WORK;
524 END IF;
525
526
527 -- Debug Message
528 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: ' || l_api_name || 'end');
529
530
531 -- Standard call to get message count and if count is 1, get message info.
532 FND_MSG_PUB.Count_And_Get
533 ( p_count => x_msg_count,
534 p_data => x_msg_data
535 );
536
537 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
538 /*
539 -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
540 IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
541 THEN
542 AS_CALLOUT_PKG.Update_packlist_lines_AU(
543 p_api_version_number => 2.0,
544 p_init_msg_list => FND_API.G_FALSE,
545 p_commit => FND_API.G_FALSE,
546 p_validation_level => p_validation_level,
547 p_identity_salesforce_id => p_identity_salesforce_id,
548 P_PLL_Rec => P_PLL_Rec,
549 -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
550 x_return_status => x_return_status,
551 x_msg_count => x_msg_count,
552 x_msg_data => x_msg_data);
553 END IF;
554 */
555 EXCEPTION
556 WHEN FND_API.G_EXC_ERROR THEN
557 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
558 P_API_NAME => L_API_NAME
559 ,P_PKG_NAME => G_PKG_NAME
560 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
561 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
562 ,X_MSG_COUNT => X_MSG_COUNT
563 ,X_MSG_DATA => X_MSG_DATA
564 ,X_RETURN_STATUS => X_RETURN_STATUS);
565
566 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
567 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
568 P_API_NAME => L_API_NAME
569 ,P_PKG_NAME => G_PKG_NAME
570 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
571 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
572 ,X_MSG_COUNT => X_MSG_COUNT
573 ,X_MSG_DATA => X_MSG_DATA
574 ,X_RETURN_STATUS => X_RETURN_STATUS);
575
576 WHEN OTHERS THEN
577 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
578 P_API_NAME => L_API_NAME
579 ,P_PKG_NAME => G_PKG_NAME
580 ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
581 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
582 ,X_MSG_COUNT => X_MSG_COUNT
583 ,X_MSG_DATA => X_MSG_DATA
584 ,X_RETURN_STATUS => X_RETURN_STATUS);
585 End Update_packlist_lines;
586
587
588 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
589 -- The Master delete procedure may not be needed depends on different business requirements.
590 PROCEDURE Delete_packlist_lines(
591 P_Api_Version_Number IN NUMBER,
592 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
593 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
594 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
595 P_identity_salesforce_id IN NUMBER := NULL,
596 P_PLL_Rec IN PLL_Rec_Type,
597 X_Return_Status OUT NOCOPY VARCHAR2,
598 X_Msg_Count OUT NOCOPY NUMBER,
599 X_Msg_Data OUT NOCOPY VARCHAR2
600 )
601
602 IS
603 l_api_name CONSTANT VARCHAR2(30) := 'Delete_packlist_lines';
604 l_api_version_number CONSTANT NUMBER := 1.0;
605 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
606 BEGIN
607 -- Standard Start of API savepoint
608 SAVEPOINT DELETE_PACKLIST_LINES_PVT;
609
610 -- Standard call to check for call compatibility.
611 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
612 p_api_version_number,
613 l_api_name,
614 G_PKG_NAME)
615 THEN
616 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
617 END IF;
618
619
620 -- Initialize message list if p_init_msg_list is set to TRUE.
621 IF FND_API.to_Boolean( p_init_msg_list )
622 THEN
623 FND_MSG_PUB.initialize;
624 END IF;
625
626
627 -- Debug Message
628 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: ' || l_api_name || 'start');
629
630
631 -- Initialize API return status to SUCCESS
632 x_return_status := FND_API.G_RET_STS_SUCCESS;
633
634 --
635 -- Api body
636 --
637 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
638 /*
639 -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
640 IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
641 THEN
642 AS_CALLOUT_PKG.Delete_packlist_lines_BD(
643 p_api_version_number => 2.0,
644 p_init_msg_list => FND_API.G_FALSE,
645 p_commit => FND_API.G_FALSE,
646 p_validation_level => p_validation_level,
647 p_identity_salesforce_id => p_identity_salesforce_id,
648 P_PLL_Rec => P_PLL_Rec,
649 -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
650 x_return_status => x_return_status,
651 x_msg_count => x_msg_count,
652 x_msg_data => x_msg_data);
653 END IF;
654 */
655 /*
656 AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
657 p_api_version_number => 1.0
658 ,p_salesforce_id => p_identity_salesforce_id
659 ,x_return_status => x_return_status
660 ,x_msg_count => x_msg_count
661 ,x_msg_data => x_msg_data
662 ,x_sales_member_rec => l_identity_sales_member_rec);
663
664 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
665 RAISE FND_API.G_EXC_ERROR;
666 END IF;
667 */
668 -- Debug Message
669 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Calling delete table handler');
670
671 -- Invoke table handler(CSP_PACKLIST_LINES_PKG.Delete_Row)
672 CSP_PACKLIST_LINES_PKG.Delete_Row(
673 p_PACKLIST_LINE_ID => p_PLL_rec.PACKLIST_LINE_ID);
674 --
675 -- End of API body
676 --
677
678 -- Standard check for p_commit
679 IF FND_API.to_Boolean( p_commit )
680 THEN
681 COMMIT WORK;
682 END IF;
683
684
685 -- Debug Message
686 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: ' || l_api_name || 'end');
687
688
689 -- Standard call to get message count and if count is 1, get message info.
690 FND_MSG_PUB.Count_And_Get
691 ( p_count => x_msg_count,
692 p_data => x_msg_data
693 );
694
695 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
696 /*
697 -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
698 IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
699 THEN
700 AS_CALLOUT_PKG.Delete_packlist_lines_AD(
701 p_api_version_number => 2.0,
702 p_init_msg_list => FND_API.G_FALSE,
703 p_commit => FND_API.G_FALSE,
704 p_validation_level => p_validation_level,
705 p_identity_salesforce_id => p_identity_salesforce_id,
706 P_PLL_Rec => P_PLL_Rec,
707 -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
708 x_return_status => x_return_status,
709 x_msg_count => x_msg_count,
710 x_msg_data => x_msg_data);
711 END IF;
712 */
713 EXCEPTION
714 WHEN FND_API.G_EXC_ERROR THEN
715 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
716 P_API_NAME => L_API_NAME
717 ,P_PKG_NAME => G_PKG_NAME
718 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
719 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
720 ,X_MSG_COUNT => X_MSG_COUNT
721 ,X_MSG_DATA => X_MSG_DATA
722 ,X_RETURN_STATUS => X_RETURN_STATUS);
723
724 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
725 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
726 P_API_NAME => L_API_NAME
727 ,P_PKG_NAME => G_PKG_NAME
728 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
729 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
730 ,X_MSG_COUNT => X_MSG_COUNT
731 ,X_MSG_DATA => X_MSG_DATA
732 ,X_RETURN_STATUS => X_RETURN_STATUS);
733
734 WHEN OTHERS THEN
735 JTF_PLSQL_API.HANDLE_EXCEPTIONS(
736 P_API_NAME => L_API_NAME
737 ,P_PKG_NAME => G_PKG_NAME
738 ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
739 ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
740 ,X_MSG_COUNT => X_MSG_COUNT
741 ,X_MSG_DATA => X_MSG_DATA
742 ,X_RETURN_STATUS => X_RETURN_STATUS);
743 End Delete_packlist_lines;
744
745
746 -- This procudure defines the columns for the Dynamic SQL.
747 PROCEDURE Define_Columns(
748 P_PLL_Rec IN CSP_PACKLIST_LINES_PUB.PLL_Rec_Type,
749 p_cur_get_PLL IN NUMBER
750 )
751 IS
752 BEGIN
753 -- Debug Message
754 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Define Columns Begins');
755
756 -- define all columns for CSP_PACKLIST_LINES_V view
757 dbms_sql.define_column(p_cur_get_PLL, 1, P_PLL_Rec.PACKLIST_LINE_ID);
758 dbms_sql.define_column(p_cur_get_PLL, 2, P_PLL_Rec.ORGANIZATION_ID);
759 dbms_sql.define_column(p_cur_get_PLL, 3, P_PLL_Rec.PACKLIST_LINE_NUMBER);
760 dbms_sql.define_column(p_cur_get_PLL, 4, P_PLL_Rec.PACKLIST_HEADER_ID);
761 dbms_sql.define_column(p_cur_get_PLL, 5, P_PLL_Rec.BOX_ID);
762 dbms_sql.define_column(p_cur_get_PLL, 6, P_PLL_Rec.PICKLIST_LINE_ID);
763 dbms_sql.define_column(p_cur_get_PLL, 7, P_PLL_Rec.PACKLIST_LINE_STATUS, 30);
764 dbms_sql.define_column(p_cur_get_PLL, 8, P_PLL_Rec.INVENTORY_ITEM_ID);
765 dbms_sql.define_column(p_cur_get_PLL, 9, P_PLL_Rec.QUANTITY_PACKED);
766 dbms_sql.define_column(p_cur_get_PLL, 10, P_PLL_Rec.QUANTITY_SHIPPED);
767 dbms_sql.define_column(p_cur_get_PLL, 11, P_PLL_Rec.QUANTITY_RECEIVED);
768 dbms_sql.define_column(p_cur_get_PLL, 12, P_PLL_Rec.ATTRIBUTE_CATEGORY, 30);
769 dbms_sql.define_column(p_cur_get_PLL, 13, P_PLL_Rec.ATTRIBUTE1, 150);
770 dbms_sql.define_column(p_cur_get_PLL, 14, P_PLL_Rec.ATTRIBUTE2, 150);
771 dbms_sql.define_column(p_cur_get_PLL, 15, P_PLL_Rec.ATTRIBUTE3, 150);
772 dbms_sql.define_column(p_cur_get_PLL, 16, P_PLL_Rec.ATTRIBUTE4, 150);
773 dbms_sql.define_column(p_cur_get_PLL, 17, P_PLL_Rec.ATTRIBUTE5, 150);
774 dbms_sql.define_column(p_cur_get_PLL, 18, P_PLL_Rec.ATTRIBUTE6, 150);
775 dbms_sql.define_column(p_cur_get_PLL, 19, P_PLL_Rec.ATTRIBUTE7, 150);
776 dbms_sql.define_column(p_cur_get_PLL, 20, P_PLL_Rec.ATTRIBUTE8, 150);
777 dbms_sql.define_column(p_cur_get_PLL, 21, P_PLL_Rec.ATTRIBUTE9, 150);
778 dbms_sql.define_column(p_cur_get_PLL, 22, P_PLL_Rec.ATTRIBUTE10, 150);
779 dbms_sql.define_column(p_cur_get_PLL, 23, P_PLL_Rec.ATTRIBUTE11, 150);
780 dbms_sql.define_column(p_cur_get_PLL, 24, P_PLL_Rec.ATTRIBUTE12, 150);
781 dbms_sql.define_column(p_cur_get_PLL, 25, P_PLL_Rec.ATTRIBUTE13, 150);
782 dbms_sql.define_column(p_cur_get_PLL, 26, P_PLL_Rec.ATTRIBUTE14, 150);
783 dbms_sql.define_column(p_cur_get_PLL, 27, P_PLL_Rec.ATTRIBUTE15, 150);
784 dbms_sql.define_column(p_cur_get_PLL, 28, P_PLL_Rec.UOM_CODE, 3);
785 dbms_sql.define_column(p_cur_get_PLL, 29, P_PLL_Rec.LINE_ID);
786
787 -- Debug Message
788 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Define Columns Ends');
789 END Define_Columns;
790
791 -- This procudure gets column values by the Dynamic SQL.
792 PROCEDURE Get_Column_Values(
793 p_cur_get_PLL IN NUMBER,
794 X_PLL_Rec OUT NOCOPY CSP_PACKLIST_LINES_PUB.PLL_Rec_Type
795 )
796 IS
797 BEGIN
798 -- Debug Message
799 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Get Column Values Begins');
800
801 -- get all column values for CSP_PACKLIST_LINES_V table
802 dbms_sql.column_value(p_cur_get_PLL, 1, X_PLL_Rec.PACKLIST_LINE_ID);
803 dbms_sql.column_value(p_cur_get_PLL, 2, X_PLL_Rec.ORGANIZATION_ID);
804 dbms_sql.column_value(p_cur_get_PLL, 3, X_PLL_Rec.PACKLIST_LINE_NUMBER);
805 dbms_sql.column_value(p_cur_get_PLL, 4, X_PLL_Rec.PACKLIST_HEADER_ID);
806 dbms_sql.column_value(p_cur_get_PLL, 5, X_PLL_Rec.BOX_ID);
807 dbms_sql.column_value(p_cur_get_PLL, 6, X_PLL_Rec.PICKLIST_LINE_ID);
808 dbms_sql.column_value(p_cur_get_PLL, 7, X_PLL_Rec.PACKLIST_LINE_STATUS);
809 dbms_sql.column_value(p_cur_get_PLL, 8, X_PLL_Rec.INVENTORY_ITEM_ID);
810 dbms_sql.column_value(p_cur_get_PLL, 9, X_PLL_Rec.QUANTITY_PACKED);
811 dbms_sql.column_value(p_cur_get_PLL, 10, X_PLL_Rec.QUANTITY_SHIPPED);
812 dbms_sql.column_value(p_cur_get_PLL, 11, X_PLL_Rec.QUANTITY_RECEIVED);
813 dbms_sql.column_value(p_cur_get_PLL, 12, X_PLL_Rec.ATTRIBUTE_CATEGORY);
814 dbms_sql.column_value(p_cur_get_PLL, 13, X_PLL_Rec.ATTRIBUTE1);
815 dbms_sql.column_value(p_cur_get_PLL, 14, X_PLL_Rec.ATTRIBUTE2);
816 dbms_sql.column_value(p_cur_get_PLL, 15, X_PLL_Rec.ATTRIBUTE3);
817 dbms_sql.column_value(p_cur_get_PLL, 16, X_PLL_Rec.ATTRIBUTE4);
818 dbms_sql.column_value(p_cur_get_PLL, 17, X_PLL_Rec.ATTRIBUTE5);
819 dbms_sql.column_value(p_cur_get_PLL, 18, X_PLL_Rec.ATTRIBUTE6);
820 dbms_sql.column_value(p_cur_get_PLL, 19, X_PLL_Rec.ATTRIBUTE7);
821 dbms_sql.column_value(p_cur_get_PLL, 20, X_PLL_Rec.ATTRIBUTE8);
822 dbms_sql.column_value(p_cur_get_PLL, 21, X_PLL_Rec.ATTRIBUTE9);
823 dbms_sql.column_value(p_cur_get_PLL, 22, X_PLL_Rec.ATTRIBUTE10);
824 dbms_sql.column_value(p_cur_get_PLL, 23, X_PLL_Rec.ATTRIBUTE11);
825 dbms_sql.column_value(p_cur_get_PLL, 24, X_PLL_Rec.ATTRIBUTE12);
826 dbms_sql.column_value(p_cur_get_PLL, 25, X_PLL_Rec.ATTRIBUTE13);
827 dbms_sql.column_value(p_cur_get_PLL, 26, X_PLL_Rec.ATTRIBUTE14);
828 dbms_sql.column_value(p_cur_get_PLL, 27, X_PLL_Rec.ATTRIBUTE15);
829 dbms_sql.column_value(p_cur_get_PLL, 28, X_PLL_Rec.UOM_CODE);
830 dbms_sql.column_value(p_cur_get_PLL, 29, X_PLL_Rec.LINE_ID);
831
832 -- Debug Message
833 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Get Column Values Ends');
834 END Get_Column_Values;
835
836 PROCEDURE Gen_PLL_order_cl(
837 p_order_by_rec IN CSP_PACKLIST_LINES_PUB.PLL_sort_rec_type,
838 x_order_by_cl OUT NOCOPY VARCHAR2,
839 x_return_status OUT NOCOPY VARCHAR2,
840 x_msg_count OUT NOCOPY NUMBER,
841 x_msg_data OUT NOCOPY VARCHAR2
842 )
843 IS
844 l_order_by_cl VARCHAR2(1000) := NULL;
845 l_util_order_by_tbl JTF_PLSQL_API.Util_order_by_tbl_type;
846 BEGIN
847 -- Debug Message
848 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Generate Order by Begins');
849
850 -- Hint: Developer should add more statements according to CSP_sort_rec_type
851 -- Ex:
852 -- l_util_order_by_tbl(1).col_choice := p_order_by_rec.customer_name;
853 -- l_util_order_by_tbl(1).col_name := 'Customer_Name';
854
855 -- Debug Message
856 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Invoke JTF_PLSQL_API.Translate_OrderBy');
857
858 JTF_PLSQL_API.Translate_OrderBy(
859 p_api_version_number => 1.0
860 ,p_init_msg_list => FND_API.G_FALSE
861 ,p_validation_level => FND_API.G_VALID_LEVEL_FULL
862 ,p_order_by_tbl => l_util_order_by_tbl
863 ,x_order_by_clause => l_order_by_cl
864 ,x_return_status => x_return_status
865 ,x_msg_count => x_msg_count
866 ,x_msg_data => x_msg_data);
867
868 IF(l_order_by_cl IS NOT NULL) THEN
869 x_order_by_cl := 'order by' || l_order_by_cl;
870 ELSE
871 x_order_by_cl := NULL;
872 END IF;
873
874 -- Debug Message
875 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Generate Order by Ends');
876 END Gen_PLL_order_cl;
877
878 -- This procedure bind the variables for the Dynamic SQL
879 PROCEDURE Bind(
880 P_PLL_Rec IN CSP_PACKLIST_LINES_PUB.PLL_Rec_Type,
881 -- Hint: Add more binding variables here
882 p_cur_get_PLL IN NUMBER
883 )
884 IS
885 BEGIN
886 -- Bind variables
887 -- Only those that are not NULL
888 -- Debug Message
889 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Bind Variables Begins');
890
891 -- The following example applies to all columns,
892 -- developers can copy and paste them.
893 IF( (P_PLL_Rec.PACKLIST_LINE_ID IS NOT NULL) AND (P_PLL_Rec.PACKLIST_LINE_ID <> FND_API.G_MISS_NUM) )
894 THEN
895 DBMS_SQL.BIND_VARIABLE(p_cur_get_PLL, ':p_PACKLIST_LINE_ID', P_PLL_Rec.PACKLIST_LINE_ID);
896 END IF;
897
898 -- Debug Message
899 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Bind Variables Ends');
900 END Bind;
901
902 PROCEDURE Gen_Select(
903 x_select_cl OUT NOCOPY VARCHAR2
904 )
905 IS
906 BEGIN
907 -- Debug Message
908 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Generate Select Begins');
909
910 x_select_cl := 'Select ' ||
911 'CSP_PACKLIST_LINES_V.PACKLIST_LINE_ID,' ||
912 'CSP_PACKLIST_LINES_V.CREATED_BY,' ||
913 'CSP_PACKLIST_LINES_V.CREATION_DATE,' ||
914 'CSP_PACKLIST_LINES_V.LAST_UPDATED_BY,' ||
915 'CSP_PACKLIST_LINES_V.LAST_UPDATE_DATE,' ||
916 'CSP_PACKLIST_LINES_V.LAST_UPDATE_LOGIN,' ||
917 'CSP_PACKLIST_LINES_V.ORGANIZATION_ID,' ||
918 'CSP_PACKLIST_LINES_V.PACKLIST_LINE_NUMBER,' ||
919 'CSP_PACKLIST_LINES_V.PACKLIST_HEADER_ID,' ||
920 'CSP_PACKLIST_LINES_V.BOX_ID,' ||
921 'CSP_PACKLIST_LINES_V.PICKLIST_LINE_ID,' ||
922 'CSP_PACKLIST_LINES_V.PACKLIST_LINE_STATUS,' ||
923 'CSP_PACKLIST_LINES_V.INVENTORY_ITEM_ID,' ||
924 'CSP_PACKLIST_LINES_V.QUANTITY_PACKED,' ||
925 'CSP_PACKLIST_LINES_V.QUANTITY_SHIPPED,' ||
926 'CSP_PACKLIST_LINES_V.QUANTITY_RECEIVED,' ||
927 'CSP_PACKLIST_LINES_V.ATTRIBUTE_CATEGORY,' ||
928 'CSP_PACKLIST_LINES_V.ATTRIBUTE1,' ||
929 'CSP_PACKLIST_LINES_V.ATTRIBUTE2,' ||
930 'CSP_PACKLIST_LINES_V.ATTRIBUTE3,' ||
931 'CSP_PACKLIST_LINES_V.ATTRIBUTE4,' ||
932 'CSP_PACKLIST_LINES_V.ATTRIBUTE5,' ||
933 'CSP_PACKLIST_LINES_V.ATTRIBUTE6,' ||
934 'CSP_PACKLIST_LINES_V.ATTRIBUTE7,' ||
935 'CSP_PACKLIST_LINES_V.ATTRIBUTE8,' ||
936 'CSP_PACKLIST_LINES_V.ATTRIBUTE9,' ||
937 'CSP_PACKLIST_LINES_V.ATTRIBUTE10,' ||
938 'CSP_PACKLIST_LINES_V.ATTRIBUTE11,' ||
939 'CSP_PACKLIST_LINES_V.ATTRIBUTE12,' ||
940 'CSP_PACKLIST_LINES_V.ATTRIBUTE13,' ||
941 'CSP_PACKLIST_LINES_V.ATTRIBUTE14,' ||
942 'CSP_PACKLIST_LINES_V.ATTRIBUTE15,' ||
943 'CSP_PACKLIST_LINES_V.UOM_CODE,' ||
944 'CSP_PACKLIST_LINES_V.LINE_ID,' ||
945 'from CSP_PACKLIST_LINES_V';
946 -- Debug Message
947 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Generate Select Ends');
948
949 END Gen_Select;
950
951 PROCEDURE Gen_PLL_Where(
952 P_PLL_Rec IN CSP_PACKLIST_LINES_PUB.PLL_Rec_Type,
953 x_PLL_where OUT NOCOPY VARCHAR2
954 )
955 IS
956 -- cursors to check if wildcard values '%' and '_' have been passed
957 -- as item values
958 CURSOR c_chk_str1(p_rec_item VARCHAR2) IS
959 SELECT INSTR(p_rec_item, '%', 1, 1)
960 FROM DUAL;
961 CURSOR c_chk_str2(p_rec_item VARCHAR2) IS
962 SELECT INSTR(p_rec_item, '_', 1, 1)
963 FROM DUAL;
964
965 -- return values from cursors
966 str_csr1 NUMBER;
967 str_csr2 NUMBER;
968 l_operator VARCHAR2(10);
969 BEGIN
970 -- Debug Message
971 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Generate Where Begins');
972
973 -- There are three examples for each kind of datatype:
974 -- NUMBER, DATE, VARCHAR2.
975 -- Developer can copy and paste the following codes for your own record.
976
977 -- example for NUMBER datatype
978 IF( (P_PLL_Rec.PACKLIST_LINE_ID IS NOT NULL) AND (P_PLL_Rec.PACKLIST_LINE_ID <> FND_API.G_MISS_NUM) )
979 THEN
980 IF(x_PLL_where IS NULL) THEN
981 x_PLL_where := 'Where';
982 ELSE
983 x_PLL_where := x_PLL_where || ' AND ';
984 END IF;
985 x_PLL_where := x_PLL_where || 'P_PLL_Rec.PACKLIST_LINE_ID = :p_PACKLIST_LINE_ID';
986 END IF;
987
988 -- example for DATE datatype
989 IF( (P_PLL_Rec.CREATION_DATE IS NOT NULL) AND (P_PLL_Rec.CREATION_DATE <> FND_API.G_MISS_DATE) )
990 THEN
991 -- check if item value contains '%' wildcard
992 OPEN c_chk_str1(P_PLL_Rec.CREATION_DATE);
993 FETCH c_chk_str1 INTO str_csr1;
994 CLOSE c_chk_str1;
995
996 IF(str_csr1 <> 0) THEN
997 l_operator := ' LIKE ';
998 ELSE
999 l_operator := ' = ';
1000 END IF;
1001
1002 -- check if item value contains '_' wildcard
1003 OPEN c_chk_str2(P_PLL_Rec.CREATION_DATE);
1004 FETCH c_chk_str2 INTO str_csr2;
1005 CLOSE c_chk_str2;
1006
1007 IF(str_csr2 <> 0) THEN
1008 l_operator := ' LIKE ';
1009 ELSE
1010 l_operator := ' = ';
1011 END IF;
1012
1013 IF(x_PLL_where IS NULL) THEN
1014 x_PLL_where := 'Where ';
1015 ELSE
1016 x_PLL_where := x_PLL_where || ' AND ';
1017 END IF;
1018 x_PLL_where := x_PLL_where || 'P_PLL_Rec.CREATION_DATE ' || l_operator || ' :p_CREATION_DATE';
1019 END IF;
1020
1021 -- example for VARCHAR2 datatype
1022 IF( (P_PLL_Rec.PACKLIST_LINE_STATUS IS NOT NULL) AND (P_PLL_Rec.PACKLIST_LINE_STATUS <> FND_API.G_MISS_CHAR) )
1023 THEN
1024 -- check if item value contains '%' wildcard
1025 OPEN c_chk_str1(P_PLL_Rec.PACKLIST_LINE_STATUS);
1026 FETCH c_chk_str1 INTO str_csr1;
1027 CLOSE c_chk_str1;
1028
1029 IF(str_csr1 <> 0) THEN
1030 l_operator := ' LIKE ';
1031 ELSE
1032 l_operator := ' = ';
1033 END IF;
1034
1035 -- check if item value contains '_' wildcard
1036 OPEN c_chk_str2(P_PLL_Rec.PACKLIST_LINE_STATUS);
1037 FETCH c_chk_str2 INTO str_csr2;
1038 CLOSE c_chk_str2;
1039
1040 IF(str_csr2 <> 0) THEN
1041 l_operator := ' LIKE ';
1042 ELSE
1043 l_operator := ' = ';
1044 END IF;
1045
1046 IF(x_PLL_where IS NULL) THEN
1047 x_PLL_where := 'Where ';
1048 ELSE
1049 x_PLL_where := x_PLL_where || ' AND ';
1050 END IF;
1051 x_PLL_where := x_PLL_where || 'P_PLL_Rec.PACKLIST_LINE_STATUS ' || l_operator || ' :p_PACKLIST_LINE_STATUS';
1052 END IF;
1053
1054 -- Add more IF statements for each column below
1055
1056 -- Debug Message
1057 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: Generate Where Ends');
1058
1059 END Gen_PLL_Where;
1060
1061 -- Item-level validation procedures
1062 PROCEDURE Validate_PACKLIST_LINE_ID (
1063 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1064 P_Validation_mode IN VARCHAR2,
1065 P_PACKLIST_LINE_ID IN NUMBER,
1066 -- 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.
1067 X_Return_Status OUT NOCOPY VARCHAR2,
1068 X_Msg_Count OUT NOCOPY NUMBER,
1069 X_Msg_Data OUT NOCOPY VARCHAR2
1070 )
1071 IS
1072 BEGIN
1073
1074 -- Initialize message list if p_init_msg_list is set to TRUE.
1075 IF FND_API.to_Boolean( p_init_msg_list )
1076 THEN
1077 FND_MSG_PUB.initialize;
1078 END IF;
1079
1080
1081 -- Initialize API return status to SUCCESS
1082 x_return_status := FND_API.G_RET_STS_SUCCESS;
1083
1084 -- validate NOT NULL column
1085 IF(p_PACKLIST_LINE_ID is NULL)
1086 THEN
1087 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(PACKLIST_LINE_ID)');
1088 x_return_status := FND_API.G_RET_STS_ERROR;
1089 END IF;
1090
1091 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1092 THEN
1093 -- Hint: Validate data
1094 -- IF p_PACKLIST_LINE_ID is not NULL and p_PACKLIST_LINE_ID <> G_MISS_CHAR
1095 -- verify if data is valid
1096 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1097 NULL;
1098 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1099 THEN
1100 -- Hint: Validate data
1101 -- IF p_PACKLIST_LINE_ID <> G_MISS_CHAR
1102 -- verify if data is valid
1103 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1104 NULL;
1105 END IF;
1106
1107 -- Standard call to get message count and if count is 1, get message info.
1108 FND_MSG_PUB.Count_And_Get
1109 ( p_count => x_msg_count,
1110 p_data => x_msg_data
1111 );
1112
1113 END Validate_PACKLIST_LINE_ID;
1114
1115
1116 PROCEDURE Validate_ORGANIZATION_ID (
1117 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1118 P_Validation_mode IN VARCHAR2,
1119 P_ORGANIZATION_ID IN NUMBER,
1120 -- 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.
1121 X_Return_Status OUT NOCOPY VARCHAR2,
1122 X_Msg_Count OUT NOCOPY NUMBER,
1123 X_Msg_Data OUT NOCOPY VARCHAR2
1124 )
1125 IS
1126 BEGIN
1127
1128 -- Initialize message list if p_init_msg_list is set to TRUE.
1129 IF FND_API.to_Boolean( p_init_msg_list )
1130 THEN
1131 FND_MSG_PUB.initialize;
1132 END IF;
1133
1134
1135 -- Initialize API return status to SUCCESS
1136 x_return_status := FND_API.G_RET_STS_SUCCESS;
1137
1138 -- validate NOT NULL column
1139 IF(p_ORGANIZATION_ID is NULL)
1140 THEN
1141 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(ORGANIZATION_ID)');
1142 x_return_status := FND_API.G_RET_STS_ERROR;
1143 END IF;
1144
1145 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1146 THEN
1147 -- Hint: Validate data
1148 -- IF p_ORGANIZATION_ID is not NULL and p_ORGANIZATION_ID <> G_MISS_CHAR
1149 -- verify if data is valid
1150 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1151 NULL;
1152 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1153 THEN
1154 -- Hint: Validate data
1155 -- IF p_ORGANIZATION_ID <> G_MISS_CHAR
1156 -- verify if data is valid
1157 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1158 NULL;
1159 END IF;
1160
1161 -- Standard call to get message count and if count is 1, get message info.
1162 FND_MSG_PUB.Count_And_Get
1163 ( p_count => x_msg_count,
1164 p_data => x_msg_data
1165 );
1166
1167 END Validate_ORGANIZATION_ID;
1168
1169
1170 PROCEDURE Validate_PACKLIST_LINE_NUMBER (
1171 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1172 P_Validation_mode IN VARCHAR2,
1173 P_PACKLIST_LINE_NUMBER IN NUMBER,
1174 -- 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.
1175 X_Return_Status OUT NOCOPY VARCHAR2,
1176 X_Msg_Count OUT NOCOPY NUMBER,
1177 X_Msg_Data OUT NOCOPY VARCHAR2
1178 )
1179 IS
1180 BEGIN
1181
1182 -- Initialize message list if p_init_msg_list is set to TRUE.
1183 IF FND_API.to_Boolean( p_init_msg_list )
1184 THEN
1185 FND_MSG_PUB.initialize;
1186 END IF;
1187
1188
1189 -- Initialize API return status to SUCCESS
1190 x_return_status := FND_API.G_RET_STS_SUCCESS;
1191
1192 -- validate NOT NULL column
1193 IF(p_PACKLIST_LINE_NUMBER is NULL)
1194 THEN
1195 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(PACKLIST_LINE_NUMBER)');
1196 x_return_status := FND_API.G_RET_STS_ERROR;
1197 END IF;
1198
1199 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1200 THEN
1201 -- Hint: Validate data
1202 -- IF p_PACKLIST_LINE_NUMBER is not NULL and p_PACKLIST_LINE_NUMBER <> G_MISS_CHAR
1203 -- verify if data is valid
1204 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1205 NULL;
1206 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1207 THEN
1208 -- Hint: Validate data
1209 -- IF p_PACKLIST_LINE_NUMBER <> G_MISS_CHAR
1210 -- verify if data is valid
1211 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1212 NULL;
1213 END IF;
1214
1215 -- Standard call to get message count and if count is 1, get message info.
1216 FND_MSG_PUB.Count_And_Get
1217 ( p_count => x_msg_count,
1218 p_data => x_msg_data
1219 );
1220
1221 END Validate_PACKLIST_LINE_NUMBER;
1222
1223
1224 PROCEDURE Validate_PACKLIST_HEADER_ID (
1225 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1226 P_Validation_mode IN VARCHAR2,
1227 P_PACKLIST_HEADER_ID IN NUMBER,
1228 -- 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.
1229 X_Return_Status OUT NOCOPY VARCHAR2,
1230 X_Msg_Count OUT NOCOPY NUMBER,
1231 X_Msg_Data OUT NOCOPY VARCHAR2
1232 )
1233 IS
1234 BEGIN
1235
1236 -- Initialize message list if p_init_msg_list is set to TRUE.
1237 IF FND_API.to_Boolean( p_init_msg_list )
1238 THEN
1239 FND_MSG_PUB.initialize;
1240 END IF;
1241
1242
1243 -- Initialize API return status to SUCCESS
1244 x_return_status := FND_API.G_RET_STS_SUCCESS;
1245
1246 -- validate NOT NULL column
1247 IF(p_PACKLIST_HEADER_ID is NULL)
1248 THEN
1249 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(PACKLIST_HEADER_ID)');
1250 x_return_status := FND_API.G_RET_STS_ERROR;
1251 END IF;
1252
1253 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1254 THEN
1255 -- Hint: Validate data
1256 -- IF p_PACKLIST_HEADER_ID is not NULL and p_PACKLIST_HEADER_ID <> G_MISS_CHAR
1257 -- verify if data is valid
1258 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1259 NULL;
1260 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1261 THEN
1262 -- Hint: Validate data
1263 -- IF p_PACKLIST_HEADER_ID <> G_MISS_CHAR
1264 -- verify if data is valid
1265 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1266 NULL;
1267 END IF;
1268
1269 -- Standard call to get message count and if count is 1, get message info.
1270 FND_MSG_PUB.Count_And_Get
1271 ( p_count => x_msg_count,
1272 p_data => x_msg_data
1273 );
1274
1275 END Validate_PACKLIST_HEADER_ID;
1276
1277
1278 PROCEDURE Validate_BOX_ID (
1279 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1280 P_Validation_mode IN VARCHAR2,
1281 P_BOX_ID IN NUMBER,
1282 -- 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.
1283 X_Return_Status OUT NOCOPY VARCHAR2,
1284 X_Msg_Count OUT NOCOPY NUMBER,
1285 X_Msg_Data OUT NOCOPY VARCHAR2
1286 )
1287 IS
1288 BEGIN
1289
1290 -- Initialize message list if p_init_msg_list is set to TRUE.
1291 IF FND_API.to_Boolean( p_init_msg_list )
1292 THEN
1293 FND_MSG_PUB.initialize;
1294 END IF;
1295
1296
1297 -- Initialize API return status to SUCCESS
1298 x_return_status := FND_API.G_RET_STS_SUCCESS;
1299
1300 -- validate NOT NULL column
1301 IF(p_BOX_ID is NULL)
1302 THEN
1303 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(BOX_ID)');
1304 x_return_status := FND_API.G_RET_STS_ERROR;
1305 END IF;
1306
1307 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1308 THEN
1309 -- Hint: Validate data
1310 -- IF p_BOX_ID is not NULL and p_BOX_ID <> G_MISS_CHAR
1311 -- verify if data is valid
1312 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1313 NULL;
1314 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1315 THEN
1316 -- Hint: Validate data
1317 -- IF p_BOX_ID <> G_MISS_CHAR
1318 -- verify if data is valid
1319 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1320 NULL;
1321 END IF;
1322
1323 -- Standard call to get message count and if count is 1, get message info.
1324 FND_MSG_PUB.Count_And_Get
1325 ( p_count => x_msg_count,
1326 p_data => x_msg_data
1327 );
1328
1329 END Validate_BOX_ID;
1330
1331
1332 PROCEDURE Validate_PICKLIST_LINE_ID (
1333 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1334 P_Validation_mode IN VARCHAR2,
1335 P_PICKLIST_LINE_ID IN NUMBER,
1336 -- 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.
1337 X_Return_Status OUT NOCOPY VARCHAR2,
1338 X_Msg_Count OUT NOCOPY NUMBER,
1339 X_Msg_Data OUT NOCOPY VARCHAR2
1340 )
1341 IS
1342 BEGIN
1343
1344 -- Initialize message list if p_init_msg_list is set to TRUE.
1345 IF FND_API.to_Boolean( p_init_msg_list )
1346 THEN
1347 FND_MSG_PUB.initialize;
1348 END IF;
1349
1350
1351 -- Initialize API return status to SUCCESS
1352 x_return_status := FND_API.G_RET_STS_SUCCESS;
1353
1354 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1355 THEN
1356 -- Hint: Validate data
1357 -- IF p_PICKLIST_LINE_ID is not NULL and p_PICKLIST_LINE_ID <> G_MISS_CHAR
1358 -- verify if data is valid
1359 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1360 NULL;
1361 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1362 THEN
1363 -- Hint: Validate data
1364 -- IF p_PICKLIST_LINE_ID <> G_MISS_CHAR
1365 -- verify if data is valid
1366 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1367 NULL;
1368 END IF;
1369
1370 -- Standard call to get message count and if count is 1, get message info.
1371 FND_MSG_PUB.Count_And_Get
1372 ( p_count => x_msg_count,
1373 p_data => x_msg_data
1374 );
1375
1376 END Validate_PICKLIST_LINE_ID;
1377
1378
1379 PROCEDURE Validate_PACKLIST_LINE_STATUS (
1380 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1381 P_Validation_mode IN VARCHAR2,
1382 P_PACKLIST_LINE_STATUS IN VARCHAR2,
1383 -- 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.
1384 X_Return_Status OUT NOCOPY VARCHAR2,
1385 X_Msg_Count OUT NOCOPY NUMBER,
1386 X_Msg_Data OUT NOCOPY VARCHAR2
1387 )
1388 IS
1389 BEGIN
1390
1391 -- Initialize message list if p_init_msg_list is set to TRUE.
1392 IF FND_API.to_Boolean( p_init_msg_list )
1393 THEN
1394 FND_MSG_PUB.initialize;
1395 END IF;
1396
1397
1398 -- Initialize API return status to SUCCESS
1399 x_return_status := FND_API.G_RET_STS_SUCCESS;
1400
1401 -- validate NOT NULL column
1402 IF(p_PACKLIST_LINE_STATUS is NULL)
1403 THEN
1404 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(PACKLIST_LINE_STATUS)');
1405 x_return_status := FND_API.G_RET_STS_ERROR;
1406 END IF;
1407
1408 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1409 THEN
1410 -- Hint: Validate data
1411 -- IF p_PACKLIST_LINE_STATUS is not NULL and p_PACKLIST_LINE_STATUS <> G_MISS_CHAR
1412 -- verify if data is valid
1413 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1414 NULL;
1415 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1416 THEN
1417 -- Hint: Validate data
1418 -- IF p_PACKLIST_LINE_STATUS <> G_MISS_CHAR
1419 -- verify if data is valid
1420 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1421 NULL;
1422 END IF;
1423
1424 -- Standard call to get message count and if count is 1, get message info.
1425 FND_MSG_PUB.Count_And_Get
1426 ( p_count => x_msg_count,
1427 p_data => x_msg_data
1428 );
1429
1430 END Validate_PACKLIST_LINE_STATUS;
1431
1432
1433 PROCEDURE Validate_INVENTORY_ITEM_ID (
1434 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1435 P_Validation_mode IN VARCHAR2,
1436 P_INVENTORY_ITEM_ID IN NUMBER,
1437 -- 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.
1438 X_Return_Status OUT NOCOPY VARCHAR2,
1439 X_Msg_Count OUT NOCOPY NUMBER,
1440 X_Msg_Data OUT NOCOPY VARCHAR2
1441 )
1442 IS
1443 BEGIN
1444
1445 -- Initialize message list if p_init_msg_list is set to TRUE.
1446 IF FND_API.to_Boolean( p_init_msg_list )
1447 THEN
1448 FND_MSG_PUB.initialize;
1449 END IF;
1450
1451
1452 -- Initialize API return status to SUCCESS
1453 x_return_status := FND_API.G_RET_STS_SUCCESS;
1454
1455 -- validate NOT NULL column
1456 IF(p_INVENTORY_ITEM_ID is NULL)
1457 THEN
1458 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(INVENTORY_ITEM_ID)');
1459 x_return_status := FND_API.G_RET_STS_ERROR;
1460 END IF;
1461
1462 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1463 THEN
1464 -- Hint: Validate data
1465 -- IF p_INVENTORY_ITEM_ID is not NULL and p_INVENTORY_ITEM_ID <> G_MISS_CHAR
1466 -- verify if data is valid
1467 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1468 NULL;
1469 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1470 THEN
1471 -- Hint: Validate data
1472 -- IF p_INVENTORY_ITEM_ID <> G_MISS_CHAR
1473 -- verify if data is valid
1474 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1475 NULL;
1476 END IF;
1477
1478 -- Standard call to get message count and if count is 1, get message info.
1479 FND_MSG_PUB.Count_And_Get
1480 ( p_count => x_msg_count,
1481 p_data => x_msg_data
1482 );
1483
1484 END Validate_INVENTORY_ITEM_ID;
1485
1486
1487 PROCEDURE Validate_QUANTITY_PACKED (
1488 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1489 P_Validation_mode IN VARCHAR2,
1490 P_QUANTITY_PACKED IN NUMBER,
1491 -- 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.
1492 X_Return_Status OUT NOCOPY VARCHAR2,
1493 X_Msg_Count OUT NOCOPY NUMBER,
1494 X_Msg_Data OUT NOCOPY VARCHAR2
1495 )
1496 IS
1497 BEGIN
1498
1499 -- Initialize message list if p_init_msg_list is set to TRUE.
1500 IF FND_API.to_Boolean( p_init_msg_list )
1501 THEN
1502 FND_MSG_PUB.initialize;
1503 END IF;
1504
1505
1506 -- Initialize API return status to SUCCESS
1507 x_return_status := FND_API.G_RET_STS_SUCCESS;
1508
1509 -- validate NOT NULL column
1510 IF(p_QUANTITY_PACKED is NULL)
1511 THEN
1512 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(QUANTITY_PACKED)');
1513 x_return_status := FND_API.G_RET_STS_ERROR;
1514 END IF;
1515
1516 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1517 THEN
1518 -- Hint: Validate data
1519 -- IF p_QUANTITY_PACKED is not NULL and p_QUANTITY_PACKED <> G_MISS_CHAR
1520 -- verify if data is valid
1521 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1522 NULL;
1523 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1524 THEN
1525 -- Hint: Validate data
1526 -- IF p_QUANTITY_PACKED <> G_MISS_CHAR
1527 -- verify if data is valid
1528 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1529 NULL;
1530 END IF;
1531
1532 -- Standard call to get message count and if count is 1, get message info.
1533 FND_MSG_PUB.Count_And_Get
1534 ( p_count => x_msg_count,
1535 p_data => x_msg_data
1536 );
1537
1538 END Validate_QUANTITY_PACKED;
1539
1540
1541 PROCEDURE Validate_QUANTITY_SHIPPED (
1542 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1543 P_Validation_mode IN VARCHAR2,
1544 P_QUANTITY_SHIPPED IN NUMBER,
1545 -- 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.
1546 X_Return_Status OUT NOCOPY VARCHAR2,
1547 X_Msg_Count OUT NOCOPY NUMBER,
1548 X_Msg_Data OUT NOCOPY VARCHAR2
1549 )
1550 IS
1551 BEGIN
1552
1553 -- Initialize message list if p_init_msg_list is set to TRUE.
1554 IF FND_API.to_Boolean( p_init_msg_list )
1555 THEN
1556 FND_MSG_PUB.initialize;
1557 END IF;
1558
1559
1560 -- Initialize API return status to SUCCESS
1561 x_return_status := FND_API.G_RET_STS_SUCCESS;
1562
1563 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1564 THEN
1565 -- Hint: Validate data
1566 -- IF p_QUANTITY_SHIPPED is not NULL and p_QUANTITY_SHIPPED <> G_MISS_CHAR
1567 -- verify if data is valid
1568 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1569 NULL;
1570 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1571 THEN
1572 -- Hint: Validate data
1573 -- IF p_QUANTITY_SHIPPED <> G_MISS_CHAR
1574 -- verify if data is valid
1575 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1576 NULL;
1577 END IF;
1578
1579 -- Standard call to get message count and if count is 1, get message info.
1580 FND_MSG_PUB.Count_And_Get
1581 ( p_count => x_msg_count,
1582 p_data => x_msg_data
1583 );
1584
1585 END Validate_QUANTITY_SHIPPED;
1586
1587
1588 PROCEDURE Validate_QUANTITY_RECEIVED (
1589 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1590 P_Validation_mode IN VARCHAR2,
1591 P_QUANTITY_RECEIVED IN NUMBER,
1592 -- 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.
1593 X_Return_Status OUT NOCOPY VARCHAR2,
1594 X_Msg_Count OUT NOCOPY NUMBER,
1595 X_Msg_Data OUT NOCOPY VARCHAR2
1596 )
1597 IS
1598 BEGIN
1599
1600 -- Initialize message list if p_init_msg_list is set to TRUE.
1601 IF FND_API.to_Boolean( p_init_msg_list )
1602 THEN
1603 FND_MSG_PUB.initialize;
1604 END IF;
1605
1606
1607 -- Initialize API return status to SUCCESS
1608 x_return_status := FND_API.G_RET_STS_SUCCESS;
1609
1610 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1611 THEN
1612 -- Hint: Validate data
1613 -- IF p_QUANTITY_RECEIVED is not NULL and p_QUANTITY_RECEIVED <> G_MISS_CHAR
1614 -- verify if data is valid
1615 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1616 NULL;
1617 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1618 THEN
1619 -- Hint: Validate data
1620 -- IF p_QUANTITY_RECEIVED <> G_MISS_CHAR
1621 -- verify if data is valid
1622 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1623 NULL;
1624 END IF;
1625
1626 -- Standard call to get message count and if count is 1, get message info.
1627 FND_MSG_PUB.Count_And_Get
1628 ( p_count => x_msg_count,
1629 p_data => x_msg_data
1630 );
1631
1632 END Validate_QUANTITY_RECEIVED;
1633
1634
1635 PROCEDURE Validate_UOM_CODE (
1636 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1637 P_Validation_mode IN VARCHAR2,
1638 P_UOM_CODE IN VARCHAR2,
1639 -- 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.
1640 X_Return_Status OUT NOCOPY VARCHAR2,
1641 X_Msg_Count OUT NOCOPY NUMBER,
1642 X_Msg_Data OUT NOCOPY VARCHAR2
1643 )
1644 IS
1645 BEGIN
1646
1647 -- Initialize message list if p_init_msg_list is set to TRUE.
1648 IF FND_API.to_Boolean( p_init_msg_list )
1649 THEN
1650 FND_MSG_PUB.initialize;
1651 END IF;
1652
1653
1654 -- Initialize API return status to SUCCESS
1655 x_return_status := FND_API.G_RET_STS_SUCCESS;
1656
1657 -- validate NOT NULL column
1658 IF(p_UOM_CODE is NULL)
1659 THEN
1660 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_ERROR, 'CSP', 'Private packlist_lines API: -Violate NOT NULL constraint(UOM_CODE)');
1661 x_return_status := FND_API.G_RET_STS_ERROR;
1662 END IF;
1663
1664 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1665 THEN
1666 -- Hint: Validate data
1667 -- IF p_UOM_CODE is not NULL and p_UOM_CODE <> G_MISS_CHAR
1668 -- verify if data is valid
1669 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1670 NULL;
1671 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1672 THEN
1673 -- Hint: Validate data
1674 -- IF p_UOM_CODE <> G_MISS_CHAR
1675 -- verify if data is valid
1676 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1677 NULL;
1678 END IF;
1679
1680 -- Standard call to get message count and if count is 1, get message info.
1681 FND_MSG_PUB.Count_And_Get
1682 ( p_count => x_msg_count,
1683 p_data => x_msg_data
1684 );
1685
1686 END Validate_UOM_CODE;
1687
1688
1689 PROCEDURE Validate_LINE_ID (
1690 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1691 P_Validation_mode IN VARCHAR2,
1692 P_LINE_ID IN NUMBER,
1693 -- 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.
1694 X_Return_Status OUT NOCOPY VARCHAR2,
1695 X_Msg_Count OUT NOCOPY NUMBER,
1696 X_Msg_Data OUT NOCOPY VARCHAR2
1697 )
1698 IS
1699 BEGIN
1700
1701 -- Initialize message list if p_init_msg_list is set to TRUE.
1702 IF FND_API.to_Boolean( p_init_msg_list )
1703 THEN
1704 FND_MSG_PUB.initialize;
1705 END IF;
1706
1707
1708 -- Initialize API return status to SUCCESS
1709 x_return_status := FND_API.G_RET_STS_SUCCESS;
1710
1711 IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
1712 THEN
1713 -- Hint: Validate data
1714 -- IF p_LINE_ID is not NULL and p_LINE_ID <> G_MISS_CHAR
1715 -- verify if data is valid
1716 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1717 NULL;
1718 ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
1719 THEN
1720 -- Hint: Validate data
1721 -- IF p_LINE_ID <> G_MISS_CHAR
1722 -- verify if data is valid
1723 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1724 NULL;
1725 END IF;
1726
1727 -- Standard call to get message count and if count is 1, get message info.
1728 FND_MSG_PUB.Count_And_Get
1729 ( p_count => x_msg_count,
1730 p_data => x_msg_data
1731 );
1732
1733 END Validate_LINE_ID;
1734
1735
1736 -- Hint: inter-field level validation can be added here.
1737 -- Hint: If p_validation_mode = JTF_PLSQL_API.G_VALIDATE_UPDATE, we should use cursor
1738 -- to get old values for all fields used in inter-field validation and set all G_MISS_XXX fields to original value
1739 -- stored in database table.
1740 PROCEDURE Validate_PLL_rec(
1741 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1742 P_Validation_mode IN VARCHAR2,
1743 P_PLL_Rec IN PLL_Rec_Type,
1744 X_Return_Status OUT NOCOPY VARCHAR2,
1745 X_Msg_Count OUT NOCOPY NUMBER,
1746 X_Msg_Data OUT NOCOPY VARCHAR2
1747 )
1748 IS
1749 BEGIN
1750
1751 -- Initialize message list if p_init_msg_list is set to TRUE.
1752 IF FND_API.to_Boolean( p_init_msg_list )
1753 THEN
1754 FND_MSG_PUB.initialize;
1755 END IF;
1756
1757
1758 -- Initialize API return status to SUCCESS
1759 x_return_status := FND_API.G_RET_STS_SUCCESS;
1760
1761 -- Hint: Validate data
1762 -- If data not valid
1763 -- THEN
1764 -- x_return_status := FND_API.G_RET_STS_ERROR;
1765
1766 -- Debug Message
1767 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'API_INVALID_RECORD');
1768
1769 -- Standard call to get message count and if count is 1, get message info.
1770 FND_MSG_PUB.Count_And_Get
1771 ( p_count => x_msg_count,
1772 p_data => x_msg_data
1773 );
1774
1775 END Validate_PLL_Rec;
1776
1777 PROCEDURE Validate_packlist_lines(
1778 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1779 P_Validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1780 P_Validation_mode IN VARCHAR2,
1781 P_PLL_Rec IN PLL_Rec_Type,
1782 X_Return_Status OUT NOCOPY VARCHAR2,
1783 X_Msg_Count OUT NOCOPY NUMBER,
1784 X_Msg_Data OUT NOCOPY VARCHAR2
1785 )
1786 IS
1787 l_api_name CONSTANT VARCHAR2(30) := 'Validate_packlist_lines';
1788 BEGIN
1789
1790 -- Debug Message
1791 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: ' || l_api_name || 'start');
1792
1793
1794 -- Initialize API return status to SUCCESS
1795 x_return_status := FND_API.G_RET_STS_SUCCESS;
1796
1797 IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_ITEM) THEN
1798 -- Hint: We provide validation procedure for every column. Developer should delete
1799 -- unnecessary validation procedures.
1800 Validate_PACKLIST_LINE_ID(
1801 p_init_msg_list => FND_API.G_FALSE,
1802 p_validation_mode => p_validation_mode,
1803 p_PACKLIST_LINE_ID => P_PLL_Rec.PACKLIST_LINE_ID,
1804 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1805 x_return_status => x_return_status,
1806 x_msg_count => x_msg_count,
1807 x_msg_data => x_msg_data);
1808 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1809 raise FND_API.G_EXC_ERROR;
1810 END IF;
1811
1812 Validate_ORGANIZATION_ID(
1813 p_init_msg_list => FND_API.G_FALSE,
1814 p_validation_mode => p_validation_mode,
1815 p_ORGANIZATION_ID => P_PLL_Rec.ORGANIZATION_ID,
1816 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1817 x_return_status => x_return_status,
1818 x_msg_count => x_msg_count,
1819 x_msg_data => x_msg_data);
1820 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1821 raise FND_API.G_EXC_ERROR;
1822 END IF;
1823
1824 Validate_PACKLIST_LINE_NUMBER(
1825 p_init_msg_list => FND_API.G_FALSE,
1826 p_validation_mode => p_validation_mode,
1827 p_PACKLIST_LINE_NUMBER => P_PLL_Rec.PACKLIST_LINE_NUMBER,
1828 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1829 x_return_status => x_return_status,
1830 x_msg_count => x_msg_count,
1831 x_msg_data => x_msg_data);
1832 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1833 raise FND_API.G_EXC_ERROR;
1834 END IF;
1835
1836 Validate_PACKLIST_HEADER_ID(
1837 p_init_msg_list => FND_API.G_FALSE,
1838 p_validation_mode => p_validation_mode,
1839 p_PACKLIST_HEADER_ID => P_PLL_Rec.PACKLIST_HEADER_ID,
1840 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1841 x_return_status => x_return_status,
1842 x_msg_count => x_msg_count,
1843 x_msg_data => x_msg_data);
1844 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1845 raise FND_API.G_EXC_ERROR;
1846 END IF;
1847
1848 Validate_BOX_ID(
1849 p_init_msg_list => FND_API.G_FALSE,
1850 p_validation_mode => p_validation_mode,
1851 p_BOX_ID => P_PLL_Rec.BOX_ID,
1852 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1853 x_return_status => x_return_status,
1854 x_msg_count => x_msg_count,
1855 x_msg_data => x_msg_data);
1856 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1857 raise FND_API.G_EXC_ERROR;
1858 END IF;
1859
1860 Validate_PICKLIST_LINE_ID(
1861 p_init_msg_list => FND_API.G_FALSE,
1862 p_validation_mode => p_validation_mode,
1863 p_PICKLIST_LINE_ID => P_PLL_Rec.PICKLIST_LINE_ID,
1864 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1865 x_return_status => x_return_status,
1866 x_msg_count => x_msg_count,
1867 x_msg_data => x_msg_data);
1868 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1869 raise FND_API.G_EXC_ERROR;
1870 END IF;
1871
1872 Validate_PACKLIST_LINE_STATUS(
1873 p_init_msg_list => FND_API.G_FALSE,
1874 p_validation_mode => p_validation_mode,
1875 p_PACKLIST_LINE_STATUS => P_PLL_Rec.PACKLIST_LINE_STATUS,
1876 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1877 x_return_status => x_return_status,
1878 x_msg_count => x_msg_count,
1879 x_msg_data => x_msg_data);
1880 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1881 raise FND_API.G_EXC_ERROR;
1882 END IF;
1883
1884 Validate_INVENTORY_ITEM_ID(
1885 p_init_msg_list => FND_API.G_FALSE,
1886 p_validation_mode => p_validation_mode,
1887 p_INVENTORY_ITEM_ID => P_PLL_Rec.INVENTORY_ITEM_ID,
1888 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1889 x_return_status => x_return_status,
1890 x_msg_count => x_msg_count,
1891 x_msg_data => x_msg_data);
1892 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1893 raise FND_API.G_EXC_ERROR;
1894 END IF;
1895
1896 Validate_QUANTITY_PACKED(
1897 p_init_msg_list => FND_API.G_FALSE,
1898 p_validation_mode => p_validation_mode,
1899 p_QUANTITY_PACKED => P_PLL_Rec.QUANTITY_PACKED,
1900 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1901 x_return_status => x_return_status,
1902 x_msg_count => x_msg_count,
1903 x_msg_data => x_msg_data);
1904 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1905 raise FND_API.G_EXC_ERROR;
1906 END IF;
1907
1908 Validate_QUANTITY_SHIPPED(
1909 p_init_msg_list => FND_API.G_FALSE,
1910 p_validation_mode => p_validation_mode,
1911 p_QUANTITY_SHIPPED => P_PLL_Rec.QUANTITY_SHIPPED,
1912 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1913 x_return_status => x_return_status,
1914 x_msg_count => x_msg_count,
1915 x_msg_data => x_msg_data);
1916 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1917 raise FND_API.G_EXC_ERROR;
1918 END IF;
1919
1920 Validate_QUANTITY_RECEIVED(
1921 p_init_msg_list => FND_API.G_FALSE,
1922 p_validation_mode => p_validation_mode,
1923 p_QUANTITY_RECEIVED => P_PLL_Rec.QUANTITY_RECEIVED,
1924 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1925 x_return_status => x_return_status,
1926 x_msg_count => x_msg_count,
1927 x_msg_data => x_msg_data);
1928 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1929 raise FND_API.G_EXC_ERROR;
1930 END IF;
1931
1932 Validate_UOM_CODE(
1933 p_init_msg_list => FND_API.G_FALSE,
1934 p_validation_mode => p_validation_mode,
1935 p_UOM_CODE => P_PLL_Rec.UOM_CODE,
1936 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1937 x_return_status => x_return_status,
1938 x_msg_count => x_msg_count,
1939 x_msg_data => x_msg_data);
1940 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1941 raise FND_API.G_EXC_ERROR;
1942 END IF;
1943
1944 Validate_LINE_ID(
1945 p_init_msg_list => FND_API.G_FALSE,
1946 p_validation_mode => p_validation_mode,
1947 p_LINE_ID => P_PLL_Rec.LINE_ID,
1948 -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
1949 x_return_status => x_return_status,
1950 x_msg_count => x_msg_count,
1951 x_msg_data => x_msg_data);
1952 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1953 raise FND_API.G_EXC_ERROR;
1954 END IF;
1955
1956 END IF;
1957
1958 IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_RECORD) THEN
1959 -- Hint: Inter-field level validation can be added here
1960 -- invoke record level validation procedures
1961 Validate_PLL_Rec(
1962 p_init_msg_list => FND_API.G_FALSE,
1963 p_validation_mode => p_validation_mode,
1964 P_PLL_Rec => P_PLL_Rec,
1965 x_return_status => x_return_status,
1966 x_msg_count => x_msg_count,
1967 x_msg_data => x_msg_data);
1968
1969 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1970 raise FND_API.G_EXC_ERROR;
1971 END IF;
1972 END IF;
1973
1974 IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_INTER_RECORD) THEN
1975 -- invoke inter-record level validation procedures
1976 NULL;
1977 END IF;
1978
1979 IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_INTER_ENTITY) THEN
1980 -- invoke inter-entity level validation procedures
1981 NULL;
1982 END IF;
1983
1984
1985 -- Debug Message
1986 JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Private API: ' || l_api_name || 'end');
1987
1988 END Validate_packlist_lines;
1989
1990 End CSP_PACKLIST_LINES_PVT;