[Home] [Help]
PACKAGE BODY: APPS.AME_ACTIONS_API
Source
1 PACKAGE BODY AME_ACTIONS_API AS
2 /* $Header: ameanapi.pkb 120.8.12000000.2 2007/04/19 08:04:56 prasashe noship $ */
3 procedure OWNER_TO_WHO (
4 X_OWNER in VARCHAR2,
5 X_CREATED_BY out nocopy NUMBER,
6 X_LAST_UPDATED_BY out nocopy NUMBER,
7 X_LAST_UPDATE_LOGIN out nocopy NUMBER
8 ) is
9 begin
10 X_CREATED_BY := AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER);
11 X_LAST_UPDATED_BY := AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER);
12 X_LAST_UPDATE_LOGIN := 0;
13 end OWNER_TO_WHO;
14 procedure KEY_TO_IDS (
15 X_ACTION_TYPE_NAME in VARCHAR2,
16 X_PARAMETER_TWO in VARCHAR2,
17 X_PARAMETER in out nocopy VARCHAR2,
18 X_ACTION_ID out nocopy NUMBER,
19 X_ACTION_ROWID out nocopy VARCHAR2,
20 X_ACTION_TYPE_ID out nocopy NUMBER,
21 X_CURRENT_OWNER out nocopy NUMBER,
22 X_CURRENT_LAST_UPDATE_DATE out nocopy VARCHAR2,
23 X_CURRENT_OVN out nocopy NUMBER
24 ) is
25 cursor CSR_GET_ACTION_TYPE_ID
26 (
27 X_ACTION_TYPE_NAME in VARCHAR2
28 ) is
29 select ACTION_TYPE_ID
30 from AME_ACTION_TYPES
31 where NAME = X_ACTION_TYPE_NAME
32 and sysdate between START_DATE
33 and nvl(END_DATE - (1/86400), sysdate);
34 cursor CSR_GET_CURRENT_ACTION
35 (
36 X_ACTION_TYPE_ID in NUMBER,
37 X_PARAMETER in VARCHAR2,
38 X_PARAMETER_TWO in VARCHAR2
39 ) is select ACTION_ID, ROWID,
40 LAST_UPDATED_BY,
41 to_char(LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
42 nvl(OBJECT_VERSION_NUMBER,1)
43 from AME_ACTIONS
44 where ACTION_TYPE_ID = X_ACTION_TYPE_ID
45 and nvl(PARAMETER,'NULL') = nvl(X_PARAMETER,'NULL')
46 and nvl(PARAMETER_TWO,'NULL') = nvl(X_PARAMETER_TWO,'NULL')
47 and sysdate between START_DATE
48 and nvl(END_DATE - (1/86400), sysdate)
49 order by LAST_UPDATE_DATE desc;
50 cursor CSR_GET_APPROVAL_GROUP_ID
51 (
52 X_APPROVAL_GROUP_NAME in VARCHAR2
53 ) is
54 select APPROVAL_GROUP_ID
55 from AME_APPROVAL_GROUPS
56 where NAME = X_APPROVAL_GROUP_NAME
57 and sysdate between START_DATE
58 and nvl(end_date - (1/86400), sysdate);
59 L_PARAMETER NUMBER;
60 begin
61 X_CURRENT_OVN := 1;
62 open CSR_GET_ACTION_TYPE_ID (
63 X_ACTION_TYPE_NAME
64 );
65 fetch CSR_GET_ACTION_TYPE_ID into X_ACTION_TYPE_ID;
66 if (CSR_GET_ACTION_TYPE_ID%notfound) then
67 X_ACTION_TYPE_ID := null;
68 end if;
69 close CSR_GET_ACTION_TYPE_ID;
70
71 if X_ACTION_TYPE_ID is not null
72 then
73 --
74 -- Determine if the action type is one that is based on groups.
75 --
76 if X_ACTION_TYPE_NAME in ('approval-group chain of authority'
77 ,'pre-chain-of-authority approvals'
78 ,'post-chain-of-authority approvals'
79 ) then
80 open CSR_GET_APPROVAL_GROUP_ID(X_PARAMETER);
81 fetch CSR_GET_APPROVAL_GROUP_ID into L_PARAMETER;
82 if (CSR_GET_APPROVAL_GROUP_ID%found) then
83 X_PARAMETER := TO_CHAR(L_PARAMETER);
84 else
85 X_PARAMETER := null;
86 end if;
87 close CSR_GET_APPROVAL_GROUP_ID;
88 end if;
89 open CSR_GET_CURRENT_ACTION (
90 X_ACTION_TYPE_ID,
91 X_PARAMETER,
92 X_PARAMETER_TWO
93 );
94 fetch CSR_GET_CURRENT_ACTION into X_ACTION_ID, X_ACTION_ROWID,
95 X_CURRENT_OWNER, X_CURRENT_LAST_UPDATE_DATE,X_CURRENT_OVN;
96 if (CSR_GET_CURRENT_ACTION%notfound) then
97 X_ACTION_ROWID := null;
98 end if;
99 close CSR_GET_CURRENT_ACTION;
100 end if;
101 end KEY_TO_IDS;
102 function DO_UPDATE_INSERT(X_OWNER in NUMBER,
103 X_CURRENT_OWNER in NUMBER,
104 X_LAST_UPDATE_DATE in VARCHAR2,
105 X_CURRENT_LAST_UPDATE_DATE in VARCHAR2,
106 X_CUSTOM_MODE in VARCHAR2 default null)
107 return boolean as
108 begin
109 if X_CUSTOM_MODE = 'FORCE' then
110 return true;
111 end if;
112 return AME_SEED_UTILITY.MERGE_ROW_TEST
113 (X_OWNER => X_OWNER
114 ,X_CURRENT_OWNER => X_CURRENT_OWNER
115 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
116 ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
117 ,X_CUSTOM_MODE => X_CUSTOM_MODE
118 );
119 end DO_UPDATE_INSERT;
120 function DO_TL_UPDATE_INSERT(X_OWNER in NUMBER,
121 X_CURRENT_OWNER in NUMBER,
122 X_LAST_UPDATE_DATE in VARCHAR2,
123 X_CURRENT_LAST_UPDATE_DATE in VARCHAR2,
124 X_CREATED_BY in VARCHAR2,
125 X_CUSTOM_MODE in VARCHAR2 default null)
126 return boolean as
127 begin
128 if X_CUSTOM_MODE = 'FORCE' then
129 return true;
130 end if;
131 if AME_SEED_UTILITY.IS_SEED_USER(X_CREATED_BY) then
132 return true;
133 else
134 return AME_SEED_UTILITY.TL_MERGE_ROW_TEST
135 (X_OWNER => X_OWNER
136 ,X_CURRENT_OWNER => X_CURRENT_OWNER
137 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
138 ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
139 ,X_CUSTOM_MODE => X_CUSTOM_MODE
140 );
141 end if;
142 return(false);
143 end DO_TL_UPDATE_INSERT;
144 procedure INSERT_ROW (
145 X_ACTION_ID in NUMBER,
146 X_ACTION_TYPE_ID in NUMBER,
147 X_PARAMETER in VARCHAR2,
148 X_PARAMETER_TWO in VARCHAR2,
149 X_CREATED_BY in NUMBER,
150 X_CREATION_DATE in DATE,
151 X_LAST_UPDATED_BY in NUMBER,
152 X_LAST_UPDATE_DATE in DATE,
153 X_LAST_UPDATE_LOGIN in NUMBER,
154 X_START_DATE in DATE,
155 X_DESCRIPTION in VARCHAR2,
156 X_OBJECT_VERSION_NUMBER in NUMBER
157 )
158 is
159 begin
160 insert into AME_ACTIONS
161 (
162 ACTION_ID,
163 ACTION_TYPE_ID,
164 PARAMETER,
165 PARAMETER_TWO,
166 CREATED_BY,
167 CREATION_DATE,
168 LAST_UPDATED_BY,
169 LAST_UPDATE_DATE,
170 LAST_UPDATE_LOGIN,
171 START_DATE,
172 END_DATE,
173 DESCRIPTION,
174 OBJECT_VERSION_NUMBER
175 ) values (
176 X_ACTION_ID,
177 X_ACTION_TYPE_ID,
178 X_PARAMETER,
179 X_PARAMETER_TWO,
180 X_CREATED_BY,
181 X_CREATION_DATE,
182 X_LAST_UPDATED_BY,
183 X_LAST_UPDATE_DATE,
184 X_LAST_UPDATE_LOGIN,
185 X_START_DATE,
186 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
187 X_DESCRIPTION,
188 X_OBJECT_VERSION_NUMBER);
189 end INSERT_ROW;
190
191 procedure INSERT_TL_ROW (
192 X_ACTION_ID in NUMBER,
193 X_DESCRIPTION in VARCHAR2,
194 X_CREATED_BY in NUMBER,
195 X_CREATION_DATE in DATE,
196 X_LAST_UPDATED_BY in NUMBER,
197 X_LAST_UPDATE_DATE in DATE,
198 X_LAST_UPDATE_LOGIN in NUMBER) is
199 begin
200 if not AME_SEED_UTILITY.MLS_ENABLED then
201 return;
202 end if;
203 insert into AME_ACTIONS_TL
204 (ACTION_ID
205 ,DESCRIPTION
206 ,CREATED_BY
207 ,CREATION_DATE
208 ,LAST_UPDATED_BY
209 ,LAST_UPDATE_DATE
210 ,LAST_UPDATE_LOGIN
211 ,LANGUAGE
212 ,SOURCE_LANG
213 ) select X_ACTION_ID,
214 X_DESCRIPTION,
215 X_CREATED_BY,
216 X_CREATION_DATE,
217 X_LAST_UPDATED_BY,
218 X_LAST_UPDATE_DATE,
219 X_LAST_UPDATE_LOGIN,
220 L.LANGUAGE_CODE,
221 userenv('LANG')
222 from FND_LANGUAGES L
223 where L.INSTALLED_FLAG in ('I', 'B')
224 and not exists (select null
225 from AME_ACTIONS_TL T
226 where T.ACTION_ID = X_ACTION_ID
227 and T.LANGUAGE = L.LANGUAGE_CODE);
228 END insert_tl_row;
229
230 procedure UPDATE_TL_ROW (
231 X_ACTION_ID in NUMBER,
232 X_DESCRIPTION in VARCHAR2,
233 X_CREATED_BY in NUMBER,
234 X_CREATION_DATE in DATE,
235 X_LAST_UPDATED_BY in NUMBER,
236 X_LAST_UPDATE_DATE in DATE,
237 X_LAST_UPDATE_LOGIN in NUMBER,
238 X_CUSTOM_MODE in VARCHAR2) is
239 X_CURRENT_OWNER NUMBER;
240 X_CURRENT_LAST_UPDATE_DATE DATE;
241 begin
242 if not AME_SEED_UTILITY.MLS_ENABLED then
243 return;
244 end if;
245
246 select LAST_UPDATED_BY,
247 LAST_UPDATE_DATE
248 into X_CURRENT_OWNER,
249 X_CURRENT_LAST_UPDATE_DATE
250 FROM AME_ACTIONS_TL
251 WHERE ACTION_ID = X_ACTION_ID
252 AND LANGUAGE = USERENV('LANG');
253
254 if DO_UPDATE_INSERT
255 (X_LAST_UPDATED_BY
256 ,X_CURRENT_OWNER
257 ,AME_SEED_UTILITY.DATE_AS_STRING(X_LAST_UPDATE_DATE)
258 ,AME_SEED_UTILITY.DATE_AS_STRING(X_CURRENT_LAST_UPDATE_DATE)
259 ,X_CUSTOM_MODE) then
260 update AME_ACTIONS_TL
261 set DESCRIPTION = nvl(X_DESCRIPTION,DESCRIPTION),
262 SOURCE_LANG = userenv('LANG'),
263 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
264 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
265 LAST_UPDATE_LOGIN = 0
266 where ACTION_ID = X_ACTION_ID
267 and userenv('LANG') in (LANGUAGE,SOURCE_LANG);
268 end if;
269 exception
270 when no_data_found then
271 null;
272 end UPDATE_TL_ROW;
273
274 procedure UPDATE_ROW (
275 X_ACTION_ROWID in VARCHAR2,
276 X_END_DATE in DATE)
277 is
278 begin
279 update AME_ACTIONS set
280 END_DATE = X_END_DATE
281 where ROWID = X_ACTION_ROWID;
282 end UPDATE_ROW;
283
284 procedure FORCE_UPDATE_ROW (
285 X_ROWID in VARCHAR2,
286 X_DESCRIPTION in VARCHAR2,
287 X_CREATED_BY in NUMBER,
288 X_CREATION_DATE in DATE,
289 X_LAST_UPDATED_BY in NUMBER,
290 X_LAST_UPDATE_DATE in DATE,
291 X_LAST_UPDATE_LOGIN in NUMBER,
292 X_START_DATE in DATE,
293 X_END_DATE in DATE,
294 X_OBJECT_VERSION_NUMBER in NUMBER
295 ) is
296 begin
297 update AME_ACTIONS
298 set DESCRIPTION = X_DESCRIPTION,
299 CREATED_BY = X_CREATED_BY,
300 CREATION_DATE = X_CREATION_DATE,
301 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
302 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
303 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
304 START_DATE = X_START_DATE,
305 END_DATE = X_END_DATE,
306 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
307 where ROWID = X_ROWID;
308 end FORCE_UPDATE_ROW;
309
310 procedure DELETE_ROW (
311 X_ACTION_ID in NUMBER
312 ) is
313 begin
314 if AME_SEED_UTILITY.MLS_ENABLED then
315 delete from AME_ACTIONS_TL
316 where ACTION_ID = X_ACTION_ID;
317 end if;
318 delete from AME_ACTIONS
319 where ACTION_ID = X_ACTION_ID;
320 if (sql%notfound) then
321 raise no_data_found;
322 end if;
323 end DELETE_ROW;
324 procedure LOAD_ROW (
325 X_ACTION_TYPE_NAME in VARCHAR2,
326 X_PARAMETER in VARCHAR2,
327 X_PARAMETER_TWO in VARCHAR2,
328 X_DESCRIPTION in VARCHAR2,
329 X_OWNER in VARCHAR2,
330 X_LAST_UPDATE_DATE in VARCHAR2,
331 X_CUSTOM_MODE in VARCHAR2
332 )
333 is
334 X_ACTION_ID NUMBER;
335 X_ACTION_ROWID ROWID;
336 X_ACTION_TYPE_ID NUMBER;
337 X_CREATED_BY NUMBER;
338 X_CURRENT_LAST_UPDATE_DATE VARCHAR2(19);
339 X_CURRENT_OWNER NUMBER;
340 X_LAST_UPDATED_BY NUMBER;
341 X_LAST_UPDATE_LOGIN NUMBER;
342 L_PARAMETER VARCHAR2(320);
343 X_CURRENT_OVN NUMBER;
344 begin
345 -- retrieve information for the current row
346 L_PARAMETER := X_PARAMETER;
347 KEY_TO_IDS (
348 X_ACTION_TYPE_NAME,
349 X_PARAMETER_TWO,
350 L_PARAMETER,
351 X_ACTION_ID,
352 X_ACTION_ROWID,
353 X_ACTION_TYPE_ID,
354 X_CURRENT_OWNER,
355 X_CURRENT_LAST_UPDATE_DATE,
356 X_CURRENT_OVN
357 );
358 -- obtain who column details
359 OWNER_TO_WHO (
360 X_OWNER,
361 X_CREATED_BY,
362 X_LAST_UPDATED_BY,
363 X_LAST_UPDATE_LOGIN
364 );
365 begin
366 -- the current row was not found insert a new row
367 if X_ACTION_TYPE_ID is not null then
368 if X_ACTION_ROWID is null then
369 if X_ACTION_ID is null then
370 select ame_actions_s.nextval
371 into X_ACTION_ID
372 from dual;
373 end if;
374 INSERT_ROW (
375 X_ACTION_ID,
376 X_ACTION_TYPE_ID,
377 L_PARAMETER,
378 X_PARAMETER_TWO,
379 X_CREATED_BY,
380 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
381 X_LAST_UPDATED_BY,
382 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
383 X_LAST_UPDATE_LOGIN,
384 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
385 X_DESCRIPTION,
386 1
387 );
388 INSERT_TL_ROW
389 (
390 X_ACTION_ID,
391 X_DESCRIPTION,
392 X_CREATED_BY,
393 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
394 X_LAST_UPDATED_BY,
395 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
396 X_LAST_UPDATE_LOGIN
397 );
398 else
399 if X_CUSTOM_MODE = 'FORCE' then
400 FORCE_UPDATE_ROW
401 (
402 X_ACTION_ROWID,
403 X_DESCRIPTION,
404 X_CREATED_BY,
405 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
406 X_LAST_UPDATED_BY,
407 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
408 X_LAST_UPDATE_LOGIN,
412 );
409 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
410 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
411 X_CURRENT_OVN + 1
413 UPDATE_TL_ROW
414 (
415 X_ACTION_ID,
416 X_DESCRIPTION,
417 X_CREATED_BY,
418 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
419 X_LAST_UPDATED_BY,
420 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
421 X_LAST_UPDATE_LOGIN,
422 X_CUSTOM_MODE
423 );
424 else
425 -- the current row was found end date the current row
426 -- insert a row with the same action type id
427 if DO_UPDATE_INSERT(AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
428 X_CURRENT_OWNER,
429 X_LAST_UPDATE_DATE,
430 X_CURRENT_LAST_UPDATE_DATE) then
431 UPDATE_ROW (
432 X_ACTION_ROWID,
433 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS')-(1/86400));
434 INSERT_ROW (
435 X_ACTION_ID,
436 X_ACTION_TYPE_ID,
437 L_PARAMETER,
438 X_PARAMETER_TWO,
439 X_CREATED_BY,
440 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
441 X_LAST_UPDATED_BY,
442 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
443 X_LAST_UPDATE_LOGIN,
444 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
445 X_DESCRIPTION,
446 X_CURRENT_OVN + 1
447 );
448 UPDATE_TL_ROW
449 (
450 X_ACTION_ID,
451 X_DESCRIPTION,
452 X_CREATED_BY,
453 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
454 X_LAST_UPDATED_BY,
455 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
456 X_LAST_UPDATE_LOGIN,
457 X_CUSTOM_MODE
458 );
459 end if;
460 end if;
461 end if;
462 else
463 -- nothing was found do not process
464 null;
465 end if;
466 end;
467 exception
468 when others then
469 ame_util.runtimeException('ame_actions_usages_api',
470 'load_row',
471 sqlcode,
472 sqlerrm);
473 raise;
474 end LOAD_ROW;
475
476 procedure LOAD_ROW (
477 X_ACTION_TYPE_NAME in VARCHAR2,
478 X_PARAMETER in VARCHAR2,
479 X_DESCRIPTION in VARCHAR2,
480 X_OWNER in VARCHAR2,
481 X_LAST_UPDATE_DATE in VARCHAR2,
482 X_CUSTOM_MODE in VARCHAR2
483 )
484 is
485 begin
486 null;
487 end LOAD_ROW;
488
489 procedure TRANSLATE_ROW (
490 X_ACTION_TYPE_NAME in VARCHAR2,
491 X_PARAMETER in VARCHAR2,
492 X_PARAMETER_TWO in VARCHAR2,
493 X_DESCRIPTION in VARCHAR2,
494 X_OWNER in VARCHAR2,
495 X_LAST_UPDATE_DATE in VARCHAR2,
496 X_CUSTOM_MODE in VARCHAR2) as
497 X_CURRENT_OWNER NUMBER;
498 X_CURRENT_LAST_UPDATE_DATE varchar2(20);
499 X_CREATED_BY varchar2(100);
500 X_ACTION_ID number;
501 X_APPROVAL_GROUP_ID number;
502 X_TEMP_PARAMETER varchar2(320);
503 begin
504 if not AME_SEED_UTILITY.MLS_ENABLED then
505 return;
506 end if;
507 begin
508 X_TEMP_PARAMETER := X_PARAMETER;
509 if X_ACTION_TYPE_NAME in (ame_util.groupChainApprovalTypeName
510 ,ame_util.preApprovalTypeName
511 ,ame_util.postApprovalTypeName) then
512 begin
513 select approval_group_id
514 into X_APPROVAL_GROUP_ID
515 from ame_approval_groups
516 where name = X_PARAMETER
517 and sysdate between start_date and nvl(end_date, sysdate);
518 X_TEMP_PARAMETER := to_char(X_APPROVAL_GROUP_ID);
519 exception
520 when no_data_found then
521 null;
522 end;
523 end if;
524 select ACTTL.LAST_UPDATED_BY,
525 AME_SEED_UTILITY.DATE_AS_STRING(ACTTL.LAST_UPDATE_DATE),
526 AME_SEED_UTILITY.OWNER_AS_STRING(ACTTL.CREATED_BY),
527 ACT.ACTION_ID
528 into X_CURRENT_OWNER,
529 X_CURRENT_LAST_UPDATE_DATE,
530 X_CREATED_BY,
531 X_ACTION_ID
532 from AME_ACTIONS_TL ACTTL,
533 AME_ACTIONS ACT,
534 AME_ACTION_TYPES AAT
535 where AAT.NAME = X_ACTION_TYPE_NAME
536 and AAT.ACTION_TYPE_ID = ACT.ACTION_TYPE_ID
537 and nvl(ACT.PARAMETER,'NULL') = nvl(X_TEMP_PARAMETER,'NULL')
538 and nvl(ACT.PARAMETER_TWO,'NULL') = nvl(X_PARAMETER_TWO,'NULL')
539 and sysdate between AAT.START_DATE and nvl(AAT.END_DATE - (1/86400),sysdate)
540 and sysdate between ACT.START_DATE and nvl(ACT.END_DATE - (1/86400),sysdate)
541 and ACTTL.ACTION_ID = ACT.ACTION_ID
545 ACT.ACTION_ID = (
542 and ACTTL.LANGUAGE = userenv('LANG')
543 and (X_ACTION_TYPE_NAME <> ame_util.finalAuthorityTypeName
544 or (X_ACTION_TYPE_NAME = ame_util.finalAuthorityTypeName and
546 select MIN(ACTION_ID)
547 from ame_actions aac,ame_action_types aaty
548 where aac.action_type_id = aaty.action_type_id
549 and aaty.name = X_ACTION_TYPE_NAME
550 and sysdate between aac.start_date
551 and nvl(aac.end_date,sysdate)
552 and sysdate between aaty.start_date
553 and nvl(aaty.end_date,sysdate)
554 )
555 )
556 );
557 if DO_TL_UPDATE_INSERT
558 (X_OWNER => AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
559 X_CURRENT_OWNER => X_CURRENT_OWNER,
560 X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE,
561 X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE,
562 X_CREATED_BY => X_CREATED_BY,
563 X_CUSTOM_MODE => X_CUSTOM_MODE) then
564 update AME_ACTIONS_TL ACTTL
565 set DESCRIPTION = nvl(X_DESCRIPTION,DESCRIPTION),
566 SOURCE_LANG = userenv('LANG'),
567 LAST_UPDATE_DATE = AME_SEED_UTILITY.DATE_AS_DATE(X_LAST_UPDATE_DATE),
568 LAST_UPDATED_BY = AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
569 LAST_UPDATE_LOGIN = 0
570 where ACTTL.ACTION_ID = X_ACTION_ID
571 and userenv('LANG') in (ACTTL.LANGUAGE,ACTTL.SOURCE_LANG);
572 end if;
573 exception
574 when no_data_found then
575 null;
576 end;
577 end TRANSLATE_ROW;
578
579 END AME_ACTIONS_API;