DBA Data[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;