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