[Home] [Help]
PACKAGE BODY: APPS.INL_INTEGRATION_GRP
Source
1 PACKAGE BODY INL_INTEGRATION_GRP AS
2 /* $Header: INLGITGB.pls 120.0.12010000.27 2009/02/11 12:12:32 acferrei noship $ */
3
4
5 -- API name : Insert_LCMInterface
6 -- Type : Group
7 -- Function : Insert data on LTI tables
8 --
9 -- Pre-reqs : None
10 -- Parameters :
11 -- IN : p_api_version IN NUMBER,
12 -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
13 -- p_commit IN VARCHAR2 := FND_API.G_FALSE
14 -- p_lci_table IN OUT NOCOPY lci_table
15 --
16 -- OUT x_return_status OUT NOCOPY VARCHAR2
17 -- x_msg_count OUT NOCOPY NUMBER
18 -- x_msg_data OUT NOCOPY VARCHAR2
19 --
20 -- Version : Current version 1.0
21 --
22 -- Notes :
23 PROCEDURE Insert_LCMInterface (p_api_version IN NUMBER,
24 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
25 p_commit IN VARCHAR2 := FND_API.G_FALSE,
26 p_lci_table IN OUT NOCOPY lci_table,
27 x_return_status OUT NOCOPY VARCHAR2,
28 x_msg_count OUT NOCOPY NUMBER,
29 x_msg_data OUT NOCOPY VARCHAR2)IS
30
31
32 l_api_name CONSTANT VARCHAR2(30) := 'Insert_LCMInterface';
33 l_api_version CONSTANT NUMBER := 1.0;
34
35 l_return_status VARCHAR2(1);
36 l_msg_count NUMBER;
37 l_msg_data VARCHAR2(2000);
38 l_debug_info VARCHAR2(200);
39
40 l_user_defined_ship_num_code VARCHAR2(25);
41 l_ship_header_int_id NUMBER;
42 l_current_shipment_header_id NUMBER;
43 l_group_id NUMBER;
44 l_ship_line_int_id NUMBER;
45 l_ship_num NUMBER;
46
47 BEGIN
48
49 -- Standard Beginning of Procedure/Function Logging
50 INL_LOGGING_PVT.Log_BeginProc (p_module_name => g_module_name,
51 p_procedure_name => l_api_name);
52
53 -- Standard Start of API savepoint
54 SAVEPOINT Insert_LCMInterface_GRP;
55
56 -- Initialize message list IF p_init_msg_list is SET to TRUE.
57 IF FND_API.to_Boolean (p_init_msg_list) THEN
58 FND_MSG_PUB.initialize;
59 END IF;
60
61 -- Check FOR call compatibility.
62 IF NOT FND_API.Compatible_API_Call (p_current_version_number => l_api_version,
63 p_caller_version_number => p_api_version,
64 p_api_name => l_api_name,
65 p_pkg_name => g_pkg_name) THEN
66 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
67 END IF;
68
69 -- Initialize API RETURN status to success
70 x_return_status := FND_API.G_RET_STS_SUCCESS;
71
72 -- API Body
73 BEGIN
74 l_current_shipment_header_id := -9999;
75 FOR i IN 1..p_lci_table.COUNT LOOP
76
77 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
78 p_procedure_name => l_api_name,
79 p_var_name => 'p_lci_table(i).organization_id',
80 p_var_value => p_lci_table(i).organization_id);
81
82 l_user_defined_ship_num_code := 'AUTOMATIC';
83 SELECT nvl(user_defined_ship_num_code,'AUTOMATIC')
84 INTO l_user_defined_ship_num_code
85 FROM inl_parameters
86 WHERE organization_id = p_lci_table(i).organization_id;
87
88 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
89 p_procedure_name => l_api_name,
90 p_var_name => 'l_user_defined_ship_num_code',
91 p_var_value => l_user_defined_ship_num_code);
92
93 IF l_user_defined_ship_num_code = 'AUTOMATIC' THEN
94 l_ship_num := NULL;
95 ELSIF l_user_defined_ship_num_code = 'MANUAL' THEN
96 l_ship_num := p_lci_table(i).receipt_num;
97 END IF;
98
99 IF (l_current_shipment_header_id <> p_lci_table(i).shipment_header_id) THEN
100
101 SELECT INL_SHIP_HEADERS_INT_S.nextval
102 INTO l_ship_header_int_id
103 FROM dual;
104
105 SELECT INL_INTERFACE_GROUPS_S.nextval
106 INTO l_group_id
107 FROM dual;
108
109 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
110 p_procedure_name => l_api_name,
111 p_var_name => 'l_ship_header_int_id',
112 p_var_value => l_ship_header_int_id);
113
114 INSERT INTO inl_ship_headers_int(ship_header_int_id,
115 group_id,
116 transaction_type,
117 processing_status_code,
118 interface_source_code,
119 interface_source_table,
120 interface_source_line_id,
121 validation_flag,
122 ship_num,
123 ship_date,
124 ship_type_id,
125 ship_type_code,
126 legal_entity_id,
127 legal_entity_name,
128 organization_id,
129 organization_code,
130 location_id,
131 location_code,
132 org_id,
133 taxation_country,
134 document_sub_type,
135 ship_header_id,
136 last_task_code,
137 created_by,
138 creation_date,
139 last_updated_by,
140 last_update_date,
141 last_update_login,
142 request_id,
143 program_id,
144 program_application_id,
145 program_update_date)
146 VALUES( l_ship_header_int_id,
147 l_group_id,
148 p_lci_table(i).transaction_type,
149 p_lci_table(i).processing_status_code,
150 p_lci_table(i).interface_source_code,
151 p_lci_table(i).hdr_interface_source_table,
152 p_lci_table(i).hdr_interface_source_line_id,
153 p_lci_table(i).validation_flag,
154 l_ship_num,
155 p_lci_table(i).ship_date,
156 p_lci_table(i).ship_type_id,
157 p_lci_table(i).ship_type_code,
158 p_lci_table(i).legal_entity_id,
159 p_lci_table(i).legal_entity_name,
160 p_lci_table(i).organization_id,
161 p_lci_table(i).organization_code,
162 p_lci_table(i).location_id,
163 p_lci_table(i).location_code,
164 p_lci_table(i).org_id,
165 p_lci_table(i).taxation_country,
166 p_lci_table(i).document_sub_type,
167 p_lci_table(i).ship_header_id,
168 p_lci_table(i).last_task_code,
169 fnd_global.user_id,
170 SYSDATE,
171 fnd_global.user_id,
172 SYSDATE,
173 fnd_global.login_id,
174 fnd_global.conc_request_id,
175 fnd_global.conc_program_id,
176 fnd_global.prog_appl_id,
177 decode(fnd_global.conc_request_id, -1,
178 NULL,
179 SYSDATE));
180
181 l_current_shipment_header_id := p_lci_table(i).shipment_header_id;
182 END IF;
183
184 SELECT INL_SHIP_LINES_INT_S.nextval
185 INTO l_ship_line_int_id
186 FROM dual;
187
188 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
189 p_procedure_name => l_api_name,
190 p_var_name => 'l_ship_line_int_id',
191 p_var_value => l_ship_line_int_id);
192
193 INSERT INTO inl_ship_lines_int (ship_header_int_id,
194 ship_line_int_id,
195 group_id,
196 processing_status_code,
197 validation_flag,
198 ship_line_group_reference,
199 party_id,
200 party_number,
201 party_site_id,
202 party_site_number,
203 source_organization_id,
204 source_organization_code,
205 ship_line_num,
206 ship_line_type_id,
207 ship_line_type_code,
208 ship_line_src_type_code,
209 ship_line_source_id,
210 currency_code,
211 currency_conversion_type,
212 currency_conversion_date,
213 currency_conversion_rate,
214 inventory_item_id,
215 txn_qty,
216 txn_uom_code,
217 txn_unit_price,
218 primary_qty,
219 primary_uom_code,
220 primary_unit_price,
221 secondary_qty,
222 secondary_uom_code,
223 secondary_unit_price,
224 landed_cost_flag,
225 allocation_enabled_flag,
226 trx_business_category,
227 intended_use,
228 product_fiscal_class,
229 product_category,
230 product_type,
231 user_def_fiscal_class,
232 tax_classification_code,
233 assessable_value,
234 ship_from_party_id,
235 ship_from_party_number,
236 ship_from_party_site_id,
237 ship_from_party_site_number,
238 ship_to_organization_id,
239 ship_to_organization_code,
240 ship_to_location_id,
241 ship_to_location_code,
242 bill_from_party_id,
243 bill_from_party_number,
244 bill_from_party_site_id,
245 bill_from_party_site_number,
246 bill_to_organization_id,
247 bill_to_organization_code,
248 bill_to_location_id,
249 bill_to_location_code,
250 poa_party_id,
251 poa_party_number,
252 poa_party_site_id,
253 poa_party_site_number,
254 poo_organization_id,
255 poo_to_organization_code,
256 poo_location_id,
257 poo_location_code,
258 org_id,
259 ship_header_id,
260 ship_line_id,
261 interface_source_table,
262 interface_source_line_id,
263 created_by,
264 creation_date,
265 last_updated_by,
266 last_update_date,
267 last_update_login,
268 request_id,
269 program_id,
270 program_application_id,
271 program_update_date)
272 VALUES( l_ship_header_int_id,
273 l_ship_line_int_id,
274 l_group_id,
275 p_lci_table(i).processing_status_code,
276 p_lci_table(i).validation_flag,
277 p_lci_table(i).ship_line_group_reference,
278 p_lci_table(i).party_id,
279 p_lci_table(i).party_number,
280 p_lci_table(i).party_site_id,
281 p_lci_table(i).party_site_number,
282 p_lci_table(i).source_organization_id,
283 p_lci_table(i).source_organization_code,
284 p_lci_table(i).ship_line_num,
288 p_lci_table(i).ship_line_source_id,
285 p_lci_table(i).ship_line_type_id,
286 p_lci_table(i).ship_line_type_code,
287 p_lci_table(i).ship_line_src_type_code,
289 p_lci_table(i).currency_code,
290 p_lci_table(i).currency_conversion_type,
291 p_lci_table(i).currency_conversion_date,
292 p_lci_table(i).currency_conversion_rate,
293 p_lci_table(i).inventory_item_id,
294 p_lci_table(i).txn_qty,
295 p_lci_table(i).txn_uom_code,
296 p_lci_table(i).txn_unit_price,
297 p_lci_table(i).primary_qty,
298 p_lci_table(i).primary_uom_code,
299 p_lci_table(i).primary_unit_price,
300 p_lci_table(i).secondary_qty,
301 p_lci_table(i).secondary_uom_code,
302 p_lci_table(i).secondary_unit_price,
303 p_lci_table(i).landed_cost_flag,
304 p_lci_table(i).allocation_enabled_flag,
305 p_lci_table(i).trx_business_category,
306 p_lci_table(i).intended_use,
307 p_lci_table(i).product_fiscal_class,
308 p_lci_table(i).product_category,
309 p_lci_table(i).product_type,
310 p_lci_table(i).user_def_fiscal_class,
311 p_lci_table(i).tax_classification_code,
312 p_lci_table(i).assessable_value,
313 p_lci_table(i).ship_from_party_id,
314 p_lci_table(i).ship_from_party_number,
315 p_lci_table(i).ship_from_party_site_id,
316 p_lci_table(i).ship_from_party_site_number,
317 p_lci_table(i).ship_to_organization_id,
318 p_lci_table(i).ship_to_organization_code,
319 p_lci_table(i).ship_to_location_id,
320 p_lci_table(i).ship_to_location_code,
321 p_lci_table(i).bill_from_party_id,
322 p_lci_table(i).bill_from_party_number,
323 p_lci_table(i).bill_from_party_site_id,
324 p_lci_table(i).bill_from_party_site_number,
325 p_lci_table(i).bill_to_organization_id,
326 p_lci_table(i).bill_to_organization_code,
327 p_lci_table(i).bill_to_location_id,
328 p_lci_table(i).bill_to_location_code,
329 p_lci_table(i).poa_party_id,
330 p_lci_table(i).poa_party_number,
331 p_lci_table(i).poa_party_site_id,
332 p_lci_table(i).poa_party_site_number,
333 p_lci_table(i).poo_organization_id,
334 p_lci_table(i).poo_to_organization_code,
335 p_lci_table(i).poo_location_id,
336 p_lci_table(i).poo_location_code,
337 p_lci_table(i).org_id,
338 p_lci_table(i).ship_header_id,
339 p_lci_table(i).ship_line_id,
340 p_lci_table(i).line_interface_source_table,
341 p_lci_table(i).line_interface_source_line_id,
342 fnd_global.user_id,
343 SYSDATE,
344 fnd_global.user_id,
345 SYSDATE,
346 fnd_global.login_id,
347 fnd_global.conc_request_id,
348 fnd_global.conc_program_id,
349 fnd_global.prog_appl_id,
350 decode(fnd_global.conc_request_id, -1, NULL, SYSDATE));
351 END LOOP;
352 END; -- End of API Body
353
354 -- Standard check of p_commit.
355 IF FND_API.To_Boolean( p_commit ) THEN
356 COMMIT WORK;
357 END IF;
358
359 -- Standard call to get message count and if count is 1, get message info.
360 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
361 p_count => x_msg_count,
362 p_data => x_msg_data);
363
364 -- Standard End of Procedure/Function Logging
365 INL_LOGGING_PVT.Log_EndProc (p_module_name => g_module_name,
366 p_procedure_name => l_api_name);
367
368 EXCEPTION
369 WHEN FND_API.G_EXC_ERROR THEN
370 -- Standard Expected Error Logging
371 INL_LOGGING_PVT.Log_ExpecError (p_module_name => g_module_name,
372 p_procedure_name => l_api_name);
373 ROLLBACK TO Insert_LCMInterface_GRP;
374 x_return_status := FND_API.G_RET_STS_ERROR;
375 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
376 p_count => x_msg_count,
380 INL_LOGGING_PVT.Log_UnexpecError (p_module_name => g_module_name,
377 p_data => x_msg_data);
378 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
379 -- Standard Unexpected Error Logging
381 p_procedure_name => l_api_name);
382 ROLLBACK TO Insert_LCMInterface_GRP;
383 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
384 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
385 p_count => x_msg_count,
386 p_data => x_msg_data);
387 WHEN OTHERS THEN
388 -- Standard Unexpected Error Logging
389 INL_LOGGING_PVT.Log_UnexpecError (p_module_name => g_module_name,
390 p_procedure_name => l_api_name);
391 ROLLBACK TO Insert_LCMInterface_GRP;
392 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
393 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
394 THEN
395 FND_MSG_PUB.Add_Exc_Msg(g_pkg_name,l_api_name);
396 END IF;
397 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
398 p_count => x_msg_count,
399 p_data => x_msg_data);
400 END Insert_LCMInterface;
401
402
403 -- API name : Import_FromRCV
404 -- Type : Group
405 -- Function : Creates LTI entries based on Receiving
406 -- transactions inserted through the Black Box flow.
407 --
408 -- Pre-reqs : None
409 -- Parameters :
410 -- IN : p_int_rec IN RCV_CALL_LCM_WS.rti_rec
411 --
412 --
413 -- Version : Current version 1.0
414 --
415 -- Notes :
416
417 PROCEDURE Import_FromRCV (p_int_rec IN RCV_CALL_LCM_WS.rti_rec) IS
418
419 l_return_status VARCHAR2(1);
420 l_msg_count NUMBER;
421 l_msg_data VARCHAR2(2000);
422 l_proc_name CONSTANT VARCHAR2(30) := 'Import_FromRCV';
423 l_api_version CONSTANT NUMBER := 1.0;
424 l_debug_msg VARCHAR2(500);
425 l_user_defined_ship_num_code VARCHAR2(25);
426 l_ship_num NUMBER;
427 l_ship_type_id NUMBER;
428 l_legal_entity_id NUMBER;
429 l_taxation_country VARCHAR2(2);
430 l_ship_header_int_id NUMBER;
431 l_group_id NUMBER;
432 l_party_id NUMBER;
433 l_party_site_id NUMBER;
434 l_ship_line_type_id NUMBER;
435 l_trx_business_category VARCHAR2(240);
436 l_line_intended_use VARCHAR2(240);
437 l_product_fisc_classification VARCHAR2(240);
438 l_product_category VARCHAR2(240);
439 l_product_type VARCHAR2(240);
440 l_user_defined_fisc_class VARCHAR2(30);
441 l_output_tax_classf_code VARCHAR2(50);
442 l_ship_lines_int_id NUMBER;
443 l_org_id NUMBER;
444 l_vendor_id NUMBER;
445 l_vendor_site_id NUMBER;
446 l_ship_to_org_id NUMBER;
447 l_ship_to_location_id NUMBER;
448 l_receipt_num VARCHAR2(500);
449 erroredHeaderId NUMBER;
450 currentHeaderId NUMBER;
451 l_lci_table lci_table;
452
453 BEGIN
454
455 -- Standard Beginning of Procedure/Function Logging
456 INL_LOGGING_PVT.Log_BeginProc (
457 p_module_name => g_module_name,
458 p_procedure_name => l_proc_name
459 );
460
461 INL_LOGGING_PVT.Log_Variable (
462 p_module_name => g_module_name,
463 p_procedure_name => l_proc_name,
464 p_var_name => 'p_int_rec.COUNT',
465 p_var_value => p_int_rec.COUNT
466 );
467
468 l_user_defined_ship_num_code := 'AUTOMATIC';
469 erroredHeaderId := -9999;
470 currentHeaderId := -9999;
471
472 FOR i IN 1..p_int_rec.COUNT LOOP
473 IF (erroredHeaderId <> Nvl(p_int_rec(i).shipment_header_id, p_int_rec(i).header_interface_id)) THEN
474 BEGIN
475 IF (currentHeaderId <> Nvl(p_int_rec(i).shipment_header_id, p_int_rec(i).header_interface_id))
476 THEN
477 IF (currentHeaderId <> -9999)
478 THEN -- It is not the FIRST record
479
480 -- Start processing of new shipment_header_id
481 INL_LOGGING_PVT.Log_Statement (
482 p_module_name => g_module_name,
483 p_procedure_name => l_proc_name,
484 p_debug_info => 'Update RTIs to LC_INTERFACED'
485 );
486
487 UPDATE rcv_transactions_interface rti
488 SET processing_status_code = 'LC_INTERFACED'
489 WHERE transaction_status_code = 'PENDING'
490 AND processing_status_code = 'LC_PENDING'
491 AND (transaction_type = 'RECEIVE' OR
492 (transaction_type ='SHIP' AND auto_transact_code IN ('RECEIVE','DELIVER')))
493 AND source_document_code = 'PO'
494 AND EXISTS ( SELECT 'lcm shipment'
495 FROM po_line_locations_all pll
496 WHERE pll.line_location_id = rti.po_line_location_id
497 AND pll.lcm_flag = 'Y' )
498 AND Nvl(shipment_header_id,Header_interface_id) = currentHeaderId;
499
500 SAVEPOINT headers;
501 END IF;
502
506 p_var_name => 'p_int_rec(i).shipment_header_id',
503 INL_LOGGING_PVT.Log_Variable (
504 p_module_name => g_module_name,
505 p_procedure_name => l_proc_name,
507 p_var_value => p_int_rec(i).shipment_header_id
508 );
509
510 INL_LOGGING_PVT.Log_Statement (
511 p_module_name => g_module_name,
512 p_procedure_name => l_proc_name,
513 p_debug_info => 'Get RCV_SHIPMENT_HEADERS info.'
514 );
515
516 IF p_int_rec(i).shipment_header_id IS NOT NULL
517 THEN
518
519 SELECT ship_to_org_id,
520 ship_to_location_id,
521 receipt_num,
522 vendor_id,
523 vendor_site_id
524 INTO l_ship_to_org_id,
525 l_ship_to_location_id,
526 l_receipt_num,
527 l_vendor_id,
528 l_vendor_site_id
529 FROM rcv_shipment_headers
530 WHERE shipment_header_id = p_int_rec(i).shipment_header_id;
531
532 -- BUG #8235596
533
534 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
535 p_procedure_name => l_proc_name,
536 p_var_name => 'l_receipt_num',
537 p_var_value => l_receipt_num );
538
539 IF(l_receipt_num IS NULL AND p_int_rec(i).header_interface_id IS NOT NULL) THEN
540
541 -- If receipt num is NULL get it from rcv_headers_interface
542 l_debug_msg := 'Receipt num is NULL get it from rcv_headers_interface';
543 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
544 p_procedure_name => l_proc_name,
545 p_debug_info => l_debug_msg);
546
547 SELECT receipt_num
548 INTO l_receipt_num
549 FROM rcv_headers_interface rhi
550 WHERE header_interface_id = p_int_rec(i).header_interface_id;
551
552 END IF;
553
554 ELSIF p_int_rec(i).header_interface_id IS NOT NULL THEN
555
556 SELECT SHIP_TO_ORGANIZATION_ID,
557 location_id,
558 receipt_num,
559 vendor_id,
560 vendor_site_id
561 INTO l_ship_to_org_id,
562 l_ship_to_location_id,
563 l_receipt_num,
564 l_vendor_id,
565 l_vendor_site_id
566 FROM rcv_headers_interface
567 WHERE header_interface_id = p_int_rec(i).header_interface_id;
568 END IF;
569
570 INL_LOGGING_PVT.Log_Variable (
571 p_module_name => g_module_name,
572 p_procedure_name => l_proc_name,
573 p_var_name => 'l_ship_to_org_id',
574 p_var_value => l_ship_to_org_id
575 );
576 INL_LOGGING_PVT.Log_Variable (
577 p_module_name => g_module_name,
578 p_procedure_name => l_proc_name,
579 p_var_name => 'l_ship_to_location_id',
580 p_var_value => l_ship_to_location_id
581 );
582 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
583 p_procedure_name => l_proc_name,
584 p_var_name => 'l_receipt_num',
585 p_var_value => l_receipt_num
586 );
587 INL_LOGGING_PVT.Log_Variable (
588 p_module_name => g_module_name,
589 p_procedure_name => l_proc_name,
590 p_var_name => 'l_vendor_id',
591 p_var_value => l_vendor_id
592 );
593 INL_LOGGING_PVT.Log_Variable (
594 p_module_name => g_module_name,
595 p_procedure_name => l_proc_name,
596 p_var_name => 'l_vendor_site_id',
597 p_var_value => l_vendor_site_id
598 );
599 INL_LOGGING_PVT.Log_Statement (
600 p_module_name => g_module_name,
601 p_procedure_name => l_proc_name,
602 p_debug_info => 'Check Shipment Numbering mode. AUTOMATIC or MANUAL'
603 );
604 INL_LOGGING_PVT.Log_Variable (
605 p_module_name => g_module_name,
606 p_procedure_name => l_proc_name,
607 p_var_name => 'l_user_defined_ship_num_code',
608 p_var_value => l_user_defined_ship_num_code
609 );
610 INL_LOGGING_PVT.Log_Statement (
611 p_module_name => g_module_name,
612 p_procedure_name => l_proc_name,
613 p_debug_info => 'Get Operating Unit Id'
614 );
615 SELECT operating_unit
616 INTO l_org_id
620 INL_LOGGING_PVT.Log_Variable (
617 FROM org_organization_definitions
618 WHERE organization_id = l_ship_to_org_id;
619
621 p_module_name => g_module_name,
622 p_procedure_name => l_proc_name,
623 p_var_name => 'l_org_id',
624 p_var_value => l_org_id
625 );
626
627 l_ship_num := l_receipt_num;
628
629 INL_LOGGING_PVT.Log_Statement (
630 p_module_name => g_module_name,
631 p_procedure_name => l_proc_name,
632 p_debug_info => 'Get Party Id from PO_VENDORS'
633 );
634 SELECT party_id
635 INTO l_party_id
636 FROM po_vendors
637 WHERE vendor_id = l_vendor_id;
638
639 INL_LOGGING_PVT.Log_Variable (
640 p_module_name => g_module_name,
641 p_procedure_name => l_proc_name,
642 p_var_name => 'l_party_id',
643 p_var_value => l_party_id
644 );
645
646 INL_LOGGING_PVT.Log_Statement (
647 p_module_name => g_module_name,
648 p_procedure_name => l_proc_name,
649 p_debug_info => 'Get value from profile INL_SHIP_TYPE_ID_OI'
650 );
651
652 l_ship_type_id := NVL(FND_PROFILE.VALUE('INL_SHIP_TYPE_ID_OI'),0);
653
654 INL_LOGGING_PVT.Log_Variable (
655 p_module_name => g_module_name,
656 p_procedure_name => l_proc_name,
657 p_var_name => 'l_ship_type_id',
658 p_var_value => l_ship_type_id
659 );
660
661 INL_LOGGING_PVT.Log_Statement (
662 p_module_name => g_module_name,
663 p_procedure_name => l_proc_name,
664 p_debug_info => 'Get Legal Entity and Taxation Country'
665 );
666 SELECT ood.legal_entity,
667 ftv.territory_code
668 INTO l_legal_entity_id,
669 l_taxation_country
670 FROM fnd_territories_vl ftv,
671 hr_locations_v hlv,
672 hr_all_organization_units hru,
673 hr_legal_entities hle,
674 org_organization_definitions ood,
675 gl_sets_of_books gsb
676 WHERE ftv.territory_code = hlv.country
677 AND hlv.location_id = hru.location_id
678 AND ood.organization_id = hle.organization_id (+)
679 AND hru.organization_id = ood.organization_id
680 AND gsb.set_of_books_id = ood.set_of_books_id
681 AND ood.organization_id = l_org_id;
682
683 INL_LOGGING_PVT.Log_Variable (
684 p_module_name => g_module_name,
685 p_procedure_name => l_proc_name,
686 p_var_name => 'l_legal_entity_id',
687 p_var_value => l_legal_entity_id
688 );
689 INL_LOGGING_PVT.Log_Variable (
690 p_module_name => g_module_name,
691 p_procedure_name => l_proc_name,
692 p_var_name => 'l_taxation_country',
693 p_var_value => l_taxation_country
694 );
695 INL_LOGGING_PVT.Log_Variable (
696 p_module_name => g_module_name,
697 p_procedure_name => l_proc_name,
698 p_var_name => 'l_ship_header_int_id',
699 p_var_value => l_ship_header_int_id
700 );
701 INL_LOGGING_PVT.Log_Variable (
702 p_module_name => g_module_name,
703 p_procedure_name => l_proc_name,
704 p_var_name => 'l_group_id',
705 p_var_value => l_group_id
706 );
707 INL_LOGGING_PVT.Log_Statement (
708 p_module_name => g_module_name,
709 p_procedure_name => l_proc_name,
710 p_debug_info => 'Insert into inl_ship_headers_int table'
711 );
712
713 l_lci_table(i).shipment_header_id := Nvl(p_int_rec(i).shipment_header_id,p_int_rec(i).header_interface_id);
714 l_lci_table(i).transaction_type := 'CREATE';
715 l_lci_table(i).processing_status_code := 'PENDING';
716 l_lci_table(i).interface_source_code := 'RCV';
717 IF p_int_rec(i).shipment_header_id IS NOT NULL THEN
718 l_lci_table(i).hdr_interface_source_table := 'RCV_SHIPMENT_HEADERS';
719 ELSIF p_int_rec(i).header_interface_id IS NOT NULL THEN
720 l_lci_table(i).hdr_interface_source_table := 'RCV_HEADERS_INTERFACE';
721 END IF;
722 l_lci_table(i).hdr_interface_source_line_id := Nvl(p_int_rec(i).shipment_header_id,p_int_rec(i).header_interface_id);
723 l_lci_table(i).validation_flag := 'Y';
724 l_lci_table(i).receipt_num := l_receipt_num;
725 l_lci_table(i).ship_date := SYSDATE;
726 l_lci_table(i).ship_type_id := l_ship_type_id;
727 l_lci_table(i).legal_entity_id := l_legal_entity_id;
731 l_lci_table(i).taxation_country := l_taxation_country;
728 l_lci_table(i).organization_id := l_ship_to_org_id;
729 l_lci_table(i).location_id := l_ship_to_location_id;
730 l_lci_table(i).org_id := l_org_id;
732 l_lci_table(i).last_task_code := 60;
733
734 END IF;
735
736 SELECT pvs.party_site_id
737 INTO l_party_site_id
738 FROM po_vendor_sites_all pvs
739 WHERE pvs.vendor_site_id = l_vendor_site_id
740 AND pvs.org_id = p_int_rec(i).org_id;
741
742 INL_LOGGING_PVT.Log_Variable (
743 p_module_name => g_module_name,
744 p_procedure_name => l_proc_name,
745 p_var_name => 'l_party_site_id',
746 p_var_value => l_party_site_id
747 );
748
749 INL_LOGGING_PVT.Log_Statement (
750 p_module_name => g_module_name,
751 p_procedure_name => l_proc_name,
752 p_debug_info => 'Get value to INL_SHIP_LINE_TYPE_ID'
753
754 );
755 SELECT ship_line_type_id
756 INTO l_ship_line_type_id
757 FROM inl_alwd_line_types
758 WHERE parent_table_name = 'INL_SHIP_TYPES'
759 AND parent_table_id = l_ship_type_id
760 AND dflt_ship_line_type_flag='Y'
761 ;
762
763 INL_LOGGING_PVT.Log_Variable (
764 p_module_name => g_module_name,
765 p_procedure_name => l_proc_name,
766 p_var_name => 'l_ship_line_type_id',
767 p_var_value => l_ship_line_type_id
768 );
769
770 INL_LOGGING_PVT.Log_Statement (
771 p_module_name => g_module_name,
772 p_procedure_name => l_proc_name,
773 p_debug_info => 'Get values from zx_lines_det_factors and po_line_locations_all'
774 );
775 SELECT zdf.trx_business_category,
776 zdf.line_intended_use,
777 zdf.product_fisc_classification,
778 zdf.product_category,
779 zdf.product_type,
780 zdf.user_defined_fisc_class,
781 zdf.output_tax_classification_code
782 INTO l_trx_business_category,
783 l_line_intended_use,
784 l_product_fisc_classification,
785 l_product_category,
786 l_product_type,
787 l_user_defined_fisc_class,
788 l_output_tax_classf_code
789 FROM zx_lines_det_factors zdf,
790 po_line_locations_all pll
791 WHERE pll.line_location_id = p_int_rec(i).po_line_location_id
792 AND zdf.application_id = 201
793 AND zdf.trx_id = NVL(pll.po_release_id,pll.po_header_id) --Bug 7680733
794 AND zdf.trx_line_id = pll.line_location_id
795 AND zdf.entity_code = DECODE(pll.po_release_id,NULL,'PURCHASE_ORDER','RELEASE') --Bug 7680733
796 AND zdf.event_class_code = DECODE(pll.po_release_id,NULL,'PO_PA','RELEASE'); --Bug 7680733
797
798 INL_LOGGING_PVT.Log_Variable (
799 p_module_name => g_module_name,
800 p_procedure_name => l_proc_name,
801 p_var_name => 'p_int_rec(i).po_line_location_id',
802 p_var_value => p_int_rec(i).po_line_location_id
803 );
804 INL_LOGGING_PVT.Log_Variable (
805 p_module_name => g_module_name,
806 p_procedure_name => l_proc_name,
807 p_var_name => 'p_int_rec(i).currency_code',
808 p_var_value => p_int_rec(i).currency_code
809 );
810 INL_LOGGING_PVT.Log_Variable (
811 p_module_name => g_module_name,
812 p_procedure_name => l_proc_name,
813 p_var_name => 'p_int_rec(i).item_id',
814 p_var_value => p_int_rec(i).item_id
815 );
816 INL_LOGGING_PVT.Log_Variable (
817 p_module_name => g_module_name,
818 p_procedure_name => l_proc_name,
819 p_var_name => 'p_int_rec(i).quantity',
820 p_var_value => p_int_rec(i).quantity
821 );
822 INL_LOGGING_PVT.Log_Variable (
823 p_module_name => g_module_name,
824 p_procedure_name => l_proc_name,
825 p_var_name => 'p_int_rec(i).po_unit_price',
826 p_var_value => p_int_rec(i).po_unit_price
827 );
828 INL_LOGGING_PVT.Log_Variable (
829 p_module_name => g_module_name,
830 p_procedure_name => l_proc_name,
831 p_var_name => 'l_trx_business_category',
832 p_var_value => l_trx_business_category
833 );
834 INL_LOGGING_PVT.Log_Variable (
835 p_module_name => g_module_name,
836 p_procedure_name => l_proc_name,
837 p_var_name => 'l_line_intended_use',
838 p_var_value => l_line_intended_use
839 );
840 INL_LOGGING_PVT.Log_Variable (
841 p_module_name => g_module_name,
842 p_procedure_name => l_proc_name,
843 p_var_name => 'l_product_fisc_classification',
847 p_module_name => g_module_name,
844 p_var_value => l_product_fisc_classification
845 );
846 INL_LOGGING_PVT.Log_Variable (
848 p_procedure_name => l_proc_name,
849 p_var_name => 'l_product_category',
850 p_var_value => l_product_category
851 );
852 INL_LOGGING_PVT.Log_Variable (
853 p_module_name => g_module_name,
854 p_procedure_name => l_proc_name,
855 p_var_name => 'l_product_type',
856 p_var_value => l_product_type
857 );
858 INL_LOGGING_PVT.Log_Variable (
859 p_module_name => g_module_name,
860 p_procedure_name => l_proc_name,
861 p_var_name => 'l_user_defined_fisc_class',
862 p_var_value => l_user_defined_fisc_class
863 );
864 INL_LOGGING_PVT.Log_Variable (
865 p_module_name => g_module_name,
866 p_procedure_name => l_proc_name,
867 p_var_name => 'l_output_tax_classf_code',
868 p_var_value => l_output_tax_classf_code
869 );
870 INL_LOGGING_PVT.Log_Statement (
871 p_module_name => g_module_name,
872 p_procedure_name => l_proc_name,
873 p_debug_info => 'Insert inl_ship_lines_int values in PL/SQL table.'
874 );
875 l_lci_table(i).ship_line_group_reference := l_receipt_num;
876 l_lci_table(i).party_id := l_party_id;
877 l_lci_table(i).party_site_id := l_party_site_id;
878 l_lci_table(i).ship_line_type_id := l_ship_line_type_id;
879 l_lci_table(i).ship_line_src_type_code := 'PO';
880 l_lci_table(i).ship_line_source_id := p_int_rec(i).po_line_location_id;
881 l_lci_table(i).currency_code := p_int_rec(i).currency_code;
882 l_lci_table(i).currency_conversion_type := p_int_rec(i).currency_conversion_type;
883 l_lci_table(i).currency_conversion_date := p_int_rec(i).currency_conversion_date;
884 l_lci_table(i).currency_conversion_rate := p_int_rec(i).currency_conversion_rate;
885 l_lci_table(i).inventory_item_id := p_int_rec(i).item_id;
886 l_lci_table(i).txn_qty := p_int_rec(i).quantity;
887 l_lci_table(i).txn_uom_code := p_int_rec(i).uom_code;
888 l_lci_table(i).txn_unit_price := p_int_rec(i).po_unit_price;
889 l_lci_table(i).landed_cost_flag := 'Y';
890 l_lci_table(i).allocation_enabled_flag := 'Y';
891 l_lci_table(i).trx_business_category := l_trx_business_category;
892 l_lci_table(i).intended_use := l_line_intended_use;
893 l_lci_table(i).product_fiscal_class := l_product_fisc_classification;
894 l_lci_table(i).product_category := l_product_category;
895 l_lci_table(i).product_type := l_product_type;
896 l_lci_table(i).user_def_fiscal_class := l_user_defined_fisc_class;
897 l_lci_table(i).tax_classification_code := l_output_tax_classf_code;
898 l_lci_table(i).ship_from_party_id := l_party_id;
899 l_lci_table(i).ship_from_party_site_id := l_party_site_id;
900 l_lci_table(i).ship_to_organization_id := l_ship_to_org_id;
901 l_lci_table(i).ship_to_location_id := p_int_rec(i).ship_to_location_id;
902 l_lci_table(i).bill_from_party_id := l_party_id;
903 l_lci_table(i).bill_from_party_site_id := l_party_site_id;
904 l_lci_table(i).bill_to_organization_id := l_ship_to_org_id;
905 l_lci_table(i).bill_to_location_id := p_int_rec(i).ship_to_location_id;
906 l_lci_table(i).poa_party_id := l_party_id;
907 l_lci_table(i).poa_party_site_id := l_party_site_id;
908 l_lci_table(i).poo_organization_id := l_ship_to_org_id;
909 l_lci_table(i).poo_location_id := p_int_rec(i).ship_to_location_id;
910 l_lci_table(i).org_id := p_int_rec(i).ORG_ID;
911 l_lci_table(i).line_interface_source_table := 'RCV_TRANSACTIONS_INTERFACE';
912 l_lci_table(i).line_interface_source_line_id := p_int_rec(i).interface_transaction_id;
913
914 EXCEPTION
915 WHEN OTHERS THEN
916 INL_LOGGING_PVT.Log_UnexpecError (p_module_name => g_module_name,
917 p_procedure_name => l_proc_name
918 );
919 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
920 p_procedure_name => l_proc_name,
921 p_var_name => 'Error: ',
922 p_var_value => sqlcode ||' '||substr(SQLERRM, 1, 1000)
923 );
924 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
925 p_procedure_name => l_proc_name,
926 p_var_name => 'erroredHeaderId',
927 p_var_value => erroredHeaderId
928 );
929 erroredHeaderId := Nvl(p_int_rec(i).shipment_header_id,p_int_rec(i).header_interface_id);
930 ROLLBACK to headers;
931 END;
932 END IF;
933 END LOOP;
934
935 -- Call Insert_LCMInterface to insert data in lcm interface table
936 Insert_LCMInterface(
937 p_api_version => l_api_version,
938 p_init_msg_list => FND_API.G_TRUE,
939 p_commit => FND_API.G_FALSE,
940 p_lci_table => l_lci_table,
944 );
941 x_return_status => l_return_status,
942 x_msg_count => l_msg_count,
943 x_msg_data => l_msg_data
945
946
947 IF (l_return_status = 'S') THEN --(currentHeaderId <> -9999 AND currentHeaderId <> erroredHeaderId AND l_return_status = 'S') THEN
948 FOR i IN 1..p_int_rec.COUNT LOOP
949 -- Update RTIs to LC_INTERFACED
950 UPDATE rcv_transactions_interface rti
951 SET processing_status_code = 'LC_INTERFACED'
952 WHERE transaction_status_code = 'PENDING'
953 AND processing_status_code = 'LC_PENDING'
954 AND (transaction_type = 'RECEIVE' OR
955 (transaction_type ='SHIP' AND auto_transact_code IN ('RECEIVE','DELIVER')))
956 AND source_document_code = 'PO'
957 AND EXISTS ( SELECT 'lcm shipment'
958 FROM po_line_locations_all pll
959 WHERE pll.line_location_id = rti.po_line_location_id
960 AND pll.lcm_flag = 'Y' )
961 AND Nvl(shipment_header_id,Header_interface_id) = Nvl(p_int_rec(i).shipment_header_id,p_int_rec(i).header_interface_id);
962
963 IF p_int_rec(i).header_interface_id IS NOT NULL THEN
964 UPDATE rcv_headers_interface rhi
965 SET processing_status_code = 'LC_INTERFACED'
966 WHERE processing_status_code='LC_PENDING'
967 AND header_interface_id=p_int_rec(i).header_interface_id;
968 END IF;
969 END LOOP;
970 END IF;
971
972 -- Standard End of Procedure/Function Logging
973 INL_LOGGING_PVT.Log_EndProc (
974 p_module_name => g_module_name,
975 p_procedure_name => l_proc_name
976 );
977 EXCEPTION
978 WHEN OTHERS THEN
979 INL_LOGGING_PVT.Log_UnexpecError (
980 p_module_name => g_module_name,
981 p_procedure_name => l_proc_name
982 );
983 INL_LOGGING_PVT.Log_Statement (
984 p_module_name => g_module_name,
985 p_procedure_name => l_proc_name,
986 p_debug_info => 'the error is: ' || sqlcode ||' '||substr(SQLERRM, 1, 1000)
987 );
988 ROLLBACK;
989 END Import_FromRCV;
990
991 -- API name : Get_LandedCost
992 -- Type : Group
993 -- Function : Get the Unit Landed Cost.
994 --
995 -- Pre-reqs : None
996 -- Parameters :
997 -- IN : p_api_version IN NUMBER,
998 -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
999 -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1000 -- p_ship_line_id IN NUMBER
1001 --
1002 -- OUT x_return_status OUT NOCOPY VARCHAR2
1003 -- x_msg_count OUT NOCOPY NUMBER
1004 -- x_msg_data OUT NOCOPY VARCHAR2
1005 -- x_actual_unit_landed_cost OUT NOCOPY NUMBER
1006 --
1007 -- Version : Current version 1.0
1008 --
1009 -- Notes :
1010
1011 PROCEDURE Get_LandedCost (p_api_version IN NUMBER,
1012 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1013 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1014 p_ship_line_id IN NUMBER,
1015 x_return_status OUT NOCOPY VARCHAR2,
1016 x_msg_count OUT NOCOPY NUMBER,
1017 x_msg_data OUT NOCOPY VARCHAR2,
1018 x_actual_unit_landed_cost OUT NOCOPY NUMBER)
1019 IS
1020 l_api_name CONSTANT VARCHAR2(30) := 'Get_LandedCost';
1021 l_api_version CONSTANT NUMBER := 1.0;
1022 l_return_status VARCHAR2(100);
1023 l_msg_count NUMBER;
1024 l_msg_data VARCHAR2(2000);
1025 l_organization_id NUMBER;
1026 l_inventory_item_id NUMBER;
1027 l_primary_qty NUMBER;
1028 l_primary_uom_code VARCHAR2(30);
1029 l_estimated_item_price NUMBER;
1030 l_estimated_charges NUMBER;
1031 l_estimated_taxes NUMBER;
1032 l_estimated_unit_landed_cost NUMBER;
1033 l_actual_item_price NUMBER;
1034 l_actual_charges NUMBER;
1035 l_actual_taxes NUMBER;
1036
1037 BEGIN
1038
1039 -- Standard Beginning of Procedure/Function Logging
1040 INL_LOGGING_PVT.Log_BeginProc (p_module_name => g_module_name,
1041 p_procedure_name => l_api_name) ;
1042
1043 -- Standard Start of API savepoint
1044 SAVEPOINT Get_LandedCost_GRP;
1045
1046 -- Initialize message list IF p_init_msg_list is SET to TRUE.
1047 IF FND_API.to_Boolean (p_init_msg_list) THEN
1048 FND_MSG_PUB.initialize;
1049 END IF;
1050
1051 -- Check FOR call compatibility.
1052 IF NOT FND_API.Compatible_API_Call (p_current_version_number => l_api_version,
1053 p_caller_version_number => p_api_version,
1054 p_api_name => l_api_name,
1055 p_pkg_name => g_pkg_name) THEN
1056 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1057 END IF;
1058
1059 -- Initialize API RETURN status to success
1060 x_return_status := FND_API.G_RET_STS_SUCCESS;
1061
1062 BEGIN
1063
1064 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1065 p_procedure_name => l_api_name,
1066 p_debug_info => 'Before calling INL_LANDEDCOST_PUB.Get_LandedCost');
1067
1071 x_msg_count => l_msg_count,
1068 INL_LANDEDCOST_PUB.Get_LandedCost (p_api_version => l_api_version,
1069 p_ship_line_id => p_ship_line_id,
1070 x_return_status => l_return_status,
1072 x_msg_data => l_msg_data,
1073 x_organization_id => l_organization_id,
1074 x_inventory_item_id => l_inventory_item_id,
1075 x_primary_qty => l_primary_qty,
1076 x_primary_uom_code => l_primary_uom_code,
1077 x_estimated_item_price => l_estimated_item_price,
1078 x_estimated_charges => l_estimated_charges,
1079 x_estimated_taxes => l_estimated_taxes,
1080 x_estimated_unit_landed_cost => l_estimated_unit_landed_cost,
1081 x_actual_item_price => l_actual_item_price,
1082 x_actual_charges => l_actual_charges,
1083 x_actual_taxes => l_actual_taxes,
1084 x_actual_unit_landed_cost => x_actual_unit_landed_cost);
1085
1086 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1087 p_procedure_name => l_api_name,
1088 p_debug_info => 'After calling INL_LANDEDCOST_PUB.Get_LandedCost');
1089
1090 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1091 p_procedure_name => l_api_name,
1092 p_var_name => 'INL_LANDEDCOST_PUB.Get_LandedCost Return Status: ',
1093 p_var_value => l_return_status);
1094
1095 -- If any errors happen abort the process.
1096 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1097 RAISE FND_API.G_EXC_ERROR;
1098 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1099 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1100 END IF;
1101 END;
1102 -- Standard check of p_commit.
1103 IF FND_API.To_Boolean (p_commit) THEN
1104 COMMIT WORK;
1105 END IF;
1106
1107 -- Get message count AND IF count is 1, get message info.
1108 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1109 p_count => x_msg_count,
1110 p_data => x_msg_data) ;
1111
1112 -- End of Procedure Logging
1113 INL_LOGGING_PVT.Log_EndProc ( p_module_name => g_module_name,
1114 p_procedure_name => l_api_name) ;
1115
1116 EXCEPTION
1117 WHEN FND_API.G_EXC_ERROR THEN
1118 -- Standard Expected Error Logging
1119 INL_LOGGING_PVT.Log_ExpecError ( p_module_name => g_module_name,
1120 p_procedure_name => l_api_name) ;
1121 ROLLBACK TO Get_LandedCost_GRP;
1122 x_return_status := FND_API.G_RET_STS_ERROR;
1123 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1124 p_count => x_msg_count,
1125 p_data => x_msg_data) ;
1126 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1127 -- Standard Unexpected Error Logging
1128 INL_LOGGING_PVT.Log_UnexpecError ( p_module_name => g_module_name,
1129 p_procedure_name => l_api_name) ;
1130 ROLLBACK TO Get_LandedCost_GRP;
1131 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1132 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1133 p_count => x_msg_count,
1134 p_data => x_msg_data) ;
1135 WHEN OTHERS THEN
1136 -- Standard Unexpected Error Logging
1137 INL_LOGGING_PVT.Log_UnexpecError ( p_module_name => g_module_name,
1138 p_procedure_name => l_api_name) ;
1139 ROLLBACK TO Get_LandedCost_GRP;
1140 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1141 IF FND_MSG_PUB.Check_Msg_Level (p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1142 FND_MSG_PUB.Add_Exc_Msg ( p_pkg_name => g_pkg_name,
1143 p_procedure_name => l_api_name) ;
1144 END IF;
1145 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1146 p_count => x_msg_count,
1147 p_data => x_msg_data);
1148 END Get_LandedCost;
1149
1150
1151 -- API name : Get_LandedCost
1152 -- Type : Group
1153 -- Function : Update RCV Transactions Interface with
1154 -- the calculated Unit Landed Cost.
1155 --
1156 -- Pre-reqs : None
1157 -- Parameters :
1158 -- IN : p_rti_rec IN RCV_LCM_WEB_SERVICE.rti_cur_table
1159 -- p_group_id IN NUMBER
1160 -- p_processing_mode IN VARCHAR2
1161 --
1162 --
1163 -- Version : Current version 1.0
1164 --
1165 -- Notes :
1166 PROCEDURE Get_LandedCost (p_rti_rec IN RCV_LCM_WEB_SERVICE.rti_cur_table,
1167 p_group_id IN NUMBER,
1168 p_processing_mode IN VARCHAR2)
1169 IS
1170
1171 l_api_name CONSTANT VARCHAR2(30) := 'Get_LandedCost';
1172 l_api_version CONSTANT NUMBER := 1.0;
1173 l_return_status VARCHAR2(100);
1174 l_msg_count NUMBER;
1178 BEGIN
1175 l_msg_data VARCHAR2(2000);
1176 l_actual_unit_landed_cost NUMBER;
1177
1179
1180 -- Standard Beginning of Procedure/Function Logging
1181 INL_LOGGING_PVT.Log_BeginProc (p_module_name => g_module_name,
1182 p_procedure_name => l_api_name) ;
1183
1184 FOR i IN 1..p_rti_rec.COUNT LOOP
1185 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1186 p_procedure_name => l_api_name,
1187 p_var_name => 'p_rti_rec(i).line_id',
1188 p_var_value => p_rti_rec(i).line_id);
1189
1190 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1191 p_procedure_name => l_api_name,
1192 p_debug_info => 'Before calling INL_LANDEDCOST_PUB.Get_LandedCost');
1193
1194 Get_LandedCost (p_api_version => l_api_version,
1195 p_init_msg_list => FND_API.G_FALSE,
1196 p_commit => FND_API.G_FALSE,
1197 p_ship_line_id => p_rti_rec(i).line_id,
1198 x_return_status => l_return_status,
1199 x_msg_count => l_msg_count,
1200 x_msg_data => l_msg_data,
1201 x_actual_unit_landed_cost => l_actual_unit_landed_cost);
1202
1203 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1204 p_procedure_name => l_api_name,
1205 p_debug_info => 'After calling INL_LANDEDCOST_PUB.Get_LandedCost');
1206
1207 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1208 p_procedure_name => l_api_name,
1209 p_var_name => 'l_actual_unit_landed_cost',
1210 p_var_value => l_actual_unit_landed_cost);
1211
1212 IF (l_actual_unit_landed_cost IS NOT NULL) THEN
1213 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1214 p_procedure_name => l_api_name,
1215 p_debug_info => 'Updating RTIs with the new landed cost');
1216
1217 UPDATE rcv_transactions_interface
1218 SET unit_landed_cost = l_actual_unit_landed_cost
1219 WHERE processing_status_code = 'RUNNING'
1220 AND transaction_status_code = 'PENDING'
1221 AND processing_mode_code = p_processing_mode
1222 AND group_id = nvl(p_group_id, group_id)
1223 AND mo_global.check_access(org_id) = 'Y'
1224 AND processing_mode_code = p_processing_mode
1225 AND source_document_code = 'PO'
1226 AND transaction_type NOT IN('SHIP', 'RECEIVE', 'ACCEPT', 'REJECT','TRANSFER','UNORDERED')
1227 AND lcm_shipment_line_id IS NOT NULL
1228 AND lcm_shipment_line_id = p_rti_rec(i).line_id;
1229
1230 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1231 p_procedure_name => l_api_name,
1232 p_var_name => 'RTIs updated',
1233 p_var_value => sql%rowcount);
1234 ELSE
1235 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1236 p_procedure_name => l_api_name,
1237 p_debug_info => 'Setting RTIs to ERROR. Landed Cost is null.');
1238
1239 UPDATE rcv_transactions_interface rti
1240 SET unit_landed_cost = NULL,
1241 processing_status_code = 'ERROR'
1242 WHERE processing_status_code = 'RUNNING'
1243 AND transaction_status_code = 'PENDING'
1244 AND processing_mode_code = p_processing_mode
1245 AND group_id = nvl(p_group_id, group_id)
1246 AND processing_mode_code = p_processing_mode
1247 AND mo_global.check_access(org_id) = 'Y'
1248 AND source_document_code = 'PO'
1249 AND transaction_type NOT IN('SHIP', 'RECEIVE', 'ACCEPT', 'REJECT','TRANSFER','UNORDERED')
1250 AND lcm_shipment_line_id IS NOT NULL
1251 AND lcm_shipment_line_id = p_rti_rec(i).line_id;
1252 END IF;
1253 END LOOP;
1254
1255 -- End of Procedure Logging
1256 INL_LOGGING_PVT.Log_EndProc ( p_module_name => g_module_name,
1257 p_procedure_name => l_api_name) ;
1258 EXCEPTION
1259 WHEN OTHERS THEN
1260 INL_LOGGING_PVT.Log_UnexpecError (p_module_name => g_module_name,
1261 p_procedure_name => l_api_name);
1262 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1263 p_procedure_name => l_api_name,
1264 p_debug_info => 'the error is: ' || sqlcode ||' '||substr(SQLERRM, 1, 1000));
1265 UPDATE rcv_transactions_interface
1266 SET processing_status_code = 'ERROR'
1267 WHERE processing_status_code = 'RUNNING'
1268 AND transaction_status_code = 'PENDING'
1269 AND mo_global.check_access(org_id) = 'Y'
1270 AND processing_mode_code = p_processing_mode
1271 AND group_id = nvl(p_group_id, group_id)
1272 AND source_document_code = 'PO'
1273 AND transaction_type NOT IN ('SHIP', 'RECEIVE', 'ACCEPT', 'REJECT','TRANSFER','UNORDERED')
1274 AND lcm_shipment_line_id IS NOT NULL;
1275
1276 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1277 p_procedure_name => l_api_name,
1281 -- Utility : Call_UpdateRCV
1278 p_debug_info => sql%rowcount || ' RTIs updated to Error');
1279 END Get_LandedCost;
1280
1282 -- Type : Group
1283 -- Function : Update RCV tables with the calculated Unit
1284 -- Landed Cost and its related LCM Shipment Line Id.
1285 --
1286 -- Pre-reqs : None
1287 -- Parameters :
1288 -- IN : p_ship_lines_table IN ship_lines_table
1289 --
1290 -- OUT x_return_status OUT NOCOPY VARCHAR2
1291 --
1292 -- Version : Current version 1.0
1293 --
1294 -- Notes :
1295 PROCEDURE Call_UpdateRCV (p_ship_lines_table IN ship_lines_table,
1296 x_return_status OUT NOCOPY VARCHAR2)
1297 IS
1298
1299
1300 l_proc_name CONSTANT VARCHAR2(30) := 'Call_UpdateRCV';
1301 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1302
1303 l_rti_lc_info_table RCV_UPDATE_RTI_LC.rcv_cost_table := RCV_UPDATE_RTI_LC.rcv_cost_table();
1304 l_rcv_int_table RCV_UPDATE_RTI_LC.lcm_int_table := RCV_UPDATE_RTI_LC.lcm_int_table();
1305
1306 BEGIN
1307
1308 -- Initialize return status to success
1309 x_return_status := FND_API.G_RET_STS_SUCCESS;
1310
1311 -- Standard Beginning of Procedure/Function Logging
1312 INL_LOGGING_PVT.Log_BeginProc (p_module_name => g_module_name,
1313 p_procedure_name => l_proc_name);
1314
1315 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1316 p_procedure_name => l_proc_name,
1317 p_var_name => 'p_ship_lines_table.COUNT',
1318 p_var_value => p_ship_lines_table.COUNT);
1319
1320 FOR i IN 1..p_ship_lines_table.COUNT LOOP
1321 l_rti_lc_info_table.EXTEND;
1322 l_rti_lc_info_table(i).interface_id := p_ship_lines_table(i).interface_source_line_id;
1323 l_rti_lc_info_table(i).lcm_shipment_line_id := p_ship_lines_table(i).ship_line_id;
1324 l_rti_lc_info_table(i).unit_landed_cost := p_ship_lines_table(i).unit_landed_cost;
1325 END LOOP;
1326
1327 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1328 p_procedure_name => l_proc_name,
1329 p_debug_info => 'Before calling RCV_UPDATE_RTI_LC.Update_RTI: ' || to_char(SYSDATE,'DD-MON-YYYY HH:MI:SS'));
1330
1331 RCV_UPDATE_RTI_LC.Update_RTI(p_int_rec => l_rti_lc_info_table,
1332 x_lcm_int => l_rcv_int_table);
1333
1334 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1335 p_procedure_name => l_proc_name,
1336 p_debug_info => 'After calling RCV_UPDATE_RTI_LC.Update_RTI: ' || to_char(SYSDATE,'DD-MON-YYYY HH:MI:SS'));
1337
1338 -- Standard End of Procedure/Function Logging
1339 INL_logging_pvt.Log_EndProc (p_module_name => g_module_name,
1340 p_procedure_name => l_proc_name);
1341
1342 EXCEPTION
1343 WHEN FND_API.G_EXC_ERROR THEN
1344 -- Standard Expected Error Logging
1345 INL_LOGGING_PVT.Log_ExpecError (
1346 p_module_name => g_module_name,
1347 p_procedure_name => l_proc_name);
1348 x_return_status := FND_API.G_RET_STS_ERROR;
1349 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1350 -- Standard Unexpected Error Logging
1351 INL_LOGGING_PVT.Log_UnexpecError (
1352 p_module_name => g_module_name,
1353 p_procedure_name => l_proc_name);
1354 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1355 WHEN OTHERS THEN
1356 -- Standard Unexpected Error Logging
1357 INL_LOGGING_PVT.Log_UnexpecError (
1358 p_module_name => g_module_name,
1359 p_procedure_name => l_proc_name);
1360 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1361 IF FND_MSG_PUB.Check_Msg_Level(p_message_level =>FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1362 FND_MSG_PUB.Add_Exc_Msg(
1363 p_pkg_name => g_pkg_name,
1364 p_procedure_name => l_proc_name);
1365 END IF;
1366 END Call_UpdateRCV;
1367
1368 -- API name : Call_StampLC
1369 -- Type : Group
1370 -- Function : Call Stamp LC with the calculated Unit
1371 -- Landed Cost and its related LCM Shipment Line Id.
1372 --
1373 -- Pre-reqs : None
1374 -- Parameters :
1375 -- IN : p_api_version IN NUMBER,
1376 -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1377 -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1378 -- p_ship_header_id IN NUMBER
1379 --
1380 -- OUT x_return_status OUT NOCOPY VARCHAR2
1381 -- x_msg_count OUT NOCOPY NUMBER
1382 -- x_msg_data OUT NOCOPY VARCHAR2
1383 --
1384 -- Version : Current version 1.0
1385 --
1386 -- Notes :
1387 PROCEDURE Call_StampLC (p_api_version IN NUMBER,
1388 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1389 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1390 p_ship_header_id IN NUMBER,
1391 x_return_status OUT NOCOPY VARCHAR2,
1392 x_msg_count OUT NOCOPY NUMBER,
1393 x_msg_data OUT NOCOPY VARCHAR2) IS
1394
1395 l_api_name CONSTANT VARCHAR2(30) := 'Call_StampLC';
1396 l_api_version CONSTANT NUMBER := 1.0;
1397 l_return_status VARCHAR2(1);
1398 l_msg_count NUMBER;
1399 l_msg_data VARCHAR2(2000);
1400 l_ship_lines_table ship_lines_table;
1401
1402 BEGIN
1403
1404 -- Standard Beginning of Procedure/Function Logging
1408 -- Standard Start of API savepoint
1405 INL_LOGGING_PVT.Log_BeginProc (p_module_name => g_module_name,
1406 p_procedure_name => l_api_name) ;
1407
1409 SAVEPOINT Call_StampLC_GRP;
1410
1411 -- Initialize message list IF p_init_msg_list is SET to TRUE.
1412 IF FND_API.to_Boolean (p_init_msg_list) THEN
1413 FND_MSG_PUB.initialize;
1414 END IF;
1415
1416 -- Check FOR call compatibility.
1417 IF NOT FND_API.Compatible_API_Call (p_current_version_number => l_api_version,
1418 p_caller_version_number => p_api_version,
1419 p_api_name => l_api_name,
1420 p_pkg_name => g_pkg_name) THEN
1421 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1422 END IF;
1423
1424 -- Initialize API RETURN status to success
1425 x_return_status := FND_API.G_RET_STS_SUCCESS;
1426
1427 OPEN c_ship_lines(p_ship_header_id, 'PO', 'RCV_TRANSACTIONS_INTERFACE');
1428 FETCH c_ship_lines BULK COLLECT INTO l_ship_lines_table;
1429
1430 IF c_ship_lines%ISOPEN THEN
1431 CLOSE c_ship_lines;
1432 END IF;
1433
1434 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1435 p_procedure_name => l_api_version,
1436 p_debug_info => 'Before calling Call_UpdateRCV');
1437
1438 Call_UpdateRCV (p_ship_lines_table => l_ship_lines_table,
1439 x_return_status => l_return_status);
1440
1441 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1442 p_procedure_name => l_api_name,
1443 p_debug_info => 'After calling Call_UpdateRCV');
1444
1445 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1446 p_procedure_name => l_api_name,
1447 p_var_name => 'Call_UpdateRCV l_return_status: ',
1448 p_var_value => l_return_status);
1449
1450 -- If any errors happen abort the process.
1451 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1452 RAISE FND_API.G_EXC_ERROR;
1453 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1454 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1455 END IF;
1456
1457 -- Standard check of p_commit.
1458 IF FND_API.To_Boolean (p_commit) THEN
1459 COMMIT WORK;
1460 END IF;
1461
1462 -- Get message count AND IF count is 1, get message info.
1463 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1464 p_count => x_msg_count,
1465 p_data => x_msg_data);
1466
1467 -- End of Procedure Logging
1468 INL_LOGGING_PVT.Log_EndProc ( p_module_name => g_module_name,
1469 p_procedure_name => l_api_name);
1470 EXCEPTION
1471 WHEN FND_API.G_EXC_ERROR THEN
1472 -- Standard Expected Error Logging
1473 INL_LOGGING_PVT.Log_ExpecError ( p_module_name => g_module_name,
1474 p_procedure_name => l_api_name);
1475 ROLLBACK TO Call_StampLC_GRP;
1476 x_return_status := FND_API.G_RET_STS_ERROR;
1477 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1478 p_count => x_msg_count,
1479 p_data => x_msg_data);
1480 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1481 -- Standard Unexpected Error Logging
1482 INL_LOGGING_PVT.Log_UnexpecError ( p_module_name => g_module_name,
1483 p_procedure_name => l_api_name);
1484 ROLLBACK TO Call_StampLC_GRP;
1485 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1486 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1487 p_count => x_msg_count,
1488 p_data => x_msg_data) ;
1489 WHEN OTHERS THEN
1490 -- Standard Unexpected Error Logging
1491 INL_LOGGING_PVT.Log_UnexpecError ( p_module_name => g_module_name,
1492 p_procedure_name => l_api_name) ;
1493 ROLLBACK TO Call_StampLC_GRP;
1494 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1495 IF FND_MSG_PUB.Check_Msg_Level (p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1496 FND_MSG_PUB.Add_Exc_Msg ( p_pkg_name => g_pkg_name,
1497 p_procedure_name => l_api_name) ;
1498 END IF;
1499 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1500 p_count => x_msg_count,
1501 p_data => x_msg_data) ;
1502 END Call_StampLC;
1503
1504 ---
1505 -- Utility name: Call_InsertRCV
1506 -- Type : Group
1507 -- Function : Call RCV code to insert in RCV tables
1508 --
1509 -- Pre-reqs : None
1510 -- Parameters :
1511 -- IN : p_ship_header_id IN NUMBER
1512 -- p_rti_rec IN ship_lines_table
1513 --
1514 -- OUT x_return_status OUT NOCOPY VARCHAR2
1515 --
1516 -- Version : Current version 1.0
1517 --
1518 -- Notes :
1519 PROCEDURE Call_InsertRCV(p_ship_header_id IN NUMBER,
1520 p_ship_lines_table IN ship_lines_table,
1521 x_return_status OUT NOCOPY VARCHAR2)
1522 IS
1523 l_proc_name CONSTANT VARCHAR2(30) := 'Call_InsertRCV';
1524 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1525 l_ship_lines_table RCV_INSERT_FROM_INL.rti_rec_table:= RCV_INSERT_FROM_INL.rti_rec_table();
1526 BEGIN
1527
1528 -- Initialize return status to success
1529 x_return_status := FND_API.G_RET_STS_SUCCESS;
1530
1531 -- Standard Beginning of Procedure/Function Logging
1532 INL_LOGGING_PVT.Log_BeginProc (p_module_name => g_module_name,
1536 p_procedure_name => l_proc_name,
1533 p_procedure_name => l_proc_name);
1534
1535 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1537 p_var_name => 'p_ship_lines_table.COUNT',
1538 p_var_value => p_ship_lines_table.COUNT);
1539
1540 FOR i IN 1..p_ship_lines_table.COUNT LOOP
1541
1542 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1543 p_procedure_name => l_proc_name,
1544 p_var_name => 'l_ship_lines_table.EXTEND',
1545 p_var_value => 'l_ship_lines_table.EXTEND');
1546 l_ship_lines_table.EXTEND;
1547 l_ship_lines_table(i).ship_line_id := p_ship_lines_table(i).ship_line_id;
1548 l_ship_lines_table(i).ship_line_source_id := p_ship_lines_table(i).ship_line_source_id;
1549 l_ship_lines_table(i).inventory_item_id := p_ship_lines_table(i).inventory_item_id;
1550 l_ship_lines_table(i).txn_qty := p_ship_lines_table(i).txn_qty;
1551 l_ship_lines_table(i).txn_uom_code := p_ship_lines_table(i).txn_uom_code;
1552 l_ship_lines_table(i).primary_qty := p_ship_lines_table(i).primary_qty;
1553 l_ship_lines_table(i).primary_uom_code := p_ship_lines_table(i).primary_uom_code;
1554 l_ship_lines_table(i).currency_code := p_ship_lines_table(i).currency_code;
1555 l_ship_lines_table(i).currency_conversion_type := p_ship_lines_table(i).currency_conversion_type;
1556 l_ship_lines_table(i).currency_conversion_date := p_ship_lines_table(i).currency_conversion_date;
1557 l_ship_lines_table(i).currency_conversion_rate := p_ship_lines_table(i).currency_conversion_rate;
1558 l_ship_lines_table(i).party_id := p_ship_lines_table(i).party_id;
1559 l_ship_lines_table(i).party_site_id := p_ship_lines_table(i).party_site_id;
1560 l_ship_lines_table(i).src_type_code := p_ship_lines_table(i).src_type_code;
1561 l_ship_lines_table(i).ship_line_group_id := p_ship_lines_table(i).ship_line_group_id;
1562 l_ship_lines_table(i).organization_id := p_ship_lines_table(i).organization_id;
1563 l_ship_lines_table(i).location_id := p_ship_lines_table(i).location_id;
1564 l_ship_lines_table(i).org_id := p_ship_lines_table(i).org_id;
1565 l_ship_lines_table(i).item_description := p_ship_lines_table(i).item_description;
1566 l_ship_lines_table(i).item := p_ship_lines_table(i).item;
1567 l_ship_lines_table(i).interface_source_code := p_ship_lines_table(i).interface_source_code;
1568 l_ship_lines_table(i).interface_source_table := p_ship_lines_table(i).interface_source_table;
1569 l_ship_lines_table(i).interface_source_line_id := p_ship_lines_table(i).interface_source_line_id;
1570 l_ship_lines_table(i).unit_landed_cost := p_ship_lines_table(i).unit_landed_cost;
1571 END LOOP;
1572
1573 IF l_ship_lines_table.FIRST IS NOT NULL THEN
1574
1575 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1576 p_procedure_name => l_proc_name,
1577 p_debug_info => 'Before call RCV_INSERT_FROM_INL.insert_rcv_tables');
1578
1579 RCV_INSERT_FROM_INL.insert_rcv_tables(p_int_rec => l_ship_lines_table,
1580 p_ship_header_id => p_ship_header_id);
1581
1582 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1583 p_procedure_name => l_proc_name,
1584 p_debug_info => 'After call RCV_INSERT_FROM_INL.insert_rcv_tables');
1585 END IF;
1586
1587 -- Standard End of Procedure/Function Logging
1588 INL_logging_pvt.Log_EndProc (p_module_name => g_module_name,
1589 p_procedure_name => l_proc_name);
1590
1591 EXCEPTION
1592 WHEN FND_API.G_EXC_ERROR THEN
1593 -- Standard Expected Error Logging
1594 INL_LOGGING_PVT.Log_ExpecError(p_module_name => g_module_name,
1595 p_procedure_name => l_proc_name);
1596 x_return_status := FND_API.G_RET_STS_ERROR;
1597 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1598 -- Standard Unexpected Error Logging
1599 INL_LOGGING_PVT.Log_UnexpecError(p_module_name => g_module_name,
1600 p_procedure_name => l_proc_name);
1601 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1602 WHEN OTHERS THEN
1603 -- Standard Unexpected Error Logging
1604 INL_LOGGING_PVT.Log_UnexpecError(p_module_name => g_module_name,
1605 p_procedure_name => l_proc_name);
1606 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1607 IF FND_MSG_PUB.Check_Msg_Level(p_message_level =>FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1608 FND_MSG_PUB.Add_Exc_Msg(p_pkg_name => g_pkg_name,
1609 p_procedure_name => l_proc_name);
1610 END IF;
1611 END Call_InsertRCV;
1612
1613 -- API name : Export_ToRCV
1614 -- Type : Group
1615 -- Function : Format information based on LCM Shipments
1616 -- and call Call_InsertRCV utility
1617 --
1618 -- Pre-reqs : None
1619 -- Parameters :
1620 -- IN : p_api_version IN NUMBER,
1621 -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1622 -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1623 -- p_ship_header_id IN NUMBER
1624 --
1625 -- OUT x_return_status OUT NOCOPY VARCHAR2
1626 -- x_msg_count OUT NOCOPY NUMBER
1627 -- x_msg_data OUT NOCOPY VARCHAR2
1628 --
1629 -- Version : Current version 1.0
1630 --
1631 -- Notes :
1632
1633 PROCEDURE Export_ToRCV (p_api_version IN NUMBER,
1634 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1635 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1639 x_msg_data OUT NOCOPY VARCHAR2)
1636 p_ship_header_id IN NUMBER,
1637 x_return_status OUT NOCOPY VARCHAR2,
1638 x_msg_count OUT NOCOPY NUMBER,
1640 IS
1641
1642 l_api_name CONSTANT VARCHAR2(30) := 'Export_ToRCV';
1643 l_api_version CONSTANT NUMBER := 1.0;
1644 l_return_status VARCHAR2(1);
1645 l_msg_count NUMBER;
1646 l_msg_data VARCHAR2(2000);
1647 l_ship_lines_table ship_lines_table;
1648
1649 BEGIN
1650
1651 -- Standard Beginning of Procedure/Function Logging
1652 INL_LOGGING_PVT.Log_BeginProc (p_module_name => g_module_name,
1653 p_procedure_name => l_api_name);
1654
1655 -- Standard Start of API savepoint
1656 SAVEPOINT Export_ToRCV_GRP;
1657
1658 -- Initialize message list IF p_init_msg_list is SET to TRUE.
1659 IF FND_API.to_Boolean (p_init_msg_list) THEN
1660 FND_MSG_PUB.initialize;
1661 END IF;
1662
1663 -- Check FOR call compatibility.
1664 IF NOT FND_API.Compatible_API_Call (p_current_version_number => l_api_version,
1665 p_caller_version_number => p_api_version,
1666 p_api_name => l_api_name,
1667 p_pkg_name => g_pkg_name) THEN
1668 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1669 END IF;
1670
1671 -- Initialize API RETURN status to success
1672 x_return_status := FND_API.G_RET_STS_SUCCESS;
1673
1674 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1675 p_procedure_name => l_api_name,
1676 p_var_name => 'p_ship_header_id',
1677 p_var_value => p_ship_header_id);
1678
1679 OPEN c_ship_lines(p_ship_header_id, 'PO', NULL);
1680 FETCH c_ship_lines BULK COLLECT INTO l_ship_lines_table;
1681
1682 IF l_ship_lines_table.FIRST IS NOT NULL THEN
1683 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1684 p_procedure_name => l_api_name,
1685 p_debug_info => 'Before call Call_InsertRCV');
1686
1687 Call_InsertRCV(p_ship_header_id => p_ship_header_id,
1688 p_ship_lines_table => l_ship_lines_table,
1689 x_return_status => l_return_status);
1690
1691 -- If any errors happen abort the process.
1692 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1693 RAISE FND_API.G_EXC_ERROR;
1694 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1695 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1696 END IF;
1697
1698 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1699 p_procedure_name => l_api_name,
1700 p_debug_info => 'After call Call_InsertRCV');
1701
1702 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1703 p_procedure_name => l_api_name,
1704 p_var_name => 'Call_InsertRCV l_return_status:',
1705 p_var_value => l_return_status);
1706 END IF;
1707
1708 IF c_ship_lines%ISOPEN THEN
1709 CLOSE c_ship_lines;
1710 END IF;
1711
1712 -- Standard check of p_commit.
1713 IF FND_API.To_Boolean (p_commit) THEN
1714 COMMIT WORK;
1715 END IF;
1716 -- Get message count AND IF count is 1, get message info.
1717 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
1718 p_count => x_msg_count,
1719 p_data => x_msg_data) ;
1720 -- End of Procedure Logging
1721 INL_LOGGING_PVT.Log_EndProc(p_module_name => g_module_name,
1722 p_procedure_name => l_api_name) ;
1723 EXCEPTION
1724 WHEN FND_API.G_EXC_ERROR THEN
1725 -- Standard Expected Error Logging
1726 INL_LOGGING_PVT.Log_ExpecError(p_module_name => g_module_name,
1727 p_procedure_name => l_api_name) ;
1728 ROLLBACK TO Export_ToRCV_GRP;
1729 x_return_status := FND_API.G_RET_STS_ERROR;
1730 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
1731 p_count => x_msg_count,
1732 p_data => x_msg_data) ;
1733 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1734 -- Standard Unexpected Error Logging
1735 INL_LOGGING_PVT.Log_UnexpecError(p_module_name => g_module_name,
1736 p_procedure_name => l_api_name) ;
1737 ROLLBACK TO Export_ToRCV_GRP;
1738 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1739 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
1740 p_count => x_msg_count,
1741 p_data => x_msg_data) ;
1742 WHEN OTHERS THEN
1743 -- Standard Unexpected Error Logging
1744 INL_LOGGING_PVT.Log_UnexpecError(p_module_name => g_module_name,
1745 p_procedure_name => l_api_name) ;
1746 ROLLBACK TO Export_ToRCV_GRP;
1747 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1748 IF FND_MSG_PUB.Check_Msg_Level (p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1749 FND_MSG_PUB.Add_Exc_Msg(p_pkg_name => g_pkg_name,
1750 p_procedure_name => l_api_name) ;
1751 END IF;
1752 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
1753 p_count => x_msg_count,
1754 p_data => x_msg_data) ;
1755 END Export_ToRCV;
1756
1757 -- API name : Export_ToCST
1758 -- Type : Group
1762 -- Parameters :
1759 -- Function : Controls the creation of Cost Adjustment Transactions
1760 -- to be processed by Inventory/Costing applications.
1761 -- Pre-reqs : None
1763 -- IN : p_api_version IN NUMBER,
1764 -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1765 -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1766 -- p_ship_header_id IN NUMBER
1767 -- OUT x_return_status OUT NOCOPY VARCHAR2
1768 -- x_msg_count OUT NOCOPY NUMBER
1769 -- x_msg_data OUT NOCOPY VARCHAR2
1770 --
1771 -- Version : Current version 1.0
1772 --
1773 -- Notes :
1774 PROCEDURE Export_ToCST (p_api_version IN NUMBER,
1775 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1776 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1777 p_ship_header_id IN NUMBER,
1778 x_return_status OUT NOCOPY VARCHAR2,
1779 x_msg_count OUT NOCOPY NUMBER,
1780 x_msg_data OUT NOCOPY VARCHAR2) IS
1781
1782 CURSOR c_ship_ln_adj IS
1783 SELECT ish.organization_id,
1784 isl.ship_line_group_id,
1785 isl.ship_line_id,
1786 isl.inventory_item_id,
1787 isl.parent_ship_line_id,
1788 isl.ship_line_num,
1789 rtr.transaction_id,
1790 ish.adjustment_num
1791 FROM inl_ship_headers ish,
1792 inl_ship_lines isl,
1793 rcv_transactions rtr
1794 WHERE ish.ship_header_id = isl.ship_header_id
1795 AND rtr.po_line_location_id = isl.ship_line_source_id
1796 AND rtr.lcm_shipment_line_id = isl.ship_line_id
1797 AND rtr.parent_transaction_id = -1
1798 AND ish.ship_header_id = p_ship_header_id
1799 ORDER BY isl.ship_line_id;
1800
1801 TYPE ship_ln_adj_type IS TABLE OF c_ship_ln_adj%ROWTYPE;
1802 ship_ln_list ship_ln_adj_type;
1803
1804 l_api_name CONSTANT VARCHAR2 (30) := 'Export_ToCST';
1805 l_api_version CONSTANT NUMBER := 1.0;
1806 l_return_status VARCHAR2(1);
1807 l_msg_count NUMBER;
1808 l_msg_data VARCHAR2 (2000);
1809 l_debug_info VARCHAR2 (200);
1810 l_current_date DATE;
1811 l_prior_landed_cost NUMBER;
1812 l_new_landed_cost NUMBER;
1813
1814 BEGIN
1815
1816 -- Standard Beginning of Procedure/Function Logging
1817 INL_LOGGING_PVT.Log_BeginProc (p_module_name => g_module_name,
1818 p_procedure_name => l_api_name) ;
1819
1820 -- Standard Start of API savepoint
1821 SAVEPOINT Export_ToCST_GRP;
1822
1823 -- Initialize message list IF p_init_msg_list is SET to TRUE.
1824 IF FND_API.to_Boolean (p_init_msg_list) THEN
1825 FND_MSG_PUB.initialize;
1826 END IF;
1827
1828 -- Check FOR call compatibility.
1829 IF NOT FND_API.Compatible_API_Call (p_current_version_number => l_api_version,
1830 p_caller_version_number => p_api_version,
1831 p_api_name => l_api_name,
1832 p_pkg_name => g_pkg_name) THEN
1833 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1834 END IF;
1835
1836 -- Initialize API RETURN status to success
1837 x_return_status := FND_API.G_RET_STS_SUCCESS;
1838
1839 OPEN c_ship_ln_adj;
1840 FETCH c_ship_ln_adj BULK COLLECT INTO ship_ln_list;
1841 CLOSE c_ship_ln_adj;
1842
1843 FOR i IN ship_ln_list.FIRST .. ship_ln_list.LAST
1844 LOOP
1845 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1846 p_procedure_name => l_api_name,
1847 p_var_name => 'ship_ln_list(i).ship_line_id',
1848 p_var_value => ship_ln_list(i).ship_line_id);
1849
1850 l_debug_info := 'Get the Prior Unit Landed Cost';
1851 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1852 p_procedure_name => l_api_name,
1853 p_debug_info => l_debug_info);
1854
1855 -- Get the New Unit Landed Cost
1856 SELECT islv.unit_landed_cost
1857 INTO l_new_landed_cost
1858 FROM inl_shipln_landed_costs_v islv
1859 WHERE islv.adjustment_num = ship_ln_list(i).adjustment_num
1860 AND islv.ship_header_id = p_ship_header_id
1861 AND islv.ship_line_group_id = ship_ln_list(i).ship_line_group_id --Bug 7678900
1862 AND islv.ship_line_num = ship_ln_list(i).ship_line_num;
1863
1864 -- Get the Prior Unit Landed Cost
1865 SELECT islv.unit_landed_cost
1866 INTO l_prior_landed_cost
1867 FROM inl_shipln_landed_costs_v islv
1868 WHERE islv.adjustment_num = ship_ln_list(i).adjustment_num - 1
1869 AND islv.ship_header_id = p_ship_header_id
1870 AND islv.ship_line_group_id = ship_ln_list(i).ship_line_group_id --Bug 7678900
1871 AND islv.ship_line_num = ship_ln_list(i).ship_line_num;
1872
1873 INL_LOGGING_PVT.Log_Variable (p_module_name => g_module_name,
1874 p_procedure_name => l_api_name,
1875 p_var_name => 'l_prior_landed_cost',
1876 p_var_value => l_prior_landed_cost);
1877
1878 -- Just INSERT those line which IN some way have had their costs changed
1879 IF l_prior_landed_cost <> l_new_landed_cost THEN
1880 l_current_date := SYSDATE;
1881 l_debug_info := 'Insert INTO CST_LC_ADJ_INTERFACE TABLE';
1882 INL_LOGGING_PVT.Log_Statement (p_module_name => g_module_name,
1883 p_procedure_name => l_api_name,
1887 organization_id,
1884 p_debug_info => l_debug_info);
1885 INSERT INTO cst_lc_adj_interface (transaction_id,
1886 rcv_transaction_id,
1888 inventory_item_id,
1889 transaction_date,
1890 prior_landed_cost,
1891 new_landed_cost,
1892 process_status,
1893 process_phase,
1894 group_id,
1895 creation_date,
1896 created_by,
1897 last_update_date,
1898 last_updated_by,
1899 last_update_login,
1900 request_id,
1901 program_application_id,
1902 program_id,
1903 program_update_date)
1904 VALUES (NULL, -- transaction_id
1905 ship_ln_list(i).transaction_id,
1906 ship_ln_list(i).organization_id,
1907 ship_ln_list(i).inventory_item_id,
1908 l_current_date,
1909 l_prior_landed_cost,
1910 l_new_landed_cost,
1911 1, --process_status (1 = Pending)
1912 1, --process_phase (1 = Pending)
1913 NULL, -- group_id
1914 l_current_date, -- creation_date
1915 FND_GLOBAL.user_id, -- created_by
1916 l_current_date, -- last_update_date
1917 FND_GLOBAL.user_id, --last_updated_by
1918 FND_GLOBAL.login_id, --last_update_login
1919 NULL, --request_id,
1920 NULL, --program_application_id,
1921 NULL, --program_id,
1922 NULL); --program_update_date
1923 END IF;
1924 END LOOP;
1925
1926 -- Standard check of p_commit.
1927 IF FND_API.To_Boolean (p_commit) THEN
1928 COMMIT WORK;
1929 END IF;
1930 -- Get message count AND IF count is 1, get message info.
1931 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1932 p_count => x_msg_count,
1933 p_data => x_msg_data) ;
1934 -- End of Procedure Logging
1935 INL_LOGGING_PVT.Log_EndProc ( p_module_name => g_module_name,
1936 p_procedure_name => l_api_name) ;
1937 EXCEPTION
1938 WHEN FND_API.G_EXC_ERROR THEN
1939 -- Standard Expected Error Logging
1940 INL_LOGGING_PVT.Log_ExpecError ( p_module_name => g_module_name,
1941 p_procedure_name => l_api_name) ;
1942 ROLLBACK TO Export_ToCST_GRP;
1943 x_return_status := FND_API.G_RET_STS_ERROR;
1944 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1945 p_count => x_msg_count,
1946 p_data => x_msg_data) ;
1947 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1948 -- Standard Unexpected Error Logging
1949 INL_LOGGING_PVT.Log_UnexpecError ( p_module_name => g_module_name,
1950 p_procedure_name => l_api_name) ;
1951 ROLLBACK TO Export_ToCST_GRP;
1952 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1953 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1954 p_count => x_msg_count,
1955 p_data => x_msg_data) ;
1956 WHEN OTHERS THEN
1957 -- Standard Unexpected Error Logging
1958 INL_LOGGING_PVT.Log_UnexpecError ( p_module_name => g_module_name,
1959 p_procedure_name => l_api_name) ;
1960 ROLLBACK TO Export_ToCST_GRP;
1961 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1962 IF FND_MSG_PUB.Check_Msg_Level (p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1963 FND_MSG_PUB.Add_Exc_Msg ( p_pkg_name => g_pkg_name,
1964 p_procedure_name => l_api_name) ;
1965 END IF;
1966 FND_MSG_PUB.Count_And_Get ( p_encoded => FND_API.g_false,
1967 p_count => x_msg_count,
1968 p_data => x_msg_data) ;
1969 END Export_ToCST;
1970
1971
1972 -- API name : Get_CurrencyInfo
1973 -- Type : Group
1974 -- Function :
1975 -- Pre-reqs : None
1976 -- Parameters :
1977 -- IN : p_api_version IN NUMBER Required
1978 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API.G_FALSE
1979 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1980 -- p_ship_line_id IN NUMBER Required
1981 --
1982 -- OUT : x_return_status OUT NOCOPY VARCHAR2
1983 -- x_msg_count OUT NOCOPY NUMBER
1984 -- x_msg_data OUT NOCOPY VARCHAR2
1985 -- x_currency_code OUT NOCOPY VARCHAR2
1986 -- x_currency_conversion_type OUT NOCOPY VARCHAR2
1987 -- x_currency_conversion_date OUT NOCOPY DATE
1988 -- x_currency_conversion_rate OUT NOCOPY NUMBER
1989 --
1990 -- Version : Current version 1.0
1991 --
1992 -- Notes :
1993 PROCEDURE Get_CurrencyInfo(
1994 p_api_version IN NUMBER,
1995 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1996 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1997 p_ship_line_id IN NUMBER,
1998 x_return_status OUT NOCOPY VARCHAR2,
1999 x_msg_count OUT NOCOPY NUMBER,
2000 x_msg_data OUT NOCOPY VARCHAR2,
2001 x_currency_code OUT NOCOPY VARCHAR2,
2002 x_currency_conversion_type OUT NOCOPY VARCHAR2,
2003 x_currency_conversion_date OUT NOCOPY DATE,
2004 x_currency_conversion_rate OUT NOCOPY NUMBER
2005 ) IS
2006
2007 l_api_name CONSTANT VARCHAR2(30) := 'Get_CurrencyInfo';
2008 l_api_version CONSTANT NUMBER := 1.0;
2009
2010 l_return_status VARCHAR2(1);
2011 l_msg_count NUMBER;
2012 l_msg_data VARCHAR2(2000);
2013 l_debug_info VARCHAR2(200);
2014 BEGIN
2015
2016 -- Standard Beginning of Procedure/Function Logging
2017 INL_LOGGING_PVT.Log_BeginProc (
2018 p_module_name => g_module_name,
2019 p_procedure_name => l_api_name
2020 );
2021 -- Standard Start of API savepoint
2022 SAVEPOINT Get_CurrencyInfo_GRP;
2023
2024 -- Initialize message list if p_init_msg_list is set to TRUE.
2025 IF FND_API.to_Boolean( p_init_msg_list ) THEN
2026 FND_MSG_PUB.initialize;
2027 END IF;
2028
2029 -- Check for call compatibility.
2030 IF NOT FND_API.Compatible_API_Call (
2031 l_api_version,
2032 p_api_version,
2033 l_api_name,
2034 g_pkg_name)
2035 THEN
2036 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2037 END IF;
2038
2039 -- Initialize API return status to success
2040 x_return_status := FND_API.G_RET_STS_SUCCESS;
2041
2042 -- Api Body
2043
2044 -- Standard Statement Level Procedure/Function Logging
2045 l_debug_info := 'Get currency info for the ship_line_id: ' || p_ship_line_id;
2046 INL_LOGGING_PVT.Log_Statement (
2047 p_module_name => g_module_name,
2048 p_procedure_name => l_api_name,
2049 p_debug_info => l_debug_info
2050 );
2051
2052 SELECT
2053 sl.currency_code,
2054 sl.currency_conversion_type,
2055 nvl(sl.currency_conversion_date,sl.creation_date),
2056 sl.currency_conversion_rate
2057 INTO
2058 x_currency_code,
2059 x_currency_conversion_type,
2060 x_currency_conversion_date,
2061 x_currency_conversion_rate
2062 FROM inl_ship_lines_all sl
2063 WHERE sl.ship_line_id = p_ship_line_id;
2064
2065 -- End of Api Body
2066
2067 -- Standard check of p_commit.
2068 IF FND_API.To_Boolean( p_commit ) THEN
2069 COMMIT WORK;
2070 END IF;
2071
2072 -- Standard call to get message count and if count is 1, get message info.
2073 FND_MSG_PUB.Count_And_Get(
2074 p_encoded => FND_API.g_false,
2075 p_count => x_msg_count,
2076 p_data => x_msg_data);
2077
2078 -- Standard End of Procedure/Function Logging
2079 INL_LOGGING_PVT.Log_EndProc (
2080 p_module_name => g_module_name,
2081 p_procedure_name => l_api_name);
2082 EXCEPTION
2083 WHEN FND_API.G_EXC_ERROR THEN
2084 -- Standard Expected Error Logging
2085 INL_LOGGING_PVT.Log_ExpecError (
2086 p_module_name => g_module_name,
2087 p_procedure_name => l_api_name
2088 );
2089 ROLLBACK TO Get_CurrencyInfo_GRP;
2090 x_return_status := FND_API.G_RET_STS_ERROR;
2091 FND_MSG_PUB.Count_And_Get(
2092 p_encoded => FND_API.g_false,
2093 p_count => x_msg_count,
2094 p_data => x_msg_data
2095 );
2096 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2097 -- Standard Unexpected Error Logging
2098 INL_LOGGING_PVT.Log_UnexpecError (
2099 p_module_name => g_module_name,
2100 p_procedure_name => l_api_name);
2101 ROLLBACK TO Get_CurrencyInfo_GRP;
2102 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2103 FND_MSG_PUB.Count_And_Get(
2104 p_encoded => FND_API.g_false,
2105 p_count => x_msg_count,
2106 p_data => x_msg_data);
2107 WHEN OTHERS THEN
2108 -- Standard Unexpected Error Logging
2109 INL_LOGGING_PVT.Log_UnexpecError (
2110 p_module_name => g_module_name,
2111 p_procedure_name => l_api_name);
2112 ROLLBACK TO Get_CurrencyInfo_GRP;
2113 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2114 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2115 THEN
2116 FND_MSG_PUB.Add_Exc_Msg(
2117 g_pkg_name,
2118 l_api_name);
2119 END IF;
2120 FND_MSG_PUB.Count_And_Get(
2121 p_encoded => FND_API.g_false,
2122 p_count => x_msg_count,
2123 p_data => x_msg_data);
2124 END Get_CurrencyInfo;
2125
2126 END INL_INTEGRATION_GRP;