DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_DRILLDOWN_PKG

Source


1 PACKAGE BODY FA_DRILLDOWN_PKG as
2 /* $Header: faddwnb.pls 120.3.12020000.2 2012/07/19 13:01:40 mswetha ship $   */
3 
4 PROCEDURE DRILLDOWN
5    (p_application_id       IN    INTEGER   DEFAULT NULL,
6     p_ledger_id            IN    INTEGER   DEFAULT NULL,
7     p_legal_entity_id      IN    INTEGER   DEFAULT NULL,
8     p_entity_code          IN    VARCHAR2  DEFAULT NULL,
9     p_event_class_code     IN    VARCHAR2  DEFAULT NULL,
10     p_event_type_code      IN    VARCHAR2  DEFAULT NULL,
11     p_source_id_int_1      IN    INTEGER   DEFAULT NULL,
12     p_source_id_int_2      IN    INTEGER   DEFAULT NULL,
13     p_source_id_int_3      IN    INTEGER   DEFAULT NULL,
14     p_source_id_int_4      IN    INTEGER   DEFAULT NULL,
15     p_source_id_char_1     IN    VARCHAR2  DEFAULT NULL,
16     p_source_id_char_2     IN    VARCHAR2  DEFAULT NULL,
17     p_source_id_char_3     IN    VARCHAR2  DEFAULT NULL,
18     p_source_id_char_4     IN    VARCHAR2  DEFAULT NULL,
19     p_security_id_int_1    IN    INTEGER   DEFAULT NULL,
20     p_security_id_int_2    IN    INTEGER   DEFAULT NULL,
21     p_security_id_int_3    IN    INTEGER   DEFAULT NULL,
22     p_security_id_char_1   IN    VARCHAR2  DEFAULT NULL,
23     p_security_id_char_2   IN    VARCHAR2  DEFAULT NULL,
24     p_security_id_char_3   IN    VARCHAR2  DEFAULT NULL,
25     p_valuation_method     IN    VARCHAR2  DEFAULT NULL,
26     p_user_interface_type  OUT   NOCOPY VARCHAR2,
27     p_function_name        OUT   NOCOPY VARCHAR2,
28     p_parameters           OUT   NOCOPY VARCHAR2) IS
29 
30 
31     book_type_code varchar2(100);
32     l_deprn_run_id number; --Secondary Changes
33     l_secondary_ledger  varchar2(1);
34 
35 BEGIN
36 
37   -- type = FORM / HTML
38   -- for OA Framwork, params:   '/OA_HTML/OA.jsp?OAFunc=function_name<amp>param1=value1<amp>parma2=value2';
39 
40   if (p_application_id = 140) then
41     begin
42        l_secondary_ledger := 'N';
43         SELECT 'Y'
44           INTO l_secondary_ledger
45           FROM gl_ledgers gle
46          WHERE ledger_category_code = 'SECONDARY'
47                 and ledger_id = p_ledger_id
48                AND currency_code <>
49                       (SELECT currency_code
50                          FROM gl_ledgers
51                         WHERE ledger_id =
52                                  (SELECT primary_ledger_id
53                                     FROM gl_ledger_relationships
54                                    WHERE target_ledger_id = gle.ledger_id
55                                          AND relationship_type_code = 'SUBLEDGER' and rownum < 2));
56     exception
57         when others then
58               l_secondary_ledger := 'N';
59     end;
60 
61     if (p_entity_code = 'TRANSACTIONS') then
62         if(l_secondary_ledger = 'N')then
63             p_user_interface_type := 'FORM';
64             p_function_name       := 'XLA_FAXOLTRX';
65             p_parameters          := 'FORM_USAGE_MODE="' || 'GL_DRILLDOWN'  || '"' || ' TRANSACTION_ID="' || to_char(p_source_id_int_1) || '"';
66         else
67             p_user_interface_type := 'FORM';
68             p_function_name       := 'XLA_FAXOLTRX';
69             p_parameters          := 'FORM_USAGE_MODE="' || 'GL_DRILLDOWN'  || '"' ;
70         end if;
71           -- do we need form_usage_mode and parent_form_id here?
72 
73 
74     elsif (p_entity_code = 'INTER_ASSET_TRANSACTIONS') then
75         if(l_secondary_ledger = 'N')then
76             book_type_code := replace(p_source_id_char_1,' ','~');
77             p_user_interface_type := 'FORM';
78             p_function_name       := 'XLA_FAXOLTRX';
79             p_parameters          := 'FORM_USAGE_MODE="' || 'GL_DRILLDOWN'             || '"' ||' TRX_REFERENCE_ID="' || to_char(p_source_id_int_1) || '"' ||
80 ' BOOK_TYPE_CODE ="' ||book_type_code ||'"' ;
81         else
82             p_user_interface_type := 'FORM';
83             p_function_name       := 'XLA_FAXOLTRX';
84             p_parameters          := 'FORM_USAGE_MODE="' || 'GL_DRILLDOWN'             || '"' ;
85         end if;
86     elsif (p_entity_code = 'DEPRECIATION') then
87         l_deprn_run_id := -1;
88         begin
89            select secondary_exists
90            into l_deprn_run_id
91            from (
92                        select 1 secondary_exists
93                        from fa_mc_deprn_summary
94                        where book_type_code = p_source_id_char_1
95                           and asset_id = p_source_id_int_1
96                           and period_counter = p_source_id_int_2
97                           and deprn_run_id = p_source_id_int_3
98                        union
99                        select 2 secondary_exists
100                        from fa_mc_deprn_summary_h
101                        where book_type_code = p_source_id_char_1
102                           and asset_id = p_source_id_int_1
103                           and period_counter = p_source_id_int_2
104                           and deprn_run_id = p_source_id_int_3
105                    )
106             where rownum < 2;
107         exception
108            when others then
109                       l_deprn_run_id := -1;
110         end;
111         if (l_deprn_run_id < 0  OR l_secondary_ledger = 'N') then
112             book_type_code := replace(p_source_id_char_1,' ','~');
113     	    book_type_code := utl_url.escape(book_type_code, TRUE, NULL);
114             p_user_interface_type := 'FORM';
115             p_function_name       := 'XLA_FAXOLFIN';
116             p_parameters          := 'FORM_USAGE_MODE="' || 'GL_DRILLDOWN'             || '"' ||
117                                                   ' ASSET_ID ="' || (p_source_id_int_1) || '"' ||
118                                                   ' PERIOD_COUNTER ="' || to_char(p_source_id_int_2) || '"' ||
119                                                   ' DEPRN_RUN_ID ="' || p_source_id_int_3 || '"' ||
120                                                   ' BOOK_TYPE_CODE ="' ||book_type_code ||'"' ||
121 						  ' SOB_ID ="' || (p_ledger_id) || '"';
122         else
123             book_type_code := replace(p_source_id_char_1,' ','~');
124 	    book_type_code := utl_url.escape(book_type_code, TRUE, NULL);
125             p_user_interface_type := 'FORM';
126             p_function_name       := 'XLA_FAXOLFIN';
127             p_parameters          := 'FORM_USAGE_MODE="' || 'GL_DRILLDOWN'             || '"' ||
128                                                   ' ASSET_ID ="' || (p_source_id_int_1) || '"' ||
129                                                   ' PERIOD_COUNTER ="' || to_char(p_source_id_int_2) || '"' ||
130                                                   ' BOOK_TYPE_CODE ="' ||book_type_code ||'"';
131         end if;
132     else
133         p_user_interface_type := 'NONE';
134     end if;
135 
136   end if;
137 END DRILLDOWN;
138 
139 END FA_DRILLDOWN_PKG;