21: ,X_ITEM_CLASS_ID out nocopy number
22: ) as
23: L_ORIG_SYSTEM AME_APPROVER_TYPES.ORIG_SYSTEM%TYPE;
24: begin
25: if AME_SEED_UTILITY.AME_INSTALLATION_LEVEL is null then
26: X_APPROVER_TYPE_ID := null;
27: X_ITEM_CLASS_ID := 0;
28: if X_ITEM_CLASS_NAME is not null then
29: if X_ITEM_CLASS_NAME = 'header' then
109: procedure FORMAT_KEY
110: (X_ATTRIBUTE_NAME in out nocopy varchar2
111: ) as
112: begin
113: if AME_SEED_UTILITY.AME_INSTALLATION_LEVEL is null then
114: if X_ATTRIBUTE_NAME = 'EVALUATE_PRIORITIES_PER_ITEM' then
115: X_ATTRIBUTE_NAME := 'EVALUATE_PRIORITIES_PER_LINE_ITEM';
116: elsif X_ATTRIBUTE_NAME = 'USE_RESTRICTIVE_ITEM_EVALUATION' then
117: X_ATTRIBUTE_NAME := 'USE_RESTRICTIVE_LINE_ITEM_EVALUATION';
194: from AME_ATTRIBUTES
195: where NAME = X_ATTRIBUTE_NAME
196: and sysdate between START_DATE and nvl(END_DATE - (1/86400), sysdate));
197:
198: if not AME_SEED_UTILITY.MLS_ENABLED then
199: return;
200: end if;
201:
202: insert into AME_ATTRIBUTES_TL
318: ,X_LAST_UPDATE_LOGIN
319: ,X_OBJECT_VERSION_NUMBER
320: );
321:
322: if not AME_SEED_UTILITY.MLS_ENABLED then
323: return;
324: end if;
325:
326: update AME_ATTRIBUTES_TL
367: END_DATE = X_END_DATE,
368: OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
369: where ROWID = X_ROWID;
370:
371: if not AME_SEED_UTILITY.MLS_ENABLED then
372: return;
373: end if;
374:
375: update AME_ATTRIBUTES_TL
416: L_ORIG_SYSTEM := X_ORIG_SYSTEM;
417: L_ITEM_CLASS_NAME := X_ITEM_CLASS_NAME;
418: L_OWNER := X_OWNER;
419: L_LAST_UPDATE_DATE := X_LAST_UPDATE_DATE;
420: L_END_DATE := AME_SEED_UTILITY.GET_DEFAULT_END_DATE;
421:
422: VALIDATE_ROW
423: (X_ATTRIBUTE_TYPE => L_ATTRIBUTE_TYPE);
424:
450: ,X_DESCRIPTION => L_DESCRIPTION
451: ,X_LINE_ITEM => L_LINE_ITEM
452: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
453: ,X_APPROVER_TYPE_ID => L_APPROVER_TYPE_ID
454: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
455: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
456: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
457: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
458: ,X_LAST_UPDATE_LOGIN => 0
451: ,X_LINE_ITEM => L_LINE_ITEM
452: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
453: ,X_APPROVER_TYPE_ID => L_APPROVER_TYPE_ID
454: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
455: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
456: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
457: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
458: ,X_LAST_UPDATE_LOGIN => 0
459: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
452: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
453: ,X_APPROVER_TYPE_ID => L_APPROVER_TYPE_ID
454: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
455: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
456: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
457: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
458: ,X_LAST_UPDATE_LOGIN => 0
459: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
460: ,X_END_DATE => L_END_DATE
453: ,X_APPROVER_TYPE_ID => L_APPROVER_TYPE_ID
454: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
455: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
456: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
457: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
458: ,X_LAST_UPDATE_LOGIN => 0
459: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
460: ,X_END_DATE => L_END_DATE
461: ,X_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER + 1
455: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
456: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
457: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
458: ,X_LAST_UPDATE_LOGIN => 0
459: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
460: ,X_END_DATE => L_END_DATE
461: ,X_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER + 1
462: );
463: else
468: ,X_DESCRIPTION => L_DESCRIPTION
469: ,X_LINE_ITEM => L_LINE_ITEM
470: ,X_APPROVER_TYPE_ID => L_APPROVER_TYPE_ID
471: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
472: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
473: ,X_END_DATE => L_END_DATE
474: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
475: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
476: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
470: ,X_APPROVER_TYPE_ID => L_APPROVER_TYPE_ID
471: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
472: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
473: ,X_END_DATE => L_END_DATE
474: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
475: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
476: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
477: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
478: ,X_LAST_UPDATE_LOGIN => 0
471: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
472: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
473: ,X_END_DATE => L_END_DATE
474: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
475: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
476: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
477: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
478: ,X_LAST_UPDATE_LOGIN => 0
479: ,X_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER + 1
472: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
473: ,X_END_DATE => L_END_DATE
474: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
475: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
476: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
477: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
478: ,X_LAST_UPDATE_LOGIN => 0
479: ,X_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER + 1
480: );
473: ,X_END_DATE => L_END_DATE
474: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
475: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
476: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
477: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
478: ,X_LAST_UPDATE_LOGIN => 0
479: ,X_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER + 1
480: );
481: end if;
487: ,X_DESCRIPTION => L_DESCRIPTION
488: ,X_LINE_ITEM => L_LINE_ITEM
489: ,X_APPROVER_TYPE_ID => L_APPROVER_TYPE_ID
490: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
491: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
492: ,X_END_DATE => L_END_DATE
493: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
494: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
495: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
489: ,X_APPROVER_TYPE_ID => L_APPROVER_TYPE_ID
490: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
491: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
492: ,X_END_DATE => L_END_DATE
493: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
494: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
495: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
496: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
497: ,X_LAST_UPDATE_LOGIN => 0
490: ,X_ITEM_CLASS_ID => L_ITEM_CLASS_ID
491: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
492: ,X_END_DATE => L_END_DATE
493: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
494: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
495: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
496: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
497: ,X_LAST_UPDATE_LOGIN => 0
498: ,X_OBJECT_VERSION_NUMBER => 1
491: ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
492: ,X_END_DATE => L_END_DATE
493: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
494: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
495: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
496: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
497: ,X_LAST_UPDATE_LOGIN => 0
498: ,X_OBJECT_VERSION_NUMBER => 1
499: );
492: ,X_END_DATE => L_END_DATE
493: ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
494: ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
495: ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
496: ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
497: ,X_LAST_UPDATE_LOGIN => 0
498: ,X_OBJECT_VERSION_NUMBER => 1
499: );
500: end;
507: ,X_LAST_UPDATE_DATE in varchar2
508: ) as
509: X_ATTRIBUTE_ID number;
510: begin
511: if not AME_SEED_UTILITY.MLS_ENABLED then
512: return;
513: end if;
514:
515: begin
524:
525: update AME_ATTRIBUTES_TL AATL
526: set DESCRIPTION = nvl(X_DESCRIPTION,AATL.DESCRIPTION),
527: SOURCE_LANG = userenv('LANG'),
528: LAST_UPDATE_DATE = AME_SEED_UTILITY.DATE_AS_DATE(X_LAST_UPDATE_DATE),
529: LAST_UPDATED_BY = AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
530: LAST_UPDATE_LOGIN = 0
531: where AATL.ATTRIBUTE_ID = X_ATTRIBUTE_ID
532: and userenv('LANG') in (AATL.LANGUAGE,AATL.SOURCE_LANG);
525: update AME_ATTRIBUTES_TL AATL
526: set DESCRIPTION = nvl(X_DESCRIPTION,AATL.DESCRIPTION),
527: SOURCE_LANG = userenv('LANG'),
528: LAST_UPDATE_DATE = AME_SEED_UTILITY.DATE_AS_DATE(X_LAST_UPDATE_DATE),
529: LAST_UPDATED_BY = AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
530: LAST_UPDATE_LOGIN = 0
531: where AATL.ATTRIBUTE_ID = X_ATTRIBUTE_ID
532: and userenv('LANG') in (AATL.LANGUAGE,AATL.SOURCE_LANG);
533: exception
549: begin
550: if X_UPLOAD_MODE = 'NLS' then
551: begin
552: select AATL.LAST_UPDATED_BY,
553: AME_SEED_UTILITY.DATE_AS_STRING(AATL.LAST_UPDATE_DATE),
554: AME_SEED_UTILITY.OWNER_AS_STRING(AATL.CREATED_BY)
555: into X_CURRENT_OWNER,
556: X_CURRENT_LAST_UPDATE_DATE,
557: X_CREATED_BY
550: if X_UPLOAD_MODE = 'NLS' then
551: begin
552: select AATL.LAST_UPDATED_BY,
553: AME_SEED_UTILITY.DATE_AS_STRING(AATL.LAST_UPDATE_DATE),
554: AME_SEED_UTILITY.OWNER_AS_STRING(AATL.CREATED_BY)
555: into X_CURRENT_OWNER,
556: X_CURRENT_LAST_UPDATE_DATE,
557: X_CREATED_BY
558: from AME_ATTRIBUTES_TL AATL,
560: where AATL.ATTRIBUTE_ID = AA.ATTRIBUTE_ID
561: and AA.NAME = X_ATTRIBUTE_NAME
562: and sysdate between AA.START_DATE and nvl(AA.END_DATE - (1/86400),sysdate)
563: and AATL.LANGUAGE = userenv('LANG');
564: if AME_SEED_UTILITY.IS_SEED_USER(X_CREATED_BY) then
565: return true;
566: else
567: return AME_SEED_UTILITY.TL_MERGE_ROW_TEST
568: (X_CURRENT_OWNER => X_CURRENT_OWNER
563: and AATL.LANGUAGE = userenv('LANG');
564: if AME_SEED_UTILITY.IS_SEED_USER(X_CREATED_BY) then
565: return true;
566: else
567: return AME_SEED_UTILITY.TL_MERGE_ROW_TEST
568: (X_CURRENT_OWNER => X_CURRENT_OWNER
569: ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
570: ,X_OWNER => AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER)
571: ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
566: else
567: return AME_SEED_UTILITY.TL_MERGE_ROW_TEST
568: (X_CURRENT_OWNER => X_CURRENT_OWNER
569: ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
570: ,X_OWNER => AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER)
571: ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
572: ,X_CUSTOM_MODE => X_CUSTOM_MODE
573: );
574: end if;
578: end;
579: else
580: begin
581: select AA.LAST_UPDATED_BY,
582: AME_SEED_UTILITY.DATE_AS_STRING(AA.LAST_UPDATE_DATE)
583: into X_CURRENT_OWNER,
584: X_CURRENT_LAST_UPDATE_DATE
585: from AME_ATTRIBUTES AA
586: where AA.NAME = X_ATTRIBUTE_NAME
584: X_CURRENT_LAST_UPDATE_DATE
585: from AME_ATTRIBUTES AA
586: where AA.NAME = X_ATTRIBUTE_NAME
587: and sysdate between AA.START_DATE and nvl(AA.END_DATE - (1/86400),sysdate);
588: return AME_SEED_UTILITY.MERGE_ROW_TEST
589: (X_CURRENT_OWNER => X_CURRENT_OWNER
590: ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
591: ,X_OWNER => AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER)
592: ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
587: and sysdate between AA.START_DATE and nvl(AA.END_DATE - (1/86400),sysdate);
588: return AME_SEED_UTILITY.MERGE_ROW_TEST
589: (X_CURRENT_OWNER => X_CURRENT_OWNER
590: ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
591: ,X_OWNER => AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER)
592: ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
593: ,X_CUSTOM_MODE => X_CUSTOM_MODE
594: );
595: exception
612: ,X_CUSTOM_MODE in varchar2
613: ) as
614: L_ATTRIBUTE_NAME AME_ATTRIBUTES.NAME%TYPE;
615: begin
616: AME_SEED_UTILITY.INIT_AME_INSTALLATION_LEVEL;
617:
618: L_ATTRIBUTE_NAME := X_ATTRIBUTE_NAME;
619:
620: if AME_SEED_UTILITY.AME_INSTALLATION_LEVEL is null then
616: AME_SEED_UTILITY.INIT_AME_INSTALLATION_LEVEL;
617:
618: L_ATTRIBUTE_NAME := X_ATTRIBUTE_NAME;
619:
620: if AME_SEED_UTILITY.AME_INSTALLATION_LEVEL is null then
621: if X_ITEM_CLASS_NAME is not null and
622: X_ITEM_CLASS_NAME not in ('header'
623: ,'line item') then
624: return;
670: procedure DELETE_ROW
671: (X_ATTRIBUTE_NAME in varchar2
672: ) as
673: begin
674: if AME_SEED_UTILITY.MLS_ENABLED then
675: delete from AME_ATTRIBUTES_TL
676: where ATTRIBUTE_ID in (select ATTRIBUTE_ID
677: from AME_ATTRIBUTES
678: where NAME = X_ATTRIBUTE_NAME);