DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_IAC_REVAL_IMPL_CRUD

Source


1 PACKAGE BODY IGI_IAC_REVAL_IMPL_CRUD AS
2 -- $Header: igiiarpb.pls 120.7.12000000.1 2007/08/01 16:17:42 npandya ship $
3 
4 
5 --===========================FND_LOG.START=====================================
6 
7 g_state_level NUMBER	     :=	FND_LOG.LEVEL_STATEMENT;
8 g_proc_level  NUMBER	     :=	FND_LOG.LEVEL_PROCEDURE;
9 g_event_level NUMBER	     :=	FND_LOG.LEVEL_EVENT;
10 g_excep_level NUMBER	     :=	FND_LOG.LEVEL_EXCEPTION;
11 g_error_level NUMBER	     :=	FND_LOG.LEVEL_ERROR;
12 g_unexp_level NUMBER	     :=	FND_LOG.LEVEL_UNEXPECTED;
13 g_path        VARCHAR2(100)  := 'IGI.PLSQL.igiiarpb.IGI_IAC_REVAL_IMPL_CRUD.';
14 
15 --===========================FND_LOG.END=======================================
16 
17 l_rec igi_iac_revaluation_rates%rowtype;  -- create this for quicker access via sql navigator
18 
19      cursor c_exists ( cp_asset_id        in number
20                 , cp_book_type_code  in varchar2
21                 ) is
22      select cumulative_reval_factor, current_reval_factor
23      from   igi_iac_asset_balances
24      where  asset_id       = cp_asset_id
25        and  book_type_code = cp_book_type_code
26      ;
27     procedure do_commit is
28     begin
29         if IGI_IAC_REVAL_UTILITIES.debug then
30            rollback;
31         else
32             commit;
33         end if;
34     end;
35 
36     function create_py_add_entry ( fp_reval_params in out NOCOPY IGI_IAC_TYPES.iac_reval_params
37         ,   fp_second_set   in boolean )
38     return boolean is
39        g_user_id    number := fnd_global.user_id;
40        g_date       date   := sysdate;
41        g_login_id   number := fnd_global.login_id;
42        g_request_id number := -1;
43        l_asset_number fa_additions.asset_number%TYPE;
44 
45        l_path varchar2(100) := g_path||'create_py_add_entry';
46     begin
47 
48      for l_chk in c_exists
49                ( cp_asset_id       =>  fp_reval_params.reval_asset_params.asset_id
50                 , cp_book_type_code  => fp_reval_params.reval_asset_params.book_type_code
51                 )
52      loop
53          return true;
54      end loop;
55 
56      delete from igi_imp_iac_interface_py_add
57      where  asset_id = fp_reval_params.reval_asset_params.asset_id
58      and    book_type_code = fp_reval_params.reval_asset_params.book_type_code
59      ;
60 
61      select asset_number
62      into   l_asset_number
63      from   fa_additions
64      where   asset_id = fp_reval_params.reval_asset_params.asset_id
65      ;
66 
67      insert into IGI_IMP_IAC_INTERFACE_PY_ADD (
68             ASSET_ID
69          , ASSET_NUMBER
70          , BOOK_TYPE_CODE
71          , CATEGORY_ID
72          , PERIOD_COUNTER
73          , NET_BOOK_VALUE
74          , ADJUSTED_COST
75          , OPERATING_ACCT
76          , REVAL_RESERVE
77          , DEPRN_AMOUNT
78          , DEPRN_RESERVE
79          , BACKLOG_DEPRN_RESERVE
80          , GENERAL_FUND
81          , LAST_REVAL_DATE
82          , CURRENT_REVAL_FACTOR
83          , CUMMULATIVE_REVAL_FACTOR
84          , HIST_COST
85          , HIST_DEPRN_EXPENSE
86          , HIST_YTD
87          , HIST_ACCUM_DEPRN
88          , HIST_LIFE_IN_MONTHS
89          , HIST_NBV
90          , HIST_SALVAGE_VALUE
91          , GENERAL_FUND_PERIODIC
92          , OPERATING_ACCOUNT_YTD
93          , CREATED_BY
94          , CREATION_DATE
95          , LAST_UPDATED_BY
96          , LAST_UPDATE_DATE
97          , LAST_UPDATE_LOGIN
98          , REQUEST_ID
99          , PROGRAM_APPLICATION_ID
100          , PROGRAM_ID
101          , PROGRAM_UPDATE_DATE
102          )  values (
103            fp_reval_params.reval_asset_params.asset_id
104          , l_asset_number
105          , fp_reval_params.reval_asset_params.book_type_code -- BOOK_TYPE_CODE
106          , fp_reval_params.reval_asset_params.category_id
107          ,  fp_reval_params.reval_asset_params.period_counter
108          , fp_reval_params.reval_output_asset.net_book_value
109          , fp_reval_params.reval_output_asset.adjusted_cost
110          , fp_reval_params.reval_output_asset.operating_acct
111          , fp_reval_params.reval_output_asset.reval_reserve
112          , fp_reval_params.reval_output_asset.deprn_amount
113          , fp_reval_params.reval_output_asset.deprn_reserve
114          , fp_reval_params.reval_output_asset.backlog_deprn_reserve
115          , fp_reval_params.reval_output_asset.general_fund
116          , fp_reval_params.reval_asset_params.revaluation_date
117          , fp_reval_params.reval_output_asset.current_reval_factor
118          , fp_reval_params.reval_output_asset.cumulative_reval_factor
119          , fp_reval_params.fa_asset_info.cost
120          , fp_reval_params.fa_asset_info.deprn_amount
121          , fp_reval_params.fa_asset_info.ytd_deprn
122          , fp_reval_params.fa_asset_info.deprn_reserve
123          , fp_reval_params.fa_asset_info.life_in_months
124          , fp_reval_params.fa_asset_info.cost -
125            fp_reval_params.fa_asset_info.deprn_reserve
126          , fp_reval_params.fa_asset_info.salvage_value
127          , fp_reval_params.reval_output_asset.GENERAL_FUND
128          , fp_reval_params.reval_output_asset.operating_acct
129          , g_user_id
130          , g_date
131          , g_user_id
132          , g_date
133          , g_login_id
134          , g_request_id
135          , 8400
136          , 8400
137          , g_date
138          ) ;
139 
140          return true;
141 
142     exception when others then
143       igi_iac_debug_pkg.debug_unexpected_msg(l_path);
144       return false;
145     end;
146 
147     function crud_iac_tables
148          ( fp_reval_params in out NOCOPY IGI_IAC_TYPES.iac_reval_params
149         ,   fp_second_set   in boolean )
150     return boolean is
151     l_path varchar2(100) := g_path||'crud_iac_tables';
152     begin
153 
154        if not fp_reval_params.reval_control.crud_allowed then
155 	  igi_iac_debug_pkg.debug_other_string(g_state_level,l_path,'+implementation : create, update or delete is not allowed.');
156           return true;
157        end if;
158 
159        if  not nvl(fp_reval_params.reval_control.calling_program,'REVALUATION')
160            in ('UPGRADE','IMPLEMENTATION')
161        then
162 	  igi_iac_debug_pkg.debug_other_string(g_state_level,l_path,'+implementation : create, update or delete is not allowed.');
163           return true;
164        end if;
165 
166        if not create_py_add_entry ( fp_reval_params => fp_reval_params
167                                   ,   fp_second_set => fp_second_set
168                                   )
169        then
170 	  igi_iac_debug_pkg.debug_other_string(g_state_level,l_path,'+implementation : unable to create py add entry');
171           return false;
172        end if;
173 
174        return true;
175     end;
176 
177 END;