DBA Data[Home] [Help]

PACKAGE BODY: APPS.FARX_AL

Source


4 g_print_debug boolean := fa_cache_pkg.fa_print_debug;
1 PACKAGE BODY FARX_AL as
2   /* $Header: farxalb.pls 120.27 2011/09/24 11:14:07 rmandali ship $ */
3 
5 
6 PROCEDURE asset_listing_run(book           in   varchar2,
7                             period         in   varchar2,
8                             from_bal       in   varchar2,
9                             to_bal         in   varchar2,
10                             from_acct      in   varchar2,
11                             to_acct        in   varchar2,
12                             from_cc        in   varchar2,
13                             to_cc          in   varchar2,
14                             major_category in   varchar2,
15                             minor_category in   varchar2,
16                             cat_seg_num    in   varchar2,
17                             cat_seg_val    in   varchar2,
18                             prop_type      in   varchar2,
19                             fully_reserved in   varchar2,
20                             nbv            in   number,
21                             cat_deprn_flag in   varchar2,
22                             bought         in   varchar2,
23                             sob_id         in   varchar2 default NULL,
24                             request_id     in   number,
25                             login_id       in   number,
26                             retcode        out nocopy  number,
27                             errbuf         out nocopy  VARCHAR2) IS
28 
29    h_request_id                 number;
30    mesg                         varchar2(200);
31    h_book                       varchar2(15);
32    h_period                     varchar2(15);
33    cat_flex_struct              number;
34    loc_flex_struct              number;
35    assetkey_flex_struct         number;
36    acct_flex_struct             number;
37    h_currency_code              varchar2(15);
38    h_bal_segnum                 number;
39    h_acct_segnum                number;
40    h_cc_segnum                  number;
41    acct_all_segs                fa_rx_shared_pkg.Seg_Array;
42    cat_segs                     fa_rx_shared_pkg.Seg_Array;
43    loc_segs                     fa_rx_shared_pkg.Seg_Array;
44    concat_cat_str               varchar2(500);
45    concat_loc_str               varchar2(500);
46    concat_acct_str              varchar2(500);
47    h_fy_name                    fa_fiscal_year.fiscal_year_name%type; -- fix for bug 3286727
48    h_life                       number;
49    h_ccid                       number;
50    h_asset_cost_acct            varchar2(25);
51    h_deprn_rsv_acct             varchar2(25);
52    h_asset_number               varchar2(15);
53    h_description                varchar2(80);
54    h_dpis                       date;
55    h_method_code                varchar2(15);
56    h_rate                       number;
57    h_capacity                   number;
58    h_cost                       number;
59    h_percent                    number;
60    h_deprn_amount               number;
61    h_ytd_deprn                  number;
62    h_reserve                    number;
63    h_transaction_Type           varchar2(1);
64    h_category_id                number;
65    h_location_id                number;
66    h_tag_number                 varchar2(15);
67    h_serial_number              varchar2(35);
68    h_inventorial                varchar2(3);
69    h_user_id                    number;
70    h_account_description        varchar2(240);
71    h_asset_key_ccid             number;
72    concat_key_str               varchar2(500);
73    key_segs                     fa_rx_shared_pkg.Seg_Array;
74    return_status                boolean;
75    acct_appl_col                varchar2(240);
76    acct_segname                 varchar2(240);
77    acct_prompt                  varchar2(240);
78    acct_valueset_name           varchar2(240);
79    h_asset_type                 varchar2(1);
80    h_assigned_to                number;
81    h_emp_name                   VARCHAR2(50); --varchar2(240);
82    h_emp_number                 VARCHAR2(15); -- varchar2(30);
83    h_asset_id                   number;
84    h_category_description       varchar2(240);
85    h_units                      number;
86    ucd                          date;
87    upc                          number;
88    l_param_where                varchar2(2000);
89    h_company_description        varchar2(240);
90    h_expense_acct_description   varchar2(240);
91    h_cost_center_description    varchar2(240);
92    h_major_category             varchar2(30);
93    h_minor_category             varchar2(30);
94    h_chart_of_accounts_id       number;
95    h_organization_name          varchar2(30);
96    h_set_of_books_id            number;
97    h_book_deprn_flag            varchar2(20);
98    h_category_deprn_flag        varchar2(20);
99     TYPE cur IS ref cursor;
100    asset_lst_rows               cur;
101    sql_stmt                     varchar2(30000);
102    h_mesg_name                  varchar2(30);
103    h_mesg_str                   varchar2(2000);
104    h_ccid_error                 number;
105    h_flex_error                 varchar2(5);
106    flag                         varchar2(1);
107 
108    maj_select_column            varchar2(50);
109    min_select_column            varchar2(50);
110 
111    h_is_retired                 number; -- added this for bug 2681076
112 
113 --+ Bug#2953964: Bind Variable Project --
117    h_to_acct                    varchar2(25);
114    h_from_bal                   varchar2(25);
115    h_to_bal                     varchar2(25);
116    h_from_acct                  varchar2(25);
118    h_from_cc                    varchar2(25);
119    h_to_cc                      varchar2(25);
120    h_cat_seg_num                varchar2(50);
121    h_cat_seg_val                varchar2(30);
122    h_prop_type                  varchar2(30);
123    h_bought                     varchar2(30);
124    h_sob_id                     number;
125    H_MRCSOBTYPE                 varchar2(1);
126    -- used to store original sob info upon entry into api
127    l_orig_set_of_books_id    number;
128    l_orig_currency_context   varchar2(64);
129 
130 BEGIN
131    --
132    -- For debug
133    --
134    h_sob_id := to_number(sob_id);
135    IF (g_print_debug) THEN
136         fa_rx_util_pkg.debug('asset_listing_run: ' || 'BEGIN REPORT');
137    END IF;
138    retcode := 2;
139    h_book           := book;
140    h_period         := period;
141    h_request_id     := request_id;
142    h_major_category := major_category;
143    h_minor_category := minor_category;
144 
145 --+ Bug#2953964 +----
146    h_from_bal       := from_bal;
147    h_to_bal         := to_bal;
148    h_from_acct      := from_acct;
149    h_to_acct        := to_acct;
150    h_from_cc        := from_cc;
151    h_to_cc          := to_cc;
152    h_cat_seg_num    := cat_seg_num;
153    h_cat_seg_val    := cat_seg_val;
154    h_prop_type      := prop_type;
155    h_bought         := bought;
156 
157    fnd_profile.get('USER_ID',h_user_id);
158    fnd_profile.get ('GL_SET_OF_BKS_ID',l_orig_set_of_books_id);
159    l_orig_currency_context :=  SUBSTRB(USERENV('CLIENT_INFO'),45,10);
160    -- Set the gl_sob profile to this book
161    fnd_profile.put('GL_SET_OF_BKS_ID', h_sob_id);
162    fnd_client_info.set_currency_context (h_sob_id);
163   if h_sob_id <> -1999 then
164     begin
165        select 'P'
166        into H_MRCSOBTYPE
167        from fa_book_controls
168        where book_type_code = h_book
169        and set_of_books_id = h_sob_id;
170     exception
171        when others then
172            H_MRCSOBTYPE := 'R';
173     end;
174   else
175     H_MRCSOBTYPE := 'P';
176   end if;
177 
178    SELECT CATEGORY_FLEX_STRUCTURE,
179           LOCATION_FLEX_STRUCTURE,
180           ASSET_KEY_FLEX_STRUCTURE
181    INTO   cat_flex_struct,
182           loc_flex_struct,
183           assetkey_flex_struct
184    FROM   FA_SYSTEM_CONTROLS;
185 
186    h_mesg_name := 'FA_RX_SEGNUMS';
187 
188    fa_rx_shared_pkg.GET_ACCT_SEGMENT_NUMBERS (
189    BOOK                 => h_book,
190    BALANCING_SEGNUM     => h_bal_segnum,
191    ACCOUNT_SEGNUM       => h_acct_segnum,
192    CC_SEGNUM            => h_cc_segnum,
193    CALLING_FN           => 'ASSET_LISTING_REP');
194 
195    if(H_MRCSOBTYPE <> 'R')then
196 
197         SELECT BC.ACCOUNTING_FLEX_STRUCTURE,
198           SOB.CURRENCY_CODE,
199           BC.FISCAL_YEAR_NAME,
200           SOB.CHART_OF_ACCOUNTS_ID,
201           SOB.NAME,
202           SOB.SET_OF_BOOKS_ID
203         INTO   acct_flex_struct,
204           h_currency_code,
205           h_fy_name,
206           h_chart_of_accounts_id,
207           h_organization_name,
208           h_set_of_books_id
209         FROM   FA_BOOK_CONTROLS         BC,
210           GL_SETS_OF_BOOKS      SOB
211         WHERE  BC.BOOK_TYPE_CODE   = h_book
212         AND    SOB.SET_OF_BOOKS_ID = BC.SET_OF_BOOKS_ID;
213    else
214         SELECT BC.ACCOUNTING_FLEX_STRUCTURE,
215           SOB.CURRENCY_CODE,
216           BC.FISCAL_YEAR_NAME,
217           SOB.CHART_OF_ACCOUNTS_ID,
218           SOB.NAME,
219           SOB.SET_OF_BOOKS_ID
220         INTO   acct_flex_struct,
221           h_currency_code,
222           h_fy_name,
223           h_chart_of_accounts_id,
224           h_organization_name,
225           h_set_of_books_id
226         FROM   FA_BOOK_CONTROLS_mrc_v   BC,
227           GL_SETS_OF_BOOKS      SOB
228         WHERE  BC.BOOK_TYPE_CODE   = h_book
229         AND    SOB.SET_OF_BOOKS_ID = BC.SET_OF_BOOKS_ID;
230    END if;
231 
232    return_status := FND_FLEX_APIS.GET_SEGMENT_INFO
233                         (101, 'GL#', Acct_Flex_Struct, h_Acct_Segnum,
234                          Acct_Appl_Col, Acct_Segname, Acct_Prompt, Acct_Valueset_Name);
235 
236    if(H_MRCSOBTYPE <> 'R') then
237         SELECT PERIOD_COUNTER,
238           NVL(PERIOD_CLOSE_DATE, SYSDATE)
239         INTO   upc,
240           ucd
241         FROM   FA_DEPRN_PERIODS
242         WHERE  BOOK_TYPE_CODE = h_book
243         AND    PERIOD_NAME    = h_period;
244    else
245         SELECT PERIOD_COUNTER,
246           NVL(PERIOD_CLOSE_DATE, SYSDATE)
247         INTO   upc,
248           ucd
249         FROM   FA_DEPRN_PERIODS_mrc_v
250         WHERE  BOOK_TYPE_CODE = h_book
251         AND    PERIOD_NAME    = h_period;
252    END if;
253    --
254    -- Additional where clause are created using the parameters dynamically
255    --
256    l_param_where := null;
257 
258    -- BALANCING --
259    l_param_where := l_param_where || ' AND (' ||
263    l_param_where := l_param_where || ' AND (' ||
260         fa_rx_flex_pkg.flex_sql(101,'GL#', h_chart_of_accounts_id,'CC',
261         'SELECT', 'GL_BALANCING') ||' >= :from_bal or :from_bal is NULL)';
262 
264         fa_rx_flex_pkg.flex_sql(101,'GL#', h_chart_of_accounts_id,'CC',
265         'SELECT', 'GL_BALANCING') ||' <= :to_bal or :to_bal is NULL)';
266 
267    -- ACCOUNT --
268    l_param_where := l_param_where || ' AND (' ||
269         fa_rx_flex_pkg.flex_sql(101,'GL#', h_chart_of_accounts_id,'CC',
270         'SELECT', 'GL_ACCOUNT') ||' >= :from_acct or :from_acct is NULL)';
271 
272    l_param_where := l_param_where || ' AND (' ||
273         fa_rx_flex_pkg.flex_sql(101,'GL#', h_chart_of_accounts_id,'CC',
274         'SELECT', 'GL_ACCOUNT') ||' <= :to_acct or :to_acct is NULL)';
275 
276    -- COST CENTER --
277    l_param_where := l_param_where || ' AND (' ||
278         fa_rx_flex_pkg.flex_sql(101,'GL#', h_chart_of_accounts_id,'CC',
279         'SELECT', 'FA_COST_CTR') ||' >= :from_cc or :from_cc is NULL)';
280 
281    l_param_where := l_param_where || ' AND (' ||
282         fa_rx_flex_pkg.flex_sql(101,'GL#', h_chart_of_accounts_id,'CC',
283         'SELECT', 'FA_COST_CTR') ||' <= :to_cc or :to_cc is NULL)';
284 
285   -- Major Category --
286    l_param_where := l_param_where || ' AND (' ||
287         fa_rx_flex_pkg.flex_sql(140,'CAT#', cat_flex_struct,'CAT',
288         'SELECT', 'BASED_CATEGORY') ||'= :major_category or :major_category is NULL)';
289 
290    -- Minor Category --
291    begin
292      l_param_where := l_param_where || ' AND (' ||
293         fa_rx_flex_pkg.flex_sql(140,'CAT#', cat_flex_struct,'CAT',
294         'SELECT', 'MINOR_CATEGORY') ||'= :minor_category or :minor_category is NULL)';
295    exception
296      when others then
297        l_param_where := l_param_where || ' AND (:minor_category is NULL and :minor_category is NULL)';
298    end;
299 
300 
301    -- Property Type --
302    l_param_where := l_param_where || ' AND (CAT.PROPERTY_TYPE_CODE = :prop_type or :prop_type is null)';
303 
304    -- Fully Reserved --
305    flag := substr(upper(fully_reserved), 1,1);
306    IF (flag = 'Y') THEN
307       l_param_where := l_param_where ||
308         ' AND BOOKS.PERIOD_COUNTER_FULLY_RESERVED <= ' || upc;
309    ELSIF (flag = 'N') THEN
310       l_param_where := l_param_where ||
311         ' AND (BOOKS.PERIOD_COUNTER_FULLY_RESERVED is null OR' ||
312         '      BOOKS.PERIOD_COUNTER_FULLY_RESERVED > ' || upc || ')';
313    END IF;
314 
315    -- Category Depreciation Flag --
316    flag := substr(upper(cat_deprn_flag), 1,1);
317    IF (flag = 'N') THEN
318       l_param_where := l_param_where ||
319         ' AND  CAT.CAPITALIZE_FLAG = ''NO'' AND CAT.OWNED_LEASED = ''LEASED''';
320    END IF;
321 
322    -- Bought --
323    l_param_where := l_param_where || ' AND AD.NEW_USED = nvl(:bought,AD.NEW_USED)';
324 
325    --
326 
327    -- Category Segment Number --
328    IF (cat_seg_num IS NOT NULL) THEN
329       l_param_where := l_param_where || ' AND ' ||
330         fa_rx_flex_pkg.flex_sql(140,'CAT#', cat_flex_struct,'CAT',
331         'SELECT',cat_seg_num) || '= :cat_seg_val';
332    END IF;
333 
334    --
335    -- Get Columns for Major_category and Minor_category
336    --
337    maj_select_column := null;
338    min_select_column := null;
339 
340    maj_select_column := fa_rx_flex_pkg.flex_sql(140,'CAT#',cat_flex_struct,'CAT','SELECT','BASED_CATEGORY');
341    maj_select_column := maj_select_column || '     MAJOR_CATEGORY';
342 
343    begin
344      min_select_column := fa_rx_flex_pkg.flex_sql(140,'CAT#',cat_flex_struct,'CAT','SELECT','MINOR_CATEGORY');
345      min_select_column := min_select_column || '      MINOR_CATEGORY';
346     exception
347       when others then
348         min_select_column := 'NULL';
349    end;
350 
351    --
352    -- Main Select Statment
353    --
354    if(H_MRCSOBTYPE <> 'R') then
355         sql_stmt :=
356         'SELECT DISTINCT
357                 CB.ASSET_COST_ACCT                                      COST_ACCOUNT,
358                 CB.DEPRN_RESERVE_ACCT                                   RSV_ACCOUNT,
359                 AH.CATEGORY_ID                                          CATEGORY_ID,
360                 BOOKS.DATE_PLACED_IN_SERVICE                            START_DATE,
361                 BOOKS.DEPRN_METHOD_CODE                                 METHOD,
362                 BOOKS.LIFE_IN_MONTHS                                    LIFE,
363                 BOOKS.ADJUSTED_RATE                                     RATE,
364                 BOOKS.PRODUCTION_CAPACITY                               CAPACITY,
365                 BOOKS.DEPRECIATE_FLAG                                   BOOK_DEPRN_FLAG,
366                 DH.LOCATION_ID                                          LOCATION_ID,
367                 DH.ASSIGNED_TO                                          ASSIGNED_TO,
368                 DH.UNITS_ASSIGNED / AH.UNITS * 100                      PERCENT,
369                 substrb(EMP.full_name, 1, 50)                           EMP_NAME,
370                 substrb(EMP.employee_number, 1, 15)                     EMP_NUMBER, --Bug#9206900
371                 CC.CODE_COMBINATION_ID                                  CCID,
372                 AH.ASSET_ID                                             ASSET_ID,
373                 AD.ASSET_NUMBER                                         ASSET_NUMBER,
374                 AD.DESCRIPTION                                          ASSET_DESCRIPTION,
375                 AD.TAG_NUMBER                                           TAG_NUMBER,
376                 AD.serial_number                                        SERIAL_NUMBER,
377                 AD.INVENTORIAL                                          INVENTORIAL,
381                 maj_select_column || ' , ' || min_select_column || '
378                 AD.ASSET_KEY_CCID                                       ASSET_KEY_CCID,
379                 DECODE(AD.ASSET_TYPE,''CIP'',''C'',''EXPENSED'',''E'','''')     ASSET_TYPE,
380                 CBD.DEPRECIATE_FLAG                                     CATEGORY_DEPRN_FLAG, ' ||
382         FROM
383                 FA_CATEGORY_BOOKS       CB,
384                 FA_ASSET_HISTORY        AH,
385                 FA_BOOKS                BOOKS,
386                 FA_DISTRIBUTION_HISTORY DH,
387                 GL_CODE_COMBINATIONS    CC,
388                 PER_PEOPLE_F            EMP,
389                 FA_ADDITIONS            AD,
390                 FA_CATEGORIES           CAT,
391                 FA_CATEGORY_BOOK_DEFAULTS CBD,
392                 FA_BOOK_CONTROLS        BC      -- Added for bug#2675646
393         WHERE
394                 CB.BOOK_TYPE_CODE               =  :h_book                      AND
395                 CB.CATEGORY_ID                  =  AH.CATEGORY_ID
396         AND
397                 AH.ASSET_ID                     =  DH.ASSET_ID AND
398                 AH.DATE_EFFECTIVE               <= :ucd                         AND
399                 NVL(AH.DATE_INEFFECTIVE,:ucd+1)  > :ucd
400         AND
401                 BOOKS.BOOK_TYPE_CODE            = :h_book                       AND
402                 BOOKS.ASSET_ID                  = DH.ASSET_ID AND
403                 nvl(BOOKS.PERIOD_COUNTER_FULLY_RETIRED, :upc) >= :upc           AND
404                 BOOKS.DATE_EFFECTIVE            <=  :ucd                        AND
405                 nvl(BOOKS.DATE_INEFFECTIVE,:ucd+1)> :ucd
406         AND   -- Added for Bug#2675646
407                 BC.BOOK_TYPE_CODE               =  :h_book
408         AND
409                 DH.BOOK_TYPE_CODE               =  nvl(BC.DISTRIBUTION_SOURCE_BOOK, :h_book)    AND -- Changed from = :h_book
410                 DH.DATE_EFFECTIVE               <= :ucd                         AND
411                 nvl(DH.DATE_INEFFECTIVE,:ucd+1) >  :ucd                         AND
412                 DH.CODE_COMBINATION_ID          = CC.CODE_COMBINATION_ID        AND
413                 DH.ASSIGNED_TO                  = EMP.PERSON_ID(+)
414         AND     trunc(sysdate)  between emp.effective_start_date(+) and emp.effective_end_date(+)
415         AND     AD.ASSET_ID                     = AH.ASSET_ID
416         AND     CAT.CATEGORY_ID                 = AH.CATEGORY_ID
417         AND     CBD.CATEGORY_ID                 = CAT.CATEGORY_ID               AND
418                 CBD.BOOK_TYPE_CODE              = :h_book                       AND
419                 CBD.START_DPIS                  <= BOOKS.DATE_PLACED_IN_SERVICE  AND -- Changed for Bug:5276352
420                 nvl(CBD.END_DPIS,sysdate)       >= BOOKS.DATE_PLACED_IN_SERVICE';
421    else
422         sql_stmt :=
423         'SELECT DISTINCT
424                 CB.ASSET_COST_ACCT                                      COST_ACCOUNT,
425                 CB.DEPRN_RESERVE_ACCT                                   RSV_ACCOUNT,
426                 AH.CATEGORY_ID                                          CATEGORY_ID,
427                 BOOKS.DATE_PLACED_IN_SERVICE                            START_DATE,
428                 BOOKS.DEPRN_METHOD_CODE                                 METHOD,
429                 BOOKS.LIFE_IN_MONTHS                                    LIFE,
430                 BOOKS.ADJUSTED_RATE                                     RATE,
431                 BOOKS.PRODUCTION_CAPACITY                               CAPACITY,
432                 BOOKS.DEPRECIATE_FLAG                                   BOOK_DEPRN_FLAG,
433                 DH.LOCATION_ID                                          LOCATION_ID,
434                 DH.ASSIGNED_TO                                          ASSIGNED_TO,
438                 CC.CODE_COMBINATION_ID                                  CCID,
435                 DH.UNITS_ASSIGNED / AH.UNITS * 100                      PERCENT,
436                 substrb(EMP.full_name, 1, 50)                           EMP_NAME,
437                 substrb(EMP.employee_number, 1, 15)                     EMP_NUMBER, --Bug#9206900
439                 AH.ASSET_ID                                             ASSET_ID,
440                 AD.ASSET_NUMBER                                         ASSET_NUMBER,
441                 AD.DESCRIPTION                                          ASSET_DESCRIPTION,
442                 AD.TAG_NUMBER                                           TAG_NUMBER,
443                 AD.serial_number                                        SERIAL_NUMBER,
444                 AD.INVENTORIAL                                          INVENTORIAL,
445                 AD.ASSET_KEY_CCID                                       ASSET_KEY_CCID,
446                 DECODE(AD.ASSET_TYPE,''CIP'',''C'',''EXPENSED'',''E'','''')     ASSET_TYPE,
450                 FA_CATEGORY_BOOKS       CB,
447                 CBD.DEPRECIATE_FLAG                                     CATEGORY_DEPRN_FLAG, ' ||
448                 maj_select_column || ' , ' || min_select_column || '
449         FROM
451                 FA_ASSET_HISTORY        AH,
452                 FA_BOOKS_mrc_v          BOOKS,
453                 FA_DISTRIBUTION_HISTORY DH,
454                 GL_CODE_COMBINATIONS    CC,
455                 PER_PEOPLE_F            EMP,
456                 FA_ADDITIONS            AD,
457                 FA_CATEGORIES           CAT,
458                 FA_CATEGORY_BOOK_DEFAULTS CBD,
459                 FA_BOOK_CONTROLS_mrc_v  BC      -- Added for bug#2675646
460         WHERE
461                 CB.BOOK_TYPE_CODE               =  :h_book                      AND
462                 CB.CATEGORY_ID                  =  AH.CATEGORY_ID
463         AND
464                 AH.ASSET_ID                     =  DH.ASSET_ID AND
465                 AH.DATE_EFFECTIVE               <= :ucd                         AND
466                 NVL(AH.DATE_INEFFECTIVE,:ucd+1)  > :ucd
467         AND
468                 BOOKS.BOOK_TYPE_CODE            = :h_book                       AND
469                 BOOKS.ASSET_ID                  = DH.ASSET_ID AND
470                 nvl(BOOKS.PERIOD_COUNTER_FULLY_RETIRED, :upc) >= :upc           AND
471                 BOOKS.DATE_EFFECTIVE            <=  :ucd                        AND
472                 nvl(BOOKS.DATE_INEFFECTIVE,:ucd+1)> :ucd
473         AND   -- Added for Bug#2675646
474                 BC.BOOK_TYPE_CODE               =  :h_book
475         AND
476                 DH.BOOK_TYPE_CODE               =  nvl(BC.DISTRIBUTION_SOURCE_BOOK, :h_book)    AND -- Changed from = :h_book
477                 DH.DATE_EFFECTIVE               <= :ucd                         AND
478                 nvl(DH.DATE_INEFFECTIVE,:ucd+1) >  :ucd                         AND
479                 DH.CODE_COMBINATION_ID          = CC.CODE_COMBINATION_ID        AND
480                 DH.ASSIGNED_TO                  = EMP.PERSON_ID(+)
481         AND     trunc(sysdate)  between emp.effective_start_date(+) and emp.effective_end_date(+)
482         AND     AD.ASSET_ID                     = AH.ASSET_ID
483         AND     CAT.CATEGORY_ID                 = AH.CATEGORY_ID
484         AND     CBD.CATEGORY_ID                 = CAT.CATEGORY_ID               AND
485                 CBD.BOOK_TYPE_CODE              = :h_book                       AND
486                 CBD.START_DPIS                  <= BOOKS.DATE_PLACED_IN_SERVICE  AND -- Changed for Bug:5276352
487                 nvl(CBD.END_DPIS,sysdate)       >= BOOKS.DATE_PLACED_IN_SERVICE';
488    end if;
489 
490    sql_stmt := sql_stmt || l_param_where;
491 
492    IF (cat_seg_num IS NOT NULL) THEN
493 
494      OPEN asset_lst_rows FOR sql_stmt
495        using h_book,ucd,ucd,ucd,h_book,upc,upc,ucd,ucd,ucd,h_book,h_book,ucd,ucd,ucd,h_book,
496              h_from_bal,h_from_bal,h_to_bal,h_to_bal,h_from_acct,h_from_acct,h_to_acct,h_to_acct,
497              h_from_cc,h_from_cc,h_to_cc,h_to_cc,h_major_category,h_major_category,
498              h_minor_category,h_minor_category,h_prop_type,h_prop_type,h_bought,h_cat_seg_val;
499 
500    ELSE
501 
502      OPEN asset_lst_rows FOR sql_stmt
503        using h_book,ucd,ucd,ucd,h_book,upc,upc,ucd,ucd,ucd,h_book,h_book,ucd,ucd,ucd,h_book,
504              h_from_bal,h_from_bal,h_to_bal,h_to_bal,h_from_acct,h_from_acct,h_to_acct,h_to_acct,
505              h_from_cc,h_from_cc,h_to_cc,h_to_cc,h_major_category,h_major_category,
506              h_minor_category,h_minor_category,h_prop_type,h_prop_type,h_bought;
507 
508    END IF;
509 
510 /*   OPEN asset_lst_rows FOR sql_stmt
511      using h_book,ucd,ucd,ucd,h_book,upc,upc,ucd,ucd,ucd,h_book,h_book,ucd,ucd,ucd,h_book;
512 */
513    LOOP
514      h_mesg_name := 'FA_ASSET_LISTING_SQL_FCUR';
515      IF (g_print_debug) THEN
516         fa_rx_util_pkg.debug('asset_listing_run: ' || h_mesg_name);
517      END IF;
518      FETCH asset_lst_rows INTO
519            h_asset_cost_acct,
520            h_deprn_rsv_acct,
521            h_category_id,
522            h_dpis,
523            h_method_code,
524            h_life,
525            h_rate,
526            h_capacity,
527            h_book_deprn_flag,
528            h_location_id,
529            h_assigned_to,
530            h_percent,
531            h_emp_name,
532            h_emp_number,
533            h_ccid,
534            h_asset_id,
535            h_asset_number,
536            h_description,
537            h_tag_number,
538            h_serial_number,
539            h_inventorial,
540            h_asset_key_ccid,
541            h_asset_type,
542            h_category_deprn_flag,
543            h_major_category,
544            h_minor_category;
545 
546      IF (asset_lst_rows%NOTFOUND) THEN
547         exit;
548      END IF;
549 
550      h_mesg_name := 'FA_RX_FETCH_CUR';
551      IF (g_print_debug) THEN
552         fa_rx_util_pkg.debug('asset_listing_run: ' || h_mesg_name);
553      END IF;
554 
555      h_account_description :=
556      fa_rx_shared_pkg.get_flex_val_meaning(NULL, acct_valueset_name, h_asset_cost_acct);
557 
558      h_mesg_name := 'FA_RX_CONCAT_SEGS';
559      h_flex_error := 'GL#';
560      h_ccid_error := h_ccid;
561 
562      fa_rx_shared_pkg.concat_acct (
563            struct_id     => acct_flex_struct,
564            ccid          => h_ccid,
565            concat_string => concat_acct_str,
566            segarray      => acct_all_segs);
567 
568      h_flex_error := 'CAT#';
569      h_ccid_error := h_category_id;
573            ccid          => h_category_id,
570 
571      fa_rx_shared_pkg.concat_category (
572            struct_id     => cat_flex_struct,
577      h_flex_error := 'LOC#';
574            concat_string => concat_cat_str,
575            segarray      => cat_segs);
576 
578      h_ccid_error := h_location_id;
579 
580      fa_rx_shared_pkg.concat_location (
581            struct_id     => loc_flex_struct,
582            ccid          => h_location_id,
583            concat_string => concat_loc_str,
584            segarray      => loc_segs);
585 
586      IF (h_asset_key_ccid is not NULL) THEN
587         h_flex_error := 'KEY#';
588         h_ccid_error := h_asset_key_ccid;
589 
590         fa_rx_shared_pkg.concat_asset_key (
591               struct_id     => assetkey_flex_struct,
592               ccid          => h_asset_key_ccid,
593               concat_string => concat_key_str,
594               segarray      => key_segs);
595 
596      ELSE
597         concat_key_str := '';  --bug#7456179
598      END IF;
599 
600      h_company_description :=
601        fa_rx_flex_pkg.get_description(
602          p_application_id => 101,
603          p_id_flex_code   => 'GL#',
604          p_id_flex_num    => h_chart_of_accounts_id,
605          p_qualifier      => 'GL_BALANCING',
606          p_data           => acct_all_segs(h_bal_segnum));
607 
608      h_expense_acct_description :=
609        fa_rx_flex_pkg.get_description(
610          p_application_id => 101,
611          p_id_flex_code   => 'GL#',
612          p_id_flex_num    => h_chart_of_accounts_id,
613          p_qualifier      => 'GL_ACCOUNT',
614          p_data           => acct_all_segs(h_acct_segnum));
615 
616      h_cost_center_description :=
617        fa_rx_flex_pkg.get_description(
618          p_application_id => 101,
619          p_id_flex_code   => 'GL#',
620          p_id_flex_num    => h_chart_of_accounts_id,
621          p_qualifier      => 'FA_COST_CTR',
622          p_data           => acct_all_segs(h_cc_segnum));
623 
624      h_mesg_name := 'FA_SHARED_INSERT_FAILED';
625      h_is_retired := 0; -- added this for bug 2681076
626 
627 -- check whether the Asset is Fully Retired and Processed
628 -- added this for bug 2681076
629    if(H_MRCSOBTYPE <> 'R') then
630 	SELECT count(*) INTO h_is_retired
631 	FROM FA_RETIREMENTS RET,
632 	     fa_transaction_headers th
633 	WHERE RET.ASSET_ID = h_asset_id
634 	and ret.book_type_code = h_book
635 	AND RET.DATE_EFFECTIVE <= ucd
636 	AND RET.STATUS in  ('PROCESSED','REINSTATE')
637 	and th.transaction_header_id = ret.transaction_header_id_in
638 	and th.transaction_type_code = 'FULL RETIREMENT';
639    else
640 	SELECT count(*) INTO h_is_retired
641 	FROM FA_RETIREMENTS_mrc_v RET,
642 	     fa_transaction_headers th
643 	WHERE RET.ASSET_ID = h_asset_id
644 	and ret.book_type_code = h_book
645 	AND RET.DATE_EFFECTIVE <= ucd
646 	AND RET.STATUS in  ('PROCESSED','REINSTATE')
647 	and th.transaction_header_id = ret.transaction_header_id_in
648 	and th.transaction_type_code = 'FULL RETIREMENT';
649    end if;
650 
651      IF h_is_retired = 0 THEN -- added this for bug 2681076
652         --the asset is not Fully Retired and the Report Should display the asset.
653 
654      --
655      -- Each time the main select statement gets the row, the following query is executed.
656      -- This is used to sum up units, cost, and reserve, in case, multiple distributions share
657      -- the same location and the same employee.
658      --
659 -- This union should be analyzed further to improve performance,
660 -- however, solution in v.115.18 is not working due to no data found
661 -- error for select into construct.
662       if(H_MRCSOBTYPE <> 'R') then
663 	SELECT
664                 SUM(COST),
665                 SUM(RESERVE),
666                 SUM(DEPRN_AMOUNT),
667                 SUM(UNITS)
668         INTO    h_cost,
669                 h_reserve,
670                 h_deprn_amount,
671                 h_units
672         FROM(
673         SELECT
674                 DECODE(DD.DEPRN_SOURCE_CODE,'B',
675                        DD.ADDITION_COST_TO_CLEAR,DD.COST)               COST,
676                 DD.DEPRN_RESERVE                                        RESERVE,
677                 DECODE(DD.PERIOD_COUNTER, upc, DD.DEPRN_AMOUNT,0)       DEPRN_AMOUNT,
678                 DH.UNITS_ASSIGNED                                       UNITS
679         FROM
680                 FA_DEPRN_DETAIL                 DD,
681                 FA_DISTRIBUTION_HISTORY         DH,
682                 FA_BOOK_CONTROLS                BC  -- Added for Bug#2675646
683         WHERE
684                 DD.ASSET_ID             = h_asset_id                            AND
688                         (SELECT MAX(DD2.PERIOD_COUNTER)
685                 DD.BOOK_TYPE_CODE       = h_book                                AND
686                 DD.DISTRIBUTION_ID      = DH.DISTRIBUTION_ID                    AND
687                 DD.PERIOD_COUNTER       =
689                          FROM   FA_DEPRN_DETAIL DD2
690                          WHERE  DD2.BOOK_TYPE_CODE      = h_book
691                          AND    DD2.ASSET_ID            = h_asset_id
692                          AND    DD2.DISTRIBUTION_ID     = DD.DISTRIBUTION_ID
693                          AND    DD2.PERIOD_COUNTER      <= upc)
694         AND  -- Added for Bug#2675646
695                 BC.BOOK_TYPE_CODE       = h_book
696         AND
697                 DH.ASSET_ID             = h_asset_id and
698                 DH.BOOK_TYPE_CODE       = nvl(BC.DISTRIBUTION_SOURCE_BOOK,h_book)       AND
699                 DH.LOCATION_ID          = h_location_id                 AND
700                 (DH.ASSIGNED_TO         = h_assigned_to  OR
701                  (DH.ASSIGNED_TO is null and h_assigned_to is null))    AND
702                 DH.CODE_COMBINATION_ID  = h_ccid                        AND
703                 DH.DATE_EFFECTIVE               <= ucd                  AND
704                 nvl(DH.DATE_INEFFECTIVE, ucd+1) >  ucd
705         union all
706         SELECT
707                 0 COST,
708                 0 RESERVE,
709                 DECODE(DD.PERIOD_COUNTER, upc, DD.DEPRN_AMOUNT,0)       DEPRN_AMOUNT,
710                 0 UNITS
711         FROM
712                 FA_DEPRN_DETAIL                 DD,
713                 FA_DISTRIBUTION_HISTORY         DH,
714                 FA_DISTRIBUTION_HISTORY         DH_PRIOR,
715                 FA_BOOK_CONTROLS                BC  -- Added for Bug#2675646
716         WHERE
717                 DD.ASSET_ID             = h_asset_id                            AND
718                 DD.BOOK_TYPE_CODE       = h_book                                AND
719                 DD.DISTRIBUTION_ID      = DH_PRIOR.DISTRIBUTION_ID                      AND
720                 DH.CODE_COMBINATION_ID  = DH_PRIOR.CODE_COMBINATION_ID AND  /* Added for Bug 12996138 */
724                          WHERE  DD2.BOOK_TYPE_CODE      = h_book
721                 DD.PERIOD_COUNTER       =
722                         (SELECT MAX(DD2.PERIOD_COUNTER)
723                          FROM   FA_DEPRN_DETAIL DD2
725                          AND    DD2.ASSET_ID            = h_asset_id
726                          AND    DD2.DISTRIBUTION_ID     = DD.DISTRIBUTION_ID
727                          AND    DD2.PERIOD_COUNTER      <= upc)
728         AND  -- Added for Bug#2675646
729                 BC.BOOK_TYPE_CODE       = h_book
730         AND
731                 dh.transaction_header_id_in = dh_prior.transaction_header_id_out
732         and     dh.asset_id = dh_prior.asset_id
733         and     dh.book_type_code = dh_prior.book_type_code
734         -- Bug 7565805
735         /*and
736                 DH.ASSET_ID             = h_asset_id and
737                 DH.BOOK_TYPE_CODE       = nvl(BC.DISTRIBUTION_SOURCE_BOOK,h_book)       AND
738                 DH.LOCATION_ID          = h_location_id                 AND
739                 (DH.ASSIGNED_TO         = h_assigned_to  OR
740                  (DH.ASSIGNED_TO is null and h_assigned_to is null))    AND
741                 DH.CODE_COMBINATION_ID  = h_ccid                        AND
742                 DH.DATE_EFFECTIVE               <= ucd                  AND
743                 nvl(DH.DATE_INEFFECTIVE, ucd+1) >  ucd                   */
744         UNION ALL
745         SELECT
746                 DECODE(LU.LOOKUP_CODE, 'ADDITION COST',
747                         DECODE(ADJ.DEBIT_CREDIT_FLAG, 'DR', 1, -1) *
748                                 ADJ.ADJUSTMENT_AMOUNT,0)                COST,
749                 DECODE(LU.LOOKUP_CODE,
750                         'DEPRECIATION RESERVE',
751                         DECODE(ADJ.DEBIT_CREDIT_FLAG, 'DR', -1, 1) *
752                         ADJ.ADJUSTMENT_AMOUNT, 0)                       RESERVE,
753                 0                                                       DEPRN_AMOUNT,
754                 DECODE(LU.LOOKUP_CODE,
755                         'ADDITION COST',
756                         DECODE(ADJ.DEBIT_CREDIT_FLAG, 'DR', 1, -1) *
757                         DH.UNITS_ASSIGNED,0)                            UNITS
758         FROM
759                 FA_ADJUSTMENTS                  ADJ,
760                 FA_LOOKUPS                      LU,
761                 FA_DISTRIBUTION_HISTORY         DH,
762                 FA_BOOK_CONTROLS                BC  -- Added for Bug#2675646
763         WHERE
764                 LU.LOOKUP_TYPE          = 'JOURNAL ENTRIES'                     AND
765                 ((ADJ.ADJUSTMENT_TYPE IN ('COST','CIP COST') AND
766                   LU.LOOKUP_CODE = 'ADDITION COST')
770                 ADJ.SOURCE_TYPE_CODE NOT IN
767                   OR
768                  (ADJ.ADJUSTMENT_TYPE   = 'RESERVE'          AND
769                   LU.LOOKUP_CODE        = 'DEPRECIATION RESERVE'))              AND
771                         ('DEPRECIATION','ADDITION', 'CIP ADDITION')             AND
772                 ADJ.BOOK_TYPE_CODE      = h_book                                AND
773                 ADJ.ASSET_ID            = h_asset_id                            AND
774                 ADJ.DISTRIBUTION_ID     = DH.DISTRIBUTION_ID                    AND
775                 ADJ.PERIOD_COUNTER_CREATED = upc
776         AND  -- Added for Bug#2675646
777                 BC.BOOK_TYPE_CODE       = h_book
778         AND
779                 DH.ASSET_ID             = h_asset_id                            AND
780                 DH.BOOK_TYPE_CODE       = nvl(BC.DISTRIBUTION_SOURCE_BOOK,h_book) AND -- Changed from = h_book
781                 DH.LOCATION_ID          = h_location_id                         AND
782                 DH.DATE_EFFECTIVE               <= ucd                  AND
783                 nvl(DH.DATE_INEFFECTIVE, ucd+1) >  ucd                  AND
784                 (DH.ASSIGNED_to         = h_assigned_to  OR
785                  (DH.ASSIGNED_TO is null and h_assigned_to is null))    AND
786                 (NOT EXISTS (SELECT 1 FROM FA_DEPRN_DETAIL DD
787                              WHERE  DD.ASSET_ID       = h_asset_id
788                              AND    DD.BOOK_TYPE_CODE = h_book
789                              AND    DD.PERIOD_COUNTER = upc)));
790       else/* else */
791 
792 	SELECT
793                 SUM(COST),
794                 SUM(RESERVE),
795                 SUM(DEPRN_AMOUNT),
796                 SUM(UNITS)
797         INTO    h_cost,
798                 h_reserve,
799                 h_deprn_amount,
800                 h_units
801         FROM(
802         SELECT
803                 DECODE(DD.DEPRN_SOURCE_CODE,'B',
804                        DD.ADDITION_COST_TO_CLEAR,DD.COST)               COST,
805                 DD.DEPRN_RESERVE                                        RESERVE,
806                 DECODE(DD.PERIOD_COUNTER, upc, DD.DEPRN_AMOUNT,0)       DEPRN_AMOUNT,
807                 DH.UNITS_ASSIGNED                                       UNITS
808         FROM
809                 FA_DEPRN_DETAIL_mrc_v           DD,
810                 FA_DISTRIBUTION_HISTORY         DH,
811                 FA_BOOK_CONTROLS_mrc_v          BC  -- Added for Bug#2675646
812         WHERE
813                 DD.ASSET_ID             = h_asset_id                            AND
814                 DD.BOOK_TYPE_CODE       = h_book                                AND
815                 DD.DISTRIBUTION_ID      = DH.DISTRIBUTION_ID                    AND
816                 DD.PERIOD_COUNTER       =
817                         (SELECT MAX(DD2.PERIOD_COUNTER)
818                          FROM   FA_DEPRN_DETAIL_mrc_v DD2
819                          WHERE  DD2.BOOK_TYPE_CODE      = h_book
820                          AND    DD2.ASSET_ID            = h_asset_id
821                          AND    DD2.DISTRIBUTION_ID     = DD.DISTRIBUTION_ID
822                          AND    DD2.PERIOD_COUNTER      <= upc)
823         AND  -- Added for Bug#2675646
824                 BC.BOOK_TYPE_CODE       = h_book
825         AND
826                 DH.ASSET_ID             = h_asset_id and
827                 DH.BOOK_TYPE_CODE       = nvl(BC.DISTRIBUTION_SOURCE_BOOK,h_book)       AND
828                 DH.LOCATION_ID          = h_location_id                 AND
829                 (DH.ASSIGNED_TO         = h_assigned_to  OR
830                  (DH.ASSIGNED_TO is null and h_assigned_to is null))    AND
831                 DH.CODE_COMBINATION_ID  = h_ccid                        AND
832                 DH.DATE_EFFECTIVE               <= ucd                  AND
833                 nvl(DH.DATE_INEFFECTIVE, ucd+1) >  ucd
834         union all
835         SELECT
836                 0 COST,
837                 0 RESERVE,
838                 DECODE(DD.PERIOD_COUNTER, upc, DD.DEPRN_AMOUNT,0)       DEPRN_AMOUNT,
839                 0 UNITS
840         FROM
841                 FA_DEPRN_DETAIL_mrc_v           DD,
845         WHERE
842                 FA_DISTRIBUTION_HISTORY         DH,
843                 FA_DISTRIBUTION_HISTORY         DH_PRIOR,
844                 FA_BOOK_CONTROLS_mrc_v          BC  -- Added for Bug#2675646
846                 DD.ASSET_ID             = h_asset_id                            AND
847                 DD.BOOK_TYPE_CODE       = h_book                                AND
848                 DD.DISTRIBUTION_ID      = DH_PRIOR.DISTRIBUTION_ID                      AND
852                          FROM   FA_DEPRN_DETAIL_mrc_v DD2
849                 DH.CODE_COMBINATION_ID  = DH_PRIOR.CODE_COMBINATION_ID AND  /* Added for Bug 12996138 */
850                 DD.PERIOD_COUNTER       =
851                         (SELECT MAX(DD2.PERIOD_COUNTER)
853                          WHERE  DD2.BOOK_TYPE_CODE      = h_book
854                          AND    DD2.ASSET_ID            = h_asset_id
855                          AND    DD2.DISTRIBUTION_ID     = DD.DISTRIBUTION_ID
856                          AND    DD2.PERIOD_COUNTER      <= upc)
857         AND  -- Added for Bug#2675646
858                 BC.BOOK_TYPE_CODE       = h_book
859         AND
860                 dh.transaction_header_id_in = dh_prior.transaction_header_id_out
861         and     dh.asset_id = dh_prior.asset_id
862         and     dh.book_type_code = dh_prior.book_type_code
863         -- Bug 7565805
864         /*and
865                 DH.ASSET_ID             = h_asset_id and
866                 DH.BOOK_TYPE_CODE       = nvl(BC.DISTRIBUTION_SOURCE_BOOK,h_book)       AND
867                 DH.LOCATION_ID          = h_location_id                 AND
868                 (DH.ASSIGNED_TO         = h_assigned_to  OR
869                  (DH.ASSIGNED_TO is null and h_assigned_to is null))    AND
870                 DH.CODE_COMBINATION_ID  = h_ccid                        AND
871                 DH.DATE_EFFECTIVE               <= ucd                  AND
872                 nvl(DH.DATE_INEFFECTIVE, ucd+1) >  ucd                  */
873         UNION ALL
874         SELECT
875                 DECODE(LU.LOOKUP_CODE, 'ADDITION COST',
876                         DECODE(ADJ.DEBIT_CREDIT_FLAG, 'DR', 1, -1) *
877                                 ADJ.ADJUSTMENT_AMOUNT,0)                COST,
878                 DECODE(LU.LOOKUP_CODE,
879                         'DEPRECIATION RESERVE',
880                         DECODE(ADJ.DEBIT_CREDIT_FLAG, 'DR', -1, 1) *
881                         ADJ.ADJUSTMENT_AMOUNT, 0)                       RESERVE,
882                 0                                                       DEPRN_AMOUNT,
883                 DECODE(LU.LOOKUP_CODE,
884                         'ADDITION COST',
885                         DECODE(ADJ.DEBIT_CREDIT_FLAG, 'DR', 1, -1) *
886                         DH.UNITS_ASSIGNED,0)                            UNITS
887         FROM
888                 FA_ADJUSTMENTS_mrc_v            ADJ,
889                 FA_LOOKUPS                      LU,
890                 FA_DISTRIBUTION_HISTORY         DH,
891                 FA_BOOK_CONTROLS_mrc_v          BC  -- Added for Bug#2675646
892         WHERE
893                 LU.LOOKUP_TYPE          = 'JOURNAL ENTRIES'                     AND
894                 ((ADJ.ADJUSTMENT_TYPE IN ('COST','CIP COST') AND
895                   LU.LOOKUP_CODE = 'ADDITION COST')
896                   OR
897                  (ADJ.ADJUSTMENT_TYPE   = 'RESERVE'          AND
898                   LU.LOOKUP_CODE        = 'DEPRECIATION RESERVE'))              AND
899                 ADJ.SOURCE_TYPE_CODE NOT IN
900                         ('DEPRECIATION','ADDITION', 'CIP ADDITION')             AND
901                 ADJ.BOOK_TYPE_CODE      = h_book                                AND
902                 ADJ.ASSET_ID            = h_asset_id                            AND
903                 ADJ.DISTRIBUTION_ID     = DH.DISTRIBUTION_ID                    AND
904                 ADJ.PERIOD_COUNTER_CREATED = upc
905         AND  -- Added for Bug#2675646
906                 BC.BOOK_TYPE_CODE       = h_book
907         AND
908                 DH.ASSET_ID             = h_asset_id                            AND
909                 DH.BOOK_TYPE_CODE       = nvl(BC.DISTRIBUTION_SOURCE_BOOK,h_book) AND -- Changed from = h_book
910                 DH.LOCATION_ID          = h_location_id                         AND
911                 DH.DATE_EFFECTIVE               <= ucd                  AND
912                 nvl(DH.DATE_INEFFECTIVE, ucd+1) >  ucd                  AND
913                 (DH.ASSIGNED_to         = h_assigned_to  OR
914                  (DH.ASSIGNED_TO is null and h_assigned_to is null))    AND
915                 (NOT EXISTS (SELECT 1 FROM FA_DEPRN_DETAIL_mrc_v DD
916                              WHERE  DD.ASSET_ID       = h_asset_id
917                              AND    DD.BOOK_TYPE_CODE = h_book
918                              AND    DD.PERIOD_COUNTER = upc)));
919       END if;
920       IF (nbv IS NULL) OR
921         (h_cost - h_reserve <= nbv) THEN
922          --
923          -- Insert the data to the interface table
924          --
925         INSERT INTO fa_asset_listing_rep_itf (
926                 request_id,
927                 date_placed_in_service,
928                 deprn_method,
929                 life_yr_mo,
930                 ltd_deprn,
931                 cost,
932                 nbv,
933                 period_name,
934                 deprn_expense_acct,
935                 asset_cost_acct,
936                 account_description,
937                 company,
938                 asset_number,
939                 tag_number,
940                 serial_number,
941                 description,
942                 inventorial,
943                 cost_center,
944                 accum_deprn_acct,
945                 book_type_code,
946                 category,
947                 location,
948                 asset_key,
949                 organization_name,
950                 major_category,
951                 minor_category,
952                 employee_name,
953                 employee_number,
954                 set_of_books_id,
955                 functional_currency_code,
956                 company_description,
957                 expense_acct_description,
961                 deprn_amount,
958                 cost_center_description,
959                 category_description,
960                 adjusted_rate,
962                 percent,
963                 created_by,
964                 creation_date,
965                 last_updated_by,
966                 last_update_date,
967                 last_update_login,
968                 units,
969                 book_deprn_flag,
970                 category_deprn_flag)
971                 VALUES  (
972                 h_request_id,
973                 h_dpis,
974                 h_method_code,
978                 h_reserve,
975                 fnd_number.canonical_to_number(
976                      decode(h_life,null,null,
977                      to_char(floor(h_life/12)) || '.' || to_char(mod(h_life,12),'FM00'))),
979                 h_cost,
980                 h_cost - h_reserve,
981                 h_period,
982                 acct_all_segs(h_acct_segnum),
983                 h_asset_cost_acct,
984                 h_account_description,
985                 acct_all_segs(h_bal_segnum),
986                 h_asset_number,
987                 h_tag_number,
988                 h_serial_number,
989                 h_description,
990                 h_inventorial,
991                 acct_all_segs(h_cc_segnum),
992                 h_deprn_rsv_acct,
993                 h_book,
994                 concat_cat_str,
995                 concat_loc_str,
996                 concat_key_str,
997                 h_organization_name,
998                 h_major_category,
999                 h_minor_category,
1000                 h_emp_name,
1001                 h_emp_number,
1002                 h_set_of_books_id,
1003                 h_currency_code,
1004                 h_company_description,
1005                 h_expense_acct_description,
1006                 h_cost_center_description,
1007                 h_category_description,
1008                 h_rate,
1009                 h_deprn_amount,
1010                 h_percent,
1011                 h_user_id,
1012                 sysdate,
1013                 h_user_id,
1014                 sysdate,
1015                 login_id,
1016                 h_units,
1017                 h_book_deprn_flag,
1018                 h_category_deprn_flag);
1019         END IF;
1020         IF (g_print_debug) THEN
1021                 fa_rx_util_pkg.debug('asset_listing_run: ' || 'INSERT END');
1022         END IF;
1023         END IF; -- added for bug 2681076
1024    END LOOP;
1025 
1026    h_mesg_name := 'FA_ASSET_LISTING_SQL_CCUR';
1027 
1028     CLOSE asset_lst_rows;
1029 
1030     retcode := 0;
1031     errbuf := '';
1032     IF (g_print_debug) THEN
1033         fa_rx_util_pkg.debug('asset_listing_run: ' || 'END REPORT');
1034     END IF;
1035 
1036     -- reset GL sob id to original value before moving to next book
1037     fnd_profile.put('GL_SET_OF_BKS_ID', l_orig_set_of_books_id);
1038     fnd_client_info.set_currency_context (l_orig_currency_context);
1039     commit;
1040 EXCEPTION
1041     WHEN OTHERS THEN
1042       -- reset GL sob id to original value before moving to next book
1043       fnd_profile.put('GL_SET_OF_BKS_ID', l_orig_set_of_books_id);
1044       fnd_client_info.set_currency_context (l_orig_currency_context);
1045       fa_rx_conc_mesg_pkg.log(SQLERRM);
1046 
1047       fnd_message.set_name('OFA',h_mesg_name);
1048 
1049       IF h_mesg_name in ('FA_SHARED_DETELE_FAILED','FA_SHARED_INSERT_FAILED') THEN
1050          fnd_message.set_token('TABLE','FA_ASSET_LISTING_REP_ITF',FALSE);
1051      END IF;
1052      IF h_mesg_name = 'FA_RX_CONCAT_SEGS' THEN
1053         fnd_message.set_token('CCID',to_char(h_ccid_error),FALSE);
1054         fnd_message.set_token('FLEX_CODE',h_flex_error,FALSE);
1055      END IF;
1056 
1057      h_mesg_str := fnd_message.get;
1058      fa_rx_conc_mesg_pkg.log(h_mesg_str);
1059 END asset_listing_run;
1060 END FARX_AL;