DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_IAC_SALVAGE_PKG

Source


1 Package Body IGI_IAC_SALVAGE_PKG AS
2 -- $Header: igiiascb.pls 120.3.12000000.1 2007/08/01 16:19:03 npandya noship $
3 
4    --===========================FND_LOG.START=====================================
5 
6    g_state_level NUMBER	        :=	FND_LOG.LEVEL_STATEMENT;
7    g_proc_level  NUMBER	        :=	FND_LOG.LEVEL_PROCEDURE;
8    g_event_level NUMBER	        :=	FND_LOG.LEVEL_EVENT;
9    g_excep_level NUMBER	        :=	FND_LOG.LEVEL_EXCEPTION;
10    g_error_level NUMBER	        :=	FND_LOG.LEVEL_ERROR;
11    g_unexp_level NUMBER	        :=	FND_LOG.LEVEL_UNEXPECTED;
12    g_path        VARCHAR2(100)  :=      'IGI.PLSQL.igiiascb.igi_iac_salvage_pkg.';
13 
14    --===========================FND_LOG.END=====================================
15 
16     FUNCTION Correction
17           (P_asset_id        IN igi_iac_asset_balances.asset_id%TYPE,
18            P_book_type_code  IN igi_iac_asset_balances.book_type_code%TYPE,
19            P_value           IN OUT NOCOPY Number,
20            P_cost            IN Fa_books.cost%TYPE,
21            P_salvage_value   IN fa_books.salvage_value%TYPE,
22            p_calling_program    VARCHAR2)
23     RETURN  Boolean IS
24 
25     	-- to get latest cost and salvage value for an asset
26 	    CURSOR C_get_asset_info IS
27     	SELECT cost, salvage_value
28 	    FROM FA_BOOKS
29     	WHERE Asset_id=P_Asset_id
30 	    AND book_type_Code =p_book_type_code
31     	AND transaction_header_id_out IS NULL;
32 
33         l_cost fa_books.cost%TYPE;
34         l_salvage_value fa_books.salvage_value%TYPE;
35         err_asset_info    EXCEPTION;
36         l_path_name VARCHAR2(150) := g_path||'correction';
37 
38    BEGIN
39          igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
40 		             p_full_path => l_path_name,
41 		             p_string => 'Parameter values Asset ID..'||p_asset_id );
42          igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
43 		             p_full_path => l_path_name,
44 		             p_string => 'Parameter values Book Type Code..'||P_book_type_code);
45          igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
46 		             p_full_path => l_path_name,
47 		             p_string => 'Parameter values Cost'||P_cost);
48          igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
49 		             p_full_path => l_path_name,
50 		             p_string => 'Parameter values salavge Value'||P_salvage_value);
51          igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
52 		             p_full_path => l_path_name,
53 		             p_string => 'Parameter values Value to be corrected'||P_value);
54 
55         IF P_salvage_value = 0 THEN
56             RETURN TRUE;
57         ELSIF P_Salvage_Value IS NULL THEN
58         	-- Get the latest cost and salvage value
59             OPEN c_get_asset_info;
60             FETCH c_get_asset_info  INTO l_cost,l_salvage_value;
61             IF c_get_asset_info%NOTFOUND THEN
62                 	 CLOSE c_get_asset_info;
63                      RAISE  err_asset_info;
64             END IF;
65           	 CLOSE c_get_asset_info;
66 
67              P_value := p_value + (P_value/(l_cost-l_Salvage_value))*l_salvage_value;
68 
69              RETURN TRUE;
70 
71         END IF;
72 
73 
74         P_value := p_value + (P_value/(P_cost- P_Salvage_value))*P_salvage_value;
75 
76         RETURN TRUE;
77 
78     EXCEPTION
79         WHEN err_asset_info THEN
80             FND_MESSAGE.SET_NAME('IGI', 'IGI_IAC_EXCEPTION');
81             FND_MESSAGE.SET_TOKEN('PACKAGE','igi_iac_salvage_pkg');
82             FND_MESSAGE.SET_TOKEN('ERROR_MESSAGE','Error in fetching latest cost and salvage value for the asset', TRUE);
83             igi_iac_debug_pkg.debug_other_msg(p_level => g_error_level,
84 		          p_full_path => l_path_name,
85 		          p_remove_from_stack => FALSE);
86             fnd_file.put_line(fnd_file.log, fnd_message.get);
87             RETURN FALSE;
88         WHEN others THEN
89              igi_iac_debug_pkg.debug_unexpected_msg(p_full_path => l_path_name);
90              RETURN FALSE;
91 
92 END correction;
93 
94 END igi_iac_salvage_pkg;
95 
96