[Home] [Help]
PACKAGE BODY: APPS.JTF_LOGICALCONTENT_GRP_W
Source
1 package body jtf_logicalcontent_grp_w as
2 /* $Header: JTFGRLTB.pls 115.6 2004/07/09 18:50:44 applrt 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 function rosetta_g_miss_num_map(n number) return number as
7 a number := fnd_api.g_miss_num;
8 b number := 0-1962.0724;
9 begin
10 if n=a then return b; end if;
11 if n=b then return a; end if;
12 return n;
13 end;
14
15 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16 function rosetta_g_miss_date_in_map(d date) return date as
17 begin
18 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19 return d;
20 end;
21
22 procedure rosetta_table_copy_in_p3(t out jtf_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 := a1(indx);
38 t(ddindx).object_version_number := a2(indx);
39 t(ddindx).object_id := a3(indx);
40 t(ddindx).context_id := a4(indx);
41 t(ddindx).deliverable_id := 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 jtf_logicalcontent_grp.obj_lgl_ctnt_tbl_type, a0 out JTF_VARCHAR2_TABLE_100
52 , a1 out JTF_NUMBER_TABLE
53 , a2 out JTF_NUMBER_TABLE
54 , a3 out JTF_NUMBER_TABLE
55 , a4 out JTF_NUMBER_TABLE
56 , a5 out 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) := t(ddindx).obj_lgl_ctnt_id;
86 a2(indx) := t(ddindx).object_version_number;
87 a3(indx) := t(ddindx).object_id;
88 a4(indx) := t(ddindx).context_id;
89 a5(indx) := 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 VARCHAR2
104 , x_msg_count out NUMBER
105 , x_msg_data out 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 as
115 ddp_lgl_ctnt_tbl jtf_logicalcontent_grp.obj_lgl_ctnt_tbl_type;
116 ddindx binary_integer; indx binary_integer;
117 begin
118
119 -- copy data to the local IN or IN-OUT args, if any
120
121
122
123
124
125
126
127 jtf_logicalcontent_grp_w.rosetta_table_copy_in_p3(ddp_lgl_ctnt_tbl, p7_a0
128 , p7_a1
129 , p7_a2
130 , p7_a3
131 , p7_a4
132 , p7_a5
133 );
134
135 -- here's the delegated call to the old PL/SQL routine
136 jtf_logicalcontent_grp.save_delete_lgl_ctnt(p_api_version,
137 p_init_msg_list,
138 p_commit,
139 x_return_status,
140 x_msg_count,
141 x_msg_data,
142 p_object_type_code,
143 ddp_lgl_ctnt_tbl);
144
145 -- copy data back from the local OUT or IN-OUT args, if any
146
147
148
149
150
151
152
153 end;
154
155 end jtf_logicalcontent_grp_w;