1 package body okl_vp_terminate_pvt_w as
2 /* $Header: OKLETERB.pls 120.1 2005/07/12 09:11:34 dkagrawa 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 terminate_contract(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 , p5_a0 NUMBER := 0-1962.0724
28 , p5_a1 DATE := fnd_api.g_miss_date
29 , p5_a2 DATE := fnd_api.g_miss_date
30 , p5_a3 VARCHAR2 := fnd_api.g_miss_char
31 )
32
33 as
34 ddp_ter_header_rec okl_vp_terminate_pvt.terminate_header_rec_type;
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 ddp_ter_header_rec.p_id := rosetta_g_miss_num_map(p5_a0);
45 ddp_ter_header_rec.p_current_end_date := rosetta_g_miss_date_in_map(p5_a1);
46 ddp_ter_header_rec.p_terminate_date := rosetta_g_miss_date_in_map(p5_a2);
47 ddp_ter_header_rec.p_term_reason := p5_a3;
48
49 -- here's the delegated call to the old PL/SQL routine
50 okl_vp_terminate_pvt.terminate_contract(p_api_version,
51 p_init_msg_list,
52 x_return_status,
53 x_msg_count,
54 x_msg_data,
55 ddp_ter_header_rec);
56
57 -- copy data back from the local variables to OUT or IN-OUT args, if any
58
59
60
61
62
63 end;
64
65 end okl_vp_terminate_pvt_w;