[Home] [Help]
PACKAGE BODY: APPS.JTF_BRMPROCESS_PVT
Source
1 PACKAGE BODY JTF_BRMProcess_PVT AS
2 /* $Header: jtfvbprb.pls 120.2 2005/07/05 07:44:34 abraina ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'JTF_BRMProcess_PVT';
5
6 --------------------------------------------------------------------------
7 -- Start of comments
8 -- API name : Create_BRMProcess
9 -- Type : Private
10 -- Function : Create record in JTF_BRM_PROCESSES table.
11 -- Pre-reqs : None.
12 -- Parameters :
13 -- name direction type required?
14 -- ---- --------- ---- ---------
15 -- p_api_version IN NUMBER required
16 -- p_init_msg_list IN VARCHAR2 optional
17 -- p_commit IN VARCHAR2 optional
18 -- p_validation_level IN NUMBER optional
19 -- x_return_status OUT VARCHAR2 required
20 -- x_msg_count OUT NUMBER required
21 -- x_msg_data OUT VARCHAR2 required
22 -- p_BRMProcess_rec IN brm_process_rec_type required
23 -- x_record_id OUT NUMBER required
24 --
25 -- Version : Current version 1.1
26 -- Previous version 1.0
27 -- Initial version 1.0
28 --
29 -- End of comments
30 --------------------------------------------------------------------------
31 PROCEDURE Create_BRMProcess
32 ( p_api_version IN NUMBER
33 , p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
34 , p_commit IN VARCHAR2 DEFAULT fnd_api.g_false
35 , p_validation_level IN NUMBER DEFAULT fnd_api.g_valid_level_full
36 , x_return_status OUT NOCOPY VARCHAR2
37 , x_msg_count OUT NOCOPY NUMBER
38 , x_msg_data OUT NOCOPY VARCHAR2
39 , p_bpr_rec IN BRM_Process_rec_type
40 , x_record_id OUT NOCOPY NUMBER
41 )
42 IS
43 l_api_name CONSTANT VARCHAR2(30) := 'Create_BRMProcess';
44 l_api_version CONSTANT NUMBER := 1.1;
45 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
46 l_object_version_number NUMBER := 1;
47 l_return_status VARCHAR2(1);
48 l_rowid ROWID;
49 l_process_id NUMBER;
50
51 CURSOR C IS SELECT ROWID
52 FROM JTF_BRM_PROCESSES
53 WHERE PROCESS_ID = l_process_id;
54
55 BEGIN
56 --
57 -- Standard start of API savepoint
58 --
59 SAVEPOINT Create_BRMProcess_PVT;
60
61 --
62 -- Standard call to check for call compatibility
63 --
64 IF NOT FND_API.Compatible_API_Call( l_api_version
65 , p_api_version
66 , l_api_name
67 , G_PKG_NAME
68 )
69 THEN
70 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
71 END IF;
72
73 --
74 -- Initialize message list if p_init_msg_list is set to TRUE
75 --
76 IF FND_API.To_Boolean(p_init_msg_list)
77 THEN
78 FND_MSG_PUB.Initialize;
79 END IF;
80
81 --
82 -- Initialize API return status to success
83 --
84 x_return_status := FND_API.G_RET_STS_SUCCESS;
85
86 -- ----------------------------------------------------------------------
87 -- Perform the database operation. Generate the method ID from the
88 -- sequence, then insert the passed in attributes into the
89 -- JTF_BRM_PROCESSES table.
90 ----------------------------------------------------------------------
91 IF (p_bpr_rec.Process_id IS NULL)
92 THEN
93 SELECT JTF_BRM_PROCESSES_S.NEXTVAL INTO l_Process_id
94 FROM DUAL;
95 ELSE
96 l_process_id := p_bpr_rec.Process_id;
97 END IF;
98
99 --
100 -- Insert into table
101 --
102 INSERT INTO JTF_BRM_PROCESSES
103 ( PROCESS_ID
104 , RULE_ID
105 , CREATED_BY
106 , CREATION_DATE
107 , LAST_UPDATED_BY
108 , LAST_UPDATE_DATE
109 , LAST_UPDATE_LOGIN
110 , SEEDED_FLAG
111 , LAST_BRM_CHECK_DATE
112 , BRM_UOM_TYPE
113 , BRM_CHECK_UOM_CODE
114 , BRM_CHECK_INTERVAL
115 , BRM_TOLERANCE_UOM_CODE
116 , BRM_TOLERANCE_INTERVAL
117 , WORKFLOW_ITEM_TYPE
118 , WORKFLOW_PROCESS_NAME
119 , START_DATE_ACTIVE
120 , END_DATE_ACTIVE
121 , ATTRIBUTE1
122 , ATTRIBUTE2
123 , ATTRIBUTE3
124 , ATTRIBUTE4
125 , ATTRIBUTE5
126 , ATTRIBUTE6
127 , ATTRIBUTE7
128 , ATTRIBUTE8
129 , ATTRIBUTE9
130 , ATTRIBUTE10
131 , ATTRIBUTE11
132 , ATTRIBUTE12
133 , ATTRIBUTE13
134 , ATTRIBUTE14
135 , ATTRIBUTE15
136 , ATTRIBUTE_CATEGORY
137 , SECURITY_GROUP_ID
138 , OBJECT_VERSION_NUMBER
139 , APPLICATION_ID
140 ) VALUES
141 ( l_process_id
142 , p_bpr_rec.RULE_ID
143 , p_bpr_rec.CREATED_BY
144 , p_bpr_rec.CREATION_DATE
145 , p_bpr_rec.LAST_UPDATED_BY
146 , p_bpr_rec.LAST_UPDATE_DATE
147 , p_bpr_rec.LAST_UPDATE_LOGIN
148 , p_bpr_rec.SEEDED_FLAG
149 , p_bpr_rec.LAST_BRM_CHECK_DATE
150 , p_bpr_rec.BRM_UOM_TYPE
151 , p_bpr_rec.BRM_CHECK_UOM_CODE
152 , p_bpr_rec.BRM_CHECK_INTERVAL
153 , p_bpr_rec.BRM_TOLERANCE_UOM_CODE
154 , p_bpr_rec.BRM_TOLERANCE_INTERVAL
155 , p_bpr_rec.WORKFLOW_ITEM_TYPE
156 , p_bpr_rec.WORKFLOW_PROCESS_NAME
157 , p_bpr_rec.START_DATE_ACTIVE
158 , p_bpr_rec.END_DATE_ACTIVE
159 , p_bpr_rec.ATTRIBUTE1
160 , p_bpr_rec.ATTRIBUTE2
161 , p_bpr_rec.ATTRIBUTE3
162 , p_bpr_rec.ATTRIBUTE4
163 , p_bpr_rec.ATTRIBUTE5
164 , p_bpr_rec.ATTRIBUTE6
165 , p_bpr_rec.ATTRIBUTE7
166 , p_bpr_rec.ATTRIBUTE8
167 , p_bpr_rec.ATTRIBUTE9
168 , p_bpr_rec.ATTRIBUTE10
169 , p_bpr_rec.ATTRIBUTE11
170 , p_bpr_rec.ATTRIBUTE12
171 , p_bpr_rec.ATTRIBUTE13
172 , p_bpr_rec.ATTRIBUTE14
173 , p_bpr_rec.ATTRIBUTE15
174 , p_bpr_rec.ATTRIBUTE_CATEGORY
175 , p_bpr_rec.SECURITY_GROUP_ID
176 , l_object_version_number
177 , p_bpr_rec.APPLICATION_ID
178 );
179
180 --
181 -- Check whether insert was succesfull
182 --
183 OPEN c;
184 FETCH c INTO L_ROWID;
185 IF (c%NOTFOUND)
186 THEN
187 CLOSE c;
188 RAISE no_data_found;
189 END IF;
190 CLOSE c;
191
192 --
193 -- Return the key value to the caller
194 --
195 x_record_id := l_process_id;
196
197 --
198 -- Standard check of p_commit
199 --
200 IF FND_API.To_Boolean(p_commit)
201 THEN
202 COMMIT WORK;
203 END IF;
204
205 --
206 -- Standard call to get message count and if count is 1, get message info
207 --
208 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
209 , p_data => x_msg_data
210 );
211
212 EXCEPTION
213 WHEN FND_API.G_EXC_ERROR
214 THEN
215 ROLLBACK TO Create_BRMProcess_PVT;
216 x_return_status := FND_API.G_RET_STS_ERROR;
217 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
218 , p_data => x_msg_data
219 );
220
221 WHEN FND_API.G_EXC_UNEXPECTED_ERROR
222 THEN
223 ROLLBACK TO Create_BRMProcess_PVT;
224 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
225 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
226 , p_data => x_msg_data
227 );
228 WHEN OTHERS
229 THEN
230 ROLLBACK TO Create_BRMProcess_PVT;
231 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
232 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
233 THEN
234 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME
235 , l_api_name
236 );
237 END IF;
238 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
239 , p_data => x_msg_data
240 );
241
242 END Create_BRMProcess;
243
244 --------------------------------------------------------------------------
245 -- Start of comments
246 -- API name : Update_BRMParameter
247 -- Type : Private
248 -- Function : Update record in JTF_BRM_PROCESSES table.
249 -- Pre-reqs : None.
250 -- Parameters :
251 -- name direction type required?
252 -- ---- --------- ---- ---------
253 -- p_api_version IN NUMBER required
254 -- p_init_msg_list IN VARCHAR2 optional
255 -- p_commit IN VARCHAR2 optional
256 -- p_validation_level IN NUMBER optional
257 -- x_return_status OUT VARCHAR2 required
258 -- x_msg_count OUT NUMBER required
259 -- x_msg_data OUT VARCHAR2 required
260 -- p_BRMProcess_rec IN brm_Process_rec_type required
261 --
262 -- Version : Current version 1.1
263 -- Previous version 1.0
264 -- Initial Version 1.0
265 --
266 -- Notes:
267 --
268 -- End of comments
269 --------------------------------------------------------------------------
270 PROCEDURE Update_BRMProcess
271 ( p_api_version IN NUMBER
272 , p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
273 , p_commit IN VARCHAR2 DEFAULT fnd_api.g_false
274 , p_validation_level IN NUMBER DEFAULT fnd_api.g_valid_level_full
275 , x_return_status OUT NOCOPY VARCHAR2
276 , x_msg_count OUT NOCOPY NUMBER
277 , x_msg_data OUT NOCOPY VARCHAR2
278 , p_bpr_rec IN BRM_Process_rec_type
279 )
280 IS
281 l_api_name CONSTANT VARCHAR2(30) := 'Update_BRMProcess';
282 l_api_version CONSTANT NUMBER := 1.1;
283 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
284 l_object_version_number NUMBER;
285 l_return_status VARCHAR2(1);
286 l_msg_count NUMBER;
287 l_msg_data VARCHAR2(2000);
288
289 BEGIN
290 --
291 -- Standard start of API savepoint
292 --
293 SAVEPOINT Update_BRMProcess_PVT;
294
295 --
296 -- Standard call to check for call compatibility
297 --
298 IF NOT FND_API.Compatible_API_Call( l_api_version
299 , p_api_version
300 , l_api_name
301 , G_PKG_NAME)
302 THEN
303 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
304 END IF;
305
306 --
307 -- Initialize message list if p_init_msg_list is set to TRUE
308 --
309 IF FND_API.To_Boolean(p_init_msg_list)
310 THEN
311 FND_MSG_PUB.Initialize;
312 END IF;
313
314 --
315 -- Initialize API return status to success
316 --
317 x_return_status := FND_API.G_RET_STS_SUCCESS;
318
319 --
320 -- Get new object version number
321 --
322 SELECT JTF_BRM_OBJECT_VERSION_S.NEXTVAL
323 INTO l_object_version_number
324 FROM DUAL;
325
326 UPDATE JTF_BRM_PROCESSES
327 SET RULE_ID = p_bpr_rec.RULE_ID
328 , LAST_UPDATED_BY = p_bpr_rec.LAST_UPDATED_BY
329 , LAST_UPDATE_DATE = p_bpr_rec.LAST_UPDATE_DATE
330 , LAST_UPDATE_LOGIN = p_bpr_rec.LAST_UPDATE_LOGIN
331 , SEEDED_FLAG = p_bpr_rec.SEEDED_FLAG
332 , LAST_BRM_CHECK_DATE = p_bpr_rec.LAST_BRM_CHECK_DATE
333 , BRM_UOM_TYPE = p_bpr_rec.BRM_UOM_TYPE
334 , BRM_CHECK_UOM_CODE = p_bpr_rec.BRM_CHECK_UOM_CODE
335 , BRM_CHECK_INTERVAL = p_bpr_rec.BRM_CHECK_INTERVAL
336 , BRM_TOLERANCE_UOM_CODE = p_bpr_rec.BRM_TOLERANCE_UOM_CODE
337 , BRM_TOLERANCE_INTERVAL = p_bpr_rec.BRM_TOLERANCE_INTERVAL
338 , WORKFLOW_ITEM_TYPE = p_bpr_rec.WORKFLOW_ITEM_TYPE
339 , WORKFLOW_PROCESS_NAME = p_bpr_rec.WORKFLOW_PROCESS_NAME
340 , START_DATE_ACTIVE = p_bpr_rec.START_DATE_ACTIVE
341 , END_DATE_ACTIVE = p_bpr_rec.END_DATE_ACTIVE
342 , ATTRIBUTE1 = p_bpr_rec.ATTRIBUTE1
343 , ATTRIBUTE2 = p_bpr_rec.ATTRIBUTE2
344 , ATTRIBUTE3 = p_bpr_rec.ATTRIBUTE3
345 , ATTRIBUTE4 = p_bpr_rec.ATTRIBUTE4
346 , ATTRIBUTE5 = p_bpr_rec.ATTRIBUTE5
347 , ATTRIBUTE6 = p_bpr_rec.ATTRIBUTE6
348 , ATTRIBUTE7 = p_bpr_rec.ATTRIBUTE7
349 , ATTRIBUTE8 = p_bpr_rec.ATTRIBUTE8
350 , ATTRIBUTE9 = p_bpr_rec.ATTRIBUTE9
351 , ATTRIBUTE10 = p_bpr_rec.ATTRIBUTE10
352 , ATTRIBUTE11 = p_bpr_rec.ATTRIBUTE11
353 , ATTRIBUTE12 = p_bpr_rec.ATTRIBUTE12
354 , ATTRIBUTE13 = p_bpr_rec.ATTRIBUTE13
355 , ATTRIBUTE14 = p_bpr_rec.ATTRIBUTE14
356 , ATTRIBUTE15 = p_bpr_rec.ATTRIBUTE15
357 , ATTRIBUTE_CATEGORY = p_bpr_rec.ATTRIBUTE_CATEGORY
358 , SECURITY_GROUP_ID = p_bpr_rec.SECURITY_GROUP_ID
359 , OBJECT_VERSION_NUMBER = l_object_version_number
360 , APPLICATION_ID = p_bpr_rec.APPLICATION_ID
361 WHERE PROCESS_ID = p_bpr_rec.process_id;
362
363 --
364 -- Check whether the update was succesful
365 --
366 IF (SQL%NOTFOUND)
367 THEN
368 RAISE no_data_found;
369 END IF;
370
371 --
372 -- Standard check of p_commit
373 --
374 IF FND_API.To_Boolean(p_commit)
375 THEN
376 COMMIT WORK;
377 END IF;
378
379 --
380 -- Standard call to get message count and if count is 1, get message info
381 --
382 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
383 , p_data => x_msg_data
384 );
385
386 EXCEPTION
387 WHEN FND_API.G_EXC_ERROR
388 THEN
389 ROLLBACK TO Update_BRMProcess_PVT;
390 x_return_status := FND_API.G_RET_STS_ERROR;
391 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
392 , p_data => x_msg_data
393 );
394
395 WHEN FND_API.G_EXC_UNEXPECTED_ERROR
396 THEN
397 ROLLBACK TO Update_BRMProcess_PVT;
398 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
399 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
400 , p_data => x_msg_data
401 );
402
403 WHEN OTHERS
404 THEN
405 ROLLBACK TO Update_BRMProcess_PVT;
406 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
407 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
408 THEN
409 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME
410 , l_api_name
411 );
412 END IF;
413 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
414 , p_data => x_msg_data
415 );
416 END Update_BRMProcess;
417
418
419 --------------------------------------------------------------------------
420 -- Start of comments
421 -- API Name : Delete_BRMParameter
422 -- Type : Private
423 -- Description : Delete record in JTF_BRM_PROCESSES table.
424 -- Pre-reqs : None
425 -- Parameters :
426 -- name direction type required?
427 -- ---- --------- ---- ---------
428 -- p_api_version IN NUMBER required
429 -- p_init_msg_list IN VARCHAR2 optional
430 -- p_commit IN VARCHAR2 optional
431 -- p_validation_level IN NUMBER optional
432 -- x_return_status OUT VARCHAR2 required
433 -- x_msg_count OUT NUMBER required
434 -- x_msg_data OUT VARCHAR2 required
435 -- p_Process_id IN NUMBER required
436 --
437 -- Version : Current version 1.1
438 -- Previous version 1.0
439 -- Initial version 1.0
440 --
441 -- Notes: :
442 --
443 -- End of comments
444 --------------------------------------------------------------------------
445 PROCEDURE Delete_BRMProcess
446 ( p_api_version IN NUMBER
447 , p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
448 , p_commit IN VARCHAR2 DEFAULT fnd_api.g_false
449 , p_validation_level IN NUMBER DEFAULT fnd_api.g_valid_level_full
450 , x_return_status OUT NOCOPY VARCHAR2
451 , x_msg_count OUT NOCOPY NUMBER
452 , x_msg_data OUT NOCOPY VARCHAR2
453 , p_process_id IN NUMBER
454 )
455 IS
456 l_api_name CONSTANT VARCHAR2(30) := 'Delete_BRMProcess';
457 l_api_version CONSTANT NUMBER := 1.1;
458 l_api_name_full CONSTANT VARCHAR2(62) := G_PKG_NAME||'.'||l_api_name;
459 l_return_status VARCHAR2(1);
460 l_msg_count NUMBER;
461 l_msg_data VARCHAR2(2000);
462 BEGIN
463 --
464 -- Establish save point
465 --
466 SAVEPOINT Delete_BRMProcess_PVT;
467
468 --
469 -- Check version number
470 --
471 IF NOT FND_API.Compatible_API_Call( l_api_version
472 , p_api_version
473 , l_api_name
474 , G_PKG_NAME )
475 THEN
476 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
477 END IF;
478
479 --
480 -- Initialize message list if requested
481 --
482 IF FND_API.to_Boolean( p_init_msg_list )
483 THEN
484 FND_MSG_PUB.initialize;
485 END IF;
486
487 --
488 -- Initialize return status to SUCCESS
489 --
490 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
491
492 DELETE FROM JTF_BRM_PROCESSES
493 WHERE PROCESS_ID = p_process_id;
494
495 --
496 -- Check whether update was succesful
497 --
498 IF (SQL%NOTFOUND)
499 THEN
500 RAISE no_data_found;
501 END IF;
502
503 IF FND_API.To_Boolean( p_commit )
504 THEN
505 COMMIT WORK;
506 END IF;
507
508 FND_MSG_PUB.Count_And_Get( p_count => X_MSG_COUNT
509 , p_data => X_MSG_DATA
510 );
511
512 EXCEPTION
513 WHEN FND_API.G_EXC_ERROR
514 THEN
515 ROLLBACK TO Delete_BRMProcess_PVT;
516 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
517 FND_MSG_PUB.Count_And_Get( p_count => X_MSG_COUNT
518 , p_data => X_MSG_DATA
519 );
520
521 WHEN FND_API.G_EXC_UNEXPECTED_ERROR
522 THEN
523 ROLLBACK TO Delete_BRMProcess_PVT;
524 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
525 FND_MSG_PUB.Count_And_Get( p_count => X_MSG_COUNT
526 , p_data => X_MSG_DATA
527 );
528
529 WHEN OTHERS
530 THEN
531 ROLLBACK TO Delete_BRMProcess_PVT;
532 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
533 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
534 THEN
535 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME
536 , l_api_name
537 );
538 END IF;
539
540 FND_MSG_PUB.Count_And_Get( p_count => X_MSG_COUNT
541 , p_data => X_MSG_DATA
542 );
543
544 END Delete_BRMProcess;
545
546 END JTF_BRMProcess_PVT;