Show TOC

Function documentationDeleting Objects

 

Deleting objects from the BRFplus database is a well-defined, multiple-step process that helps you to clean up your work environment without any risk of unwanted loss of data. This process encompasses different pre-deletion and deletion stages with an ever-decreasing degree of object availability and visibility. Only after an object has run through most of these stages (if not all) can it be deleted physically and irretrievably. With this delayed and stepwise approach, BRFplus helps you to keep control over your objects even after, at first glance, they have been deleted. As long as an object has not been physically deleted, an administrator can still reactivate it and make it available for auditing or check purposes, or even for productive use.

Features

Technically, the different steps to bring an object to its final, physical deletion are implemented as an internal status assignment rather than a real deletion. This makes it possible to let an object appear to be in different “degrees of deletion”, where each degree corresponds with a set of restrictions that apply to an object in that particular status. Only for the last step in this process (physical deletion), the internal processing turns from a status assignment to a real physical deletion of an object from the system database. After that, an object is irretrievably lost. The following sections describe the different steps of an object from productive use to its physical deletion.

Marking Objects as Obsolete

When you check your business rules, you may notice that from time to time, certain objects do not reflect the business case in question properly anymore. There may be nothing wrong with these objects at the moment, but you may foresee that future changes in the business environment might lead to a need for a change of the rule object.

Example Example

In a business rules application for calculating income taxes, you have modeled the income/tax relationship with a decision table where each row represents a certain income range and yields the proper tax that is due for that income. However, the government in your country has announced that the taxation system shall be changed in principle, with a number of complex calculation steps needed to determine the legally prescribed tax for a given income.

In such a situation, it is pretty clear that the decision table approach that used to be appropriate in the past will not be suitable to meet the future requirements. Given that, you mark the decision table as obsolete to remind yourself that there is no use in trying to make the decision table fit for the new taxation system. Rather, you would have to think of a different approach using more powerful expression types, such as formula expressions.

End of the example.

Marking an object as obsolete has the following effects:

  • An obsolete object cannot be changed.

  • Marking an object as obsolete does not affect its activation status.

  • Rules and expressions already using an obsolete but active object remain functional and are still available for productive use.

  • Inactive rules and expressions already using an obsolete object cannot be activated.

  • An obsolete object cannot be assigned to another object anew. The system enforces this restriction by hiding obsolete objects in all kinds of object selection lists.

  • The obsolescence flag of an object can be removed at any time. Once removed, the object is reverted to its original state in which it was before it was marked as obsolete.

Note Note

Marking an object as obsolete is not a prerequisite for deleting an object. There is no workflow or state transition connection in the system that would force you to always declare an object as obsolete before you delete it. However, looking at an object as obsolete is in many cases the first step of a process that ends with deleting the object. In addition, the effects for an object marked as obsolete are similar to those that apply for objects marked for deletion. This is why the two aspects of marking an object as obsolete, or marking it for deletion, are covered together in this topic.

End of the note.
Marking Objects for Deletion

You mark an object for deletion to make it clear that this object is outdated or no longer up-to-date and shall no longer be used. Marking an object for deletion has the same effects as the ones that have been listed above for obsolete objects, plus one important additional effect:

  • Objects marked for deletion can be centrally removed from the system either with the application administration tool (logical deletion, see section below) or with report FDT_DELETE that is executed either on demand or periodically based on a user-defined schedule. This report can be used for deleting all objects that are marked for deletion since, or for longer than, a given retention time.

As a consequence of this additional effect, it is clear that after an object has been marked for deletion, you should replace it as soon as possible wherever it is used. This is true even though an object marked for deletion still remains functional in all contexts where it is already in use.

Deleting Objects (Logical Deletion)

Logically deleting a BRFplus object is most similar to any delete operation you may know from other applications. When you delete an object, the object disappears from all object lists like the repository tree, the list of recently used or favorite objects. There is no way for a user to undelete a logically deleted object. For deleting an object, the following rules apply:

  • You can delete an object only if it is not used by any other object. Keep in mind that in case of versioned objects, usage relationships may exist between the object that you want to delete and historical versions of another object. In this case, you must first remove the out-of-date usage before you can delete the referenced object.

  • It is good practice to delete an object only after it has been marked as obsolete or marked for deletion before. However, this is not a technical prerequisite. If necessary, you can also delete any object regardless of its current status, provided it is not used by any other object.

  • You can logically delete objects in the following ways:

    • Manually by navigating to the particular object and using the Delete command for that object.

    • Automatically by using the Delete Objects Marked for Deletion command in the application administration tool. This command does of course only operate on objects that have been marked for deletion. Also, the objects to be deleted must have been marked for deletion for the defined retention time or longer (default: 90 days).

  • Once an object has been logically deleted, it is removed from all kinds of object lists in BRFplus.

  • BRFplus offers no tools whatsoever to recover an object that has been deleted. However, this can still be accomplished by system administrators because even deleted objects are not physically removed from the system immediately. For details, see the following section Deleting Objects (Physical Deletion).

Deleting Objects (Physical Deletion)

Once an object has been logically deleted, it is no longer available in BRFplus. However, this logical deletion does not lead to an immediate physical destruction of that object. Rather, the deleted object still exists in the system but is hidden such that there is no way to retrieve it within BRFplus.

There are different ways to physically remove a deleted object from the database:

  • In the BRFplus workbench, choose Start of the navigation path Tools Next navigation step Application Administration End of the navigation path. From the list of Operations, choose Clean up Database.

  • In the backend system, run report FDT_DELETE.

  • Let the system clean up the database with an automatic cleanup run. This cleanup run is carried out without manual intervention. It removes objects from the database that have been logically deleted for 180 days or more.

As long as the physical deletion has not taken place, the object is kept in the system and can be restored by a system administrator in case inevitable reasons should arise that force you to do so (for example, a forensic investigation).

Activities

You can carry out the activities related to object deletion in two different ways, either individually for a single object or as a mass activity.

  • Single objects

    To mark a single object as obsolete, proceed as follows:

    1. Open the object to be deleted in the BRFplus workbench.

    2. Choose Start of the navigation path More Next navigation step Mark as obsolete End of the navigation path.

    To mark a single object for deletion, proceed as follows:

    1. Open the object to be deleted in the BRFplus workbench.

    2. Choose Start of the navigation path Delete Next navigation step Mark for Deletion End of the navigation path.

    To delete a single object, proceed as follows:

    1. Open the object to be deleted in the BRFplus workbench.

    2. Choose Start of the navigation path More Next navigation step Display Where Used List End of the navigation path to make sure that the object is not used by any other objects.

    3. Choose Start of the navigation path Delete Next navigation step Delete End of the navigation path.

  • Multiple objects

    To perform any of the activities related to deletion for multiple objects at once, proceed as follows:

    1. Choose Start of the navigation path Tools Next navigation step Mass Change End of the navigation path.

    2. In the mass change tool, select the objects that you want to change.

    3. Choose Start of the navigation path Perform actions on marked items: Set as obsolete, mark for deletion, delete (Perform actions on marked items: Set as obsolete, mark for deletion, delete) End of the navigation path, followed by the desired menu option.

More Information

Mass Change