Skip to main content

Withholding the Current Period from EP-datawarehouse with an Integrated P6

Preventing Current Period Actuals from Bleeding into the Previous Period

Many of our clients use Primavera P6 as one part of an integrated solution involving other systems. One common scenario is to bring labour actuals from a timesheet system or cost actuals from an accounting system into P6. This allows the projects team to see all of the project data in the tool they are familiar with and orientes them around a project-major axis.

In such a scenario, we will often build an integration to bring the actuals in once per day during a nightly integration. But this can cause issues when P6 is also used for enterprise reporting. When using P6 and EP-datawarehouse for financial period reporting, there is always a window after the end of the previous period and before the data for that period is brought into P6 and made report-ready. Having the actuals automatically brought in to P6 inside that window is counter-productive, as it would cause current period actuals to be reported in the previous period, effectively over-stating the actuals for that period. At the same time, the project team is still going to want to have access to the information about all of the relevant actuals to date, and they are going to want to see that information in P6.

We devised a solution for this problem for one of our clients by creating a "holding bucket" for current period actuals that are pulled in from the accounting system before the previous period has been snapshotted. We implemented this as activity-level UDFs (user-defined fields) in P6 to hold the current period actual cost, current period actual labor cost, and current period actual labor units.

Current Period Actuals UDFs in Primavera P6

Each night, when our actual integration runs, it checks the EP-datawarehouse database to see if the previous period has been snapshotted. If it has, the integration populates the current period actuals into the real actual fields in P6. If the previous period has not yet been snapshotted, the integration populates the current period actuals into the holding bucket UDFs instead.

By keeping the current period actuals out of the real actuals fields until the previous period's snapshot has been taken, we ensure that the reporting data snapshot for the previous period does not include any unwanted actuals from the current period. By keeping that information in the holding bucket UDFs, we ensure that it is still available to project managers who need to see it.

No video selected.

About the Author

Dan MacMillan - Integration Specialist

Dan has been developing software professionally for over 20 years, joining Emerald Associates in 2003. His experience includes accounting, supply chain management, drilling program management, project management, and contract management integration, automation and dashboarding elements.

Dan learned how to program computers as a child by watching his older brother making games on his Commodore 64. His interest in computers and programming drove him to teach himself BASIC, 6502 and 80386 assembly language programming, and then C so that he could write hobby programs. Moving from hobby to professional, Dan did his computer science studies at SAIT in Calgary.

In his first professional programming job, Dan had the autonomy to make mistakes, live with them, learn from them and fix them. He realized that quality in software derives, not from what it does, but from the way it is written, and yields benefits such as having fewer bugs, and being easier to read and change. On that project, Dan transitioned from programming hobbyist to craftsman with a “quality first” focus in his work.

Leave a comment

Please login to leave a comment.