Custom Hooks are a Deltek Cobra feature that allow you to do some custom manipulation of data during various processes that Deltek Cobra runs. Custom hooks can be built using Visual FoxPro scripts or compiled procedures, Visual Basic or C# executables. Visual FoxPro is nearing the end of its lifecycle so organizations with Custom Hooks built using Visual FoxPro should consider re-implementing them in Visual Basic or C#.
An interesting quick-turnaround project that we did recently involved working with the Custom Hook capability of Deltek Cobra.
A long-time Deltek Cobra customer had been using a Custom Hook integrated with the Deltek Cobra Integration Wizard. While loading budget and forecast data from Oracle Primavera P6 schedules into Deltek Cobra, the Custom Hook combines the P6 cost account (e.g. ENG) and P6 resource id (e.g. G13) to create the resource code in Cobra (e.g. ENG-G13). This allowed them to use the same resource code in P6 across different performing organizations (represented by the P6 cost account), but rate them differently in Deltek Cobra (e.g. resource G13 in the Engineering group might have different rates than G13 in the Manufacturing group). This allows the different burdens and overheads in different parts of the organization to be applied accurately even though from a scheduling perspective the same type of resource is being planned.
The original implementation of their Custom Hook involved using Microsoft Visual Foxpro. The customer recently rebuilt the custom hook in C#. During the building and testing of the C# Custom Hook they weren’t getting the same results that they were getting from the Visual FoxPro implementation.
Because the Custom Hook is built using custom C# code, support from the Deltek Cobra vendor is limited, so the customer contracted with Pinnacle to assist with finishing up the Custom Hook.
The custom hook in question is a Pre-Save Custom Hook in the Deltek Cobra Integration Wizard. With a Pre-Save Custom Hook configuration, the sequence of actions the Integration Wizard takes are as follows:
- Prompts the user for the parameters to be applied to the integration
- Extracts the data needed from the P6 database
- Saves the activity and resource/assignment data that came from P6 into files available to the Custom Hook
- The Custom Hook processes through the data files and makes adjustments (e.g. concatenating the P6 cost account and P6 resource codes to create the resource code used in Deltek Cobra)
- Deltek Cobra loads the data from the updated files provided by the Custom Hook
One challenge of this particular requirement is that the P6 cost account column is not included in the data that Cobra extracts from P6 during step 3 above. It is therefore necessary to include a query back to the P6 database to get the cost account for each resource assignment in the Custom Hook.
Custom Hooks are a powerful capability to address requirements not included in the out-of-the-box Deltek Cobra program in a way that is transparent to end-users. However, building a Custom Hook definitely requires detailed technical knowledge including SQL, C# or similar, and OS knowledge.
Custom Hooks are a vintage Deltek Cobra capability, and we haven’t encountered any organizations in recent years using it. We’d be interested in hearing about other examples of Deltek Cobra Custom Hooks in the comments section below.
Looking for help with your Deltek Cobra system? We can help. Contact us for a free consultation - or