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