[Home] [Help]
PACKAGE BODY: APPS.FEM_GENDEFAULTS_ENG_PKG
Source
1 PACKAGE BODY FEM_GENDEFAULTS_ENG_PKG AS
2 -- $Header: fem_gendflt_eng.plb 120.0 2006/07/11 18:00:13 rflippo ship $
3
4 /***************************************************************************
5 Copyright (c) 2003 Oracle Corporation
6 Redwood Shores, CA, USA
7 All rights reserved.
8 ***************************************************************************
9 FILENAME
10 fem_gendflt_eng.plb
11
12 DESCRIPTION
13 See fem_gendefaults_eng.pls for details
14
15 HISTORY
16 Rob Flippo 07-JUL-2006 Created
17
18 **************************************************************************/
19
20 -------------------------------
21 -- Declare package variables --
22 -------------------------------
23 f_set_status BOOLEAN;
24
25 c_log_level_1 CONSTANT NUMBER := fnd_log.level_statement;
26 c_log_level_2 CONSTANT NUMBER := fnd_log.level_procedure;
27 c_log_level_3 CONSTANT NUMBER := fnd_log.level_event;
28 c_log_level_4 CONSTANT NUMBER := fnd_log.level_exception;
29 c_log_level_5 CONSTANT NUMBER := fnd_log.level_error;
30 c_log_level_6 CONSTANT NUMBER := fnd_log.level_unexpected;
31
32 v_log_level NUMBER;
33
34 gv_prg_msg VARCHAR2(2000);
35 gv_callstack VARCHAR2(2000);
36 g_log_current_level NUMBER;
37
38
39 -- Private Internal Procedures
40 procedure report_errors;
41
42 -----------------------------------------------------------------------------
43 -- Package bodies for functions/procedures
44 -----------------------------------------------------------------------------
45 /*===========================================================================+
46 | PROCEDURE
47 | Report_Errors
48 |
49 | DESCRIPTION
50 | Retrieves messages from the stack and reports them to the appropriate
51 | log
52 | SCOPE - PRIVATE
53 |
54 | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
55 |
56 | ARGUMENTS : IN:
57 | OUT:
58 |
59 |
60 | NOTES
61 |
62 |
63 | MODIFICATION HISTORY
64 | Rob Flippo 02-MAY-05 Created
65 |
66 +===========================================================================*/
67 PROCEDURE Report_errors IS
68
69 v_msg_count NUMBER; -- this is the return count from FND of # messages
70 v_msg_data VARCHAR2(1000); -- this is the message value when only 1 msg
71 -- from FND
72 v_message VARCHAR2(4000);
73 v_msg_index_out NUMBER;
74 v_block CONSTANT VARCHAR2(80) :=
75 'fem.plsql.fem_refresh_eng_pkg.report_errors';
76
77
78 BEGIN
79
80 IF c_log_level_2 >= g_log_current_level THEN
81 FEM_ENGINES_PKG.Tech_Message
82 (p_severity => c_log_level_2,
83 p_module => c_block||'.'||'Report_errors',
84 p_msg_text => 'BEGIN');
85 END IF;
86
87 -- Count the number of messages on the stack
88 FND_MSG_PUB.count_and_get(p_encoded => c_false
89 ,p_count => v_msg_count
90 ,p_data => v_msg_data);
91
92
93 IF (v_msg_count = 1) THEN
94 FND_MESSAGE.Set_Encoded(v_msg_data);
95 v_message := FND_MESSAGE.Get;
96
97 FEM_ENGINES_PKG.User_Message(
98 p_msg_text => v_message);
99
100
101 IF c_log_level_1 >= g_log_current_level THEN
102 FEM_ENGINES_PKG.TECH_MESSAGE
103 (p_severity => c_log_level_1,
104 p_module => v_block||'.msg_data',
105 p_msg_text => v_message);
106 END IF;
107
108 ELSIF (v_msg_count > 1) THEN
109 FOR i IN 1..v_msg_count LOOP
110 FND_MSG_PUB.Get(
111 p_msg_index => i,
112 p_encoded => c_false,
113 p_data => v_message,
114 p_msg_index_out => v_msg_index_out);
115
116 FEM_ENGINES_PKG.User_Message(
117 p_msg_text => v_message);
118
119 IF c_log_level_1 >= g_log_current_level THEN
120 FEM_ENGINES_PKG.TECH_MESSAGE
121 (p_severity => c_log_level_1,
122 p_module => v_block||'.msg_data',
123 p_msg_text => v_message);
124 END IF;
125
126 END LOOP;
127 END IF;
128
129 FND_MSG_PUB.Initialize;
130
131 FEM_ENGINES_PKG.Tech_Message
132 (p_severity => c_log_level_2,
133 p_module => c_block||'.'||'Report_errors',
134 p_msg_text => 'END');
135
136
137 END Report_errors;
138
139
140
141
142 /*===========================================================================+
143 | PROCEDURE
144 | Main
145 |
146 | DESCRIPTION
147 |
148 |
149 |
150 | SCOPE - PUBLIC
151 |
152 | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
153 |
154 | ARGUMENTS : IN:
155 |
156 | OUT:
157 |
158 | IN/ OUT:
159 |
160 | RETURNS : NONE
161 |
162 | NOTES
163 | The purpose of this package is to create rapid prototype data for EPF.
164 | The engine creates the following:
165 | 1) A starter Cal Period member and Cal Period hierarchy
166 | 2) A starter Ledger
167 | 3) A "Default" member for every empty dimension in the database
168 | HISTORY
169 | 10-JUL-06 Rob Flippo initial creation
170 |
171 ===========================================================================*/
172 PROCEDURE Main (
173 errbuf OUT NOCOPY VARCHAR2
174 ,retcode OUT NOCOPY VARCHAR2
175 )
176
177 IS
178
179 c_proc_name CONSTANT VARCHAR2(30) := 'Main';
180
181
182
183 v_concurrent_status BOOLEAN;
184 v_execution_status VARCHAR2(30);
185
186 v_proc_return_status VARCHAR2(4000);
187 v_msg_count NUMBER;
188 v_msg_data VARCHAR2(4000);
189
190 v_appltop VARCHAR2(1000);
191 v_release VARCHAR2(100);
192 -- Nested Procedure declarations
193
194 ---------------------------------------------------------------------------
195 -- Main body of the "Main" procedure
196 ---------------------------------------------------------------------------
197 BEGIN
198
199 g_log_current_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
200
201
202 IF c_log_level_2 >= g_log_current_level THEN
203 FEM_ENGINES_PKG.TECH_MESSAGE
204 (p_severity => c_log_level_2
205 ,p_module => c_block||'.'||c_proc_name
206 ,p_msg_text => 'begin');
207 END IF;
208
209 -- initialize the message stack
210 FND_MSG_PUB.Initialize;
211
212 v_execution_status := 'SUCCESS';
213 gv_request_id := fnd_global.conc_request_id;
214
215 fem_defcalp_util_pkg.main(v_proc_return_status);
216
217 IF c_log_level_1 >= g_log_current_level THEN
218 FEM_ENGINES_PKG.TECH_MESSAGE
219 (p_severity => c_log_level_1
220 ,p_module => c_block||'.'||c_proc_name||'.v_proc_return_status'
221 ,p_msg_text => v_proc_return_status);
222 END IF;
223
224 IF v_proc_return_status <> 'SUCCESS' THEN
225 v_execution_status := 'ERROR_RERUN';
226 END IF;
227
228 FEM_Dimension_Util_Pkg.Generate_Default_Load_Member (
229 x_return_status => v_proc_return_status,
230 x_msg_count => v_msg_count,
231 x_msg_data => v_msg_data
232 );
233
234 IF c_log_level_1 >= g_log_current_level THEN
235 FEM_ENGINES_PKG.TECH_MESSAGE
236 (p_severity => c_log_level_1
237 ,p_module => c_block||'.'||c_proc_name||'.v_proc_return_status'
238 ,p_msg_text => v_proc_return_status);
239 END IF;
240
241 IF v_proc_return_status <> 'S' THEN
242 v_execution_status := 'ERROR_RERUN';
243 END IF;
244
245 Report_errors;
246
247
248
249 IF v_execution_status = 'ERROR_RERUN' THEN
250 retcode := 2;
251 FEM_ENGINES_PKG.USER_MESSAGE
252 (P_APP_NAME => c_fem
253 ,P_MSG_NAME => 'FEM_EXEC_RERUN');
254 ELSE
255 FEM_ENGINES_PKG.USER_MESSAGE
256 (P_APP_NAME => c_fem
257 ,P_MSG_NAME => 'FEM_GDFT_COMPLETION');
258
259 END IF;
260
261
262 EXCEPTION
263
264 WHEN OTHERS THEN
265 retcode := 2;
266 gv_prg_msg := sqlerrm;
267 gv_callstack := dbms_utility.format_call_stack;
268
269 IF c_log_level_6 >= g_log_current_level THEN
270 FEM_ENGINES_PKG.TECH_MESSAGE
271 (p_severity => c_log_level_6
272 ,p_module => c_block||'.'||c_proc_name||'.Unexpected Exception'
273 ,p_msg_text => gv_prg_msg);
274
275 FEM_ENGINES_PKG.TECH_MESSAGE
276 (p_severity => c_log_level_6
277 ,p_module => c_block||'.'||c_proc_name||'.Unexpected Exception'
278 ,p_msg_text => gv_callstack);
279 END IF;
280
281 FEM_ENGINES_PKG.USER_MESSAGE
282 (p_app_name => c_fem
283 ,p_msg_name => 'FEM_UNEXPECTED_ERROR'
284 ,P_TOKEN1 => 'ERR_MSG'
285 ,P_VALUE1 => gv_prg_msg);
286
287
288 END Main;
289
290 /***************************************************************************/
291
292 END FEM_GENDEFAULTS_ENG_PKG;