[Home] [Help]
PACKAGE BODY: APPS.IEM_EMTA_ADMIN_PVT_W
Source
1 package body iem_emta_admin_pvt_w as
2 /* $Header: iemvemrb.pls 120.1 2005/08/10 14:55 liangxia 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 procedure rosetta_table_copy_in_p1(t out nocopy iem_emta_admin_pvt.acct_info_tbl, a0 JTF_NUMBER_TABLE
14 , a1 JTF_VARCHAR2_TABLE_100
15 , a2 JTF_VARCHAR2_TABLE_100
16 , a3 JTF_VARCHAR2_TABLE_100
17 , a4 JTF_VARCHAR2_TABLE_100
18 , a5 JTF_VARCHAR2_TABLE_300
19 , a6 JTF_NUMBER_TABLE
20 ) as
21 ddindx binary_integer; indx binary_integer;
22 begin
23 if a0 is not null and a0.count > 0 then
24 if a0.count > 0 then
25 indx := a0.first;
26 ddindx := 1;
27 while true loop
28 t(ddindx).account_id := a0(indx);
29 t(ddindx).action := a1(indx);
30 t(ddindx).update_flag := a2(indx);
31 t(ddindx).user_name := a3(indx);
32 t(ddindx).user_password := a4(indx);
33 t(ddindx).in_host := a5(indx);
34 t(ddindx).in_port := a6(indx);
35 ddindx := ddindx+1;
36 if a0.last =indx
37 then exit;
38 end if;
39 indx := a0.next(indx);
40 end loop;
41 end if;
42 end if;
43 end rosetta_table_copy_in_p1;
44 procedure rosetta_table_copy_out_p1(t iem_emta_admin_pvt.acct_info_tbl, a0 out nocopy JTF_NUMBER_TABLE
45 , a1 out nocopy JTF_VARCHAR2_TABLE_100
46 , a2 out nocopy JTF_VARCHAR2_TABLE_100
47 , a3 out nocopy JTF_VARCHAR2_TABLE_100
48 , a4 out nocopy JTF_VARCHAR2_TABLE_100
49 , a5 out nocopy JTF_VARCHAR2_TABLE_300
50 , a6 out nocopy JTF_NUMBER_TABLE
51 ) as
52 ddindx binary_integer; indx binary_integer;
53 begin
54 if t is null or t.count = 0 then
55 a0 := JTF_NUMBER_TABLE();
56 a1 := JTF_VARCHAR2_TABLE_100();
57 a2 := JTF_VARCHAR2_TABLE_100();
58 a3 := JTF_VARCHAR2_TABLE_100();
59 a4 := JTF_VARCHAR2_TABLE_100();
60 a5 := JTF_VARCHAR2_TABLE_300();
61 a6 := JTF_NUMBER_TABLE();
62 else
63 a0 := JTF_NUMBER_TABLE();
64 a1 := JTF_VARCHAR2_TABLE_100();
65 a2 := JTF_VARCHAR2_TABLE_100();
66 a3 := JTF_VARCHAR2_TABLE_100();
67 a4 := JTF_VARCHAR2_TABLE_100();
68 a5 := JTF_VARCHAR2_TABLE_300();
69 a6 := JTF_NUMBER_TABLE();
70 if t.count > 0 then
71 a0.extend(t.count);
72 a1.extend(t.count);
73 a2.extend(t.count);
74 a3.extend(t.count);
75 a4.extend(t.count);
76 a5.extend(t.count);
77 a6.extend(t.count);
78 ddindx := t.first;
79 indx := 1;
80 while true loop
81 a0(indx) := t(ddindx).account_id;
82 a1(indx) := t(ddindx).action;
83 a2(indx) := t(ddindx).update_flag;
84 a3(indx) := t(ddindx).user_name;
85 a4(indx) := t(ddindx).user_password;
86 a5(indx) := t(ddindx).in_host;
87 a6(indx) := t(ddindx).in_port;
88 indx := indx+1;
89 if t.last =ddindx
90 then exit;
91 end if;
92 ddindx := t.next(ddindx);
93 end loop;
94 end if;
95 end if;
96 end rosetta_table_copy_out_p1;
97
98 procedure get_account_info(p_api_version_number NUMBER
99 , p_init_msg_list VARCHAR2
100 , p_commit VARCHAR2
101 , p3_a0 out nocopy JTF_NUMBER_TABLE
102 , p3_a1 out nocopy JTF_VARCHAR2_TABLE_100
103 , p3_a2 out nocopy JTF_VARCHAR2_TABLE_100
104 , p3_a3 out nocopy JTF_VARCHAR2_TABLE_100
105 , p3_a4 out nocopy JTF_VARCHAR2_TABLE_100
106 , p3_a5 out nocopy JTF_VARCHAR2_TABLE_300
107 , p3_a6 out nocopy JTF_NUMBER_TABLE
108 , x_return_status out nocopy VARCHAR2
109 , x_msg_count out nocopy NUMBER
110 , x_msg_data out nocopy VARCHAR2
111 )
112
113 as
114 ddx_acct_info iem_emta_admin_pvt.acct_info_tbl;
115 ddindx binary_integer; indx binary_integer;
116 begin
117
118 -- copy data to the local IN or IN-OUT args, if any
119
120
121
122
123
124
125
126 -- here's the delegated call to the old PL/SQL routine
127 iem_emta_admin_pvt.get_account_info(p_api_version_number,
128 p_init_msg_list,
129 p_commit,
130 ddx_acct_info,
131 x_return_status,
132 x_msg_count,
133 x_msg_data);
134
135 -- copy data back from the local variables to OUT or IN-OUT args, if any
136
137
138
139 iem_emta_admin_pvt_w.rosetta_table_copy_out_p1(ddx_acct_info, p3_a0
140 , p3_a1
141 , p3_a2
142 , p3_a3
143 , p3_a4
144 , p3_a5
145 , p3_a6
146 );
147
148
149
150 end;
151
152 end iem_emta_admin_pvt_w;