DBA Data[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;