1 package body amv_mychannel_grp_w as
2 /* $Header: amvwmcgb.pls 120.2 2005/06/30 08:20 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 -- 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 get_mychannels(p_api_version NUMBER
23 , p_init_msg_list VARCHAR2
24 , p_validation_level NUMBER
25 , x_return_status out nocopy VARCHAR2
26 , x_msg_count out nocopy NUMBER
27 , x_msg_data out nocopy VARCHAR2
28 , p_check_login_user VARCHAR2
29 , p_user_id NUMBER
30 , p8_a0 out nocopy JTF_NUMBER_TABLE
31 , p8_a1 out nocopy JTF_VARCHAR2_TABLE_100
32 , p8_a2 out nocopy JTF_VARCHAR2_TABLE_100
33 , p8_a3 out nocopy JTF_NUMBER_TABLE
34 , p8_a4 out nocopy JTF_VARCHAR2_TABLE_100
35 , p8_a5 out nocopy JTF_NUMBER_TABLE
36 , p8_a6 out nocopy JTF_VARCHAR2_TABLE_100
37 , p8_a7 out nocopy JTF_VARCHAR2_TABLE_100
38 , p8_a8 out nocopy JTF_NUMBER_TABLE
39 , p8_a9 out nocopy JTF_VARCHAR2_TABLE_100
40 , p8_a10 out nocopy JTF_VARCHAR2_TABLE_100
41 , p8_a11 out nocopy JTF_VARCHAR2_TABLE_100
42 )
43
44 as
45 ddx_mychannel_array amv_mychannel_pvt.amv_my_channel_varray_type;
46 ddindx binary_integer; indx binary_integer;
47 begin
48
49 -- copy data to the local IN or IN-OUT args, if any
50
51
52
53
54
55
56
57
58
59 -- here's the delegated call to the old PL/SQL routine
60 amv_mychannel_grp.get_mychannels(p_api_version,
61 p_init_msg_list,
62 p_validation_level,
63 x_return_status,
64 x_msg_count,
65 x_msg_data,
66 p_check_login_user,
67 p_user_id,
68 ddx_mychannel_array);
69
70 -- copy data back from the local variables to OUT or IN-OUT args, if any
71
72
73
74
75
76
77
78
79 amv_mychannel_pvt_w.rosetta_table_copy_out_p6(ddx_mychannel_array, p8_a0
80 , p8_a1
81 , p8_a2
82 , p8_a3
83 , p8_a4
84 , p8_a5
85 , p8_a6
86 , p8_a7
87 , p8_a8
88 , p8_a9
89 , p8_a10
90 , p8_a11
91 );
92 end;
93
94 procedure get_itemsperuser(p_api_version NUMBER
95 , p_init_msg_list VARCHAR2
96 , p_validation_level NUMBER
97 , x_return_status out nocopy VARCHAR2
98 , x_msg_count out nocopy NUMBER
99 , x_msg_data out nocopy VARCHAR2
100 , p_check_login_user VARCHAR2
101 , p_user_id NUMBER
102 , p9_a0 out nocopy NUMBER
103 , p9_a1 out nocopy NUMBER
104 , p9_a2 out nocopy NUMBER
105 , p10_a0 out nocopy JTF_NUMBER_TABLE
106 , p10_a1 out nocopy JTF_NUMBER_TABLE
107 , p10_a2 out nocopy JTF_VARCHAR2_TABLE_300
108 , p8_a0 NUMBER := 0-1962.0724
109 , p8_a1 NUMBER := 0-1962.0724
110 , p8_a2 VARCHAR2 := fnd_api.g_miss_char
111 )
112
113 as
114 ddp_request_obj amv_mychannel_pvt.amv_request_obj_type;
115 ddx_return_obj amv_mychannel_pvt.amv_return_obj_type;
116 ddx_items_array amv_mychannel_pvt.amv_cat_hierarchy_varray_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 ddp_request_obj.records_requested := rosetta_g_miss_num_map(p8_a0);
130 ddp_request_obj.start_record_position := rosetta_g_miss_num_map(p8_a1);
131 ddp_request_obj.return_total_count_flag := p8_a2;
132
133
134
135 -- here's the delegated call to the old PL/SQL routine
136 amv_mychannel_grp.get_itemsperuser(p_api_version,
137 p_init_msg_list,
138 p_validation_level,
139 x_return_status,
140 x_msg_count,
141 x_msg_data,
142 p_check_login_user,
143 p_user_id,
144 ddp_request_obj,
145 ddx_return_obj,
146 ddx_items_array);
147
148 -- copy data back from the local variables to OUT or IN-OUT args, if any
149
150
151
152
153
154
155
156
157
158 p9_a0 := rosetta_g_miss_num_map(ddx_return_obj.returned_record_count);
159 p9_a1 := rosetta_g_miss_num_map(ddx_return_obj.next_record_position);
160 p9_a2 := rosetta_g_miss_num_map(ddx_return_obj.total_record_count);
161
162 amv_mychannel_pvt_w.rosetta_table_copy_out_p4(ddx_items_array, p10_a0
163 , p10_a1
164 , p10_a2
165 );
166 end;
167
168 end amv_mychannel_grp_w;