[Home] [Help]
PACKAGE BODY: APPS.FA_MASSADD_PREPARE_PKG
Source
1 package body FA_MASSADD_PREPARE_PKG as
2 /* $Header: FAMAPREPB.pls 120.6 2006/01/09 05:30:10 snarayan noship $ */
3
4 -- Private type declarations
5
6 -- Private constant declarations
7
8 -- Private variable declarations
9 g_log_level_rec fa_api_types.log_level_rec_type;
10 -- Function and procedure implementations
11
12 /*===============================End Of FUNCTION/PROCEDURE===============================*/
13 function update_mass_additions(p_mass_add_rec_tbl FA_MASSADD_PREPARE_PKG.mass_add_rec_tbl,
14 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null)
15 return boolean is
16 TYPE mass_add_tbl IS TABLE OF fa_mass_additions%ROWTYPE INDEX BY PLS_INTEGER;
17 l_mass_add_tbl mass_add_tbl;
18 type num_tbl is table of number index by pls_integer;
19 l_mass_add_id_tbl num_tbl;
20 l_debug_str varchar2(1000);
21 l_errors NUMBER;
22 l_calling_fn varchar2(40) := 'update_mass_additions';
23 dml_errors EXCEPTION;
24 PRAGMA exception_init(dml_errors, -24381);
25
26 begin
27 l_debug_str := 'Updating Mass Addions';
28 if (p_log_level_rec.statement_level) then
29 fa_debug_pkg.add(l_calling_fn,
30 l_debug_str,
31 '',
32 p_log_level_rec => p_log_level_rec);
33 end if;
34 for counter in 1 .. p_mass_add_rec_tbl.count loop
35
36 l_mass_add_id_tbl(counter) := p_mass_add_rec_tbl(counter)
37 .mass_addition_id;
38 l_mass_add_tbl(counter).mass_addition_id := p_mass_add_rec_tbl(counter)
39 .mass_addition_id;
40 l_mass_add_tbl(counter).ASSET_NUMBER := p_mass_add_rec_tbl(counter)
41 .ASSET_NUMBER;
42 l_mass_add_tbl(counter).TAG_NUMBER := p_mass_add_rec_tbl(counter)
43 .TAG_NUMBER;
44 l_mass_add_tbl(counter).DESCRIPTION := p_mass_add_rec_tbl(counter)
45 .DESCRIPTION;
46 l_mass_add_tbl(counter).ASSET_CATEGORY_ID := p_mass_add_rec_tbl(counter)
47 .ASSET_CATEGORY_ID;
48 l_mass_add_tbl(counter).MANUFACTURER_NAME := p_mass_add_rec_tbl(counter)
49 .MANUFACTURER_NAME;
50 l_mass_add_tbl(counter).SERIAL_NUMBER := p_mass_add_rec_tbl(counter)
51 .SERIAL_NUMBER;
52 l_mass_add_tbl(counter).MODEL_NUMBER := p_mass_add_rec_tbl(counter)
53 .MODEL_NUMBER;
54 l_mass_add_tbl(counter).BOOK_TYPE_CODE := p_mass_add_rec_tbl(counter)
55 .BOOK_TYPE_CODE;
56 l_mass_add_tbl(counter).DATE_PLACED_IN_SERVICE := p_mass_add_rec_tbl(counter)
57 .DATE_PLACED_IN_SERVICE;
58 l_mass_add_tbl(counter).FIXED_ASSETS_COST := p_mass_add_rec_tbl(counter)
59 .FIXED_ASSETS_COST;
60 l_mass_add_tbl(counter).PAYABLES_UNITS := p_mass_add_rec_tbl(counter)
61 .PAYABLES_UNITS;
62 l_mass_add_tbl(counter).FIXED_ASSETS_UNITS := p_mass_add_rec_tbl(counter)
63 .FIXED_ASSETS_UNITS;
64 l_mass_add_tbl(counter).PAYABLES_CODE_COMBINATION_ID := p_mass_add_rec_tbl(counter)
65 .PAYABLES_CODE_COMBINATION_ID;
66 l_mass_add_tbl(counter).EXPENSE_CODE_COMBINATION_ID := p_mass_add_rec_tbl(counter)
67 .EXPENSE_CODE_COMBINATION_ID;
68 l_mass_add_tbl(counter).LOCATION_ID := p_mass_add_rec_tbl(counter)
69 .LOCATION_ID;
70 l_mass_add_tbl(counter).ASSIGNED_TO := p_mass_add_rec_tbl(counter)
71 .ASSIGNED_TO;
72 l_mass_add_tbl(counter).FEEDER_SYSTEM_NAME := p_mass_add_rec_tbl(counter)
73 .FEEDER_SYSTEM_NAME;
74 l_mass_add_tbl(counter).CREATE_BATCH_DATE := p_mass_add_rec_tbl(counter)
75 .CREATE_BATCH_DATE;
76 l_mass_add_tbl(counter).CREATE_BATCH_ID := p_mass_add_rec_tbl(counter)
77 .CREATE_BATCH_ID;
78 l_mass_add_tbl(counter).LAST_UPDATE_DATE := p_mass_add_rec_tbl(counter)
79 .LAST_UPDATE_DATE;
80 l_mass_add_tbl(counter).LAST_UPDATED_BY := p_mass_add_rec_tbl(counter)
81 .LAST_UPDATED_BY;
82 l_mass_add_tbl(counter).REVIEWER_COMMENTS := p_mass_add_rec_tbl(counter)
83 .REVIEWER_COMMENTS;
84 l_mass_add_tbl(counter).INVOICE_NUMBER := p_mass_add_rec_tbl(counter)
85 .INVOICE_NUMBER;
86 l_mass_add_tbl(counter).VENDOR_NUMBER := p_mass_add_rec_tbl(counter)
87 .VENDOR_NUMBER;
88 l_mass_add_tbl(counter).PO_VENDOR_ID := p_mass_add_rec_tbl(counter)
89 .PO_VENDOR_ID;
90 l_mass_add_tbl(counter).PO_NUMBER := p_mass_add_rec_tbl(counter)
91 .PO_NUMBER;
92 l_mass_add_tbl(counter).POSTING_STATUS := p_mass_add_rec_tbl(counter)
93 .POSTING_STATUS;
94 l_mass_add_tbl(counter).QUEUE_NAME := p_mass_add_rec_tbl(counter)
95 .QUEUE_NAME;
96 l_mass_add_tbl(counter).INVOICE_DATE := p_mass_add_rec_tbl(counter)
97 .INVOICE_DATE;
98 l_mass_add_tbl(counter).INVOICE_CREATED_BY := p_mass_add_rec_tbl(counter)
99 .INVOICE_CREATED_BY;
100 l_mass_add_tbl(counter).INVOICE_UPDATED_BY := p_mass_add_rec_tbl(counter)
101 .INVOICE_UPDATED_BY;
102 l_mass_add_tbl(counter).PAYABLES_COST := p_mass_add_rec_tbl(counter)
103 .PAYABLES_COST;
104 l_mass_add_tbl(counter).INVOICE_ID := p_mass_add_rec_tbl(counter)
105 .INVOICE_ID;
106 l_mass_add_tbl(counter).PAYABLES_BATCH_NAME := p_mass_add_rec_tbl(counter)
107 .PAYABLES_BATCH_NAME;
108 l_mass_add_tbl(counter).DEPRECIATE_FLAG := p_mass_add_rec_tbl(counter)
109 .DEPRECIATE_FLAG;
110 l_mass_add_tbl(counter).PARENT_MASS_ADDITION_ID := p_mass_add_rec_tbl(counter)
111 .PARENT_MASS_ADDITION_ID;
112 l_mass_add_tbl(counter).PARENT_ASSET_ID := p_mass_add_rec_tbl(counter)
113 .PARENT_ASSET_ID;
114 l_mass_add_tbl(counter).SPLIT_MERGED_CODE := p_mass_add_rec_tbl(counter)
115 .SPLIT_MERGED_CODE;
116 l_mass_add_tbl(counter).AP_DISTRIBUTION_LINE_NUMBER := p_mass_add_rec_tbl(counter)
117 .AP_DISTRIBUTION_LINE_NUMBER;
118 l_mass_add_tbl(counter).POST_BATCH_ID := p_mass_add_rec_tbl(counter)
119 .POST_BATCH_ID;
120 l_mass_add_tbl(counter).ADD_TO_ASSET_ID := p_mass_add_rec_tbl(counter)
121 .ADD_TO_ASSET_ID;
122 l_mass_add_tbl(counter).AMORTIZE_FLAG := p_mass_add_rec_tbl(counter)
123 .AMORTIZE_FLAG;
124 l_mass_add_tbl(counter).NEW_MASTER_FLAG := p_mass_add_rec_tbl(counter)
125 .NEW_MASTER_FLAG;
126 l_mass_add_tbl(counter).ASSET_KEY_CCID := p_mass_add_rec_tbl(counter)
127 .ASSET_KEY_CCID;
128 l_mass_add_tbl(counter).ASSET_TYPE := p_mass_add_rec_tbl(counter)
129 .ASSET_TYPE;
130 l_mass_add_tbl(counter).DEPRN_RESERVE := p_mass_add_rec_tbl(counter)
131 .DEPRN_RESERVE;
132 l_mass_add_tbl(counter).YTD_DEPRN := p_mass_add_rec_tbl(counter)
133 .YTD_DEPRN;
134 l_mass_add_tbl(counter).BEGINNING_NBV := p_mass_add_rec_tbl(counter)
135 .BEGINNING_NBV;
136 l_mass_add_tbl(counter).CREATED_BY := p_mass_add_rec_tbl(counter)
137 .CREATED_BY;
138 l_mass_add_tbl(counter).CREATION_DATE := p_mass_add_rec_tbl(counter)
139 .CREATION_DATE;
140 l_mass_add_tbl(counter).LAST_UPDATE_LOGIN := p_mass_add_rec_tbl(counter)
141 .LAST_UPDATE_LOGIN;
142 l_mass_add_tbl(counter).SALVAGE_VALUE := p_mass_add_rec_tbl(counter)
143 .SALVAGE_VALUE;
144 l_mass_add_tbl(counter).ACCOUNTING_DATE := p_mass_add_rec_tbl(counter)
145 .ACCOUNTING_DATE;
146 l_mass_add_tbl(counter).ATTRIBUTE1 := p_mass_add_rec_tbl(counter)
147 .ATTRIBUTE1;
148 l_mass_add_tbl(counter).ATTRIBUTE2 := p_mass_add_rec_tbl(counter)
149 .ATTRIBUTE2;
150 l_mass_add_tbl(counter).ATTRIBUTE3 := p_mass_add_rec_tbl(counter)
151 .ATTRIBUTE3;
152 l_mass_add_tbl(counter).ATTRIBUTE4 := p_mass_add_rec_tbl(counter)
153 .ATTRIBUTE4;
154 l_mass_add_tbl(counter).ATTRIBUTE5 := p_mass_add_rec_tbl(counter)
155 .ATTRIBUTE5;
156 l_mass_add_tbl(counter).ATTRIBUTE6 := p_mass_add_rec_tbl(counter)
157 .ATTRIBUTE6;
158 l_mass_add_tbl(counter).ATTRIBUTE7 := p_mass_add_rec_tbl(counter)
159 .ATTRIBUTE7;
160 l_mass_add_tbl(counter).ATTRIBUTE8 := p_mass_add_rec_tbl(counter)
161 .ATTRIBUTE8;
162 l_mass_add_tbl(counter).ATTRIBUTE9 := p_mass_add_rec_tbl(counter)
163 .ATTRIBUTE9;
164 l_mass_add_tbl(counter).ATTRIBUTE10 := p_mass_add_rec_tbl(counter)
165 .ATTRIBUTE10;
166 l_mass_add_tbl(counter).ATTRIBUTE11 := p_mass_add_rec_tbl(counter)
167 .ATTRIBUTE11;
168 l_mass_add_tbl(counter).ATTRIBUTE12 := p_mass_add_rec_tbl(counter)
169 .ATTRIBUTE12;
170 l_mass_add_tbl(counter).ATTRIBUTE13 := p_mass_add_rec_tbl(counter)
171 .ATTRIBUTE13;
172 l_mass_add_tbl(counter).ATTRIBUTE14 := p_mass_add_rec_tbl(counter)
173 .ATTRIBUTE14;
174 l_mass_add_tbl(counter).ATTRIBUTE15 := p_mass_add_rec_tbl(counter)
175 .ATTRIBUTE15;
176 l_mass_add_tbl(counter).ATTRIBUTE_CATEGORY_CODE := p_mass_add_rec_tbl(counter)
177 .ATTRIBUTE_CATEGORY_CODE;
178 l_mass_add_tbl(counter).FULLY_RSVD_REVALS_COUNTER := p_mass_add_rec_tbl(counter)
179 .FULLY_RSVD_REVALS_COUNTER;
180 l_mass_add_tbl(counter).MERGE_INVOICE_NUMBER := p_mass_add_rec_tbl(counter)
181 .MERGE_INVOICE_NUMBER;
182 l_mass_add_tbl(counter).MERGE_VENDOR_NUMBER := p_mass_add_rec_tbl(counter)
183 .MERGE_VENDOR_NUMBER;
184 l_mass_add_tbl(counter).PRODUCTION_CAPACITY := p_mass_add_rec_tbl(counter)
185 .PRODUCTION_CAPACITY;
186 l_mass_add_tbl(counter).REVAL_AMORTIZATION_BASIS := p_mass_add_rec_tbl(counter)
187 .REVAL_AMORTIZATION_BASIS;
188 l_mass_add_tbl(counter).REVAL_RESERVE := p_mass_add_rec_tbl(counter)
189 .REVAL_RESERVE;
190 l_mass_add_tbl(counter).UNIT_OF_MEASURE := p_mass_add_rec_tbl(counter)
191 .UNIT_OF_MEASURE;
192 l_mass_add_tbl(counter).UNREVALUED_COST := p_mass_add_rec_tbl(counter)
193 .UNREVALUED_COST;
194 l_mass_add_tbl(counter).YTD_REVAL_DEPRN_EXPENSE := p_mass_add_rec_tbl(counter)
195 .YTD_REVAL_DEPRN_EXPENSE;
196 l_mass_add_tbl(counter).ATTRIBUTE16 := p_mass_add_rec_tbl(counter)
197 .ATTRIBUTE16;
198 l_mass_add_tbl(counter).ATTRIBUTE17 := p_mass_add_rec_tbl(counter)
199 .ATTRIBUTE17;
200 l_mass_add_tbl(counter).ATTRIBUTE18 := p_mass_add_rec_tbl(counter)
201 .ATTRIBUTE18;
202 l_mass_add_tbl(counter).ATTRIBUTE19 := p_mass_add_rec_tbl(counter)
203 .ATTRIBUTE19;
204 l_mass_add_tbl(counter).ATTRIBUTE20 := p_mass_add_rec_tbl(counter)
205 .ATTRIBUTE20;
206 l_mass_add_tbl(counter).ATTRIBUTE21 := p_mass_add_rec_tbl(counter)
207 .ATTRIBUTE21;
208 l_mass_add_tbl(counter).ATTRIBUTE22 := p_mass_add_rec_tbl(counter)
209 .ATTRIBUTE22;
210 l_mass_add_tbl(counter).ATTRIBUTE23 := p_mass_add_rec_tbl(counter)
211 .ATTRIBUTE23;
212 l_mass_add_tbl(counter).ATTRIBUTE24 := p_mass_add_rec_tbl(counter)
213 .ATTRIBUTE24;
214 l_mass_add_tbl(counter).ATTRIBUTE25 := p_mass_add_rec_tbl(counter)
215 .ATTRIBUTE25;
216 l_mass_add_tbl(counter).ATTRIBUTE26 := p_mass_add_rec_tbl(counter)
217 .ATTRIBUTE26;
218 l_mass_add_tbl(counter).ATTRIBUTE27 := p_mass_add_rec_tbl(counter)
219 .ATTRIBUTE27;
220 l_mass_add_tbl(counter).ATTRIBUTE28 := p_mass_add_rec_tbl(counter)
221 .ATTRIBUTE28;
222 l_mass_add_tbl(counter).ATTRIBUTE29 := p_mass_add_rec_tbl(counter)
223 .ATTRIBUTE29;
224 l_mass_add_tbl(counter).ATTRIBUTE30 := p_mass_add_rec_tbl(counter)
225 .ATTRIBUTE30;
226 l_mass_add_tbl(counter).MERGED_CODE := p_mass_add_rec_tbl(counter)
227 .MERGED_CODE;
228 l_mass_add_tbl(counter).SPLIT_CODE := p_mass_add_rec_tbl(counter)
229 .SPLIT_CODE;
230 l_mass_add_tbl(counter).MERGE_PARENT_MASS_ADDITIONS_ID := p_mass_add_rec_tbl(counter)
231 .MERGE_PARENT_MASS_ADD_ID;
232 l_mass_add_tbl(counter).SPLIT_PARENT_MASS_ADDITIONS_ID := p_mass_add_rec_tbl(counter)
233 .SPLIT_PARENT_MASS_ADD_ID;
234 l_mass_add_tbl(counter).PROJECT_ASSET_LINE_ID := p_mass_add_rec_tbl(counter)
235 .PROJECT_ASSET_LINE_ID;
236 l_mass_add_tbl(counter).PROJECT_ID := p_mass_add_rec_tbl(counter)
237 .PROJECT_ID;
238 l_mass_add_tbl(counter).TASK_ID := p_mass_add_rec_tbl(counter)
239 .TASK_ID;
240 l_mass_add_tbl(counter).SUM_UNITS := p_mass_add_rec_tbl(counter)
241 .SUM_UNITS;
242 l_mass_add_tbl(counter).DIST_NAME := p_mass_add_rec_tbl(counter)
243 .DIST_NAME;
244 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE1 := p_mass_add_rec_tbl(counter)
245 .GLOBAL_ATTRIBUTE1;
246 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE2 := p_mass_add_rec_tbl(counter)
247 .GLOBAL_ATTRIBUTE2;
248 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE3 := p_mass_add_rec_tbl(counter)
249 .GLOBAL_ATTRIBUTE3;
250 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE4 := p_mass_add_rec_tbl(counter)
251 .GLOBAL_ATTRIBUTE4;
252 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE5 := p_mass_add_rec_tbl(counter)
253 .GLOBAL_ATTRIBUTE5;
254 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE6 := p_mass_add_rec_tbl(counter)
255 .GLOBAL_ATTRIBUTE6;
256 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE7 := p_mass_add_rec_tbl(counter)
257 .GLOBAL_ATTRIBUTE7;
258 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE8 := p_mass_add_rec_tbl(counter)
259 .GLOBAL_ATTRIBUTE8;
260 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE9 := p_mass_add_rec_tbl(counter)
261 .GLOBAL_ATTRIBUTE9;
262 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE10 := p_mass_add_rec_tbl(counter)
263 .GLOBAL_ATTRIBUTE10;
264 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE11 := p_mass_add_rec_tbl(counter)
265 .GLOBAL_ATTRIBUTE11;
266 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE12 := p_mass_add_rec_tbl(counter)
267 .GLOBAL_ATTRIBUTE12;
268 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE13 := p_mass_add_rec_tbl(counter)
269 .GLOBAL_ATTRIBUTE13;
270 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE14 := p_mass_add_rec_tbl(counter)
271 .GLOBAL_ATTRIBUTE14;
272 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE15 := p_mass_add_rec_tbl(counter)
273 .GLOBAL_ATTRIBUTE15;
274 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE16 := p_mass_add_rec_tbl(counter)
275 .GLOBAL_ATTRIBUTE16;
276 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE17 := p_mass_add_rec_tbl(counter)
277 .GLOBAL_ATTRIBUTE17;
278 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE18 := p_mass_add_rec_tbl(counter)
279 .GLOBAL_ATTRIBUTE18;
280 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE19 := p_mass_add_rec_tbl(counter)
281 .GLOBAL_ATTRIBUTE19;
282 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE20 := p_mass_add_rec_tbl(counter)
283 .GLOBAL_ATTRIBUTE20;
284 l_mass_add_tbl(counter).GLOBAL_ATTRIBUTE_CATEGORY := p_mass_add_rec_tbl(counter)
285 .GLOBAL_ATTRIBUTE_CATEGORY;
286 l_mass_add_tbl(counter).CONTEXT := p_mass_add_rec_tbl(counter)
287 .CONTEXT;
288 l_mass_add_tbl(counter).INVENTORIAL := p_mass_add_rec_tbl(counter)
289 .INVENTORIAL;
290 l_mass_add_tbl(counter).SHORT_FISCAL_YEAR_FLAG := p_mass_add_rec_tbl(counter)
291 .SHORT_FISCAL_YEAR_FLAG;
292 l_mass_add_tbl(counter).CONVERSION_DATE := p_mass_add_rec_tbl(counter)
293 .CONVERSION_DATE;
294 l_mass_add_tbl(counter).ORIGINAL_DEPRN_START_DATE := p_mass_add_rec_tbl(counter)
295 .ORIGINAL_DEPRN_START_DATE;
296 l_mass_add_tbl(counter).GROUP_ASSET_ID := p_mass_add_rec_tbl(counter)
297 .GROUP_ASSET_ID;
298 l_mass_add_tbl(counter).CUA_PARENT_HIERARCHY_ID := p_mass_add_rec_tbl(counter)
299 .CUA_PARENT_HIERARCHY_ID;
300 l_mass_add_tbl(counter).UNITS_TO_ADJUST := p_mass_add_rec_tbl(counter)
301 .UNITS_TO_ADJUST;
302 l_mass_add_tbl(counter).BONUS_YTD_DEPRN := p_mass_add_rec_tbl(counter)
303 .BONUS_YTD_DEPRN;
304 l_mass_add_tbl(counter).BONUS_DEPRN_RESERVE := p_mass_add_rec_tbl(counter)
305 .BONUS_DEPRN_RESERVE;
306 l_mass_add_tbl(counter).AMORTIZE_NBV_FLAG := p_mass_add_rec_tbl(counter)
307 .AMORTIZE_NBV_FLAG;
308 l_mass_add_tbl(counter).AMORTIZATION_START_DATE := p_mass_add_rec_tbl(counter)
309 .AMORTIZATION_START_DATE;
310 l_mass_add_tbl(counter).TRANSACTION_TYPE_CODE := p_mass_add_rec_tbl(counter)
311 .TRANSACTION_TYPE_CODE;
312 l_mass_add_tbl(counter).TRANSACTION_DATE := p_mass_add_rec_tbl(counter)
313 .TRANSACTION_DATE;
314 l_mass_add_tbl(counter).WARRANTY_ID := p_mass_add_rec_tbl(counter)
315 .WARRANTY_ID;
316 l_mass_add_tbl(counter).LEASE_ID := p_mass_add_rec_tbl(counter)
317 .LEASE_ID;
318 l_mass_add_tbl(counter).LESSOR_ID := p_mass_add_rec_tbl(counter)
319 .LESSOR_ID;
320 l_mass_add_tbl(counter).PROPERTY_TYPE_CODE := p_mass_add_rec_tbl(counter)
321 .PROPERTY_TYPE_CODE;
322 l_mass_add_tbl(counter).PROPERTY_1245_1250_CODE := p_mass_add_rec_tbl(counter)
323 .PROPERTY_1245_1250_CODE;
324 l_mass_add_tbl(counter).IN_USE_FLAG := p_mass_add_rec_tbl(counter)
325 .IN_USE_FLAG;
326 l_mass_add_tbl(counter).OWNED_LEASED := p_mass_add_rec_tbl(counter)
327 .OWNED_LEASED;
328 l_mass_add_tbl(counter).NEW_USED := p_mass_add_rec_tbl(counter)
329 .NEW_USED;
330 l_mass_add_tbl(counter).ASSET_ID := p_mass_add_rec_tbl(counter)
331 .ASSET_ID;
332 l_mass_add_tbl(counter).MATERIAL_INDICATOR_FLAG := p_mass_add_rec_tbl(counter)
333 .MATERIAL_INDICATOR_FLAG;
334 end loop;
335
336 forall i in 1 .. l_mass_add_tbl.count SAVE EXCEPTIONS
337 update fa_mass_additions
338 set ROW = l_mass_add_tbl(i)
339 where mass_addition_id = l_mass_add_id_tbl(i);
340 l_mass_add_id_tbl.delete;
341 commit;
342 return true;
343 exception
344 WHEN dml_errors THEN
345 l_errors := SQL%BULK_EXCEPTIONS.COUNT;
346 if (p_log_level_rec.statement_level) then
347 fa_debug_pkg.add(l_calling_fn,
348 'Number of errors is ',
349 l_errors,
350 p_log_level_rec => p_log_level_rec);
351 end if;
352
353 FOR i IN 1 .. l_errors LOOP
354
355 if (p_log_level_rec.statement_level) then
356 fa_debug_pkg.add(l_calling_fn,
357 'Error ' || i || ' occurred during ' ||
358 'iteration ',
359 SQL%BULK_EXCEPTIONS(i).ERROR_INDEX,
360 p_log_level_rec => p_log_level_rec);
361 end if;
362 fa_debug_pkg.add(l_calling_fn,
363 'Oracle error is ',
364 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE),
365 p_log_level_rec => p_log_level_rec);
366 if (p_log_level_rec.statement_level) then
367 fa_debug_pkg.add(l_calling_fn,
368 'Oracle error is ',
369 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE),
370 p_log_level_rec => p_log_level_rec);
371 end if;
372
373 END LOOP;
374 commit;
375 return false; /*need to check */
376 end;
377
378 /*===============================End Of FUNCTION/PROCEDURE===============================*/
379 /*main procedure for concurrent program*/
380 procedure prepare_mass_additions(
381 errbuf OUT NOCOPY VARCHAR2,
382 retcode OUT NOCOPY NUMBER,
383 p_book_type_code IN varchar2) is
384
385 l_mass_add_rec FA_MASSADD_PREPARE_PKG.mass_add_rec;
386
387 l_procedure_name varchar2(4000);
388 l_label varchar2(4000);
389 l_request_id NUMBER;
390
391 l_batch_size number := 500;
392 l_count number;
393 l_debug_str varchar2(1000);
394
395 --type mass_add_dist_tbl is table of mass_add_dist_rec;
396
397 TYPE v30_tbl IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
398 TYPE num_tbl IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
399 TYPE date_tbl IS TABLE OF DATE INDEX BY BINARY_INTEGER;
400 TYPE v100_tbl IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER;
401
402 l_mass_add_rec_tbl FA_MASSADD_PREPARE_PKG.mass_add_rec_tbl;
403 --l_mass_add_dist_tbl mass_add_dist_tbl;
404
405 status varchar2(15);
406 l_dist_MASSADD_DIST_ID num_tbl;
407 l_dist_UNITS num_tbl;
408 l_dist_DEPRN_EXPENSE_CCID num_tbl;
409 l_dist_LOCATION_ID num_tbl;
410 l_dist_EMPLOYEE_ID num_tbl;
411
412 l_prev_category_id number := -1;
413 l_prev_asset_key_ccid number := -1;
414 l_curr_category_id number := 0;
415 l_curr_asset_key_ccid number := 0;
416 merge_cost number;
417 --l_distributions_table fa_mass_add_dist_tbl;
418
419 old_expense_ccid number := -1;
420 new_expense_ccid number := -1;
421
422 l_lookup_rule_value varchar2(60);
423 l_status number;
424 l_calling_fn varchar2(40) := 'prepare_mass_additions';
425 mass_prepare EXCEPTION;
426 --Cursor to get all mass_addition lines
427 --check about the book_type_code
428 cursor get_mass_add(l_book_type_code varchar2) is
429 Select MASS_ADDITION_ID,
430 ASSET_NUMBER,
431 TAG_NUMBER,
432 DESCRIPTION,
433 ASSET_CATEGORY_ID,
434 MANUFACTURER_NAME,
435 SERIAL_NUMBER,
436 MODEL_NUMBER,
437 BOOK_TYPE_CODE,
438 DATE_PLACED_IN_SERVICE,
439 FIXED_ASSETS_COST,
440 PAYABLES_UNITS,
441 FIXED_ASSETS_UNITS,
442 PAYABLES_CODE_COMBINATION_ID,
443 EXPENSE_CODE_COMBINATION_ID,
444 LOCATION_ID,
445 ASSIGNED_TO,
446 FEEDER_SYSTEM_NAME,
447 CREATE_BATCH_DATE,
448 CREATE_BATCH_ID,
449 LAST_UPDATE_DATE,
450 LAST_UPDATED_BY,
451 REVIEWER_COMMENTS,
452 INVOICE_NUMBER,
453 VENDOR_NUMBER,
454 PO_VENDOR_ID,
455 PO_NUMBER,
456 POSTING_STATUS,
457 QUEUE_NAME,
458 INVOICE_DATE,
459 INVOICE_CREATED_BY,
460 INVOICE_UPDATED_BY,
461 PAYABLES_COST,
462 INVOICE_ID,
463 PAYABLES_BATCH_NAME,
464 DEPRECIATE_FLAG,
465 PARENT_MASS_ADDITION_ID,
466 PARENT_ASSET_ID,
467 SPLIT_MERGED_CODE,
468 AP_DISTRIBUTION_LINE_NUMBER,
469 POST_BATCH_ID,
470 ADD_TO_ASSET_ID,
471 AMORTIZE_FLAG,
472 NEW_MASTER_FLAG,
473 ASSET_KEY_CCID,
474 ASSET_TYPE,
475 DEPRN_RESERVE,
476 YTD_DEPRN,
477 BEGINNING_NBV,
478 CREATED_BY,
479 CREATION_DATE,
480 LAST_UPDATE_LOGIN,
481 SALVAGE_VALUE,
482 ACCOUNTING_DATE,
483 ATTRIBUTE1,
484 ATTRIBUTE2,
485 ATTRIBUTE3,
486 ATTRIBUTE4,
487 ATTRIBUTE5,
488 ATTRIBUTE6,
489 ATTRIBUTE7,
490 ATTRIBUTE8,
491 ATTRIBUTE9,
492 ATTRIBUTE10,
493 ATTRIBUTE11,
494 ATTRIBUTE12,
495 ATTRIBUTE13,
496 ATTRIBUTE14,
497 ATTRIBUTE15,
498 ATTRIBUTE_CATEGORY_CODE,
499 FULLY_RSVD_REVALS_COUNTER,
500 MERGE_INVOICE_NUMBER,
501 MERGE_VENDOR_NUMBER,
502 PRODUCTION_CAPACITY,
503 REVAL_AMORTIZATION_BASIS,
504 REVAL_RESERVE,
505 UNIT_OF_MEASURE,
506 UNREVALUED_COST,
507 YTD_REVAL_DEPRN_EXPENSE,
508 ATTRIBUTE16,
509 ATTRIBUTE17,
510 ATTRIBUTE18,
511 ATTRIBUTE19,
512 ATTRIBUTE20,
513 ATTRIBUTE21,
514 ATTRIBUTE22,
515 ATTRIBUTE23,
516 ATTRIBUTE24,
517 ATTRIBUTE25,
518 ATTRIBUTE26,
519 ATTRIBUTE27,
520 ATTRIBUTE28,
521 ATTRIBUTE29,
522 ATTRIBUTE30,
523 MERGED_CODE,
524 SPLIT_CODE,
525 MERGE_PARENT_MASS_ADDITIONS_ID,
526 SPLIT_PARENT_MASS_ADDITIONS_ID,
527 PROJECT_ASSET_LINE_ID,
528 PROJECT_ID,
529 TASK_ID,
530 SUM_UNITS,
531 DIST_NAME,
532 GLOBAL_ATTRIBUTE1,
533 GLOBAL_ATTRIBUTE2,
534 GLOBAL_ATTRIBUTE3,
535 GLOBAL_ATTRIBUTE4,
536 GLOBAL_ATTRIBUTE5,
537 GLOBAL_ATTRIBUTE6,
538 GLOBAL_ATTRIBUTE7,
539 GLOBAL_ATTRIBUTE8,
540 GLOBAL_ATTRIBUTE9,
541 GLOBAL_ATTRIBUTE10,
542 GLOBAL_ATTRIBUTE11,
543 GLOBAL_ATTRIBUTE12,
544 GLOBAL_ATTRIBUTE13,
545 GLOBAL_ATTRIBUTE14,
546 GLOBAL_ATTRIBUTE15,
547 GLOBAL_ATTRIBUTE16,
548 GLOBAL_ATTRIBUTE17,
549 GLOBAL_ATTRIBUTE18,
550 GLOBAL_ATTRIBUTE19,
551 GLOBAL_ATTRIBUTE20,
552 GLOBAL_ATTRIBUTE_CATEGORY,
553 CONTEXT,
554 INVENTORIAL,
555 SHORT_FISCAL_YEAR_FLAG,
556 CONVERSION_DATE,
557 ORIGINAL_DEPRN_START_DATE,
558 GROUP_ASSET_ID,
559 CUA_PARENT_HIERARCHY_ID,
560 UNITS_TO_ADJUST,
561 BONUS_YTD_DEPRN,
562 BONUS_DEPRN_RESERVE,
563 AMORTIZE_NBV_FLAG,
564 AMORTIZATION_START_DATE,
565 TRANSACTION_TYPE_CODE,
566 TRANSACTION_DATE,
567 WARRANTY_ID,
568 LEASE_ID,
569 LESSOR_ID,
570 PROPERTY_TYPE_CODE,
571 PROPERTY_1245_1250_CODE,
572 IN_USE_FLAG,
573 OWNED_LEASED,
574 NEW_USED,
575 ASSET_ID,
576 MATERIAL_INDICATOR_FLAG,
577 cast(multiset (select MASSADD_DIST_ID dist_id,
578 MASS_ADDITION_ID mass_add_id,
579 UNITS,
580 DEPRN_EXPENSE_CCID,
581 LOCATION_ID,
582 EMPLOYEE_ID
583 from FA_MASSADD_DISTRIBUTIONS mass_dist
584 where mass_dist.mass_addition_id =
585 mass_add.mass_addition_id) as
586 fa_mass_add_dist_tbl) dists
587 FROM fa_mass_additions mass_add
588 where posting_status in ('NEW', 'ON HOLD', 'POST')
589 and book_type_code = l_book_type_code
590 and nvl(merged_code, '1') not in ('MC');
591
592 CURSOR lookup_cur(c_lookup_type varchar2) IS
593 select lookup_code
594 from fa_lookups
595 where lookup_type = c_lookup_type
596 and enabled_flag = 'Y'
597 and nvl(end_date_active, sysdate) >= sysdate
598 and rownum = 1;
599
600 begin
601
602 l_procedure_name := 'fa.plsql.FA_AUTO_PREP_PKG.do_prepare_mass_addtions';
603 l_label := 'fa.plsql.FA_AUTO_PREP_PKG.do_prepare_mass_addtions.';
604
605 --Call log header
606 if (not g_log_level_rec.initialized) then
607 if (NOT
608 fa_util_pub.get_log_level_rec(x_log_level_rec => g_log_level_rec)) then
609 raise mass_prepare;
610 end if;
611 end if;
612
613 Savepoint Work;
614 /* ------------------------------------------------------------------------------
615 | Get the package type for all attributes. Assumption here is that it will |
616 | return either DEFAULT or CUSTOM or ENERGY as lookup code |
617 ------------------------------------------------------------------------------
618 */
619
620 FOR rec IN lookup_cur('MASS ADD PREPARE RULES') LOOP
621 l_lookup_rule_value := rec.lookup_code;
622 END LOOP;
623
624 /* ------------------------------------------------------------------------------
625 | Call to prepare the asset key and category. The function will internally |
626 | call either the package for common customers which will be empty stubs for |
627 | now or will call the package for Energy Cutomers which will have code to |
628 | prepare Asset Key and Category_id. |
629 ------------------------------------------------------------------------------
630 */
631
632 l_debug_str := 'Calling prepare_asset_key_category';
633 if (g_log_level_rec.statement_level) then
634 fa_debug_pkg.add(l_calling_fn,
635 l_debug_str,
636 '',
637 p_log_level_rec => g_log_level_rec);
638 end if;
639
640 if (g_log_level_rec.statement_level) then
641 fa_debug_pkg.add(l_calling_fn,
642 'l_lookup_rule_value',
643 l_lookup_rule_value,
644 p_log_level_rec => g_log_level_rec);
645 end if;
646
647 /*call the asset key function deprneding upon the package*/
648 if (l_lookup_rule_value = 'CUSTOM ENERGY') then
649
650 if not
651 FA_MASSADD_PREP_ENERGY_PKG.prep_asset_key_category(p_book_type_code,
652 p_log_level_rec => g_log_level_rec) then
653 l_debug_str := 'Energy prepare asset key returned failure';
654
655 end if;
656
657 /* ------------------------------------------------------------------------------
658 | Call to merge the mass additions lines. The functionw ill internally call |
659 | either the package for common customers which will be standard merge code |
660 | or will call the package for Energy Cutomers which will have code to merge |
661 | to merge the lines with identical Asset Key and Category_id. |
662 ------------------------------------------------------------------------------
663 */
664 l_debug_str := 'Calling merge_mass_additions';
665 if (g_log_level_rec.statement_level) then
666 fa_debug_pkg.add(l_calling_fn,
667 l_debug_str,
668 '',
669 p_log_level_rec => g_log_level_rec);
670 end if;
671
672 if not
673 FA_MASSADD_PREP_ENERGY_PKG.merge_lines(p_book_type_code,
674 p_log_level_rec => g_log_level_rec) then
675 l_debug_str := 'Energy merge_lines returned failure';
676 end if;
677 end if;
678
679 /* ------------------------------------------------------------------------------
680 | Loop through all the mass additions lines and call the main attribute |
681 | fucntion which will process the all other attributes of the mass addition |
682 | lines. The fucntion will internally call either the package for the common |
683 | customers or the package for energy customers which will have an extra call |
684 | to the group function which will further call the Create Summary Assets |
685 | fucntion to process Create Summary Asset. |
686 ------------------------------------------------------------------------------
687 */
688 l_debug_str := 'Processing mass additons lines for other attributes';
689 --Open the cursor for the mass additions
690 open GET_MASS_ADD(p_book_type_code);
691
692 -- Process all the records
693 while true loop
694
695 l_debug_str := 'In Loop';
696 --fetch the records as per batch size
697 fetch GET_MASS_ADD BULK COLLECT
698 INTO l_mass_add_rec_tbl limit l_batch_size;
699
700 --exit from the loop if no more records
701 if (GET_MASS_ADD%NOTFOUND) and (l_mass_add_rec_tbl.count < 1) then
702 exit;
703 end if;
704
705 --Loop to get process each mass addition line
706 for l_count in 1 .. l_mass_add_rec_tbl.count loop
707 l_debug_str := 'Calling prepare_attributes';
708 if (g_log_level_rec.statement_level) then
709 fa_debug_pkg.add(l_calling_fn,
710 l_debug_str,
711 '',
712 p_log_level_rec => g_log_level_rec);
713 end if;
714 if (l_lookup_rule_value = 'DEFAULT') then
715 if not
716 FA_MASSADD_PREP_DEFAULT_PKG.prepare_attributes(l_mass_add_rec_tbl(l_count),
717 p_log_level_rec => g_log_level_rec) then
718 l_debug_str := 'Custom prepare attributes returned failure';
719
720 if (g_log_level_rec.statement_level) then
721 fa_debug_pkg.add(l_calling_fn,
722 l_debug_str,
723 '',
724 p_log_level_rec => g_log_level_rec);
725 end if;
726 end if;
727
728 elsif (l_lookup_rule_value = 'CUSTOM') then
729 if not
730 FA_MASSADD_PREP_CUSTOM_PKG.prepare_attributes(l_mass_add_rec_tbl(l_count),
731 p_log_level_rec => g_log_level_rec) then
732 l_debug_str := 'Custom prepare attributes returned failure';
733 if (g_log_level_rec.statement_level) then
734
735 fa_debug_pkg.add(l_calling_fn,
736 l_debug_str,
737 '',
738 p_log_level_rec => g_log_level_rec);
739 end if;
740 end if;
741 elsif (l_lookup_rule_value = 'CUSTOM ENERGY') then
742 if not
743 FA_MASSADD_PREP_ENERGY_PKG.prepare_attributes(l_mass_add_rec_tbl(l_count),
744 p_log_level_rec => g_log_level_rec) then
745 l_debug_str := 'Energy prepare attributes returned failure';
746 if (g_log_level_rec.statement_level) then
747
748 fa_debug_pkg.add(l_calling_fn,
749 l_debug_str,
750 '',
751 p_log_level_rec => g_log_level_rec);
752 end if;
753 end if;
754 end if;
755 end loop;
756 l_debug_str := 'Calling update_mass_additions';
757 if (g_log_level_rec.statement_level) then
758
759 fa_debug_pkg.add(l_calling_fn,
760 l_debug_str,
761 '',
762 p_log_level_rec => g_log_level_rec);
763 end if;
764 if not update_mass_additions(l_mass_add_rec_tbl,
765 p_log_level_rec => g_log_level_rec) then
766 l_debug_str := 'error in update_mass_additions';
767 if (g_log_level_rec.statement_level) then
768
769 fa_debug_pkg.add(l_calling_fn,
770 l_debug_str,
771 '',
772 p_log_level_rec => g_log_level_rec);
773 end if;
774 end if;
775 end loop;
776 commit;
777 retcode := 0;
778
779 exception
780 WHEN others THEN
781 retcode := 2;
782 rollback;
783 FA_SRVR_MSG.ADD_MESSAGE(CALLING_FN => 'FA_MASSADD_PREPARE_PKG.prepare_mass_additions',
784 p_log_level_rec => g_log_level_rec);
785
786 end;
787 /*===============================End Of FUNCTION/PROCEDURE===============================*/
788 end FA_MASSADD_PREPARE_PKG;