DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_CN_GBI_EXPORT_PKG

Source


1 PACKAGE BODY JA_CN_GBI_EXPORT_PKG AS
2 --$Header: JACNGBIB.pls 120.3 2010/05/20 04:35:23 jianliu noship $
3 --+=======================================================================+
4 --|               Copyright (c) 1998 Oracle Corporation                   |
5 --|                       Redwood Shores, CA, USA                         |
6 --|                         All rights reserved.                          |
7 --+=======================================================================+
8 --| FILENAME                                                              |
9 --|     JACNGBIB.pls                                                      |
10 --|                                                                       |
11 --| DESCRIPTION                                                           |
12 --|     Use this package to export GL Basic Information                   |
13 --|                                                                       |
14 --| PROCEDURE LIST                                                        |
15 --|      PROCEDURE Add_GL_Basic_Info                                      |
16 --|                                                                       |
17 --|                                                                       |
18 --| HISTORY                                                               |
19 --|     02/20/2010 Jason Liu       Created                                |
20 --+======================================================================*/
21 GV_MODULE_PREFIX VARCHAR2(100) := 'JA_CN_GBI_EXPORT_PKG';
22 
23 --==========================================================================
24 --  PROCEDURE NAME:
25 --
26 --    Add_GL_Basic_Info                        Public
27 --
28 --  DESCRIPTION:
29 --
30 --    This procedure is to export GL basic information
31 --
32 --  PARAMETERS:
33 --      In:  pn_coa_id           chart of account id
34 --           pn_cfs_report_id    cash flow statement report id
35 --  DESIGN REFERENCES:
36 --    CNAO_V2_GL_TD.doc
37 --
38 --  CHANGE HISTORY:
39 --
40 --           20-FEB-2010   Jason Liu  created
41 
42 
43 PROCEDURE Add_GL_Basic_Info
44 (pn_coa_id        NUMBER
45 ,pn_cfs_report_id NUMBER
46 )
47 IS
48 lv_procedure_name      VARCHAR2(40) := 'Add_GL_Basic_Info';
49 ln_dbg_level           NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
50 ln_proc_level          NUMBER := FND_LOG.LEVEL_PROCEDURE;
51 ln_statement_level     NUMBER := FND_LOG.LEVEL_STATEMENT;
52 NO_DATA                EXCEPTION;
53 lv_separator           VARCHAR2(1);
54 lv_account_structure   VARCHAR2(200);
55 lv_cash_flow_item_rule VARCHAR2(10);
56 
57 -- to get the cash flow items
58 CURSOR gl_basic_info_cur
59 ( pn_coa_id      NUMBER
60 )
61 IS
62 SELECT
63   fifs.concatenated_segment_delimiter separator
64 , jcask.concatenated_segments         account_structure
65 FROM
66   FND_ID_FLEX_STRUCTURES       fifs
67 , ja_cn_account_structures_kfv jcask
68 , ja_cn_sub_acc_sources_all    jcsasa
69 WHERE  fifs.id_flex_num = jcask.structure_id
70   AND  jcask.account_structure_id = jcsasa.accounting_struct_id
71   AND  jcsasa.chart_of_accounts_id = pn_coa_id;
72 
73 CURSOR cash_flow_item_rule_cur
74 ( pn_cfs_report_id      NUMBER
75 )
76 IS
77 SELECT length(MAX(rra.axis_seq))
78 FROM
79   rg_reports     rr
80 , rg_report_axes rra
81 WHERE  rr.report_id = pn_cfs_report_id
82   AND  rr.ROW_SET_ID = rra.axis_set_id;
83 
84 BEGIN
85   --logging for debug
86   IF (ln_proc_level >= ln_dbg_level)
87   THEN
88     FND_LOG.STRING(ln_proc_level,
89                    GV_MODULE_PREFIX || '.' || lv_procedure_name ||
90                    '.begin',
91                    'Enter procedure');
92     -- logging the parameters
93     FND_LOG.STRING(ln_proc_level,
94                    lv_procedure_name ||
95                    '.parameters',
96                    'pn_coa_id=' || pn_coa_id || ',' ||
97                    'pn_cfs_report_id=' || pn_cfs_report_id);
98   END IF; --(ln_proc_level >= ln_dbg_level)
99 
100   FND_FILE.put_line(FND_FILE.log, lv_procedure_name ||
101                    '.parameters:' ||
102                    'pn_coa_id=' || pn_coa_id || ',' ||
103                    'pn_cfs_report_id=' || pn_cfs_report_id);
104 
105   -- retrive the separator, account structure
106   OPEN gl_basic_info_cur(pn_coa_id);
107   FETCH gl_basic_info_cur INTO lv_separator, lv_account_structure;
108   CLOSE gl_basic_info_cur;
109 
110   -- retrive the cash flow item rule
111   OPEN cash_flow_item_rule_cur(pn_cfs_report_id);
112   FETCH cash_flow_item_rule_cur INTO lv_cash_flow_item_rule;
113   CLOSE cash_flow_item_rule_cur;
114 
115   --logging the variables
116   IF (ln_statement_level >= ln_dbg_level)
117   THEN
118     FND_LOG.STRING(ln_statement_level,
119                    lv_procedure_name,
120                    'lv_separator=' || lv_separator || ',' ||
121                    'lv_account_structure=' || lv_account_structure  || ',' ||
122                    'lv_cash_flow_item_rule=' || lv_cash_flow_item_rule);
123   END IF;  --(ln_statement_level >= ln_dbg_level)
124 
125   FND_FILE.put_line(FND_FILE.log, lv_procedure_name ||
126                    '.variables:' ||
127                    'lv_separator=' || lv_separator || ',' ||
128                    'lv_account_structure=' || lv_account_structure  || ',' ||
129                    'lv_cash_flow_item_rule=' || lv_cash_flow_item_rule);
130 
131   IF(lv_separator IS NULL OR lv_account_structure IS NULL)
132   THEN
133     Ja_Cn_Utility.Print_No_Data_Found_For_Log('GL_BASIC_INFORMATION');
134   END IF; --(lv_separator IS NULL OR lv_account_structure IS NULL)
135   -- add to XML document
136   Ja_Cn_Utility.Add_Sub_Root_Node('GL_BASIC_INFORMATION',
137                                   Ja_Cn_Utility.GV_TAG_TYPE_START);
138 
139   -- separator is a fixed length: 1
140   Ja_Cn_Utility.Add_Fixed_Child_Node('SEPARATOR',
141                                      lv_separator,
142                                      1);
143 
144   Ja_Cn_Utility.Add_Child_Node('ACCOUNT_STRUCTURE',
145                                lv_account_structure);
146   Ja_Cn_Utility.Add_Child_Node('CASH_FLOW_ITEM_RULE',
147                                lv_cash_flow_item_rule);
148 
149   -- for the last four elements, always set to NULL;
150   Ja_Cn_Utility.Add_Child_Node('JOURNAL_HEADER_FLEXFIELD',
151                                NULL);
152   Ja_Cn_Utility.Add_Child_Node('RECORDS_OF_JH_FLEXFIELD',
153                                NULL);
154   Ja_Cn_Utility.Add_Child_Node('JOURNAL_LINE_FLEXFIELD',
155                                NULL);
156   Ja_Cn_Utility.Add_Child_Node('RECORDS_OF_JL_FLEXFIELD',
157                                NULL);
158 
159   Ja_Cn_Utility.Add_Sub_Root_Node('GL_BASIC_INFORMATION',
160                                   Ja_Cn_Utility.GV_TAG_TYPE_END);
161 
162   --logging for debug
163   IF (ln_proc_level >= ln_dbg_level)
164   THEN
165     FND_LOG.STRING(ln_proc_level,
166                    GV_MODULE_PREFIX || '.' || lv_procedure_name || '.end',
167                    'Exit procedure');
168   END IF; -- (ln_proc_level>=ln_dbg_level)
169 EXCEPTION
170   WHEN OTHERS THEN
171     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
172     THEN
173       FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
174                      GV_MODULE_PREFIX || '.' || lv_procedure_name ||
175                      '.Other_Exception ',
176                      SQLCODE || SQLERRM);
177     END IF; -- (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
178     FND_FILE.put_line(FND_FILE.log, lv_procedure_name || SQLCODE || SQLERRM);
179     RAISE;
180 END Add_GL_Basic_Info;
181 
182 END JA_CN_GBI_EXPORT_PKG;