-
The Pending Contractor Termination Stalker process sends email to Resource Manager if the Contractor(s) termination date is 3 weeks or less. This is an On Demand process in Clarity named Contractor Reminders and can be manually executed from the Organizer. If there are number of processes in the Organizer – Available Processes, this process can be filtered and then checked to Start. When Contractor Reminders process is started it will be seen in the Initiated on the Processes tab. The process status can be monitored from Running to the Completed stage. The Progress when 100% and the Status is Completed an email would have arrived to the Resource Manager with subject: “Contractor(s) With Termination Date in 3 weeks or less”. This email will list the Contractors whose contracts will terminate on the identified date. -
A Resource Calendar sub-object is populated by a non-object-specific process, executed by the “Execute a Process” job, which can be scheduled. The first 7 rows of the sub-object display the standard week from the base calendar, including columns for Day of Week, Is Workday (checked/unchecked), Shifts, and work Hours available. The remaining rows display calendar exceptions, including columns for Day of Week, Exception Date, Is Exception (checked), and work Hours available. If exception changes to a workday, Is Workday column is checked, and Shifts also display. If exception changes to a non-workday, Is PTO column is checked. Resource Calendar object is filterable by Calendar Entry Type (All, Calendar Exception, Day of Week), Day of Week, Exception Date Range, Is Workday, Is Exception, Is PTO, and power filter. -
A Resource Calendar sub-object is populated by a non-object-specific process, executed by the “Execute a Process” job, which can be scheduled. The first 7 rows of the sub-object display the standard week from the base calendar, including columns for Day of Week, Is Workday (checked/unchecked), Shifts, and work Hours available. The remaining rows display calendar exceptions, including columns for Day of Week, Exception Date, Is Exception (checked), and work Hours available. If exception changes to a workday, Is Workday column is checked, and Shifts also display. If exception changes to a non-workday, Is PTO column is checked. Resource Calendar object is filterable by Calendar Entry Type (All, Calendar Exception, Day of Week), Day of Week, Exception Date Range, Is Workday, Is Exception, Is PTO, and power filter. -
This process must be run using the “Execute a Process” job. Job may be scheduled or run on-demand. Process pulls Availability Rate from the Availability blob for each resource, where blob is not null. Then it populates this value into a custom Daily Availability attribute (Number field with 2 decimals) on the Resource object. This field does not have to be displayed to be used for reporting. Because the OOB Availability Rate field is stored only in a blob, it is difficult to include in portlet or report output. The use of this custom attribute makes the value easily reportable. -
This process workflow with gel script forces billable hours on timesheet down to 40 hours, and sets overtime hours to non-billable. Timesheets with 40 or fewer hours are not touched. Process kicks off upon submission of timesheet. Steps are:- Determine if timesheet has > 40 hours. If so, proceed.
- Create a SPLIT row for each timesheet row, with Input Type Code = Non-Bill.
- Divide 40 by total timesheet ours. Store this value.
- Multiply each timesheet cell by the stored value, and enter the result into that cell.
- Take the difference (original cell value – new cell value), and enter in same cell on Split row.
- The end result will be 40 hours total on Billable rows, and overtime hours on Non-Billable rows.
-
This process workflow with gel script forces billable hours on timesheet down to 40 hours, and sets overtime hours to non-billable. Timesheets with 40 or fewer hours are not touched. Process kicks off upon submission of timesheet. Steps are:- Determine if timesheet has > 40 hours. If so, proceed.
- Create a SPLIT row for each timesheet row, with Input Type Code = Non-Bill.
- Divide 40 by total timesheet ours. Store this value.
- Multiply each timesheet cell by the stored value, and enter the result into that cell.
- Take the difference (original cell value – new cell value), and enter in same cell on Split row.
- The end result will be 40 hours total on Billable rows, and overtime hours on Non-Billable rows.
-
The interface runs using a MS Excel template called Project Allocation Upload that will be distributed to users.- Configuration
- A master object called Allocation Upload Files will be created. The object will contain a required attachment field on the create page that will receive the Project Allocation Upload MS Excel file.
- A new sub-object called Allocation Upload Records will be created. This object will contain the fields necessary to receive the data rows from the Project Allocation Upload template.
- The master object will store the file level data while the sub-object will store the rows that belong to the file.
- Users must be granted security to view and edit the master and sub-objects in order to run the upload process.
- Project Allocation Upload Template
- The Project Allocation Upload template must remain static. Any changes other than creating additional time periods or additional rows will cause the process to error.
- Only the Project Allocation Upload template can be used to load records to the new objects.
- The Project Allocation Upload will only accept months across the x-axis in the format DD/MM/YYYY. The month headers must appear in the first row of the template and contain the first day of the month.
- The template must be distributed to the users that will be using the upload functionality.
- Users will be required to enter an Investment ID and Resource ID so the process can correctly identify investments and resources to upload the allocation hours against.
- A Staff OBS is not required but can be populated by users to have the data uploaded into CA PPM.
- The owner of the Project Allocation Upload template is responsible for providing users a valid list of Staff OBS Units.
- Investments will not be created through the interface. As such a valid Investment ID must be provided.
- Resources can be added to the investment team through the interface. If a valid Resource ID is provided the resource’s allocation will be updated if the resource already exists on the investment. If the resource does not already exist on the investment the resource will be added to the team along with the allocation hours.
- The Project Allocation Upload template will accept hours, not allocation percentages. Because CA PPM stores allocations as percentages of a resource’s availability the upload process must convert hours to a percentage. As a result small rounding errors may occur in the neighborhood of .01 hours per month.
- Resources cannot be removed from investment teams through the interface.
- The Project Allocation Upload template will support allocation uploads to different instances of the same role on the same investment as long as different Staff OBS units are provided.
- If multiple instances of the same role are assigned to the investment with the same Staff OBS the process will not know which instance of the role to upload the hours to. In these cases the process will consider these records as invalid. The PM will need to manually remove one of the instances or upload the hours manually..
- If multiple instances of the same role with the same Staff OBS unit are assigned to the same investment in the upload template the monthly hours will be totaled by investment, by role, by Staff OBS.
- The allocation template will follow the format in the screenshot area.
- Process
- To initiate the Allocation Interface a user will create a new Allocation Upload File instance, attach the Project Allocation Upload Template, and save the record. The file attachment field is an “enter-once” field, meaning that once a value has been set it cannot be changed. If a user wishes to upload another field they will create a new record.
- After the file has been attached the user will be presented with two check box fields, one to Validate and one to Validate and Upload. Checking either or both options will initiate the process.
- The process will first determine if any sub-object instances exist for the file. In other words, do any records already exist in the Allocation Upload Records sub-object pertaining to the newly uploaded file. If there are no records in the sub-object the process will use the uploaded file and read its contents into the sub-object. If errors are encountered during the file read they will be written to the process console, the process will throw an error, and end.
- Next, records will be validated. Only the sub-object instances that belong to the master object will be validated. Records belonging to other master object instances will not be validated or processed. All records in a status of Ready for Processing, Failed Validation, or Xog Load Error will be validated. Records will fail validation if an investment is not found corresponding to the investment ID provided, a resource is not found corresponding to the resource ID provided, or the date provided is not valid, or a provided Staff OBS does not yield a match. Records that fail validation will be flagged as invalid along with a description as to why they failed validation. Records that pass validation will be flagged as Ready for Processing and locked. The sub-object instances can be exported to excel if further analysis is required. If the Validate & Upload option was not selected the process will end here.
- Regarding the Staff OBS. Only one OBS can be designed as the OBS that the interface will use to validate the Staff OBS records.
- The Staff OBS value from the template must match against the name of an OBS node in the designed Staff OBS.
- If the Staff OBS value matches against multiple nodes in the Staff OBS the record will be flagged as invalid as the process will not know which node to use.
- If the Validate & Upload option was selected the process will continue and any valid records will be xog’ed into the investment team. The xog will be executed as the user that initiated the process so any security rules enforced by xog will be respected by the process.
- Successful records will be flagged as Processed Successfully in the sub-object and remain locked. Records that did not load successfully, due to a xog error or security limitation will be flagged as Xog Load Error, unlocked, and updated with a description containing the full xog output.
- Records that failed validation or failed the xog load can be manually edited and revalidated, and attempt to be uploaded again. Subsequent runs of the process will not read in data from the file, but rather process only sub-object instances that currently exist.
- Configuration
-
The interface runs using a MS Excel template called Project Allocation Upload that will be distributed to users.- Configuration
- A master object called Allocation Upload Files will be created. The object will contain a required attachment field on the create page that will receive the Project Allocation Upload MS Excel file.
- A new sub-object called Allocation Upload Records will be created. This object will contain the fields necessary to receive the data rows from the Project Allocation Upload template.
- The master object will store the file level data while the sub-object will store the rows that belong to the file.
- Users must be granted security to view and edit the master and sub-objects in order to run the upload process.
- Project Allocation Upload Template
- The Project Allocation Upload template must remain static. Any changes other than creating additional time periods or additional rows will cause the process to error.
- Only the Project Allocation Upload template can be used to load records to the new objects.
- The Project Allocation Upload will only accept months across the x-axis in the format DD/MM/YYYY. The month headers must appear in the first row of the template and contain the first day of the month.
- The template must be distributed to the users that will be using the upload functionality.
- Users will be required to enter an Investment ID and Resource ID so the process can correctly identify investments and resources to upload the allocation hours against.
- A Staff OBS is not required but can be populated by users to have the data uploaded into CA PPM.
- The owner of the Project Allocation Upload template is responsible for providing users a valid list of Staff OBS Units.
- Investments will not be created through the interface. As such a valid Investment ID must be provided.
- Resources can be added to the investment team through the interface. If a valid Resource ID is provided the resource’s allocation will be updated if the resource already exists on the investment. If the resource does not already exist on the investment the resource will be added to the team along with the allocation hours.
- The Project Allocation Upload template will accept hours, not allocation percentages. Because CA PPM stores allocations as percentages of a resource’s availability the upload process must convert hours to a percentage. As a result small rounding errors may occur in the neighborhood of .01 hours per month.
- Resources cannot be removed from investment teams through the interface.
- The Project Allocation Upload template will support allocation uploads to different instances of the same role on the same investment as long as different Staff OBS units are provided.
- If multiple instances of the same role are assigned to the investment with the same Staff OBS the process will not know which instance of the role to upload the hours to. In these cases the process will consider these records as invalid. The PM will need to manually remove one of the instances or upload the hours manually..
- If multiple instances of the same role with the same Staff OBS unit are assigned to the same investment in the upload template the monthly hours will be totaled by investment, by role, by Staff OBS.
- The allocation template will follow the format in the screenshot area.
- Process
- To initiate the Allocation Interface a user will create a new Allocation Upload File instance, attach the Project Allocation Upload Template, and save the record. The file attachment field is an “enter-once” field, meaning that once a value has been set it cannot be changed. If a user wishes to upload another field they will create a new record.
- After the file has been attached the user will be presented with two check box fields, one to Validate and one to Validate and Upload. Checking either or both options will initiate the process.
- The process will first determine if any sub-object instances exist for the file. In other words, do any records already exist in the Allocation Upload Records sub-object pertaining to the newly uploaded file. If there are no records in the sub-object the process will use the uploaded file and read its contents into the sub-object. If errors are encountered during the file read they will be written to the process console, the process will throw an error, and end.
- Next, records will be validated. Only the sub-object instances that belong to the master object will be validated. Records belonging to other master object instances will not be validated or processed. All records in a status of Ready for Processing, Failed Validation, or Xog Load Error will be validated. Records will fail validation if an investment is not found corresponding to the investment ID provided, a resource is not found corresponding to the resource ID provided, or the date provided is not valid, or a provided Staff OBS does not yield a match. Records that fail validation will be flagged as invalid along with a description as to why they failed validation. Records that pass validation will be flagged as Ready for Processing and locked. The sub-object instances can be exported to excel if further analysis is required. If the Validate & Upload option was not selected the process will end here.
- Regarding the Staff OBS. Only one OBS can be designed as the OBS that the interface will use to validate the Staff OBS records.
- The Staff OBS value from the template must match against the name of an OBS node in the designed Staff OBS.
- If the Staff OBS value matches against multiple nodes in the Staff OBS the record will be flagged as invalid as the process will not know which node to use.
- If the Validate & Upload option was selected the process will continue and any valid records will be xog’ed into the investment team. The xog will be executed as the user that initiated the process so any security rules enforced by xog will be respected by the process.
- Successful records will be flagged as Processed Successfully in the sub-object and remain locked. Records that did not load successfully, due to a xog error or security limitation will be flagged as Xog Load Error, unlocked, and updated with a description containing the full xog output.
- Records that failed validation or failed the xog load can be manually edited and revalidated, and attempt to be uploaded again. Subsequent runs of the process will not read in data from the file, but rather process only sub-object instances that currently exist.
- Configuration
-
A process creating a new Cost Plan. Cost Plan properties:
Pre-conditions:Name Cost Plan created on: yyyy/mm/dd hh:mm:ss Grouping attributes Charge Code, Transaction Type Start Period The earliest fiscal period with Actuals (from PPA_WIP table) or current period, if there are no actuals Finish Period The latest fiscal period with a non-zero allocation (from PRJ_BLB_SLICES table, SLICE_REQUEST_ID = 6 Period Type Monthly Plan of Record True Planned Cost For periods in the past – from Actuals (Charge Code, Transaction Type, Quantity (Units), Cost (Amount) taken from Transactions (PPA_WIP & PPA_WIP_DETAILS); For current and future periods – from Allocations (Charge Code taken from the Project, Transaction Class from the Resource, Quantity from allocation slices, Cost from the Rate Matrix (NBI_PROJ_RES_RATES_AND_COSTS table) - the Project must be financially enabled.
- if a new Team Member is added, Rate Matrix job must be run, so the rates are populated in the NBI table.
- if the Allocation changes, allow the timeslice job to finish before running the process.
- the Project should have the Charge Code set.
-
A process creating a new Cost Plan. Cost Plan properties:
Pre-conditions:Name Cost Plan created on: yyyy/mm/dd hh:mm:ss Grouping attributes Charge Code, Transaction Type Start Period The earliest fiscal period with Actuals (from PPA_WIP table) or current period, if there are no actuals Finish Period The latest fiscal period with a non-zero allocation (from PRJ_BLB_SLICES table, SLICE_REQUEST_ID = 6 Period Type Monthly Plan of Record True Planned Cost For periods in the past – from Actuals (Charge Code, Transaction Type, Quantity (Units), Cost (Amount) taken from Transactions (PPA_WIP & PPA_WIP_DETAILS); For current and future periods – from Allocations (Charge Code taken from the Project, Transaction Class from the Resource, Quantity from allocation slices, Cost from the Rate Matrix (NBI_PROJ_RES_RATES_AND_COSTS table) - the Project must be financially enabled.
- if a new Team Member is added, Rate Matrix job must be run, so the rates are populated in the NBI table.
- if the Allocation changes, allow the timeslice job to finish before running the process.
- the Project should have the Charge Code set.
-
A process creating a new Cost Plan. Cost Plan properties:
Pre-conditions:Name Cost Plan created on: yyyy/mm/dd hh:mm:ss Grouping attributes Charge Code, Transaction Type Start Period The earliest fiscal period with Actuals (from PPA_WIP table) or current period, if there are no actuals Finish Period The latest fiscal period with a non-zero allocation (from PRJ_BLB_SLICES table, SLICE_REQUEST_ID = 6 Period Type Monthly Plan of Record True Planned Cost For periods in the past – from Actuals (Charge Code, Transaction Type, Quantity (Units), Cost (Amount) taken from Transactions (PPA_WIP & PPA_WIP_DETAILS); For current and future periods – from Allocations (Charge Code taken from the Project, Transaction Class from the Resource, Quantity from allocation slices, Cost from the Rate Matrix (NBI_PROJ_RES_RATES_AND_COSTS table) - the Project must be financially enabled.
- if a new Team Member is added, Rate Matrix job must be run, so the rates are populated in the NBI table.
- if the Allocation changes, allow the timeslice job to finish before running the process.
- the Project should have the Charge Code set.
-
The Timesheet Smoothing Process Workflow kicks-off when an individual timesheet is Submitted. It splits each transaction on the timesheet when total timesheet actuals exceed total weekly availability for the resource. Total weekly availability is determined by multiplying resource availability rate by the number of workdays in the week. Non-workdays include weekends, holidays, PTO, and other scheduled days off, as set on the resource calendar. If timesheet actuals <= total weekly availability, then the timesheet remains unchanged. But if timesheet actuals > total weekly availability, then the following occurs. Each timesheet transaction is reduced by a calculated percentage that will reduce the total regular hours to equal the total weekly availability. Then the remaining transaction hours are placed in a “Split” row for that task on that day, with an Input Type Code set based on a process parameter (which parameter can be set within the script action on the process). Note: If a single day has overtime hours, but the total timesheet actuals <= total weekly availability, no splitting occurs.

