[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;