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