[Home] [Help]
PACKAGE BODY: APPS.IBE_CFG_CONFIG_PVT
Source
1 PACKAGE BODY ibe_cfg_config_pvt AS
2 /* $Header: IBEVFSCB.pls 120.1 2005/07/20 23:10:58 appldev ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ibe_cfg_config_pvt';
5 l_true VARCHAR2(1) := FND_API.G_TRUE;
6
7 procedure Get_Config_Launch_Info(
8 p_api_version IN NUMBER,
9 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
10 p_commit IN VARCHAR2 := FND_API.g_false,
11 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
12 x_return_status OUT NOCOPY VARCHAR2,
13 x_msg_count OUT NOCOPY NUMBER,
14 x_msg_data OUT NOCOPY VARCHAR2,
15 p_itemid IN NUMBER,
16 p_organization_id IN NUMBER,
17 x_configurable OUT NOCOPY VARCHAR2,
18 -- x_icx_sessn_tkt OUT NOCOPY VARCHAR2, -- taken out as we're using a new java api for bug 3137603
19 x_db_id OUT NOCOPY VARCHAR2,
20 x_servlet_url OUT NOCOPY VARCHAR2,
21 x_sysdate OUT NOCOPY VARCHAR2
22 ) is
23 l_api_name CONSTANT VARCHAR2(30) := 'Get_Config_Launch_Info';
24 l_api_version CONSTANT NUMBER := 1.0;
25
26 l_ui_def_id NUMBER;
27 l_resp_id NUMBER;
28 l_resp_appl_id NUMBER;
29 l_log_enabled VARCHAR2(1) := 'N';
30 l_user_id NUMBER;
31 begin
32 l_user_id := fnd_global.user_id;
33 l_log_enabled := fnd_profile.value_specific(
34 name =>'IBE_DEBUG',
35 user_id => l_user_id);
36 if (l_log_enabled = 'Y') then
37 ----IBE_Util.Enable_Debug;
38 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
39 ibe_util.debug('Starting ibe_cfg_config_pvt.Get_Config_Launch_Info ');
40 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - Key Input: item_id: ' || p_itemid || 'organizationid: ' || p_organization_id);
41 END IF;
42 end if;
43
44 SAVEPOINT Get_Config_Launch_Info_Pvt;
45 -- Standard call to check for call compatibility.
46 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
47 p_api_version ,
48 l_api_name ,
49 G_PKG_NAME )
50 THEN
51 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
52 END IF;
53
54 -- Initialize message list if p_init_msg_list is set to TRUE.
55 IF FND_API.to_Boolean( p_init_msg_list ) THEN
56 FND_MSG_PUB.initialize;
57 END IF;
58
59 -- Initialize API rturn status to success
60 x_return_status := FND_API.g_ret_sts_success;
61
62 -- just something to get working for now
63
64 l_resp_id := fnd_profile.value('RESP_ID');
65 l_resp_appl_id := fnd_profile.value('RESP_APPL_ID');
66
67 if (l_log_enabled = 'Y') then
68 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
69 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - responsibility id ' || l_resp_id);
70 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - calling app id ' || l_resp_appl_id);
71 END IF;
72 -- call configurator API
73 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
74 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - calling CZ_CF_API.UI_FOR_ITEM');
75 END IF;
76 end if;
77 l_ui_def_id := CZ_CF_API.UI_FOR_ITEM (p_itemid, p_organization_id, SYSDATE,
78 'DHTML', FND_API.G_MISS_NUM, l_resp_id, l_resp_appl_id);
79 if (l_log_enabled = 'Y') then
80 ----IBE_Util.Enable_Debug;
81 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
82 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - back from CZ_CF_API.UI_FOR_ITEM');
83 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - l_ui_def_id: ' || to_char(l_ui_def_id));
84 END IF;
85 end if;
86
87 IF l_ui_def_id IS NULL THEN
88 x_configurable := FND_API.G_FALSE;
89 ELSE
90 x_configurable := FND_API.G_TRUE;
91 END IF;
92
93 -- get icx session ticket
94 -- x_icx_sessn_tkt := CZ_CF_API.ICX_SESSION_TICKET;
95
96 -- get the dbc file name
97 x_db_id := FND_WEB_CONFIG.DATABASE_ID;
98
99 -- get the URL for servlet
100 x_servlet_url := fnd_profile.value('CZ_UIMGR_URL');
101
102 -- get the SYSDATE
103 x_sysdate := to_char(sysdate,'mm-dd-yyyy-hh24-mi-ss');
104
105 if (l_log_enabled = 'Y') then
106 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
107 -- ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - x_icx_sessn_tkt: ' || x_icx_sessn_tkt);
108 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - x_db_id : ' || x_db_id );
109 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - x_servlet_url : ' || x_servlet_url);
110 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info - x_sysdate : ' || x_sysdate);
111 END IF;
112 end if;
113
114 IF FND_API.To_Boolean( p_commit ) THEN
115 COMMIT WORK;
116 END IF;
117 FND_MSG_PUB.Count_And_Get
118 ( p_encoded => FND_API.G_FALSE,
119 p_count => x_msg_count,
120 p_data => x_msg_data
121 );
122 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
123 ibe_util.debug('Done with ibe_cfg_config_pvt.Get_Config_Launch_Info');
124 END IF;
125 --IBE_Util.Disable_Debug;
126 EXCEPTION
127 WHEN FND_API.G_EXC_ERROR THEN
128 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
129 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info: EXPECTED ERROR EXCEPTION ');
130 END IF;
131 ROLLBACK TO Get_Config_Launch_Info_Pvt;
132 x_return_status := FND_API.G_RET_STS_ERROR ;
133 FND_MSG_PUB.Count_And_Get
134 ( p_encoded => FND_API.G_FALSE,
135 p_count => x_msg_count,
136 p_data => x_msg_data
137 );
138 --IBE_Util.Disable_Debug;
139 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
140 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
141 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info: UNEXPECTED ERROR EXCEPTION ');
142 END IF;
143 ROLLBACK TO Get_Config_Launch_Info_Pvt;
144 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
145 FND_MSG_PUB.Count_And_Get
146 ( p_encoded => FND_API.G_FALSE,
147 p_count => x_msg_count,
148 p_data => x_msg_data
149 );
150 --IBE_Util.Disable_Debug;
151 WHEN OTHERS THEN
152 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
153 ibe_util.debug('ibe_cfg_config_pvt.Get_Config_Launch_Info: OTHER EXCEPTION ');
154 END IF;
155 ROLLBACK TO Get_Config_Launch_Info_Pvt;
156 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
157 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
158 THEN
159 FND_MSG_PUB.Add_Exc_Msg
160 ( G_PKG_NAME,
161 l_api_name
162 );
163 END IF;
164 FND_MSG_PUB.Count_And_Get
165 ( p_encoded => FND_API.G_FALSE,
166 p_count => x_msg_count,
167 p_data => x_msg_data
168 );
169 --IBE_Util.Disable_Debug;
170
171 end Get_Config_Launch_Info;
172
173 procedure Add_Config_To_Quote(
174 p_api_version IN NUMBER,
175 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
176 p_commit IN VARCHAR2 := FND_API.g_false,
177 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
178 x_return_status OUT NOCOPY VARCHAR2,
179 x_msg_count OUT NOCOPY NUMBER,
180 x_msg_data OUT NOCOPY VARCHAR2,
181 p_quote_hdr_id IN NUMBER := FND_API.g_miss_num,
182 p_quote_line_id IN NUMBER := FND_API.g_miss_num,
183 p_cfg_hdr_id IN NUMBER := FND_API.g_miss_num,
184 p_cfg_rev_num IN NUMBER := FND_API.g_miss_num,
185 p_valid_cfg IN VARCHAR2 := 'Y',
186 p_complete_cfg IN VARCHAR2 := 'Y',
187 p_pricing_request_type IN VARCHAR2 := FND_API.g_miss_char,
188 p_header_pricing_event IN VARCHAR2 := FND_API.g_miss_char,
189 p_line_pricing_event IN VARCHAR2 := FND_API.g_miss_char,
190 p_calc_tax IN VARCHAR2 := 'Y',
191 p_calc_shipping IN VARCHAR2 := 'Y'
192 ) is
193 l_count NUMBER;
194 p_config_rec aso_quote_pub.qte_line_dtl_rec_type ;
195 p_line_rec aso_quote_pub.qte_line_rec_type ;
196 l_api_name CONSTANT VARCHAR2(30) := 'Add_Config_To_Quote';
197 l_api_version CONSTANT NUMBER := 1.0;
198
199 l_control_rec ASO_QUOTE_PUB.Control_Rec_Type;
200
201 Cursor c_old_cfg_info (p_c_quote_line_id INTEGER)
202 IS select CONFIG_HEADER_ID, CONFIG_REVISION_NUM
203 from ASO_QUOTE_LINE_DETAILS
204 where
205 quote_line_id = p_c_quote_line_id;
206 l_log_enabled VARCHAR2(1) := 'N';
207 l_user_id NUMBER;
208 begin
209 --IBE_Util.Enable_Debug;
210 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
211 ibe_util.debug('Starting ibe_cfg_config_pvt.Add_Config_To_Quote ');
212 END IF;
213 SAVEPOINT Add_Config_To_Quote_Pvt;
214 -- Standard call to check for call compatibility.
215 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
216 p_api_version ,
217 l_api_name ,
218 G_PKG_NAME )
219 THEN
220 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
221 END IF;
222
223 -- Initialize message list if p_init_msg_list is set to TRUE.
224 IF FND_API.to_Boolean( p_init_msg_list ) THEN
225 FND_MSG_PUB.initialize;
226 END IF;
227
228 -- Initialize API rturn status to success
229 x_return_status := FND_API.g_ret_sts_success;
230
231 l_control_rec.pricing_request_type := p_pricing_request_type;
232 l_control_rec.header_pricing_event := p_header_pricing_event;
233 l_control_rec.line_pricing_event := p_line_pricing_event;
234 l_control_rec.CALCULATE_TAX_FLAG := p_calc_tax;
235 l_control_rec.CALCULATE_FREIGHT_CHARGE_FLAG := p_calc_shipping;
236
237 p_config_rec.quote_line_id := p_quote_line_id ;
238 p_config_rec.complete_configuration_flag := p_complete_cfg;
239 p_config_rec.valid_configuration_flag := p_valid_cfg;
240
241 -- Get and pass the previously saved config info from the quote line
242 open c_old_cfg_info(p_quote_line_id);
243 fetch c_old_cfg_info into p_config_rec.config_header_id, p_config_rec.config_revision_num;
244 close c_old_cfg_info;
245
246 l_user_id := fnd_global.user_id;
247 l_log_enabled := fnd_profile.value_specific(
248 name =>'IBE_DEBUG',
249 user_id => l_user_id);
250 if (l_log_enabled = 'Y') then
251 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
252 ibe_util.debug('ibe_cfg_config_pvt.Add_Config_To_Quote - calling ASO_CFG_PUB.Get_config_details ');
253 ibe_util.debug('New Config info:');
254 ibe_util.debug('p_config_hdr_id ' || p_cfg_hdr_id);
255 ibe_util.debug('p_config_rev_nbr ' || p_cfg_rev_num);
256 ibe_util.debug('p_quote_header_id ' || p_quote_hdr_id);
257 ibe_util.debug('p_config_rec.quote_line_id ' || p_quote_line_id);
258 ibe_util.debug('p_config_rec.complete_configuration_flag ' || p_complete_cfg);
259 ibe_util.debug('p_config_rec.valid_configuration_flag ' || p_valid_cfg);
260 ibe_util.debug('Previous Config info (if any):');
261 ibe_util.debug('p_config_rec.config_header_id ' || p_config_rec.config_header_id);
262 ibe_util.debug('p_config_rec.config_revision_num ' || p_config_rec.config_revision_num);
263 ibe_util.debug('Control Rec info:');
264 ibe_util.debug('l_control_rec.pricing_request_type ' || l_control_rec.pricing_request_type );
265 ibe_util.debug('l_control_rec.header_pricing_event ' || l_control_rec.header_pricing_event);
266 ibe_util.debug('l_control_rec.line_pricing_event ' || l_control_rec.line_pricing_event);
267 ibe_util.debug('l_control_rec.CALCULATE_TAX_FLAG ' || l_control_rec.CALCULATE_TAX_FLAG);
268 ibe_util.debug('l_control_rec.CALCULATE_FREIGHT_CHARGE_FLAG ' || l_control_rec.CALCULATE_FREIGHT_CHARGE_FLAG );
269 END IF;
270 end if;
271
272 ASO_CFG_PUB.Get_config_details(
273 P_Api_Version_Number => 1.0 ,
274 P_Init_Msg_List => FND_API.g_false,
275 p_commit => FND_API.g_false,
276 p_control_rec => l_control_rec,
277 p_config_rec => p_config_rec ,
278 p_model_line_rec => p_line_rec ,
279 p_config_hdr_id => p_cfg_hdr_id ,
280 p_config_rev_nbr => p_cfg_rev_num ,
281 p_quote_header_id => p_quote_hdr_id,
282 x_return_status => x_return_status ,
283 x_msg_count => x_msg_count ,
284 x_msg_data => x_msg_data);
285 --IBE_Util.Enable_Debug;
286 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
287 ibe_util.debug('ibe_cfg_config_pvt.Add_Config_To_Quote - back from ASO_CFG_PUB.Get_config_details ');
288 END IF;
289
290 if x_return_status <> FND_API.g_ret_sts_success then
291 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
292 ibe_util.debug('ibe_cfg_config_pvt.Add_Config_To_Quote - non success status from ASO_CFG_PUB.Get_config_details: ' || x_return_status);
293 END IF;
294 FND_MESSAGE.SET_NAME('IBE','IBE_PLSQL_API_ERROR');
295 FND_MESSAGE.SET_TOKEN ( '0' , 'Add_Config_To_Quote - ASO_CFG_PUB.Get_config_details' );
296 FND_MESSAGE.SET_TOKEN ( '1' , x_return_status );
297 FND_MSG_PUB.Add;
298 if x_return_status = FND_API.G_RET_STS_ERROR then
299 RAISE FND_API.G_EXC_ERROR;
300 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
301 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
302 end if;
303 end if;
304
305
306 IF FND_API.To_Boolean( p_commit ) THEN
307 COMMIT WORK;
308 END IF;
309 FND_MSG_PUB.Count_And_Get
310 ( p_encoded => FND_API.G_FALSE,
311 p_count => x_msg_count,
312 p_data => x_msg_data
313 );
314 --IBE_Util.Disable_Debug;
315 EXCEPTION
316 WHEN FND_API.G_EXC_ERROR THEN
317 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
318 ibe_util.debug('ibe_cfg_config_pvt.Add_Config_To_Quote: EXPECTED ERROR EXCEPTION ');
319 END IF;
320 ROLLBACK TO Add_Config_To_Quote_Pvt;
321 x_return_status := FND_API.G_RET_STS_ERROR ;
322 FND_MSG_PUB.Count_And_Get
323 ( p_encoded => FND_API.G_FALSE,
324 p_count => x_msg_count,
325 p_data => x_msg_data
326 );
327 --IBE_Util.Disable_Debug;
328 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
329 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
330 ibe_util.debug('ibe_cfg_config_pvt.Add_Config_To_Quote: UNEXPECTED ERROR EXCEPTION ');
331 END IF;
332 ROLLBACK TO Add_Config_To_Quote_Pvt;
333 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
334 FND_MSG_PUB.Count_And_Get
335 ( p_encoded => FND_API.G_FALSE,
336 p_count => x_msg_count,
337 p_data => x_msg_data
338 );
339 --IBE_Util.Disable_Debug;
340 WHEN OTHERS THEN
341 IF (IBE_UTIL.G_DEBUGON = l_true) THEN
342 ibe_util.debug('ibe_cfg_config_pvt.Add_Config_To_Quote: OTHER EXCEPTION ');
343 END IF;
344 ROLLBACK TO Add_Config_To_Quote_Pvt;
345 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
346 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
347 THEN
348 FND_MSG_PUB.Add_Exc_Msg
349 ( G_PKG_NAME,
350 l_api_name
351 );
352 END IF;
353 FND_MSG_PUB.Count_And_Get
354 ( p_encoded => FND_API.G_FALSE,
355 p_count => x_msg_count,
356 p_data => x_msg_data
357 );
358 --IBE_Util.Disable_Debug;
359
360 end Add_Config_To_Quote;
361
362 end ibe_cfg_config_pvt;