[Home] [Help]
PACKAGE BODY: APPS.AME_CALLING_APPS_API
Source
1 PACKAGE BODY AME_CALLING_APPS_API AS
2 /* $Header: amecaapi.pkb 120.6 2006/08/09 06:53:23 pvelugul noship $ */
3 X_AME_INSTALLATION_LEVEL varchar2(255);
4 procedure OWNER_TO_WHO (
5 X_OWNER in VARCHAR2,
6 X_CREATED_BY out nocopy NUMBER,
7 X_LAST_UPDATED_BY out nocopy NUMBER,
8 X_LAST_UPDATE_LOGIN out nocopy NUMBER
9 ) is
10 begin
11 X_CREATED_BY := AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER);
12 X_LAST_UPDATED_BY := AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER);
13 X_LAST_UPDATE_LOGIN := 0;
14 end OWNER_TO_WHO;
15
16 procedure KEY_TO_IDS (
17 X_APPLICATION_SHORT_NAME in VARCHAR2,
18 X_TRANSACTION_TYPE_ID in VARCHAR2,
19 X_CALLING_APPS_ROWID out nocopy VARCHAR2,
20 X_FND_APPLICATION_ID out nocopy NUMBER,
21 X_APPLICATION_ID out nocopy NUMBER,
22 X_CURRENT_OWNER out nocopy NUMBER,
23 X_CURRENT_LAST_UPDATE_DATE out nocopy VARCHAR2,
24 X_USAGE_ROWID out nocopy VARCHAR2,
25 X_CURRENT_USAGE_OWNER out nocopy NUMBER,
26 X_CURRENT_USAGE_LUD out nocopy VARCHAR2,
27 X_CURRENT_ITEM_ID_QUERY out nocopy VARCHAR2,
28 X_CURRENT_APP_OVN out nocopy VARCHAR2,
29 X_CURRENT_USAGE_OVN out nocopy VARCHAR2
30 ) is
31
32 cursor CSR_GET_FND_APPLICATION_ID is
33 select APPLICATION_ID
34 from FND_APPLICATION_VL
35 where APPLICATION_SHORT_NAME = X_APPLICATION_SHORT_NAME;
36
37 cursor CSR_GET_CURRENT_CALLING_APP
38 (
39 X_FND_APPLICATION_ID in NUMBER,
40 X_TRANSACTION_TYPE_ID in VARCHAR2
41 )
42 is select ROWID, nvl(OBJECT_VERSION_NUMBER,1),APPLICATION_ID,
43 LAST_UPDATED_BY,
44 to_char(LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS')
45 from AME_CALLING_APPS
46 where FND_APPLICATION_ID = X_FND_APPLICATION_ID
47 and nvl(TRANSACTION_TYPE_ID,'NULL')
48 = nvl(X_TRANSACTION_TYPE_ID,'NULL')
49 and sysdate between START_DATE
50 and nvl(END_DATE - (1/86400), sysdate);
51
52 cursor CSR_GET_CURRENT_USAGE
53 (
54 X_APPLICATION_ID in NUMBER
55 ) is
56 select ROWID,
57 nvl(OBJECT_VERSION_NUMBER,1),
58 LAST_UPDATED_BY,
59 to_char(LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
60 ITEM_ID_QUERY
61 from AME_ITEM_CLASS_USAGES
62 where APPLICATION_ID = X_APPLICATION_ID
63 and ITEM_CLASS_ID = 2
64 and sysdate between START_DATE
65 and nvl(END_DATE - (1/86400), sysdate);
66 applicationId number;
67 begin
68 X_CURRENT_APP_OVN := 1;
69 X_CURRENT_USAGE_OVN := 1;
70 open CSR_GET_FND_APPLICATION_ID;
71 fetch CSR_GET_FND_APPLICATION_ID into X_FND_APPLICATION_ID;
72 if (CSR_GET_FND_APPLICATION_ID%notfound) then
73 X_FND_APPLICATION_ID := null;
74 end if;
75 close CSR_GET_FND_APPLICATION_ID;
76 --
77 -- this sets the x_application_id if there
78 -- dependant on the x_transaction_type_id value passed in
79 --
80 if X_TRANSACTION_TYPE_ID is null then
81 X_APPLICATION_ID := X_FND_APPLICATION_ID;
82 else
83 X_APPLICATION_ID := null;
84 end if;
85 --
86 -- if there is a current row as well as retrieving the rowid
87 -- assign the x_application_id as well.
88 --
89 if X_FND_APPLICATION_ID is not null then
90 -- check for current calling applications row
91 open CSR_GET_CURRENT_CALLING_APP
92 (
93 X_FND_APPLICATION_ID,
94 X_TRANSACTION_TYPE_ID
95 );
96 fetch CSR_GET_CURRENT_CALLING_APP into X_CALLING_APPS_ROWID,
97 X_CURRENT_APP_OVN,
98 applicationId,
99 X_CURRENT_OWNER,
100 X_CURRENT_LAST_UPDATE_DATE;
101 X_APPLICATION_ID := applicationId;
102 if (CSR_GET_CURRENT_CALLING_APP%notfound) then
103 X_CALLING_APPS_ROWID:= null;
104 end if;
105 close CSR_GET_CURRENT_CALLING_APP;
106 --
107 -- get current item class usage from ame_item_class_usages, if AME11510
108 -- patch is already applied
109 --
110 if(X_AME_INSTALLATION_LEVEL is not null and applicationId is not null) then
111 open CSR_GET_CURRENT_USAGE(applicationId);
112 fetch CSR_GET_CURRENT_USAGE into X_USAGE_ROWID,
113 X_CURRENT_USAGE_OVN,
114 X_CURRENT_USAGE_OWNER,
115 X_CURRENT_USAGE_LUD,
116 X_CURRENT_ITEM_ID_QUERY;
117 if CSR_GET_CURRENT_USAGE%notfound then
118 X_USAGE_ROWID := null;
119 end if;
120 close CSR_GET_CURRENT_USAGE;
121 end if;
122 end if;
123 end KEY_TO_IDS;
124 function DO_UPDATE_INSERT(X_OWNER in NUMBER,
125 X_CURRENT_OWNER in NUMBER,
126 X_LAST_UPDATE_DATE in VARCHAR2,
127 X_CURRENT_LAST_UPDATE_DATE in VARCHAR2,
128 X_CUSTOM_MODE in VARCHAR2 default null)
129 return boolean as
130 begin
131 return AME_SEED_UTILITY.MERGE_ROW_TEST
132 (X_OWNER => X_OWNER
133 ,X_CURRENT_OWNER => X_CURRENT_OWNER
134 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
135 ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
136 ,X_CUSTOM_MODE => X_CUSTOM_MODE
137 );
138 end DO_UPDATE_INSERT;
139 function DO_TL_UPDATE_INSERT(X_OWNER in NUMBER,
140 X_CURRENT_OWNER in NUMBER,
141 X_LAST_UPDATE_DATE in VARCHAR2,
142 X_CURRENT_LAST_UPDATE_DATE in VARCHAR2,
143 X_CREATED_BY in varchar2,
144 X_CUSTOM_MODE in VARCHAR2 default null)
145 return boolean as
146 begin
147 if X_CUSTOM_MODE = 'FORCE' then
148 return true;
149 end if;
150 if AME_SEED_UTILITY.IS_SEED_USER(X_CREATED_BY) then
151 return true;
152 else
153 return AME_SEED_UTILITY.TL_MERGE_ROW_TEST
154 (X_OWNER => X_OWNER
155 ,X_CURRENT_OWNER => X_CURRENT_OWNER
156 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
157 ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
158 ,X_CUSTOM_MODE => X_CUSTOM_MODE
159 );
160 end if;
161 return(false);
162 end DO_TL_UPDATE_INSERT;
163 procedure INSERT_ROW (
164 X_FND_APPLICATION_ID in NUMBER,
165 X_APPLICATION_NAME in VARCHAR2,
166 X_TRANSACTION_TYPE_ID in VARCHAR2,
167 X_APPLICATION_ID in NUMBER,
168 X_CREATED_BY in NUMBER,
169 X_CREATION_DATE in DATE,
170 X_LAST_UPDATED_BY in NUMBER,
171 X_LAST_UPDATE_DATE in DATE,
172 X_LAST_UPDATE_LOGIN in NUMBER,
173 X_START_DATE in DATE,
174 X_LINE_ITEM_ID_QUERY in VARCHAR2,
175 X_OBJECT_VERSION_NUMBER in NUMBER
176 )
177 is
178 begin
179
180 insert into AME_CALLING_APPS
181 (
182 FND_APPLICATION_ID,
183 APPLICATION_NAME,
184 TRANSACTION_TYPE_ID,
185 APPLICATION_ID,
186 CREATED_BY,
187 CREATION_DATE,
188 LAST_UPDATED_BY,
189 LAST_UPDATE_DATE,
190 LAST_UPDATE_LOGIN,
191 START_DATE,
192 END_DATE,
193 LINE_ITEM_ID_QUERY,
194 OBJECT_VERSION_NUMBER
195 ) select
196 X_FND_APPLICATION_ID,
197 X_APPLICATION_NAME,
198 X_TRANSACTION_TYPE_ID,
199 X_APPLICATION_ID,
200 X_CREATED_BY,
201 X_CREATION_DATE,
202 X_LAST_UPDATED_BY,
203 X_LAST_UPDATE_DATE,
204 X_LAST_UPDATE_LOGIN,
205 X_START_DATE,
206 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
207 X_LINE_ITEM_ID_QUERY,
208 X_OBJECT_VERSION_NUMBER
209 from sys.dual;
210 end INSERT_ROW;
211 --
212 procedure FORCE_UPDATE_ROW (
213 X_ROWID in VARCHAR2,
214 X_APPLICATION_NAME in VARCHAR2,
215 X_APPLICATION_ID in NUMBER,
216 X_LINE_ITEM_ID_QUERY in VARCHAR2,
217 X_CREATED_BY in NUMBER,
218 X_CREATION_DATE in DATE,
219 X_LAST_UPDATED_BY in NUMBER,
220 X_LAST_UPDATE_DATE in DATE,
221 X_LAST_UPDATE_LOGIN in NUMBER,
222 X_START_DATE in DATE,
223 X_END_DATE in DATE,
224 X_OBJECT_VERSION_NUMBER in NUMBER
225 ) is
226 begin
227 update AME_CALLING_APPS
228 set APPLICATION_NAME = X_APPLICATION_NAME,
229 APPLICATION_ID = X_APPLICATION_ID,
230 LINE_ITEM_ID_QUERY = X_LINE_ITEM_ID_QUERY,
231 CREATED_BY = X_CREATED_BY,
232 CREATION_DATE = X_CREATION_DATE,
233 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
234 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
235 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
236 START_DATE = X_START_DATE,
237 END_DATE = X_END_DATE,
238 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
239 where ROWID = X_ROWID;
240 end FORCE_UPDATE_ROW;
241
242 procedure INSERT_USAGE_ROW (
243 X_APPLICATION_ID in NUMBER,
244 X_ITEM_CLASS_ID in NUMBER,
245 X_ITEM_ID_QUERY in VARCHAR2,
246 X_ITEM_CLASS_ORDER_NUMBER in NUMBER,
247 X_ITEM_CLASS_PAR_MODE in VARCHAR2,
248 X_ITEM_CLASS_SUBLIST_MODE in VARCHAR2,
249 X_CREATED_BY in NUMBER,
250 X_CREATION_DATE in DATE,
251 X_LAST_UPDATED_BY in NUMBER,
252 X_LAST_UPDATE_DATE in DATE,
253 X_LAST_UPDATE_LOGIN in NUMBER,
254 X_START_DATE in DATE,
255 X_OBJECT_VERSION_NUMBER in NUMBER
256 )
257 is
258 begin
259 --do not populate usage row if AME11510 full patch has not been applied
260 if X_AME_INSTALLATION_LEVEL IS NULL then
261 return;
262 end if;
263 insert into AME_ITEM_CLASS_USAGES
264 (
265 APPLICATION_ID,
266 ITEM_CLASS_ID,
267 ITEM_ID_QUERY,
268 ITEM_CLASS_ORDER_NUMBER,
269 ITEM_CLASS_PAR_MODE,
270 ITEM_CLASS_SUBLIST_MODE,
271 CREATED_BY,
272 CREATION_DATE,
273 LAST_UPDATED_BY,
274 LAST_UPDATE_DATE,
275 LAST_UPDATE_LOGIN,
276 START_DATE,
277 END_DATE,
278 OBJECT_VERSION_NUMBER
279 ) values (
280 X_APPLICATION_ID,
281 X_ITEM_CLASS_ID,
282 X_ITEM_ID_QUERY,
283 X_ITEM_CLASS_ORDER_NUMBER,
284 X_ITEM_CLASS_PAR_MODE,
285 X_ITEM_CLASS_SUBLIST_MODE,
286 X_CREATED_BY,
287 X_CREATION_DATE,
288 X_LAST_UPDATED_BY,
289 X_LAST_UPDATE_DATE,
290 X_LAST_UPDATE_LOGIN,
291 X_START_DATE,
292 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
293 X_OBJECT_VERSION_NUMBER);
294 end INSERT_USAGE_ROW;
295
296 procedure FORCE_UPDATE_USAGE_ROW (
297 X_ROWID in VARCHAR2,
298 X_ITEM_ID_QUERY in VARCHAR2,
299 X_ITEM_CLASS_ORDER_NUMBER in NUMBER,
300 X_ITEM_CLASS_PAR_MODE in VARCHAR2,
301 X_ITEM_CLASS_SUBLIST_MODE in VARCHAR2,
302 X_CREATED_BY in NUMBER,
303 X_CREATION_DATE in DATE,
304 X_LAST_UPDATED_BY in NUMBER,
305 X_LAST_UPDATE_DATE in DATE,
306 X_LAST_UPDATE_LOGIN in NUMBER,
307 X_START_DATE in DATE,
308 X_END_DATE in DATE,
309 X_OBJECT_VERSION_NUMBER in NUMBER
310 ) is
311 begin
312 update AME_ITEM_CLASS_USAGES
313 set ITEM_ID_QUERY = X_ITEM_ID_QUERY,
314 ITEM_CLASS_ORDER_NUMBER = X_ITEM_CLASS_ORDER_NUMBER,
315 ITEM_CLASS_PAR_MODE = X_ITEM_CLASS_PAR_MODE,
316 ITEM_CLASS_SUBLIST_MODE = X_ITEM_CLASS_SUBLIST_MODE,
317 CREATED_BY = X_CREATED_BY,
318 CREATION_DATE = X_CREATION_DATE,
319 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
320 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
321 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
322 START_DATE = X_START_DATE,
323 END_DATE = X_END_DATE,
324 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
325 where ROWID = X_ROWID;
326 end FORCE_UPDATE_USAGE_ROW;
327
328 procedure INSERT_TL_ROW (
329 X_APPLICATION_ID in NUMBER,
330 X_APPLICATION_NAME in VARCHAR2,
331 X_CREATED_BY in NUMBER,
332 X_CREATION_DATE in DATE,
333 X_LAST_UPDATED_BY in NUMBER,
334 X_LAST_UPDATE_DATE in DATE,
338 return;
335 X_LAST_UPDATE_LOGIN in NUMBER) is
336 begin
337 if not AME_SEED_UTILITY.MLS_ENABLED then
339 end if;
340
341 insert into AME_CALLING_APPS_TL
342 (APPLICATION_ID
343 ,APPLICATION_NAME
344 ,CREATED_BY
345 ,CREATION_DATE
346 ,LAST_UPDATED_BY
347 ,LAST_UPDATE_DATE
348 ,LAST_UPDATE_LOGIN
349 ,LANGUAGE
350 ,SOURCE_LANG
351 ) select X_APPLICATION_ID,
352 X_APPLICATION_NAME,
353 X_CREATED_BY,
354 X_CREATION_DATE,
355 X_LAST_UPDATED_BY,
356 X_LAST_UPDATE_DATE,
357 X_LAST_UPDATE_LOGIN,
358 L.LANGUAGE_CODE,
359 userenv('LANG')
360 from FND_LANGUAGES L
361 where L.INSTALLED_FLAG in ('I', 'B')
362 and not exists (select null
363 from AME_CALLING_APPS_TL T
364 where T.APPLICATION_ID = X_APPLICATION_ID
365 and T.LANGUAGE = L.LANGUAGE_CODE);
366 END insert_tl_row;
367
368 procedure UPDATE_TL_ROW (
369 X_APPLICATION_ID in NUMBER,
370 X_APPLICATION_NAME in VARCHAR2,
371 X_CREATED_BY in NUMBER,
372 X_CREATION_DATE in DATE,
373 X_LAST_UPDATED_BY in NUMBER,
374 X_LAST_UPDATE_DATE in DATE,
375 X_LAST_UPDATE_LOGIN in NUMBER,
376 X_CUSTOM_MODE in VARCHAR2) is
377 X_CURRENT_OWNER NUMBER;
378 X_CURRENT_LAST_UPDATE_DATE DATE;
379 begin
380 if not AME_SEED_UTILITY.MLS_ENABLED then
381 return;
382 end if;
383
384 select LAST_UPDATED_BY,
385 LAST_UPDATE_DATE
386 into X_CURRENT_OWNER,
387 X_CURRENT_LAST_UPDATE_DATE
388 FROM AME_CALLING_APPS_TL
389 WHERE APPLICATION_ID = X_APPLICATION_ID
390 AND LANGUAGE = USERENV('LANG');
391
392 if DO_UPDATE_INSERT
393 (X_LAST_UPDATED_BY
394 ,X_CURRENT_OWNER
395 ,AME_SEED_UTILITY.DATE_AS_STRING(X_LAST_UPDATE_DATE)
396 ,AME_SEED_UTILITY.DATE_AS_STRING(X_CURRENT_LAST_UPDATE_DATE)
397 ,X_CUSTOM_MODE) then
398 update AME_CALLING_APPS_TL
399 set APPLICATION_NAME = nvl(X_APPLICATION_NAME,APPLICATION_NAME),
400 SOURCE_LANG = userenv('LANG'),
401 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
402 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
403 LAST_UPDATE_LOGIN = 0
404 where APPLICATION_ID = X_APPLICATION_ID
405 and userenv('LANG') in (LANGUAGE,SOURCE_LANG);
406 end if;
407 exception
408 when no_data_found then
409 null;
410 end UPDATE_TL_ROW;
411
412 procedure UPDATE_ROW (
416 begin
413 X_CALLING_APPS_ROWID in VARCHAR2,
414 X_END_DATE in DATE)
415 is
417 update AME_CALLING_APPS set
418 END_DATE = X_END_DATE
419 where ROWID = X_CALLING_APPS_ROWID;
420 end UPDATE_ROW;
421
422 procedure UPDATE_USAGE_ROW (
423 X_USAGE_ROWID in VARCHAR2,
424 X_END_DATE in DATE) is
425 begin
426 --do not populate usage row if AME11510 full patch has not been applied
427 if X_AME_INSTALLATION_LEVEL IS NULL then
428 return;
429 end if;
430 update AME_ITEM_CLASS_USAGES
431 set END_DATE = X_END_DATE
432 where ROWID = X_USAGE_ROWID;
433 end UPDATE_USAGE_ROW;
434
435 procedure DELETE_ROW (
436 X_FND_APPLICATION_ID in NUMBER,
437 X_TRANSACTION_TYPE_ID in VARCHAR2,
438 X_APPLICATION_ID in NUMBER
439 ) is
440 begin
441 if AME_SEED_UTILITY.MLS_ENABLED then
442 delete from AME_CALLING_APPS_TL
443 where APPLICATION_ID in (select APPLICATION_ID
444 from AME_CALLING_APPS
445 where FND_APPLICATION_ID = X_FND_APPLICATION_ID
446 and nvl(TRANSACTION_TYPE_ID,'NULL') = nvl(X_TRANSACTION_TYPE_ID,'NULL'));
447 end if;
448 delete from AME_CALLING_APPS
449 where FND_APPLICATION_ID = X_FND_APPLICATION_ID
450 and nvl(TRANSACTION_TYPE_ID,'NULL') = nvl(X_TRANSACTION_TYPE_ID,'NULL');
451 if (sql%notfound) then
452 raise no_data_found;
453 end if;
454 end DELETE_ROW;
455 --
456 -- this piece of code runs when an AME seed data patch based upon the
457 -- older style of ldts is run.
458 -- this logic is also represented in amem0031.sql and amem0032.sql.
459 -- it runs within this api when a transaction type is being applied
460 -- after the AME mother patch has been run.
461 -- it inserts rows into the ame_action_type_config
462 -- and ame_approval_group_config tables and
463 -- attribute usages for USE_WORKFLOW, REJECTION_RESPONSE and
464 -- REPEAT_SUBSTITUTION attributes where they do not exist.
465 --
466 procedure RUN_CONFIG_USAGES_ROWS(X_APPLICATION_ID in NUMBER,
467 X_LAST_UPDATE_DATE in VARCHAR2,
468 X_CREATED_BY in NUMBER
469 )
470 is
471 cursor getApprovalGroup is
472 select aag.approval_group_id, aag.name, aag.start_date, aag.end_date
473 from ame_approval_groups aag
474 where aag.start_date =
475 (select max(start_date)
476 from ame_approval_groups aag2
477 where aag.approval_group_id = aag2.approval_group_id)
478 order by aag.approval_group_id;
479 cursor getActionType is
480 select aat.action_type_id,
481 aat.name,
482 aat.created_by,
483 aat.last_updated_by,
484 aat.start_date,
485 aat.end_date
486 from ame_action_types aat
487 where aat.start_date =
488 (select max(start_date)
489 from ame_action_types aat2
490 where aat.action_type_id = aat2.action_type_id)
491 and ((end_date is null)
492 or (aat.start_date <> aat.end_date))
493 order by aat.action_type_id;
494 -- REJECTION_RESPONSE
495 cursor getRejectionAttributeId is
496 select attribute_id
497 from ame_attributes
498 where name = ame_util.rejectionResponseAttribute
499 and (sysdate between start_date
500 and nvl(end_date - (1/86400),sysdate));
501 -- USE_WORKFLOW
502 cursor getUseWorkflowId is
503 select attribute_id
504 from ame_attributes
505 where name = ame_util.useWorkflowAttribute
506 and (sysdate between start_date
507 and nvl(end_date - (1/86400),sysdate));
508 --REPEAT_SUBSTITUTIONS
509 cursor getRepeatSubAttributeId is
510 select attribute_id
511 from ame_attributes
512 where name = 'REPEAT_SUBSTITUTIONS'
513 and (sysdate between start_date
514 and nvl(end_date - (1/86400),sysdate));
515 authorityRuleTypeCount integer :=0;
516 customOrderNumber integer :=20;
517 votingRegimeValue varchar2(1) := null;
518 -- variable to hold approval group order number
519 groupOrderNumber integer :=0;
520 X_REJECTION_RESPONSE_ID number;
521 X_REPEAT_SUBSTITUTIONS_ID number;
522 X_USE_WORKFLOW_ID number;
523 begin
524 -- if AME11510 full patch is not applied then return
525 if X_AME_INSTALLATION_LEVEL is null then
526 return;
527 end if;
528 if X_AME_INSTALLATION_LEVEL is not null and to_number(X_AME_INSTALLATION_LEVEL) < 2 then
529 for groupsRec in getApprovalGroup loop
530 groupOrderNumber := groupOrderNumber + 1;
531 insert into ame_approval_group_config
532 (application_id,
533 approval_group_id,
534 voting_regime,
535 order_number,
536 created_by,
537 creation_date,
538 last_updated_by,
539 last_update_date,
540 last_update_login,
541 start_date,
542 end_date,
543 object_version_number)
544 select X_APPLICATION_ID,
545 groupsRec.approval_group_id,
546 ame_util.orderNumberVoting,
547 groupOrderNumber,
551 sysdate,
548 x_created_by,
549 sysdate,
550 x_created_by,
552 null,
553 groupsRec.start_date,
554 groupsRec.end_date,
555 1
556 from sys.dual
557 where not exists
558 (select null
559 from ame_approval_group_config
560 where application_id = X_APPLICATION_ID
561 and approval_group_id = groupsRec.approval_group_id
562 and ((sysdate between start_date
563 and nvl(end_date - (1/86400),sysdate))
564 or (groupsRec.start_date between start_date
565 and nvl(end_date,start_date))));
566 end loop;
567 for actionRec in getActionType loop
568 -- determine the value for the voting regime column
569 select count(*)
570 into authorityRuleTypeCount
571 from ame_action_type_usages
572 where action_type_id = actionRec.action_type_id
573 and rule_type = ame_util.authorityRuleType;
574 if authorityRuleTypeCount > 0 then
575 votingRegimeValue := ame_util.serializedVoting;
576 else
577 votingRegimeValue := null;
578 end if;
579 if actionRec.created_by <> ame_util.seededDataCreatedById then
580 customOrderNumber := customOrderNumber + 1;
581 end if;
582 insert into ame_action_type_config
583 (application_id,
584 action_type_id,
585 voting_regime,
586 order_number,
587 chain_ordering_mode,
588 created_by,
589 creation_date,
590 last_updated_by,
591 last_update_date,
592 last_update_login,
593 start_date,
594 end_date,
595 object_version_number)
596 select
597 X_APPLICATION_ID,
598 actionRec.action_type_id,
599 votingRegimeValue,
600 decode(actionRec.name,
601 ame_util.preApprovalTypeName, 1,
602 ame_util.dynamicPreApprover, 2,
603 ame_util.absoluteJobLevelTypeName, 1,
604 ame_util.relativeJobLevelTypeName, 2,
605 ame_util.supervisoryLevelTypeName, 3,
606 ame_util.positionTypeName, 4,
607 ame_util.positionLevelTypeName, 5,
608 ame_util.managerFinalApproverTypeName, 6,
609 ame_util.finalApproverOnlyTypeName, 7,
610 ame_util.lineItemJobLevelTypeName, 8,
611 ame_util.dualChainsAuthorityTypeName, 9,
612 ame_util.groupChainApprovalTypeName, 10,
613 ame_util.nonFinalAuthority, 1,
614 ame_util.finalAuthorityTypeName, 2,
615 ame_util.substitutionTypeName, 1,
616 ame_util.postApprovalTypeName, 1,
617 ame_util.dynamicPostApprover, 2,
618 customOrderNumber),
619 ame_util.serialChainsMode,
620 actionRec.created_by,
621 sysdate,
622 actionRec.last_updated_by,
623 sysdate,
624 null,
625 actionRec.start_date,
626 actionRec.end_date,
627 1
628 from sys.dual
629 where not exists
630 (select null
631 from ame_action_type_config
632 where application_id = X_APPLICATION_ID
633 and action_type_id = actionRec.action_type_id
634 and ((sysdate between start_date
635 and nvl(end_date - (1/86400),sysdate))
636 or (actionRec.start_date between start_date
637 and nvl(end_date,start_date))));
638 end loop;
639 end if;
640 -- insert an attribute usage for rejectionResponse
641 open getRejectionAttributeId;
642 fetch getRejectionAttributeId into X_REJECTION_RESPONSE_ID;
643 if (getRejectionAttributeId%found) then
644 insert into AME_ATTRIBUTE_USAGES
645 (ATTRIBUTE_ID,
646 APPLICATION_ID,
647 QUERY_STRING,
648 USE_COUNT,
649 IS_STATIC,
650 CREATED_BY,
651 CREATION_DATE,
652 LAST_UPDATED_BY,
653 LAST_UPDATE_DATE,
654 LAST_UPDATE_LOGIN,
655 START_DATE,
656 END_DATE,
657 USER_EDITABLE,
658 VALUE_SET_ID,
659 OBJECT_VERSION_NUMBER
660 )
661 select
662 X_REJECTION_RESPONSE_ID,
663 X_APPLICATION_ID,
664 ame_util.stopAllItems,
665 0,
666 ame_util.booleanTrue,
667 x_created_by,
668 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
669 x_created_by,
670 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
671 0,
672 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
673 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
674 ame_util.booleanTrue,
675 null,
676 1
677 from sys.dual
678 where not exists
679 (select null
680 from ame_attribute_usages
681 where application_id = X_APPLICATION_ID
682 and attribute_id = X_REJECTION_RESPONSE_ID
683 and (sysdate between start_date
684 and nvl(end_date - (1/86400),sysdate)));
685 end if;
686 close getRejectionAttributeId;
687 -- insert an attribute usage for useWorkflow
688 open getUseWorkflowId;
689 fetch getUseWorkflowId into X_USE_WORKFLOW_ID;
690 if (getUseWorkflowId%found) then
691 insert into AME_ATTRIBUTE_USAGES
692 (ATTRIBUTE_ID,
693 APPLICATION_ID,
694 QUERY_STRING,
695 USE_COUNT,
696 IS_STATIC,
697 CREATED_BY,
698 CREATION_DATE,
699 LAST_UPDATED_BY,
700 LAST_UPDATE_DATE,
701 LAST_UPDATE_LOGIN,
702 START_DATE,
703 END_DATE,
704 USER_EDITABLE,
705 VALUE_SET_ID,
706 OBJECT_VERSION_NUMBER
707 )
708 select
709 X_USE_WORKFLOW_ID,
710 X_APPLICATION_ID,
711 ame_util.booleanAttributeTrue,
712 0,
713 ame_util.booleanTrue,
714 x_created_by,
715 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
716 x_created_by,
717 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
718 0,
719 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
720 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
721 ame_util.booleanTrue,
722 null,
723 1
724 from sys.dual
725 where not exists
726 (select null
727 from ame_attribute_usages
728 where application_id = X_APPLICATION_ID
729 and attribute_id = X_USE_WORKFLOW_ID
730 and (sysdate between start_date
731 and nvl(end_date - (1/86400),sysdate)));
732 end if;
733 close getUseWorkflowId;
734 --
735 -- Create usage for REPEAT_SUBSTITUTIONS mandatory attributes
736 --
737 open getRepeatSubAttributeId;
738 fetch getRepeatSubAttributeId into X_REPEAT_SUBSTITUTIONS_ID;
739 if (getRepeatSubAttributeId%found) then
740 insert into AME_ATTRIBUTE_USAGES
741 (ATTRIBUTE_ID,
742 APPLICATION_ID,
743 QUERY_STRING,
744 USE_COUNT,
745 IS_STATIC,
746 CREATED_BY,
747 CREATION_DATE,
748 LAST_UPDATED_BY,
749 LAST_UPDATE_DATE,
750 LAST_UPDATE_LOGIN,
751 START_DATE,
752 END_DATE,
753 USER_EDITABLE,
754 VALUE_SET_ID,
755 OBJECT_VERSION_NUMBER
756 )
757 select
758 X_REPEAT_SUBSTITUTIONS_ID,
759 X_APPLICATION_ID,
760 ame_util.booleanAttributeFalse,
761 0,
762 ame_util.booleanTrue,
763 x_created_by,
764 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
765 x_created_by,
766 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
767 0,
768 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
769 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
770 ame_util.booleanTrue,
771 null,
772 1
773 from sys.dual
774 where not exists
775 (select null
776 from ame_attribute_usages
777 where application_id = X_APPLICATION_ID
778 and attribute_id = X_REPEAT_SUBSTITUTIONS_ID
779 and (sysdate between start_date
780 and nvl(end_date - (1/86400),sysdate)));
781 end if;
782 close getRepeatSubAttributeId;
783 end RUN_CONFIG_USAGES_ROWS;
784 procedure LOAD_ROW (
785 X_APPLICATION_SHORT_NAME in VARCHAR2,
786 X_TRANSACTION_TYPE_ID in VARCHAR2,
787 X_APPLICATION_NAME in VARCHAR2,
788 X_BASE_APPLICATION_NAME in VARCHAR2,
789 X_LINE_ITEM_ID_QUERY in VARCHAR2,
790 X_OWNER in VARCHAR2,
791 X_LAST_UPDATE_DATE in VARCHAR2,
792 X_CUSTOM_MODE in VARCHAR2
793 )
794 is
795 X_APPLICATION_ID NUMBER;
796 X_CALLING_APPS_ROWID ROWID;
797 X_CREATED_BY NUMBER;
801 X_CURRENT_USAGE_OWNER NUMBER;
798 X_CURRENT_ITEM_ID_QUERY ame_item_class_usages.item_id_query%type;
799 X_CURRENT_LAST_UPDATE_DATE VARCHAR2(19);
800 X_CURRENT_OWNER NUMBER;
802 X_CURRENT_USAGE_LUD VARCHAR2(19);
803 X_FND_APPLICATION_ID NUMBER;
804 X_LAST_UPDATED_BY NUMBER;
805 X_LAST_UPDATE_LOGIN NUMBER;
806 X_USAGE_ROWID ROWID;
807 X_NEW_LINE_ITEM_ID_QUERY VARCHAR2(4000);
808 X_CURRENT_APP_OVN NUMBER;
809 X_CURRENT_USAGE_OVN NUMBER;
810 X_BASE_APP_NAME VARCHAR2(240);
811 --
812 begin
813 --detect current installation level of AME
814 X_AME_INSTALLATION_LEVEL:= fnd_profile.value('AME_INSTALLATION_LEVEL');
815 if X_BASE_APPLICATION_NAME is null then
816 X_BASE_APP_NAME := X_APPLICATION_NAME;
817 else
818 X_BASE_APP_NAME := X_BASE_APPLICATION_NAME;
819 end if;
820 -- retrieve information for the current row
821 KEY_TO_IDS (
822 X_APPLICATION_SHORT_NAME,
823 X_TRANSACTION_TYPE_ID,
824 X_CALLING_APPS_ROWID,
825 X_FND_APPLICATION_ID,
826 X_APPLICATION_ID,
827 X_CURRENT_OWNER,
828 X_CURRENT_LAST_UPDATE_DATE,
829 X_USAGE_ROWID,
830 X_CURRENT_USAGE_OWNER,
831 X_CURRENT_USAGE_LUD,
832 X_CURRENT_ITEM_ID_QUERY,
833 X_CURRENT_APP_OVN,
834 X_CURRENT_USAGE_OVN);
835
836 -- obtain who column details
837 OWNER_TO_WHO (
838 X_OWNER,
839 X_CREATED_BY,
840 X_LAST_UPDATED_BY,
841 X_LAST_UPDATE_LOGIN
842 );
843 --
844 -- detect whether the config rows have to be inserted for this transaction type
845
846 --
847 --chang line_item_id_query value
848 --case 1: if full patch is applied make it null
849 --case 2: if not applied , retain its value
850 X_NEW_LINE_ITEM_ID_QUERY:= X_LINE_ITEM_ID_QUERY;
851 if X_AME_INSTALLATION_LEVEL is not null then
852 X_NEW_LINE_ITEM_ID_QUERY:= null;
853 end if;
854 begin
855 -- the current row was not found insert a new row for
856 -- ame_calling_apps, a new item class usages
857 -- for header (required) and line item class (optional)
858 if X_FND_APPLICATION_ID is not null then
859 if (X_CALLING_APPS_ROWID is null) and
860 (X_APPLICATION_ID is null) then
861 -- derive a new application id
862 select ame_applications_s.nextval
863 into X_APPLICATION_ID
864 from dual;
865 INSERT_ROW (
866 X_FND_APPLICATION_ID,
867 X_BASE_APP_NAME,
868 X_TRANSACTION_TYPE_ID,
869 X_APPLICATION_ID,
870 X_CREATED_BY,
871 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
872 X_LAST_UPDATED_BY,
873 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
874 X_LAST_UPDATE_LOGIN,
875 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
876 X_NEW_LINE_ITEM_ID_QUERY,
877 1);
878 INSERT_TL_ROW
879 (
880 X_APPLICATION_ID,
881 X_APPLICATION_NAME,
882 X_CREATED_BY,
883 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
884 X_LAST_UPDATED_BY,
885 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
886 X_LAST_UPDATE_LOGIN
887 );
888 -- insert new row for ame_item_class_usages header
889 INSERT_USAGE_ROW (
890 X_APPLICATION_ID,
891 1,
892 'select :transactionId from dual',
893 1,
894 'S',
895 'S',
896 X_CREATED_BY,
897 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
898 X_LAST_UPDATED_BY,
899 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
900 X_LAST_UPDATE_LOGIN,
901 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
902 1);
903 if X_LINE_ITEM_ID_QUERY is not null then
904 -- insert new row for ame_item_class_usages header
905 INSERT_USAGE_ROW (
906 X_APPLICATION_ID,
907 2,
908 X_LINE_ITEM_ID_QUERY,
909 2,
910 'S',
911 'S',
912 X_CREATED_BY,
913 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
914 X_LAST_UPDATED_BY,
915 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
916 X_LAST_UPDATE_LOGIN,
917 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
918 1);
919 end if;
920
921 RUN_CONFIG_USAGES_ROWS(X_APPLICATION_ID,
922 X_LAST_UPDATE_DATE,
923 X_CREATED_BY);
924 -- the current row was found end date the current row
925 -- insert a row with the same application id
926 else
927 if X_CUSTOM_MODE = 'FORCE' then
928 FORCE_UPDATE_ROW (
929 X_CALLING_APPS_ROWID,
930 X_BASE_APP_NAME,
931 X_APPLICATION_ID,
932 X_NEW_LINE_ITEM_ID_QUERY,
933 X_CREATED_BY,
934 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
935 X_LAST_UPDATED_BY,
936 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
937 X_LAST_UPDATE_LOGIN,
938 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
939 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
940 X_CURRENT_APP_OVN + 1
941 );
942 UPDATE_TL_ROW
943 (
944 X_APPLICATION_ID,
945 X_APPLICATION_NAME,
946 X_CREATED_BY,
947 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
951 X_CUSTOM_MODE
948 X_LAST_UPDATED_BY,
949 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
950 X_LAST_UPDATE_LOGIN,
952 );
953 if X_LINE_ITEM_ID_QUERY is not null and
954 X_LINE_ITEM_ID_QUERY <> X_CURRENT_ITEM_ID_QUERY then
955 FORCE_UPDATE_USAGE_ROW (
956 X_USAGE_ROWID,
957 X_LINE_ITEM_ID_QUERY,
958 2,
959 'S',
960 'S',
961 X_CREATED_BY,
962 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
963 X_LAST_UPDATED_BY,
964 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
965 X_LAST_UPDATE_LOGIN,
966 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
967 AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
968 X_CURRENT_USAGE_OVN + 1
969 );
970 end if;
971 else
972 if DO_UPDATE_INSERT
973 (AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
974 X_CURRENT_OWNER,
975 X_LAST_UPDATE_DATE,
976 X_CURRENT_LAST_UPDATE_DATE) then
977 UPDATE_ROW (
978 X_CALLING_APPS_ROWID,
979 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS')-(1/86400));
980 INSERT_ROW (
981 X_FND_APPLICATION_ID,
982 X_BASE_APP_NAME,
983 X_TRANSACTION_TYPE_ID,
984 X_APPLICATION_ID,
985 X_CREATED_BY,
986 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
987 X_LAST_UPDATED_BY,
988 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
989 X_LAST_UPDATE_LOGIN,
990 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
991 X_NEW_LINE_ITEM_ID_QUERY,
992 X_CURRENT_APP_OVN + 1);
993
994 UPDATE_TL_ROW
995 (
996 X_APPLICATION_ID,
997 X_APPLICATION_NAME,
998 X_CREATED_BY,
999 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
1000 X_LAST_UPDATED_BY,
1001 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
1002 X_LAST_UPDATE_LOGIN,
1003 X_CUSTOM_MODE
1004 );
1005 --+
1006 if X_LINE_ITEM_ID_QUERY is not null and
1007 X_LINE_ITEM_ID_QUERY <> X_CURRENT_ITEM_ID_QUERY and
1008 DO_UPDATE_INSERT(AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
1009 X_CURRENT_USAGE_OWNER,
1010 X_LAST_UPDATE_DATE,
1011 X_CURRENT_USAGE_LUD) then
1012 UPDATE_USAGE_ROW (
1013 X_USAGE_ROWID,
1014 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS')-(1/86400)
1015 );
1016 INSERT_USAGE_ROW (
1017 X_APPLICATION_ID,
1018 2,
1019 X_LINE_ITEM_ID_QUERY,
1020 2,
1021 'S',
1022 'S',
1023 X_CREATED_BY,
1024 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
1025 X_LAST_UPDATED_BY,
1026 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
1027 X_LAST_UPDATE_LOGIN,
1028 to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
1029 X_CURRENT_USAGE_OVN + 1);
1030 end if;
1031 end if;
1032 end if;
1033 end if;
1034 end if;
1035 end;
1036 exception
1037 when others then
1038 ame_util.runtimeException('ame_calling_apps_api',
1039 'load_row',
1040 sqlcode,
1041 sqlerrm);
1042 raise;
1043 end LOAD_ROW;
1044
1045 procedure TRANSLATE_ROW
1046 (X_APPLICATION_SHORT_NAME in varchar2
1047 ,X_TRANSACTION_TYPE_ID in varchar2
1048 ,X_APPLICATION_NAME in varchar2
1049 ,X_OWNER in varchar2
1050 ,X_LAST_UPDATE_DATE in varchar2
1051 ,X_CUSTOM_MODE in varchar2
1052 ) as
1053 X_CURRENT_OWNER NUMBER;
1054 X_CURRENT_LAST_UPDATE_DATE varchar2(20);
1055 X_CREATED_BY varchar2(100);
1056 X_APPLICATION_ID number;
1057 begin
1058 if not AME_SEED_UTILITY.MLS_ENABLED then
1059 return;
1060 end if;
1061
1062 begin
1063 select ACATL.LAST_UPDATED_BY,
1064 AME_SEED_UTILITY.DATE_AS_STRING(ACATL.LAST_UPDATE_DATE),
1065 AME_SEED_UTILITY.OWNER_AS_STRING(ACATL.CREATED_BY),
1066 ACA.APPLICATION_ID
1067 into X_CURRENT_OWNER,
1068 X_CURRENT_LAST_UPDATE_DATE,
1069 X_CREATED_BY,
1070 X_APPLICATION_ID
1071 from AME_CALLING_APPS_TL ACATL,
1072 AME_CALLING_APPS ACA,
1073 FND_APPLICATION_VL FAV
1074 where FAV.APPLICATION_SHORT_NAME = X_APPLICATION_SHORT_NAME
1075 and FAV.APPLICATION_ID = ACA.FND_APPLICATION_ID
1076 and ((ACA.TRANSACTION_TYPE_ID is null and X_TRANSACTION_TYPE_ID is null) or
1077 ACA.TRANSACTION_TYPE_ID = X_TRANSACTION_TYPE_ID)
1078 and sysdate between ACA.START_DATE and nvl(ACA.END_DATE - (1/86400),sysdate)
1079 and ACATL.APPLICATION_ID = ACA.APPLICATION_ID
1080 and ACATL.LANGUAGE = userenv('LANG');
1081 if DO_TL_UPDATE_INSERT
1082 (X_OWNER => AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
1083 X_CURRENT_OWNER => X_CURRENT_OWNER,
1084 X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE,
1085 X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE,
1086 X_CREATED_BY => X_CREATED_BY,
1087 X_CUSTOM_MODE => X_CUSTOM_MODE) then
1088 update AME_CALLING_APPS_TL ACATL
1089 set APPLICATION_NAME = nvl(X_APPLICATION_NAME,APPLICATION_NAME),
1090 SOURCE_LANG = userenv('LANG'),
1091 LAST_UPDATE_DATE = AME_SEED_UTILITY.DATE_AS_DATE(X_LAST_UPDATE_DATE),
1092 LAST_UPDATED_BY = AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
1093 LAST_UPDATE_LOGIN = 0
1094 where ACATL.APPLICATION_ID = X_APPLICATION_ID
1095 and userenv('LANG') in (ACATL.LANGUAGE,ACATL.SOURCE_LANG);
1096 end if;
1097 exception
1098 when no_data_found then
1099 null;
1100 end;
1101 end TRANSLATE_ROW;
1102
1103 procedure LOAD_SEED_ROW
1104 (X_APPLICATION_SHORT_NAME in varchar2
1105 ,X_TRANSACTION_TYPE_ID in varchar2
1106 ,X_APPLICATION_NAME in varchar2
1107 ,X_BASE_APPLICATION_NAME in varchar2
1108 ,X_LINE_ITEM_ID_QUERY in varchar2
1109 ,X_OWNER in varchar2
1110 ,X_LAST_UPDATE_DATE in varchar2
1111 ,X_UPLOAD_MODE in varchar2
1112 ,X_CUSTOM_MODE in varchar2
1113 ) as
1114 begin
1115 if X_UPLOAD_MODE = 'NLS' then
1116 TRANSLATE_ROW
1117 (X_APPLICATION_SHORT_NAME => X_APPLICATION_SHORT_NAME
1118 ,X_TRANSACTION_TYPE_ID => X_TRANSACTION_TYPE_ID
1119 ,X_APPLICATION_NAME => X_APPLICATION_NAME
1120 ,X_OWNER => X_OWNER
1121 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
1122 ,X_CUSTOM_MODE => X_CUSTOM_MODE
1123 );
1124 else
1125 LOAD_ROW
1126 (X_APPLICATION_SHORT_NAME => X_APPLICATION_SHORT_NAME
1127 ,X_TRANSACTION_TYPE_ID => X_TRANSACTION_TYPE_ID
1128 ,X_APPLICATION_NAME => X_APPLICATION_NAME
1129 ,X_BASE_APPLICATION_NAME => X_BASE_APPLICATION_NAME
1130 ,X_LINE_ITEM_ID_QUERY => X_LINE_ITEM_ID_QUERY
1131 ,X_OWNER => X_OWNER
1132 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
1133 ,X_CUSTOM_MODE => X_CUSTOM_MODE
1134 );
1135 end if;
1136 end LOAD_SEED_ROW;
1137 END AME_CALLING_APPS_API;