DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLA_MPA_JLT_ADR_ASSGNS_F_PVT

Source


1 PACKAGE BODY XLA_MPA_JLT_ADR_ASSGNS_F_PVT AS
2 /* $Header: xlathmad.pkb 120.0 2005/06/24 01:30:05 eklau noship $ */
3 
4 --=============================================================================
5 --               *********** Local Trace Routine **********
6 --=============================================================================
7 C_LEVEL_STATEMENT     CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
8 C_LEVEL_PROCEDURE     CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
9 C_LEVEL_EVENT         CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
10 C_LEVEL_EXCEPTION     CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
11 C_LEVEL_ERROR         CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
12 C_LEVEL_UNEXPECTED    CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
13 
14 C_LEVEL_LOG_DISABLED  CONSTANT NUMBER := 99;
15 C_DEFAULT_MODULE      CONSTANT VARCHAR2(240) := 'xla.plsql.XLA_MPA_JLT_ADR_ASSGNS_F_PVT';
16 
17 g_log_level           NUMBER;
18 g_log_enabled         BOOLEAN;
19 
20 PROCEDURE trace
21   (p_msg                        IN VARCHAR2
22   ,p_module                     IN VARCHAR2
23   ,p_level                      IN NUMBER) IS
24 BEGIN
25   ----------------------------------------------------------------------------
26   -- Following is for FND log.
27   ----------------------------------------------------------------------------
28   IF (p_msg IS NULL AND p_level >= g_log_level) THEN
29     fnd_log.message(p_level, p_module);
30   ELSIF p_level >= g_log_level THEN
31     fnd_log.string(p_level, p_module, p_msg);
32   END IF;
33 
34 EXCEPTION
35   WHEN xla_exceptions_pkg.application_exception THEN
36     RAISE;
37 
38   WHEN OTHERS THEN
39     xla_exceptions_pkg.raise_message
40       (p_location   => 'XLA_MPA_JLT_ADR_ASSGNS_F_PVT.trace');
41 END trace;
42 
43 
44 PROCEDURE Insert_Row (
45     x_rowid				IN OUT NOCOPY VARCHAR2,
46     x_amb_context_code			IN VARCHAR2,
47     x_application_id			IN NUMBER,
48     x_event_class_code			IN VARCHAR2,
49     x_event_type_code			IN VARCHAR2,
50     x_line_definition_owner_code	IN VARCHAR2,
51     x_line_definition_code		IN VARCHAR2,
52     x_accounting_line_type_code		IN VARCHAR2,
53     x_accounting_line_code		IN VARCHAR2,
54     x_mpa_accounting_line_type_co	IN VARCHAR2,
55     x_mpa_accounting_line_code		IN VARCHAR2,
56     x_flexfield_segment_code		IN VARCHAR2,
57     x_segment_rule_appl_id		IN NUMBER,
58     x_segment_rule_type_code		IN VARCHAR2,
59     x_segment_rule_code			IN VARCHAR2,
60     x_inherit_adr_flag			IN VARCHAR2,
61     x_creation_date			IN DATE,
62     x_created_by			IN NUMBER,
63     x_last_update_date			IN DATE,
64     x_last_updated_by			IN NUMBER,
65     x_last_update_login			IN NUMBER
66 ) IS
67 
68    Cursor C is
69    Select rowid
70      from xla_mpa_jlt_adr_assgns
71     where amb_context_code		= x_amb_context_code
72       and application_id		= x_application_id
73       and event_type_code		= x_event_type_code
74       and line_definition_owner_code	= x_line_definition_owner_code
75       and line_definition_code		= x_line_definition_code
76       and accounting_line_type_code	= x_accounting_line_type_code
77       and accounting_line_code		= x_accounting_line_code
78       and mpa_accounting_line_type_code	= x_mpa_accounting_line_type_co
79       and mpa_accounting_line_code	= x_mpa_accounting_line_code
80       and flexfield_segment_code	= x_flexfield_segment_code;
81 
82    l_log_module                    VARCHAR2(240);
83 
84 BEGIN
85    If (g_log_enabled) then
86       l_log_module := C_DEFAULT_MODULE||'.insert_row';
87    End If;
88 
89    If (C_LEVEL_PROCEDURE >= g_log_level) then
90       trace(p_msg    => 'BEGIN of procedure insert_row',
91             p_module => l_log_module,
92             p_level  => C_LEVEL_PROCEDURE);
93    End If;
94 
95    INSERT INTO XLA_MPA_JLT_ADR_ASSGNS (
96        AMB_CONTEXT_CODE,
97        APPLICATION_ID,
98        EVENT_CLASS_CODE,
99        EVENT_TYPE_CODE,
100        LINE_DEFINITION_OWNER_CODE,
101        LINE_DEFINITION_CODE,
102        ACCOUNTING_LINE_TYPE_CODE,
103        ACCOUNTING_LINE_CODE,
104        MPA_ACCOUNTING_LINE_TYPE_CODE,
105        MPA_ACCOUNTING_LINE_CODE,
106        FLEXFIELD_SEGMENT_CODE,
107        SEGMENT_RULE_APPL_ID,
108        SEGMENT_RULE_TYPE_CODE,
109        SEGMENT_RULE_CODE,
110        INHERIT_ADR_FLAG,
111        OBJECT_VERSION_NUMBER,
112        CREATION_DATE,
113        CREATED_BY,
114        LAST_UPDATE_DATE,
115        LAST_UPDATED_BY,
116        LAST_UPDATE_LOGIN
117     )
118     VALUES (
119        X_AMB_CONTEXT_CODE,
120        X_APPLICATION_ID,
121        X_EVENT_CLASS_CODE,
122        X_EVENT_TYPE_CODE,
123        X_LINE_DEFINITION_OWNER_CODE,
124        X_LINE_DEFINITION_CODE,
125        X_ACCOUNTING_LINE_TYPE_CODE,
126        X_ACCOUNTING_LINE_CODE,
127        X_MPA_ACCOUNTING_LINE_TYPE_CO,
128        X_MPA_ACCOUNTING_LINE_CODE,
129        X_FLEXFIELD_SEGMENT_CODE,
130        X_SEGMENT_RULE_APPL_ID,
131        X_SEGMENT_RULE_TYPE_CODE,
132        X_SEGMENT_RULE_CODE,
133        X_INHERIT_ADR_FLAG,
134        1,
135        X_CREATION_DATE,
136        X_CREATED_BY,
137        X_LAST_UPDATE_DATE,
138        X_LAST_UPDATED_BY,
139        X_LAST_UPDATE_LOGIN);
140 
141    Open  C;
142    Fetch C into x_rowid;
143 
144    If (C%NOTFOUND) then
145       Close C;
146       Raise NO_DATA_FOUND;
147    End If;
148    Close C;
149 
150    If (C_LEVEL_PROCEDURE >= g_log_level) then
151       trace(p_msg    => 'END of procedure insert_row',
152             p_module => l_log_module,
153             p_level  => C_LEVEL_PROCEDURE);
154    End If;
155 
156 END Insert_Row;
157 
158 
159 PROCEDURE Update_Row (
160     x_amb_context_code			IN VARCHAR2,
161     x_application_id			IN NUMBER,
162     x_event_type_code			IN VARCHAR2,
163     x_line_definition_owner_code	IN VARCHAR2,
164     x_line_definition_code		IN VARCHAR2,
165     x_accounting_line_type_code		IN VARCHAR2,
166     x_accounting_line_code		IN VARCHAR2,
167     x_mpa_accounting_line_type_co	IN VARCHAR2,
168     x_mpa_accounting_line_code		IN VARCHAR2,
169     x_flexfield_segment_code		IN VARCHAR2,
170     x_segment_rule_appl_id		IN NUMBER,
171     x_segment_rule_type_code		IN VARCHAR2,
172     x_segment_rule_code			IN VARCHAR2,
173     x_inherit_adr_flag			IN VARCHAR2,
174     x_last_update_date			IN DATE,
175     x_last_updated_by			IN NUMBER,
176     x_last_update_login			IN NUMBER
177 ) IS
178 
179    l_log_module		varchar2(240);
180 
181 BEGIN
182 
183    IF g_log_enabled THEN
184      l_log_module := C_DEFAULT_MODULE||'.update_row';
185    END IF;
186 
187    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
188       trace(p_msg    => 'BEGIN of procedure update_row',
189             p_module => l_log_module,
190             p_level  => C_LEVEL_PROCEDURE);
191    END IF;
192 
193    UPDATE XLA_MPA_JLT_ADR_ASSGNS
194       SET segment_rule_appl_id		= x_segment_rule_appl_id,
195           segment_rule_type_code	= x_segment_rule_type_code,
196           segment_rule_code		= x_segment_rule_code,
197 	  inherit_adr_flag		= x_inherit_adr_flag,
198 	  last_update_date		= x_last_update_date,
199 	  object_version_number		= object_version_number + 1,
200 	  last_updated_by		= x_last_updated_by,
201 	  last_update_login		= x_last_update_login
202     WHERE amb_context_code		= x_amb_context_code
203       and application_id		= x_application_id
204       and event_type_code		= x_event_type_code
205       and line_definition_owner_code	= x_line_definition_owner_code
206       and line_definition_code		= x_line_definition_code
207       and accounting_line_type_code	= x_accounting_line_type_code
208       and accounting_line_code		= x_accounting_line_code
209       and mpa_accounting_line_type_code	= x_mpa_accounting_line_type_co
210       and mpa_accounting_line_code	= x_mpa_accounting_line_code
211       and flexfield_segment_code	= x_flexfield_segment_code;
212 
213     IF ( SQL%NOTFOUND ) THEN
214         RAISE NO_DATA_FOUND;
215     END IF;
216 
217    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
218      trace(p_msg    => 'END of procedure update_row',
219            p_module => l_log_module,
220            p_level  => C_LEVEL_PROCEDURE);
221    END IF;
222 
223 END Update_Row;
224 
225 
226 PROCEDURE Lock_Row (
227     x_amb_context_code			IN VARCHAR2,
228     x_application_id			IN NUMBER,
229     x_event_type_code			IN VARCHAR2,
230     x_line_definition_owner_code	IN VARCHAR2,
231     x_line_definition_code		IN VARCHAR2,
232     x_accounting_line_type_code		IN VARCHAR2,
233     x_accounting_line_code		IN VARCHAR2,
234     x_mpa_accounting_line_type_co	IN VARCHAR2,
235     x_mpa_accounting_line_code		IN VARCHAR2,
236     x_flexfield_segment_code		IN VARCHAR2,
237     x_segment_rule_appl_id		IN NUMBER,
238     x_segment_rule_type_code		IN VARCHAR2,
239     x_segment_rule_code			IN VARCHAR2,
240     x_inherit_adr_flag			IN VARCHAR2
241 ) IS
242 
243    Cursor C is
244    Select *
245      from xla_mpa_jlt_adr_assgns
246     where amb_context_code			= x_amb_context_code
247       and application_id			= x_application_id
248       and event_type_code			= x_event_type_code
249       and line_definition_owner_code		= x_line_definition_owner_code
250       and line_definition_code			= x_line_definition_code
251       and accounting_line_type_code		= x_accounting_line_type_code
252       and accounting_line_code			= x_accounting_line_code
253       and mpa_accounting_line_type_code		= x_mpa_accounting_line_type_co
254       and mpa_accounting_line_code		= x_mpa_accounting_line_code
255       and flexfield_segment_code		= x_flexfield_segment_code
256       for update of event_class_code nowait;
257 
258    l_rec		C%ROWTYPE;
259    l_log_module		varchar2(240);
260 
261 BEGIN
262    If g_log_enabled then
263       l_log_module := C_DEFAULT_MODULE||'.lock_row';
264    End If;
265 
266    If (C_LEVEL_PROCEDURE >= g_log_level) then
267       trace(p_msg    => 'BEGIN of procedure lock_row',
268             p_module => l_log_module,
269             p_level  => C_LEVEL_PROCEDURE);
270    End If;
271 
272    Open  C;
273    Fetch C into l_rec;
274    If (C%NOTFOUND) then
275       Close C;
276       fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
277       app_exception.raise_exception;
278    End If;
279    Close C;
280 
281    IF (nvl(l_rec.inherit_adr_flag,'@') = nvl(x_inherit_adr_flag,'@') AND
282        nvl(l_rec.segment_rule_appl_id,1) = nvl(x_segment_rule_appl_id,1) AND
283        nvl(l_rec.segment_rule_type_code,'@') = nvl(x_segment_rule_type_code,'@') AND
284        nvl(l_rec.segment_rule_code,'@') = nvl(x_segment_rule_code,'@')) then
285       NULL;
286    ELSE
287       fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
288       app_exception.raise_exception;
289    END IF;
290 
291    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
292       trace(p_msg    => 'END of procedure lock_row',
293             p_module => l_log_module,
294             p_level  => C_LEVEL_PROCEDURE);
295    END IF;
296 END Lock_Row;
297 
298 
299 
300 PROCEDURE Delete_Row (
301     x_amb_context_code			IN VARCHAR2,
302     x_application_id			IN NUMBER,
303     x_event_type_code			IN VARCHAR2,
304     x_line_definition_owner_code	IN VARCHAR2,
305     x_line_definition_code		IN VARCHAR2,
306     x_accounting_line_type_code		IN VARCHAR2,
307     x_accounting_line_code		IN VARCHAR2,
308     x_mpa_accounting_line_type_co	IN VARCHAR2,
309     x_mpa_accounting_line_code		IN VARCHAR2,
310     x_flexfield_segment_code		IN VARCHAR2
311 ) IS
312 
313    l_log_module       VARCHAR2(240);
314 
315 BEGIN
316    If g_log_enabled then
317       l_log_module := C_DEFAULT_MODULE||'.delete_row';
318    End If;
319 
320    If (C_LEVEL_PROCEDURE >= g_log_level) then
321       trace(p_msg    => 'BEGIN of procedure delete_row',
322             p_module => l_log_module,
323             p_level  => C_LEVEL_PROCEDURE);
324    End If;
325 
326 
327    DELETE XLA_MPA_JLT_ADR_ASSGNS
328     where amb_context_code		= x_amb_context_code
329       and application_id		= x_application_id
330       and event_type_code		= x_event_type_code
331       and line_definition_owner_code	= x_line_definition_owner_code
332       and line_definition_code		= x_line_definition_code
333       and accounting_line_type_code	= x_accounting_line_type_code
334       and accounting_line_code		= x_accounting_line_code
335       and mpa_accounting_line_type_code	= x_mpa_accounting_line_type_co
336       and mpa_accounting_line_code	= x_mpa_accounting_line_code
337       and flexfield_segment_code	= x_flexfield_segment_code;
338 
339 
340     If ( SQL%NOTFOUND ) then
341        Raise NO_DATA_FOUND;
342     End If;
343 
344     If (C_LEVEL_PROCEDURE >= g_log_level) then
345        trace(p_msg    => 'END of procedure delete_row',
346              p_module => l_log_module,
347              p_level  => C_LEVEL_PROCEDURE);
348     End If;
349 
350 END Delete_Row;
351 
352 
353 END XLA_MPA_JLT_ADR_ASSGNS_F_PVT;