DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSB_ACCT_POSITION_SET_LINE_PVT

Source


1 PACKAGE BODY PSB_Acct_Position_Set_Line_PVT AS
2 /* $Header: PSBVSTLB.pls 120.2 2005/07/13 11:29:56 shtripat ship $ */
3 
4   G_PKG_NAME CONSTANT VARCHAR2(30):= 'PSB_Acct_Position_Set_Line_PVT';
5 
6 
7 
8 /*=========================================================================+
9  |                       PROCEDURE Insert_Row                              |
10  +========================================================================*/
11 
12 PROCEDURE Insert_Row
13 (
14   p_api_version               IN       NUMBER,
15   p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE,
16   p_commit                    IN       VARCHAR2 := FND_API.G_FALSE,
17   p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL,
18   p_return_status             OUT  NOCOPY      VARCHAR2,
19   p_msg_count                 OUT  NOCOPY      NUMBER,
20   p_msg_data                  OUT  NOCOPY      VARCHAR2,
21   --
22   p_Row_Id                    IN OUT  NOCOPY   VARCHAR2,
23   p_Line_Sequence_Id          IN OUT  NOCOPY   NUMBER,
24   p_Account_Position_Set_Id   IN       NUMBER,
25   p_Description               IN       VARCHAR2,
26   p_Business_Group_Id         IN       NUMBER,
27   p_Attribute_Id              IN       NUMBER,
28   p_Include_Or_Exclude_Type   IN       VARCHAR2,
29   p_Segment1_Low              IN       VARCHAR2,
30   p_Segment2_Low              IN       VARCHAR2,
31   p_Segment3_Low              IN       VARCHAR2,
32   p_Segment4_Low              IN       VARCHAR2,
33   p_Segment5_Low              IN       VARCHAR2,
34   p_Segment6_Low              IN       VARCHAR2,
35   p_Segment7_Low              IN       VARCHAR2,
36   p_Segment8_Low              IN       VARCHAR2,
37   p_Segment9_Low              IN       VARCHAR2,
38   p_Segment10_Low             IN       VARCHAR2,
39   p_Segment11_Low             IN       VARCHAR2,
40   p_Segment12_Low             IN       VARCHAR2,
41   p_Segment13_Low             IN       VARCHAR2,
42   p_Segment14_Low             IN       VARCHAR2,
43   p_Segment15_Low             IN       VARCHAR2,
44   p_Segment16_Low             IN       VARCHAR2,
45   p_Segment17_Low             IN       VARCHAR2,
46   p_Segment18_Low             IN       VARCHAR2,
47   p_Segment19_Low             IN       VARCHAR2,
48   p_Segment20_Low             IN       VARCHAR2,
49   p_Segment21_Low             IN       VARCHAR2,
50   p_Segment22_Low             IN       VARCHAR2,
51   p_Segment23_Low             IN       VARCHAR2,
52   p_Segment24_Low             IN       VARCHAR2,
53   p_Segment25_Low             IN       VARCHAR2,
54   p_Segment26_Low             IN       VARCHAR2,
55   p_Segment27_Low             IN       VARCHAR2,
56   p_Segment28_Low             IN       VARCHAR2,
57   p_Segment29_Low             IN       VARCHAR2,
58   p_Segment30_Low             IN       VARCHAR2,
59   p_Segment1_High             IN       VARCHAR2,
60   p_Segment2_High             IN       VARCHAR2,
61   p_Segment3_High             IN       VARCHAR2,
62   p_Segment4_High             IN       VARCHAR2,
63   p_Segment5_High             IN       VARCHAR2,
64   p_Segment6_High             IN       VARCHAR2,
65   p_Segment7_High             IN       VARCHAR2,
66   p_Segment8_High             IN       VARCHAR2,
67   p_Segment9_High             IN       VARCHAR2,
68   p_Segment10_High            IN       VARCHAR2,
69   p_Segment11_High            IN       VARCHAR2,
70   p_Segment12_High            IN       VARCHAR2,
71   p_Segment13_High            IN       VARCHAR2,
72   p_Segment14_High            IN       VARCHAR2,
73   p_Segment15_High            IN       VARCHAR2,
74   p_Segment16_High            IN       VARCHAR2,
75   p_Segment17_High            IN       VARCHAR2,
76   p_Segment18_High            IN       VARCHAR2,
77   p_Segment19_High            IN       VARCHAR2,
78   p_Segment20_High            IN       VARCHAR2,
79   p_Segment21_High            IN       VARCHAR2,
80   p_Segment22_High            IN       VARCHAR2,
81   p_Segment23_High            IN       VARCHAR2,
82   p_Segment24_High            IN       VARCHAR2,
83   p_Segment25_High            IN       VARCHAR2,
84   p_Segment26_High            IN       VARCHAR2,
85   p_Segment27_High            IN       VARCHAR2,
86   p_Segment28_High            IN       VARCHAR2,
87   p_Segment29_High            IN       VARCHAR2,
88   p_Segment30_High            IN       VARCHAR2,
89   p_context                   IN       VARCHAR2,
90   p_attribute1                IN       VARCHAR2,
91   p_attribute2                IN       VARCHAR2,
92   p_attribute3                IN       VARCHAR2,
93   p_attribute4                IN       VARCHAR2,
94   p_attribute5                IN       VARCHAR2,
95   p_attribute6                IN       VARCHAR2,
96   p_attribute7                IN       VARCHAR2,
97   p_attribute8                IN       VARCHAR2,
98   p_attribute9                IN       VARCHAR2,
99   p_attribute10               IN       VARCHAR2,
100   p_Last_Update_Date          IN       DATE,
101   p_Last_Updated_By           IN       NUMBER,
102   p_Last_Update_Login         IN       NUMBER,
103   p_Created_By                IN       NUMBER,
104   p_Creation_Date             IN       DATE
105 )
106 IS
107   --
108   l_api_name            CONSTANT VARCHAR2(30)   := 'Insert_Row';
109   l_api_version         CONSTANT NUMBER         :=  1.0;
110   --
111   CURSOR C  IS SELECT rowid
112 	       FROM   psb_account_position_set_lines
113 	       WHERE  line_sequence_id = p_Line_Sequence_Id;
114   CURSOR C2 IS SELECT psb_acct_position_set_lines_s.nextval
115 	       FROM   dual;
116 BEGIN
117   --
118   SAVEPOINT Insert_Row_Pvt ;
119   --
120   IF NOT FND_API.Compatible_API_Call ( l_api_version,
121 				       p_api_version,
122 				       l_api_name,
123 				       G_PKG_NAME )
124   THEN
125     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
126   END IF;
127   --
128 
129   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
130     FND_MSG_PUB.initialize ;
131   END IF;
132   --
133   p_return_status := FND_API.G_RET_STS_SUCCESS ;
134   --
135   IF (p_Line_Sequence_Id is NULL) THEN
136     OPEN C2;
137     FETCH C2 INTO p_Line_Sequence_Id;
138     CLOSE C2;
139   END IF;
140 
141   INSERT INTO psb_account_position_set_lines
142 	    (
143 	      line_sequence_id,
144 	      account_position_set_id,
145 	      description,
146 	      business_group_id,
147 	      attribute_id,
148 	      include_or_exclude_type,
149 	      segment1_low,
150 	      segment2_low,
151 	      segment3_low,
152 	      segment4_low,
153 	      segment5_low,
154 	      segment6_low,
155 	      segment7_low,
156 	      segment8_low,
157 	      segment9_low,
158 	      segment10_low,
159 	      segment11_low,
160 	      segment12_low,
161 	      segment13_low,
162 	      segment14_low,
163 	      segment15_low,
164 	      segment16_low,
165 	      segment17_low,
166 	      segment18_low,
167 	      segment19_low,
168 	      segment20_low,
169 	      segment21_low,
170 	      segment22_low,
171 	      segment23_low,
172 	      segment24_low,
173 	      segment25_low,
174 	      segment26_low,
175 	      segment27_low,
176 	      segment28_low,
177 	      segment29_low,
178 	      segment30_low,
179 	      segment1_high,
180 	      segment2_high,
181 	      segment3_high,
182 	      segment4_high,
183 	      segment5_high,
184 	      segment6_high,
185 	      segment7_high,
186 	      segment8_high,
187 	      segment9_high,
188 	      segment10_high,
189 	      segment11_high,
190 	      segment12_high,
191 	      segment13_high,
192 	      segment14_high,
193 	      segment15_high,
194 	      segment16_high,
195 	      segment17_high,
196 	      segment18_high,
197 	      segment19_high,
198 	      segment20_high,
199 	      segment21_high,
200 	      segment22_high,
201 	      segment23_high,
202 	      segment24_high,
203 	      segment25_high,
204 	      segment26_high,
205 	      segment27_high,
206 	      segment28_high,
207 	      segment29_high,
208 	      segment30_high,
209 	      context,
210 	      attribute1,
211 	      attribute2,
212 	      attribute3,
213 	      attribute4,
214 	      attribute5,
215 	      attribute6,
216 	      attribute7,
217 	      attribute8,
218 	      attribute9,
219 	      attribute10,
220 	      last_update_date,
221 	      last_updated_by,
222 	      last_update_login,
223 	      created_by,
224 	      creation_date
225 	    )
226 	  VALUES
227 	    (
228 	      p_Line_Sequence_Id,
229 	      p_Account_Position_Set_Id,
230 	      p_Description,
231 	      p_Business_Group_Id,
232 	      p_Attribute_Id,
233 	      p_Include_Or_Exclude_Type,
234 	      p_Segment1_Low,
235 	      p_Segment2_Low,
236 	      p_Segment3_Low,
237 	      p_Segment4_Low,
238 	      p_Segment5_Low,
239 	      p_Segment6_Low,
240 	      p_Segment7_Low,
241 	      p_Segment8_Low,
242 	      p_Segment9_Low,
243 	      p_Segment10_Low,
244 	      p_Segment11_Low,
245 	      p_Segment12_Low,
246 	      p_Segment13_Low,
247 	      p_Segment14_Low,
248 	      p_Segment15_Low,
249 	      p_Segment16_Low,
250 	      p_Segment17_Low,
251 	      p_Segment18_Low,
252 	      p_Segment19_Low,
253 	      p_Segment20_Low,
254 	      p_Segment21_Low,
255 	      p_Segment22_Low,
256 	      p_Segment23_Low,
257 	      p_Segment24_Low,
258 	      p_Segment25_Low,
259 	      p_Segment26_Low,
260 	      p_Segment27_Low,
261 	      p_Segment28_Low,
262 	      p_Segment29_Low,
263 	      p_Segment30_Low,
264 	      p_Segment1_High,
265 	      p_Segment2_High,
266 	      p_Segment3_High,
267 	      p_Segment4_High,
268 	      p_Segment5_High,
269 	      p_Segment6_High,
270 	      p_Segment7_High,
271 	      p_Segment8_High,
272 	      p_Segment9_High,
273 	      p_Segment10_High,
274 	      p_Segment11_High,
275 	      p_Segment12_High,
276 	      p_Segment13_High,
277 	      p_Segment14_High,
278 	      p_Segment15_High,
279 	      p_Segment16_High,
280 	      p_Segment17_High,
281 	      p_Segment18_High,
282 	      p_Segment19_High,
283 	      p_Segment20_High,
284 	      p_Segment21_High,
285 	      p_Segment22_High,
286 	      p_Segment23_High,
287 	      p_Segment24_High,
288 	      p_Segment25_High,
289 	      p_Segment26_High,
290 	      p_Segment27_High,
291 	      p_Segment28_High,
292 	      p_Segment29_High,
293 	      p_Segment30_High,
294 	      p_context,
295 	      p_attribute1,
296 	      p_attribute2,
297 	      p_attribute3,
298 	      p_attribute4,
299 	      p_attribute5,
300 	      p_attribute6,
301 	      p_attribute7,
302 	      p_attribute8,
303 	      p_attribute9,
304 	      p_attribute10,
305 	      p_Last_Update_Date,
306 	      p_Last_Updated_By,
307 	      p_Last_Update_Login,
308 	      p_Created_By,
309 	      p_Creation_Date
310 	    );
311   OPEN C;
312   FETCH C INTO p_Row_Id;
313   IF (C%NOTFOUND) then
314     CLOSE C;
315     RAISE FND_API.G_EXC_ERROR ;
316     -- Raise NO_DATA_FOUND;
317   END IF;
318   CLOSE C;
319   --
320   IF FND_API.To_Boolean ( p_commit ) THEN
321     COMMIT WORK;
322   END iF;
323   --
324   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
325 			      p_data  => p_msg_data );
326   --
327 EXCEPTION
328   --
329   WHEN FND_API.G_EXC_ERROR THEN
330     --
331     ROLLBACK TO Insert_Row_Pvt ;
332     p_return_status := FND_API.G_RET_STS_ERROR;
333     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
334 				p_data  => p_msg_data );
335   --
336   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
337     --
338     ROLLBACK TO Insert_Row_Pvt ;
339     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
340     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
341 				p_data  => p_msg_data );
342   --
343   WHEN OTHERS THEN
344     --
345     ROLLBACK TO Insert_Row_Pvt ;
346     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
347     --
348     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
349       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
350 				l_api_name);
351     END if;
352     --
353     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
354 				p_data  => p_msg_data );
355      --
356 
357 END Insert_Row;
358 /*-------------------------------------------------------------------------*/
359 
360 
361 
362 /*=========================================================================+
363  |                       PROCEDURE Lock_Row                                |
364  +=========================================================================*/
365 
366 PROCEDURE Lock_Row
367 (
368   p_api_version               IN       NUMBER,
369   p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE,
370   p_commit                    IN       VARCHAR2 := FND_API.G_FALSE,
371   p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL,
372   p_return_status             OUT  NOCOPY      VARCHAR2,
373   p_msg_count                 OUT  NOCOPY      NUMBER,
374   p_msg_data                  OUT  NOCOPY      VARCHAR2,
375   --
376   p_Row_Id                    IN       VARCHAR2,
377   p_Line_Sequence_Id          IN       NUMBER,
378   p_Account_Position_Set_Id   IN       NUMBER,
379   p_Description               IN       VARCHAR2,
380   p_Business_Group_Id         IN       NUMBER,
381   p_Attribute_Id              IN       NUMBER,
382   p_Include_Or_Exclude_Type   IN       VARCHAR2,
383   p_Segment1_Low              IN       VARCHAR2,
384   p_Segment2_Low              IN       VARCHAR2,
385   p_Segment3_Low              IN       VARCHAR2,
386   p_Segment4_Low              IN       VARCHAR2,
387   p_Segment5_Low              IN       VARCHAR2,
388   p_Segment6_Low              IN       VARCHAR2,
389   p_Segment7_Low              IN       VARCHAR2,
390   p_Segment8_Low              IN       VARCHAR2,
391   p_Segment9_Low              IN       VARCHAR2,
392   p_Segment10_Low             IN       VARCHAR2,
393   p_Segment11_Low             IN       VARCHAR2,
394   p_Segment12_Low             IN       VARCHAR2,
395   p_Segment13_Low             IN       VARCHAR2,
396   p_Segment14_Low             IN       VARCHAR2,
397   p_Segment15_Low             IN       VARCHAR2,
398   p_Segment16_Low             IN       VARCHAR2,
399   p_Segment17_Low             IN       VARCHAR2,
400   p_Segment18_Low             IN       VARCHAR2,
401   p_Segment19_Low             IN       VARCHAR2,
402   p_Segment20_Low             IN       VARCHAR2,
403   p_Segment21_Low             IN       VARCHAR2,
404   p_Segment22_Low             IN       VARCHAR2,
405   p_Segment23_Low             IN       VARCHAR2,
406   p_Segment24_Low             IN       VARCHAR2,
407   p_Segment25_Low             IN       VARCHAR2,
408   p_Segment26_Low             IN       VARCHAR2,
409   p_Segment27_Low             IN       VARCHAR2,
410   p_Segment28_Low             IN       VARCHAR2,
411   p_Segment29_Low             IN       VARCHAR2,
412   p_Segment30_Low             IN       VARCHAR2,
413   p_Segment1_High             IN       VARCHAR2,
414   p_Segment2_High             IN       VARCHAR2,
415   p_Segment3_High             IN       VARCHAR2,
416   p_Segment4_High             IN       VARCHAR2,
417   p_Segment5_High             IN       VARCHAR2,
418   p_Segment6_High             IN       VARCHAR2,
419   p_Segment7_High             IN       VARCHAR2,
420   p_Segment8_High             IN       VARCHAR2,
421   p_Segment9_High             IN       VARCHAR2,
422   p_Segment10_High            IN       VARCHAR2,
423   p_Segment11_High            IN       VARCHAR2,
424   p_Segment12_High            IN       VARCHAR2,
425   p_Segment13_High            IN       VARCHAR2,
426   p_Segment14_High            IN       VARCHAR2,
430   p_Segment18_High            IN       VARCHAR2,
427   p_Segment15_High            IN       VARCHAR2,
428   p_Segment16_High            IN       VARCHAR2,
429   p_Segment17_High            IN       VARCHAR2,
431   p_Segment19_High            IN       VARCHAR2,
432   p_Segment20_High            IN       VARCHAR2,
433   p_Segment21_High            IN       VARCHAR2,
434   p_Segment22_High            IN       VARCHAR2,
435   p_Segment23_High            IN       VARCHAR2,
436   p_Segment24_High            IN       VARCHAR2,
437   p_Segment25_High            IN       VARCHAR2,
438   p_Segment26_High            IN       VARCHAR2,
439   p_Segment27_High            IN       VARCHAR2,
440   p_Segment28_High            IN       VARCHAR2,
441   p_Segment29_High            IN       VARCHAR2,
442   p_Segment30_High            IN       VARCHAR2,
443   p_context                   IN       VARCHAR2,
444   p_attribute1                IN       VARCHAR2,
445   p_attribute2                IN       VARCHAR2,
446   p_attribute3                IN       VARCHAR2,
447   p_attribute4                IN       VARCHAR2,
448   p_attribute5                IN       VARCHAR2,
449   p_attribute6                IN       VARCHAR2,
450   p_attribute7                IN       VARCHAR2,
451   p_attribute8                IN       VARCHAR2,
452   p_attribute9                IN       VARCHAR2,
453   p_attribute10               IN       VARCHAR2,
454   --
455   p_row_locked                OUT  NOCOPY      VARCHAR2
456 )
457 IS
458   --
459   l_api_name            CONSTANT VARCHAR2(30)   := 'Lock_Row';
460   l_api_version         CONSTANT NUMBER         :=  1.0;
461   --
462   CURSOR C IS
463 	SELECT *
464 	FROM  psb_account_position_set_lines
465 	WHERE rowid = p_Row_Id
466 	FOR UPDATE of Line_Sequence_Id NOWAIT;
467     Recinfo C%ROWTYPE;
468 
469 BEGIN
470   --
471   SAVEPOINT Lock_Row_Pvt ;
472   --
473   IF NOT FND_API.Compatible_API_Call ( l_api_version,
474 				       p_api_version,
475 				       l_api_name,
476 				       G_PKG_NAME )
477   THEN
478     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
479   END IF;
480   --
481 
482   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
483     FND_MSG_PUB.initialize ;
484   END IF;
485   --
486   p_return_status := FND_API.G_RET_STS_SUCCESS ;
487   p_row_locked    := FND_API.G_TRUE ;
488   --
489   OPEN C;
490   FETCH C INTO Recinfo;
491   IF (C%NOTFOUND) THEN
492     CLOSE C;
493     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
494     FND_MSG_PUB.Add;
495     RAISE FND_API.G_EXC_ERROR ;
496   END IF;
497   CLOSE C;
498 
499   IF
500 	(
501 	 (Recinfo.line_sequence_id =  p_line_sequence_id)
502 	  AND ( (Recinfo.account_position_set_id =  p_account_position_set_id)
503 		 OR ( (Recinfo.account_position_set_id IS NULL)
504 		       AND (p_account_position_set_id IS NULL)))
505 	  AND ( (Recinfo.description =  p_description)
506 		 OR ( (Recinfo.description IS NULL)
507 		       AND (p_description IS NULL)))
508 	  AND ( (Recinfo.business_group_id =  p_Business_Group_Id)
509 		 OR ( (Recinfo.business_group_id IS NULL)
510 		       AND (p_Business_Group_Id IS NULL)))
511 	  AND ( (Recinfo.attribute_id = p_attribute_id)
512 		 OR ( (Recinfo.attribute_id IS NULL)
513 		       AND (p_attribute_Id IS NULL)))
514 	  AND ( (Recinfo.include_or_exclude_type = p_include_or_exclude_type)
515 		 OR ( (Recinfo.include_or_exclude_type IS NULL)
516 		       AND (p_include_or_exclude_type IS NULL)))
517 	  AND ( (Recinfo.segment1_low = p_segment1_low)
518 		 OR ( (Recinfo.segment1_low IS NULL)
519 		       AND (p_segment1_low IS NULL)))
520 	  AND ( (Recinfo.segment2_low = p_segment2_low)
521 		 OR ( (Recinfo.segment2_low IS NULL)
522 		       AND (p_segment2_low IS NULL)))
523 	  AND ( (Recinfo.segment3_low = p_segment3_low)
524 		 OR ( (Recinfo.segment3_low IS NULL)
525 		       AND (p_segment3_low IS NULL)))
526 	  AND ( (Recinfo.segment4_low = p_segment4_low)
527 		 OR ( (Recinfo.segment4_low IS NULL)
528 		       AND (p_segment4_low IS NULL)))
529 	  AND ( (Recinfo.segment5_low = p_segment5_low)
530 		 OR ( (Recinfo.segment5_low IS NULL)
531 		       AND (p_segment5_low IS NULL)))
532 	  AND ( (Recinfo.segment6_low = p_segment6_low)
533 		 OR ( (Recinfo.segment6_low IS NULL)
534 		       AND (p_segment6_low IS NULL)))
535 	  AND ( (Recinfo.segment7_low = p_segment7_low)
536 		 OR ( (Recinfo.segment7_low IS NULL)
537 		       AND (p_segment7_low IS NULL)))
538 	  AND ( (Recinfo.segment8_low = p_segment8_low)
539 		 OR ( (Recinfo.segment8_low IS NULL)
540 		       AND (p_segment8_low IS NULL)))
541 	  AND ( (Recinfo.segment9_low = p_segment9_low)
542 		 OR ( (Recinfo.segment9_low IS NULL)
543 		       AND (p_segment9_low IS NULL)))
544 	  AND ( (Recinfo.segment10_low = p_segment10_low)
545 		 OR ( (Recinfo.segment10_low IS NULL)
546 		       AND (p_segment10_low IS NULL)))
547 	  AND ( (Recinfo.segment11_low = p_segment11_low)
548 		 OR ( (Recinfo.segment11_low IS NULL)
549 		       AND (p_segment11_low IS NULL)))
550 	  AND ( (Recinfo.segment12_low = p_segment12_low)
551 		 OR ( (Recinfo.segment12_low IS NULL)
552 		       AND (p_segment12_low IS NULL)))
553 	  AND ( (Recinfo.segment13_low = p_segment13_low)
554 		 OR ( (Recinfo.segment13_low IS NULL)
555 		       AND (p_segment13_low IS NULL)))
559 	  AND ( (Recinfo.segment15_low = p_segment15_low)
556 	  AND ( (Recinfo.segment14_low = p_segment14_low)
557 		 OR ( (Recinfo.segment14_low IS NULL)
558 		       AND (p_segment14_low IS NULL)))
560 		 OR ( (Recinfo.segment15_low IS NULL)
561 		       AND (p_segment15_low IS NULL)))
562 	  AND ( (Recinfo.segment16_low = p_segment16_low)
563 		 OR ( (Recinfo.segment16_low IS NULL)
564 		       AND (p_segment16_low IS NULL)))
565 	  AND ( (Recinfo.segment17_low = p_segment17_low)
566 		 OR ( (Recinfo.segment17_low IS NULL)
567 		       AND (p_segment17_low IS NULL)))
568 	  AND ( (Recinfo.segment18_low = p_segment18_low)
569 		 OR ( (Recinfo.segment18_low IS NULL)
570 		       AND (p_segment18_low IS NULL)))
571 	  AND ( (Recinfo.segment19_low = p_segment19_low)
572 		 OR ( (Recinfo.segment19_low IS NULL)
573 		       AnD (p_segment19_low IS NULL)))
574 	  AND ( (Recinfo.segment20_low = p_segment20_low)
575 		 OR ( (Recinfo.segment20_low IS NULL)
576 		       AND (p_segment20_low IS NULL)))
577 	  AND ( (Recinfo.segment21_low = p_segment21_low)
578 		 OR ( (Recinfo.segment21_low IS NULL)
579 		       AND (p_segment21_low IS NULL)))
580 	  AND ( (Recinfo.segment22_low = p_segment22_low)
581 		 OR ( (Recinfo.segment22_low IS NULL)
582 		       AND (p_segment22_low IS NULL)))
583 	  AND ( (Recinfo.segment23_low = p_segment23_low)
584 		 OR ( (Recinfo.segment23_low IS NULL)
585 		       AND (p_segment23_low IS NULL)))
586 	  AND ( (Recinfo.segment24_low = p_segment24_low)
587 		 OR ( (Recinfo.segment24_low IS NULL)
588 		       AND (p_segment24_low IS NULL)))
589 	  AND ( (Recinfo.segment25_low = p_segment25_low)
590 		 OR ( (Recinfo.segment25_low IS NULL)
591 		       AND (p_segment25_low IS NULL)))
592 	  AND ( (Recinfo.segment26_low = p_segment26_low)
593 		 OR ( (Recinfo.segment26_low IS NULL)
594 		       AND (p_segment26_low IS NULL)))
595 	  AND ( (Recinfo.segment27_low = p_segment27_low)
596 		 OR ( (Recinfo.segment27_low IS NULL)
597 		       AND (p_segment27_low IS NULL)))
598 	  AND ( (Recinfo.segment28_low = p_segment28_low)
599 		 OR ( (Recinfo.segment28_low IS NULL)
600 		       AND (p_segment28_low IS NULL)))
601 	  AND ( (Recinfo.segment29_low = p_segment29_low)
602 		 OR ( (Recinfo.segment29_low IS NULL)
603 		       AND (p_segment29_low IS NULL)))
604 	  AND ( (Recinfo.segment30_low = p_segment30_low)
605 		 OR ( (Recinfo.segment30_low IS NULL)
606 		       AND (p_segment30_low IS NULL)))
607 	  AND ( (Recinfo.segment1_high =  p_segment1_high)
608 		 OR ( (Recinfo.segment1_high IS NULL)
609 		       AND (p_segment1_high IS NULL)))
610 	  AND ( (Recinfo.segment2_high = p_segment2_high)
611 		 OR ( (Recinfo.segment2_high IS NULL)
612 		       AND (p_segment2_high IS NULL)))
613 	  AND ( (Recinfo.segment3_high = p_segment3_high)
614 		 OR ( (Recinfo.segment3_high IS NULL)
615 		       AND (p_segment3_high IS NULL)))
616 	  AND ( (Recinfo.segment4_high = p_segment4_high)
617 		 OR ( (Recinfo.segment4_high IS NULL)
618 		       AND (p_segment4_high IS NULL)))
619 	  AND ( (Recinfo.segment5_high = p_segment5_high)
620 		 OR ( (Recinfo.segment5_high IS NULL)
621 		       AND (p_segment5_high IS NULL)))
622 	  AND ( (Recinfo.segment6_high = p_segment6_high)
623 		 OR ( (Recinfo.segment6_high IS NULL)
624 		       AND (p_segment6_high IS NULL)))
625 	  AND ( (Recinfo.segment7_high = p_segment7_high)
626 		 OR ( (Recinfo.segment7_high IS NULL)
627 		       AND (p_segment7_high IS NULL)))
628 	  AND ( (Recinfo.segment8_high = p_segment8_high)
629 		 OR ( (Recinfo.segment8_high IS NULL)
630 		       AND (p_segment8_high IS NULL)))
631 	  AND ( (Recinfo.segment9_high = p_segment9_high)
632 		 OR ( (Recinfo.segment9_high IS NULL)
633 		       AND (p_segment9_high IS NULL)))
634 	  AND ( (Recinfo.segment10_high = p_segment10_high)
635 		 OR ( (Recinfo.segment10_high IS NULL)
636 		       AND (p_segment10_high IS NULL)))
637 	  AND ( (Recinfo.segment11_high = p_segment11_high)
638 		 OR ( (Recinfo.segment11_high IS NULL)
639 		       AND (p_segment11_high IS NULL)))
640 	  AND ( (Recinfo.segment12_high = p_segment12_high)
641 		 OR ( (Recinfo.segment12_high IS NULL)
642 		       AND (p_segment12_high IS NULL)))
643 	  AND ( (Recinfo.segment13_high = p_segment13_high)
644 		 OR ( (Recinfo.segment13_high IS NULL)
645 		       AND (p_segment13_high IS NULL)))
646 	  AND ( (Recinfo.segment14_high = p_segment14_high)
647 		 OR ( (Recinfo.segment14_high IS NULL)
648 		       AND (p_segment14_high IS NULL)))
649 	  AND ( (Recinfo.segment15_high = p_segment15_high)
650 		 OR ( (Recinfo.segment15_high IS NULL)
651 		       AND (p_segment15_high IS NULL)))
652 	  AND ( (Recinfo.segment16_high = p_segment16_high)
653 		 OR ( (Recinfo.segment16_high IS NULL)
654 		       AND (p_segment16_high IS NULL)))
655 	  AND ( (Recinfo.segment17_high = p_segment17_high)
656 		 OR ( (Recinfo.segment17_high IS NULL)
657 		       AND (p_segment17_high IS NULL)))
658 	  AND ( (Recinfo.segment18_high = p_segment18_high)
659 		 OR ( (Recinfo.segment18_high IS NULL)
660 		       AND (p_segment18_high IS NULL)))
661 	  AND ( (Recinfo.segment19_high = p_segment19_high)
662 		 OR ( (Recinfo.segment19_high IS NULL)
663 		       AND (p_segment19_high IS NULL)))
664 	  AND ( (Recinfo.segment20_high = p_segment20_high)
665 		 OR ( (Recinfo.segment20_high IS NULL)
666 		       AND (p_segment20_high IS NULL)))
667 	  AND ( (Recinfo.segment21_high = p_segment21_high)
668 		 OR ( (Recinfo.segment21_high IS NULL)
669 		       AND (p_segment21_high IS NULL)))
673 	  AND ( (Recinfo.segment23_high = p_segment23_high)
670 	  AND ( (Recinfo.segment22_high = p_segment22_high)
671 		 OR ( (Recinfo.segment22_high IS NULL)
672 		       AND (p_segment22_high IS NULL)))
674 		 OR ( (Recinfo.segment23_high IS NULL)
675 		       AND (p_segment23_high IS NULL)))
676 	  AND ( (Recinfo.segment24_high = p_segment24_high)
677 		 OR ( (Recinfo.segment24_high IS NULL)
678 		       AND (p_segment24_high IS NULL)))
679 	  AND ( (Recinfo.segment25_high = p_segment25_high)
680 		 OR ( (Recinfo.segment25_high IS NULL)
681 		       AND (p_segment25_high IS NULL)))
682 	  AND ( (Recinfo.segment26_high = p_segment26_high)
683 		 OR ( (Recinfo.segment26_high IS NULL)
684 		       AND (p_segment26_high IS NULL)))
685 	  AND ( (Recinfo.segment27_high = p_segment27_high)
686 		 OR ( (Recinfo.segment27_high IS NULL)
687 		       AND (p_segment27_high IS NULL)))
688 	  AND ( (Recinfo.segment28_high = p_segment28_high)
689 		 OR ( (Recinfo.segment28_high IS NULL)
690 		       AND (p_segment28_high IS NULL)))
691 	  AND ( (Recinfo.segment29_high = p_segment29_high)
692 		 OR ( (Recinfo.segment29_high IS NULL)
693 		       AND (p_segment29_high IS NULL)))
694 	  AND ( (Recinfo.segment30_high = p_segment30_high)
695 		 OR ( (Recinfo.segment30_high IS NULL)
696 		       AND (p_segment30_high IS NULL)))
697 	  AND ( (Recinfo.context = p_context)
698 		 OR ( (Recinfo.context IS NULL)
699 		       AND (p_context IS NULL)))
700 	  AND ( (Recinfo.attribute1 = p_attribute1)
701 		 OR ( (Recinfo.attribute1 IS NULL)
702 		       AND (p_attribute1 IS NULL)))
703 	  AND ( (Recinfo.attribute2 = p_attribute2)
704 		 OR ( (Recinfo.attribute2 IS NULL)
705 		       AND (p_attribute2 IS NULL)))
706 	  AND ( (Recinfo.attribute3 = p_attribute3)
707 		 OR ( (Recinfo.attribute3 IS NULL)
708 		       AND (p_attribute3 IS NULL)))
709 	  AND ( (Recinfo.attribute4 = p_attribute4)
710 		 OR ( (Recinfo.attribute4 IS NULL)
711 		       AND (p_attribute4 IS NULL)))
712 	  AND ( (Recinfo.attribute5 = p_attribute5)
713 		 OR ( (Recinfo.attribute5 IS NULL)
714 		       AND (p_attribute5 IS NULL)))
715 	  AND ( (Recinfo.attribute6 = p_attribute6)
716 		 OR ( (Recinfo.attribute6 IS NULL)
717 		       AND (p_attribute6 IS NULL)))
718 	  AND ( (Recinfo.attribute7 = p_attribute7)
719 		 OR ( (Recinfo.attribute7 IS NULL)
720 		       AND (p_attribute7 IS NULL)))
721 	  AND ( (Recinfo.attribute8 = p_attribute8)
722 		 OR ( (Recinfo.attribute8 IS NULL)
723 		       AND (p_attribute8 IS NULL)))
724 	  AND ( (Recinfo.attribute9 = p_attribute9)
725 		 OR ( (Recinfo.attribute9 IS NULL)
726 		       AND (p_attribute9 IS NULL)))
727 	  AND ( (Recinfo.attribute10 = p_attribute10)
728 		 OR ( (Recinfo.attribute10 IS NULL)
729 		       AND (p_attribute10 IS NULL)))
730 	)
731   THEN
732     Null;
733   ELSE
734     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
735     FND_MSG_PUB.Add;
736     RAISE FND_API.G_EXC_ERROR ;
737   END IF;
738 
739   --
740   IF FND_API.To_Boolean ( p_commit ) THEN
741     COMMIT WORK;
742   END iF;
743   --
744   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
745 			      p_data  => p_msg_data );
746   --
747 EXCEPTION
748   --
749   WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
750     --
751     ROLLBACK TO Lock_Row_Pvt ;
752     p_row_locked := FND_API.G_FALSE;
753     p_return_status := FND_API.G_RET_STS_ERROR;
754     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
755 				p_data  => p_msg_data );
756   --
757   WHEN FND_API.G_EXC_ERROR THEN
758     --
759     ROLLBACK TO Lock_Row_Pvt ;
760     p_return_status := FND_API.G_RET_STS_ERROR;
761     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
762 				p_data  => p_msg_data );
763   --
764   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
765     ROLLBACK TO Lock_Row_Pvt ;
766     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
767     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
768 				p_data  => p_msg_data );
769   --
770   WHEN OTHERS THEN
771     --
772     ROLLBACK TO Lock_Row_Pvt ;
773     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
774     --
775     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
776       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
777 				l_api_name);
778     END if;
779     --
780     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
781 				p_data  => p_msg_data );
782   --
783 END Lock_Row;
784 /*-------------------------------------------------------------------------*/
785 
786 
787 
788 
789 /*==========================================================================+
790  |                       PROCEDURE Update_Row                               |
791  +==========================================================================*/
792 
793 PROCEDURE Update_Row
794 (
795   p_api_version               IN       NUMBER,
796   p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE,
797   p_commit                    IN       VARCHAR2 := FND_API.G_FALSE,
798   p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL,
799   p_return_status             OUT  NOCOPY      VARCHAR2,
800   p_msg_count                 OUT  NOCOPY      NUMBER,
801   p_msg_data                  OUT  NOCOPY      VARCHAR2,
802   --
806   p_Description               IN       VARCHAR2,
803   p_Row_Id                    IN       VARCHAR2,
804   p_Line_Sequence_Id          IN       NUMBER,
805   p_Account_Position_Set_Id   IN       NUMBER,
807   p_Business_Group_Id         IN       NUMBER,
808   p_Attribute_Id              IN       NUMBER,
809   p_Include_Or_Exclude_Type   IN       VARCHAR2,
810   p_Segment1_Low              IN       VARCHAR2,
811   p_Segment2_Low              IN       VARCHAR2,
812   p_Segment3_Low              IN       VARCHAR2,
813   p_Segment4_Low              IN       VARCHAR2,
814   p_Segment5_Low              IN       VARCHAR2,
815   p_Segment6_Low              IN       VARCHAR2,
816   p_Segment7_Low              IN       VARCHAR2,
817   p_Segment8_Low              IN       VARCHAR2,
818   p_Segment9_Low              IN       VARCHAR2,
819   p_Segment10_Low             IN       VARCHAR2,
820   p_Segment11_Low             IN       VARCHAR2,
821   p_Segment12_Low             IN       VARCHAR2,
822   p_Segment13_Low             IN       VARCHAR2,
823   p_Segment14_Low             IN       VARCHAR2,
824   p_Segment15_Low             IN       VARCHAR2,
825   p_Segment16_Low             IN       VARCHAR2,
826   p_Segment17_Low             IN       VARCHAR2,
827   p_Segment18_Low             IN       VARCHAR2,
828   p_Segment19_Low             IN       VARCHAR2,
829   p_Segment20_Low             IN       VARCHAR2,
830   p_Segment21_Low             IN       VARCHAR2,
831   p_Segment22_Low             IN       VARCHAR2,
832   p_Segment23_Low             IN       VARCHAR2,
833   p_Segment24_Low             IN       VARCHAR2,
834   p_Segment25_Low             IN       VARCHAR2,
835   p_Segment26_Low             IN       VARCHAR2,
836   p_Segment27_Low             IN       VARCHAR2,
837   p_Segment28_Low             IN       VARCHAR2,
838   p_Segment29_Low             IN       VARCHAR2,
839   p_Segment30_Low             IN       VARCHAR2,
840   p_Segment1_High             IN       VARCHAR2,
841   p_Segment2_High             IN       VARCHAR2,
842   p_Segment3_High             IN       VARCHAR2,
843   p_Segment4_High             IN       VARCHAR2,
844   p_Segment5_High             IN       VARCHAR2,
845   p_Segment6_High             IN       VARCHAR2,
846   p_Segment7_High             IN       VARCHAR2,
847   p_Segment8_High             IN       VARCHAR2,
848   p_Segment9_High             IN       VARCHAR2,
849   p_Segment10_High            IN       VARCHAR2,
850   p_Segment11_High            IN       VARCHAR2,
851   p_Segment12_High            IN       VARCHAR2,
852   p_Segment13_High            IN       VARCHAR2,
853   p_Segment14_High            IN       VARCHAR2,
854   p_Segment15_High            IN       VARCHAR2,
855   p_Segment16_High            IN       VARCHAR2,
856   p_Segment17_High            IN       VARCHAR2,
857   p_Segment18_High            IN       VARCHAR2,
858   p_Segment19_High            IN       VARCHAR2,
859   p_Segment20_High            IN       VARCHAR2,
860   p_Segment21_High            IN       VARCHAR2,
861   p_Segment22_High            IN       VARCHAR2,
862   p_Segment23_High            IN       VARCHAR2,
863   p_Segment24_High            IN       VARCHAR2,
864   p_Segment25_High            IN       VARCHAR2,
865   p_Segment26_High            IN       VARCHAR2,
866   p_Segment27_High            IN       VARCHAR2,
867   p_Segment28_High            IN       VARCHAR2,
868   p_Segment29_High            IN       VARCHAR2,
869   p_Segment30_High            IN       VARCHAR2,
870   p_context                   IN       VARCHAR2,
871   p_attribute1                IN       VARCHAR2,
872   p_attribute2                IN       VARCHAR2,
873   p_attribute3                IN       VARCHAR2,
874   p_attribute4                IN       VARCHAR2,
875   p_attribute5                IN       VARCHAR2,
876   p_attribute6                IN       VARCHAR2,
877   p_attribute7                IN       VARCHAR2,
878   p_attribute8                IN       VARCHAR2,
879   p_attribute9                IN       VARCHAR2,
880   p_attribute10               IN       VARCHAR2,
881   p_Last_Update_Date          IN       DATE,
882   p_Last_Updated_By           IN       NUMBER,
883   p_Last_Update_Login         IN       NUMBER
884 )
885 IS
886   --
887   l_api_name            CONSTANT VARCHAR2(30)   := 'Update_Row';
888   l_api_version         CONSTANT NUMBER         :=  1.0;
889   --
890 BEGIN
891   --
892   SAVEPOINT Update_Row_Pvt ;
893   --
894   IF NOT FND_API.Compatible_API_Call ( l_api_version,
895 				       p_api_version,
896 				       l_api_name,
897 				       G_PKG_NAME )
898   THEN
899     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
900   END IF;
901   --
902 
903   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
904     FND_MSG_PUB.initialize ;
905   END IF;
906   --
907   p_return_status := FND_API.G_RET_STS_SUCCESS ;
908   --
909 
910   UPDATE psb_account_position_set_lines
911   SET
912        line_sequence_id                =     p_Line_Sequence_Id,
913        account_position_set_id         =     p_Account_Position_Set_Id,
914        description                     =     p_Description,
915        business_group_id               =     p_Business_Group_Id,
916        attribute_id                    =     p_Attribute_Id,
917        include_or_exclude_type         =     p_Include_Or_Exclude_Type,
918        segment1_low                    =     p_Segment1_Low,
922        segment5_low                    =     p_Segment5_Low,
919        segment2_low                    =     p_Segment2_Low,
920        segment3_low                    =     p_Segment3_Low,
921        segment4_low                    =     p_Segment4_Low,
923        segment6_low                    =     p_Segment6_Low,
924        segment7_low                    =     p_Segment7_Low,
925        segment8_low                    =     p_Segment8_Low,
926        segment9_low                    =     p_Segment9_Low,
927        segment10_low                   =     p_Segment10_Low,
928        segment11_low                   =     p_Segment11_Low,
929        segment12_low                   =     p_Segment12_Low,
930        segment13_low                   =     p_Segment13_Low,
931        segment14_low                   =     p_Segment14_Low,
932        segment15_low                   =     p_Segment15_Low,
933        segment16_low                   =     p_Segment16_Low,
934        segment17_low                   =     p_Segment17_Low,
935        segment18_low                   =     p_Segment18_Low,
936        segment19_low                   =     p_Segment19_Low,
937        segment20_low                   =     p_Segment20_Low,
938        segment21_low                   =     p_Segment21_Low,
939        segment22_low                   =     p_Segment22_Low,
940        segment23_low                   =     p_Segment23_Low,
941        segment24_low                   =     p_Segment24_Low,
942        segment25_low                   =     p_Segment25_Low,
943        segment26_low                   =     p_Segment26_Low,
944        segment27_low                   =     p_Segment27_Low,
945        segment28_low                   =     p_Segment28_Low,
946        segment29_low                   =     p_Segment29_Low,
947        segment30_low                   =     p_Segment30_Low,
948        segment1_high                   =     p_Segment1_High,
949        segment2_high                   =     p_Segment2_High,
950        segment3_high                   =     p_Segment3_High,
951        segment4_high                   =     p_Segment4_High,
952        segment5_high                   =     p_Segment5_High,
953        segment6_high                   =     p_Segment6_High,
954        segment7_high                   =     p_Segment7_High,
955        segment8_high                   =     p_Segment8_High,
956        segment9_high                   =     p_Segment9_High,
957        segment10_high                  =     p_Segment10_High,
958        segment11_high                  =     p_Segment11_High,
959        segment12_high                  =     p_Segment12_High,
960        segment13_high                  =     p_Segment13_High,
961        segment14_high                  =     p_Segment14_High,
962        segment15_high                  =     p_Segment15_High,
963        segment16_high                  =     p_Segment16_High,
964        segment17_high                  =     p_Segment17_High,
965        segment18_high                  =     p_Segment18_High,
966        segment19_high                  =     p_Segment19_High,
967        segment20_high                  =     p_Segment20_High,
968        segment21_high                  =     p_Segment21_High,
969        segment22_high                  =     p_Segment22_High,
970        segment23_high                  =     p_Segment23_High,
971        segment24_high                  =     p_Segment24_High,
972        segment25_high                  =     p_Segment25_High,
973        segment26_high                  =     p_Segment26_High,
974        segment27_high                  =     p_Segment27_High,
975        segment28_high                  =     p_Segment28_High,
976        segment29_high                  =     p_Segment29_High,
977        segment30_high                  =     p_Segment30_High,
978        context                         =     p_Context,
979        attribute1                      =     p_Attribute1,
980        attribute2                      =     p_Attribute2,
981        attribute3                      =     p_Attribute3,
982        attribute4                      =     p_Attribute4,
983        attribute5                      =     p_Attribute5,
984        attribute6                      =     p_Attribute6,
985        attribute7                      =     p_Attribute7,
986        attribute8                      =     p_Attribute8,
987        attribute9                      =     p_Attribute9,
988        attribute10                     =     p_Attribute10,
989        last_update_date                =     p_Last_Update_Date,
990        last_updated_by                 =     p_Last_Updated_By,
991        last_update_login               =     p_Last_Update_Login
992   WHERE rowid = p_Row_Id;
993 
994   IF (SQL%NOTFOUND) THEN
995     RAISE NO_DATA_FOUND ;
996   END IF;
997   --
998   IF FND_API.To_Boolean ( p_commit ) THEN
999     COMMIT WORK;
1000   END iF;
1001   --
1002   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1003 			      p_data  => p_msg_data );
1004   --
1005 EXCEPTION
1006   --
1007   WHEN FND_API.G_EXC_ERROR THEN
1008     --
1009     ROLLBACK TO Update_Row_Pvt ;
1010     p_return_status := FND_API.G_RET_STS_ERROR;
1011     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1012 				p_data  => p_msg_data );
1013   --
1014   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1015     --
1019 				p_data  => p_msg_data );
1016     ROLLBACK TO Update_Row_Pvt ;
1017     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1018     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1020   --
1021   WHEN OTHERS THEN
1022     --
1023     ROLLBACK TO Update_Row_Pvt ;
1024     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1025     --
1026     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1027       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
1028 				l_api_name);
1029     END if;
1030     --
1031     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1032 				p_data  => p_msg_data );
1033   --
1034 END Update_Row;
1035 /*-------------------------------------------------------------------------*/
1036 
1037 
1038 
1039 
1040 /*==========================================================================+
1041  |                       PROCEDURE Delete_Row                               |
1042  +==========================================================================*/
1043 
1044 PROCEDURE Delete_Row
1045 (
1046   p_api_version               IN       NUMBER,
1047   p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE,
1048   p_commit                    IN       VARCHAR2 := FND_API.G_FALSE,
1049   p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL,
1050   p_return_status             OUT  NOCOPY      VARCHAR2,
1051   p_msg_count                 OUT  NOCOPY      NUMBER,
1052   p_msg_data                  OUT  NOCOPY      VARCHAR2,
1053   --
1054   p_Row_Id                    IN       VARCHAR2
1055 )
1056 IS
1057   --
1058   l_api_name            CONSTANT VARCHAR2(30)   := 'Delete_Row';
1059   l_api_version         CONSTANT NUMBER         :=  1.0;
1060   --
1061   l_line_sequence_id    psb_account_position_set_lines.line_sequence_id%TYPE;
1062   --
1063 BEGIN
1064   --
1065   SAVEPOINT Delete_Row_Pvt ;
1066   --
1067   IF NOT FND_API.Compatible_API_Call ( l_api_version,
1068 				       p_api_version,
1069 				       l_api_name,
1070 				       G_PKG_NAME )
1071   THEN
1072     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1073   END IF;
1074   --
1075 
1076   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
1077     FND_MSG_PUB.initialize ;
1078   END IF;
1079   --
1080   p_return_status := FND_API.G_RET_STS_SUCCESS ;
1081   --
1082 
1083   --
1084   -- Deleting dependent detail records from psb_position_set_line_values.
1085   -- ( To maintain ISOLATED master-detail form relation also. )
1086   -- Get the line_sequence_id to perform the delete.
1087   --
1088   SELECT line_sequence_id INTO l_line_sequence_id
1089   FROM   psb_account_position_set_lines
1090   WHERE  rowid = p_Row_Id ;
1091 
1092   DELETE psb_position_set_line_values
1093   WHERE  line_sequence_id = l_line_sequence_id ;
1094 
1095   --
1096   -- Deleting the record in psb_account_position_sets.
1097   --
1098   DELETE psb_account_position_set_lines
1099   WHERE  rowid = p_Row_Id;
1100 
1101   IF (SQL%NOTFOUND) THEN
1102     RAISE NO_DATA_FOUND ;
1103   END IF;
1104   --
1105   IF FND_API.To_Boolean ( p_commit ) THEN
1106     COMMIT WORK;
1107   END iF;
1108   --
1109   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1110 			      p_data  => p_msg_data );
1111 
1112 EXCEPTION
1113   --
1114   WHEN FND_API.G_EXC_ERROR THEN
1115     --
1116     ROLLBACK TO Delete_Row_Pvt ;
1117     p_return_status := FND_API.G_RET_STS_ERROR;
1118     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1119 				p_data  => p_msg_data );
1120   --
1121   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1122     --
1123     ROLLBACK TO Delete_Row_Pvt ;
1124     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1125     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1126 				p_data  => p_msg_data );
1127   --
1128   WHEN OTHERS THEN
1129     --
1130     ROLLBACK TO Delete_Row_Pvt ;
1131     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1132     --
1133     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1134       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
1135 				l_api_name);
1136     END if;
1137     --
1138     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1139 				p_data  => p_msg_data );
1140   --
1141 END Delete_Row;
1142 /*-------------------------------------------------------------------------*/
1143 
1144 
1145 END PSB_Acct_Position_Set_Line_PVT;