DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBE_LOGICALCONTENT_GRP_W

Source


1 package body ibe_logicalcontent_grp_w as
2   /* $Header: IBEGRLTB.pls 115.1 2002/12/31 11:10:39 schak 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 rosetta_table_copy_in_p3(t out nocopy ibe_logicalcontent_grp.obj_lgl_ctnt_tbl_type, a0 JTF_VARCHAR2_TABLE_100
23     , a1 JTF_NUMBER_TABLE
24     , a2 JTF_NUMBER_TABLE
25     , a3 JTF_NUMBER_TABLE
26     , a4 JTF_NUMBER_TABLE
27     , a5 JTF_NUMBER_TABLE
28     ) as
29     ddindx binary_integer; indx binary_integer;
30   begin
31   if a0 is not null and a0.count > 0 then
32       if a0.count > 0 then
33         indx := a0.first;
34         ddindx := 1;
35         while true loop
36           t(ddindx).obj_lgl_ctnt_delete := a0(indx);
37           t(ddindx).obj_lgl_ctnt_id := rosetta_g_miss_num_map(a1(indx));
38           t(ddindx).object_version_number := rosetta_g_miss_num_map(a2(indx));
39           t(ddindx).object_id := rosetta_g_miss_num_map(a3(indx));
40           t(ddindx).context_id := rosetta_g_miss_num_map(a4(indx));
41           t(ddindx).deliverable_id := rosetta_g_miss_num_map(a5(indx));
42           ddindx := ddindx+1;
43           if a0.last =indx
44             then exit;
45           end if;
46           indx := a0.next(indx);
47         end loop;
48       end if;
49    end if;
50   end rosetta_table_copy_in_p3;
51   procedure rosetta_table_copy_out_p3(t ibe_logicalcontent_grp.obj_lgl_ctnt_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
52     , a1 out nocopy JTF_NUMBER_TABLE
53     , a2 out nocopy JTF_NUMBER_TABLE
54     , a3 out nocopy JTF_NUMBER_TABLE
55     , a4 out nocopy JTF_NUMBER_TABLE
56     , a5 out nocopy JTF_NUMBER_TABLE
57     ) as
58     ddindx binary_integer; indx binary_integer;
59   begin
60   if t is null or t.count = 0 then
61     a0 := JTF_VARCHAR2_TABLE_100();
62     a1 := JTF_NUMBER_TABLE();
63     a2 := JTF_NUMBER_TABLE();
64     a3 := JTF_NUMBER_TABLE();
65     a4 := JTF_NUMBER_TABLE();
66     a5 := JTF_NUMBER_TABLE();
67   else
68       a0 := JTF_VARCHAR2_TABLE_100();
69       a1 := JTF_NUMBER_TABLE();
70       a2 := JTF_NUMBER_TABLE();
71       a3 := JTF_NUMBER_TABLE();
72       a4 := JTF_NUMBER_TABLE();
73       a5 := JTF_NUMBER_TABLE();
74       if t.count > 0 then
75         a0.extend(t.count);
76         a1.extend(t.count);
77         a2.extend(t.count);
78         a3.extend(t.count);
79         a4.extend(t.count);
80         a5.extend(t.count);
81         ddindx := t.first;
82         indx := 1;
83         while true loop
84           a0(indx) := t(ddindx).obj_lgl_ctnt_delete;
85           a1(indx) := rosetta_g_miss_num_map(t(ddindx).obj_lgl_ctnt_id);
86           a2(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
87           a3(indx) := rosetta_g_miss_num_map(t(ddindx).object_id);
88           a4(indx) := rosetta_g_miss_num_map(t(ddindx).context_id);
89           a5(indx) := rosetta_g_miss_num_map(t(ddindx).deliverable_id);
90           indx := indx+1;
91           if t.last =ddindx
92             then exit;
93           end if;
94           ddindx := t.next(ddindx);
95         end loop;
96       end if;
97    end if;
98   end rosetta_table_copy_out_p3;
99 
100   procedure save_delete_lgl_ctnt(p_api_version  NUMBER
101     , p_init_msg_list  VARCHAR2
102     , p_commit  VARCHAR2
103     , x_return_status out nocopy  VARCHAR2
104     , x_msg_count out nocopy  NUMBER
105     , x_msg_data out nocopy  VARCHAR2
106     , p_object_type_code  VARCHAR2
107     , p7_a0 JTF_VARCHAR2_TABLE_100
108     , p7_a1 JTF_NUMBER_TABLE
109     , p7_a2 JTF_NUMBER_TABLE
110     , p7_a3 JTF_NUMBER_TABLE
111     , p7_a4 JTF_NUMBER_TABLE
112     , p7_a5 JTF_NUMBER_TABLE
113   )
114 
115   as
116     ddp_lgl_ctnt_tbl ibe_logicalcontent_grp.obj_lgl_ctnt_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     ibe_logicalcontent_grp_w.rosetta_table_copy_in_p3(ddp_lgl_ctnt_tbl, p7_a0
129       , p7_a1
130       , p7_a2
131       , p7_a3
132       , p7_a4
133       , p7_a5
134       );
135 
136     -- here's the delegated call to the old PL/SQL routine
137     ibe_logicalcontent_grp.save_delete_lgl_ctnt(p_api_version,
138       p_init_msg_list,
139       p_commit,
140       x_return_status,
141       x_msg_count,
142       x_msg_data,
143       p_object_type_code,
144       ddp_lgl_ctnt_tbl);
145 
146     -- copy data back from the local variables to OUT or IN-OUT args, if any
147 
148 
149 
150 
151 
152 
153 
154   end;
155 
156 end ibe_logicalcontent_grp_w;