[Home] [Help]
PACKAGE BODY: APPS.XDP_INSTALL_BASE
Source
1 PACKAGE BODY XDP_INSTALL_BASE AS
2 /* $Header: XDPIBINB.pls 120.2 2006/07/05 05:40:51 dputhiye noship $ */
3
4 PROCEDURE UPDATE_TXN(p_order_id IN NUMBER,
5 p_line_id IN NUMBER,
6 p_ib_source_id IN NUMBER,
7 p_line_source IN VARCHAR2,
8 p_line_number IN NUMBER,
9 p_error_code OUT NOCOPY NUMBER,
10 p_error_description OUT NOCOPY VARCHAR2);
11
12
13 PROCEDURE UPDATE_CSI(p_order_id IN NUMBER,
14 p_line_id IN NUMBER,
15 p_ib_source_id IN NUMBER,
16 p_error_code OUT NOCOPY NUMBER);
17
18
19 cursor c_update_ib (p_order_id number,p_Line_id number) IS
20 select c.parameter_name
21 ,c.parameter_value
22 ,c.txn_attrib_detail_id
23 ,c.attrib_source_table
24 ,c.attrib_source_id
25 from xdp_order_line_items a,
26 xdp_fulfill_worklist b,
27 xdp_worklist_details c
28 where a.line_item_id = b.line_item_id and
29 b.workitem_instance_id = c.workitem_instance_id and
30 a.order_id = p_order_id and
31 a.line_item_id = p_line_id and
32 a.ib_source <> 'NONE' and
33 c.attrib_source_id is not null and
34 c.modified_flag = 'Y';
35
36 FUNCTION GET_TXN_LINE_ID(p_txn_line_detail_id IN NUMBER) RETURN NUMBER;
37
38 PROCEDURE Log_Debug(p_debug_api IN VARCHAR2,
39 p_debug_msg IN VARCHAR2);
40
41 -- ====================================================
42 -- Update Installed Base
43 -- ====================================================
44
45 PROCEDURE UPDATE_IB(p_order_id IN NUMBER,
46 p_line_id IN NUMBER,
47 p_error_code IN OUT NOCOPY NUMBER,
48 p_error_description OUT NOCOPY VARCHAR2) IS
49
50
51 lv_error_code NUMBER := 0;
52 lv_error_description VARCHAR2(2000);
53 lv_line_number NUMBER;
54
55 cursor c_check (p_order_id number,p_line_id number) is
56 select a.ib_source
57 ,a.ib_source_id
58 ,a.line_source
59 ,a.line_number
60 ,a.is_virtual_line_flag
61 ,b.comms_nl_trackable_flag
62 from xdp_order_line_items a,
63 mtl_system_items_b b
64 where a.inventory_item_id = b.inventory_item_id
65 and a.organization_id = b.organization_id
66 and a.line_item_id = p_line_id
67 and a.order_id = p_order_id
68 and a.ib_source is not null;
69
70 cursor c_rel_line(p_line_id number) is
71 select a.line_number
72 from xdp_order_line_items a,
73 xdp_line_relationships b
74 where a.line_item_id = b.related_line_item_id
75 and b.line_item_id = p_line_id;
76
77
78 BEGIN
79
80 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
81 p_debug_msg => 'Updating Install Base For Order Id is : '||p_order_id|| ' and Line Id is : '||p_line_id);
82
83 FOR v_check_rec IN c_check (p_order_id, p_line_id) LOOP
84
85 IF v_check_rec.comms_nl_trackable_flag = 'Y' THEN
86
87 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
88 p_debug_msg => ' Trackable Flag is : ' ||v_check_rec.comms_nl_trackable_flag);
89
90 IF v_check_rec.ib_source = 'TXN' THEN
91
92 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
93 p_debug_msg => ' Ib Source is : ' ||v_check_rec.ib_source);
94
95 IF v_check_rec.is_virtual_line_flag = 'Y' THEN
96
97 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
98 p_debug_msg => ' is_virtual_line_flag is : ' ||v_check_rec.is_virtual_line_flag);
99
100 FOR v_rel_line in c_rel_line(p_line_id) LOOP
101
102 lv_line_number := v_rel_line.line_number;
103
104 END LOOP;
105 ELSE
106 lv_line_number := v_check_rec.line_number;
107 END IF;
108
109 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
110 p_debug_msg => ' lv_line_number : '||lv_line_number );
111
112 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
113 p_debug_msg => ' Calling UPDATE_TXN ');
114
115 UPDATE_TXN(p_order_id,
116 p_line_id,
117 v_check_rec.ib_source_id,
118 v_check_rec.line_source,
119 lv_line_number,
120 lv_error_code,
121 lv_error_description);
122
123 IF lv_error_code <> 0 THEN
124
125 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
126 p_debug_msg => ' Update_Txn Failed. Error Code : '||lv_error_code ||'- Error Desc : '||lv_error_description );
127
128 p_error_code := lv_error_code;
129 p_error_description := lv_error_description ;
130 RETURN;
131 END IF;
132
133 ELSIF v_check_rec.ib_source = 'CSI' THEN
134
135 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
136 p_debug_msg => 'Ib Source is : '||v_check_rec.ib_source );
137 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
138 p_debug_msg => ' Calling UPDATE_CSI');
139
140 UPDATE_CSI(p_order_id,
141 p_line_id,
142 v_check_rec.ib_source_id,
143 lv_error_code);
144
145 IF lv_error_code <> 0 THEN
146
147 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
148 p_debug_msg => ' Update_CSI Failed. Error Code : '||lv_error_code);
149
150 p_error_code := lv_error_code;
151 RETURN;
152 END IF;
153
154 ELSIF v_check_rec.ib_source = 'NONE' THEN
155 NULL;
156 lv_error_code := 0;
157 RETURN;
158 END IF;
159 END IF;
160 END LOOP;
161
162 EXCEPTION
163 WHEN others THEN
164 p_error_code := sqlcode ;
165 p_error_description := substr(sqlerrm,1,1800);
166
167 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
168 p_debug_msg => ' Exception Occurred');
169 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_IB',
170 p_debug_msg => 'Error Code : ' ||p_error_code||' - Error Desc : '||p_error_description);
171
172 RETURN;
173
174 END UPDATE_IB;
175
176
177 -- =======================================================
178 -- Update Transaction Details
179 -- =======================================================
180
181 PROCEDURE UPDATE_TXN (p_order_id IN NUMBER,
182 p_line_id IN NUMBER,
183 p_ib_source_id IN NUMBER,
184 p_line_source IN VARCHAR2,
185 p_line_number IN NUMBER,
186 p_error_code OUT NOCOPY NUMBER,
187 p_error_description OUT NOCOPY VARCHAR2) IS
188
189 lv_index NUMBER;
190 lv_index1 NUMBER;
191 l_return_status VARCHAR2(1);
192 lv_return_status VARCHAR2(1);
193 l_msg_count NUMBER;
194 l_msg_data VARCHAR2(1000);
195 lv_return_message VARCHAR2(2000);
196 t_msg_dummy VARCHAR2(4000);
197 t_output VARCHAR2(2000);
198
199 l_txn_line_rec CSI_T_DATASTRUCTURES_GRP.TXN_LINE_REC;
200 l_txn_line_detail_tbl CSI_T_DATASTRUCTURES_GRP.TXN_LINE_DETAIL_TBL;
201 l_txn_party_detail_tbl CSI_T_DATASTRUCTURES_GRP.TXN_PARTY_DETAIL_TBL;
202 l_txn_pty_acct_detail_tbl CSI_T_DATASTRUCTURES_GRP.TXN_PTY_ACCT_DETAIL_TBL;
203 l_txn_ii_rltns_tbl CSI_T_DATASTRUCTURES_GRP.TXN_II_RLTNS_TBL;
204 l_txn_org_assgn_tbl CSI_T_DATASTRUCTURES_GRP.TXN_ORG_ASSGN_TBL;
205 l_txn_ext_attrib_vals_tbl CSI_T_DATASTRUCTURES_GRP.TXN_EXT_ATTRIB_VALS_TBL;
206 lv_config_session_key CSI_UTILITY_GRP.config_session_key ;
207
208 e_update_txn_failed EXCEPTION;
209
210 BEGIN
211
212 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
213 p_debug_msg => 'In UPDATE_TXN');
214
215 lv_index := 1;
216 lv_index1 := 0;
217
218 -- This code is added as a part of MACD Service project to get tuple of a CTO item OR its component and
219 -- pass to IB to update TXN dtls -- spusegao/maya 07/29/2002
220
221 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
222 p_debug_msg => 'Line Id is : '||p_line_number);
223
224 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
225 p_debug_msg => 'Calling CSI_UTILITY_GRP.get_config_key_for_om_line ');
226
227 CSI_UTILITY_GRP.get_config_key_for_om_line( p_line_id => p_line_number ,
228 x_config_session_key => lv_config_session_key ,
229 x_return_status => lv_return_status ,
230 x_return_message => lv_return_message );
231
232
233
234 IF lv_return_status ='S' AND (lv_config_session_key.session_hdr_id IS NOT NULL AND
235 lv_config_session_key.session_rev_num IS NOT NULL AND
236 lv_config_session_key.session_item_id IS NOT NULL ) THEN
237 l_txn_line_rec.config_session_hdr_id := lv_config_session_key.session_hdr_id ;
238 l_txn_line_rec.config_session_rev_num := lv_config_session_key.session_rev_num ;
239 l_txn_line_rec.config_session_item_id := lv_config_session_key.session_item_id ;
240 l_txn_line_rec.api_caller_identity := 'CONFIG' ;
241
242 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
243 p_debug_msg => 'Config Hdr Id : '||lv_config_session_key.session_hdr_id);
244
245 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
246 p_debug_msg => 'Config Rev Num : '||lv_config_session_key.session_rev_num);
247
248 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
249 p_debug_msg => 'Config item Id : '||lv_config_session_key.session_item_id);
250
251 ELSIF lv_return_status ='S' AND (lv_config_session_key.session_hdr_id IS NULL AND
252 lv_config_session_key.session_rev_num IS NULL AND
253 lv_config_session_key.session_item_id IS NULL ) THEN
254 -- pass line_number and line_source in the transaction record to ib
255 l_txn_line_rec.source_transaction_id := p_line_number;
256 l_txn_line_rec.source_transaction_table := p_line_source;
257
258 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
259 p_debug_msg => 'source_transaction_id : '||p_line_number);
260
261 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
262 p_debug_msg => 'source_transaction_table : '||p_line_source);
263
264
265 ELSIF lv_return_status <> 'S' THEN
266
267 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
268 p_debug_msg => 'CSI_UTILITY_GRP.get_config_key_for_om_line Failed');
269
270 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
271 p_debug_msg => 'Error Code : '||lv_return_status||'- Error Desc. : '||lv_return_message);
272
273 END IF ;
274
275 -- pass ib_source_id to the l_txn_line_detail_tbl
276
277 IF p_ib_source_id IS NOT NULL THEN
278
279 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
280 p_debug_msg => 'Calling GET_TXN_LINE_ID ');
281
282 l_txn_line_rec.transaction_line_id := GET_TXN_LINE_ID(p_ib_source_id);
283
284 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
285 p_debug_msg => 'Transaction Line Id : '||l_txn_line_rec.transaction_line_id );
286
287 END IF ;
288
289 l_txn_line_detail_tbl(lv_index).txn_line_detail_id := p_ib_source_id;
290
291 FOR v_update_ib in c_update_ib(p_order_id,p_line_id) LOOP
292 lv_index1 := lv_index1 + 1;
293 -- pass values to the l_txn_ext_attrib_vals_tbl
294 l_txn_ext_attrib_vals_tbl(lv_index1).txn_attrib_detail_id := v_update_ib.txn_attrib_detail_id;
295 l_txn_ext_attrib_vals_tbl(lv_index1).txn_line_detail_id := p_ib_source_id;
296 l_txn_ext_attrib_vals_tbl(lv_index1).attrib_source_table := v_update_ib.attrib_source_table;
297 l_txn_ext_attrib_vals_tbl(lv_index1).attribute_source_id := v_update_ib.attrib_source_id;
298 l_txn_ext_attrib_vals_tbl(lv_index1).attribute_value := v_update_ib.parameter_value;
299 l_txn_ext_attrib_vals_tbl(lv_index1).process_flag := 'Y';
300
301 END LOOP;
302
303 IF l_txn_ext_attrib_vals_tbl.COUNT > 0 THEN
304
305 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
306 p_debug_msg => 'Txn Ext Attrib Val. Count > 0 ');
307
308 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
309 p_debug_msg => 'Calling csi_t_txn_details_grp.update_txn_line_dtls');
310
311
312 -- call transaction details API
313 csi_t_txn_details_grp.update_txn_line_dtls
314 (
315 p_api_version => 1.0
316 ,p_commit => null
317 ,p_init_msg_list => null
318 ,p_validation_level => null
319 ,p_txn_line_rec => l_txn_line_rec
320 ,p_txn_line_detail_tbl => l_txn_line_detail_tbl
321 ,px_txn_party_detail_tbl => l_txn_party_detail_tbl
322 ,px_txn_pty_acct_detail_tbl => l_txn_pty_acct_detail_tbl
323 ,px_txn_ii_rltns_tbl => l_txn_ii_rltns_tbl
324 ,px_txn_org_assgn_tbl => l_txn_org_assgn_tbl
325 ,px_txn_ext_attrib_vals_tbl => l_txn_ext_attrib_vals_tbl
326 ,x_return_status => l_return_status
327 ,x_msg_count => l_msg_count
328 ,x_msg_data => l_msg_data
329 );
330
331
332 END IF;
333
334 IF l_return_status <> 'S' THEN
335 p_error_code := -1 ;
336 p_error_description := l_msg_data ;
337
338 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
339 p_debug_msg => ' csi_t_txn_details_grp.update_txn_line_dtls Failed');
340 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
341 p_debug_msg => ' Error Desc : ' ||p_error_description);
342 RETURN;
343 ELSE
344 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
345 p_debug_msg => ' csi_t_txn_details_grp.update_txn_line_dtls Completed ');
346
347 END IF;
348
349 p_error_code := 0;
350
351
352
353 EXCEPTION
354
355 WHEN OTHERS THEN
356 p_error_code := sqlcode ;
357 p_error_description := substr(sqlerrm,1,1800);
358
359 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
360 p_debug_msg => ' Exception Occurred');
361 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_TXN',
362 p_debug_msg => 'Error Code : ' ||p_error_code||' - Error Desc : '||p_error_description);
363
364 RETURN ;
368 , SQLCODE
365 /*
366 xdp_utilities.generic_error('XDP_INSTALL_BASE.UPDATE_TXN'
367 ,p_order_id
369 , SQLERRM);
370 */
371 END UPDATE_TXN;
372
373
374 -- ============================================================
375 -- Update Install Base
376 -- ============================================================
377
378 PROCEDURE UPDATE_CSI (p_order_id IN NUMBER,
379 p_line_id IN NUMBER,
380 p_ib_source_id IN NUMBER,
381 p_error_code OUT NOCOPY NUMBER) IS
382
383
384 lv_index NUMBER;
385 l_return_status VARCHAR2(1);
386 l_msg_count NUMBER;
387 l_msg_data VARCHAR2(1000);
388 l_instance_rec CSI_DATASTRUCTURES_PUB.INSTANCE_REC;
389 l_extend_attrib_values_tbl CSI_DATASTRUCTURES_PUB.EXTEND_ATTRIB_VALUES_TBL;
390 l_party_tbl CSI_DATASTRUCTURES_PUB.PARTY_TBL;
391 l_party_account_tbl CSI_DATASTRUCTURES_PUB.PARTY_ACCOUNT_TBL;
392 l_pricing_attribs_tbl CSI_DATASTRUCTURES_PUB.PRICING_ATTRIBS_TBL;
393 l_organization_units_tbl CSI_DATASTRUCTURES_PUB.ORGANIZATION_UNITS_TBL;
394 l_transaction_rec CSI_DATASTRUCTURES_PUB.TRANSACTION_REC;
395 l_instance_asset_tbl CSI_DATASTRUCTURES_PUB.INSTANCE_ASSET_TBL;
396 l_id_tbl CSI_DATASTRUCTURES_PUB.ID_TBL;
397 e_update_csi_failed EXCEPTION;
398 t_output VARCHAR2(2000);
399 t_msg_dummy NUMBER;
400
401 Cursor c_get_obj_num(p_att_val_id number) is
402 select object_version_number
403 from csi_iea_values
404 where attribute_value_id = p_att_val_id;
405
406 Cursor c_get_inst_obj_num(p_inst_id number) is
407 select object_version_number
408 from csi_item_instances
409 where instance_id = p_inst_id;
410
411 BEGIN
412
413 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_CSI',
414 p_debug_msg => 'In UPDATE_CSI');
415
416 lv_index := 0;
417
418 -- create record to pass to API
419 l_instance_rec.instance_id := p_ib_source_id;
420
421 FOR v_get_inst_obj_num in c_get_inst_obj_num(p_ib_source_id) LOOP
422 l_instance_rec.object_version_number := v_get_inst_obj_num.object_version_number ;
423 END LOOP;
424
425
426 -- create record for transaction rec to pass to API
427 l_transaction_rec.transaction_type_id := 57;
428 l_transaction_rec.transaction_date := SYSDATE;
429 l_transaction_rec.source_transaction_date := SYSDATE;
430
431 FOR v_update_ib in c_update_ib(p_order_id,p_line_id) LOOP
432 lv_index := lv_index + 1;
433
434 l_extend_attrib_values_tbl(lv_index).instance_id := p_ib_source_id;
435
436 IF v_update_ib.attrib_source_table = 'CSI_IEA_VALUES' THEN
437 l_extend_attrib_values_tbl(lv_index).attribute_value_id := v_update_ib.attrib_source_id;
438 l_extend_attrib_values_tbl(lv_index).attribute_value := v_update_ib.parameter_value;
439
440 FOR v_get_obj_num in c_get_obj_num(v_update_ib.attrib_source_id) LOOP
441 l_extend_attrib_values_tbl(lv_index).object_version_number := v_get_obj_num.object_version_number;
442 END LOOP;
443
444 ELSIF v_update_ib.attrib_source_table = 'CSI_I_EXTENDED_ATTRIBS' THEN
445 l_extend_attrib_values_tbl(lv_index).attribute_value_id := null;
446 l_extend_attrib_values_tbl(lv_index).attribute_id := v_update_ib.attrib_source_id;
447 l_extend_attrib_values_tbl(lv_index).attribute_value := v_update_ib.parameter_value;
448
449 END IF;
450
451 END LOOP;
452
453 IF l_extend_attrib_values_tbl.COUNT > 0 THEN
454
455 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_CSI',
456 p_debug_msg => 'Calling csi_item_instance_pub.update_item_instance ');
457
458 csi_item_instance_pub.update_item_instance
459 (
460 p_api_version => 1.0
461 ,p_commit => null
462 ,p_init_msg_list => null
463 ,p_validation_level => null
464 ,p_instance_rec => l_instance_rec
465 ,p_ext_attrib_values_tbl => l_extend_attrib_values_tbl
466 ,p_party_tbl => l_party_tbl
467 ,p_account_tbl => l_party_account_tbl
468 ,p_pricing_attrib_tbl => l_pricing_attribs_tbl
469 ,p_org_assignments_tbl => l_organization_units_tbl
470 ,p_asset_assignment_tbl => l_instance_asset_tbl
471 ,p_txn_rec => l_transaction_rec
472 ,x_instance_id_lst => l_id_tbl
473 ,x_return_status => l_return_status
474 ,x_msg_count => l_msg_count
475 ,x_msg_data => l_msg_data
476 );
477
478
479 END IF;
480
481
482 IF l_return_status <> 'S' THEN
483 p_error_code := -1;
484
485 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_CSI',
486 p_debug_msg => 'csi_item_instance_pub.update_item_instance Failed');
487
488 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_CSI',
489 p_debug_msg => 'Error Code : ' ||p_error_code || '- Error Desc. : '||l_msg_data );
490
491 RETURN;
492 END IF;
493
497
494 p_error_code := 0;
495
496 EXCEPTION
498 WHEN OTHERS THEN
499 p_error_code := -1;
500 Log_debug(p_debug_api => 'xdp.plsql.XDP_INSTALL_BASE.UPDATE_CSI',
501 p_debug_msg => 'When Others Exception Error Code : '||sqlcode||'- Error Desc. : '||sqlerrm );
502
503 xdp_utilities.generic_error('XDP_INSTALL_BASE.UPDATE_CSI'
504 ,p_order_id
505 , SQLCODE
506 , SQLERRM);
507 RETURN;
508 END UPDATE_CSI;
509
510 -- Function to retrieve TXN Line Id for a given txn_line_detail_id
511 -- This is required for configured item while updating the attribute details in tXN detail.
512
513
514 FUNCTION GET_TXN_LINE_ID(p_txn_line_detail_id IN NUMBER) RETURN NUMBER IS
515
516 l_txn_line_id NUMBER;
517 --Date: 05-JUL-2006, Author: DPUTHIYE, Bug#5370624/5222928
518 --Description: Wrapped NO_DATA_FOUND errors from this API, since the error
519 --code/text returned is misleading as it rolls up to the Workflow status monitor.
520 --Dependencies: None. The wrapper error message will be thrown as a custom exception.
521 BEGIN
522
523 SELECT transaction_line_id
524 INTO l_txn_line_id
525 FROM csi_t_txn_line_details
526 WHERE txn_line_detail_id = p_txn_line_detail_id ;
527
528 RETURN l_txn_line_id ;
529 EXCEPTION
530 WHEN no_data_found THEN
531 raise_application_error(-20001, 'IB Transaction Line Detail information not found. ' || SQLERRM);
532 WHEN others THEN
533 raise;
534 END GET_TXN_LINE_ID;
535
536 -- Procedure to create a debug message in fnd_log_messages to help debugging in case of issues
537 -- Being a private procedure this has been used within this package only.
538
539
540 PROCEDURE Log_Debug ( p_debug_api IN VARCHAR2,
541 p_debug_msg IN VARCHAR2) IS
542
543
544 BEGIN
545
546 IF((FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)) THEN
547 IF (FND_LOG.TEST(FND_LOG.LEVEL_PROCEDURE, p_debug_api)) THEN
548 IF( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
549 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, p_debug_api , p_debug_msg );
550 END IF;
551 END IF;
552 END IF;
553
554
555 END Log_Debug ;
556
557
558 END XDP_INSTALL_BASE;