1 package body okl_interest_calc_pvt_w as
2 /* $Header: OKLEITUB.pls 120.2 2005/12/08 12:01:48 gboomina noship $ */
3 rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4 rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5
6 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7 function rosetta_g_miss_date_in_map(d date) return date as
8 begin
9 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10 return d;
11 end;
12
13 function rosetta_g_miss_num_map(n number) return number as
14 a number := fnd_api.g_miss_num;
15 b number := 0-1962.0724;
16 begin
17 if n=a then return b; end if;
18 if n=b then return a; end if;
19 return n;
20 end;
21
22 procedure calc_interest_activate(p_api_version NUMBER
23 , p_init_msg_list VARCHAR2
24 , x_return_status out nocopy VARCHAR2
25 , x_msg_count out nocopy NUMBER
26 , x_msg_data out nocopy VARCHAR2
27 , p_contract_number VARCHAR2
28 , p_activation_date date
29 , x_amount out nocopy NUMBER
30 , x_source_id out nocopy NUMBER
31 )
32
33 as
34 ddp_activation_date date;
35 ddindx binary_integer; indx binary_integer;
36 begin
37
38 -- copy data to the local IN or IN-OUT args, if any
39
40
41
42
43
44
45 ddp_activation_date := rosetta_g_miss_date_in_map(p_activation_date);
46
47
48
49 -- here's the delegated call to the old PL/SQL routine
50 okl_interest_calc_pvt.calc_interest_activate(p_api_version,
51 p_init_msg_list,
52 x_return_status,
53 x_msg_count,
54 x_msg_data,
55 p_contract_number,
56 ddp_activation_date,
57 x_amount,
58 x_source_id);
59
60 -- copy data back from the local variables to OUT or IN-OUT args, if any
61
62
63
64
65
66
67
68
69 end;
70
71 end okl_interest_calc_pvt_w;