1 package body okl_vp_extend_pub_w as
2 /* $Header: OKLUEXTB.pls 120.1 2005/07/21 12:40:48 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 extend_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 )
31
32 as
33 ddp_ext_header_rec okl_vp_extend_pub.extension_header_rec_type;
34 ddindx binary_integer; indx binary_integer;
35 begin
36
37 -- copy data to the local IN or IN-OUT args, if any
38
39
40
41
42
43 ddp_ext_header_rec.p_id := rosetta_g_miss_num_map(p5_a0);
44 ddp_ext_header_rec.p_current_end_date := rosetta_g_miss_date_in_map(p5_a1);
45 ddp_ext_header_rec.p_new_end_date := rosetta_g_miss_date_in_map(p5_a2);
46
47 -- here's the delegated call to the old PL/SQL routine
48 okl_vp_extend_pub.extend_contract(p_api_version,
49 p_init_msg_list,
50 x_return_status,
51 x_msg_count,
52 x_msg_data,
53 ddp_ext_header_rec);
54
55 -- copy data back from the local variables to OUT or IN-OUT args, if any
56
57
58
59
60
61 end;
62
63 end okl_vp_extend_pub_w;