1 package body jtf_rs_grp_membership_pub_w as
2 /* $Header: jtfrswmb.pls 120.0 2005/05/11 08:23:26 appldev ship $ */
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 function rosetta_g_miss_num_map(n number) return number as
7 a number := fnd_api.g_miss_num;
8 b number := 0-1962.0724;
9 begin
10 if n=a then return b; end if;
11 if n=b then return a; end if;
12 return n;
13 end;
14
15 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16 function rosetta_g_miss_date_in_map(d date) return date as
17 begin
18 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19 return d;
20 end;
21
22 procedure create_group_membership(p_api_version NUMBER
23 , p_init_msg_list VARCHAR2
24 , p_commit VARCHAR2
25 , p_resource_id NUMBER
26 , p_group_id NUMBER
27 , p_role_id NUMBER
28 , p_start_date date
29 , p_end_date date
30 , x_return_status out NOCOPY VARCHAR2
31 , x_msg_count out NOCOPY NUMBER
32 , x_msg_data out NOCOPY VARCHAR2
33 )
34 as
35 ddp_start_date date;
36 ddp_end_date date;
37 ddindx binary_integer; indx binary_integer;
38 begin
39
40 -- copy data to the local IN or IN-OUT args, if any
41
42
43
44
45
46
47 ddp_start_date := rosetta_g_miss_date_in_map(p_start_date);
48
49 ddp_end_date := rosetta_g_miss_date_in_map(p_end_date);
50
51
52
53
54 -- here's the delegated call to the old PL/SQL routine
55 jtf_rs_grp_membership_pub.create_group_membership(p_api_version,
56 p_init_msg_list,
57 p_commit,
58 p_resource_id,
59 p_group_id,
60 p_role_id,
61 ddp_start_date,
62 ddp_end_date,
63 x_return_status,
64 x_msg_count,
65 x_msg_data);
66
67 -- copy data back from the local OUT or IN-OUT args, if any
68
69
70
71
72
73
74
75
76
77
78 end;
79
80 procedure update_group_membership(p_api_version NUMBER
81 , p_init_msg_list VARCHAR2
82 , p_commit VARCHAR2
83 , p_resource_id NUMBER
84 , p_role_id NUMBER
85 , p_role_relate_id NUMBER
86 , p_start_date date
87 , p_end_date date
88 , p_object_version_num NUMBER
89 , x_return_status out NOCOPY VARCHAR2
90 , x_msg_count out NOCOPY NUMBER
91 , x_msg_data out NOCOPY VARCHAR2
92 )
93 as
94 ddp_start_date date;
95 ddp_end_date date;
96 ddindx binary_integer; indx binary_integer;
97 begin
98
99 -- copy data to the local IN or IN-OUT args, if any
100
101
102
103
104
105
106 ddp_start_date := rosetta_g_miss_date_in_map(p_start_date);
107
108 ddp_end_date := rosetta_g_miss_date_in_map(p_end_date);
109
110
111
112
113
114 -- here's the delegated call to the old PL/SQL routine
115 jtf_rs_grp_membership_pub.update_group_membership(p_api_version,
116 p_init_msg_list,
117 p_commit,
118 p_resource_id,
119 p_role_id,
120 p_role_relate_id,
121 ddp_start_date,
122 ddp_end_date,
123 p_object_version_num,
124 x_return_status,
125 x_msg_count,
126 x_msg_data);
127
128 -- copy data back from the local OUT or IN-OUT args, if any
129
130
131
132
133
134
135
136
137
138
139
140 end;
141
142 end jtf_rs_grp_membership_pub_w;