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