What is required to delete transaction classes that are not used anymore. Even if it is a default OOTB transaction class that is not used, can they be deleted or should they be left alone?
Release: All supported clarity version
If a Transaction Class has not been used, the application will allow the record to be deleted through the UI. The application does a validation check and if the class has been used, an alert will show to indicate it cannot be deleted.
Steps:
The application checks for the use of the Transaction Class in the following areas:
If you find that you have existing data in Budget Financial Plans or posted into WIP you won't have the ability to edit these records to remove them and thus the Transaction Class will have to remain in the system for data integrity for this historical data. There is a job that will allow you to 'purge' investment financial data and delete the investment, but this should be used with caution as it permanently deletes data. The 'Purge Financial Tables' job will NOT remove any Financial Plans on the investment. The job only removes financial actual transactions. To remove the detailed financial plans, you must also run the 'Delete Investments' job after successfully deleting the financial actual data.
Note: Grant the Job - Run access right for this job to only the selected users who can govern the process of deleting the investments. Without proper governance, data that was not meant to be deleted can get accidentally deleted. Before running the job, review all items marked for deletion and backup the system.
Detailed documentation for more information on the Delete Investments and Time Reporting Periods Job
The following query can be ran to find out the what transclass are still tied to financial plans.
select a.transaction_class_id, a.*
from FIN_COST_PLAN_DETAILS a
where TRANSACTION_CLASS_ID = xxxxxx
select
c.id, c.name, a.TOTAL_COST, a.total_units, a.id, a.name, a.CODE, a.PLAN_TYPE_CODE, a.IS_PLAN_OF_RECORD,
a.OBJECT_CODE, a.REVISION, a.PERIOD_TYPE_CODE
FROM
FIN_PLANS a,
FIN_COST_PLAN_DETAILS b,
inv_investments c
WHERE a.ID = b.PLAN_ID
and a.object_id = c.id
and b.plan_id = aaaaaa