4: useCount integer;
5: begin
6: select count(*)
7: into useCount
8: from ame_actions
9: where
10: action_type_id = actionTypeIdIn and
11: sysdate between start_date and
12: nvl(end_date - ame_util.oneSecond, sysdate) ;
79: actionTypeId integer;
80: begin
81: select action_type_id
82: into actionTypeId
83: from ame_actions
84: where
85: action_id = actionIdIn and
86: sysdate between start_date and
87: nvl(end_date - ame_util.oneSecond, sysdate) ;
209: name ame_action_types.name%type;
210: begin
211: select ame_action_types.name
212: into name
213: from ame_actions,
214: ame_action_types
215: where
216: ame_actions.action_type_id = ame_action_types.action_type_id and
217: action_id = actionIdIn and
212: into name
213: from ame_actions,
214: ame_action_types
215: where
216: ame_actions.action_type_id = ame_action_types.action_type_id and
217: action_id = actionIdIn and
218: sysdate between ame_actions.start_date and
219: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate) and
220: sysdate between ame_action_types.start_date and
214: ame_action_types
215: where
216: ame_actions.action_type_id = ame_action_types.action_type_id and
217: action_id = actionIdIn and
218: sysdate between ame_actions.start_date and
219: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate) and
220: sysdate between ame_action_types.start_date and
221: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate);
222: return(name);
215: where
216: ame_actions.action_type_id = ame_action_types.action_type_id and
217: action_id = actionIdIn and
218: sysdate between ame_actions.start_date and
219: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate) and
220: sysdate between ame_action_types.start_date and
221: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate);
222: return(name);
223: exception
400: stringStartDate varchar2(50);
401: begin
402: select start_date
403: into startDate
404: from ame_actions
405: where
406: action_id = actionIdIn and
407: sysdate between start_date and
408: nvl(end_date - ame_util.oneSecond, sysdate) ;
450: string returned by getDescription is 500 bytes.
451: */
452: function getDescription(actionIdIn in integer) return varchar2 as
453: actionTypeName ame_action_types.name%type;
454: approverName ame_actions.parameter%type;
455: description ame_actions.description%type;
456: approverDesc ame_util.longStringType;
457: approverValid boolean;
458: begin
451: */
452: function getDescription(actionIdIn in integer) return varchar2 as
453: actionTypeName ame_action_types.name%type;
454: approverName ame_actions.parameter%type;
455: description ame_actions.description%type;
456: approverDesc ame_util.longStringType;
457: approverValid boolean;
458: begin
459: if(getActionTypeDynamicDesc(actionTypeIdIn =>
461: return getDynamicActionDesc(actionIdIn => actionIdIn );
462: end if;
463: select description
464: into description
465: from ame_actions
466: where
467: action_id = actionIdIn and
468: sysdate between start_date and
469: nvl(end_date - ame_util.oneSecond, sysdate) ;
495: raise;
496: return(null);
497: end getDescription;
498: function getDescription2(actionIdIn in integer) return varchar2 as
499: approverName ame_actions.parameter%type;
500: description ame_actions.description%type;
501: approverDesc ame_util.longStringType;
502: approverValid boolean;
503: begin
496: return(null);
497: end getDescription;
498: function getDescription2(actionIdIn in integer) return varchar2 as
499: approverName ame_actions.parameter%type;
500: description ame_actions.description%type;
501: approverDesc ame_util.longStringType;
502: approverValid boolean;
503: begin
504: if(getActionTypeDynamicDesc(actionTypeIdIn =>
506: return getDynamicActionDesc(actionIdIn => actionIdIn );
507: end if;
508: select description
509: into description
510: from ame_actions
511: where
512: action_id = actionIdIn and
513: sysdate between start_date and
514: nvl(end_date - ame_util.oneSecond, sysdate) ;
542: function getDynamicActionDesc(actionIdIn in integer) return varchar2 as
543: actionDescription ame_util.stringType;
544: actionTypeName ame_action_types.name%type;
545: descriptionQuery ame_action_types.description_query%type;
546: parameterOne ame_actions.parameter%type;
547: parameterTwo ame_actions.parameter_two%type;
548: tempIndex integer;
549: begin
550: select description_query,
543: actionDescription ame_util.stringType;
544: actionTypeName ame_action_types.name%type;
545: descriptionQuery ame_action_types.description_query%type;
546: parameterOne ame_actions.parameter%type;
547: parameterTwo ame_actions.parameter_two%type;
548: tempIndex integer;
549: begin
550: select description_query,
551: parameter,
552: parameter_two
553: into descriptionQuery,
554: parameterOne,
555: parameterTwo
556: from ame_actions,
557: ame_action_types
558: where
559: ame_actions.action_type_id = ame_action_types.action_type_id and
560: action_id = actionIdIn and
555: parameterTwo
556: from ame_actions,
557: ame_action_types
558: where
559: ame_actions.action_type_id = ame_action_types.action_type_id and
560: action_id = actionIdIn and
561: sysdate between ame_action_types.start_date and
562: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate) and
563: sysdate between ame_actions.start_date and
559: ame_actions.action_type_id = ame_action_types.action_type_id and
560: action_id = actionIdIn and
561: sysdate between ame_action_types.start_date and
562: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate) and
563: sysdate between ame_actions.start_date and
564: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate);
565: if(instrb(descriptionQuery, ame_util.actionParameterOne) > 0) then
566: if(instrb(descriptionQuery, ame_util.actionParameterTwo) > 0) then /* both parameters */
567: execute immediate descriptionQuery
560: action_id = actionIdIn and
561: sysdate between ame_action_types.start_date and
562: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate) and
563: sysdate between ame_actions.start_date and
564: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate);
565: if(instrb(descriptionQuery, ame_util.actionParameterOne) > 0) then
566: if(instrb(descriptionQuery, ame_util.actionParameterTwo) > 0) then /* both parameters */
567: execute immediate descriptionQuery
568: into actionDescription using
623: actionId integer;
624: begin
625: select action_id
626: into actionId
627: from ame_actions
628: where
629: action_type_id = actionTypeIdIn and
630: ((parameterIn is null and parameter is null) or parameter = parameterIn) and
631: sysdate between start_date and
644: raise;
645: return(null);
646: end getId;
647: function getParameter(actionIdIn in integer) return varchar2 as
648: parameter ame_actions.parameter%type;
649: begin
650: select parameter
651: into parameter
652: from ame_actions
648: parameter ame_actions.parameter%type;
649: begin
650: select parameter
651: into parameter
652: from ame_actions
653: where
654: action_id = actionIdIn and
655: sysdate between start_date and
656: nvl(end_date - ame_util.oneSecond, sysdate) ;
668: raise;
669: return(null);
670: end getParameter;
671: function getParameter2(actionIdIn in integer) return varchar2 as
672: parameterTwo ame_actions.parameter_two%type;
673: begin
674: select parameter_two
675: into parameterTwo
676: from ame_actions
672: parameterTwo ame_actions.parameter_two%type;
673: begin
674: select parameter_two
675: into parameterTwo
676: from ame_actions
677: where
678: action_id = actionIdIn and
679: sysdate between start_date and
680: nvl(end_date - ame_util.oneSecond, sysdate) ;
1233: raise nullDescriptionException;
1234: end if;
1235: select count(*)
1236: into actionCount
1237: from ame_actions
1238: where
1239: (actionIdIn is null or action_id <> actionIdIn) and
1240: ((parameterIn is null and parameter is null) or parameter = parameterIn) and
1241: ((parameterTwoIn is null and parameter_two is null) or parameter_two = parameterTwoIn) and
1244: nvl(end_date - ame_util.oneSecond, sysdate);
1245: if(actionCount > 0) then
1246: raise duplicateActionException;
1247: end if;
1248: if(ame_util.isArgumentTooLong(tableNameIn => 'ame_actions',
1249: columnNameIn => 'description',
1250: argumentIn => descriptionIn)) then
1251: raise descriptionLengthException;
1252: end if;
1249: columnNameIn => 'description',
1250: argumentIn => descriptionIn)) then
1251: raise descriptionLengthException;
1252: end if;
1253: if(ame_util.isArgumentTooLong(tableNameIn => 'ame_actions',
1254: columnNameIn => 'parameter',
1255: argumentIn => parameterIn)) then
1256: raise parameterLengthException;
1257: end if;
1263: */
1264: currentUserId := ame_util.getCurrentUserId;
1265: if(actionIdIn is null) then
1266: createdBy := currentUserId;
1267: select ame_actions_s.nextval into actionId from dual;
1268: else
1269: actionId := actionIdIn;
1270: select count(*)
1271: into tempCount
1268: else
1269: actionId := actionIdIn;
1270: select count(*)
1271: into tempCount
1272: from ame_actions
1273: where
1274: action_id = actionId and
1275: created_by = ame_util.seededDataCreatedById;
1276: if(tempCount > 0) then
1279: createdBy := currentUserId;
1280: end if;
1281: end if;
1282: startDate := processingDate;
1283: insert into ame_actions(action_id,
1284: action_type_id,
1285: parameter,
1286: created_by,
1287: creation_date,
1410: errorMessage:= ame_util.getMessage(applicationShortNameIn => 'PER',
1411: messageNameIn => 'AME_400136_ACT_APP_DES_LNG',
1412: tokenNameOneIn => 'COLUMN_LENGTH',
1413: tokenValueOneIn =>
1414: ame_util.getColumnLength(tableNameIn => 'ame_actions',
1415: columnNameIn => 'description'));
1416: ame_util.runtimeException(packageNameIn => 'ame_action_pkg',
1417: routineNameIn => 'newAction',
1418: exceptionNumberIn => errorCode,
1426: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
1427: messageNameIn => 'AME_400138_ACT_APPR_TOO_LONG',
1428: tokenNameOneIn => 'COLUMN_LENGTH',
1429: tokenValueOneIn =>
1430: ame_util.getColumnLength(tableNameIn => 'ame_actions',
1431: columnNameIn => 'parameter'));
1432: ame_util.runtimeException(packageNameIn => 'ame_action_pkg',
1433: routineNameIn => 'newAction',
1434: exceptionNumberIn => errorCode,
1699: nvl(end_date - ame_util.oneSecond, sysdate)
1700: for update;
1701: cursor startDateCursor2 is
1702: select start_date
1703: from ame_actions
1704: where action_id = actionIdIn and
1705: sysdate between start_date and
1706: nvl(end_date - ame_util.oneSecond, sysdate)
1707: for update;
1704: where action_id = actionIdIn and
1705: sysdate between start_date and
1706: nvl(end_date - ame_util.oneSecond, sysdate)
1707: for update;
1708: actionId ame_actions.action_id%type;
1709: actionTypeId ame_action_types.action_type_id%type;
1710: currentUserId integer;
1711: description ame_actions.description%type;
1712: endDate date;
1707: for update;
1708: actionId ame_actions.action_id%type;
1709: actionTypeId ame_action_types.action_type_id%type;
1710: currentUserId integer;
1711: description ame_actions.description%type;
1712: endDate date;
1713: errorCode integer;
1714: errorMessage ame_util.longestStringType;
1715: newActionTypeId ame_action_types.action_type_id%type;
1751: end if;
1752: end if;
1753: select count(*)
1754: into tempCount
1755: from ame_actions
1756: where
1757: action_id = actionIdIn and
1758: action_type_id = actionTypeIdIn and
1759: (descriptionIn is null or description = descriptionIn) and
1776: currentUserId := ame_util.getCurrentUserId;
1777: /* make sure the end_date and start_date values do not overlap */
1778: endDate := sysdate ;
1779: newStartDate := sysdate;
1780: update ame_actions
1781: set
1782: last_updated_by = currentUserId,
1783: last_update_date = endDate,
1784: last_update_login = currentUserId,
2302: select
2303: action_id,
2304: description,
2305: parameter
2306: from ame_actions
2307: where
2308: action_type_id = actionTypeIdIn and
2309: sysdate between start_date and
2310: nvl(end_date - ame_util.oneSecond, sysdate)
2347: cursor actionCursor(actionTypeIdIn in integer) is
2348: select
2349: action_id,
2350: parameter
2351: from ame_actions
2352: where
2353: action_type_id = actionTypeIdIn and
2354: sysdate between start_date and
2355: nvl(end_date - ame_util.oneSecond, sysdate)
2397: cursor actionCursor(actionTypeIdIn in integer) is
2398: select
2399: ame_action_types.name,
2400: ame_action_types.description_query,
2401: ame_actions.action_id,
2402: ame_actions.description,
2403: ame_actions.parameter,
2404: ame_actions.parameter_two,
2405: ame_actions.created_by
2398: select
2399: ame_action_types.name,
2400: ame_action_types.description_query,
2401: ame_actions.action_id,
2402: ame_actions.description,
2403: ame_actions.parameter,
2404: ame_actions.parameter_two,
2405: ame_actions.created_by
2406: from ame_action_types,
2399: ame_action_types.name,
2400: ame_action_types.description_query,
2401: ame_actions.action_id,
2402: ame_actions.description,
2403: ame_actions.parameter,
2404: ame_actions.parameter_two,
2405: ame_actions.created_by
2406: from ame_action_types,
2407: ame_actions
2400: ame_action_types.description_query,
2401: ame_actions.action_id,
2402: ame_actions.description,
2403: ame_actions.parameter,
2404: ame_actions.parameter_two,
2405: ame_actions.created_by
2406: from ame_action_types,
2407: ame_actions
2408: where
2401: ame_actions.action_id,
2402: ame_actions.description,
2403: ame_actions.parameter,
2404: ame_actions.parameter_two,
2405: ame_actions.created_by
2406: from ame_action_types,
2407: ame_actions
2408: where
2409: ame_action_types.action_type_id = ame_actions.action_type_id and
2403: ame_actions.parameter,
2404: ame_actions.parameter_two,
2405: ame_actions.created_by
2406: from ame_action_types,
2407: ame_actions
2408: where
2409: ame_action_types.action_type_id = ame_actions.action_type_id and
2410: ame_action_types.action_type_id = actionTypeIdIn and
2411: sysdate between ame_action_types.start_date and
2405: ame_actions.created_by
2406: from ame_action_types,
2407: ame_actions
2408: where
2409: ame_action_types.action_type_id = ame_actions.action_type_id and
2410: ame_action_types.action_type_id = actionTypeIdIn and
2411: sysdate between ame_action_types.start_date and
2412: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate) and
2413: sysdate between ame_actions.start_date and
2409: ame_action_types.action_type_id = ame_actions.action_type_id and
2410: ame_action_types.action_type_id = actionTypeIdIn and
2411: sysdate between ame_action_types.start_date and
2412: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate) and
2413: sysdate between ame_actions.start_date and
2414: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate)
2415: order by ame_actions.created_by, ame_actions.description;
2416: parameterOne ame_actions.parameter%type;
2417: parameterTwo ame_actions.parameter_two%type;
2410: ame_action_types.action_type_id = actionTypeIdIn and
2411: sysdate between ame_action_types.start_date and
2412: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate) and
2413: sysdate between ame_actions.start_date and
2414: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate)
2415: order by ame_actions.created_by, ame_actions.description;
2416: parameterOne ame_actions.parameter%type;
2417: parameterTwo ame_actions.parameter_two%type;
2418: tempIndex integer;
2411: sysdate between ame_action_types.start_date and
2412: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate) and
2413: sysdate between ame_actions.start_date and
2414: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate)
2415: order by ame_actions.created_by, ame_actions.description;
2416: parameterOne ame_actions.parameter%type;
2417: parameterTwo ame_actions.parameter_two%type;
2418: tempIndex integer;
2419: begin
2412: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate) and
2413: sysdate between ame_actions.start_date and
2414: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate)
2415: order by ame_actions.created_by, ame_actions.description;
2416: parameterOne ame_actions.parameter%type;
2417: parameterTwo ame_actions.parameter_two%type;
2418: tempIndex integer;
2419: begin
2420: tempIndex := 1;
2413: sysdate between ame_actions.start_date and
2414: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate)
2415: order by ame_actions.created_by, ame_actions.description;
2416: parameterOne ame_actions.parameter%type;
2417: parameterTwo ame_actions.parameter_two%type;
2418: tempIndex integer;
2419: begin
2420: tempIndex := 1;
2421: for tempAction in actionCursor(actionTypeIdIn => actionTypeIdIn) loop
2474: procedure getActions4(actionTypeIdIn in integer,
2475: actionIdsOut out nocopy ame_util.stringList,
2476: actionDescriptionsOut out nocopy ame_util.stringList) as
2477: cursor actionsCursor is
2478: select ame_actions.action_id,
2479: ame_actions.parameter,
2480: ame_actions.parameter_two,
2481: ame_actions.description,
2482: ame_action_types.dynamic_description,
2475: actionIdsOut out nocopy ame_util.stringList,
2476: actionDescriptionsOut out nocopy ame_util.stringList) as
2477: cursor actionsCursor is
2478: select ame_actions.action_id,
2479: ame_actions.parameter,
2480: ame_actions.parameter_two,
2481: ame_actions.description,
2482: ame_action_types.dynamic_description,
2483: ame_action_types.description_query
2476: actionDescriptionsOut out nocopy ame_util.stringList) as
2477: cursor actionsCursor is
2478: select ame_actions.action_id,
2479: ame_actions.parameter,
2480: ame_actions.parameter_two,
2481: ame_actions.description,
2482: ame_action_types.dynamic_description,
2483: ame_action_types.description_query
2484: from ame_actions,
2477: cursor actionsCursor is
2478: select ame_actions.action_id,
2479: ame_actions.parameter,
2480: ame_actions.parameter_two,
2481: ame_actions.description,
2482: ame_action_types.dynamic_description,
2483: ame_action_types.description_query
2484: from ame_actions,
2485: ame_action_types
2480: ame_actions.parameter_two,
2481: ame_actions.description,
2482: ame_action_types.dynamic_description,
2483: ame_action_types.description_query
2484: from ame_actions,
2485: ame_action_types
2486: where
2487: ame_actions.action_type_id = ame_action_types.action_type_id and
2488: ame_actions.action_type_id = actionTypeIdIn and
2483: ame_action_types.description_query
2484: from ame_actions,
2485: ame_action_types
2486: where
2487: ame_actions.action_type_id = ame_action_types.action_type_id and
2488: ame_actions.action_type_id = actionTypeIdIn and
2489: sysdate between ame_actions.start_date and
2490: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate) and
2491: sysdate between ame_action_types.start_date and
2484: from ame_actions,
2485: ame_action_types
2486: where
2487: ame_actions.action_type_id = ame_action_types.action_type_id and
2488: ame_actions.action_type_id = actionTypeIdIn and
2489: sysdate between ame_actions.start_date and
2490: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate) and
2491: sysdate between ame_action_types.start_date and
2492: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate)
2485: ame_action_types
2486: where
2487: ame_actions.action_type_id = ame_action_types.action_type_id and
2488: ame_actions.action_type_id = actionTypeIdIn and
2489: sysdate between ame_actions.start_date and
2490: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate) and
2491: sysdate between ame_action_types.start_date and
2492: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate)
2493: order by ame_actions.created_by, ame_actions.description;
2486: where
2487: ame_actions.action_type_id = ame_action_types.action_type_id and
2488: ame_actions.action_type_id = actionTypeIdIn and
2489: sysdate between ame_actions.start_date and
2490: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate) and
2491: sysdate between ame_action_types.start_date and
2492: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate)
2493: order by ame_actions.created_by, ame_actions.description;
2494: actionId integer;
2489: sysdate between ame_actions.start_date and
2490: nvl(ame_actions.end_date - ame_util.oneSecond, sysdate) and
2491: sysdate between ame_action_types.start_date and
2492: nvl(ame_action_types.end_date - ame_util.oneSecond, sysdate)
2493: order by ame_actions.created_by, ame_actions.description;
2494: actionId integer;
2495: tempIndex integer;
2496: begin
2497: tempIndex := 1;
3514: finalizeIn in boolean default false,
3515: processingDateIn in date default null) as
3516: cursor startDateCursor2(actionIdIn in integer) is
3517: select start_date
3518: from ame_actions
3519: where
3520: action_id = actionIdIn and
3521: sysdate between start_date and
3522: nvl(end_date - ame_util.oneSecond, sysdate)
3552: if(childVersionStartDatesIn(i) = startDate) then
3553: if(isInUse(actionIdIn(i))) then
3554: raise inUseException;
3555: end if;
3556: update ame_actions
3557: set
3558: last_updated_by = currentUserId,
3559: last_update_date = processingDate,
3560: last_update_login = currentUserId,