[Home] [Help]
PACKAGE BODY: APPS.OKL_OPT_RUL_TMP_PVT
Source
1 Package BODY Okl_Opt_Rul_Tmp_Pvt AS
2 /* $Header: OKLRRTMB.pls 115.1 2002/02/25 17:08:24 pkm ship $ */
3
4 PROCEDURE insert_row(
5 p_api_version IN NUMBER,
6 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
7 x_return_status OUT NOCOPY VARCHAR2,
8 x_msg_count OUT NOCOPY NUMBER,
9 x_msg_data OUT NOCOPY VARCHAR2,
10 p_ovd_id IN NUMBER,
11 p_rgrv_rec IN rgrv_rec_type,
12 x_rgrv_rec OUT NOCOPY rgrv_rec_type)
13 IS
14
15 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
16 l_ovtv_rec ovtv_rec_type;
17 x_ovtv_rec ovtv_rec_type;
18
19 --PK of OVD to retrieve context:
20 -- Passed as IN information to get context info
21 l_ovd_id NUMBER;
22
23 l_rgd_code okl_opt_rules.RGR_RGD_CODE%TYPE;
24 l_rdf_code okl_opt_rules.RGR_RDF_CODE%TYPE;
25
26 --Local definition of an OKC_RULES_B record which actually is passsed to the
27 --RUL TAPI. It copies fields from the incoming record.
28 l_rulv_rec rulv_rec_type;
29 x_rulv_rec rulv_rec_type;
30
31 CURSOR context_info (p_in_id NUMBER) IS
32 SELECT rgr_rgd_code,
33 rgr_rdf_code
34 FROM OKL_OPT_RULES ORL,
35 OKL_OPV_RULES OVD
36 WHERE OVD.ORL_ID = ORL.ID
37 AND OVD.ID = p_in_id;
38
39 l_msg_count NUMBER ;
40 l_msg_data VARCHAR2(2000);
41
42 BEGIN
43 SAVEPOINT Opt_Rul_Tmp_insert;
44
45 l_ovd_id := p_ovd_id;
46
47 OPEN context_info(l_ovd_id);
48 FETCH context_info INTO l_rgd_code, l_rdf_code;
49 CLOSE context_info;
50
51 l_rulv_rec.OBJECT1_ID1 := p_rgrv_rec.OBJECT1_ID1;
52 l_rulv_rec.OBJECT2_ID1 := p_rgrv_rec.OBJECT2_ID1;
53 l_rulv_rec.OBJECT3_ID1 := p_rgrv_rec.OBJECT3_ID1;
54 l_rulv_rec.OBJECT1_ID2 := p_rgrv_rec.OBJECT1_ID2;
55 l_rulv_rec.OBJECT2_ID2 := p_rgrv_rec.OBJECT2_ID2;
56 l_rulv_rec.OBJECT3_ID2 := p_rgrv_rec.OBJECT3_ID2;
57 l_rulv_rec.JTOT_OBJECT1_CODE := p_rgrv_rec.JTOT_OBJECT1_CODE;
58 l_rulv_rec.JTOT_OBJECT2_CODE := p_rgrv_rec.JTOT_OBJECT2_CODE;
59 l_rulv_rec.JTOT_OBJECT3_CODE := p_rgrv_rec.JTOT_OBJECT3_CODE;
60 l_rulv_rec.PRIORITY := NULL;
61 l_rulv_rec.STD_TEMPLATE_YN := 'Y';
62 l_rulv_rec.COMMENTS := p_rgrv_rec.COMMENTS;
63 l_rulv_rec.WARN_YN := 'Y';
64 l_rulv_rec.ATTRIBUTE_CATEGORY := NULL;
65 l_rulv_rec.ATTRIBUTE1 := NULL;
66 l_rulv_rec.ATTRIBUTE2 := NULL;
67 l_rulv_rec.ATTRIBUTE3 := NULL;
68 l_rulv_rec.ATTRIBUTE4 := NULL;
69 l_rulv_rec.ATTRIBUTE5 := NULL;
70 l_rulv_rec.ATTRIBUTE6 := NULL;
71 l_rulv_rec.ATTRIBUTE7 := NULL;
72 l_rulv_rec.ATTRIBUTE8 := NULL;
73 l_rulv_rec.ATTRIBUTE9 := NULL;
74 l_rulv_rec.ATTRIBUTE10 := NULL;
75 l_rulv_rec.ATTRIBUTE11 := NULL;
76 l_rulv_rec.ATTRIBUTE12 := NULL;
77 l_rulv_rec.ATTRIBUTE13 := NULL;
78 l_rulv_rec.ATTRIBUTE14 := NULL;
79 l_rulv_rec.RULE_INFORMATION_CATEGORY := p_rgrv_rec.RULE_INFORMATION_CATEGORY;
80 l_rulv_rec.RULE_INFORMATION1 := p_rgrv_rec.RULE_INFORMATION1;
81 l_rulv_rec.RULE_INFORMATION2 := p_rgrv_rec.RULE_INFORMATION2;
82 l_rulv_rec.RULE_INFORMATION3 := p_rgrv_rec.RULE_INFORMATION3;
83 l_rulv_rec.RULE_INFORMATION4 := p_rgrv_rec.RULE_INFORMATION4;
84 l_rulv_rec.RULE_INFORMATION5 := p_rgrv_rec.RULE_INFORMATION5;
85 l_rulv_rec.RULE_INFORMATION6 := p_rgrv_rec.RULE_INFORMATION6;
86 l_rulv_rec.RULE_INFORMATION7 := p_rgrv_rec.RULE_INFORMATION7;
87 l_rulv_rec.RULE_INFORMATION8 := p_rgrv_rec.RULE_INFORMATION8;
88 l_rulv_rec.RULE_INFORMATION9 := p_rgrv_rec.RULE_INFORMATION9;
89 l_rulv_rec.RULE_INFORMATION10 := p_rgrv_rec.RULE_INFORMATION10;
90 l_rulv_rec.RULE_INFORMATION11 := p_rgrv_rec.RULE_INFORMATION11;
91 l_rulv_rec.RULE_INFORMATION12 := p_rgrv_rec.RULE_INFORMATION12;
92 l_rulv_rec.RULE_INFORMATION13 := p_rgrv_rec.RULE_INFORMATION13;
93 l_rulv_rec.RULE_INFORMATION14 := p_rgrv_rec.RULE_INFORMATION14;
94 l_rulv_rec.RULE_INFORMATION15 := p_rgrv_rec.RULE_INFORMATION15;
95 l_rulv_rec.TEMPLATE_YN := 'Y';
96 l_rulv_rec.ANS_SET_JTOT_OBJECT_CODE := NULL;
97 l_rulv_rec.ANS_SET_JTOT_OBJECT_ID1 := NULL;
98 l_rulv_rec.ANS_SET_JTOT_OBJECT_ID2 := NULL;
99 l_rulv_rec.DISPLAY_SEQUENCE := NULL;
100
101
102 Okc_Rul_Pvt.INSERT_ROW(
103 p_api_version,
104 p_init_msg_list,
105 x_return_status,
106 x_msg_count,
107 x_msg_data,
108 l_rulv_rec,
109 x_rulv_rec);
110
111 -- Populate mandatory fields for the creation of in
112 l_ovtv_rec.ovd_id := l_ovd_id;
113 l_ovtv_rec.RUL_ID := x_rulv_rec.id;
114 l_ovtv_rec.SEQUENCE_NUMBER := 1;
115 --Create Intersection Record between Option Values and Rule Template
116 Okl_Ovd_Rul_Tmls_Pub.insert_ovd_rul_tmls(p_api_version => p_api_version,
117 p_init_msg_list => p_init_msg_list,
118 x_return_status => l_return_status,
119 x_msg_count => x_msg_count,
120 x_msg_data => x_msg_data,
121 p_ovtv_rec => l_ovtv_rec,
122 x_ovtv_rec => x_ovtv_rec);
123 EXCEPTION
124 WHEN Fnd_Api.G_EXC_ERROR THEN
125 ROLLBACK TO Opt_Rul_Tmp_insert;
126 x_return_status := Fnd_Api.G_RET_STS_ERROR;
127 x_msg_count := l_msg_count ;
128 x_msg_data := l_msg_data ;
129 Fnd_Msg_Pub.count_and_get(
130 p_count => x_msg_count
131 ,p_data => x_msg_data);
132 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
133 ROLLBACK TO Opt_Rul_Tmp_insert;
134 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
135 x_msg_count := l_msg_count ;
136 x_msg_data := l_msg_data ;
137 Fnd_Msg_Pub.count_and_get(
138 p_count => x_msg_count
139 ,p_data => x_msg_data);
140 WHEN OTHERS THEN
141 ROLLBACK TO Opt_Rul_Tmp_insert;
142 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
143 x_msg_count := l_msg_count ;
144 x_msg_data := l_msg_data ;
145 Fnd_Msg_Pub.ADD_EXC_MSG('OKL_Opt_Rul_Tmp_PVT','insert_Opt_Rul_Tmp');
146 Fnd_Msg_Pub.count_and_get(
147 p_count => x_msg_count
148 ,p_data => x_msg_data);
149 END insert_row;
150
151
152 PROCEDURE insert_row(
153 p_api_version IN NUMBER,
154 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
155 x_return_status OUT NOCOPY VARCHAR2,
156 x_msg_count OUT NOCOPY NUMBER,
157 x_msg_data OUT NOCOPY VARCHAR2,
158 p_ovd_id IN NUMBER,
159 p_rgrv_tbl IN rgrv_tbl_type,
160 x_rgrv_tbl OUT NOCOPY rgrv_tbl_type)
161 IS
162
163 p_rgrv_rec rgrv_rec_type;
164 x_rgrv_rec rgrv_rec_type;
165
166 l_msg_count NUMBER ;
167 l_msg_data VARCHAR2(2000);
168
169 BEGIN
170 SAVEPOINT Opt_Rul_Tmp_insert;
171
172 FOR i IN p_rgrv_tbl.first..p_rgrv_tbl.COUNT LOOP
173
174 p_rgrv_rec := p_rgrv_tbl(i);
175
176 Okl_Opt_Rul_Tmp_Pvt.insert_row(
177 p_api_version
178 ,p_init_msg_list
179 ,x_return_status
180 ,x_msg_count
181 ,x_msg_data
182 ,p_ovd_id
183 ,p_rgrv_rec
184 ,x_rgrv_rec);
185
186 END LOOP;
187 EXCEPTION
188 WHEN Fnd_Api.G_EXC_ERROR THEN
189 ROLLBACK TO Opt_Rul_Tmp_insert;
190 x_return_status := Fnd_Api.G_RET_STS_ERROR;
191 x_msg_count := l_msg_count ;
192 x_msg_data := l_msg_data ;
193 Fnd_Msg_Pub.count_and_get(
194 p_count => x_msg_count
195 ,p_data => x_msg_data);
196 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
197 ROLLBACK TO Opt_Rul_Tmp_insert;
198 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
199 x_msg_count := l_msg_count ;
200 x_msg_data := l_msg_data ;
201 Fnd_Msg_Pub.count_and_get(
202 p_count => x_msg_count
203 ,p_data => x_msg_data);
204 WHEN OTHERS THEN
205 ROLLBACK TO Opt_Rul_Tmp_insert;
206 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
207 x_msg_count := l_msg_count ;
208 x_msg_data := l_msg_data ;
209 Fnd_Msg_Pub.ADD_EXC_MSG('OKL_Opt_Rul_Tmp_PVT','insert_Opt_Rul_Tmp');
210 Fnd_Msg_Pub.count_and_get(
211 p_count => x_msg_count
212 ,p_data => x_msg_data);
213 END insert_row;
214
215
216 PROCEDURE update_row(
217 p_api_version IN NUMBER,
218 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
219 x_return_status OUT NOCOPY VARCHAR2,
220 x_msg_count OUT NOCOPY NUMBER,
221 x_msg_data OUT NOCOPY VARCHAR2,
222 p_rgrv_rec IN rgrv_rec_type,
223 x_rgrv_rec OUT NOCOPY rgrv_rec_type)
224 IS
225 BEGIN
226 NULL;
227 END update_row;
228
229
230 PROCEDURE update_row(
231 p_api_version IN NUMBER,
232 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
233 x_return_status OUT NOCOPY VARCHAR2,
234 x_msg_count OUT NOCOPY NUMBER,
235 x_msg_data OUT NOCOPY VARCHAR2,
236 p_rgrv_tbl IN rgrv_tbl_type,
237 x_rgrv_tbl OUT NOCOPY rgrv_tbl_type)
238 IS
239 BEGIN
240 NULL;
241 END update_row;
242
243
244 PROCEDURE delete_row(
245 p_api_version IN NUMBER,
246 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
247 x_return_status OUT NOCOPY VARCHAR2,
248 x_msg_count OUT NOCOPY NUMBER,
249 x_msg_data OUT NOCOPY VARCHAR2,
250 p_rgrv_rec IN rgrv_rec_type)
251 IS
252 BEGIN
253 NULL;
254 END delete_row;
255
256
257 PROCEDURE delete_row(
258 p_api_version IN NUMBER,
259 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
260 x_return_status OUT NOCOPY VARCHAR2,
261 x_msg_count OUT NOCOPY NUMBER,
262 x_msg_data OUT NOCOPY VARCHAR2,
263 p_rgrv_tbl IN rgrv_tbl_type)
264 IS
265 BEGIN
266 NULL;
267 END delete_row;
268
269
270 END Okl_Opt_Rul_Tmp_Pvt;