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