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