[Home] [Help]
PACKAGE BODY: APPS.CN_TSR_PVT_W
Source
1 package body cn_tsr_pvt_w as
2 /* $Header: cnwtsrb.pls 115.5 2002/11/25 22:32:35 nkodkani 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 -- 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 procedure rosetta_table_copy_in_p1(t out nocopy cn_tsr_pvt.tsr_tbl_type, a0 JTF_VARCHAR2_TABLE_100
14 , a1 JTF_VARCHAR2_TABLE_100
15 , a2 JTF_VARCHAR2_TABLE_100
16 , a3 JTF_VARCHAR2_TABLE_100
17 , a4 JTF_NUMBER_TABLE
18 , a5 JTF_NUMBER_TABLE
19 ) as
20 ddindx binary_integer; indx binary_integer;
21 begin
22 if a0 is not null and a0.count > 0 then
23 if a0.count > 0 then
24 indx := a0.first;
25 ddindx := 1;
26 while true loop
27 t(ddindx).tsr_emp_no := a0(indx);
28 t(ddindx).tsr_name := a1(indx);
29 t(ddindx).mgr_emp_no := a2(indx);
30 t(ddindx).mgr_name := a3(indx);
31 t(ddindx).tsr_srp_id := a4(indx);
32 t(ddindx).tsr_mgr_id := a5(indx);
33 ddindx := ddindx+1;
34 if a0.last =indx
35 then exit;
36 end if;
37 indx := a0.next(indx);
38 end loop;
39 end if;
40 end if;
41 end rosetta_table_copy_in_p1;
42 procedure rosetta_table_copy_out_p1(t cn_tsr_pvt.tsr_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
43 , a1 out nocopy JTF_VARCHAR2_TABLE_100
44 , a2 out nocopy JTF_VARCHAR2_TABLE_100
45 , a3 out nocopy JTF_VARCHAR2_TABLE_100
46 , a4 out nocopy JTF_NUMBER_TABLE
47 , a5 out nocopy JTF_NUMBER_TABLE
48 ) as
49 ddindx binary_integer; indx binary_integer;
50 begin
51 if t is null or t.count = 0 then
52 a0 := JTF_VARCHAR2_TABLE_100();
53 a1 := JTF_VARCHAR2_TABLE_100();
54 a2 := JTF_VARCHAR2_TABLE_100();
55 a3 := JTF_VARCHAR2_TABLE_100();
56 a4 := JTF_NUMBER_TABLE();
57 a5 := JTF_NUMBER_TABLE();
58 else
59 a0 := JTF_VARCHAR2_TABLE_100();
60 a1 := JTF_VARCHAR2_TABLE_100();
61 a2 := JTF_VARCHAR2_TABLE_100();
62 a3 := JTF_VARCHAR2_TABLE_100();
63 a4 := JTF_NUMBER_TABLE();
64 a5 := JTF_NUMBER_TABLE();
65 if t.count > 0 then
66 a0.extend(t.count);
67 a1.extend(t.count);
68 a2.extend(t.count);
69 a3.extend(t.count);
70 a4.extend(t.count);
71 a5.extend(t.count);
72 ddindx := t.first;
73 indx := 1;
74 while true loop
75 a0(indx) := t(ddindx).tsr_emp_no;
76 a1(indx) := t(ddindx).tsr_name;
77 a2(indx) := t(ddindx).mgr_emp_no;
78 a3(indx) := t(ddindx).mgr_name;
79 a4(indx) := t(ddindx).tsr_srp_id;
80 a5(indx) := t(ddindx).tsr_mgr_id;
81 indx := indx+1;
82 if t.last =ddindx
83 then exit;
84 end if;
85 ddindx := t.next(ddindx);
86 end loop;
87 end if;
88 end if;
89 end rosetta_table_copy_out_p1;
90
91 procedure get_tsr_data(p_api_version NUMBER
92 , p_init_msg_list VARCHAR2
93 , p_commit VARCHAR2
94 , p_validation_level NUMBER
95 , x_return_status out nocopy VARCHAR2
96 , x_msg_count out nocopy NUMBER
97 , x_msg_data out nocopy VARCHAR2
98 , p_mgr_id NUMBER
99 , p_comp_group_id NUMBER
100 , p_org_code VARCHAR2
101 , p_period_id date
102 , p_start_row NUMBER
103 , p_rows NUMBER
104 , p13_a0 out nocopy JTF_VARCHAR2_TABLE_100
105 , p13_a1 out nocopy JTF_VARCHAR2_TABLE_100
106 , p13_a2 out nocopy JTF_VARCHAR2_TABLE_100
107 , p13_a3 out nocopy JTF_VARCHAR2_TABLE_100
108 , p13_a4 out nocopy JTF_NUMBER_TABLE
109 , p13_a5 out nocopy JTF_NUMBER_TABLE
110 , x_total_rows out nocopy NUMBER
111 , download VARCHAR2
112 )
113
114 as
115 ddp_period_id date;
116 ddx_tsr_data cn_tsr_pvt.tsr_tbl_type;
117 ddindx binary_integer; indx binary_integer;
118 begin
119
120 -- copy data to the local IN or IN-OUT args, if any
121
122
123
124
125
126
127
128
129
130
131 ddp_period_id := rosetta_g_miss_date_in_map(p_period_id);
132
133
134
135
136
137
138 -- here's the delegated call to the old PL/SQL routine
139 cn_tsr_pvt.get_tsr_data(p_api_version,
140 p_init_msg_list,
141 p_commit,
142 p_validation_level,
143 x_return_status,
144 x_msg_count,
145 x_msg_data,
146 p_mgr_id,
147 p_comp_group_id,
148 p_org_code,
149 ddp_period_id,
150 p_start_row,
151 p_rows,
152 ddx_tsr_data,
153 x_total_rows,
154 download);
155
156 -- copy data back from the local variables to OUT or IN-OUT args, if any
157
158
159
160
161
162
163
164
165
166
167
168
169
170 cn_tsr_pvt_w.rosetta_table_copy_out_p1(ddx_tsr_data, p13_a0
171 , p13_a1
172 , p13_a2
173 , p13_a3
174 , p13_a4
175 , p13_a5
176 );
177
178
179 end;
180
181 end cn_tsr_pvt_w;