[Home] [Help]
PACKAGE BODY: APPS.IGI_DOS_DESTINATIONS_PKG
Source
1 PACKAGE BODY igi_dos_destinations_pkg AS
2 /* $Header: igidosmb.pls 120.5.12000000.2 2007/06/14 05:52:49 pshivara ship $ */
3
4 l_debug_level number := FND_LOG.G_CURRENT_RUNTIME_LEVEL ;
5
6 l_state_level number := FND_LOG.LEVEL_STATEMENT ;
7 l_proc_level number := FND_LOG.LEVEL_PROCEDURE ;
8 l_event_level number := FND_LOG.LEVEL_EVENT ;
9 l_excep_level number := FND_LOG.LEVEL_EXCEPTION ;
10 l_error_level number := FND_LOG.LEVEL_ERROR ;
11 l_unexp_level number := FND_LOG.LEVEL_UNEXPECTED ;
12
13 l_rowid VARCHAR2(25);
14 old_references igi_dos_destinations%ROWTYPE;
15 new_references igi_dos_destinations%ROWTYPE;
16
17 PROCEDURE set_column_values (
18 p_action IN VARCHAR2,
19 x_rowid IN VARCHAR2 ,
20 x_line_num IN NUMBER ,
21 x_dossier_id IN NUMBER ,
22 x_source_id IN NUMBER ,
23 x_destination_id IN NUMBER ,
24 x_sob_id IN NUMBER ,
25 x_coa_id IN NUMBER ,
26 x_budget IN VARCHAR2 ,
27 x_budget_entity_id IN NUMBER ,
28 x_budget_entity_name IN VARCHAR2 ,
29 x_segment1_low IN VARCHAR2 ,
30 x_segment1_high IN VARCHAR2 ,
31 x_segment2_low IN VARCHAR2 ,
32 x_segment2_high IN VARCHAR2 ,
33 x_segment3_low IN VARCHAR2 ,
34 x_segment3_high IN VARCHAR2 ,
35 x_segment4_low IN VARCHAR2 ,
36 x_segment4_high IN VARCHAR2 ,
37 x_segment5_low IN VARCHAR2 ,
38 x_segment5_high IN VARCHAR2 ,
39 x_segment6_low IN VARCHAR2 ,
40 x_segment6_high IN VARCHAR2 ,
41 x_segment7_high IN VARCHAR2 ,
42 x_segment7_low IN VARCHAR2 ,
43 x_segment8_high IN VARCHAR2 ,
44 x_segment8_low IN VARCHAR2 ,
45 x_segment9_high IN VARCHAR2 ,
46 x_segment9_low IN VARCHAR2 ,
47 x_segment10_high IN VARCHAR2 ,
48 x_segment10_low IN VARCHAR2 ,
49 x_segment11_high IN VARCHAR2 ,
50 x_segment11_low IN VARCHAR2 ,
51 x_segment12_high IN VARCHAR2 ,
52 x_segment12_low IN VARCHAR2 ,
53 x_segment13_high IN VARCHAR2 ,
54 x_segment13_low IN VARCHAR2 ,
55 x_segment14_high IN VARCHAR2 ,
56 x_segment14_low IN VARCHAR2 ,
57 x_segment15_high IN VARCHAR2 ,
58 x_segment15_low IN VARCHAR2 ,
59 x_segment16_high IN VARCHAR2 ,
60 x_segment16_low IN VARCHAR2 ,
61 x_segment17_high IN VARCHAR2 ,
62 x_segment17_low IN VARCHAR2 ,
63 x_segment18_high IN VARCHAR2 ,
64 x_segment18_low IN VARCHAR2 ,
65 x_segment19_high IN VARCHAR2 ,
66 x_segment19_low IN VARCHAR2 ,
67 x_segment20_high IN VARCHAR2 ,
68 x_segment20_low IN VARCHAR2 ,
69 x_segment21_high IN VARCHAR2 ,
70 x_segment21_low IN VARCHAR2 ,
71 x_segment22_high IN VARCHAR2 ,
72 x_segment22_low IN VARCHAR2 ,
73 x_segment23_high IN VARCHAR2 ,
74 x_segment23_low IN VARCHAR2 ,
75 x_segment24_high IN VARCHAR2 ,
76 x_segment24_low IN VARCHAR2 ,
77 x_segment25_low IN VARCHAR2 ,
78 x_segment25_high IN VARCHAR2 ,
79 x_segment26_low IN VARCHAR2 ,
80 x_segment26_high IN VARCHAR2 ,
81 x_segment27_low IN VARCHAR2 ,
82 x_segment27_high IN VARCHAR2 ,
83 x_segment28_low IN VARCHAR2 ,
84 x_segment28_high IN VARCHAR2 ,
85 x_segment29_low IN VARCHAR2 ,
86 x_segment29_high IN VARCHAR2 ,
87 x_segment30_low IN VARCHAR2 ,
88 x_segment30_high IN VARCHAR2 ,
89 x_segments_low_ccid IN NUMBER ,
90 x_segments_high_ccid IN NUMBER ,
91 x_segments_low_ccid_desc IN VARCHAR2 ,
92 x_segments_high_ccid_desc IN VARCHAR2 ,
93 x_budget_version_id IN NUMBER ,
94 x_creation_date IN DATE ,
95 x_created_by IN NUMBER ,
96 x_last_update_date IN DATE ,
97 x_last_updated_by IN NUMBER ,
98 x_last_update_login IN NUMBER ) AS
99 /*
100 || Created By : [email protected]
101 || Created On : 18-APR-2002
102 || Purpose : Initialises the Old and New references for the columns of the table.
103 || Known limitations, enhancements or remarks :
104 || Change History :
105 || Who When What
106 || (reverse chronological order - newest change first)
107 */
108
109 CURSOR cur_old_ref_values IS
110 SELECT *
111 FROM igi_dos_destinations
112 WHERE rowid = x_rowid;
113
114 BEGIN
115
116 l_rowid := x_rowid;
117
118 -- Code for setting the Old and New Reference Values.
119 -- Populate Old Values.
120 OPEN cur_old_ref_values;
121 FETCH cur_old_ref_values INTO old_references;
122 IF ((cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT'))) THEN
123 CLOSE cur_old_ref_values;
124 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
125 -- bug 3199481, start block
126 IF (l_unexp_level >= l_debug_level) THEN
127 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.set_column_values.Msg1',FALSE);
128 END IF;
129 -- bug 3199481, end block
130 app_exception.raise_exception;
131 RETURN;
132 END IF;
133 CLOSE cur_old_ref_values;
134
135 -- Populate New Values.
136 new_references.line_num := x_line_num;
137 new_references.dossier_id := x_dossier_id;
138 new_references.source_id := x_source_id;
139 new_references.destination_id := x_destination_id;
140 new_references.sob_id := x_sob_id;
141 new_references.coa_id := x_coa_id;
142 new_references.budget := x_budget;
143 new_references.budget_entity_id := x_budget_entity_id;
144 new_references.budget_entity_name := x_budget_entity_name;
145 new_references.segment1_low := x_segment1_low;
146 new_references.segment1_high := x_segment1_high;
147 new_references.segment2_low := x_segment2_low;
148 new_references.segment2_high := x_segment2_high;
149 new_references.segment3_low := x_segment3_low;
150 new_references.segment3_high := x_segment3_high;
151 new_references.segment4_low := x_segment4_low;
152 new_references.segment4_high := x_segment4_high;
153 new_references.segment5_low := x_segment5_low;
154 new_references.segment5_high := x_segment5_high;
155 new_references.segment6_low := x_segment6_low;
156 new_references.segment6_high := x_segment6_high;
157 new_references.segment7_high := x_segment7_high;
158 new_references.segment7_low := x_segment7_low;
159 new_references.segment8_high := x_segment8_high;
160 new_references.segment8_low := x_segment8_low;
161 new_references.segment9_high := x_segment9_high;
162 new_references.segment9_low := x_segment9_low;
163 new_references.segment10_high := x_segment10_high;
164 new_references.segment10_low := x_segment10_low;
165 new_references.segment11_high := x_segment11_high;
166 new_references.segment11_low := x_segment11_low;
167 new_references.segment12_high := x_segment12_high;
168 new_references.segment12_low := x_segment12_low;
169 new_references.segment13_high := x_segment13_high;
170 new_references.segment13_low := x_segment13_low;
171 new_references.segment14_high := x_segment14_high;
172 new_references.segment14_low := x_segment14_low;
173 new_references.segment15_high := x_segment15_high;
174 new_references.segment15_low := x_segment15_low;
175 new_references.segment16_high := x_segment16_high;
176 new_references.segment16_low := x_segment16_low;
177 new_references.segment17_high := x_segment17_high;
178 new_references.segment17_low := x_segment17_low;
179 new_references.segment18_high := x_segment18_high;
180 new_references.segment18_low := x_segment18_low;
181 new_references.segment19_high := x_segment19_high;
182 new_references.segment19_low := x_segment19_low;
183 new_references.segment20_high := x_segment20_high;
184 new_references.segment20_low := x_segment20_low;
185 new_references.segment21_high := x_segment21_high;
186 new_references.segment21_low := x_segment21_low;
187 new_references.segment22_high := x_segment22_high;
188 new_references.segment22_low := x_segment22_low;
189 new_references.segment23_high := x_segment23_high;
190 new_references.segment23_low := x_segment23_low;
191 new_references.segment24_high := x_segment24_high;
192 new_references.segment24_low := x_segment24_low;
193 new_references.segment25_low := x_segment25_low;
194 new_references.segment25_high := x_segment25_high;
195 new_references.segment26_low := x_segment26_low;
196 new_references.segment26_high := x_segment26_high;
197 new_references.segment27_low := x_segment27_low;
198 new_references.segment27_high := x_segment27_high;
199 new_references.segment28_low := x_segment28_low;
200 new_references.segment28_high := x_segment28_high;
201 new_references.segment29_low := x_segment29_low;
202 new_references.segment29_high := x_segment29_high;
203 new_references.segment30_low := x_segment30_low;
204 new_references.segment30_high := x_segment30_high;
205 new_references.segments_low_ccid := x_segments_low_ccid;
206 new_references.segments_high_ccid := x_segments_high_ccid;
207 new_references.segments_low_ccid_desc := x_segments_low_ccid_desc;
208 new_references.segments_high_ccid_desc := x_segments_high_ccid_desc;
209 new_references.budget_version_id := x_budget_version_id;
210
211 IF (p_action = 'UPDATE') THEN
212 new_references.creation_date := old_references.creation_date;
213 new_references.created_by := old_references.created_by;
214 ELSE
215 new_references.creation_date := x_creation_date;
216 new_references.created_by := x_created_by;
217 END IF;
218
219 new_references.last_update_date := x_last_update_date;
220 new_references.last_updated_by := x_last_updated_by;
221 new_references.last_update_login := x_last_update_login;
222
223 END set_column_values;
224
225
226 PROCEDURE check_parent_existance AS
227 /*
228 || Created By : [email protected]
229 || Created On : 18-APR-2002
230 || Purpose : Checks for the existance of Parent records.
231 || Known limitations, enhancements or remarks :
232 || Change History :
233 || Who When What
234 || (reverse chronological order - newest change first)
235 */
236 BEGIN
237
238 IF (((old_references.dossier_id = new_references.dossier_id)) OR
239 ((new_references.dossier_id IS NULL))) THEN
240 NULL;
241 ELSIF NOT igi_dos_doc_types_pkg.get_pk_for_validation (
242 new_references.dossier_id
243 ) THEN
244 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
245 -- bug 3199481, start block
246 IF (l_unexp_level >= l_debug_level) THEN
247 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.check_parent_existance.Msg1',FALSE);
248 END IF;
249 -- bug 3199481, end block
250 app_exception.raise_exception;
251 END IF;
252
253 IF (((old_references.source_id = new_references.source_id)) OR
254 ((new_references.source_id IS NULL))) THEN
255 NULL;
256 ELSIF NOT igi_dos_sources_pkg.get_pk_for_validation (
257 new_references.source_id
258 ) THEN
259 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
260 -- bug 3199481, start block
261 IF (l_unexp_level >= l_debug_level) THEN
262 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.check_parent_existance.Msg2',FALSE);
263 END IF;
264 -- bug 3199481, end block
265 app_exception.raise_exception;
266 END IF;
267
268 END check_parent_existance;
269
270
271 PROCEDURE check_child_existance AS
272 /*
273 || Created By : [email protected]
274 || Created On : 18-APR-2002
275 || Purpose : Checks for the existance of Child records.
276 || Known limitations, enhancements or remarks :
277 || Change History :
278 || Who When What
279 || (reverse chronological order - newest change first)
280 */
281 BEGIN
282
283
284 igi_dos_destination_usages_pkg.get_fk_igi_dos_destinations (
285 old_references.destination_id
286 );
287
288
289 END check_child_existance;
290
291
292 FUNCTION get_pk_for_validation (
293 x_destination_id IN NUMBER
294 ) RETURN BOOLEAN AS
295 /*
296 || Created By : [email protected]
297 || Created On : 18-APR-2002
298 || Purpose : Validates the Primary Key of the table.
299 || Known limitations, enhancements or remarks :
300 || Change History :
301 || Who When What
302 || (reverse chronological order - newest change first)
303 */
304 CURSOR cur_rowid IS
305 SELECT rowid
306 FROM igi_dos_destinations
307 WHERE destination_id = x_destination_id
308 FOR UPDATE NOWAIT;
309
310 lv_rowid cur_rowid%RowType;
311
312 BEGIN
313
314 OPEN cur_rowid;
315 FETCH cur_rowid INTO lv_rowid;
316 IF (cur_rowid%FOUND) THEN
317 CLOSE cur_rowid;
318 RETURN(TRUE);
319 ELSE
320 CLOSE cur_rowid;
321 RETURN(FALSE);
322 END IF;
323
324 END get_pk_for_validation;
325
326
327 PROCEDURE get_fk_igi_dos_doc_types (
328 x_dossier_id IN NUMBER
329 ) AS
330 /*
331 || Created By : [email protected]
332 || Created On : 18-APR-2002
333 || Purpose : Validates the Foreign Keys for the table.
334 || Known limitations, enhancements or remarks :
335 || Change History :
336 || Who When What
337 || (reverse chronological order - newest change first)
338 */
339 CURSOR cur_rowid IS
340 SELECT rowid
341 FROM igi_dos_destinations
342 WHERE ((dossier_id = x_dossier_id));
343
344 lv_rowid cur_rowid%RowType;
345
346 BEGIN
347
348 OPEN cur_rowid;
349 FETCH cur_rowid INTO lv_rowid;
350 IF (cur_rowid%FOUND) THEN
351 CLOSE cur_rowid;
352 fnd_message.set_name ('FND', 'FND-CANNOT DELETE MASTER');
353 -- bug 3199481, start block
354 IF (l_unexp_level >= l_debug_level) THEN
355 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.get_fk_igi_dos_doc_types.Msg1',FALSE);
356 END IF;
357 -- bug 3199481, end block
358 app_exception.raise_exception;
359 RETURN;
360 END IF;
361 CLOSE cur_rowid;
362
363 END get_fk_igi_dos_doc_types;
364
365
366 PROCEDURE get_fk_igi_dos_sources (
367 x_source_id IN NUMBER
368 ) AS
369 /*
373 || Known limitations, enhancements or remarks :
370 || Created By : [email protected]
371 || Created On : 18-APR-2002
372 || Purpose : Validates the Foreign Keys for the table.
374 || Change History :
375 || Who When What
376 || (reverse chronological order - newest change first)
377 */
378 CURSOR cur_rowid IS
379 SELECT rowid
380 FROM igi_dos_destinations
381 WHERE ((source_id = x_source_id));
382
383 lv_rowid cur_rowid%RowType;
384
385 BEGIN
386
387 OPEN cur_rowid;
388 FETCH cur_rowid INTO lv_rowid;
389 IF (cur_rowid%FOUND) THEN
390 CLOSE cur_rowid;
391 fnd_message.set_name ('FND', 'FND-CANNOT DELETE MASTER');
392 -- bug 3199481, start block
393 IF (l_unexp_level >= l_debug_level) THEN
394 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.get_fk_igi_dos_sources.Msg1',FALSE);
395 END IF;
396 -- bug 3199481, end block
397 app_exception.raise_exception;
398 RETURN;
399 END IF;
400 CLOSE cur_rowid;
401
402 END get_fk_igi_dos_sources;
403
404
405 PROCEDURE before_dml (
406 p_action IN VARCHAR2,
407 x_rowid IN VARCHAR2 ,
408 x_line_num IN NUMBER ,
409 x_dossier_id IN NUMBER ,
410 x_source_id IN NUMBER ,
411 x_destination_id IN NUMBER ,
412 x_sob_id IN NUMBER ,
413 x_coa_id IN NUMBER ,
414 x_budget IN VARCHAR2 ,
415 x_budget_entity_id IN NUMBER ,
416 x_budget_entity_name IN VARCHAR2 ,
417 x_segment1_low IN VARCHAR2 ,
418 x_segment1_high IN VARCHAR2 ,
419 x_segment2_low IN VARCHAR2 ,
420 x_segment2_high IN VARCHAR2 ,
421 x_segment3_low IN VARCHAR2 ,
422 x_segment3_high IN VARCHAR2 ,
423 x_segment4_low IN VARCHAR2 ,
427 x_segment6_low IN VARCHAR2 ,
424 x_segment4_high IN VARCHAR2 ,
425 x_segment5_low IN VARCHAR2 ,
426 x_segment5_high IN VARCHAR2 ,
428 x_segment6_high IN VARCHAR2 ,
429 x_segment7_high IN VARCHAR2 ,
430 x_segment7_low IN VARCHAR2 ,
431 x_segment8_high IN VARCHAR2 ,
432 x_segment8_low IN VARCHAR2 ,
433 x_segment9_high IN VARCHAR2 ,
434 x_segment9_low IN VARCHAR2 ,
435 x_segment10_high IN VARCHAR2 ,
436 x_segment10_low IN VARCHAR2 ,
437 x_segment11_high IN VARCHAR2 ,
438 x_segment11_low IN VARCHAR2 ,
439 x_segment12_high IN VARCHAR2 ,
440 x_segment12_low IN VARCHAR2 ,
441 x_segment13_high IN VARCHAR2 ,
442 x_segment13_low IN VARCHAR2 ,
443 x_segment14_high IN VARCHAR2 ,
444 x_segment14_low IN VARCHAR2 ,
445 x_segment15_high IN VARCHAR2 ,
446 x_segment15_low IN VARCHAR2 ,
447 x_segment16_high IN VARCHAR2 ,
448 x_segment16_low IN VARCHAR2 ,
449 x_segment17_high IN VARCHAR2 ,
450 x_segment17_low IN VARCHAR2 ,
451 x_segment18_high IN VARCHAR2 ,
452 x_segment18_low IN VARCHAR2 ,
453 x_segment19_high IN VARCHAR2 ,
454 x_segment19_low IN VARCHAR2 ,
455 x_segment20_high IN VARCHAR2 ,
456 x_segment20_low IN VARCHAR2 ,
457 x_segment21_high IN VARCHAR2 ,
458 x_segment21_low IN VARCHAR2 ,
459 x_segment22_high IN VARCHAR2 ,
460 x_segment22_low IN VARCHAR2 ,
461 x_segment23_high IN VARCHAR2 ,
462 x_segment23_low IN VARCHAR2 ,
466 x_segment25_high IN VARCHAR2 ,
463 x_segment24_high IN VARCHAR2 ,
464 x_segment24_low IN VARCHAR2 ,
465 x_segment25_low IN VARCHAR2 ,
467 x_segment26_low IN VARCHAR2 ,
468 x_segment26_high IN VARCHAR2 ,
469 x_segment27_low IN VARCHAR2 ,
470 x_segment27_high IN VARCHAR2 ,
471 x_segment28_low IN VARCHAR2 ,
472 x_segment28_high IN VARCHAR2 ,
473 x_segment29_low IN VARCHAR2 ,
474 x_segment29_high IN VARCHAR2 ,
475 x_segment30_low IN VARCHAR2 ,
476 x_segment30_high IN VARCHAR2 ,
477 x_segments_low_ccid IN NUMBER ,
478 x_segments_high_ccid IN NUMBER ,
479 x_segments_low_ccid_desc IN VARCHAR2 ,
480 x_segments_high_ccid_desc IN VARCHAR2 ,
481 x_budget_version_id IN NUMBER ,
482 x_creation_date IN DATE ,
483 x_created_by IN NUMBER ,
484 x_last_update_date IN DATE ,
485 x_last_updated_by IN NUMBER ,
486 x_last_update_login IN NUMBER ) AS
487 /*
488 || Created By : [email protected]
489 || Created On : 18-APR-2002
490 || Purpose : Initialises the columns, Checks Constraints, Calls the
491 || Trigger Handlers for the table, before any DML operation.
492 || Known limitations, enhancements or remarks :
493 || Change History :
494 || Who When What
495 || (reverse chronological order - newest change first)
496 */
497 BEGIN
498
499 set_column_values (
500 p_action,
501 x_rowid,
502 x_line_num,
503 x_dossier_id,
504 x_source_id,
505 x_destination_id,
506 x_sob_id,
507 x_coa_id,
508 x_budget,
509 x_budget_entity_id,
510 x_budget_entity_name,
511 x_segment1_low,
512 x_segment1_high,
513 x_segment2_low,
514 x_segment2_high,
515 x_segment3_low,
516 x_segment3_high,
517 x_segment4_low,
518 x_segment4_high,
519 x_segment5_low,
520 x_segment5_high,
521 x_segment6_low,
522 x_segment6_high,
523 x_segment7_high,
524 x_segment7_low,
525 x_segment8_high,
526 x_segment8_low,
527 x_segment9_high,
528 x_segment9_low,
529 x_segment10_high,
530 x_segment10_low,
531 x_segment11_high,
532 x_segment11_low,
533 x_segment12_high,
534 x_segment12_low,
535 x_segment13_high,
536 x_segment13_low,
537 x_segment14_high,
538 x_segment14_low,
539 x_segment15_high,
540 x_segment15_low,
541 x_segment16_high,
542 x_segment16_low,
543 x_segment17_high,
544 x_segment17_low,
545 x_segment18_high,
546 x_segment18_low,
547 x_segment19_high,
548 x_segment19_low,
549 x_segment20_high,
550 x_segment20_low,
551 x_segment21_high,
552 x_segment21_low,
553 x_segment22_high,
554 x_segment22_low,
555 x_segment23_high,
556 x_segment23_low,
557 x_segment24_high,
558 x_segment24_low,
559 x_segment25_low,
560 x_segment25_high,
561 x_segment26_low,
562 x_segment26_high,
563 x_segment27_low,
564 x_segment27_high,
565 x_segment28_low,
566 x_segment28_high,
567 x_segment29_low,
568 x_segment29_high,
569 x_segment30_low,
570 x_segment30_high,
571 x_segments_low_ccid,
572 x_segments_high_ccid,
573 x_segments_low_ccid_desc,
574 x_segments_high_ccid_desc,
575 x_budget_version_id,
576 x_creation_date,
577 x_created_by,
578 x_last_update_date,
579 x_last_updated_by,
580 x_last_update_login
581 );
582
583 IF (p_action = 'INSERT') THEN
584 -- Call all the procedures related to Before Insert.
585 IF ( get_pk_for_validation(
586 new_references.destination_id
587 )
588 ) THEN
589 fnd_message.set_name('FND','FORM_DUPLICATE_KEY_IN_INDEX');
590 -- bug 3199481, start block
591 IF (l_unexp_level >= l_debug_level) THEN
592 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.beforedml.Msg1',FALSE);
593 END IF;
594 -- bug 3199481, end block
595 app_exception.raise_exception;
596 END IF;
597 check_parent_existance;
601 ELSIF (p_action = 'DELETE') THEN
598 ELSIF (p_action = 'UPDATE') THEN
599 -- Call all the procedures related to Before Update.
600 check_parent_existance;
602 -- Call all the procedures related to Before Delete.
603 check_child_existance;
604 ELSIF (p_action = 'VALIDATE_INSERT') THEN
605 -- Call all the procedures related to Before Insert.
606 IF ( get_pk_for_validation (
607 new_references.destination_id
608 )
609 ) THEN
610 fnd_message.set_name('FND','FORM_DUPLICATE_KEY_IN_INDEX');
611 -- bug 3199481, start block
612 IF (l_unexp_level >= l_debug_level) THEN
613 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.beforedml.Msg2',FALSE);
614 END IF;
615 -- bug 3199481, end block
616 app_exception.raise_exception;
617 END IF;
618 ELSIF (p_action = 'VALIDATE_DELETE') THEN
619 check_child_existance;
620 END IF;
621
622 END before_dml;
623
624
625 PROCEDURE insert_row (
626 x_rowid IN OUT NOCOPY VARCHAR2,
627 x_line_num IN NUMBER,
628 x_dossier_id IN NUMBER,
629 x_source_id IN NUMBER,
630 x_destination_id IN OUT NOCOPY NUMBER,
631 x_sob_id IN NUMBER,
632 x_coa_id IN NUMBER,
633 x_budget IN VARCHAR2,
634 x_budget_entity_id IN NUMBER,
635 x_budget_entity_name IN VARCHAR2,
636 x_segment1_low IN VARCHAR2,
637 x_segment1_high IN VARCHAR2,
638 x_segment2_low IN VARCHAR2,
639 x_segment2_high IN VARCHAR2,
640 x_segment3_low IN VARCHAR2,
641 x_segment3_high IN VARCHAR2,
642 x_segment4_low IN VARCHAR2,
643 x_segment4_high IN VARCHAR2,
644 x_segment5_low IN VARCHAR2,
645 x_segment5_high IN VARCHAR2,
646 x_segment6_low IN VARCHAR2,
647 x_segment6_high IN VARCHAR2,
648 x_segment7_high IN VARCHAR2,
649 x_segment7_low IN VARCHAR2,
650 x_segment8_high IN VARCHAR2,
651 x_segment8_low IN VARCHAR2,
652 x_segment9_high IN VARCHAR2,
653 x_segment9_low IN VARCHAR2,
654 x_segment10_high IN VARCHAR2,
655 x_segment10_low IN VARCHAR2,
656 x_segment11_high IN VARCHAR2,
657 x_segment11_low IN VARCHAR2,
658 x_segment12_high IN VARCHAR2,
659 x_segment12_low IN VARCHAR2,
660 x_segment13_high IN VARCHAR2,
661 x_segment13_low IN VARCHAR2,
662 x_segment14_high IN VARCHAR2,
663 x_segment14_low IN VARCHAR2,
664 x_segment15_high IN VARCHAR2,
665 x_segment15_low IN VARCHAR2,
666 x_segment16_high IN VARCHAR2,
667 x_segment16_low IN VARCHAR2,
668 x_segment17_high IN VARCHAR2,
669 x_segment17_low IN VARCHAR2,
670 x_segment18_high IN VARCHAR2,
671 x_segment18_low IN VARCHAR2,
672 x_segment19_high IN VARCHAR2,
673 x_segment19_low IN VARCHAR2,
674 x_segment20_high IN VARCHAR2,
675 x_segment20_low IN VARCHAR2,
676 x_segment21_high IN VARCHAR2,
677 x_segment21_low IN VARCHAR2,
678 x_segment22_high IN VARCHAR2,
679 x_segment22_low IN VARCHAR2,
680 x_segment23_high IN VARCHAR2,
681 x_segment23_low IN VARCHAR2,
682 x_segment24_high IN VARCHAR2,
683 x_segment24_low IN VARCHAR2,
684 x_segment25_low IN VARCHAR2,
685 x_segment25_high IN VARCHAR2,
686 x_segment26_low IN VARCHAR2,
687 x_segment26_high IN VARCHAR2,
688 x_segment27_low IN VARCHAR2,
689 x_segment27_high IN VARCHAR2,
690 x_segment28_low IN VARCHAR2,
691 x_segment28_high IN VARCHAR2,
692 x_segment29_low IN VARCHAR2,
693 x_segment29_high IN VARCHAR2,
694 x_segment30_low IN VARCHAR2,
695 x_segment30_high IN VARCHAR2,
696 x_segments_low_ccid IN NUMBER,
697 x_segments_high_ccid IN NUMBER,
698 x_segments_low_ccid_desc IN VARCHAR2,
699 x_segments_high_ccid_desc IN VARCHAR2,
700 x_budget_version_id IN NUMBER,
701 x_mode IN VARCHAR2 ) AS
702 /*
703 || Created By : [email protected]
704 || Created On : 18-APR-2002
705 || Purpose : Handles the INSERT DML logic for the table.
706 || Known limitations, enhancements or remarks :
707 || Change History :
708 || Who When What
709 || (reverse chronological order - newest change first)
710 */
711 CURSOR c IS
712 SELECT rowid
713 FROM igi_dos_destinations
714 WHERE destination_id = x_destination_id;
715
716 x_last_update_date DATE;
717 x_last_updated_by NUMBER;
718 x_last_update_login NUMBER;
719
720 BEGIN
721
722 x_last_update_date := SYSDATE;
723 IF (x_mode = 'I') THEN
724 x_last_updated_by := 1;
725 x_last_update_login := 0;
726 ELSIF (x_mode = 'R') THEN
727 x_last_updated_by := fnd_global.user_id;
728 IF (x_last_updated_by IS NULL) THEN
729 x_last_updated_by := -1;
730 END IF;
731 x_last_update_login := fnd_global.login_id;
732 IF (x_last_update_login IS NULL) THEN
733 x_last_update_login := -1;
734 END IF;
735 ELSE
736 fnd_message.set_name ('FND', 'SYSTEM-INVALID ARGS');
737 -- bug 3199481, start block
738 IF (l_unexp_level >= l_debug_level) THEN
739 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.insert_row.Msg1',FALSE);
740 END IF;
741 -- bug 3199481, end block
742 app_exception.raise_exception;
743 END IF;
744
745 SELECT igi_dos_destinations_s.NEXTVAL
746 INTO x_destination_id
747 FROM dual;
748
749 before_dml(
750 p_action => 'INSERT',
751 x_rowid => x_rowid,
752 x_line_num => x_line_num,
753 x_dossier_id => x_dossier_id,
754 x_source_id => x_source_id,
755 x_destination_id => x_destination_id,
756 x_sob_id => x_sob_id,
757 x_coa_id => x_coa_id,
758 x_budget => x_budget,
759 x_budget_entity_id => x_budget_entity_id,
760 x_budget_entity_name => x_budget_entity_name,
761 x_segment1_low => x_segment1_low,
762 x_segment1_high => x_segment1_high,
763 x_segment2_low => x_segment2_low,
764 x_segment2_high => x_segment2_high,
765 x_segment3_low => x_segment3_low,
766 x_segment3_high => x_segment3_high,
767 x_segment4_low => x_segment4_low,
768 x_segment4_high => x_segment4_high,
769 x_segment5_low => x_segment5_low,
770 x_segment5_high => x_segment5_high,
771 x_segment6_low => x_segment6_low,
772 x_segment6_high => x_segment6_high,
773 x_segment7_high => x_segment7_high,
774 x_segment7_low => x_segment7_low,
775 x_segment8_high => x_segment8_high,
776 x_segment8_low => x_segment8_low,
777 x_segment9_high => x_segment9_high,
778 x_segment9_low => x_segment9_low,
779 x_segment10_high => x_segment10_high,
780 x_segment10_low => x_segment10_low,
781 x_segment11_high => x_segment11_high,
782 x_segment11_low => x_segment11_low,
783 x_segment12_high => x_segment12_high,
784 x_segment12_low => x_segment12_low,
785 x_segment13_high => x_segment13_high,
786 x_segment13_low => x_segment13_low,
787 x_segment14_high => x_segment14_high,
788 x_segment14_low => x_segment14_low,
789 x_segment15_high => x_segment15_high,
790 x_segment15_low => x_segment15_low,
791 x_segment16_high => x_segment16_high,
792 x_segment16_low => x_segment16_low,
793 x_segment17_high => x_segment17_high,
794 x_segment17_low => x_segment17_low,
795 x_segment18_high => x_segment18_high,
796 x_segment18_low => x_segment18_low,
797 x_segment19_high => x_segment19_high,
798 x_segment19_low => x_segment19_low,
799 x_segment20_high => x_segment20_high,
800 x_segment20_low => x_segment20_low,
801 x_segment21_high => x_segment21_high,
802 x_segment21_low => x_segment21_low,
803 x_segment22_high => x_segment22_high,
804 x_segment22_low => x_segment22_low,
805 x_segment23_high => x_segment23_high,
806 x_segment23_low => x_segment23_low,
807 x_segment24_high => x_segment24_high,
808 x_segment24_low => x_segment24_low,
809 x_segment25_low => x_segment25_low,
810 x_segment25_high => x_segment25_high,
811 x_segment26_low => x_segment26_low,
812 x_segment26_high => x_segment26_high,
813 x_segment27_low => x_segment27_low,
814 x_segment27_high => x_segment27_high,
818 x_segment29_high => x_segment29_high,
815 x_segment28_low => x_segment28_low,
816 x_segment28_high => x_segment28_high,
817 x_segment29_low => x_segment29_low,
819 x_segment30_low => x_segment30_low,
820 x_segment30_high => x_segment30_high,
821 x_segments_low_ccid => x_segments_low_ccid,
822 x_segments_high_ccid => x_segments_high_ccid,
823 x_segments_low_ccid_desc => x_segments_low_ccid_desc,
824 x_segments_high_ccid_desc => x_segments_high_ccid_desc,
825 x_budget_version_id => x_budget_version_id,
826 x_creation_date => x_last_update_date,
827 x_created_by => x_last_updated_by,
828 x_last_update_date => x_last_update_date,
829 x_last_updated_by => x_last_updated_by,
830 x_last_update_login => x_last_update_login
831 );
832
833 INSERT INTO igi_dos_destinations (
834 line_num,
835 dossier_id,
836 source_id,
837 destination_id,
838 sob_id,
839 coa_id,
840 budget,
841 budget_entity_id,
842 budget_entity_name,
843 segment1_low,
844 segment1_high,
845 segment2_low,
846 segment2_high,
847 segment3_low,
848 segment3_high,
849 segment4_low,
850 segment4_high,
851 segment5_low,
852 segment5_high,
853 segment6_low,
854 segment6_high,
855 segment7_high,
856 segment7_low,
857 segment8_high,
858 segment8_low,
859 segment9_high,
860 segment9_low,
861 segment10_high,
862 segment10_low,
863 segment11_high,
864 segment11_low,
865 segment12_high,
866 segment12_low,
867 segment13_high,
868 segment13_low,
869 segment14_high,
870 segment14_low,
871 segment15_high,
872 segment15_low,
873 segment16_high,
874 segment16_low,
875 segment17_high,
876 segment17_low,
877 segment18_high,
878 segment18_low,
879 segment19_high,
880 segment19_low,
881 segment20_high,
882 segment20_low,
883 segment21_high,
884 segment21_low,
885 segment22_high,
886 segment22_low,
887 segment23_high,
888 segment23_low,
889 segment24_high,
890 segment24_low,
891 segment25_low,
892 segment25_high,
893 segment26_low,
894 segment26_high,
895 segment27_low,
896 segment27_high,
897 segment28_low,
898 segment28_high,
899 segment29_low,
900 segment29_high,
901 segment30_low,
902 segment30_high,
903 segments_low_ccid,
904 segments_high_ccid,
905 segments_low_ccid_desc,
906 segments_high_ccid_desc,
907 budget_version_id,
908 creation_date,
909 created_by,
910 last_update_date,
911 last_updated_by,
912 last_update_login
913 ) VALUES (
914 new_references.line_num,
915 new_references.dossier_id,
916 new_references.source_id,
917 new_references.destination_id,
918 new_references.sob_id,
919 new_references.coa_id,
920 new_references.budget,
921 new_references.budget_entity_id,
922 new_references.budget_entity_name,
923 new_references.segment1_low,
924 new_references.segment1_high,
925 new_references.segment2_low,
926 new_references.segment2_high,
927 new_references.segment3_low,
928 new_references.segment3_high,
929 new_references.segment4_low,
930 new_references.segment4_high,
931 new_references.segment5_low,
932 new_references.segment5_high,
933 new_references.segment6_low,
934 new_references.segment6_high,
935 new_references.segment7_high,
936 new_references.segment7_low,
937 new_references.segment8_high,
938 new_references.segment8_low,
939 new_references.segment9_high,
940 new_references.segment9_low,
941 new_references.segment10_high,
942 new_references.segment10_low,
943 new_references.segment11_high,
944 new_references.segment11_low,
945 new_references.segment12_high,
946 new_references.segment12_low,
947 new_references.segment13_high,
948 new_references.segment13_low,
949 new_references.segment14_high,
950 new_references.segment14_low,
951 new_references.segment15_high,
952 new_references.segment15_low,
953 new_references.segment16_high,
954 new_references.segment16_low,
955 new_references.segment17_high,
956 new_references.segment17_low,
957 new_references.segment18_high,
958 new_references.segment18_low,
959 new_references.segment19_high,
960 new_references.segment19_low,
961 new_references.segment20_high,
962 new_references.segment20_low,
963 new_references.segment21_high,
964 new_references.segment21_low,
965 new_references.segment22_high,
966 new_references.segment22_low,
967 new_references.segment23_high,
968 new_references.segment23_low,
969 new_references.segment24_high,
970 new_references.segment24_low,
971 new_references.segment25_low,
972 new_references.segment25_high,
976 new_references.segment27_high,
973 new_references.segment26_low,
974 new_references.segment26_high,
975 new_references.segment27_low,
977 new_references.segment28_low,
978 new_references.segment28_high,
979 new_references.segment29_low,
980 new_references.segment29_high,
981 new_references.segment30_low,
982 new_references.segment30_high,
983 new_references.segments_low_ccid,
984 new_references.segments_high_ccid,
985 new_references.segments_low_ccid_desc,
986 new_references.segments_high_ccid_desc,
987 new_references.budget_version_id,
988 x_last_update_date,
989 x_last_updated_by,
990 x_last_update_date,
991 x_last_updated_by,
992 x_last_update_login
993 );
994
995 OPEN c;
996 FETCH c INTO x_rowid;
997 IF (c%NOTFOUND) THEN
998 CLOSE c;
999 RAISE NO_DATA_FOUND;
1000 END IF;
1001 CLOSE c;
1002
1003 END insert_row;
1004
1005
1006 PROCEDURE lock_row (
1007 x_rowid IN VARCHAR2,
1008 x_line_num IN NUMBER,
1009 x_dossier_id IN NUMBER,
1010 x_source_id IN NUMBER,
1011 x_destination_id IN NUMBER,
1012 x_sob_id IN NUMBER,
1013 x_coa_id IN NUMBER,
1014 x_budget IN VARCHAR2,
1015 x_budget_entity_id IN NUMBER,
1016 x_budget_entity_name IN VARCHAR2,
1017 x_segment1_low IN VARCHAR2,
1018 x_segment1_high IN VARCHAR2,
1019 x_segment2_low IN VARCHAR2,
1020 x_segment2_high IN VARCHAR2,
1021 x_segment3_low IN VARCHAR2,
1022 x_segment3_high IN VARCHAR2,
1023 x_segment4_low IN VARCHAR2,
1024 x_segment4_high IN VARCHAR2,
1025 x_segment5_low IN VARCHAR2,
1026 x_segment5_high IN VARCHAR2,
1027 x_segment6_low IN VARCHAR2,
1028 x_segment6_high IN VARCHAR2,
1029 x_segment7_high IN VARCHAR2,
1030 x_segment7_low IN VARCHAR2,
1031 x_segment8_high IN VARCHAR2,
1032 x_segment8_low IN VARCHAR2,
1033 x_segment9_high IN VARCHAR2,
1034 x_segment9_low IN VARCHAR2,
1035 x_segment10_high IN VARCHAR2,
1036 x_segment10_low IN VARCHAR2,
1037 x_segment11_high IN VARCHAR2,
1038 x_segment11_low IN VARCHAR2,
1039 x_segment12_high IN VARCHAR2,
1040 x_segment12_low IN VARCHAR2,
1041 x_segment13_high IN VARCHAR2,
1042 x_segment13_low IN VARCHAR2,
1043 x_segment14_high IN VARCHAR2,
1044 x_segment14_low IN VARCHAR2,
1045 x_segment15_high IN VARCHAR2,
1046 x_segment15_low IN VARCHAR2,
1047 x_segment16_high IN VARCHAR2,
1048 x_segment16_low IN VARCHAR2,
1049 x_segment17_high IN VARCHAR2,
1050 x_segment17_low IN VARCHAR2,
1051 x_segment18_high IN VARCHAR2,
1052 x_segment18_low IN VARCHAR2,
1053 x_segment19_high IN VARCHAR2,
1054 x_segment19_low IN VARCHAR2,
1055 x_segment20_high IN VARCHAR2,
1056 x_segment20_low IN VARCHAR2,
1057 x_segment21_high IN VARCHAR2,
1058 x_segment21_low IN VARCHAR2,
1059 x_segment22_high IN VARCHAR2,
1060 x_segment22_low IN VARCHAR2,
1061 x_segment23_high IN VARCHAR2,
1062 x_segment23_low IN VARCHAR2,
1063 x_segment24_high IN VARCHAR2,
1064 x_segment24_low IN VARCHAR2,
1065 x_segment25_low IN VARCHAR2,
1066 x_segment25_high IN VARCHAR2,
1067 x_segment26_low IN VARCHAR2,
1068 x_segment26_high IN VARCHAR2,
1069 x_segment27_low IN VARCHAR2,
1070 x_segment27_high IN VARCHAR2,
1071 x_segment28_low IN VARCHAR2,
1072 x_segment28_high IN VARCHAR2,
1073 x_segment29_low IN VARCHAR2,
1074 x_segment29_high IN VARCHAR2,
1075 x_segment30_low IN VARCHAR2,
1076 x_segment30_high IN VARCHAR2,
1077 x_segments_low_ccid IN NUMBER,
1078 x_segments_high_ccid IN NUMBER,
1079 x_segments_low_ccid_desc IN VARCHAR2,
1080 x_segments_high_ccid_desc IN VARCHAR2,
1081 x_budget_version_id IN NUMBER
1082 ) AS
1083 /*
1084 || Created By : [email protected]
1085 || Created On : 18-APR-2002
1086 || Purpose : Handles the LOCK mechanism for the table.
1087 || Known limitations, enhancements or remarks :
1088 || Change History :
1089 || Who When What
1093 SELECT
1090 || (reverse chronological order - newest change first)
1091 */
1092 CURSOR c1 IS
1094 line_num,
1095 dossier_id,
1096 source_id,
1097 sob_id,
1098 coa_id,
1099 budget,
1100 budget_entity_id,
1101 budget_entity_name,
1102 segment1_low,
1103 segment1_high,
1104 segment2_low,
1105 segment2_high,
1106 segment3_low,
1107 segment3_high,
1108 segment4_low,
1109 segment4_high,
1110 segment5_low,
1111 segment5_high,
1112 segment6_low,
1113 segment6_high,
1114 segment7_high,
1115 segment7_low,
1116 segment8_high,
1117 segment8_low,
1118 segment9_high,
1119 segment9_low,
1120 segment10_high,
1121 segment10_low,
1122 segment11_high,
1123 segment11_low,
1124 segment12_high,
1125 segment12_low,
1126 segment13_high,
1127 segment13_low,
1128 segment14_high,
1129 segment14_low,
1130 segment15_high,
1131 segment15_low,
1132 segment16_high,
1133 segment16_low,
1134 segment17_high,
1135 segment17_low,
1136 segment18_high,
1137 segment18_low,
1138 segment19_high,
1139 segment19_low,
1140 segment20_high,
1141 segment20_low,
1142 segment21_high,
1143 segment21_low,
1144 segment22_high,
1145 segment22_low,
1146 segment23_high,
1147 segment23_low,
1148 segment24_high,
1149 segment24_low,
1150 segment25_low,
1151 segment25_high,
1152 segment26_low,
1153 segment26_high,
1154 segment27_low,
1155 segment27_high,
1156 segment28_low,
1157 segment28_high,
1158 segment29_low,
1159 segment29_high,
1160 segment30_low,
1161 segment30_high,
1162 segments_low_ccid,
1163 segments_high_ccid,
1164 segments_low_ccid_desc,
1165 segments_high_ccid_desc,
1166 budget_version_id
1167 FROM igi_dos_destinations
1168 WHERE rowid = x_rowid
1169 FOR UPDATE NOWAIT;
1170
1171 tlinfo c1%ROWTYPE;
1172
1173 BEGIN
1174
1175 OPEN c1;
1176 FETCH c1 INTO tlinfo;
1177 IF (c1%notfound) THEN
1178 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
1179 -- bug 3199481, start block
1180 IF (l_unexp_level >= l_debug_level) THEN
1181 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.lock_row.Msg1',FALSE);
1182 END IF;
1183 -- bug 3199481, end block
1184 CLOSE c1;
1185 app_exception.raise_exception;
1186 RETURN;
1187 END IF;
1188 CLOSE c1;
1189
1190 IF (
1191 ((tlinfo.line_num = x_line_num) OR ((tlinfo.line_num IS NULL) AND (X_line_num IS NULL)))
1192 AND (tlinfo.dossier_id = x_dossier_id)
1193 AND (tlinfo.source_id = x_source_id)
1194 AND (tlinfo.sob_id = x_sob_id)
1195 AND (tlinfo.coa_id = x_coa_id)
1196 AND ((tlinfo.budget = x_budget) OR ((tlinfo.budget IS NULL) AND (X_budget IS NULL)))
1197 AND ((tlinfo.budget_entity_id = x_budget_entity_id) OR ((tlinfo.budget_entity_id IS NULL) AND (X_budget_entity_id IS NULL)))
1198 AND ((tlinfo.budget_entity_name = x_budget_entity_name) OR ((tlinfo.budget_entity_name IS NULL) AND (X_budget_entity_name IS NULL)))
1199 AND ((tlinfo.segment1_low = x_segment1_low) OR ((tlinfo.segment1_low IS NULL) AND (X_segment1_low IS NULL)))
1200 AND ((tlinfo.segment1_high = x_segment1_high) OR ((tlinfo.segment1_high IS NULL) AND (X_segment1_high IS NULL)))
1201 AND ((tlinfo.segment2_low = x_segment2_low) OR ((tlinfo.segment2_low IS NULL) AND (X_segment2_low IS NULL)))
1202 AND ((tlinfo.segment2_high = x_segment2_high) OR ((tlinfo.segment2_high IS NULL) AND (X_segment2_high IS NULL)))
1203 AND ((tlinfo.segment3_low = x_segment3_low) OR ((tlinfo.segment3_low IS NULL) AND (X_segment3_low IS NULL)))
1204 AND ((tlinfo.segment3_high = x_segment3_high) OR ((tlinfo.segment3_high IS NULL) AND (X_segment3_high IS NULL)))
1205 AND ((tlinfo.segment4_low = x_segment4_low) OR ((tlinfo.segment4_low IS NULL) AND (X_segment4_low IS NULL)))
1206 AND ((tlinfo.segment4_high = x_segment4_high) OR ((tlinfo.segment4_high IS NULL) AND (X_segment4_high IS NULL)))
1207 AND ((tlinfo.segment5_low = x_segment5_low) OR ((tlinfo.segment5_low IS NULL) AND (X_segment5_low IS NULL)))
1208 AND ((tlinfo.segment5_high = x_segment5_high) OR ((tlinfo.segment5_high IS NULL) AND (X_segment5_high IS NULL)))
1209 AND ((tlinfo.segment6_low = x_segment6_low) OR ((tlinfo.segment6_low IS NULL) AND (X_segment6_low IS NULL)))
1210 AND ((tlinfo.segment6_high = x_segment6_high) OR ((tlinfo.segment6_high IS NULL) AND (X_segment6_high IS NULL)))
1211 AND ((tlinfo.segment7_high = x_segment7_high) OR ((tlinfo.segment7_high IS NULL) AND (X_segment7_high IS NULL)))
1212 AND ((tlinfo.segment7_low = x_segment7_low) OR ((tlinfo.segment7_low IS NULL) AND (X_segment7_low IS NULL)))
1213 AND ((tlinfo.segment8_high = x_segment8_high) OR ((tlinfo.segment8_high IS NULL) AND (X_segment8_high IS NULL)))
1214 AND ((tlinfo.segment8_low = x_segment8_low) OR ((tlinfo.segment8_low IS NULL) AND (X_segment8_low IS NULL)))
1215 AND ((tlinfo.segment9_high = x_segment9_high) OR ((tlinfo.segment9_high IS NULL) AND (X_segment9_high IS NULL)))
1216 AND ((tlinfo.segment9_low = x_segment9_low) OR ((tlinfo.segment9_low IS NULL) AND (X_segment9_low IS NULL)))
1220 AND ((tlinfo.segment11_low = x_segment11_low) OR ((tlinfo.segment11_low IS NULL) AND (X_segment11_low IS NULL)))
1217 AND ((tlinfo.segment10_high = x_segment10_high) OR ((tlinfo.segment10_high IS NULL) AND (X_segment10_high IS NULL)))
1218 AND ((tlinfo.segment10_low = x_segment10_low) OR ((tlinfo.segment10_low IS NULL) AND (X_segment10_low IS NULL)))
1219 AND ((tlinfo.segment11_high = x_segment11_high) OR ((tlinfo.segment11_high IS NULL) AND (X_segment11_high IS NULL)))
1221 AND ((tlinfo.segment12_high = x_segment12_high) OR ((tlinfo.segment12_high IS NULL) AND (X_segment12_high IS NULL)))
1222 AND ((tlinfo.segment12_low = x_segment12_low) OR ((tlinfo.segment12_low IS NULL) AND (X_segment12_low IS NULL)))
1223 AND ((tlinfo.segment13_high = x_segment13_high) OR ((tlinfo.segment13_high IS NULL) AND (X_segment13_high IS NULL)))
1224 AND ((tlinfo.segment13_low = x_segment13_low) OR ((tlinfo.segment13_low IS NULL) AND (X_segment13_low IS NULL)))
1225 AND ((tlinfo.segment14_high = x_segment14_high) OR ((tlinfo.segment14_high IS NULL) AND (X_segment14_high IS NULL)))
1226 AND ((tlinfo.segment14_low = x_segment14_low) OR ((tlinfo.segment14_low IS NULL) AND (X_segment14_low IS NULL)))
1227 AND ((tlinfo.segment15_high = x_segment15_high) OR ((tlinfo.segment15_high IS NULL) AND (X_segment15_high IS NULL)))
1228 AND ((tlinfo.segment15_low = x_segment15_low) OR ((tlinfo.segment15_low IS NULL) AND (X_segment15_low IS NULL)))
1229 AND ((tlinfo.segment16_high = x_segment16_high) OR ((tlinfo.segment16_high IS NULL) AND (X_segment16_high IS NULL)))
1230 AND ((tlinfo.segment16_low = x_segment16_low) OR ((tlinfo.segment16_low IS NULL) AND (X_segment16_low IS NULL)))
1231 AND ((tlinfo.segment17_high = x_segment17_high) OR ((tlinfo.segment17_high IS NULL) AND (X_segment17_high IS NULL)))
1232 AND ((tlinfo.segment17_low = x_segment17_low) OR ((tlinfo.segment17_low IS NULL) AND (X_segment17_low IS NULL)))
1233 AND ((tlinfo.segment18_high = x_segment18_high) OR ((tlinfo.segment18_high IS NULL) AND (X_segment18_high IS NULL)))
1234 AND ((tlinfo.segment18_low = x_segment18_low) OR ((tlinfo.segment18_low IS NULL) AND (X_segment18_low IS NULL)))
1235 AND ((tlinfo.segment19_high = x_segment19_high) OR ((tlinfo.segment19_high IS NULL) AND (X_segment19_high IS NULL)))
1236 AND ((tlinfo.segment19_low = x_segment19_low) OR ((tlinfo.segment19_low IS NULL) AND (X_segment19_low IS NULL)))
1237 AND ((tlinfo.segment20_high = x_segment20_high) OR ((tlinfo.segment20_high IS NULL) AND (X_segment20_high IS NULL)))
1238 AND ((tlinfo.segment20_low = x_segment20_low) OR ((tlinfo.segment20_low IS NULL) AND (X_segment20_low IS NULL)))
1239 AND ((tlinfo.segment21_high = x_segment21_high) OR ((tlinfo.segment21_high IS NULL) AND (X_segment21_high IS NULL)))
1240 AND ((tlinfo.segment21_low = x_segment21_low) OR ((tlinfo.segment21_low IS NULL) AND (X_segment21_low IS NULL)))
1241 AND ((tlinfo.segment22_high = x_segment22_high) OR ((tlinfo.segment22_high IS NULL) AND (X_segment22_high IS NULL)))
1242 AND ((tlinfo.segment22_low = x_segment22_low) OR ((tlinfo.segment22_low IS NULL) AND (X_segment22_low IS NULL)))
1243 AND ((tlinfo.segment23_high = x_segment23_high) OR ((tlinfo.segment23_high IS NULL) AND (X_segment23_high IS NULL)))
1244 AND ((tlinfo.segment23_low = x_segment23_low) OR ((tlinfo.segment23_low IS NULL) AND (X_segment23_low IS NULL)))
1245 AND ((tlinfo.segment24_high = x_segment24_high) OR ((tlinfo.segment24_high IS NULL) AND (X_segment24_high IS NULL)))
1246 AND ((tlinfo.segment24_low = x_segment24_low) OR ((tlinfo.segment24_low IS NULL) AND (X_segment24_low IS NULL)))
1247 AND ((tlinfo.segment25_low = x_segment25_low) OR ((tlinfo.segment25_low IS NULL) AND (X_segment25_low IS NULL)))
1248 AND ((tlinfo.segment25_high = x_segment25_high) OR ((tlinfo.segment25_high IS NULL) AND (X_segment25_high IS NULL)))
1249 AND ((tlinfo.segment26_low = x_segment26_low) OR ((tlinfo.segment26_low IS NULL) AND (X_segment26_low IS NULL)))
1250 AND ((tlinfo.segment26_high = x_segment26_high) OR ((tlinfo.segment26_high IS NULL) AND (X_segment26_high IS NULL)))
1251 AND ((tlinfo.segment27_low = x_segment27_low) OR ((tlinfo.segment27_low IS NULL) AND (X_segment27_low IS NULL)))
1252 AND ((tlinfo.segment27_high = x_segment27_high) OR ((tlinfo.segment27_high IS NULL) AND (X_segment27_high IS NULL)))
1253 AND ((tlinfo.segment28_low = x_segment28_low) OR ((tlinfo.segment28_low IS NULL) AND (X_segment28_low IS NULL)))
1254 AND ((tlinfo.segment28_high = x_segment28_high) OR ((tlinfo.segment28_high IS NULL) AND (X_segment28_high IS NULL)))
1255 AND ((tlinfo.segment29_low = x_segment29_low) OR ((tlinfo.segment29_low IS NULL) AND (X_segment29_low IS NULL)))
1256 AND ((tlinfo.segment29_high = x_segment29_high) OR ((tlinfo.segment29_high IS NULL) AND (X_segment29_high IS NULL)))
1257 AND ((tlinfo.segment30_low = x_segment30_low) OR ((tlinfo.segment30_low IS NULL) AND (X_segment30_low IS NULL)))
1258 AND ((tlinfo.segment30_high = x_segment30_high) OR ((tlinfo.segment30_high IS NULL) AND (X_segment30_high IS NULL)))
1259 AND ((tlinfo.segments_low_ccid = x_segments_low_ccid) OR ((tlinfo.segments_low_ccid IS NULL) AND (X_segments_low_ccid IS NULL)))
1260 AND ((tlinfo.segments_high_ccid = x_segments_high_ccid) OR ((tlinfo.segments_high_ccid IS NULL) AND (X_segments_high_ccid IS NULL)))
1261 AND ((tlinfo.segments_low_ccid_desc = x_segments_low_ccid_desc) OR ((tlinfo.segments_low_ccid_desc IS NULL) AND (X_segments_low_ccid_desc IS NULL)))
1262 AND ((tlinfo.segments_high_ccid_desc = x_segments_high_ccid_desc) OR ((tlinfo.segments_high_ccid_desc IS NULL) AND (X_segments_high_ccid_desc IS NULL)))
1263 AND ((tlinfo.budget_version_id = x_budget_version_id) OR ((tlinfo.budget_version_id IS NULL) AND (X_budget_version_id IS NULL)))
1264 ) THEN
1265 NULL;
1266 ELSE
1267 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
1268 -- bug 3199481, start block
1269 IF (l_unexp_level >= l_debug_level) THEN
1270 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.lock_row.Msg2',FALSE);
1271 END IF;
1272 -- bug 3199481, end block
1273 app_exception.raise_exception;
1274 END IF;
1275
1276 RETURN;
1277
1278 END lock_row;
1279
1280
1281 PROCEDURE update_row (
1285 x_source_id IN NUMBER,
1282 x_rowid IN VARCHAR2,
1283 x_line_num IN NUMBER,
1284 x_dossier_id IN NUMBER,
1286 x_destination_id IN NUMBER,
1287 x_sob_id IN NUMBER,
1288 x_coa_id IN NUMBER,
1289 x_budget IN VARCHAR2,
1290 x_budget_entity_id IN NUMBER,
1291 x_budget_entity_name IN VARCHAR2,
1292 x_segment1_low IN VARCHAR2,
1293 x_segment1_high IN VARCHAR2,
1294 x_segment2_low IN VARCHAR2,
1295 x_segment2_high IN VARCHAR2,
1296 x_segment3_low IN VARCHAR2,
1297 x_segment3_high IN VARCHAR2,
1298 x_segment4_low IN VARCHAR2,
1299 x_segment4_high IN VARCHAR2,
1300 x_segment5_low IN VARCHAR2,
1301 x_segment5_high IN VARCHAR2,
1302 x_segment6_low IN VARCHAR2,
1303 x_segment6_high IN VARCHAR2,
1304 x_segment7_high IN VARCHAR2,
1305 x_segment7_low IN VARCHAR2,
1306 x_segment8_high IN VARCHAR2,
1307 x_segment8_low IN VARCHAR2,
1308 x_segment9_high IN VARCHAR2,
1309 x_segment9_low IN VARCHAR2,
1310 x_segment10_high IN VARCHAR2,
1311 x_segment10_low IN VARCHAR2,
1312 x_segment11_high IN VARCHAR2,
1313 x_segment11_low IN VARCHAR2,
1314 x_segment12_high IN VARCHAR2,
1315 x_segment12_low IN VARCHAR2,
1316 x_segment13_high IN VARCHAR2,
1317 x_segment13_low IN VARCHAR2,
1318 x_segment14_high IN VARCHAR2,
1319 x_segment14_low IN VARCHAR2,
1320 x_segment15_high IN VARCHAR2,
1321 x_segment15_low IN VARCHAR2,
1322 x_segment16_high IN VARCHAR2,
1323 x_segment16_low IN VARCHAR2,
1324 x_segment17_high IN VARCHAR2,
1325 x_segment17_low IN VARCHAR2,
1326 x_segment18_high IN VARCHAR2,
1327 x_segment18_low IN VARCHAR2,
1328 x_segment19_high IN VARCHAR2,
1329 x_segment19_low IN VARCHAR2,
1330 x_segment20_high IN VARCHAR2,
1331 x_segment20_low IN VARCHAR2,
1332 x_segment21_high IN VARCHAR2,
1333 x_segment21_low IN VARCHAR2,
1334 x_segment22_high IN VARCHAR2,
1335 x_segment22_low IN VARCHAR2,
1336 x_segment23_high IN VARCHAR2,
1337 x_segment23_low IN VARCHAR2,
1338 x_segment24_high IN VARCHAR2,
1339 x_segment24_low IN VARCHAR2,
1340 x_segment25_low IN VARCHAR2,
1341 x_segment25_high IN VARCHAR2,
1342 x_segment26_low IN VARCHAR2,
1343 x_segment26_high IN VARCHAR2,
1344 x_segment27_low IN VARCHAR2,
1345 x_segment27_high IN VARCHAR2,
1346 x_segment28_low IN VARCHAR2,
1347 x_segment28_high IN VARCHAR2,
1348 x_segment29_low IN VARCHAR2,
1349 x_segment29_high IN VARCHAR2,
1350 x_segment30_low IN VARCHAR2,
1351 x_segment30_high IN VARCHAR2,
1352 x_segments_low_ccid IN NUMBER,
1353 x_segments_high_ccid IN NUMBER,
1354 x_segments_low_ccid_desc IN VARCHAR2,
1355 x_segments_high_ccid_desc IN VARCHAR2,
1356 x_budget_version_id IN NUMBER,
1357 x_mode IN VARCHAR2 ) AS
1358 /*
1359 || Created By : [email protected]
1360 || Created On : 18-APR-2002
1361 || Purpose : Handles the UPDATE DML logic for the table.
1362 || Known limitations, enhancements or remarks :
1363 || Change History :
1364 || Who When What
1365 || (reverse chronological order - newest change first)
1366 */
1367 x_last_update_date DATE ;
1368 x_last_updated_by NUMBER;
1369 x_last_update_login NUMBER;
1370
1371 BEGIN
1372
1373 x_last_update_date := SYSDATE;
1374 IF (X_MODE = 'I') THEN
1375 x_last_updated_by := 1;
1376 x_last_update_login := 0;
1377 ELSIF (x_mode = 'R') THEN
1378 x_last_updated_by := fnd_global.user_id;
1379 IF x_last_updated_by IS NULL THEN
1380 x_last_updated_by := -1;
1381 END IF;
1382 x_last_update_login := fnd_global.login_id;
1383 IF (x_last_update_login IS NULL) THEN
1384 x_last_update_login := -1;
1385 END IF;
1386 ELSE
1387 fnd_message.set_name( 'FND', 'SYSTEM-INVALID ARGS');
1388 -- bug 3199481, start block
1389 IF (l_unexp_level >= l_debug_level) THEN
1390 FND_LOG.MESSAGE(l_unexp_level, 'igi.plsql.igi_dos_destinations_pkg.update_row.Msg1',FALSE);
1391 END IF;
1392 -- bug 3199481, end block
1393 app_exception.raise_exception;
1394 END IF;
1395
1396 before_dml(
1400 x_dossier_id => x_dossier_id,
1397 p_action => 'UPDATE',
1398 x_rowid => x_rowid,
1399 x_line_num => x_line_num,
1401 x_source_id => x_source_id,
1402 x_destination_id => x_destination_id,
1403 x_sob_id => x_sob_id,
1404 x_coa_id => x_coa_id,
1405 x_budget => x_budget,
1406 x_budget_entity_id => x_budget_entity_id,
1407 x_budget_entity_name => x_budget_entity_name,
1408 x_segment1_low => x_segment1_low,
1409 x_segment1_high => x_segment1_high,
1410 x_segment2_low => x_segment2_low,
1411 x_segment2_high => x_segment2_high,
1412 x_segment3_low => x_segment3_low,
1413 x_segment3_high => x_segment3_high,
1414 x_segment4_low => x_segment4_low,
1415 x_segment4_high => x_segment4_high,
1416 x_segment5_low => x_segment5_low,
1417 x_segment5_high => x_segment5_high,
1418 x_segment6_low => x_segment6_low,
1419 x_segment6_high => x_segment6_high,
1420 x_segment7_high => x_segment7_high,
1421 x_segment7_low => x_segment7_low,
1422 x_segment8_high => x_segment8_high,
1423 x_segment8_low => x_segment8_low,
1424 x_segment9_high => x_segment9_high,
1425 x_segment9_low => x_segment9_low,
1426 x_segment10_high => x_segment10_high,
1427 x_segment10_low => x_segment10_low,
1428 x_segment11_high => x_segment11_high,
1429 x_segment11_low => x_segment11_low,
1430 x_segment12_high => x_segment12_high,
1431 x_segment12_low => x_segment12_low,
1432 x_segment13_high => x_segment13_high,
1433 x_segment13_low => x_segment13_low,
1434 x_segment14_high => x_segment14_high,
1435 x_segment14_low => x_segment14_low,
1436 x_segment15_high => x_segment15_high,
1437 x_segment15_low => x_segment15_low,
1438 x_segment16_high => x_segment16_high,
1439 x_segment16_low => x_segment16_low,
1440 x_segment17_high => x_segment17_high,
1441 x_segment17_low => x_segment17_low,
1442 x_segment18_high => x_segment18_high,
1443 x_segment18_low => x_segment18_low,
1444 x_segment19_high => x_segment19_high,
1445 x_segment19_low => x_segment19_low,
1446 x_segment20_high => x_segment20_high,
1447 x_segment20_low => x_segment20_low,
1448 x_segment21_high => x_segment21_high,
1449 x_segment21_low => x_segment21_low,
1450 x_segment22_high => x_segment22_high,
1451 x_segment22_low => x_segment22_low,
1452 x_segment23_high => x_segment23_high,
1453 x_segment23_low => x_segment23_low,
1454 x_segment24_high => x_segment24_high,
1455 x_segment24_low => x_segment24_low,
1456 x_segment25_low => x_segment25_low,
1457 x_segment25_high => x_segment25_high,
1458 x_segment26_low => x_segment26_low,
1459 x_segment26_high => x_segment26_high,
1460 x_segment27_low => x_segment27_low,
1461 x_segment27_high => x_segment27_high,
1462 x_segment28_low => x_segment28_low,
1463 x_segment28_high => x_segment28_high,
1464 x_segment29_low => x_segment29_low,
1465 x_segment29_high => x_segment29_high,
1466 x_segment30_low => x_segment30_low,
1467 x_segment30_high => x_segment30_high,
1468 x_segments_low_ccid => x_segments_low_ccid,
1469 x_segments_high_ccid => x_segments_high_ccid,
1470 x_segments_low_ccid_desc => x_segments_low_ccid_desc,
1471 x_segments_high_ccid_desc => x_segments_high_ccid_desc,
1472 x_budget_version_id => x_budget_version_id,
1473 x_creation_date => x_last_update_date,
1474 x_created_by => x_last_updated_by,
1475 x_last_update_date => x_last_update_date,
1476 x_last_updated_by => x_last_updated_by,
1477 x_last_update_login => x_last_update_login
1478 );
1479
1480 UPDATE igi_dos_destinations
1481 SET
1482 line_num = new_references.line_num,
1483 dossier_id = new_references.dossier_id,
1484 source_id = new_references.source_id,
1485 sob_id = new_references.sob_id,
1486 coa_id = new_references.coa_id,
1487 budget = new_references.budget,
1488 budget_entity_id = new_references.budget_entity_id,
1489 budget_entity_name = new_references.budget_entity_name,
1490 segment1_low = new_references.segment1_low,
1491 segment1_high = new_references.segment1_high,
1495 segment3_high = new_references.segment3_high,
1492 segment2_low = new_references.segment2_low,
1493 segment2_high = new_references.segment2_high,
1494 segment3_low = new_references.segment3_low,
1496 segment4_low = new_references.segment4_low,
1497 segment4_high = new_references.segment4_high,
1498 segment5_low = new_references.segment5_low,
1499 segment5_high = new_references.segment5_high,
1500 segment6_low = new_references.segment6_low,
1501 segment6_high = new_references.segment6_high,
1502 segment7_high = new_references.segment7_high,
1503 segment7_low = new_references.segment7_low,
1504 segment8_high = new_references.segment8_high,
1505 segment8_low = new_references.segment8_low,
1506 segment9_high = new_references.segment9_high,
1507 segment9_low = new_references.segment9_low,
1508 segment10_high = new_references.segment10_high,
1509 segment10_low = new_references.segment10_low,
1510 segment11_high = new_references.segment11_high,
1511 segment11_low = new_references.segment11_low,
1512 segment12_high = new_references.segment12_high,
1513 segment12_low = new_references.segment12_low,
1514 segment13_high = new_references.segment13_high,
1515 segment13_low = new_references.segment13_low,
1516 segment14_high = new_references.segment14_high,
1517 segment14_low = new_references.segment14_low,
1518 segment15_high = new_references.segment15_high,
1519 segment15_low = new_references.segment15_low,
1520 segment16_high = new_references.segment16_high,
1521 segment16_low = new_references.segment16_low,
1522 segment17_high = new_references.segment17_high,
1523 segment17_low = new_references.segment17_low,
1524 segment18_high = new_references.segment18_high,
1525 segment18_low = new_references.segment18_low,
1526 segment19_high = new_references.segment19_high,
1527 segment19_low = new_references.segment19_low,
1528 segment20_high = new_references.segment20_high,
1529 segment20_low = new_references.segment20_low,
1530 segment21_high = new_references.segment21_high,
1531 segment21_low = new_references.segment21_low,
1532 segment22_high = new_references.segment22_high,
1533 segment22_low = new_references.segment22_low,
1534 segment23_high = new_references.segment23_high,
1535 segment23_low = new_references.segment23_low,
1536 segment24_high = new_references.segment24_high,
1537 segment24_low = new_references.segment24_low,
1538 segment25_low = new_references.segment25_low,
1539 segment25_high = new_references.segment25_high,
1540 segment26_low = new_references.segment26_low,
1541 segment26_high = new_references.segment26_high,
1542 segment27_low = new_references.segment27_low,
1543 segment27_high = new_references.segment27_high,
1544 segment28_low = new_references.segment28_low,
1545 segment28_high = new_references.segment28_high,
1546 segment29_low = new_references.segment29_low,
1547 segment29_high = new_references.segment29_high,
1548 segment30_low = new_references.segment30_low,
1549 segment30_high = new_references.segment30_high,
1550 segments_low_ccid = new_references.segments_low_ccid,
1551 segments_high_ccid = new_references.segments_high_ccid,
1552 segments_low_ccid_desc = new_references.segments_low_ccid_desc,
1553 segments_high_ccid_desc = new_references.segments_high_ccid_desc,
1554 budget_version_id = new_references.budget_version_id,
1555 last_update_date = x_last_update_date,
1556 last_updated_by = x_last_updated_by,
1557 last_update_login = x_last_update_login
1558 WHERE rowid = x_rowid;
1559
1560 IF (SQL%NOTFOUND) THEN
1561 RAISE NO_DATA_FOUND;
1562 END IF;
1563
1564 END update_row;
1565
1566
1567 PROCEDURE add_row (
1568 x_rowid IN OUT NOCOPY VARCHAR2,
1569 x_line_num IN NUMBER,
1573 x_sob_id IN NUMBER,
1570 x_dossier_id IN NUMBER,
1571 x_source_id IN NUMBER,
1572 x_destination_id IN OUT NOCOPY NUMBER,
1574 x_coa_id IN NUMBER,
1575 x_budget IN VARCHAR2,
1576 x_budget_entity_id IN NUMBER,
1577 x_budget_entity_name IN VARCHAR2,
1578 x_segment1_low IN VARCHAR2,
1579 x_segment1_high IN VARCHAR2,
1580 x_segment2_low IN VARCHAR2,
1581 x_segment2_high IN VARCHAR2,
1582 x_segment3_low IN VARCHAR2,
1583 x_segment3_high IN VARCHAR2,
1584 x_segment4_low IN VARCHAR2,
1585 x_segment4_high IN VARCHAR2,
1586 x_segment5_low IN VARCHAR2,
1587 x_segment5_high IN VARCHAR2,
1588 x_segment6_low IN VARCHAR2,
1589 x_segment6_high IN VARCHAR2,
1590 x_segment7_high IN VARCHAR2,
1591 x_segment7_low IN VARCHAR2,
1592 x_segment8_high IN VARCHAR2,
1593 x_segment8_low IN VARCHAR2,
1594 x_segment9_high IN VARCHAR2,
1595 x_segment9_low IN VARCHAR2,
1596 x_segment10_high IN VARCHAR2,
1597 x_segment10_low IN VARCHAR2,
1598 x_segment11_high IN VARCHAR2,
1599 x_segment11_low IN VARCHAR2,
1600 x_segment12_high IN VARCHAR2,
1601 x_segment12_low IN VARCHAR2,
1602 x_segment13_high IN VARCHAR2,
1603 x_segment13_low IN VARCHAR2,
1604 x_segment14_high IN VARCHAR2,
1605 x_segment14_low IN VARCHAR2,
1606 x_segment15_high IN VARCHAR2,
1607 x_segment15_low IN VARCHAR2,
1608 x_segment16_high IN VARCHAR2,
1609 x_segment16_low IN VARCHAR2,
1610 x_segment17_high IN VARCHAR2,
1611 x_segment17_low IN VARCHAR2,
1612 x_segment18_high IN VARCHAR2,
1613 x_segment18_low IN VARCHAR2,
1614 x_segment19_high IN VARCHAR2,
1615 x_segment19_low IN VARCHAR2,
1616 x_segment20_high IN VARCHAR2,
1617 x_segment20_low IN VARCHAR2,
1618 x_segment21_high IN VARCHAR2,
1619 x_segment21_low IN VARCHAR2,
1620 x_segment22_high IN VARCHAR2,
1621 x_segment22_low IN VARCHAR2,
1622 x_segment23_high IN VARCHAR2,
1623 x_segment23_low IN VARCHAR2,
1624 x_segment24_high IN VARCHAR2,
1625 x_segment24_low IN VARCHAR2,
1626 x_segment25_low IN VARCHAR2,
1627 x_segment25_high IN VARCHAR2,
1628 x_segment26_low IN VARCHAR2,
1629 x_segment26_high IN VARCHAR2,
1630 x_segment27_low IN VARCHAR2,
1631 x_segment27_high IN VARCHAR2,
1632 x_segment28_low IN VARCHAR2,
1633 x_segment28_high IN VARCHAR2,
1634 x_segment29_low IN VARCHAR2,
1635 x_segment29_high IN VARCHAR2,
1636 x_segment30_low IN VARCHAR2,
1637 x_segment30_high IN VARCHAR2,
1638 x_segments_low_ccid IN NUMBER,
1639 x_segments_high_ccid IN NUMBER,
1640 x_segments_low_ccid_desc IN VARCHAR2,
1641 x_segments_high_ccid_desc IN VARCHAR2,
1642 x_budget_version_id IN NUMBER,
1643 x_mode IN VARCHAR2 ) AS
1644 /*
1645 || Created By : [email protected]
1646 || Created On : 18-APR-2002
1647 || Purpose : Adds a row if there is no existing row, otherwise updates existing row in the table.
1648 || Known limitations, enhancements or remarks :
1649 || Change History :
1650 || Who When What
1651 || (reverse chronological order - newest change first)
1652 */
1653 CURSOR c1 IS
1654 SELECT rowid
1655 FROM igi_dos_destinations
1656 WHERE destination_id = x_destination_id;
1657
1658 BEGIN
1659
1660 OPEN c1;
1661 FETCH c1 INTO x_rowid;
1662 IF (c1%NOTFOUND) THEN
1663 CLOSE c1;
1664
1665 insert_row (
1666 x_rowid,
1667 x_line_num,
1668 x_dossier_id,
1669 x_source_id,
1670 x_destination_id,
1671 x_sob_id,
1672 x_coa_id,
1673 x_budget,
1674 x_budget_entity_id,
1675 x_budget_entity_name,
1676 x_segment1_low,
1677 x_segment1_high,
1678 x_segment2_low,
1679 x_segment2_high,
1680 x_segment3_low,
1681 x_segment3_high,
1682 x_segment4_low,
1683 x_segment4_high,
1684 x_segment5_low,
1685 x_segment5_high,
1686 x_segment6_low,
1687 x_segment6_high,
1688 x_segment7_high,
1689 x_segment7_low,
1690 x_segment8_high,
1691 x_segment8_low,
1695 x_segment10_low,
1692 x_segment9_high,
1693 x_segment9_low,
1694 x_segment10_high,
1696 x_segment11_high,
1697 x_segment11_low,
1698 x_segment12_high,
1699 x_segment12_low,
1700 x_segment13_high,
1701 x_segment13_low,
1702 x_segment14_high,
1703 x_segment14_low,
1704 x_segment15_high,
1705 x_segment15_low,
1706 x_segment16_high,
1707 x_segment16_low,
1708 x_segment17_high,
1709 x_segment17_low,
1710 x_segment18_high,
1711 x_segment18_low,
1712 x_segment19_high,
1713 x_segment19_low,
1714 x_segment20_high,
1715 x_segment20_low,
1716 x_segment21_high,
1717 x_segment21_low,
1718 x_segment22_high,
1719 x_segment22_low,
1720 x_segment23_high,
1721 x_segment23_low,
1722 x_segment24_high,
1723 x_segment24_low,
1724 x_segment25_low,
1725 x_segment25_high,
1726 x_segment26_low,
1727 x_segment26_high,
1728 x_segment27_low,
1729 x_segment27_high,
1730 x_segment28_low,
1731 x_segment28_high,
1732 x_segment29_low,
1733 x_segment29_high,
1734 x_segment30_low,
1735 x_segment30_high,
1736 x_segments_low_ccid,
1737 x_segments_high_ccid,
1738 x_segments_low_ccid_desc,
1739 x_segments_high_ccid_desc,
1740 x_budget_version_id,
1741 x_mode
1742 );
1743 RETURN;
1744 END IF;
1745 CLOSE c1;
1746
1747 update_row (
1748 x_rowid,
1749 x_line_num,
1750 x_dossier_id,
1751 x_source_id,
1752 x_destination_id,
1753 x_sob_id,
1754 x_coa_id,
1755 x_budget,
1756 x_budget_entity_id,
1757 x_budget_entity_name,
1758 x_segment1_low,
1759 x_segment1_high,
1760 x_segment2_low,
1761 x_segment2_high,
1762 x_segment3_low,
1763 x_segment3_high,
1764 x_segment4_low,
1765 x_segment4_high,
1766 x_segment5_low,
1767 x_segment5_high,
1768 x_segment6_low,
1769 x_segment6_high,
1770 x_segment7_high,
1771 x_segment7_low,
1772 x_segment8_high,
1773 x_segment8_low,
1774 x_segment9_high,
1775 x_segment9_low,
1776 x_segment10_high,
1777 x_segment10_low,
1778 x_segment11_high,
1779 x_segment11_low,
1780 x_segment12_high,
1781 x_segment12_low,
1782 x_segment13_high,
1783 x_segment13_low,
1784 x_segment14_high,
1785 x_segment14_low,
1786 x_segment15_high,
1787 x_segment15_low,
1788 x_segment16_high,
1789 x_segment16_low,
1790 x_segment17_high,
1791 x_segment17_low,
1792 x_segment18_high,
1793 x_segment18_low,
1794 x_segment19_high,
1795 x_segment19_low,
1796 x_segment20_high,
1797 x_segment20_low,
1798 x_segment21_high,
1799 x_segment21_low,
1800 x_segment22_high,
1801 x_segment22_low,
1802 x_segment23_high,
1803 x_segment23_low,
1804 x_segment24_high,
1805 x_segment24_low,
1806 x_segment25_low,
1807 x_segment25_high,
1808 x_segment26_low,
1809 x_segment26_high,
1810 x_segment27_low,
1811 x_segment27_high,
1812 x_segment28_low,
1813 x_segment28_high,
1814 x_segment29_low,
1815 x_segment29_high,
1816 x_segment30_low,
1817 x_segment30_high,
1818 x_segments_low_ccid,
1819 x_segments_high_ccid,
1820 x_segments_low_ccid_desc,
1821 x_segments_high_ccid_desc,
1822 x_budget_version_id,
1823 x_mode
1824 );
1825
1826 END add_row;
1827
1828
1829 PROCEDURE delete_row (
1830 x_rowid IN VARCHAR2
1831 ) AS
1832 /*
1833 || Created By : [email protected]
1834 || Created On : 18-APR-2002
1835 || Purpose : Handles the DELETE DML logic for the table.
1836 || Known limitations, enhancements or remarks :
1837 || Change History :
1838 || Who When What
1839 || (reverse chronological order - newest change first)
1840 */
1841 BEGIN
1842
1843 before_dml (
1844 p_action => 'DELETE',
1845 x_rowid => x_rowid
1846 );
1847
1848 DELETE FROM igi_dos_destinations
1849 WHERE rowid = x_rowid;
1850
1851 IF (SQL%NOTFOUND) THEN
1852 RAISE NO_DATA_FOUND;
1853 END IF;
1854
1855 END delete_row;
1856
1857
1858 END igi_dos_destinations_pkg;