UserGuide For Cobra 4.7 PDF
UserGuide For Cobra 4.7 PDF
UserGuide For Cobra 4.7 PDF
7
Users Guide
While every attempt has been made to ensure that the information in this document is accurate and complete, some typographical or technical errors may exist. Deltek, Inc. cannot accept responsibility for any kind of loss resulting from the use of this publication. This page shows the original publication date. The information contained in this publication is subject to change without notice. Any improvements or changes to either the product or the book will be documented in subsequent updates. This publication contains proprietary information that is protected by copyright. All rights are reserved. No part of this document may be electronically reproduced or transmitted in any form or by any means, electronic or mechanical, or translated into another language, without the prior written consent of Deltek, Inc. This edition published October, 2007. 2007 Deltek, Inc. This software is protected by copyright law and constitutes valuable confidential and proprietary information of Deltek, Inc. and its licensors. This software, and all related documentation, is provided for use only in accordance with the terms of your license agreement. Unauthorized reproduction or distribution of this program or any portion thereof could result in severe civil or criminal penalties. U. S. Government Restricted Rights. If the software, including accompanying files and documentation, is supplied to the Department of Defense (DOD), the Software is subject to Restricted Rights as that term is defined in Section 252.277-7013(1) of the DOD Supplement to the Federal Acquisition Regulation (FAR). If the Software is supplied to any agency of the U.S. Government other than DOD, the Government rights in the Software will be as defined in FAR 52.227-19 (@). Use, duplication, or disclosure by the Government is subject to such restrictions or successor provisions. The Contractor is Deltek, Incorporated, 13880 Dulles Corner Lane, Herndon, VA 20171-4600 If this software and documentation has been licensed to the U. S. Government, it is unpublished restricted computer software as that term is used in FAR Part 27.4, in which Deltek, Inc. has reserved all rights under the copyright laws of the United States. All rights reserved. All referenced trademarks are the property of their respective owners.
Table of Contents
Introduction............................................................................................................ 1
Using This Manual .........................................................................................................2 Chapter Summaries.......................................................................................................2 Symbols Used Throughout the Manual .......................................................................5
Windows Vista Installations .......................................................................................14 Running Cobra Under Windows Terminal Server.....................................................14 Cobra Default Configuration and Databases ............................................................16 Starting Cobra..............................................................................................................16 Learning Cobra ............................................................................................................16 Using the Help System ................................................................................................17 Using the User Guide ..................................................................................................18 Displaying System Information ..................................................................................18 Exiting Cobra ...............................................................................................................18 Removing a Cobra Installation ...................................................................................19 Where to Go From Here ..............................................................................................19
Configuring the Paths .................................................................................................26 Optimizing Performance with an ODBC Data Source ..............................................27
Increase Extent Percentage .................................................................................................... 27 Batch Update Count ................................................................................................................ 28 Recreating the Database Container ........................................................................................ 28 Deleting Temporary Report Tables ......................................................................................... 29 Reordering the Contents of the Tables ................................................................................... 29 Deleting the Indexes................................................................................................................ 29
iii
Table of Contents
Reorganizing the Database .................................................................................................... 29 Log SQL Calls ......................................................................................................................... 30 Startup Problems .................................................................................................................... 30
Table Schema............................................................................................................... 46
Table of Contents
Statusing ......................................................................................................................73
Step 1: Advancing the Calendar.............................................................................................. 73 Step 2: Rolling the Wave ......................................................................................................... 73 Step 3: Entering Status Information ........................................................................................ 73 Step 4: Calculating Earned Value ........................................................................................... 74 Step 5: Entering Actual Costs.................................................................................................. 74 Step 6: Generating Revised Forecasts ................................................................................... 75
Table of Contents
Thresholds ................................................................................................................. 106 Code Files................................................................................................................... 107 Creating a Breakdown Structure File....................................................................... 108 Entering Structure Elements .................................................................................... 110 Special Purpose Commands .................................................................................... 111 Maintaining Breakdown Structures ......................................................................... 115 Creating Code Files ................................................................................................... 115 Maintaining Code Files.............................................................................................. 118
Advancing the Fiscal Calendar ................................................................................ 131 Rolling Wave Processing.......................................................................................... 132
Calendar Definition................................................................................................................ 132 Assigning the Weekly Calendar to the Program ................................................................... 133 Running the Rolling Wave Process ...................................................................................... 133
vi
Table of Contents
How Costs are Calculated in Cobra .........................................................................144 Result Names in Cobra .............................................................................................145 Additional Information in Budget Elements ............................................................146
Alias ....................................................................................................................................... 146 Units....................................................................................................................................... 146 Currency ................................................................................................................................ 146 Sort Code............................................................................................................................... 147 Rate Set................................................................................................................................. 147
Examples of Budget Elements .................................................................................147 Budget Elements and Breakdown Structures.........................................................148 Creating a Budget Element File................................................................................149 Defining Budget Elements ........................................................................................150
The Budget Element Calculations Form................................................................................ 150 New Budget Element Wizard................................................................................................. 151
vii
Table of Contents
Copying Reporting Sets............................................................................................ 179 Assigning Codes to Cost Accounts and Work Packages...................................... 180 Assigning Program Codes........................................................................................ 181 Copying Program Codes........................................................................................... 183 Assigning Codes to Change Numbers .................................................................... 184 Assigning a CAM Code ............................................................................................. 185 Synchronizing Status Dates ..................................................................................... 186 Defining Default Program Option Settings.............................................................. 187
Chapter 13 Planning......................................................................................189
Overview..................................................................................................................... 190 Planning Cost Accounts ........................................................................................... 190
Adding Cost Accounts........................................................................................................... 191 Updating Cost Accounts........................................................................................................ 192
The Interactive CAP Spreadsheet ............................................................................ 208 Program Options for Planning ................................................................................. 210
Table of Contents
Entering Status Information Manually .....................................................................231 Program Options for Status Information .................................................................234
Error Messages for Loading Actual Costs ..............................................................261 Entering Actual Costs Manually...............................................................................261
Initializing Actual Costs.......................................................................................................... 261 Entering Actual Costs ............................................................................................................ 262
ix
Table of Contents
Freezing Forecast ...................................................................................................... 291 Program Options for Forecasting ............................................................................ 293
Personal and Shared Reports .................................................................................. 304 Customizing Spreadsheet Reports .......................................................................... 305
Using the Result Wizard........................................................................................................ 306 Custom Report Headers ....................................................................................................... 307 Custom Charts ...................................................................................................................... 309
Contract Funds Status Report (CFSR) .................................................................... 312 FoxPro Reports.......................................................................................................... 312
Creating a New FoxPro Report............................................................................................. 314
Table of Contents
Using the Filter tab ....................................................................................................327 Personal and Shared Filters .....................................................................................330 Report Sort Sequences .............................................................................................331 Using the Sorts Tab...................................................................................................331 Personal and Shared Sorts .......................................................................................333 Calculated Results.....................................................................................................334 Batch Reporting.........................................................................................................339 CPR 3 Reporting ........................................................................................................342
Set Baseline........................................................................................................................... 343 Calendar Setup for CPR 3 Report......................................................................................... 343 Preparing a CPR 3 Report..................................................................................................... 344
Batch Spreading ........................................................................................................362 Global Slip ..................................................................................................................364 Replace Budget Elements.........................................................................................366 Check Estimate Dates ...............................................................................................368
xi
Table of Contents
xii
Table of Contents
Reloading Schedule Data..........................................................................................466 Transaction Files for Baseline and Forecast Information......................................466
CSV Transaction File Data Structure .................................................................................... 466 Example Transaction File ...................................................................................................... 468
Using the Scrolling Message Window .....................................................................469 Synchronizing a Cobra Program with a Schedule..................................................470 File Level Security .....................................................................................................471 Error Messages for Loading Budget and Forecast Data........................................472 Setting the Baseline in Cobra ...................................................................................474 Updating Resources in Open Plan Professional ....................................................475
xiii
Table of Contents
Action Selection Page ........................................................................................................... 482 Connection Definition Page .................................................................................................. 482 Project Selection Page.......................................................................................................... 483 Link Configuration Page........................................................................................................ 484 Load Status Page.................................................................................................................. 485 Load Forecast Page.............................................................................................................. 489 Selection Criteria Page ......................................................................................................... 492 Save and Run Page .............................................................................................................. 493
Using the Scrolling Message Window ..................................................................... 499 Calculating Earned Value.......................................................................................... 500 Performing Revision Control Operations................................................................ 500
Revising the Schedule .......................................................................................................... 500 Loading Revised Data into the Cobra Program .................................................................... 501
xiv
Table of Contents
Required Fields for Import .....................................................................................................522 Field Configuration Names Dialog Box ................................................................................. 523 Import Auxiliary Files Wizard Last Page ........................................................................... 523
Exporting Fiscal Calendars to Open Plan ...............................................................526 Exporting Earned Value ............................................................................................527 Deleting Files in Cobra..............................................................................................528 Customizing Spread Curves.....................................................................................529 Displaying Data Files.................................................................................................530 Initializing Demonstration Data ................................................................................530 Running SQL Commands .........................................................................................531
Multi-line SQL Commands..................................................................................................... 533 SQL Language Extended Support ........................................................................................ 533
Process Sections.......................................................................................................540
Synchronize ........................................................................................................................... 540 Advance Calendar ................................................................................................................. 541 Rolling Wave.......................................................................................................................... 542 Calculate Earned Value......................................................................................................... 543 Load Actual Costs ................................................................................................................. 543 Batch Reporting..................................................................................................................... 546 Program Backup.................................................................................................................... 546 Update Totals ........................................................................................................................ 547 Global Reclassification .......................................................................................................... 548 Global Recalculation.............................................................................................................. 550 Copy Program ....................................................................................................................... 553 SQL Command ...................................................................................................................... 554 Apportionment ....................................................................................................................... 554 Importing Auxiliary Files ........................................................................................................ 556 Exporting Auxiliary Files ........................................................................................................ 557 CPR3 ..................................................................................................................................... 558 Restore .................................................................................................................................. 559 Calculate Forecast................................................................................................................. 560 Replace Budget Elements ..................................................................................................... 560
xv
Table of Contents
Validity Check ....................................................................................................................... 561 Deleting Programs ................................................................................................................ 562 Ansi X12 Export .................................................................................................................... 563 wInsight Wizard..................................................................................................................... 564
Deltek Cobra Administrator Configuration ............................................................. 589 Editing Baseline Log Entries .................................................................................... 590
Custom Print Properties ........................................................................................... 599 The Ss.prm File .......................................................................................................... 600
xvi
Table of Contents
The [Report] Section.............................................................................................................. 600 The [Program] Section........................................................................................................... 601 The [Scale] Section ............................................................................................................... 602 The [Criteria] Section............................................................................................................. 602 The [Cost Reporting Set] Section.......................................................................................... 602 The [Report Style] Section.....................................................................................................602 Using Program Variables in Headers .................................................................................... 603
Global Recalc .............................................................................................................637 Global Reclassification .............................................................................................638 Global Replan.............................................................................................................639 Integration ..................................................................................................................640
Baseline ................................................................................................................................. 641 Customize.............................................................................................................................. 645 Forecast................................................................................................................................. 648 MSP ....................................................................................................................................... 649 P3 .......................................................................................................................................... 650
xvii
Table of Contents
xviii
Table of Contents
Fiscal Calendar Tables.......................................................................................................... 691 Rate Tables ........................................................................................................................... 693 Budget Element Tables ......................................................................................................... 694 Note Tables ........................................................................................................................... 696
xix
Table of Contents
xx
xi
Introduction
Using This Manual Chapter Summaries Symbols Used Throughout the Manual
Introduction
Chapter Summaries
The Deltek Cobra User's Guide is designed to take you from installing Cobra to setting up your first program. You will learn about the how and why of earned value management and how to integrate Cobra with existing environments. Chapter 1 covers the basics of getting started in Cobra: installing single-user and multi-user versions of Cobra, starting the application, and getting help information. It concludes with a discussion of the various types of documentation supplied with Cobra. Chapter 2 discusses important considerations for configuring your Cobra database. It also provides detailed instructions on optimizing performance for your ODBC database. Chapter 3 contains a brief explanation of the earned value methodology. Chapter 4 discusses data design in Cobra, focusing on scope definition, cost accounts and work packages, budget elements, cost classes, and reporting sets. Chapter 5 provides a brief introduction to the basic cost/schedule methodology that underlies Cobras operations. Chapter 6 starts with descriptions of basic skills common to many Windows applications and concludes with a discussion of the skills related to selecting, cutting, copying, and pasting data. Chapter 7 discusses the various types of breakdown structures and how to create and maintain them. The chapter ends with a discussion on code files and how to create them. Chapter 8 begins with a discussion on using fiscal calendars in Cobra. It then explains how to create and update calendars and how to define calendar sets. The chapter ends by showing you how to advance the calendar and perform rolling wave processing. Chapter 9 includes both a discussion of how rate sets are used in Cobra and a discussion of how you can create and update rate files.
Introduction
Chapter 10 describes how you design and create budget elements. It starts with a general introduction on how cost calculations are defined in Cobra and then proceeds to discussions of the various features related to budget elements, including their design, implementation, and association with breakdown structures. The chapter concludes with a discussion of budget element file maintenance. Chapter 11 contains discussions on the basic program information required to create a program in Cobra and the contract and budget information that you can enter at the time the program is created. Chapter 12 discusses the four categories of supplemental information (cost classes, cost reporting sets, program code files, and status date synchronization) you can use in the program directory to update the entry for the program once the program is created. Chapter 13 discusses the manual entry of planning information, covering such topics as planning cost accounts, planning work packages, planning budgets, entering milestones, and setting program options for planning. Chapter 14 examines using the program log as a change control function by maintaining a record of all transactions. The chapter also discusses how to set up the program baseline and how to update and use the program log. Chapter 15 details how to plan for multi-program operations. It discusses setting up subprograms, merging programs, and running multi-program validation. Chapter 16 discusses two different ways in which you can update schedule status for a program in Cobra: manually or with a suitably prepared transaction file. Chapter 17 discusses the procedures related to calculating earned value and concludes with a discussion of the program options that can affect how earned value calculations are performed. Chapter 18 contains descriptions of entering actual costs using both transaction files and manual procedures. The chapter concludes with a discussion of some of the program options that affect entering actual costs in Cobra. Chapter 19 discusses Cobra forecasting functions and related operations. Chapter 20 discusses generating and working with spreadsheet and FoxPro reports. The chapter also provides a discussion of report properties, which can be used by experienced users to create and maintain customized reports. Chapter 21 provides information on the following reporting-related utilities: report filters, report sorts, batch reporting, and CPR 3 reporting. Chapter 22 provides a number of tools related to program-wide functions such as global cost recalculation, global reclassification cost classes, global replan, topdown planning, batch spreading, global slip, and checking estimate dates.
Introduction
Chapter 23 provides information on a number of utilities related to program-wide functions. The utilities include backing up and restoring files, checking program validity, totaling BCWS, BCWP, ACWP, and EAC, using drill-down analysis, editing program files, exporting to the ANSI X12 and wInsight XML formats, and using the SQL Command Utility. Chapter 24 discusses preparing the schedule for integration with the following scheduling tools: Deltek Open Plan 3.x, Primavera P3, Primavera 4.x/5.x, and Microsoft Project 2000/2002/2003. The chapter also discusses preparing the program in Cobra and creating a calculation template. Chapter 25 discusses creating a Cobra program and loading baseline data from a schedule or transaction file using the Integration Wizard. Chapter 26 discusses how to load status and forecast data from a schedule and how to perform revision control from the schedule. Chapter 27 discusses customizing the integration process using hooks provided in the integration process. This chapter also contains the temporary P3 and LINK tables Cobra uses during the integration process. Chapter 28 provides information on a number of system-wide utilities that allow you to rebuild indexes and breakdown structures, export and import auxiliary files, export calendars to Open Plan, delete files, manage security, customize spread curves, display other types of data, and initialize demonstration data. Chapter 29 discusses the Settings and Process sections of the batch processing script file. Each type of process that can be performed in a batch is defined and examples given. The log files that the batch process generates are discussed; security that can be enabled for batch processing is described; and a discussion of the timeout operation ends the chapter. Chapter 30 discusses Cobras administrative tools such as security features and the Cobra Administrator. Chapter 31 contains discussions on modifying Cobra FoxPro and spreadsheet reports, creating custom reports, batch reporting to files, custom print properties, the Ss.prm file, Over Target Baseline support, reporting FTEs, and EVM reports. Chapter 32 describes the categories and settings of the Application Options dialog box. The chapter also discusses editing the System.ini file. It ends with instructions on creating a custom item menu. Chapter 33 describes the steps involved in calculating apportionment. Chapter 34 describes the organization of the Cobra program databases. Chapter 35 discusses auxiliary and system data tables used by Cobra. Chapter 36 contains discussions on modifying Visual FoxPro source codes, configuring user rights on the server where Cobra is installed, and using the SQL*Loader utility. Appendix A is an implementation guide for Cobra. It walks you through the stages involved in successfully implementing Cobra in your company.
Deltek Cobra User's Guide 4
Introduction
Appendix B is a list of acronyms used in this manual. Appendix C is a glossary of terms used in this manual.
Introduction
Windows Vista Installations Running Cobra Under Windows Terminal Server Cobra Default Configuration and Databases Starting Cobra Learning Cobra Using the Help System Using the User Guide Displaying System Information Exiting Cobra Removing a Cobra Installation Where to Go From Here
Overview
Cobra represents a comprehensive solution to the control of cost management. Designed to cope with the most exacting requirementslike the rigorous EVMS standard required by the US and other governmentsCobra has the capability, the flexibility, and the power to handle even the largest programs. At the same time, Cobra takes advantage of the latest advances in graphical interface design to make its power accessible to a variety of users. This chapter is designed to cover the basics of getting started in Cobra installing single-user and multi-user versions of Cobra, starting the application, and getting help information. The chapter concludes with a discussion of the various types of documentation supplied with Cobra.
System Requirements
To run Cobra successfully, your system must meet or exceed the following requirements: Windows 2000 (128 RAM recommended) Windows XP (256 RAM recommended) Windows Vista (1 GB RAM recommended) A monitor capable of at least VGA (1024 by 768) resolution You will need rights to update your Windows system folder during the installation procedure.
Microsoft Components
Cobra requires that the following components be present on your system: Distributed Component Object Model (DCOM) Microsoft Data Access Component (MDAC) version 2.5 or later If a current version of either component is not already installed on your computer, Cobra installs it automatically. The Cobra installation installs only the English version of MDAC and does not look at the language set on the machine before doing so. If you are using a language other than English, access the Microsoft Web site at www.microsoft.com/data to locate and install the appropriate language version of MDAC before you install Cobra.
If you are upgrading from an earlier version of Cobra, you must perform the upgrade by installing the upgrade on top of (or in the same location) as your previous version. The first time you access Cobra, you will be prompted to convert the data. In a multi-user environment, you must install the server installation on top of (or in the same location) as the previous version in order to preserve your security and saved reports. Each desktop must perform a workstation installation.
If you are creating a test environment, you must make a complete copy of your previous version to your test environment and confirm that the test environment is running properly before starting the upgrade. If you are in an ODBC environment, you will have to recreate the Database Container (DBC) to get the test environment to point to a new database. To recreate a DBC
1. 2. 3. 4. 5.
Start Cobra. Select System | Configure | Data. Click the Advanced button. Select Create COBRA.DBC. Click OK.
After running a conversion when using an ODBC database, you should reorganize your database. See Optimizing Performance with an ODBC data source in Chapter 2.
3. In the Target field, add the new configuration file to the end of the executable path but after the quotation mark. For example, "..\Deltek\Cobra\cobra.exe" <filename.txt> where <filename.txt> is the name of the specific file to load. You may provide a full path for the INI file, but you will need quotation marks around the path and filename. 4. Click OK.
10
5. Select a destination folder for Cobra, and click Next. If you are upgrading from a previous version of Cobra, be sure to install the new version in the same folder. If you are installing on Windows Vista, you must install Cobra under the My Documents folder. Cobra displays the Setup Type page. Select the type of installation you want to perform, and click Next. Cobra displays the Select Cobra Paths page. Select the location of the various Cobra folders, and click Next. Cobra displays the Select Program Folder page. Specify an existing program folder or create a new one, and click Next. Cobra displays the Check Setup Information page. Verify that the paths selected for the Cobra folders are correct, and click Next. Cobra installs the required files, checks for the presence of DCOM and MDAC on your computer, and prompts you to install these utilities if required. Adobe Reader is also installed if it does not already exist on your computer. Cobra displays the Setup Complete page. The installation of each of these components requires that you restart your computer before continuing. 10. Select the options to review the Release Notes and/or Start Cobra automatically, and click Finish.
6. 7. 8. 9.
11
The purpose of the Multi-User (Server) installation is to install the shared files and set up an installation on the server that contains special installation files in its Setup folder. You can then use these files to set up multiple workstation installations. Exit all Windows programs before running the Setup program.
5. 6. 7.
8.
12
13
When the installation is complete, each workstation user should review the documentation that came with Cobra and go through the Learning Deltek Cobra guided tutorial to learn about using Cobra features.
This customization is useful in Windows Terminal Server Farm environments to ensure that the same Cobra User Directory is used regardless of which Farm server the user employs.
14
In addition to installing the hotfix, a registry setting must also be set. The setting is discussed in the More Information section of the article. To install Cobra, follow these steps:
1. Perform a server installation on the file server. 2. Log in to terminal server in Installation mode. 3. Navigate to the file server, and locate the Setup folder under the \Cobra\System folder on the file server. 4. Double-click Setup.exe, and perform a Workstation installation. 5. Select the Minimum disk space option. 6. Select the \Documents and Settings\All Users folder for the installation. 7. Modify the properties of the shortcut created in the installation to point to CobraTS.exe. 8. Start Cobra using the modified shortcut. 9. Configure Cobra to use the DSN pointing to the Cobra database. 10. Exit Cobra. The Cobra.ini file cannot be shared and thus cannot reside in the C:\WinNT folder. The first time Terminal Server is started, Cobra looks for the Cobra.ini file in the \Documents and Settings\<user name>\Windows folder. If it does not exist, Cobra will copy the file from the Windir folder (typically, C:\WinNT).
When a user starts Cobra, the modified shortcut, a working folder, a Cobra.ini file, etc., are created for that user.
15
You can also configure the CobraTS.exe to use a specific INI file at startup. To configure CobraTS to use a specific .ini file
1. Right-click the shortcut created after the installation, and click Properties. 2. In the Target field, add the path and filename for the .ini file to the end of the executable path but after the quotation mark. Be sure to include a space between the quotation mark and the start of the path. For example, "..\Deltek\Cobra\CobraTS.exe" <path\cobra.ini> where <path\cobra.ini> is the fully-realized path and filename of the .ini file to load. 3. Click OK.
Starting Cobra
After installing Cobra, you can start the application using the following procedure: To start Cobra
1. On the Windows taskbar, click the Start button. 2. Point to All Programs, and select the program folder containing the Deltek applications, and the subfolder Cobra. 3. From the Cobra subfolder, click Cobra.
Learning Cobra
Your Cobra installation contains a guided tutorial titled Learning Cobra. This tutorial guides you through basic operations of Cobra. To start the tutorial
4. On the Windows taskbar, click the Start button. 5. Point to All Programs, and select the program folder containing the Deltek applications, and the subfolder Cobra. 6. From the Cobra subfolder, click Learning Cobra.
16
Help button
You can also display Help for any view or window by pressing F1. To examine a list of topics covered in the Help system, click Contents on the Help menu, and then select the topic you want to view. The Cobra Help system includes a special type of information called Clip Notes. Clip Notes describe how to perform many common procedures in Cobra. They are displayed in special stay-on-top windows that allow you to keep working in the application.
17
Exiting Cobra
You can exit Cobra at any time by clicking Exit on the File menu. If any data files with unsaved changes exist when you click the Exit command, Cobra prompts you to save your changes.
18
To exit Cobra
On the File menu, click Exit.
19
20
Chapter 2 Configuration
Overview Configuring the Data Format
Supported Client/Server Databases Database Client Considerations Specifying Tablespace in the Oracle Database
Table Schema
Chapter 2 Configuration
Overview
This chapter discusses important considerations for configuring your Cobra database. It also provides detailed instructions on optimizing performance for your ODBC database. During the installation, Cobra performed a default configuration. If you have access to a client/server database through ODBC, you can reconfigure Cobra to use your database. Open Database Connectivity (ODBC) is a common programming interface that allows you to connect Cobra with multiple database formats such as Oracle and SQL Server. These data formats are used in client/server database environments. Connecting to client/server database formats requires special ODBC configuration procedures that are not required when connecting to a FoxPro database format. In addition, if you access a client/server database through ODBC, you must also reconfigure Cobra in order to establish your ODBC connection. The Configure Data dialog box allows you to set the desired data formats and paths and choose a method for generating your tables. Although key field lengths default to 30, you can change the default by using the Configure Fields wizard. You can use this wizard to define the result field names and new Cobra field lengths for the database tables. Finally, you can use the Configure System dialog box to define the following system-wide settings: Date format Manager and Earned Value notation Note categories Program codes
22
Chapter 2 Configuration
Oracle 9i server with Oracle ODBC driver Oracle 10g server with Oracle ODBC driver Since Cobra does not support the Microsoft Oracle drivers, you must install Oracle ODBC drivers.
Microsoft SQL Server 2000, 2005, and SQL Server Express 2005
23
Chapter 2 Configuration
Datasource Name This field contains the DSN created by your database administrator when configuring the ODBC connection with Cobra. It represents the address for the backend database to which you are connecting Cobra. If you are changing the DSN, you must click Advanced and recreate the Cobra.dbc.
24
Chapter 2 Configuration
DBMS Name If you choose an ODBC format, you must select either SQL Server or Oracle to specify the database used. If you are using another database format, Cobra will be required to perform data translations. Cobra matches the entry in this field to a [Datatypes] section heading in the System.ini file that matches it exactly and makes the required data type translations. For example, if you enter Oracle in the DBMS Name field, Cobra will make the data type translations it reads in the [Oracle:Datatypes] section of the System.ini file. For more information on the System.ini settings options, refer to Chapter 33, Application Options and .ini Settings. User ID This field contains the User ID that your database administrator created for use with Cobra. If Cobra uses SQL Server as the data format, the owner of the data tables cannot be User ID sa. If Cobra uses Oracle, the resource and connect role need to be assigned to the Oracle user. Password This field contains the password that allows you to connect with the backend database. Database This field contains the name of the backend database you want to connect to Cobra. In addition, selecting an ODBC data format also enables additional buttons that are not used under most circumstances. However, they are useful to a database administrator in the event that you are unable to connect to the database or your database environment has special requirements. These buttons are: Verify Connection Use this button to verify that Cobra is connected to your backend database. Create Script Use this button to create a script that can be run in your database application to generate Cobra tables. Advanced Use this button to display the following Generate Tables dialog box that you can use to help troubleshoot problems:
This dialog box features the following options: Create Cobra.dbc This option creates the database container in the shared folder. If you change the name of the DSN, you must recreate the Cobra.dbc.
25
Chapter 2 Configuration
Create Data Tables This option creates the tables in the database. Before creating the tables, you are asked if you want to drop all of the tables in the data source. Create DBC Views This option creates the parameterized views that Cobra uses to connect to the database. To configure the data format for ODBC
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. On the System menu, point to Configure. On the Configure submenu, click Data. From the Data Format list on the Configure System dialog box, select ODBC. From the Datasource Name list, select the data source that connects Cobra to your database. If your data format requires data type translations, enter the name of your database application in the DBMS Name field; otherwise, leave this field blank. In the User ID field, enter the user ID created for the Cobra ODBC connection. In the Password field, enter the password that allows you to access to the backend database. In the Database field, enter the name of the database to which you are connecting Cobra. If you wish to maintain the FoxPro tables, skip to the Configure Paths section of this chapter. Otherwise, Click the Advanced button. Click OK to create the tables.
26
Chapter 2 Configuration
In a stand-alone system, all the paths defined in this pane can be local drives. However, if you intend to share the data with other users, you will need to store information on a shared drive. This shared drive is typically located on an NT or a Novell NetWare server. The only limitation is that you must be able to access these files using a path or Mapped drive letter. If you are using an ODBC data source, your data will be stored on the Oracle or SQL server. You must, however, still have a program folder on a shared drive (NT or a NetWare-compatible server) to store the Cobra files.
Paths pane
The Paths pane of the Configure Data dialog box contains the following fields that are automatically filled with a default path: Common This field sets the path to the Common folder. The Common folder contains data and indexes related to auxiliary data files such as breakdown structures and rate sets. The Common folder is used only in FoxPro installations. Program This field sets the path to the Program folder. The Program folder contains program-related data files and indexes. System This field sets the path to the System folder. The System folder contains basic Cobra system data files and indexes such as the System.dbf. Reports This field sets the path to the Reports folder. The Reports folder contains files related to report specifications. You cannot use a UNC to define the path when creating a table. You must use a mapped drive.
27
Chapter 2 Configuration
If you use Oracle ODBC driver version 8i, make the following modification in your System.ini file:
[Oracle:Settings] BatchUpdateCount=30
In the Oracle 8i ODBC driver, set your Prefetch Count to 20. If you use Oracle ODBC driver version 10g, make the following modification in your System.ini file:
[Oracle:Settings] BatchUpdateCount=0
28
Chapter 2 Configuration
29
Chapter 2 Configuration
Startup Problems
You can have Cobra log startup processes if errors occur when starting the program. To log startup processes, create a text file called Startup.log in the Cobra working folder. If Cobra detects the Startup.log, it will write the information pertaining to the startup in the Startup.log. Since the information is always appended to the end of the file, you should delete this file once you no longer need it. Otherwise, this file may grow to be very large and eventually hinder performance.
30
Chapter 2 Configuration
You can select from the following options on this page of the wizard: Edit This option displays the currently defined settings for all result names and key field lengths. You can add, delete, or reorder the results, and you can modify the lengths of all key fields. Typical Cobra displays the default values for result names and key field lengths. These default values allow you to start with a configuration that works with the demonstration data that is distributed with Cobra. You can then modify both the result names and the key field lengths to meet the needs of your organization. Load If you select Load, Cobra displays the Load from Backup page of the wizard. You can use this page to load field definitions from an existing program that has been backed up to another location. Cobra then displays the remaining pages of the wizard where you can review the settings that have been imported and make any needed modifications. This option is useful when you want to use a previously backed-up program as a template when creating your data tables.
31
Chapter 2 Configuration
The ellipsis button at the right edge of the text field displays a dialog box that you can use to navigate to the Cobra backup program that you want to use as a template. Once you have selected a backup program, Cobra displays the remaining pages of the Configure Fields wizard with settings that were defined in the backup program. You can either accept these settings or make any modifications that meet the needs of your current program.
The result names displayed in the list depend on your choice of action on the Action Selection page:
If you selected Edit, the result names that are displayed are those that are currently defined. Initially, these are the same as the default result names. However, if the list of result names has been modified, the current result names may differ from the default settings. If you selected Typical, the list contains default result names. These default result names are required by the demonstration data that is distributed with Cobra. If you selected Load and then selected a backup program from the Load from Backup page, the list includes the result names that are stored in the chosen backup program.
You can use the Add and Delete buttons to modify the list of result names. To reorder the results, simply drag the button next to a result to the appropriate location in the list. Each derived cost or result used in your program must be added to the list of results in this Configure Fields wizard. In Chapter 10, Budget Elements, you will learn how derived costs are calculated in Cobra. These result names then become field names in the Time-phase table of the Cobra program.
32
Chapter 2 Configuration
In the event you do not understand how derived costs are used in Cobra, use the Back button and install a typical installation. This will allow you to use the Learning Cobra tutorial to help you understand Cobra before continuing. Cobra programs can reference only those result names that you define on this page of the wizard. If you want a result name to be available to you when you create calculations for the budget elements of your program, you must enter the name here. If you want to be able to restore the demonstration data, ensure that the following results are included in the list: HOURS, DIRECT, OVERHEAD, FRINGE, GANDA, FTE, and COM. When you click the Add button on Result names page, Cobra displays the following Add Result Field dialog box:
Use this dialog box to create a new result name. The result name that you enter is then displayed on the list of results.
Cost Account Keys Work Package Key Milestone Key Budget Element Key Codes Unless absolutely necessary, the default field lengths should not be edited. There is little to gain by shortening key field lengths.
Move through each Key Field Length page by setting the field lengths, and then clicking Next to move to the following key field page. If you selected the Load method, each page of the Key Field Length pages displays the key field settings that were loaded from the backup program. You can modify or accept the displayed key fields, and then click Next to continue.
33
Chapter 2 Configuration
If you selected the Typical method, Cobra displays the Key Field Length pages with a default setting of 30. When all of the field lengths have been set, the Configure Fields wizard displays the Finish page. Once you have determined that the Key Field Lengths are correct, you must click Finish.
The values you set on this page determine the maximum length of the codes you can use for your cost accounts in any Cobra program. The Cost Account Keys page provides three Cost Account Key fields:
Cost Account Key 3 field is not always used. If used, it may store such information as a charge account. When you click Next, Cobra displays the Work Package Key page.
Cost Account Key1 field is typically used to store the WBS code. Cost Account Key 2 field is typically used to store the OBS code.
34
Chapter 2 Configuration
The value you set on this page determines the maximum length of the codes you can use for your work packages in any Cobra program. If you plan to use a breakdown structure for the work package key, the Work Package Key field length must be at least equal to the breakdown structure file code length. When you click Next, Cobra displays the Milestone Key page.
The value you set on this page determines the maximum length of the milestones you can use for your work packages in any Cobra program. When you click Next, Cobra displays the Budget Element Key page.
35
Chapter 2 Configuration
The value you set on this page determines the maximum length of the codes you can use for your budget elements in any Cobra program. If you plan to use a breakdown structure file for the budget elements of a program, the length of the budget element key field must be at least equal to the breakdown structure file code length. When you click Next, Cobra displays the Codes page.
Codes Page
This page of the Configure Fields wizard controls the maximum length of the code field that Cobra uses when defining breakdown structure files and code files in the Cobra database.
The value you set on the Codes page must be at least as wide as the longest key field that uses a structure to validate values in that field. For example, assume that you have defined the following key fields:
Cost Account Key Key 1 30 Key 2 44 Key 3 31 Work Package Key Key 43
36
Chapter 2 Configuration
In this instance, the Codes field must be set to at least 44. When you click Next, Cobra displays the Finish page.
Notice that the Next button is disabled on this page, and the Finish button is now enabled. You can click the Back button to return to any of the previous pages and make changes to the settings. When you click Finish, the Configure Fields wizard returns you to the Cobra main screen and begins generating the database tables. To change a typical installation
1. From the Action Selection page of the Configure Fields wizard, select Typical. 2. Click Next to continue building your data structure configuration.
37
Chapter 2 Configuration
5. On the Work Package Key page, customize the length of the work package key field to meet the needs of your organization, and click Next. 6. On the Milestone Key page, customize the length of the milestone key field to meet the needs of your organization, and click Next. 7. On the Budget Element Key page, customize the length of the budget element key field to meet the needs of your organization, and click Next. 8. On the Codes page, ensure that the maximum length of the code is at least as wide as the longest key field you have defined in the previous pages of the wizard, and click Next. 9. On the Finish page, review the settings that have been made, and take one of the following actions:
If the settings are correct, click Finish. If the settings are not correct, click Back to return to the page where you need
to make a correction. Then, return to the Finish page, and click Finish.
38
Chapter 2 Configuration
5. When the list is complete, click Next to display the remaining pages of the wizard.
The Date Format tab contains the following controls: Format Use this field to select one of the following date formats:
American (MM/DD/YY) ANSI (YY.MM.DD) British (DD/MM/YY) French (DD/MM/YY) German (DD.MM.YY)
Japanese (YY/MM/DD) USA (MM-DD-YY) DMY (DD/MM/YY) MDY (MM/DD/YY) YMD (YY/MM/DD)
39
Chapter 2 Configuration
Italian (DD-MM-YY)
Show four-digit year Select this option if you want to include the century in all date formats (for example, 19JUN2007). If you select this option and enter dates using the two-year date format, Cobra uses the following rules to convert the date to the four-year format:
All years equal to or greater than 70 refer to dates prior to 2000. All years less than 70 are assumed to refer to dates after 2000.
Thus, the date 01/01/84 is interpreted as January 1, 1984, while the date 01/01/07 is interpreted as January 1, 2007. To configure the date formats
1. 3. 4. 5. On the System menu, point to Configure, and click System. Click the Date Format tab. From the Format field, select a date format. Select or clear the Show four-digit year option,as needed.
Terminology Tab
This tab controls the prompt that Cobra uses for the CAM code as well as the notation used when referring to Earned Value:
The Terminology tab contains the following controls: Manager Notation Prompt Using this setting, you can change the prompt that Cobra uses when referring to the CAM code on the Auxiliary Files tab of the Program Directory dialog box. Earned Value Notation You can select which type of earned value notation you would like to use in Cobra. Three options are available: BCWS, BCWP, ACWP, EAC Budget, Earned, Actual, Forecast PV, EV, AC, EAC
40
Chapter 2 Configuration
Program Notation Using this setting, you can change the word Program to Project wherever it is used and vice versa. By default, Program is selected. Project Select this option to display the word Project instead of the word Program. Program Select this option to display the word Program instead of the word Project.
After you select a notation and click the Save button, the selected option is saved into the System.ini file. This file stores the corresponding values for BCWS, BCWP, ACWP, and EAC for all notation types. The matching values for your selected notation will be used for the Program form and Drill Down Analysis form. To change the CAM prompt
1. 2. 3. 4. On the System menu, point to Configure, and click System. Click the Terminology tab. In the Prompt field, enter the new prompt to use for the CAM code. Click Save.
41
Chapter 2 Configuration
The Note Categories tab allows you to add, delete, or edit the system-level note categories:
This dialog box displays all the note categories that have been defined. If you delete an existing category, Cobra deletes all the notes assigned to that category. Notice that the first line on the Note Categories dialog box shows a category named <Default>. This category is automatically added and is the only note category that cannot be modified or deleted.
Simply enter the name for the new category and then click OK.
42
Chapter 2 Configuration
You can modify the category name that is displayed. If, however, you enter a name that already exists, Cobra issues a message alerting you that the name already exists and redisplays the Edit Note Category dialog box so that you can enter a different category name.
When the Notes tab is first displayed for a cost account or work package, the <Default> note category is selected. Once you have defined other note categories, you can select a different note category from the Category list. To create a note category
1. 2. 3. 4. 5. On the System menu, point to Configure, and click System. Click the Note Categories tab. Click Add. In the Add Note Category dialog box, enter a name for the new note category. Click OK.
43
Chapter 2 Configuration
Deleting a note category also deletes all the notes attached to that category.
44
Chapter 2 Configuration
The Program Code Fields tab controls how these codes are defined:
This tab contains the following controls: Type This field specifies the type of file that you are assigning to the code field. BDN Indicates that the file is based on a breakdown structure. Code Indicates that the file is based on a code file. Filename Use of this field is optional. If used, the Filename field specifies the name (without the extension) of the file you are assigning to the code field. User Prompt This field allows you to assign a label that Cobra will use as a prompt for the code field. The user prompt can have a maximum of 15 characters. Validate This field allows you to control how the codes will be validated with the following options: Yes Specifies that the code will be required. This means that Cobra will not allow you to store a record without a valid code in the field. Yes/Blank Means that a code will not be required when you store a record. But if you do enter a code on a record, Cobra will check that the code is a valid one for the file. No Specifies that Cobra will not perform any validation on the code. The numbers along the left edge of the grid indicate the code field to which you may assign a code file. Both code files and breakdown structure files can be assigned to any code field. To add a program code
1. On the System menu, point to Configure, and click System. 2. Click the Program Code Fields tab. 3. Click the row representing the field to which you want to assign the code, and enter the information for the new code. 4. Click Save.
45
Chapter 2 Configuration
Table Schema
The graphic file cobra schema.gif, which shows most of the basic relationships between the Cobra tables, can be found in the \Cobra\Docs directory. The primary key on each table is represented by the fields above the horizontal line as seen in the following sample:
Primary key
Please note that not all of the tables will have a primary key.
46
Overview
Cobra addresses the need to monitor and control the performance of a program, primarily in terms of cost, but also in terms of schedule. Although it is designed to comply with the U.S. Government guidelines for integrated cost and schedule control (generally known as the Earned Value Management Systems or EVMS), Cobra can be applied to any situation where the earned value approach to project performance measurement is to be used. Whether or not one has a need to comply with the EVMS guidelines, the concepts of earned value management (or performance measurement) are valid and useful. This chapter, therefore, contains a brief explanation of the earned value methodology.
Is the program currently over- or under-spending its budget and, if so, by how much? (We will refer to this as determining the program cost variance.) Is the program currently ahead or behind schedule and, if so, by how much? (We will refer to this as determining the program schedule variance.)
For these questions to be meaningful at all, a manager must first have a plan that defines where the program was expected to be in terms of schedule and costs at any particular point in time. This plan can be summarized as the program time-phased budget, or budget baseline. The budget baseline allows the manager to determine the budgeted cost of the program at any point in time. In addition to information about the budget baseline, it is equally important for a program manager to know how much money has actually been spent so far. These actual costs are generally the most readily available data, and it is tempting to ask for a comparison of actual costs to budget costs to get a rough idea of the current status of the program. In the following illustration, we see a situation in which the actual costs of a program appear to be running above the budgeted values.
48
What does this tell us about the program cost and schedule variances? An optimist might point out that the program seems to be ahead of schedule. Since more has been spent than was originally budgeted, surely more work must have been completed than was originally planned. A pessimist, on the other hand, would take the difference between budget costs and actual costs as a clear indication of a cost overrun; that is, the program is overspending its budget. Neither of these points of view is asking the right question. The truth is that simply comparing actual and budgeted costs does not provide us with enough information to accurately assess the program status. What other piece of information do we need? In this case, the terminology of earned value management systems provides us with an important clue. Lets take what we have referred to so far as budgeted costs and replace that name with a more precise term Budgeted Cost of Work Scheduled, or BCWS. For actual costs lets substitute the term Actual Cost of Work Performed, or ACWP. Now we can redraw the figure using these new names:
Note in the figure that the curves have not changed, but the labels have. Now we can compare the actual cost of what has actually been done (work performed) with the budgeted cost of work that was planned (work scheduled).
49
In other words, we have been comparing apples to oranges. If we want to arrive at a meaningful estimate of the cost variance, we need to compare the budgeted and actual costs of the same thing; that is, work performed. Since we already know the actual cost of work performed, we now need to determine the planned cost for that same work. This planned cost of work performed is referred to as the Budgeted Cost of Work Performed, or (BCWP) for the program. Sometimes BCWP is referred to as earned value or simply performance. Now lets look at a curve representing BCWP for the program:
This figure shows that the actual cost of the work performed so far exceeds the amount budgeted for that same work. In other words, our program is showing an unfavorable cost variance a cost overrun. In traditional cost/schedule systems, the cost variance is determined by subtracting ACWP from BCWP. Using this convention, a favorable (that is, a cost underrun) cost variance is represented by a positive value, while a negative value represents an unfavorable variance. We can also use the same curve to determine the program schedule variance by comparing the budgeted cost of the work we planned to have accomplished by this time to the budgeted cost of the work that was actually performed:
50
This figure shows that the program has a favorable schedule variance, that is, we are currently ahead of schedule. (As in the case of cost variances, favorable schedule variances are represented as positive values, while unfavorable variances produce negative values.) Notice how the schedule variance for the program is measured in the same units as the cost variance, monetary units such as dollars. This measurement method may seem strange, but the monetary value gives a convenient summary of the schedule position at any given time and allows us to arrive at a single-figure estimate of the schedule status of the program, suitable for many high-level reporting purposes. However, since the amount budgeted for a particular activity may or may not reflect the importance of that activity to the overall schedule of the program, this approach is not a true alternative to critical path scheduling for measuring the likely impact of potential delays.
Measuring Performance
As we have seen, asking the right questions about the cost and schedule variances of a program means determining not only our actual and planned budgeted costs at any given time, but determining the program BCWP. Clearly then, measuring BCWP (also referred to as earned value or performance) is central to earned value cost control systems in general, and to Cobra in particular. So how do we go about measuring performance? When measuring performance, we want to obtain an objective measurement of the work actually performed, generally in monetary units such as dollars. Clearly, this measurement needs to be based on the budget for that work. To determine the budget, we can begin by dividing the program into small pieces and then determine a budget for each piece. This was probably one of the first things we did when we calculated the budget for the program originally, so recalculating the work budgeted in smaller pieces should not be difficult. In Cobra, we refer to these pieces as work packages. We use the following criteria when setting up work packages:
Each work package should represent a discrete and definable task that can be clearly distinguished from all other work packages in a program. Each work package should have a scheduled start and finish date that represents its duration. Each work package should have a specific budget amount attached to it. The duration for a typical work package should be relatively short, ideally, not more than two to six months. The advantage of creating short work packages is that at any particular point in time most of them will be in one of two possible states: Complete, in which case the BCWP (or earned value) for the work package is equal to its total budget. Not started yet, in which case the BCWP for the work package is zero.
51
The BCWP for work packages that are either complete or not yet started is thus beyond dispute. In other words, the simple expedient of dividing the work into smaller pieces has provided absolute objectivity in the measurement of BCWP for the majority of work packages. Now, what about the rest? If we want, we can simply credit earned value only upon the completion of a work package. Clearly, however, that understates the total BCWP for the program. Therefore, in order to measure the performance of inprogress work packages we must come up with a system of measurement that includes subjective (and perhaps even arbitrary) judgments. In Cobra, we refer to unstarted work packages as unopened, in-progress work packages as open, and completed work packages as closed. In accordance with EVMS guidelines, Cobra provides a number of alternative methods for measuring the earned value of an open work package. These methods are often called earned value methods or performance measurement techniques (PMT). Cobra generally uses the term PMT. The choice of which PMT to use is made at the work package level, and should be based on the planned length of the work package and the nature of the work involved. A discussion of each possible PMT is outside the scope of this introduction, but it is important to note the central idea behind them. The main criterion for these techniques is their relative objectivity, that is, freedom from any need for value judgment. Often the price for this freedom is a degree of arbitrariness. Thus, a common PMT simply counts half the budget as earned when the work package is started, and half as earned when the work package is complete. Finally, most programs contain at least some work that can be regarded as inherently immeasurable, such as the work performed by a quality inspector or a security guard. This type of task is sometimes referred to as level of effort since its BCWP is assumed to be the same as BCWS. In other words, as long as the task is being performed, value is being earned. In Cobra, we do not make a major distinction between discrete tasks and level of effort work, but adopt the convention of referring to all definable tasks as work packages.
52
Reporting both cost and schedule variances on a consistent basis is important because it enables clients to compare these variances with their original expectations (that is, the original budget and promised delivery dates) and to what has actually been achieved. The schedule variance is valuable in its own right as a single-figure estimate of how far behind or ahead of schedule the project is. The traditional critical path analysis cannot provide this estimate, at least not alone, and not as objectively. So, what is the value of critical path analysis, and how should it be integrated with cost control? We have referred above to the need for budgets to be related to a specific time span. In particular, we need a budget baseline, that is, a timephased budget for the entire program. This translates into a need for preparing realistic baseline start and finish dates for each work package, as well as recording the actual occurrence of events such as the start or completion of a work package that triggers the earning of BCWP. Both of these objectives can be accomplished if we can relate the dates for work packages to dates generated by some type of scheduling network. Thus our program schedule can be planned and subsequently managed through the medium of the project-scheduling network, putting proper emphasis on critical activities in order to avoid delays in overall project completion. At the same time, dates generated by this planning and scheduling process can be used directly to produce summary and exception reporting of both cost and schedule variances. The difficulties in combining these approaches are not primarily the result of software problems. Rather they result from the fact that budgets and schedules are put together, generally, by different departments with different needs and different views of how a project needs to be broken down. What may be a very significant cost item from the budgeting point of view may be less significant when viewed from the scheduling standpoint, and vice versa. To make matters worse, the budgeting and planning activities usually get under way when the program is at the proposal stage, when time is short. To be successful, these scheduling and performance measurement processes must come together in determining a hierarchical division of the program that satisfies the particular earned-value methodology in use. It should be noted, however, that a one-to-one relationship between work packages and activities on the scheduling network does not have to exist for this integrated approach to succeed.
53
The problem with this approach is that it is an over-simplification as it assumes that the remaining work will cost the same amount as was planned in the original baseline. This, however, may not be the case. The project may be costing more than had been anticipated. In this case, using the baseline plan from the current time to completion would be misleading as it would imply that you expect improved performance. Unless there is an appropriate explanation as to how this improved performance will be achieved, this is unrealistic. Studies of hundreds of projects have shown that project performance does not tend to improve. In fact, once a project passes the 15% completion point, performance almost never surpasses the average performance to date, and often gets worse. In order to arrive at a realistic estimate of what the project will actually cost at completion, Cobra allows you to apply a performance factor to the remaining work. This performance factor can be calculated using the Cost Performance Index (CPI). The methods by which CPI can be calculated are beyond the scope of this chapter. However, what is important to understand at this point is that a CPI value that is greater than one reflects favorable performance; conversely, a value that is less than one reflects unfavorable performance. For example, assume that a CPI of 0.85 has been calculated indicating that for every dollar being spent, only 0.85 dollars worth of work is getting done. In this case, dividing the project target cost by the CPI of 0.85 provides a realistic cost estimate that the remaining work to be performed on the project will continue with the same cost overruns. Other performance factors such as the Schedule Performance Index (SPI) can also be used in addition to CPI. For more information about the many different forecasting methods supported by Cobra, refer to Chapter 19, Forecasting.
54
55
56
Budget Elements
Budget Units and Derived Costs Defining Budget Calculations
Overview
Unlike other cost management software packages, Cobra does not limit you to a set of narrowly defined options in the gathering, organizing, and reporting of your cost/schedule data. In fact, maximum flexibility combined with powerful functionality is the central design goal for each system feature. As a result, Cobra occupies a unique position in that it provides all the tools you might expect to allow a program manager to ensure compliance with traditional EVMS guidelines yet offers the flexibility to serve a wide range of non-EVMS applications as well. At the heart of this flexibility is the use Cobra makes of relational database technology. This allows information, once entered, to be used and reused in a variety of ways. This approach provides economy while collecting data but power and flexibility when manipulating the data for further analysis. Furthermore, Cobra avoids the traditional trade-offs that systems based on relational databases must cope with deciding between storing vast amounts of data at very low levels of detail (which makes summarization very costly in terms of computing resources) and storing information at higher levels (which prevents the visibility of data at the detail level). Cobra stores data at the lowest level of detail and then, using carefully validated rollup structures, consolidates data to the desired level for reporting. Both the rollup structures and the level of summarization are under the control of the user, so it is the user and not the software that determines how the various reporting levels in Cobra are defined. The price of this flexibility is, of course, greater user responsibility. Nowhere is this more important than in the planning of a cost management system around Cobra. Like a builder who must lay the foundations of a house in such a way as to support all the floor space and weight implied by the rest of the structure, so must a Cobra user consider each major feature of the system with an eye to the required reports that must be produced for the various levels of management. There are four important design points that must be considered when determining how data will be made available for reporting in Cobra:
Scope definition Cost accounts and work packages Budget elements Cost classes and reporting sets
Scope Definition
Typically, the first step a program manager must take is to define the scope of the project. In Cobra, this is accomplished using hierarchical coding systems designed for reporting at differing levels of detail. These hierarchical coding systems are known as breakdown structures.
58
Elements within a breakdown structure are sometimes referred to as being at a certain level and as having a parent and child relationship. Only a single element can exist at the top level of a breakdown structure. This top element represents the entire program. While it has no parent, it can have as many as 36,000 children. Elements at any other level have a single parent and up to 35,999 children. By extension, the children of the children of an element may be called grandchildren, and all the lower-level elements that are directly or indirectly related to a particular element may be called descendants of that element. To display the hierarchical relationships between different elements in a breakdown structure, Cobra uses an outline format:
Top-level element
When you define the elements of a breakdown structure, Cobra ensures that all elements beneath the top level have valid parents. This validated structure plays a key role in reporting since information associated with any element or with any of its descendants is summarized, or rolled up, into a single set of data.
59
LABOR
MATERIAL
ENG
SYS
IWO
ENG01
ENG02
SYS01
SYS02
Variance Thresholds
Most program managers have found that the most efficient way to manage a large contract is to concentrate on areas that exceed predefined thresholds. With Cobra, this can be accomplished by using breakdown structures as the basis for a variance threshold reporting system. For each element in a breakdown structure, it is possible to specify either a positive or a negative threshold for cost and schedule variances. It is also possible to specify whether the threshold is based on a fixed value or a percentage.
Deltek Cobra User's Guide 60
These thresholds can be analyzed during the reporting process, triggering exception reports when the predefined values are exceeded. For example, assume that an unfavorable threshold of 10% is defined for a specific WBS element. Then, if the costs associated with that WBS element exceed the budget by 10% or more, Cobra would trigger an exception report.
61
In the EVMS environment, the cost account is usually the lowest level at which information is reported to the client and the highest level at which actual costs can be entered.
62
Work Packages
Although a cost account can serve as a suitable control point for the purpose of reporting to clients, it is too broad to be used effectively as a means of measuring performance. For this we need access to a lower level of detail the work package. There are no limits to the number of work packages that can be assigned to a single cost account.
Although it is possible to plan and budget work at both the cost account and work package levels (budgeted cost accounts are usually referred to as planning accounts), Cobra calculates earned value at the level of the work package only. A work package is defined as a short, discrete amount of work. In practice, the duration of the work package should depend on the level of detail you plan to maintain in your system. In planning the duration of a work package, it is important to maintain a balance between two extremes:
If the work package is too short, the value gained from the extra detail does not outweigh the time it takes to maintain the system. For example, you would not want to enter a work package that is shorter in duration than the time it takes you to enter, status, and report on the work package. If the work package is very long, the subjective nature of statusing the work package over multiple periods can cause errors in the earned value.
For work that is to be performed and managed within your organization, you may find that an appropriate duration is four to six weeks.
Milestones
Finally, it is possible to define multiple milestones for each work package as a means of measuring progress:
Unlike cost account and work package keys, however, milestone key fields cannot be associated with a breakdown structure for reporting purposes.
63
Budget Elements
All cost-related functions in Cobra, including budgeting, calculating earned value, entering actual costs, and forecasting, can be customized to fit almost any data entry or reporting requirements.
In Cobra, the term budget unit refers to the base unit generally used to input or calculate a cost. Examples of common budget units are labor hours and material direct dollars. Derived costs are calculated from the budget unit and typically include all overheads and other burdens. In Cobra, however, the term derived costs can also encompass the direct monetary cost of any budget unit. For example, assume that you want to budget your work packages using labor hours as the budget unit. Direct labor dollars, overhead, and general and administrative costs could all be calculated or derived from the number of hours budgeted. Cobra allows you to define budget units and derived costs however you choose. For example, there is nothing to stop you from using labor dollars as your budget unit and having Cobra calculate the hours or budgeting certain material costs in terms of appropriate units (for example, tons). You can then have Cobra calculate both the direct and the derived dollars. In addition, items such as full-time equivalents, foreign currencies, escalations, or waste factors can also be calculated from the budget unit.
64
A budget element code that is used to identify each budget element to Cobra. (This code can be associated with a breakdown structure so that different types of costs can be rolled up for reporting purposes.) A set of calculations that indicates how costs are calculated from either the budget unit or from a previously established calculated cost. A rate set that defines the rates (multipliers) to be used in generating calculated costs.
Each of these components allows important flexibility when it comes to entering cost information. Budget element codes based on breakdown structures, for example, allow lower-level resource costs to be rolled up to higher-level summarizations. These calculation sets describe the relationships between the various cost types that comprise a single budget element. Rate sets allow for the changing of rates over time as well as providing for the ability to perform what-if analysis when generating forecasts or preparing pricing scenarios. Once you have defined the budget elements for a program, you can specify the costs associated with each cost account or work package using one or more budget elements.
While the level at which budget elements are defined is frequently determined by the standard bid rates of your company, it is possible to plan the work at one level and enter costs at a different level. For example, it is possible to plan work at the individual resource level while entering actuals using a different budget element that represents a higher level of cost summarization. Budget elements can be designed to reflect a particular accounting system. For example, it is possible to substitute invoice numbers for budget element codes. It is also possible to modify the budget element prompt to facilitate data entry.
65
66
Statusing
Step 1: Advancing the Calendar Step 2: Rolling the Wave Step 3: Entering Status Information Step 4: Calculating Earned Value Step 5: Entering Actual Costs Step 6: Generating Revised Forecasts
Overview
Cobra provides a set of powerful and flexible software tools for developing program management systems that can accommodate virtually any cost/schedule application, including the validation of programs for EVMS purposes. By placing many of the basic design decisions in the hands of the user, it is possible to extend the capabilities of Cobra in a number of different directions without having the added expense and complexity of custom programming. At the same time, maintaining all data in database file format makes it a relatively simple task to integrate Cobra data into external systems. With regards to the entry, manipulation, and reporting of data in Cobra, the same goals of flexibility, convenience, and power apply. Although Cobra defines the concepts that underlie its operations very specifically, all are based on a basic cost/schedule methodology that most program managers are familiar with:
Organizing program information Establishing a program baseline Statusing program information Reporting program information Special-purpose operations
The following sections of this chapter provide a brief introduction to each of these areas.
Breakdown structures Code files Fiscal calendars Budget elements Cost classes and reporting sets
Although it is possible to set up a program in Cobra without all of these data structures in place, most experienced program managers prefer to work out the implications of the program requirements in advance. Cobra provides a number of tools for setting up these files, including the ability to copy existing files, which can then be modified where necessary.
Planning cost accounts and work packages Importing information from a schedule Setting the program baseline
Whether you want to capture actual costs at the cost account or work package level The start and finish dates for the program How Cobra should handle spreading budgets for fiscal periods that contain different numbers of working days
Once you have created a program, you can define information such as contract/budget values, links to a scheduling network, associated code files, and so on.
Planning
Now that you have set up your program in Cobra, you are ready to begin entering the budget baselines for cost accounts and work packages. The process of entering a budget baseline in Cobra consists of a number of different tasks:
Cost accounts and work packages are defined. Scheduled start and completion dates are entered against each cost account and work package. (Optionally, these dates may be obtained automatically from a schedule such as Open Plan, Primavera Project Planner, or Microsoft Project.)
69
An appropriate performance measurement technique (PMT) is selected for each work package. If the PMT calls for milestones for the purpose of calculating earned value, these are defined. A budget is assigned to each work package through the use of budget elements. The budget is spread over time to obtain a time-phased budget.
To understand some of the benefits of the power and flexibility of Cobra, we can take a closer look at how budgets are spread:
Budget spread
Notice that the columns on this form represent the cutoff periods into which the budgets are spread. These cutoff periods are defined in the fiscal calendar file. If you want to define alternative budget cost classes, you can assign different calendar sets to each class and spread different types of budgets into differently spaced cutoff periods. Thus, planning packages, for example, can be spread into quarterly periods (as opposed to months), greatly reducing the data storage requirements for lengthy programs. The budget costs being spread take account of any date-sensitive rates that come from user-defined rate sets. Budget element codes themselves can be based on a breakdown structure, making it possible to roll up cost information to the appropriate level of summarization for the purpose of reporting or forecasting. The spreading operation itself can use any of a number of predefined curves or a user-defined curve:
70
Spreading can be based on the weighting of calendar periods that can either take into account or ignore the differences in the amount of work time available each period. You can also modify any spread manually, with the system recalculating all costs as necessary. In addition to the information related to schedules and costs, descriptive information can be attached to each cost account and work package. This would typically include cost account and work package descriptions, user-defined codes, and so on. The planning procedure can also perform the following validations before storing the information:
Cost account and work package keys are unique. Every work package belongs to a valid cost account. Any keys based on breakdown structures are valid and have not resulted in a cost account being the parent or child of another cost account. The assigned budget element is valid. If milestones have been defined, the system checks that the budget is spread within 5% of the milestone weights. This helps ensure that you are able to earn value in the period during which the costs were budgeted.
71
The use of a program log is optional in Cobra. If used, however, it provides one way for program managers and clients to check on the authorization and movement of funds between different budget accounts. For example, you can use the log to view information on:
Contract Target Cost Authorized Unpriced Work Contract Budget Baseline Management Reserve Distributed Budget Undistributed Budget Over Target Baseline
Once the log is turned on, it creates a baseline log file for the program. Thereafter, Cobra automatically records any movement occurring between different budget accounts as the result of budget transactions at the cost account, work package, or budget element level. You can also use the program log monitor funds that are transferred between accounts manually. These transactions are identified by a reference number and a comment that you enter, allowing the record to be used for change control purposes. The baseline log file contains the following information for each transaction:
Cost account/work package ID Budget element code Batch reference number Account credited Amount of credit
72
Account debited Amount of debit Comments entered at the time of the transaction Change number Date of the transaction User ID
In addition, once the baseline has been set, any changes to the baseline are logged automatically.
Statusing
Once you have established your program baseline, you are ready to begin entering such status information as progress achieved, actual costs, and revisions to estimated dates and costs. In Cobra, entering status information consists of a simple sequence of steps:
Advancing the calendar Rolling the Wave Entering Status Information Calculating earned value Entering actual costs Generating revised forecasts
Direct manual entry Automatic entry from a schedule that has already been progressed Automatic entry from a suitably prepared transaction file
73
If you want to update the status of a program using information from a schedule, Cobra allows you to transfer actual dates or update estimated dates using either early dates, late dates, or dates calculated by resource scheduling. You can also transfer information related to the physical completion of the planned work.
You can enter actual costs at either the cost account or the work package level. You can enter actual costs as either current period or cumulative-to-date values. You can enter actual costs using the budget unit of the budget element and have Cobra generate calculated costs, or you can enter some or all of the derived costs manually.
74
You can enter actual costs manually or automatically from a transaction file prepared by another system.
If you enter actuals using a transaction file, Cobra allows files in either Comma Separated Value (CSV) or .dbf formats. These files contain either current period or cumulative-to-date values. It is also relatively easy to set up a custom facility for mapping charge account numbers to cost accounts or work packages. Cobra always stores actual costs as a current period value. If actual costs are entered as a cumulative value, current period values are calculated by subtracting previously recorded actual costs and then posting a current period value.
Manual forecasts allow you to perform bottom-up forecasts in which you update forecasts for work packages or cost accounts on an individual basis. Manual forecasting methods allow you to initialize your forecasts using your baseline budgets at the start of the contract and then update the forecasts of specific work packages or cost accounts on an exception basis. Cobra provides two manual forecasting methods: Method M: Manual (retain ETC) With this method of forecasting, Cobra deletes the previous period costs and leaves the remaining time-phased ETC unchanged. Method A: Manual (retain EAC) With this method, Cobra performs the same actions as in Method M. However, Cobra keeps the existing EAC constant by adjusting the ETC. Statistical forecasts allow you to calculate revised ETC and EAC values without manual input. Performance Factors (PF) used in the generation of statistical forecasts can be calculated using Cost Performance Index (CPI) and Schedule Performance Index (SPI) values, or can be derived from user-defined values. It is also possible to use different forecasting techniques depending on how much of the work package is complete. These performance factors can be calculated at the level of the entire program, the cost account, the work package, or at a specific level in a breakdown structure, allowing for more precision in using these forecasts for program management and reporting.
If you want, you can maintain multiple forecasts for the program, each forecast being based on different assumptions about future performance. It is also possible to set up forecasts that use alternate rate sets for calculating costs under different scenarios.
75
Reporting
With regards to the EVMS criteria, reporting to customer is not normally required at the work package level. Under most EVMS guidelines, the lowest level at which reporting will ever be required is the cost account level, which is one level above a work package. In fact, it is perfectly acceptable not to collect actual costs at the work package level. (Notice that as long as budgets are defined and earned value is calculated at the work package level, this in no way invalidates the earned value methodology.) Client reports will often require data at a higher level than the cost accounts. For example, you might break a program down into just eight or ten line items that can be shown on a single page. But, client reports can also be used to produce lowerlevel reports on an exception basis. As an aid to exception reporting, Cobra supports the definition of hierarchical breakdown structures and the specification of variance thresholds, allowing you to trigger reports at each level. Typically, a program is defined so that it can be summarized to various levels in two different structures such as the WBS and the OBS. However, Cobra supports the use of up to five different breakdown structures and nine code fields in the definition of a single program. This flexibility makes it possible to produce exception reports from multiple perspectives of program data. Cobra features a complete set of standard cost/schedule reports, a number of which were designed to comply with EVMS guidelines. Standard reports include the following types:
Required EVMS formats such as CPR formats 1 through 5 and CSSR Tabular reports that can be used as planning sheets, checklists, and program logs Listings of important data files such as fiscal calendars, rate sets, and breakdown structures Graphic reports such as histograms and trend analysis curves Barcharts showing cost account/work package schedules Variance analysis worksheets NASA 533 formats
While the simpler tabular reports are created using the report generation features in Microsoft Visual FoxPro, many of the Cobra standard reports allow you to take advantage of a special Spreadsheet Wizard, an easy-to-use report conditioning function. You can use the wizard to define the following types of configuration parameters for a report: Report Criteria Select up to four subtotal criteria including cost account and work package keys, budget elements, user-defined breakdown structures, or code files assigned to the program. Calendars Select which fiscal periods to report on. Select which calendar sets will be used and which periods will be flagged. Cost reporting sets Include the cost reporting set (for example, BCWP, ACWP, or a special-purpose user-defined reporting set in the report detail section).
76
Report styles Predefine the report format, including the report header and footer. Once you define a report using the Spreadsheet Wizard, Cobra displays the output in a special-purpose window. Use this window to continue to modify the appearance of the report, save the report as an .xls file for import into applications such as Microsoft Excel, or send the report to an output device such as a printer.
Special-Purpose Operations
Cobra provides the following special-purpose features that make program management easier: Top-down planning Change existing budget and forecasting costs and prepare what-if scenarios at the program level Drill-down analysis Display cost and schedule variances based on a breakdown structure Multi-program merges Merge subprograms for reporting purposes Global operations Perform global recalculations, respreading, and reclassifications for a program Security Assign user passwords and read/write access to program data Cobra also provides system utilities for performing data file maintenance functions such as:
77
78
Overview
While offering the performance, functionality, and capacities of a high-end performance management package, Cobra provides a graphical interface based on recognized Windows standards. If you are experienced with using different Windows applications, most of the basic operations in Cobra should seem familiar. If you are new to Windows software, however, you may want to take a few minutes to review the material in this chapter. Once you master a few of the basic skills required to use the Cobra interface, you will find that these skills apply to many features in the package. This chapter starts with descriptions of basic skills common to many Windows applications: choosing commands, working with windows and dialog boxes, and using a mouse. The chapter concludes with a discussion of the skills related to selecting, cutting, copying, and pasting data. This chapter assumes that you already know how to perform basic operations such as using the mouse to click or drag items. If this is not the case, you may first want to review the appropriate sections of your Windows documentation before proceeding with the information in this chapter.
Choosing Commands
To select commands in Cobra, you can use any of the following techniques:
You can select a command from the menu bar displayed at the top of the Cobra application window. You can select a command from a context menu displayed when you right-click an area in a form. You can use keyboard shortcuts to select a command.
Menu bar
Cobra uses the same set of menus throughout the application. The contents of the menus, however, may change as the available operations in the window you are currently using change.
80
When you click the name of a menu (or press the Alt key in combination with the underlined letter of the menu name), Cobra displays the commands available from that menu:
Notice that the names of commands are sometimes disabled on a menu. When names of commands are dimmed, it means that those commands are not available in the given situation. Notice also that some commands have an arrowhead next to their name on the menu. When you point to one of these commands, Cobra displays a submenu of choices related to that command.
Disabled
Submenu
To select a command from a menu, simply click the name of the command. You can also select a command by typing the underlined letter in the command name.
81
Also, the File menu has a list of the last five Most Recently Used (MRU) items. This list shows the name and type of the item that was opened. The MRU list is updated by any function that updates the last used name (for example, restoring a program). To choose a command from a menu
1. Display the contents of a menu with one of the following actions:
Click the name of the menu. Press the Alt key in combination with the underlined letter in the menu name.
2. Select a command with one of the following actions:
Click the name of the command. Type the underlined letter in the command name.
Right-clicking the Dates grid, on the other hand, displays the following menu:
Selecting a command from a context menu is identical to selecting a command from the Cobra menu bar.
82
Maximize
Minimize
83
Click anywhere in the window. From the Window menu, select the window.
To move a window using the mouse
Drag the title bar of the window to the desired location.
To minimize a window
Take one of the following actions:
Click the Minimize button. Click the title bar icon, and click Minimize on the context menu.
To maximize a window
Take one of the following actions:
Click the Maximize button. Click the title bar icon, and click Maximize on the context menu. Press Ctrl+F10.
To close a window
Take one of the following actions:
84
Double-click the title bar icon. Click the title bar icon, and click Close on the context menu. Press Ctrl+F4.
Cobra does not allow you to close a window with unsaved data.
Stay-on-Top Windows
A few windows in Cobra display an icon representing a pushpin in the upper right corner of the window.
Click the pushpin to display the window on top of any other windows.
This pushpin icon functions as a control that determines if the window always appears on top of other windows. To change the setting for the window, simply click the icon.
85
86
Most dialog boxes have a default command, which you can execute by pressing the Enter key. (Cobra displays a special outline border around the default button of a dialog box.) You can choose other commands by pressing the Alt key in combination with the underlined letter in the command name. You can always select the Cancel function in a dialog box by pressing the Esc key. Many dialog boxes in Cobra are non-modal. This means that you do not have to close the dialog box in order to perform another operation within Cobra.
Tab
To display the different tabs in a tabbed dialog box, click the tab. You can also display different tabs by clicking one tab and then using the left and right arrow keys. Simply going from one tab to another does not automatically save any changes you may have made on the first tab. For example, in tabbed dialog boxes there is only one set of Save and Undo command buttons. These commands affect all of the settings in the dialog box, not just those on the tab currently being displayed.
87
All forms are non-modal that is, you do not have to close the form in order to perform another operation within Cobra. This feature allows you to keep multiple forms open at the same time so that you can, for example, simultaneously display information about more than one rate set. While you typically use the OK and Cancel buttons in a dialog box to save or discard your entries, Cobra forms include a Save button, which saves the current state of the data, and an Undo button, which returns the data to its previous state. Both the Save and the Undo buttons remain disabled until you update information in the form. To close a window containing a form, click the Close button, or click Close on the File menu. If this command is disabled, you must first save or undo any changes in the data before you can close the form.
Using Grids
Most of the forms available in Cobra contain one or more grids that display the information for multiple records. The Fiscal Calendar form, for example, contains two grids: the Calendar Sets grid and the Dates grid.
Dates grid
88
Think of these grids as mini-spreadsheets with each record occupying a single row. To select a record, click the selection button to the left of the first column in the row, or click in any field on the row. To update a record, you can enter the data in the different cells of the grid in the same way that you would use to enter data in the cell of a standard spreadsheet. To facilitate data entry, Cobra allows you to cut, copy, and paste data directly into a grid cell.
Change the width of the currently selected column Adjust all the columns of the grid by a specified amount Set all columns of the grid to a specific width
In this way, you can change the row height for all the rows in the grid.
89
To change the height of the column headings in a grid, position the cursor on the selection button for the headings and drag the row to the desired height.
Resizing a Grid
You can change the number of rows displayed in the grids by resizing the window containing the form. To resize a window and display more lines in a grid, position the cursor on the bottom window boundary. When the cursor changes shape, drag the boundary to resize the window:
A cost account grid is located in the upper portion of the form. This grid lists all the cost accounts within the program sorted in ascending order based on the CA1 and CA2 entries. A work package grid is located in the lower portion of the form. This grid lists the work packages within the cost account that is selected in the top grid. These work packages are sorted in ascending order based on the work package key field.
90
In addition to the features common to all forms and grids, Cobra also allows you to add, insert, edit, and remove columns in the Program form. Clicking a column heading sorts the Program form based on that column.
91
This dialog box features the following fields: Field You can select any field from a list. Notice that when this dialog box is accessed from the cost account grid, all the field names begin with the letters CA. When the dialog box is accessed from the work package grid, all the field names begin with the letters WP. Expression The default setting for this field is the selected field. You can, however, enter a calculation based on one or more fields. For example, you can calculate cost account schedule variance by entering the following calculation: CA.BCWP CA.BCWS. Column Heading You may enter any text you want to appear as the column heading. Alignment You can select whether the contents of the column should be left aligned, centered, right aligned, or whether the alignment should be set automatically according to the type of data that is displayed. Width The value you enter in this field determines the width of the column you are creating. Format This field controls how a numeric value is displayed. You can enter any of the following formats:
$ Places a dollar sign to the left of a displayed numeric value. L Specifies that Cobra should display the maximum number of digits specified in the mask to the left of the decimal, inserting leading zeroes if necessary. Leaving this field blank specifies that Cobra should display only significant digits to the left of the decimal.
92
xxx The number of x characters you enter specifies the maximum number of letters that may be displayed in the column. The x characters may be either upper- or lower-case. If you leave this field blank, Cobra displays as many characters as can fit within the column width. (You can, however, change the column width at any time simply by dragging the right edge of the heading in the appropriate direction.) ###.## The number of # characters to the left of the decimal specifies the maximum number of digits that Cobra should display to the left of the decimal; the number of # characters to the right of the decimal determines the level of precision at which the value is displayed. To add a column to a grid in the Program Form
1. 2. 3. 4. Right-click anywhere in the grid to which you want to add a column. On the context menu, click Add Column. Enter the information for the column that you want to add. Click OK.
Removing a Column
You can remove a column from either the cost account or work package grid simply by right-clicking the column to be removed and clicking Remove Column on the context menu.
93
You can resize the two grids of the Program form by using the splitter bar:
Splitter bar
Position the cursor on the splitter bar. When the cursor changes shape, click to drag the bar up or down to the desired position. The splitter bar location is saved when you close the Program form.
While you can scroll through the list to locate the value of your choice, you can also facilitate this operation by using the search key function. When you type a character, it is added to a search key that Cobra uses to locate the entry. This search key is displayed in a small box located at the top right corner of the screen.
94
A search key can contain any combination of numbers and characters. While the Lookup dialog box uses uppercase characters by default, you can also search for a lowercase character by pressing the Shift key when typing the character. When using the Lookup dialog box, you must clear the search key field before performing a new search. You can clear the search key by pressing the Backspace key, clicking somewhere else in the list, or by pressing one of the navigation keys (up, down, left, right, home, end, page up, or page down).
Finding Data
A number of forms and dialog boxes include a set of navigation controls that allows you to scroll through multiple records without leaving the window.
Navigation controls
You can use these controls to go to the first record in the file, the previous record, the next record, and the last record in the file.
95
You can use this dialog box to locate data based on the search of text, numeric, or date fields displayed in a form or dialog box. For example, if you are searching for a specific fiscal calendar set or date using the Fiscal Calendar form, the Find dialog box allows you to search in any of the following fields:
For searches based on text values, you can also specify the following options: Equals Target field must match search string exactly. Begins with Target field must begin with search string. Contains Target field must contain search string. Text searches are case-sensitive. If you enter a search string in all uppercase letters, Cobra will find only matches in which the same letters are capitalized. To use the Find command
1. Open the form or dialog box in which you want to display the item. For example, to find information for a specific cost account or work package, open the program containing the item. 2. On the Edit menu, click Find. 3. Enter the information for the search, and click Find Next.
This dialog is same as the Find dialog box except that it lacks the Search in field. You can only search the WP field of the work package grid of the Program form. If multiple WPs meet your search criteria, Cobra jumps to the first one and then moves to the next one each time you click Find Next.
96
Selecting Data
When you select data in Cobra, you indicate the item on which the next action should be carried out. Selecting data is a basic skill that you use as a preliminary step in a number of operations. However, the exact procedure for selecting a particular type of data depends on the nature of the item and the context in which the selection occurs. You can select data in the following situations in Cobra: Text displayed in text boxes or cells in a grid
One or more items in a list To select text in text boxes or grid cells
Take one of the following actions:
Drag the cursor over the text. Double-click the text. Press the Shift key in combination with the left or right arrow key.
To select an item in a list
Take one of the following actions:
Click the item. Press the up or down arrow key to select the item. Type the first letter of the item.
To select contiguous items in a list
Take one of the following actions:
Drag the cursor across the items. Click the first item, then Shift-click the last item of the group. Press the Shift key in combination with the up or down arrow key.
To select non-contiguous items in a list
Click the first item, then Ctrl-click subsequent items.
97
Cutting an item is not the same as deleting an item. Deleting an item does not change the contents of the Clipboard. Copy Make a copy of the selected information and store it on the Clipboard. Paste Insert the current contents of the Clipboard. In Cobra, you can cut, copy, and paste text displayed in a text box or in a grid cell. To cut text in a text box or grid cell
1. Select the text you want to cut. 2. Take one of the following actions:
Press Ctrl+X. On the Edit menu, click Cut. On the context menu, click Cut.
To copy text in a text box or grid cell
1. Select the text you want to copy. 2. Take one of the following actions:
Press Ctrl+C. On the Edit menu, click Copy. On the context menu, click Copy.
To paste text into a text box or grid cell
1. Cut or copy the text you want to paste. 2. Position the insertion cursor in the text box or grid cell where you want to paste the text. 3. Take one of the following actions:
Press Ctrl+V. On the Edit menu, click Paste. On the context menu, click Paste.
98
Entering Dates
Throughout Cobra, you can enter a date by selecting the date from a context calendar:
To display this calendar, simply right-click the text box for the date. You can change the calendar by selecting a different month or different year from the lists. To close the context calendar without entering a date, click the Close button in the upper-right corner, or press Esc. To select the current date, click Today.
99
100
Thresholds Code Files Creating a Breakdown Structure File Entering Structure Elements Special Purpose Commands Maintaining Breakdown Structures Creating Code Files Maintaining Code Files
Overview
Breakdown structures describe the hierarchical breakdown of program data. In Cobra, it is possible to associate up to five different breakdown structures to program key fields three at the cost account level, one at the work package level, and one at the budget element level. Hierarchies that can be represented include work breakdown structures, organizational breakdown structures, and cost or resource breakdown structures. By assigning codes based on breakdown structures to various program elements, it is possible to facilitate the summarization of program data to appropriate reporting levels. While a program can and generally does have more than one breakdown structure associated with it, it is also possible for a particular breakdown structure to be used with more than one program. This might be the case, for example, if a number of programs were being performed by the same organization and could therefore share the same organizational breakdown structure. As a result, Cobra does not force you to define breakdown structures that are program-specific. Instead, you can define the breakdown structures independent of a particular program and indicate how the structures are to be associated with program data at the time the program is created. Many program managers have found that creating a single work breakdown structure that uses the project ID as the top level of the structure and that includes all their programs has benefits when performing multi-program operations. This strategy allows them to use the work breakdown structure as a basis for drill down and reporting operations. In addition to associating breakdown structures to cost account keys, work package keys, or budget element keys, it is possible to assign as many as nine different breakdown structure files to the program at both the cost account and the work package level for a total of 18 files. In this capacity, breakdown structures serve the same function as the code files discussed at the end of this chapter. For a description of attaching a breakdown structure to a program, refer to Chapter 12, Supplemental Program Information.
102
There is no requirement that each level be represented by the same number of characters, since the structure levels are signified by the punctuation character. The Breakdown Directory tab of the Create Breakdown Structure dialog box is used to specify the type of coding system to be used:
When you select Punctuated Significant from the Type list, Cobra allows you to select a punctuation character. The maximum number of levels possible is set at a 20 levels.
103
Top Level
Level 2
Level 3
Cobra also permits a variation of this type of structure in which a predefined pad character is used to pad every code out to the same length. In the previous example, the pad character is a blank (which is the default). Had the character zero (0) been defined as the pad, then the parent of 10202 would be 10200. (The most common pad character other than a blank is, in fact, a zero, which is normally used in conjunction with all-numeric codes.) If you are creating a fixed-form significant structure, Cobra displays the following settings on the Breakdown Directory tab of the Create Breakdown Structure dialog box:
You must define the maximum length of the code, the maximum number of levels in the coding system, and the number of characters assigned to each hierarchical level. Note that you must assign the number of characters for each hierarchical level in a cumulative fashion. In other words, the number of characters assigned to the lowest hierarchical level must equal the maximum length of the code.
Non-Significant Codes
With non-significant codes, there is no way to tell from an inspection of the code itself which level it represents. Thus DEPT01 might be a level 3 code and the child of ENG:
104
Important: Since the parent information is not contained in each code, every code in a non-significant coding structure must have a unique name. If you are creating a non-significant structure, Cobra displays the Maximum No. field (which will default to 15 characters) on the Breakdown Directory tab of the Create Breakdown Structure dialog box:
The use of non-significant coding systems may slow the performance of some reporting processes such as filtering. To avoid this, use either the punctuated or the fixed-form significant coding system for breakdown structures whenever possible.
105
For example, assume you want to classify work packages with a six-character code: the first three characters representing the deliverable product (for example, a fuel system) and the second three characters representing the responsible department (for example, Engineering). Although this code is significant, it is not hierarchical since responsible departments are not necessarily subsets of products. This type of coding system would be of service only if you never intend to summarize program information by departments. To summarize by both deliverables and departments would require a two-dimensional coding system using two separate breakdown structures that can be added as codes to the work package or cost account.
Thresholds
Cobra allows for the specification of reporting thresholds against breakdown structure codes. These thresholds, or tolerances, define how large cost variances (BCWP - ACWP) and/or schedule variances (BCWP - BCWS) must be before exception reporting mechanisms are triggered. When you set up a breakdown structure file, use the Thresholds tab of the Create Breakdown Structure dialog box to define the type of reporting thresholds you want to use for the hierarchy:
You have the option of setting thresholds for current period and cumulative schedule variances as well as for current period, cumulative, and at-complete cost variances. Thresholds can be defined separately as favorable and unfavorable variances and can be calculated based on absolute values, percentages, or both. Using this feature you could, for example, trigger variance reporting for all level 2 WBS elements that had unfavorable at-complete cost variances of greater than 10%. The thresholds that you set can also be displayed on the Thresholds tab of the Element Detail form:
106
All variance exception reporting in Cobra relies on this feature to describe exception reporting parameters. As a result, you must set up variance thresholds based on a breakdown structure to flag variance exceptions within the standard reports. Cobra also uses thresholds to flag cost and schedule variances when you perform a drill-down analysis of a program. For more information about drill-down analysis, refer to Chapter 23, Program Utilities. In addition to reporting thresholds, some cost control applications may require that a WBS dictionary be maintained for each program. A WBS dictionary is a document that describes each element in the WBS, including a Statement of Work (SOW), which describes the work content of the WBS element, and a Basis of Estimate (BOE), which describes how the budget of the element was developed. Additional information about each WBS element might include the responsible organization, contract line item number (CLIN), and so on. To facilitate the creation of a WBS dictionary, Cobra allows you to enter the following information on each breakdown structure file:
Code Files
A memo field for SOW information A memo field for BOE information Codes to the elements
When setting up a breakdown structure file, use the Code Files tab of the Create Breakdown Structure dialog box to define up to a maximum of nine code files you want to attach to the elements of the hierarchy:
107
The codes you add here can be used for reporting on the breakdown structure and will appear on the following reports that are used for the creation of a WBS dictionary:
If you assign one or more code files to a breakdown structure, you can have Cobra perform validations in one of three ways:
If you set validation to Yes, Cobra requires that you enter a valid code for each structure element. If you set validation to Yes/Blank, Cobra does not require that you enter a code for each element but checks that any codes you have entered are valid. If you set validation to No, Cobra does not require that you enter a code, nor does it check that any codes entered are valid. (This feature allows code fields to serve, in effect, as custom data entry fields for breakdown structure elements.) To assign a code file to a breakdown structure, you must have already created the code file. You can enter free form data if you leave the Filename field blank and just enter a User Prompt.
108
Once you have provided a name and description for the file and clicked OK, Cobra displays the Create Breakdown Structure dialog box that allows you to enter information about the breakdown directory, thresholds, and codes. When you complete this dialog box and click Create, Cobra allows you to enter information about the first element in the breakdown structure file. After you set up a breakdown structure file in Cobra, you can modify any information about the file (except the type of coding system) by updating the entry for the file breakdown structure file directory by clicking Breakdown Structure on the System File Maintenance submenu. You should be aware, however, that changing information such as the maximum code length for a breakdown structure associated with a program may have unintended consequences. To create a new breakdown structure file
On the File menu, point to New. On the list of file types, click Breakdown Structures. Cobra displays the New dialog box. Enter a name and description for the new file, and click OK. Cobra displays the Create Breakdown Structure dialog box. Use the Breakdown Directory, Thresholds, and Code Files tabs to enter the information about the breakdown structure. When the information for the breakdown structure is correct, click Create. Cobra creates the breakdown structure file and then allows you to enter information for the elements in the file.
109
4. When the information for the breakdown structure is correct, click Save.
When you enter the code for this element and click OK, Cobra displays the Breakdown Structure form:
This form displays all of the elements in a breakdown structure using an outline format. For an existing breakdown structure, elements with children have either a plus sign (+) or minus sign () displayed to the left of the element code. You can expand an element to see its children by clicking the plus sign or by selecting the element and pressing the plus (+) key:
110
Elements displaying a minus sign are already fully expanded; click the minus sign or select an element and press the minus () key to collapse all the children belonging to the element. To display information about a specific element, take one of the following actions:
Select the element, and click the Details command on the Edit menu, Right-click the element, and click Details on the context menu Double-click the element in the form.
General element description Any codes that have been assigned to the file Any thresholds that have been defined for the file Any SOW or BOE data attached to the file
Notice that tabs for Threshold, SOW, and BOE entries are activated only if you have specified these features in the Create Breakdown Structure dialog box. You can also update any information about an individual structure element. You should be careful, however, not to delete a structure element that is being used as part of an existing cost account, work package, or budget element key.
111
Insert Allows you to insert a new element into the existing structure. You can also use this command to add multiple top-level elements to the breakdown structure. Delete Allows you to delete a selected element from the structure. Rename Allows you to rename the child portion of the element code. Reorder Allows you to change the order of the elements within the hierarchy. The Reorder Elements dialog box is used to move structure elements within a hierarchy. You can display this dialog box using the Reorder command.
By dragging the buttons displayed at the left of the elements, you can change the order of elements within a given hierarchical level. The Reorder command does not modify any information about an element. Instead, the command allows you to determine the order in which structure elements appear in reports. Copy Children Allows you to copy all of the children of a particular element to another element of the breakdown structure. This feature helps with rapid development during breakdown structure creation. Copy Down Thresholds Allows you to copy the threshold settings for the currently selected element to its children. This is useful when your breakdown structure is imported from another application. When elements are added to a structure from within Cobra, the thresholds found on the parent are automatically added to the new element. However, if you import your structure, the most efficient method for updating the thresholds is to enter the desired values on the parent element and copy the thresholds down to the children. Copy Down Codes Allows you to copy the codes for the currently selected element to its children. This is useful when a code applies to a parent element. When reporting with codes on codes, every child element must also have the code. To add a structure element
1. Display the Breakdown Structure form to which you want to add a structure element. 2. Take one of the following actions:
Select the element to which you want to add a child, and click Add on the Edit
menu.
112
Right-click the element to which you want to add a child, and click Add on the
context menu. 3. Enter the child portion of the element code, and click OK. Cobra displays the Element Detail dialog box. 4. Enter the rest of the information for the new element, and click Save. Cobra returns to the Breakdown Structure form.
Select the element you want to update, and click Add on the Edit menu. Double-click the element you want to update. Right-click the element you want to update, and click Details on the context
menu. Cobra displays the Element Detail dialog box. 3. Enter the information for the new element, and click Save. Cobra returns to the Breakdown Structure form.
Select the element you want to delete, and click Delete on the Edit menu. Right-click the element you want to delete, and click Delete on the context
menu. Cobra prompts you to confirm that you want to delete the element. Deleting an element also deletes all children of the element. 3. Click OK to complete the operation.
Select the element you want to rename, and click Rename on the Edit menu. Right-click the element you want to rename, and click Rename on the context
menu. Cobra displays the Rename Element dialog box. Renaming an element also renames all children of the element in a fixedform or punctuated significant structure. 3. Enter a new name for the element, and click OK to complete the operation.
1. Display the Breakdown Structure form into which you want to insert a structure element. 2. Take one of the following actions:
Select the element above which you want to insert the new element, and click
Insert on the Edit menu.
Right-click the element above which you want to insert a new element, and
click Insert on the context menu. 3. On the Insert Element dialog box, enter the code for the element, and click OK. Cobra displays the Element Detail form for the element. 4. Enter the rest of the information for the new element, and click Save.
Select the element you want to move, and click Reorder on the Edit menu. Right-click the element you want to move, and click Reorder on the context
menu. 3. On the Reorder Elements dialog box, drag the buttons at the left of the structure elements to reorder the elements at that level. 4. When the order of the elements is correct, click OK.
To copy children
1. Display the Breakdown Structure form containing the element whose children you want to copy. 2. Take one of the following actions:
Select the element whose children you want to copy, and click Copy Children
on the Edit menu.
Right-click the element whose children you want to copy, and click Copy
Children on the context menu. 3. On the Copy Children to Element dialog box, enter the parent of the element to which you want to copy the children of the structure.
Select the element you want to copy the thresholds from, and click Copy Down
Thresholds on the Edit menu.
Right-click the element you want to copy the thresholds from, and click Copy
Down Thresholds on the context menu. Cobra prompts you to confirm that you want to copy the thresholds to the child elements.
114
Select the element you want to copy the codes from, and click Copy Down
Codes on the Edit menu.
Right-click the element you want to copy the thresholds from, and click Copy
Down Codes on the context menu. Cobra prompts you to confirm that you want to copy the codes to the child elements.
Using this dialog box, you can specify a name and description (optional) for the new code file. You also have the option of copying from an existing code file.
115
Once you have created a code file, you can assign the code file to any code field. For example, if you create code file MANAGER, you can assign it to code field 1, code field 2, or code field 3. Once you have created a new code file, Cobra displays the following form:
Use this form to enter the codes and descriptions for the code file, for example:
Code files are assigned to fields using the code fields grid located on the Code Files Setup tab of the Program Directory dialog box. To access the Program Directory dialog box, click Program Directory on the System menu.
116
On the Edit menu, click Add Code. Right-click the grid area of the form, and click Add Code on the context menu. Double-click an empty row in the grid.
Cobra displays the Add Code dialog box. 4. Enter the new code and description, and click OK.
Click Add Code on the Edit menu. Right-click the grid, and click Add Code on the context menu. Double-click an empty row in the grid.
Cobra displays the Add Code dialog box. 3. Enter the information for the new code, and click OK. Cobra displays the New Code dialog box.
Select the row containing the code you want to delete, and click Delete Code
on the Edit menu.
Right-click the row containing the code you want to delete, and click Delete
Code on the context menu. Cobra prompts you to confirm the deletion. 3. Click Yes to continue.
117
118
Overview
In Cobra, a fiscal calendar file defines the cut-off dates for the fiscal reporting periods in a program. These fiscal periods are used throughout Cobra as a means of grouping time-phased cost data such as the spreading of budgets and forecasts. In a Cobra fiscal calendar file, each date represents the end of a fiscal period. Provided that the periods span the entire duration of the program, the periods defined by these dates can be different lengths. All dates in a fiscal calendar include user-defined labels that identify the periods the dates define. For example:
These labels are displayed by Cobra when spreading budgets and are available for reporting purposes as well. Under most circumstances, you will want to set up a separate fiscal calendar file for each program. This approach allows you to advance the status date of a program independently of other programs. If you are working with multiple programs that use identical calendars, Cobra allows you to copy an existing calendar file so that you do not have to re-enter the data each time you set up a new program. A common practice is to name a fiscal calendar file with the same name as the program to which it is to be assigned. In a multi-user environment, if you want to advance the calendar for all programs at the same time, first you set up your programs to share a fiscal calendar and then you advance the calendar of the master program. This, then, advances the subprograms.
120
You can specify the labels for each flagged date in a calendar set. This makes it easy to see which accounting period is being defined by a particular cut-off date. To see how these various features could be combined to define multiple calendar sets, assume that you have created a fiscal calendar file with the following set of dates:
From this list of dates, Cobra automatically creates calendar set 00, in which all dates generated for a fiscal calendar file are flagged and labeled:
In this example, calendar set 00 would allow you to spread budgets and report on program costs on a monthly basis. To track program costs on a quarterly basis, however, you could create another calendar set:
Notice how the flagged period Q100 in calendar set 01 now contains all of the costs that would be stored in JAN00, FEB00, and MAR00 of calendar set 00. This is because a flagged period always contains the costs since the last flagged period. Notice also how the selected dates in calendar set 01 have been flagged as fixed since they do not change as the program calendar is advanced. Finally, notice how the labels for calendar set 01 have been modified to reflect the accounting periods the flagged dates now define.
121
It would also be possible to set up another custom calendar set that aggregates costs according to fiscal years:
Notice that both the start period and end period need to be flagged in order to track the total amount for the fiscal year. However, you need to clear the Include only values that fall within the specified dates option during the Spreadsheet Wizard. If this option is cleared, the first column will be a cumulative value. If it is selected, the first column only contains information found in that period. Each fiscal calendar file in Cobra can have as many as 10 different calendar sets that assign flags and labels to various subsets of the dates generated for the file. Calendar set 00 must have all periods labeled and flagged. Of the nine remaining sets, calendar sets 01 through 06 are completely user-defined, while sets 07, 08, and 09 are reserved for special reporting purposes.
122
To facilitate the definition of dates for a calendar file, Cobra displays the Generate New Dates dialog box each time you indicate that you want to create a new fiscal calendar file:
With this dialog box, you can enter a start date and then generate dates using any of the following patterns:
Daily intervals (D) Weekly intervals (W) Monthly intervals based on the start date (M) Monthly intervals based on end-of-the-month dates (E) Quarterly intervals (Q) Yearly intervals (Y)
It is also possible to define your own pattern using combinations of these intervals. For example, you could define the following custom patterns for generating calendar dates:
2W biweekly intervals 3E trimonthly intervals using end-of-the-month dates 4W,4W,5W a 4-week interval, followed by a 4-week interval, followed by a 5-week interval 3M,2Q a trimonthly interval, followed by a biquarterly interval LAST <day> generates dates on the last specified day of each month To create a new fiscal calendar file
1. On the File menu, point to New, and click Fiscal Calendar. 2. Enter a name and description for the new file, and click OK. Cobra displays the Generate New Dates dialog box. 3. Enter the following information for generating dates for the file: The date interval
A start date Either an end date, or the number of times the date interval should be repeated
4. When the information for the operation is correct, click OK. Cobra generates the dates and displays the information for the new fiscal calendar file.
123
Dates grid displays the dates in the selected calendar set. All calendar sets show the same dates.
From this form, you can continue to add, delete, or generate dates for the calendar file, as well as update information for individual calendar sets. Be aware that there may be unintended consequences if you change the dates in a calendar file following the creation of the program and the spreading of budgets or forecasts. You also have the option of calculating the number of working hours that are available for each period defined in the calendar file. You can enter these values manually, or you can use the Calculate Hours command to display the following dialog box:
124
With this dialog box, you can enter the number of working hours per day and the number of working days per week and have Cobra calculate the number of working hours per period automatically. You can instruct Cobra to consider calculated hours as a weighting factor when spreading budgets and forecasts across multiple periods that may contain different numbers of productive hours. The hours calculated will consider the holidays. Therefore, you should add your holidays before calculating hours. For more information about spreading budgets using hours, refer to Chapter 11, Program Definition. To open an existing fiscal calendar file
1. On the File menu, point to Open, and click Fiscal Calendar. 2. Enter the name of the file to open or select from the list, and click OK.
Right-click the Dates grid, and click Add Calendar Date on the context menu. Double-click an empty row in the Dates grid.
3. Enter the information for the new date, and click OK. All dates defined for a calendar file must be labeled and flagged in calendar set 00.
Right-click the Dates grid, and click Delete Calendar Date on the context
menu. Cobra prompts you to confirm the deletion. 4. Click Yes to continue.
125
On the Edit menu, click Generate Calendar Dates. Right-click the Dates grid, and click Generate Calendar Dates on the context
menu. Cobra displays the Generate New Dates dialog box. 3. Enter the following information for generating dates: The date interval
A start date Either an end date or the number of times the date interval should be repeated
4. When the information for the operation is correct, click OK. Cobra generates the new dates for the fiscal calendar file.
Right-click the Dates grid, and click Calculate Hours on the context menu.
3. Enter the number of working hours for each normal workday. 4. When the information for the operation is correct, click OK. Cobra calculates the working hours for each period defined in the fiscal calendar file. All calendar sets use the definition of work hours stored for the calendar file.
Maintaining Holidays
You can easily create and maintain holidays while the fiscal calendar form is open. Clicking Holidays on the Edit menu or right-clicking the calendar form and clicking Holidays on the context menu displays the following form:
To add a holiday
1. Open the appropriate calendar, and display the Holidays dialog box by taking one of the following actions: On the File menu, click Holidays
Right-click the Calendar Sets form, and click Holidays on the context menu.
Deltek Cobra User's Guide 126
2. To display the Add Holiday dialog box, take one of the following actions: Right-click the Holiday grid, and click Add on the context menu. 3. 4. 5. 6.
Double-click a blank cell in the Holiday grid. Enter the date for the holiday. If this holiday is to be repeated yearly, select the Repeat Yearly option. Click OK. To return to the Fiscal Calendar dialog box, click Close.
For a holiday repeated yearly, Cobra generates a record for the date entered and for the same day each year until the end of the fiscal calendar.
Right-click the Calendar Sets form, and click Holidays on the context menu.
2. 3. 4. 5. Position the cursor in the date to be edited. Enter your changes. When done editing, click Save. To return to the Fiscal Calendar dialog box, click Close.
Right-click the Calendar Sets form, and click Holidays on the context menu.
2. Right-click the date to be deleted, and click Delete on the context menu. 3. When done, click Close.
When holidays are added, edited, or deleted, the calendars hours are recalculated to take into account the changes.
Importing Holidays
Holidays can be imported from a comma delimited, user-defined .csv file. The only data required in the .csv file is the holiday date(s). For information on how to import a file, refer to Chapter 28, System Utilities.
Right-click the Calendar Sets grid, and click Add Calendar Set on the
context menu.
Calendar Labels
You can enter labels for a calendar set manually, or you can have Cobra generate labels automatically using the following dialog box:
With this dialog box, you can have Cobra copy the labels from an existing calendar set or replace all the labels in a calendar set with blanks. You can also set up a custom-labeling template that includes any of the following elements: W Three-character day of the week (TUE) D Two-digit date of day (01) M Two-digit date of month (12) A Three-character abbreviation of month (JUN) Y Two-digit date of year (00) Cobra assumes that all years equal to or greater than 70 refer to dates prior to 2000, and all years less than 70 refer to dates after 2000. Thus, the year 98 is interpreted 1998 while 07 is interpreted as 2007. C Four-digit date of year (2000) N Three-digit counter that is incremented each period (001) For example, the template ADY would result in the generation of labels such as JUN3100.
128
If you use a character other than those listed above in a template, Cobra treats the character as a literal when generating labels. For example, the template PN would result in labels such as P001, P002, and so on, while the expression A_Y would result in labels such as MAY_00. Cobra does not allow duplicate labels within a single calendar set.
Right-click the Dates grid, and click Label Dates on the context menu.
Cobra displays the Create Labels dialog box. 4. Enter the template for the labels in the Label Code text field, and click OK. Cobra generates the new labels for the selected set.
Right-click the Dates grid, and click Label Dates on the context menu. Cobra displays the Create Labels dialog box. 4. Click Copy From an Existing Calendar Set, and specify which calendar set to copy. 5. Click OK. Cobra copies the labels from the existing calendar set to the selected set.
To set all labels to blank
1. Display the Fiscal Calendar form for the file you want to update. 2. Select the calendar set for which you want to replace all labels with blanks. 3. Take one of the following actions: On the Edit menu, click Label Dates.
Calendar Flags
Calendar set flags control the reporting of cost data by specifying which cut-off periods are to be used for aggregation purposes. Two types of flags are available:
129
Fixed flags ($) define fixed periods (such as the end of fiscal years) that do not change as you advance the program status date. Floating flags (*) define floating periods that are relative to the current program status date. Floating flags are advanced to the next labeled period each time the calendar is advanced. For example, you might define the 12 periods following the current date as floating periods for planning reports.
When defining flags for a calendar set, you can enter the flags manually, or you can have Cobra automatically flag all labeled periods using either fixed or floating flags using the following dialog box:
You should not use floating flags for calendar sets that you are creating for spreading purposes, nor should you designate floating periods that may be advanced into periods already flagged with a fixed flag. When that occurs, the floating flag is overwritten and lost. To define flags for a calendar set
1. Display the Fiscal Calendar form for the file you want to update. 2. Select the calendar set for which you want to define flags. 3. Take one of the following actions: On the Edit menu, click Flag Dates.
Right-click the Dates grid, and click Flag Dates on the context menu.
Cobra displays the Flag dialog box. 4. Take one of the following actions: To flag all labeled dates in the calendar set with a fixed flag, click Flag with $.
To flag all labeled dates in the calendar set with a floating flag, click Flag with
*. 5. When the information for the operation is correct, click OK. Cobra flags the labeled dates in the selected calendar set with the specified flags.
130
Calendar set 08 is a set used in a number of standard cost performance reports. Calendar set 08 is restricted to three flagged and labeled periods: the period immediately preceding the current status period (PREVIOUS), the current status period (TODATE), and the final date in the calendar file (ATCOMPLETE). Calendar set 09 is a set required by CPR3, CPR4, and both of the 533 reports. Of the various system calendar sets, calendar set 09 has the most interesting design; it typically combines both fixed and floating flags in order to provide for the various fiscal cut-off periods required by these types of report. By default, Cobra defines calendar set 09 by combining the contents of calendar set 08 with floating flags for each of the six periods following the current status date. You can modify the labels and flags in calendar set 09 each time you advance the program calendar. If you plan to use ANSI X12 export, additional periods must be flagged or labeled to avoid a warning that there are less than four flagged periods remaining in calendar set 09.
Set "Todate"
You can specify the status date in a calendar and have Cobra automatically assign the Previous, Todate and Atcomplete flags in calendar sets 08 and 09 as well as any suitable adjustments to labeled/flagged periods in calendar set 09.
Updates the labels and flags in calendar set 08 (which are used in many cost performance reports) to reflect the current status date Advances any user-defined floating flags
If the program uses the CPR3 report, the Advance Calendar command also performs the following functions: Allows you to modify the labels and flags in calendar set 09, which is used for the CPR3 report Performs an aggregation of cost data, and updates the CPR3 file with information about previous, to-date, and at-complete cumulative costs
131
For a discussion of issues related to CPR3 reporting, refer to Chapter 21, Reporting Utilities. To advance the fiscal calendar
1. On the Status menu, click Advance Calendar. 2. Select the program you want to update, and click OK. Cobra prompts you to confirm the operation. 3. Click Yes to continue. 4. When the operation is complete, click OK.
Calendar Definition
You define the weekly calendar that will be used for rolling the wave separately from the program. The calendar contains a minimum of 2 calendar sets:
Set 00 contains weekly periods covering the duration of the program. Set 01 contains the labeled and flagged periods that represent the base calendar (monthly calendar) dates defined in the calendar for the program for which the rolling wave process will be performed. The set 01 is compared between the two calendars to determine what the month end date is. If these periods are not labeled the same, Cobra does not know what the month end is. Also, you cannot share a rate file with programs that are not weekly because the FTE rates are updated in this process.
For CPR* and CSSR* reports, Set 08 needs Previous flagged at the beginning of the month and Todate flagged at the end of the month to get a monthly report. Monthly CPR 3 reporting is handled by the Applications option under reporting. To create a rolling wave calendar
1. On the File menu, point to New, and click Fiscal Calendar. 2. Enter a name and description for the new file. 3. Select the Copy from option, and select the monthly fiscal calendar file for the program to copy from the list. 4. Click OK. 5. On the Fiscal Calendar dialog box, if the calendar does not have a Set 01, create a Set 01. 6. Label and flag all periods in Set 01 with a $ flag. 7. Right-click the Date grid, and click Generate Calendar Days on the context menu. 8. Generate weekly periods for the duration of the calendar. 9. Click Close.
Deltek Cobra User's Guide 132
This operation works best with 4 week/4 week/5 week periods because the monthly dates will always contain a full week. However, at the end of the last month, you might end up with more fiscal periods than expected because the end of the week might be one day before the end of the month. This would cause an extra fiscal period of only one day. If your fiscal calendar is month end, you will need to manually generate the weeks within the month end date to make sure the week end date is the same as the month end date.
133
Interactive Processing
Clicking Rolling Wave on the Status menu displays the following dialog box:
You use this dialog box to select the program to be processed and the rolling wave calendar that defines the weekly dates and monthly calendar periods. You also select the number of periods before and after the program status date that data will be stored weekly. Program This is the program for which you will run the rolling wave process. Rolling Wave Calendar This is the weekly calendar used to define the periods within the rolling wave process. If you assigned a weekly calendar to the Auxiliary Files tab of the Program Directory, it will appear in this field as your default choice. Monthly Periods Prior to Status Date You can define how many months in advance of the status date to store the data weekly. Monthly Periods Following Status Date You can define how many months after the status date to store the data weekly. Update Rate Sets Used in FTE Results This option uses the productive hours and holidays to generate weekly full time equivalent rates in the rate files attached to the program and all cost classes. Any rate set used to calculate a result that starts with the letters FTE will be updated if this option is selected. After you click Apply, the rolling wave process first validates that the status date for the program exists in the rolling wave calendar file. It then confirms that the dates represented by the specified number of periods before and after the status date in calendar set 01 of the rolling wave calendar exist in the program calendar. Next, the process removes the weekly periods from the program calendar which occur before the rolling wave start date and add in any dates required to the rolling wave finish date.
134
The spread from monthly to weekly is a linear spread which obeys the spread settings for the program (for example, Linear Spread, Spread using hours, or Spread using working days). Since weekly earned value requires close integration with the schedule, the Spread using working days option is recommended. This option will make the weekly spread of Cobra data more closely match the schedule. The holidays in the Cobra calendar need to match the holidays found in the schedule calendar for consistent spreading between the two applications. To roll the wave
1. On the Status menu, click Rolling Wave. 2. On the Rolling Wave Processing dialog box, define the settings for the operation. 3. When all settings have been defined, click Apply to roll the wave.
Batch Processing
The batch script file must identify the spread process, the program, the rolling wave calendar, and the number of periods before and after the status date to be spread weekly. For more information and an example of a batch script file for rolling wave processing, refer to Chapter 29, Batch Processing.
135
136
Overview
Rate sets are used by Cobra to store multipliers that are used in generating derived costs. Since rates may change over time, rate sets define the rate that is applicable on any given date. The principal use of rate sets in Cobra is the calculation of costs as defined by the various budget elements (refer to Chapter 10, Budget Elements). It is also possible to assign rate files when defining budget, actual, and forecast cost classes (refer to Chapter 12, Supplemental Program Information). This chapter includes both a discussion of how rate sets are used in Cobra and a discussion of how you create and update rate files.
Notice that the OVERHEAD rate set consists of a single rate that does not change over the life of the program. The TECH labor rate, however, changes on a quarterly basis, with the records in the rate set indicating each date a new rate becomes effective. There is no need to specify rate changes at any particular interval; you can indicate as few or as many rate changes in a rate set as necessary. Nor are you limited to specifying rates according to a regular pattern such as monthly, quarterly, yearly, and so on. In fact, as the previous example demonstrates, there need be only one entry in the rate set if a rate never changes.
138
Cobra also allows you to generate a rate set that calculates rates for full-timeequivalent (FTE) personnel based on a calendar that you specify. For example, assume that there are 184 hours in a calendar period. Cobra divides 1 (FTE) by 184 to generate a rate of .005435. Once you have generated this rate set, you can use FTE as a result in your budget element calculations. The only restriction for rate sets in Cobra is that the first date in the set must precede the earliest date in the program to which the rate set is assigned.
You can choose one of the following methods for adding a rate set to your rate file:
Right-click the Sets grid of the Rate form, and click Add Rate Set on the context menu. Click Add Rate Set on the Edit menu.
139
In the Set Options panel of the Add Rate Set dialog box, you can select from the following options to specify how rate data is entered in the set: Manual Set Entry Select to make manual entries to the set. Fixed Value Change per Time Period Select to generate entries automatically based on a fixed incremental value. Then, enter the following:
Name of fiscal calendar file Start date Starting value Change value Time period to use
When you select this option, Cobra displays an added section to the dialog box where you can specify a fiscal calendar file to be used when generating the rates. You can also specify the start value and date and set the rate change and time period. Fixed Percentage Change per Time Period Select to generate entries automatically based on an incremental percentage. Then, enter the following:
Name of a fiscal calendar file Start date Starting value Percentage change Time period to use
When you select this option, Cobra displays an added section to the dialog box where you can specify a fiscal calendar file to be used when generating the rates. You can also specify the start value and date and set the percentage of rate to change over a period of time. Full Time Equivalent from Calendar Hours This option allows you to create a rate set that calculates rates for full-time-equivalent (FTE) personnel based on the hours defined in the calendar that you specify. Once you have generated a rate set using this option, you can use FTE as a result in your budget element calculations.
Deltek Cobra User's Guide 140
When you select this option, Cobra displays an added section to the dialog box where you can specify a fiscal calendar file to be used when generating the rates. The new rate set contains a calculated rate for each calendar period in the fiscal calendar file. Copy another Set This option allows Cobra to copy rate entries from another rate set in the rate file. Copy another Set, Apply Fixed Value Adjustment This option allows Cobra to copy another rate set from the rate file, and then apply a fixed increment. Then, perform the following:
Select a source set for the entries Enter a change value to be applied
Copy another Set, Apply % Adjustment This option allows Cobra to copy another rate set from the rate file and then apply an incremental percentage. Then, perform the following:
Select a source set for the entries Enter a percentage change value to be applied
To have Cobra automatically calculate rate changes, you must have already defined a fiscal calendar file. Cobra uses the dates from a fiscal calendar file to determine the span of time for which the rate set applies. For more information about fiscal calendars, refer to Chapter 8, Fiscal Calendars. Once you enter the first rate set in a file, Cobra allows you to create subsequent rate sets by applying either a fixed-value or a fixed-percentage adjustment to the rates in the existing set. To create a new rate set
1. On the File menu, point to New, and click Rate. 2. In the New dialog box, enter a name and description for the new rate file, and click OK. 3. In the Add Rate Set dialog box, enter a name and a description for the new rate set. 4. Select an option from the Set Options panel that Cobra should use to add rate data to the new rate set. 5. When the information in the dialog box is complete, click OK.
141
Right-click the Sets grid, and click Add Rate Set on the context menu. Double-click an empty row in the Sets grid.
3. Enter the information for the new rate set, and click OK.
Right-click the Sets grid, and click Delete Rate Set on the context menu.
3. When Cobra prompts you to confirm the deletion, click Yes.
Right-click the Rates grid, and click Add Rate on the context menu. Double-click an empty row in the Rates grid.
4. Enter the information for the new rate, and click OK.
Right-click the rate, and click Delete Rate on the context menu. 4. When Cobra prompts you to confirm the deletion, click Yes.
142
Examples of Budget Elements Budget Elements and Breakdown Structures Creating a Budget Element File Defining Budget Elements
The Budget Element Calculations Form New Budget Element Wizard
Overview
In Cobra, cost definitions are based on two related pieces of information:
Rate sets, which define the multipliers used to calculate derived costs. Budget elements, which define how various derived costs are calculated by defining the rate sets and results to be used. Budget elements can be thought of as resources.
This chapter describes how you design and create budget elements. It starts with a general introduction on how derived cost calculations are defined in Cobra. The chapter then proceeds to discussions of the various features related to budget elements, including their design, implementation, and association with breakdown structures. The chapter concludes with a discussion of budget element file maintenance.
The budget units are entered directly by the user. For example, when you enter the budget of a work package in hours, you are defining the budget unit for that item. Derived costs, on the other hand, are calculated by Cobra using the following formula:
RESULT = (SOURCE1 + SOURCE2 + SOURCEn...)* RATE
where:
RESULT is the derived cost. SOURCE1 is a previously defined RESULT. SOURCE2 and SOURCEn are optional. RATE is the name of the applicable rate set.
The identity of each budget unit and the derived costs calculated from this value is referred to in Cobra as a budget element. Unlike the different results within a single budget element, which represent the same or closely related costs, different budget elements denote completely different categories of costs. Typical budget elements are costs such as Engineering and Manufacturing labor, material categories, and travel. Budget elements generally relate to a standard bid code or rate and can be thought of as resources.
144
The principal purpose of Cobra budget elements is to define the relationships between a budget unit and a series of derived costs, for example:
SOURCES RESULT
Using this budget element, a single entry of budget units (hours) would result in the generation of three different derived costs direct dollars, overhead dollars, and G&A dollars.
The calculation of G&A Dollars is based on the sum of Direct Dollars and Overhead Dollars.
G&A Dollars = (Direct Dollars + Overhead Dollars) * G&A Rate
A result cannot contain special characters such as the ampersand (&). GANDA is used as the result name to refer to G&A (General and Administrative values).
145
Cobra allows for a limited number of result names in a single program. However, this poses no real handicap since most program costs can be expressed using only a few result names. For an example on how to express program costs using only a few result names, refer to the next section Additional Information in Budget Elements.
Alias
For data entry purposes, you can assign an alias for each result name appearing in a budget element. This allows you to distinguish between different types of costs stored under a single generic result name. The alias is what appears on the data entry screens.
Units
You can enter a description of the unit in which the cost is expressed (for example, hours, dollars, or cubic yards).
Currency
You can indicate whether the cost represents a monetary amount. This field should be set to T for all monetary costs, such as direct dollars and overhead dollars, and left blank for other non-monetary costs such as hours, tons, or costs in other currencies. By setting this flag correctly, you can prevent Cobra from adding monetary costs (such as dollars) to costs expressed in other units. The currency flag is of special interest since it is on the basis of this field that Cobra decides whether to include or exclude a particular cost when reporting values such as BCWP and ACWP. Cobra also refers to the currency flag when updating the program budget accounts in the program log. Consequently, it is important that all costs in a program with this flag use the same currency units. For example, you should not set the currency flag for both costs denominated in U.S. dollars and costs denominated in another currency. Result names appearing in multiple budget elements must share the same setting for the currency flag.
146
Sort Code
Cobra uses sort codes for reporting, exporting wInsight XML files, and exporting data in ANSI X12 format.
H Identifies the result as a unit measured in hours. F Identifies the result as a FTE. D Identifies the result as Direct Cost. G Instructs Cobra that the result is General and Administration, and needs to be dropped to the bottom line of CPR reports. O Instructs Cobra that the result is Overhead, and needs to be dropped to the bottom line of ICSR reports. C Indicates a result related to Cost of Money. N Instructs Cobra not to divide the value by a scale factor. A typical result that uses this is linear feet of pipe.
Aside from these restrictions, this field is available for any custom-reporting requirement. The sort code is used in reports like the CPR report, which drops G&A and COM to the bottom line, and in the wInsight Export. Consequently, it is important that all results in a program with this flag use the same currency units. For example, you should not set the currency flag for both costs denominated in U.S. dollars and costs denominated in another currency.
Rate Set
You can assign a specific rate set to each result in a budget element. Note, however, that when calculating costs, Cobra interprets the name of the rate set as the rate set currently assigned to the relevant cost class rather than the budget element file. By default, rate set files assigned to cost classes default to the program rate set file. For more information about the definition of cost classes, refer to Chapter 12, Supplemental Program Information.
Rate Set
Result
HOURS DIRECT OVERHEAD GANDA
147
Budget Element
PROG
Rate Set
Result
HOURS DIRECT OVERHEAD GANDA HOURS DIRECT OVERHEAD GANDA
Although each result name must be unique within a given budget element, a budget element file may contain multiple instances of the same result name. You can, however, assign an alias for each result name appearing in a budget element. For example, you might want to use aliases for the three types of labor costs described earlier:
Budget Element
SYSAN LABRATE1 OVERHEAD GANDA PROG LABRATE2 OVERHEAD GANDA TECH LABRATE3 OVERHEAD GANDA
Rate Set
Result
HOURS DIRECT OVERHEAD GANDA HOURS DIRECT OVERHEAD GANDA HOURS DIRECT OVERHEAD GANDA
Alias
LAB1HOURS LAB1DIRECT OVERHEAD GANDA LAB2HOURS LAB2DIRECT OVERHEAD GANDA LAB3HOURS LAB3DIRECT OVERHEAD GANDA
Notice that by using aliases, you can distinguish between eight different categories of cost information using only four result names. In another example, assume that you set up a number of budget elements under the result name QTY. The purpose of these budget elements is to capture quantities of various types of dissimilar materials. Using aliases, you could then distinguish between tons, cubic feet, and so on for the purposes of data entry, while maintaining a compact file structure for your program detail files.
148
For example, assume that you have associated budget element calculations with the following breakdown structure:
Level 1
Level 2
Level 3
Level 4
You can enter actual costs at Level 4 and then create one set of reports at Level 3 and another at Level 2.
Using this dialog box, you can enter a name and description for the new budget element file. You must also associate a rate file with the budget element file so that the rate set names can be validated. If you want to validate your budget element codes, you also have the option of entering the name of a breakdown structure file. Once you have created a budget element file, you can select different rate and breakdown structure files for validation purposes at any time. To create a budget element file
1. On the File menu, point to New, and click Budget Element. 2. Enter the information for the new file, and click OK.
149
Calculations grid
Budget Elements grid Displays a list of defined budget elements. Calculations grid Displays detail information about the various results of the selected budget element, including the list of the sources used to calculate a result. In the above illustration, the first result of a budget element has no sources, and represents the number of hours directly entered by the user. Each time a result is defined for a budget element, the result can serve as a source for subsequent results. Sources used for a specific result are displayed in the sources list using highlighting. In the following illustration, notice that the calculation of GANDA costs is based on the DIRECT and OVERHEAD results previously defined for the budget element:
150
Use this wizard to specify a name, alias, and unit of measurement for the new result. You can also indicate if the result is a currency-type cost, and you can assign a sort code. Notice that if the result name already exists in the budget element file, the information from that record is displayed by default. For results other than the first result in a series of calculations, you can also use the New Budget Element Wizard to define the sources and rate set:
151
Sources list
The Sources list contains a list of previously defined results from which you can select. Use Shift-click or Ctrl-click to select multiple sources from the list. The rate set field contains a list of rate sets from which you can select the one to be used for the calculation. When the information for the result calculation is complete, click Next to define another result, or click Finish to return to the Budget Element Calculations dialog box. You can also add or update information about results by editing the Calculations grid manually. Press F1 to access the Help system.
Right-click the Budget Elements grid, and click Add on the context menu. Double-click an empty row in the Budget Elements grid.
Cobra displays the Add Budget Element dialog box. 3. Enter a name and description for the budget element, and click OK. 4. Following the instructions of the New Budget Element Wizard, define the results and calculations for the budget element. 5. When the information for the results and calculations is correct, click Finish to return to the Budget Element Calculations dialog box.
Deltek Cobra User's Guide 152
Right-click the Calculations grid, and click Add on the context menu. Double-click an empty row in the Calculations grid.
5. Define the result, and click Save.
153
154
Basic Program Information Auxiliary Files Contract Information Budget Information Setting Up a Program
Overview
The program is made up of several elements:
Cost Accounts Work Packages Milestones Budget elements and time-phased data
While flexibility makes Cobra powerful, it also requires you to make decisions up front when you create a program. This module presents all the planning options supported by Cobra and explains why some options are preferred over others.
Cost Account
Program costs, schedule, and work scope requirements are integrated, planned, and managed at the cost account level. This is typically the lowest level of data that is reported to the customer. A cost account represents a defined scope of work that is given to a single organizational unit and a single manager for work performance. Traditionally this represents the intersection of the WBS and OBS. It is also possible to assign charge numbers. Cobra does not place any restrictions on how the cost account is defined, what it represents, or even what it is called. Up to three key fields may be used to define a cost account. These are generally, the WBS, OBS, and an optional third key field. The cost account is the highest level at which actual costs can be collected. For this reason, the cost account is often defined by the WBS element that represents the charge number.
Work Package
A work package is a lower level of work definition than the cost account. It is a discrete, measurable amount of work contained within a cost account. Status is entered and earned value is calculated at the work package level. Just as with cost accounts, Cobra places no restrictions on what defines a work package or what it is named.
Milestones
Milestones may be used to status work packages. Weights are added to milestones and as each milestone is achieved, the weight assigned to that milestone is earned as a percentage of the work package budget. It is important to note that in Cobra, the budget is applied at the work package level. Thus, as each milestone is accomplished, earned value is calculated as a weighted percentage for all budget elements of the work package.
156
This chapter contains discussions on the basic program information required to create a program in Cobra and the contract and budget information that you can enter at the time the program is created. The following chapter (Chapter 12, Supplemental Program Information) includes a description of how to set up custom cost classes, define reporting sets, and assign program code files.
After the program has been created, you can use the Program Directory dialog box (accessed from the System menu) to modify the information on this tab. Use the Program Info tab to enter the following information: Cost Account level prompt You can define the prompt used for cost accounts on the program data entry screens. The default is Cost Account.
157
Cost Account Key Field names You can define and label up to three fields for use as cost account keys for the program. The labels of these fields default to WBS for key field 1 and OBS for key field 2. The label of key field 3 defaults to blank, which indicates to Cobra that a third key field will not be used. If you want to use only one field per cost account as a key field, leave the names of key fields 2 and 3 blank at this time. Cost Account Key Field breakdown structure files For each cost account key field, you can define an associated breakdown structure file. Work Package level prompt You can define the prompt used for work packages on the program data entry screens. The default is Work Package. Work Package Key Field name You can label the field to be used as the work package key field. The default is WP. Work Package Key Field breakdown structure file You can define an associated breakdown structure file for the work package key field. Budget Element level prompt You can define the label used for budget elements on the program data entry screens. The default is Budget Element. The field name for budget element keys is set to BE and cannot be altered by the user. Budget Element Field breakdown structure file You can define an associated breakdown structure for the program budget elements. The default is blank.
Auxiliary Files
For each program, you must enter the following auxiliary file information:
A fiscal calendar file A rate file A budget element calculation file (which was created at the time you defined your budget elements) A rolling wave calendar (optional) After the program has been created, you can use the Program Directory dialog box (accessed from the System menu) to modify the information on this tab.
158
To enter the names of the auxiliary files for a program, use the Auxiliary Files tab of the Create Program dialog box:
This dialog box also contains the following setting: Level at which to capture actual costs You can choose from the following options:
Cost Account Select this option if you collect actual costs at the cost account\budget element level. Work Package Select this option if you collect actual costs at the cost account\work package\budget element level
Both CA & WP Select this option if you have multiple actual cost classes defined (such as booked actuals from accounting, accruals, or commitments) and the classes are at different levels. You would select this option, for example, if you have booked accounting labor hours/dollars at the cost account level and actual cost records that line up with commitments at the work package level. Based on your choice, Cobra defines the standard actual and forecast cost classes for the program at either the cost account or the work package level. For more information about standard cost classes, refer to Chapter 12, Supplemental Program Information.
Contract Information
You can enter contract information about a program at the time you set up the program, or during a subsequent session. Cobra uses this information in the header of such reports as CPR and CSSR. To enter contract information for a program at the time that you create it, use the Contract Info tab of the Create Program dialog box:
159
After the program has been created, you can use the Program Directory dialog box (accessed from the System menu) to modify the information on this tab. Contract information that you can enter for a program includes the following items: Program Desc The program description. Contractor The contractor name can have a maximum of 40 characters. (Contractor information can be used for reporting purposes.) Location The contract location can have a maximum of 40 characters. Contract No. The contract number can have a maximum of 12 characters. Type The contract type, for example, Firm Fixed-Price (FFP). Phase The phase of the program. Quantity The number of prime items to be procured on this contract. Share Ratio The cost-sharing ratio applicable to costs over/under the negotiated contract cost. Contract Name This field displays the name assigned to the contract. Representative Name The name of the person assigned to the contract. Representative Title The title of the person assigned to the contract. Status Date This field displays the status date of the program.
160
Synchronize This button synchronizes the status date with the date labeled as TODATE in the fiscal calendar set 8. Typically, you would use this feature if the start of a program has been delayed. This feature does not have all the functionality of advancing the calendar and should not be used as an alternative to that function once the program is underway. To set the status date to a specific period, label the desired status date with TODATE in the fiscal calendar set 8 and then click the Synchronize button. EVMS Acceptance This field controls the acceptance of the Earned Value Management System. This information is included in the wInsight export and in the header of a CPR report produced in Cobra. Acceptance Date The date of the EVMS acceptance.
Spread Options
Linear Spread Cobra places an equal amount of budget into each period regardless of what proportion of the period the start and finish dates for the work package include. Spread using hours For each period, Cobra weights the spread according to the hours found in the fiscal calendar and the work package start and finish dates. Spread using working days For each period, Cobra calculates how many working days fall within the work package start and finish datestaking into account holidaysand then weights the spread accordingly. (This option spreads more like a typical scheduling software.) To illustrate the three spreading options, assume that a work package starts on 25Jun00 and finishes on 31Jul00 and has a budget of 100 Hours. Further assume that there are 176 productive hours defined for June in the calendar and 168 for July.
Linear Spread Cobra spreads 50 hours into each period. Spread using hours Cobra uses the productive hours in the fiscal calendar to find a weighted average. Period Amount = Budget Total * (Period Weighting / Sum of Period Weights) where Period Weighting = (Work Package Days / Period Days) * Calendar Hours
Period 1 Period 2 Weight Weight Sum Period 1 Period 2 Calc Calc = (16 / 30) * 176 = (31 / 31) * 168 = 93.87 + 168 = (100 * 93.87) / 261.87 = (100 * 168) / 261.87 = 93.87 = 168 = 261.87 = 35.85 = 64.15
161
In Period 1, if the WP starts on the 15th, it runs for 16 days in June (that is, 16/30).
Spread using working days Cobra uses the working days and holidays to spread the budget over the periods. For example, assuming that the work pattern is 8 hours per day Monday to Friday, then there are 11*8 hours in June and 21*8 hours in July (4th July is a holiday). This gives:
Period 1 Period 2 Weight Weight Sum Period 1 Period 2 Hours Hours = 11 * 8 = 21 * 8 = 88 + 168 = (100 * 88) / 256 = (100 * 168) / 256 = 88 = 168 = 256 = 34.38 = 65.63
Currency Symbol Select this option to enter the symbol of the desired currency for this project (for example, $ for dollars, for Euros). By default, the currency symbol is $ for dollars. Show Symbol on the right Select this option to display the currency symbol on the right-hand side of the currency value. This is useful when choosing symbols such as USD or EUR because they are normally displayed after the value. If the option is not selected, the currency symbol will appear on the left. By default, the option is not selected. Reporting Scale Factor The scale factor used to report currency amounts (for example, 1000). Caption The caption for the scale factor appearing in reports (for example, Thousands of $).
Date Options
Scheduled Start and Finish These dates define the expected span of the program, and must fall within the range of dates defined by the program fiscal calendar. The scheduled start date defines the initial status date for the program. The default is the earliest and latest dates in the program fiscal calendar. Estimated Finish This date is used only for reporting purposes. The default is the latest date defined in the program fiscal calendar. Definitization The date the contract was definitized. Completion This date represents the planned completion of all significant effort on the contract.
162
Budget Information
Another category of program information that can be added either during the creation of a program or in a subsequent session relates to program budget values. For the most part, this information is used to comply with EVMS reporting requirements only. However, if you are using the program log as a change control mechanism, several of these budget values play a special role in Cobra. Use the Budget Info tab of the Create Program dialog box to enter program budget information:
When you set the baseline, you will be prompted for this information again.
Budget information that you can enter for a program includes the following items: Contract Target Cost The budgeted and estimated final Contract Target Cost (CTC) for the program. Authorized Unpriced Work The amount of any Authorized Unpriced Work (AUW) for the program. Management Reserve The budgeted and estimated final Management Reserve (MR) for the program. Undistributed Budget The estimated Undistributed Budget (UB) at completion of the program. Fee % The management fee for the program, expressed as a percentage of the Contract Budget Baseline. Fee $ The management fee for the program, expressed as a fixed amount. Contract Target Price The estimated Contract Target Price at the completion of the program.
163
Price Ceiling The budgeted and estimated final negotiated price ceiling of the program. Notice that the values for the Contract Target Cost, the Management Reserve, and the Authorized Unpriced Work accounts are typically entered when the program is created. Once you turn on the program log, these values are used to calculate the initial values for the Contract Budget Base, the Contract Target Price, and the Undistributed Budget as follows:
The Contract Budget Base is the sum of the Contract Target Cost and any Authorized Unpriced Work. The Contract Target Price is the sum of the Contract Budget Base and any management fees. The Undistributed Budget is the value of the Contract Budget Base less any budget distributed to the cost accounts or work packages and any Management Reserve. The value for Over Target Baseline is the value of budget distributed into the work package using the class OT. This class is reserved for budget entered as over target baseline. For information on reporting on OTB, refer to Chapter 31, Reporting.
Once you have turned on the program log, these values can be changed only through the mechanism of the program log. For more information about the program log, refer to Chapter 14, Baseline Operations.
Setting Up a Program
When you indicate that you want to create a new program in Cobra, you begin by using the following dialog box to enter a name and description for the program:
Once you have provided a name and description for the program and clicked OK, Cobra displays the Program Info tab of the Create Program dialog box. The Program Info tab allows you to enter the basic program information. When you have entered the basic program information, use the Auxiliary Files tab to assign a fiscal calendar, a rate file, and a budget element calculation file to the program, and to define the level at which you want to capture actual costs. As an option, you can also proceed to enter program contract and budget information.
164
Note that you can also create a new program by copying information from an existing program. If you indicate that you want to copy an existing program, you also have the option of copying just the program structure (data file structure, program option settings, cost class definition, and so on), or you can copy the program data as well. If you select a master program to copy and also select the Copy Data option, the new master program you are creating will automatically be linked to the subprograms of the source master program. If you create a new program by copying an existing program, you have the option of either copying the source programs fiscal calendar to a new fiscal calendar using the same name as the new program or attaching the source programs fiscal calendar to the new program (without changing the name of the calendar). To set up a new program
1. On the File menu, point to New, and click Program. Cobra displays the New dialog box. 2. Enter a name and description for the new program, and click OK. Cobra displays the Create Program dialog box. 3. Use the Program Info and Auxiliary Files tabs to enter the information about the program. As an option, you can also enter contract and budget information about the program at this time. 4. When the information for the program is correct, click Create. Cobra creates the program and allows you to enter information for the first cost account in the file. For more information about defining cost accounts and work packages, refer to Chapter 13, Planning.
166
Cost Reporting Sets Copying Reporting Sets Assigning Codes to Cost Accounts and Work Packages Assigning Program Codes Copying Program Codes Assigning Codes to Change Numbers Assigning a CAM Code Synchronizing Status Dates Defining Default Program Option Settings
Overview
When you set up a new program in Cobra, you have the opportunity to define the basic structure of the program by entering information about key fields, fiscal calendars, budget elements, and so on. Once you have created the program, you can update the entry for the program in the program directory with supplemental information that is not required but can affect a number of basic operations. This type of supplemental program information falls into four general categories:
Cost classes Cost reporting sets Program code files Status Date Synchronization
Budget costs (type B) are entered through the planning process. Forecast costs (type F) are either generated by the Cobra forecasting facilities or entered manually. Actual costs (type A) are entered when actual costs are updated. Performance costs (type P) are the result of earned value calculations.
Each time you set up a program, Cobra creates the following set of standard cost classes with which it is possible to perform all the basic operations. CB (Current Budget) A budget cost entered at the work package level. CB uses calendar set 00 and the default program rate file. When a work package assigned this cost class is deleted or replanned, CB results in increasing the Undistributed Budget account and in decreasing the Distributed Budget account. This class is included in the program BCWS and generates entries in the program log. RP (Replanned Budget) A budget cost that results from performing global replanning. For more information on global replanning, refer to Chapter 22, Program Tools. OT (Over Target Baseline) A budget cost class that facilitates over-target baseline reporting. For more information about over-target baseline reporting, refer to Chapter 31, Customizing Reports. EV (Performed BCWP) Work package level records that are generated from earned value calculations. By default, EV includes all CB and RP costs in its calculation.
168
AC (Actual Cost) An actual-type cost entered at either the work package or cost account level, depending on the information entered when the program was created. AC uses the default program rate file and includes CB budget costs. This class is included in the program ACWP. F1 (Forecast 1) A forecast-type cost that corresponds to either the work package or the cost account level, depending on the level of AC, and uses the default program rate file. This forecast uses a performance factor of 1 and is driven by the CB, RP, EV, and AC classes by default.
169
Program grid
Class grid
Use the Class grid to select the standard class you want to update, then modify the appropriate information for the class. When using a forecast class (for example, F1), Cobra allows you to specify which calendar set to use. Clicking the Copy Classes button allows you to copy classes to one or more programs. Refer to the next section for more information on the Copy Classes dialog box. To modify standard cost classes
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. From the Program grid, select the program you want to update. 3. Click the Cost Classes tab. 4. Select the cost class you want to update. 5. Update the information for the cost class, and click Save.
170
This dialog box features the following controls: Classes This list controls the display of cost classes for the program that is selected in the Program Directory. You can select from the following:
All Displays all the cost classes Actuals Displays only actual cost classes Budget Displays only budget cost classes Forecast Displays only forecast cost classes Performance Displays only performance cost classes
Programs This pane lists the programs to which you have Add and/or Update access. Copy Clicking this button copies the selected cost classes to the selected programs. Allow existing classes to be replaced If this option is selected, you can copy the cost class to the target program if the target already has a class with the same name. If you do not select this option and the class exists in the target program, the copy process is skipped for that class. You cannot update an existing class if that class has a different Level or Type to the source class. For example, if class GG is a budget class in the source program but a forecast class in the target program, the copy will not take place.
171
You can select multiple items in either pane by Shift-clicking or Ctrl-clicking the desired items. Additionally, you can use the Select All button at the bottom of either pane to select all the items in that pane. The Clear All button removes the items in that pane from selection. The Copy Classes message window is displayed during the copy process and remains displayed after the process completes. The window allows you to monitor the status of the copy process and view any messages generated. Once the copy process is complete for a target program, classes that are referenced in an included class but which are not included in the class list are reported in the Copy Classes message window. This allows you to see whether there are any other classes you should add to the target program, or at least notifies you that the classes in the target program reference non-existent classes. To copy cost classes
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. Select the desired program from which to copy the classes. 3. Click the Cost Classes tab. 4. Click Copy Classes. 5. In the left pane of the Copy Classes dialog box, select the class or classes to copy. 6. In the right pane, select the program or programs to copy to. 7. If you wish to replace or update existing classes during the copy process, select the Allow existing classes to be replaced option. 8. Click Copy. 9. When Cobra asks you to confirm the copy process, click Yes. Cobra performs the copy process and displays the Copy Classes log. 10. When finished viewing the log, click Close.
The copy process does not update Reporting Sets in the target program. For example, if class B1 is part of the BCWS reporting set in the source program, copying the class to the target program does not update the BCWS reporting set in the target program.
To spread budgets for long-term planning packages using a calendar set based on fiscal years To distinguish between accounting actuals, invoiced actuals, and received actuals To enter budgets resulting from change orders that included changes to rates
172
To define customized forecasts that exclude certain types of budgeted or actual costs To enter budgets for work using an alternative source of funds that you do not want to affect the reporting To make a custom cost class available for reporting, you must add the class to the appropriate cost reporting set. For more information about updating cost reporting sets, refer to the section Cost Reporting Sets later in this chapter.
UB Undistributed Budget MR Management Reserve OT Over Target Baseline The option you select also indicates how the deletion of a cost account or work package using a BCWS budget class will affect the program budget accounts.
173
Method 1: Performance factor = 1 Method 2: Performance factor = 1/CPI cum to date (where CPI is equal to BCWP divided by ACWP) Method 3: Performance factor = 1/CPI for current period Method 4: Performance factor = 1/CPI last three status periods Method 5: Performance factor = 1/CPI last six status periods Method 6: Performance factor = user-defined value Method 7: Performance factor = 1/((a * CPI) + ( b * SPI)) (where the sum of a and b is equal to 1.0) Method 8: Performance factor = 1/(CPI * SPI) (where SPI is equal to BCWP divided by BCWS) Method M: Manual (retain ETC) Method A: Manual (retain EAC) Method P: Multiple performance factors depending on how much of the work has been completed. (Cobra determines how much work has been completed by comparing the cumulative BCWP to the at-complete BCWS for all currencydenominated costs.) This allows you, for example, to set up a forecast that uses a performance factor of 1 for the first half of a program and uses a performance factor based on the cumulative CPI thereafter.
For a number of these forecast methods, you must enter additional parameters as follows:
For methods 2, 3, 4, 5, 6, and 8, you must identify the level at which the performance factor is calculated: The program level (P) The cost account level (C)
174
The work package level (W) A specified level of a breakdown structure attached to the program
For method 7, you must specify the level for performance factor calculations and indicate the relative weightings for CPI and SPI. The combined weighting of CPI and SPI must equal 1.0. For method P, you must specify the level for performance factor calculations and define up to four ranges over which a particular forecast method takes effect. For example, you can indicate that Cobra should use forecast method 1 for items that are 0 to 33% complete, forecast method 6 for items that are 34% to 66% complete, and forecast method 2 for items that are 67% to 100% complete. For complete discussions of the different forecasting methods and calculations, refer to Chapter 19, Forecasting.
Use this dialog box to enter a two-character code for the class, the class type (budget, forecast, actual, or performance), and if the class is input at the cost account or work package level.
Deltek Cobra User's Guide 175
Once you have completed the information for this dialog box, click OK. Cobra allows you to enter the rest of the information for the class on the Cost Classes tab of the Program Directory dialog box. To add a custom cost class
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. From the Program grid, select the program you want to update. 3. Click the Cost Classes tab. 4. Take one of the following actions: Click in the Class grid ,and click Add on the Edit menu.
Right-click the Class grid, and click Add on the context menu. Double-click an empty row in the Class grid.
Cobra displays the Add Class dialog box. 5. Enter the code, type, and input level for the class, and click OK. Cobra returns to the Cost Classes tab. Depending on which type of cost class you are defining, Cobra allows you to enter the following information:
If you are defining a budget cost class, Cobra allows you to enter a description,
a calendar set, an alternate rate file, a definition of the budget account transactions arising from the budget cost being deleted or replanned, and whether the class should be included in the program BCWS.
If you are adding a forecast cost class, Cobra allows you to enter a description, a
forecast method and related parameters, a date set, an alternative rate set, and included budget and actual classes. the level at which the cost is input, an alternate rate file, a list of the budget classes, and whether the class should be included in the program ACWP.
If you are defining an actual cost class, Cobra allows you to enter a description, If you are defining a performance cost class, Cobra allows you to enter a
description and an included budget class. 6. When the information for the cost class is complete, click Save.
Right-click the custom cost class you want to delete, and click Delete on the
Deleting a custom cost class deletes all the cost information associated with that class. A typical use of this feature is to remove unwanted forecast records from a program database.
176
ACWP actual costs (cost class = AC) BCWP performance costs (cost class = EV) BCWS current budget costs (cost classes = CB and RP) EAC the sum of forecast costs (cost class = F1) and actual costs (cost class = AC) ETC forecast costs (cost class = F1)
The ability to define custom cost reporting sets complements the support for userdefined cost classes in Cobra. By modifying the standard reporting sets you can, for example:
Change the labels used to report costs Add special-purpose budget cost classes when reporting BCWS Report multiple ACWP values based on different classes of actual costs Report ETC or EAC values based on alternate forecast costs
Use the Reporting Sets tab of the Program Directory dialog box to update information about the reporting sets that are assigned to the program:
Using this tab, you can add and delete custom reporting sets as well as update the description or the included classes for a standard reporting set. Since many standard reports in Cobra expect these reporting sets to be present, deleting a standard reporting set may have unintended consequences.
177
All cost reporting sets, both standard and user-defined, are available for reporting in Cobra. Clicking the Copy Reporting Sets button allows you to copy reporting sets to one or more programs. Refer to the next section for more information on the Copy Reporting Sets dialog box. To update a standard reporting set
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. From the Program grid, select the program you want to update. 3. Click the Reporting Sets tab. 4. Update the description or the included classes for the reporting set, and click Save.
Right-click the reporting set grid, and click Add on the context menu. Double-click an empty row in the reporting set grid.
5. Enter the information for the new reporting set, and click Save.
Right-click the custom reporting set you want to delete, and click Delete on the
178
This dialog box features the following controls: Reporting Sets This pane lists the reporting sets that can be copied. Programs This pane lists the programs to which you have Add and/or Update access. Copy Clicking this button copies the selected reporting sets to the selected programs. Allow existing Reporting Sets to be replaced This option controls whether you can replace an existing reporting set in a program with the one you want to copy:
If you select this option, Cobra copies the selected reporting set to the target program even if this replaces a reporting set in that program. If you clear this option and the reporting set exists in a target program, the reporting set is not copied to that program.
You can select multiple items in either pane by Shift-clicking or Ctrl-clicking the desired items. Additionally, you can use the Select All button at the bottom of either pane to select all the items in that pane. The Clear All button removes the items in that pane from selection. The Copy Reporting Sets message window displays during the copy process and remains displayed after the process completes. The window allows you to monitor the status of the copy process and view any messages generated.
179
The assigned codes can be based on either breakdown structure files or code files and are available for sorting and filtering purposes during reporting. Cobra allows you to control how the codes will be validated against an associated breakdown structure or code file with the following options:
Yes The code will be required, that is, Cobra will not allow you to store a record without a valid code in the field.
180
Yes/Blank The code will be validated conditionally, that is, Cobra allows you to leave the code field blank, but requires a valid code if one is entered. No No validation is performed. To set up a program code field without an associated breakdown structure or code file, define a code field with the Filename setting blank. To assign codes to a cost account or work package
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. From the Program grid, select the program you want to update. 3. Click the Code Fields tab. 4. Click on the row representing the field to which you want to assign the code, and enter the information for the new code. 5. Click Save.
181
When reporting using a master project, program codes are a selection criteria. Clicking the Copy Codes button allows you to copy program codes to one or more programs. Refer to the next section for more information on the Copy Program Codes dialog box. To assign program codes to a program
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. From the Program grid, select the program you want to update. 3. Click the Program Codes tab. 4. Enter the appropriate information for the program codes. 5. Click Save.
182
This dialog box features the following controls: Select the Codes to Copy This pane lists the program codes (and their values) that can be copied. Simply select the check box next to the code or codes you want to copy. Programs This pane lists the programs to which you have modify rights. You can select multiple programs by Shift-clicking or Ctrl-clicking the desired programs. Additionally, you can use the Select All button at the bottom of the pane to select all the programs listed. The Clear All button removes the programs in that pane from selection. Copy Click this button to copy the selected program codes to the selected programs. You must have modify rights to a program in order to copy a program code to it. The Copying codes message window is displayed during the copy process and remains displayed after the process completes. The window allows you to monitor the status of the copy process and view any messages generated. To copy program codes
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. Select the desired program from which to copy the program codes. 3. Click the Program Codes tab 4. Click Copy Codes. 5. In the left pane of the Copy Program Codes dialog box, select the code(s) to copy. 6. In the right pane, select the program(s) to copy to. 7. Click Copy. Cobra performs the copy process and displays the Copy codes log. 8. When finished viewing the log, click Close.
183
Selecting the Use lookup file for log change # option enables the following fields:
Filename Clicking the drop-down arrow displays a list of all the breakdown structures defined in Cobra. Select the breakdown structure that contains the codes to use for change numbers. Validate Clicking the drop-down arrow displays the following validation options: Yes The change number is validated against the lookup file and must be a valid code in the breakdown structure. No The change number is not validated. Yes/Blank The change number is validated and must be valid if specified, but it can be left blank.
By default, this option is not selected, indicating that the change number can be any free text. To assign a breakdown structure as a change number lookup list
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. From the Program grid, select the program you want to update.
184
3. Click the Auxiliary Files tab. 4. Select the Use lookup file for log change # option. 5. From the Filename list, select a breakdown structure that contains the codes to assign as change numbers. 6. From the Validate list, select the appropriate method of validation to use. 7. Click Save.
Type This field specifies the type of file that you are assigning to the CAM code: BDN Indicates that the file is based on a breakdown structure. Code Indicates that the file is based on a code file. File Use of this field is optional. If used, this field specifies the name (without the extension) of the file you are assigning to the CAM code. Validate This field allows you to control how the codes will be validated with the following options: Yes Specifies that the code will be required. This means that Cobra will not allow you to store a record without a valid code in the field. Yes/Blank Means that a code will not be required when you store a record. But if you do enter a code on a record, Cobra will check that the code is a valid one for the file. No Specifies that Cobra will not perform any validation on the code.
185
You can change the prompt used for the CAM code using the Manager Notation option on the Terminology tab of the Configure System dialog box. To assign a CAM code
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. From the Program grid, select the program you want to update. 3. Click the Auxiliary Files tab. 4. In the CAM Code section, select the type, file, and validation method for the CAM code. 5. Click Save.
The Synchronize button does not appear on the dialog at program creation. However, if you access the program directory from the System menu, you can use this button to synchronize the status date with the date labeled TODATE in the fiscal calendar. This option does not have all the functionality of advancing the calendar and should not be used as an alternative to the advance calendar function once the program is underway. For more information about advancing the calendar, refer to Chapter 8, Fiscal Calendars.
186
To synchronize the status date with the TODATE in the fiscal calendar
1. On the System menu, click Program Directory. Cobra displays the Program Directory dialog box. 2. From the Program grid, select the program for which you want to synchronize the status date. 3. Click the Contract Information tab. 4. Click Synchronize. Cobra issues a message asking you to confirm that you want to change the status date in the programs header to the date labeled TODATE in the fiscal calendar. 5. Click Yes.
To return the default settings to their original configuration, initialize the demonstration data that comes with Cobra, and then use the settings for the DEMO program as the default settings.
187
188
Chapter 13 Planning
Overview Planning Cost Accounts
Adding Cost Accounts Updating Cost Accounts
Planning Budgets
Entering Budget Costs Updating Budget Costs
Using Milestones
How Milestone Weights Are Calculated
Chapter 13 Planning
Overview
The term planning in Cobra refers to the definition of work items (cost accounts and work packages) and the entry of time-phased budgets. This function is normally accessed immediately following the creation of a new program in Cobra, but it can be performed at any time. Planning information can be entered manually in Cobra, or it can be imported from a schedule. This chapter discusses the manual entry of planning information. Topics discussed in this chapter include:
Planning cost accounts Planning work packages Planning budgets Entering milestones Setting program options for planning
190
Chapter 13 Planning
Cost accounts in Cobra can have one of three possible status conditions:
Unopened the work has not begun Open the work is in progress Closed the work is complete
The status of a cost account can be determined by the status of the work packages included in that cost account.
The labels for the key fields are user-defined for each program.
Other information for the cost account includes: Description If you attached a breakdown structure to the first cost account key field, this description defaults to the description of the selected element. Scheduled Start Date and Finish Date This information can be derived from the start and finish dates for the work packages in the cost account. If you enter start and finish dates that are prior to the current program status date (displayed in the title bar of the Program form), Cobra alerts you when you close the dialog box. To add a cost account
1. On the File menu, point to Open, and open the appropriate program. 2. Take one of the following actions: On the Edit menu, click Add Cost Account.
Right-click the cost account grid, and click Add Cost Account on the context
menu.
Double-click an empty row in the cost account grid. Click the Add button.
3. Enter the information for the cost account, and click OK.
191
Chapter 13 Planning
You can also enter baseline budgets at the cost account level, provided that you have defined a custom budget cost class that accepts input at that level. For more information about entering budget information, refer to the Entering Budget Costs section in this chapter. To display a calendar for any date field, place your cursor in the appropriate field (for example, Start) and right-click. The date you select will be inserted in the date field.
For more information about defining a custom cost class, refer to Chapter 12, Supplemental Program Information. If you have assigned codes to the program, you can also display the Codes tab and enter information for as many codes as are assigned in the program directory to the cost account level:
Notes on cost accounts and work packages are maintained using the Notes tab of the Details dialog box.
192
Chapter 13 Planning
For more information on adding and maintaining note categories, refer to Chapter 2, Configuration. For information on importing notes and note categories, refer to Chapter 28, System Utilities. You can delete a cost account that contains work packages and status. You are prompted for confirmation before deleting the cost account and all related work packages. Whether or not you can delete a cost account depends on the program option Allow changes to scope for an open Work Package located on the Planning tab of the Program Options dialog box. If you have this option selected, Cobra allows you to delete the cost account for each of the following conditions:
Cost Account is Unopen Cost Account is Open Cost Account is Closed Work Packages are Unopened Work Packages are Open Work Packages are Closed
If the Allow changes to scope for an open Work Package option is cleared, Cobra will only allow changes to scope when the Cost Account and all Work Packages are Unopen. To update a cost account
1. On the File menu, point to Open, and open the appropriate program. 2. Take one of the following actions: Double-click the cost account you want to update.
Select the cost account you want to update, and click Details on the Edit menu. Right-click the cost account you want to update, and click Details on the
context menu.
Select the cost account you want to update, and click the Details button.
3. Update the information for the cost account, and click Save.
193
Chapter 13 Planning
Right-click the cost account you want to delete, and click Delete on the context
menu.
Select the cost account you want to delete, and click the Delete button.
3. When Cobra prompts you to confirm the operation, click Yes.
The work package has a scheduled start and completion date. Performance can be objectively measured. The duration of the work package is relatively short, or it can be subdivided into a series of milestones that can be objectively measured. The work package is assignable to a single cost account. The definition of work packages may also be affected by the organization of a linked schedule. For more information about linking programs to a schedule, refer to Chapter 24, Schedule Integration: Preparation.
To see the work packages belonging to a specific cost account, select the cost account in the top half of the Program form. Cobra then displays the work packages for the selected cost account in the grid at the bottom of the form:
194
Chapter 13 Planning
You can also create a new work package by copying an existing one. The copy feature available in this dialog box copies the basic information for an existing work package, but it does not copy any budgets. To copy an existing work package and its budget, right-click the work package and use the Copy command found in the context menu. Use the Add Work Packages to Cost Account dialog box to enter the following information for each new work package: WP The ID of the work package Description A description of the work package Scheduled Start and Finish Dates These dates must fall within the start and finish dates for the cost account. (You can, however, have Cobra adjust the start and finish dates of a cost account to accommodate work package dates.) PMT The performance measurement technique (PMT) to be used to measure the work package performance The PMT selected for a work package determines how earned value is calculated. (In Cobra, value can be earned only at the work package level.) Cobra offers the following PMT options for measuring the performance of a work package; not all PMTs, however, are suitable in every case. (The letter following each PMT type refers to the code for that PMT in Cobra.)
Level of Effort (A) If the work package is started, it is assumed to progress (and thus earn value) according to the original budget without deviation. Cobra puts no limitations upon the applicability of this technique for measuring progress, but it is most suitable for only a small number of work packages that are by their nature immeasurable. By definition, the value earned by an open work package using this PMT is equal to its to-date budget. In other words, opening a level-of-effort work package results in the work package immediately earning all of its budget up to the current period.
195
Chapter 13 Planning
Milestone (B) Milestones are defined, and relative weights are assigned to them. At any point, the value earned is the original work package budget multiplied by the combined weight of the completed milestones and divided by the total weight of all milestones. (Note that there is a program option for calculating earned value by time that ignores all milestone weights refer to Chapter 17, Earned Value.) This method can be applied to any work package and is generally the preferred method for work packages that span more than two fiscal periods. Cobra also provides a program option that allows you to define progress on a milestone as percent complete. For more information, refer to Chapter 16, Status Information.
Percent Complete (C) The user enters percent complete manually. Cobra puts no limitations upon the applicability of this method. Percent complete shifts the burden of objective performance measurement to the individual or system that provides the information. This method can be used to implement PMTs that are not provided for in Cobra by performing the calculation elsewhere and transmitting it in the form of percent complete in a transaction file. Units Complete (D) Sometimes referred to as the discrete method, this PMT is applicable to any work package that comprises a predefined number of similar tasks. The value earned at any point in time is simply the work package budget multiplied by the number of these tasks completed and divided by the total number to be done. Use of this PMT assumes that budgets are based on the units being measured. 50-50 (E) 50% of the value is earned as soon as the work package is started, and the rest is earned when it is completed. This PMT should be used only for work packages that span a maximum of two fiscal periods since value cannot be earned in any intervening periods. For example, if the 50-50 PMT is applied to a work package spanning 4 months, it would never be possible for the work package to earn any value during the second and third months (assuming it does not finish early). 0-100 (F) No value is earned until the work package is completed; at which point, the entire budget is earned. This method should be used only if the work package is scheduled to start and finish in the same fiscal period. 100-0 (G) All the value is earned as soon as the work package is started. This method should be used only if the work package is scheduled to start and finish in the same fiscal period. User-Defined % (H) A variation of the 50-50 PMT (E). The percentage earned at the start of the work package (1 to 99%) is defined in advance by the user. The remaining percentage is earned when the work package is completed. This method should be used only for work packages whose schedule dates span a maximum of two fiscal periods.
196
Chapter 13 Planning
Apportioned (J) The work package budget is earned in direct proportion to the amount earned on another related work package. This method can be applied to any work package if the referenced work package does not itself use the apportioned or the level of effort PMT, and if the scheduled dates are the same for both work packages. This PMT is generally used when the activity itself is difficult to measure, but it is closely related to a more readily measured work package. Quality assurance is a typical example of this type of work package. Planning Package (K) This PMT results in Cobra always calculating an earned value of zero for the item. Use this PMT if you do not want the work package to earn any of its budget, regardless of its status. BE % Comp (L) This PMT allows you to enter percent complete for each budget element individually. This option is useful when you have long work packages and your resources are not spread across the entire work package. This is not a good method for WPs that contain apportioned effort because the apportioned BEs will not get statused.
Calculated Apportioned (M) This PMT is associated with apportioned budget. Cobra allows you to define budget items based on a percentage of other items such as travel is a percentage of engineering. Work packages that have budget calculated using apportionment, can calculate earned value based on the same formulas. Earning Rules (N) This PMT allows you to define steps and the weight used to calculate the percent complete of the work package. When a step has been completed, the work package earns that percentage of the work packages budget. This method is very similar to the milestone PMT except that you do not enter the date of the steps. Earned as Spent (O) This PMT calculates the percent complete of the work package based on the actual costs using the formula ACWP/BAC. If ACWP exceeds the BAC, the earned value will equal the budget. This method is useful for progressing material items to reduce false variances. When actual costs are collected at the work package level, the percent complete is calculated using the total BCWP and BAC values at the work package level. When actual costs are stored at the control account level, the BAC is calculated using the sum of open work packages and the same percent complete is applied to all open work packages. % Comp. Manual Entry (P) This PMT is the percent complete and is always entered manually. The earned value is calculated using the same method as the PMT Percent Complete. Work packages with this PMT will not be updated when status is loaded from the schedule. To add a work package
1. On the File menu, point to Open, and open the appropriate program. 2. Select the cost account to which you want to add a work package. 3. Take one of the following actions: Click the work package grid, and click Add Work Package on the Edit menu.
Right-click the work package grid, and click Add Work Package on the
context menu.
197
Chapter 13 Planning
For the weighted milestone PMT (B), you will have the opportunity to define
milestones after entering budget cost information. (For more information on entering milestones, refer to the section Using Milestones in this chapter.)
For the units complete PMT (D), you must enter the number of units to be
completed for the work package.
For the user-defined % PMT (H), you must enter the percentage of the value
earned when the work package starts. (The remainder of the value is earned when the package is completed.)
For the apportioned PMT (J), you must indicate the work package that controls
the earning of value for the new work package. The scheduled dates for the apportioned work package will be automatically adjusted to those of the referenced work package. 6. Click OK.
You can use the following commands to update your work packages. These commands are available on the context menu when you right-click a work package in the work package grid: Details Displays the Details dialog box for the selected work package Rename Changes the ID of an existing work package Move Moves a work package to a different cost account
198
Chapter 13 Planning
Copy Copies the information (including the budget) of an existing work package Delete Deletes a work package You can only delete open work packages if you have selected the Allow changes to scope for an open Work Package option on the Planning tab of the Program Options dialog box. In addition, there is a Find Work Package command that functions similar to the Find command except that it is limited to searching just the WP field. For more information on deleting work packages, refer to the Updating Cost Accounts section in this chapter. For more information on using the Find Work Package command, refer to Chapter 6, Basic Skills. To update a work package
1. On the File menu, point to Open, and open the appropriate program. 2. Select the cost account containing the work package you want to update. 3. Take one of the following actions: Select the work package you want to update, and click Details on the Edit menu.
Right-click the work package you want to update, and click Details on the
context menu.
Double-click the work package you want to update. Select the work package you want to update, and click the Details button.
4. Update the information for the work package, and click Save. Cobra does not allow you to update the start date or change the PMT for an open work package unless the appropriate program option is set.
199
Chapter 13 Planning
4. Enter the cost account and work package ID for the new work package, and click OK.
Right-click the work package you want to delete, and click Delete on the
context menu.
Select the work package you want to delete, and click the Delete button. 4. When Cobra prompts you to confirm the operation, click Yes.
Planning Budgets
Entering budget information in Cobra means assigning a budget element to a work package, entering the budget amount in terms of either the budget unit or a derived result calculated from the budget unit, and spreading the costs over the estimated duration of the work. Cobra allows you to assign multiple budget elements to a single work package so that, for example, both labor and material budgets can be entered. Cobra also allows budgeting at the cost account level. This feature requires the creation of a custom budget cost class (described in Chapter 12, Supplemental Program Information). In all other respects, however, the procedure for budgeting at the cost account level is identical to budgeting at the work package level. However, you cannot earn value at the cost account level budget.
When you select the Add Budget Element command, Cobra displays the following dialog box:
200
Chapter 13 Planning
Use this dialog box to select a budget element and cost class. You can enter the budget for the element using either the base unit or a derived result directly calculated from the budget unit. (Notice, however, that Cobra always displays the budget on the Baseline tab in terms of the budget unit.) Once you have specified the amount for the budget element, Cobra asks you how to spread the budget costs over the scheduled dates of the work package:
Defined in this manner, the curves are then mapped to the actual number of fiscal periods being spread for the work package. (Note that this mapping is affected by the spreading options set on the Contract Information tab of the Program Directory dialog box.) It is also possible to define a custom spreading curve, either by modifying an existing curve or by creating a new curve.
201
Chapter 13 Planning
For more information about spreading curves, see Chapter 28, System Utilities. After spreading the budget using the selected curve, Cobra displays the Timephase form showing a time-phased version of the budget:
The grid in the Time-phase form displays the values for each budget calculation spread against the periods defined in the fiscal calendar file assigned to the program. (The labels are defined in calendar set 00 of that file.) If you have the Prevent editing of historical time-phased values option selected on the Planning tab of the Program Options dialog box, Cobra prevents you from making any changes to periods on or prior to the programs status date. Periods that are on or prior to the status date are grayed out indicating that they are protected. For more information about this option, refer to the Program Options for Planning section later in this chapter. Once you have performed the initial spread of the budget, Cobra allows you to adjust either the value or the percentage of the selected budget unit assigned to any period. If, as a result of your adjustments, the budget spread no longer agrees with the total entered for the budget element, you can reconcile either the spread to the total budget or the total budget to the spread. Selecting a fiscal period in the grid and then clicking Reconcile, places the difference in the selected fiscal period. This difference can be either a positive or a negative value. If rates change over the fiscal period, a weighted rate value is calculated and applied over the entire period. Thus, if you have a rate date that starts in the middle of the period and the work package also starts in the middle of the period, an average rate is used for the budget in that period. For example, assume the following rates: Date 1/1/04 1/15/04
Deltek Cobra User's Guide
Rate 10 20
202
Chapter 13 Planning
The average rate of 15 is applied to the first period of a work package that starts on the 15th of the month. To enter budget costs
1. From the Baseline tab of the Details dialog box, take one of the following actions: Select an empty row in the Budget Costs grid, and click Add on the Edit menu.
Double-click an empty row in the Budget Costs grid. Right-click the Budget Costs grid, and click Add Budget Element on the
2. 3. 4. context menu. Enter the following information: budget element, class, budget unit, and budget amount. When the information for the budget item is correct, click OK. On the Spread Method dialog box ,select a spread curve, and click OK. Cobra spreads the cost over the duration of the work package and displays the Time-phase form. If necessary, adjust the budget spread manually Click Save.
5. 6.
You can enter a new value for the budget element using either the budget unit or a derived result calculated from the budget unit. Once you have entered a new value for the budget value, Cobra displays the following dialog box:
You can then have Cobra perform one of the following functions:
203
Chapter 13 Planning
Spread the updated value linearly across the remaining fiscal periods (if the work item is open) Spread the updated value linearly across all fiscal periods Place the entire amount of the change in the last period only Perform no spreading of the updated value at all If you have selected the Prevent editing of historical time-phased values option on the Planning tab of the Program Options dialog box, your available options may be different than those listed above.
Once the spreading is complete, Cobra displays the Time-phase form where you have the opportunity to manually update the spread for the budget element. To update budget costs
1. From the Baseline tab of the Details dialog box, select the budget element to update. 2. Take one of the following actions: Click the Update button. Click Update on the Edit menu. Right-click the budget element, and click Update on the context menu. Double-click the budget element. 3. On the Budget element dialog box, enter the new information for the cost, and click OK. 4. On the Spread dialog box, select the appropriate action, and click OK. Cobra displays the Time-phase form. 5. If necessary, adjust the budget spread manually 6. Click Save.
204
Chapter 13 Planning
Right-click the budget element, and click Delete Budget Element on the
context menu. 3. When Cobra prompts you to confirm the operation, click Yes.
Using Milestones
If you indicate that a work package uses the weighted milestones (type B) PMT, you have the opportunity to define milestones and their weights each time you enter cost information about the work package. You cannot define milestones for a cost account since Cobra does not calculate earned value at that level. To set up milestones for a work package, begin by selecting Milestones as the work package PMT on the Baseline tab of the Details dialog box, and then click Save. Cobra adds the Milestones button to the row of buttons on the bottom of the form.
Use this form to enter the following information for each milestone: MS No. The milestone ID. Description A description of the milestone. Sched. Finish The scheduled completion date for the milestone. Status The status of the milestone:
Unopened the milestone has not been started. Opened the milestone is in progress. Closed the milestone has been achieved.
205
Chapter 13 Planning
All milestones within a closed work package display a value of closed in this column. Weight The weighting factor that indicates how much of the work package value is to be earned when the milestone is recorded as having been completed. For example, assume you have defined a work package with a duration of three months that starts on January 1, 2000, and is scheduled for completion on March 31, 2000. To control the earning of value for the work package, you might set up the following milestones:
ID MS1 MS2 MS3 Description First Milestone Second Milestone Third Milestone Date 01/01/00 02/29/00 03/31/00 Weight 30% 30% 40%
% Comp. This field controls the percent of the milestone that is complete. Values in this field can range from 0 (milestones that are unopened) to 100 (milestones that are closed). This option is enabled on the Statusing tab of the Program Options dialog box. If the status of the milestone is closed, the value displayed in this column is 100. Also, all milestones within a closed work package display a value of 100 in this column. Although some program managers may want to define milestone weights as percentages that, taken together, add up to 100%, Cobra does not require this approach. Instead, Cobra sums the entered values and calculates the relative weighting factor for each milestone. For example, if you set up three milestones and assign each a weight of 1, Cobra assumes that you want to earn a third of the work package budget each time a milestone is achieved. This method of calculating weighting factors is particularly useful in cases where you want each milestone to represent a dollar portion of the work package budget. Because most earned value management systems insist on a direct relationship between the budgeting of a work package and the earning of its value, Cobra notifies you if there is more than a 5% variance between how a work package budget has been spread and how its milestones are weighted. If a variance of this size is detected, you have the option of either reconciling your milestone weights to the budget or adjusting the weights manually. If the milestone varies more than 5% from the budget, a warning message is displayed. This budget variance can be changed to any value besides 5 for the entire program by changing the value for the Percentage variance of budget and milestone weight option in the General Milestone Weighting category on the Application Options dialog box.
206
Chapter 13 Planning
The default milestone-weighting value is 3 digits, which yields the sum of the milestone weights equal to 100. If the value is 4 digits, it will yield the sum of the milestone weights equal to 1000. The default factor is 100. For more precision accuracy when calculating milestone weights change the value to 4 for the Milestone weight calculation accuracy option in the General Milestone Weighting category on the Application Options dialog box. For more information on using the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings.
Cobra calculates the first milestone weight by taking the budget that is spread from the beginning of the work package until the first milestone, dividing it by the total work package budget and then multiplying the result by the milestoneweighting factor. Cobra calculates subsequent milestone weights by taking the budget that is spread between the previous and next milestone, dividing it by the total work package budget and then multiplying the result by the milestone-weighting factor. If two or more milestones have the same scheduled finish date, Cobra divides the final weight calculated for the first milestone by the number of milestones with the same finish date. This weight is then applied to all milestones with the same scheduled finish date.
When loading budget from a schedule or transaction file, all of the baseline data for the work package is loaded and then the milestone weight is calculated using the same formula as the reconciliation in the program form. If you are using the time method for calculating earned value (see Chapter 17, Earned Value), Cobra does not allow you to enter milestone weights, which are ignored by this type of earned value calculations. To define milestones
1. On the Details dialog box of the selected work package, click the Baseline or the Status tab, and then click the Milestones button. 2. From the Milestone Details form, take one of the following actions: Click the Add button.
Double-click an empty row in the grid. Right-click the grid, and click Add on the context menu. Select a blank line in the grid, and click Add Milestone on the Edit menu.
3. Enter the information for the milestone: milestone ID, description, scheduled finish date, and weight. 4. When the information for the milestone is complete, click Save.
207
Chapter 13 Planning
Cobra verifies that there is no more than a 5% variance between the milestone weightings and the current budget spread for the work package. If such a variance exists, Cobra allows you to either reconcile the weightings to the existing spread or adjust the weightings manually before leaving the Milestone Details form.
To modify a milestone
1. On the Baseline or the Status tab of the work package Details dialog box, click the Milestones button. 2. Take one of the following actions: Select the milestone you want to update, and click Edit.
Right-click the milestone you wan to update, and click Edit on the context
menu.
Double-click the milestone you want to update. 3. Update the information for the milestone, and click Save.
To delete a milestone
1. On the Baseline or the Status tab of the work package Details dialog box, click the Milestones button. 2. From the Milestone Details form, take one of the following actions: Select the milestone you want to delete, and click the Delete button.
Select the milestone you want to delete, and click Delete Milestone on the Edit
menu.
Right-click the milestone you want to delete, and click Delete on the context
menu. 3. When Cobra prompts you to confirm the operation, click Yes.
Using this dialog box, you can select a single cost account, multiple cost accounts, or <ALL> cost accounts to edit at a time.
208
Chapter 13 Planning
The processing time will be longer the more cost accounts selected. There is also a size limit of 64K lines for the spreadsheet. Both budget and forecast classes are supported in the interactive CAP; however, you can only select one class at a time. Once you have selected the cost account(s) and the class, you can select one of three results:
Base If selected, the CAP will contain only the base result for each cost account. For example, labor will be hours and material will be direct. Total Dollars If selected, the CAP will contain only the total dollar amount for each cost account. When saved back to the program, the hours and other results will be back calculated based on the total dollars. Result If selected, you can select an individual result that will be exported to the CAP for each cost account. The remaining results will be back calculated when saved to the program. This is useful for planning in FTEs for a staffing exercise.
Using this view, you can update existing time-phased data by clicking on the cells and editing the contents. You can add new budget elements, but not new cost accounts or work packages. The start and finish dates of an existing cost account cannot be changed using the spreadsheet. You can, however, change the start and finish dates of an existing work package as long as they fall within the cost account dates. Once you have finished editing the spreadsheet, click Save to save your changes back to the database.
209
Chapter 13 Planning
The CAP Spreadsheet is very similar to Excel in that you can add formulas such as =SUM(G5:G15). You can also cut, copy, and paste from other applications such as Excel and tables in Word. Similar to Excel, you need to be very careful when using this view. Time phased data that is entered beyond the start and finish dates is ignored and an error message is given. Similarly, data entered in rows that do not have a valid budget element are not loaded. Only text and numeric entries are loaded not formulas. You can use Paste Special in Excel to replace formulas with values before Importing into the CAP Spreadsheet. Program options such as Prevent editing of historical time-phased values are observed during the import without warning. In other words, if you have this option set and you change the budget before the status date, the changes before the status date are ignored. The Read Only class is also observed in this view. The log is updated when saving BCWS classes. When editing open cost accounts, the status date appears as a red vertical line. While updating in Excel is a very powerful feature, caution must be taken when using this as the main means for data entry. Since this view is not supported by batch processing, an implementation that uses this view will require a lot of administration and manual validation of the spreadsheet data. Clicking the Validate button runs a log file of the spreadsheet process. Clicking the Export button allows you to generate an Excel spreadsheet of the CAP that can be distributed and updated. Clicking the Import button allows you to load an Excel spreadsheet into the CAP Spreadsheet. Clicking Save writes the data back to the database.
210
Chapter 13 Planning
You can set the following options from this tab. Copy structure element description for cost account description Allows the cost account description to default to the description of the first breakdown structure element appearing in its key. The default is Yes. Copy structure element description for work package description Allows the work package description to default to the description of a breakdown structure element appearing in its key. The default is No. Check CA key 1 field for parent/child uniqueness Enables Cobra to validate that a breakdown structure assigned to the Cost Account Key 1 field does not result in the creation of cost accounts that are parents or children of other cost accounts. The default is Yes. Check CA key 2 field for parent/child uniqueness Enables Cobra to validate that a breakdown structure assigned to the Cost Account Key 2 field does not result in the creation of cost accounts that are parents or children of other cost accounts. The default is No. Check CA key 3 field for parent/child uniqueness Enables Cobra to validate that a breakdown structure assigned to the Cost Account Key 3 field does not result in the creation of cost accounts that are parents or children of other cost accounts. The default is No. Check WP structure for parent/child uniqueness Enables Cobra to validate that any work package keys based on breakdown structures do not result in the creation of work packages that are parents or children of other work packages. The default is No. Copy cost account dates to work package Allows automatic copying of cost account start and finish dates to work packages. The default is No. Copy cost account description to work package Allows automatic copying of the cost account descriptions to work packages. The default is No.
Deltek Cobra User's Guide 211
Chapter 13 Planning
Allow changes in scope for an open work package Allows users to make the following changes in scope for an open work package:
Modify the budgets of the work package Change the value in the Units to Do field when the PMT is Units Complete Delete work packages
The default setting is No. Allow changing of the PMT for an open work package Allows the user to change the PMT for an open work package. The default is No. Allow recalculation of closed cost accounts and work packages Allows the user to recalculate closed cost accounts and work packages. The default is No. Prevent editing of historical time-phased values When selected, this option prevents users from making changes to past budget. Allow adding Work Packages to closed Cost Accounts When selected, this option allows users to add work packages to closed cost accounts. Mappings for subprograms are defined in the master program Selecting this option instructs Cobra to use apportionment mappings available in the master program when calculating earned value. If this option is not selected, apportionment mappings available in each of the subprograms are used instead. To set program options for planning
1. 2. 3. 4. On the System menu, click Program Options. Click the Planning tab. Select the program for which you want to set program options. Set the appropriate options, and click Save.
212
Overview
Once you have set up your cost accounts/work packages and entered time-phased budgets, you are ready to set your program baseline. If you are using the program log feature as a change control mechanism, you can also take this opportunity to initialize the program contract values and turn on the program log. Topics discussed in this chapter include:
The program log in Cobra Program log considerations Setting the program baseline Updating the program log Using the program log
Contract Target Cost Authorized Unpriced Work Contract Budget Baseline Management Reserve Distributed Budget Undistributed Budget Over Target Baseline
All of the information stored in the log is available for reporting through the standard log report. A report with a more narrow focus (for example, a listing of budget transfers to the Management Reserve account) can be produced with the use of suitable filters. Log information also appears in a CPR3 report. For more information about reporting features in Cobra, see Chapter 20, Standard Reports, and Chapter 21, Reporting Utilities. Transactions in the program log originate from three possible sources:
Initial values Initial values for Undistributed Budget, Contract Target Cost, Authorized Unpriced Work, and Management Reserve are recorded when the program baseline is set. (Once the baseline has been set, changes for these accounts must be made explicitly using the log.) Program log transactions Once the program log is turned on, a transaction is created for the program log that documents the transfer of funds between accounts. Such a transfer occurs whenever the planning process results in a net change in the Distributed Budget account by adding or deleting BCWS. For each transaction, Cobra prompts you for a comment and a change number that are stored with the transaction record.
214
Direct entries to the log Other changes that affect program accounts (for example, the application of Management Reserve funds) can be entered directly through the log.
Each transaction in the program log always affects at least two of the accounts. These transactions conform to the conventions of standard double-entry bookkeeping, with at least one account being credited and at least one account being debited each time a movement of funds is recorded. Cobra also uses the information from the program log to update the relevant fields on the Budget Information tab on the Program Directory dialog box.
Cost account or work package ID Budget element code Batch reference number Account debited or credited Amount of debit or credit Comments entered at the time of the transaction Change number entered at the time of the transaction
215
To set the program baseline and turn on the program log, use the Log Operations tab of the Program Log dialog box:
Use this tab to indicate the level for the log (cost account, work package, or budget element) as well as to enter a comment concerning the initialization of the log and a change number. Cobra also gives you the opportunity to update the budget values for the program before initializing the log:
The budget values for the program also appear on the Budget Information tab of the Program Directory dialog box.
216
217
To enter a transaction in the program log, use the Log Transactions tab of the Program Log dialog box:
Depending on the type of transaction you are entering, Cobra prompts for additional information:
If you indicated that the transaction type is new unpriced work, you must specify whether Cobra should credit the Undistributed Budget account or the Management Reserve account. If you indicated that the transaction type is a negotiated change, you can enter the amount to transfer from the Authorized Unpriced Work account. (Note that this amount cannot be greater than the current balance in the Authorized Unpriced Work account.) If the negotiated change is less than the amount transferred from the Authorized Unpriced Work account, Cobra also asks whether to credit the Management Reserve account or the Undistributed Budget account with the remainder. Once you have entered this information, Cobra then allows you to update the contract fee information for the program. If you indicated that the transaction type is the allocation of Management Reserve funds, you must specify the amount of the allocation. To update the program log
1. On the Initialize menu, click Program Log. Cobra prompts for the name of the program. 2. Enter the name of the program, and click OK. 3. On the Program Log dialog box, click the Log Transactions tab. 4. Select a transaction type, and enter the parameters for the transaction. 5. Enter a Log Comment and Change # regarding the operation for the log. 6. Click Apply.
218
7. If you are entering a negotiated change, review and, if necessary, change the contract fee information, and click OK. Cobra performs the operation, returning to the Program Log dialog box when the operation is complete.
If a breakdown structure has been assigned as the lookup file for the Change #, you can use the Change # drop-down list to select an element from the breakdown structure for the change number. Doing so automatically enters the Comment associated with that element. A breakdown structure can be assigned as the lookup file using the Auxiliary Files tab of the Program Directory dialog box. The information that you enter in this dialog box is displayed in log reports such as the Baseline Log Report, the Budget Baseline Log, the Management Reserve Log, and the Contract Budget Baseline Log, There may be times when you want to edit the log comment or change number after dismissing this dialog box. To edit these, go to System File Maintenance Edit Baseline Log, and use the Edit Baseline Log dialog box to make your changes.
219
220
Overview
In Cobra, multi-program operations allow you to work with a master program and any number of subprograms as though they were a single entity. Each multi-program consists of the following elements:
A single master program that contains no data but is used to designate the subprograms associated with it Multiple subprograms through which you enter data for specific subsets of cost accounts
In Cobra, you can associate many subprograms with a master program. The following operations in Cobra support master program operations:
Advancing the calendar ANSI X12 Export Drill Down Analysis Global Cost Recalculation Load Actual Costs Load Status Run reports Earned Value Total BCWS, BCWP, ACWP, EAC
These operations can be split into two categories: Those that allow you to view or export data Those that change the data
When the master program is used in operations that allow you to view or export data, the master program combines the subprogram data into a single report or ANSI X12 export. This feature is useful for large programs that are comprised of several contracts or when reporting on all programs generated within a company. When a master program is used in functions that change data, the master program is not updated, but all the subprograms are. For example, if you Load Actual Costs into the master program, no data is actually stored in the master program, but the subprograms that are associated with the master program are updated with the actual costs that have been loaded into the master program. This feature is useful when your accounting system exports a single file containing actual costs for all subprograms. If all of your subprograms share the same fiscal calendar as the master program, you can advance the calendar on the master program to automatically advance the calendar on all subprograms at the same time. This strategy is useful to ensure that all subprograms share the same status date for reporting. Conversely, if you do not want the status date to be the same for all subprograms, you can create an individual calendar file for each subprogram. Be aware, however, that each of these calendar files must share the same set of dates as the fiscal calendar used by the master program.
Deltek Cobra User's Guide 222
The program options selected for the master program are used for all sub programs when processing at the master-project level. Also, processes such as loading actual costs will use the budget element file assigned to the master project. To set up the master program
1. 2. 3. 4. On the File menu, point to New, and click Program. In the New dialog box, enter a name and a description for the master program. Select the Copy from option. Select one of the programs that you will use as a subprogram in the multiprogram operation. (Do not select the option to copy data.) The program you select to use as a model should be the one that has the most features defined. For example, if one of the programs you plan to use in the multi-program operation has only one cost account key defined and another uses all three keys, you should use the program that uses all the cost account keys as your model. 5. Click OK.
223
Setting Up Subprograms
You define the subprograms to be used for the multi-program operation using the Multi Program dialog box:
This dialog box contains the following controls: Master Program Cobra displays the name and description of the program you selected as the master program. Subprogram This column contains a list of the individual programs that you want to associate with the master program for reporting purposes. Description This column displays the description of each of the subprograms. Status Date This column displays the latest status date of each of the subprograms. The buttons along the right edge of the dialog box allow you to take one of the following actions: Validate data Displays the Multi Program Validation dialog box that allows you to validate the multi-program information. Merge data Performs an actual merge of the data. Be aware that if you choose to merge the data, your master program will no longer update the subprograms and will act as if it is a stand-alone program. Once you merge a program, there is no way to unmerge it. To add a subprogram to a multi-program group
1. On the Tools menu, click Multi-Program. 2. On the Open dialog box, select a master program. 3. In the Multi-Program dialog box, take one of the following actions: Double-click the grid. Click Add on the Edit menu. Right-click the grid, and click Add on the context menu. 4. On the Add Subprogram dialog box, select the program you want to add, and click OK.
224
3. In the Multi-Program dialog box, select the subprogram that you want to delete. 4. Take one of the following actions: Click Delete on the Edit menu. Right-click the selection, and click Delete on the context menu. 5. Confirm that you want to delete the subprogram.
Merging Programs
This feature allows you to copy the data from each individual subprogram into the master program. This feature is useful when sending a copy of all programs to another individual. After merging data into a master program, the master program acts like a regular program and data from the subprograms associated with the master program is no longer updated. During the merge operation, Cobra merges the data from each subprogram into the master program. Because the data is actually stored twice (once in the subprogram and once in the master program), this option is slower and consumes more disk space than an associated master program. However, once the merge operation has been performed, the master program can be viewed, managed, and reported on as if it were a standalone program. Program Merge supports the DBMS copy option to greatly improve performance when merging data. To greatly improve performance, select the Generate SQL statements to copy database inside DBMS option in the Application Options dialog box. To perform a multi-program merge
1. 2. 3. 4. On the Tools menu, click Multi-Program Open a master program. In the Multi Program dialog box, add the subprograms that you want to merge. Click Merge. Before performing the Merge operation, Cobra automatically performs the validation checks specified in the Multi Program Validation dialog box.
225
When you click Validate on the Multi Program dialog box, Cobra displays the Multi Program Validation dialog box:
The Validation tab displayed by default allows you to select the validation processes that you want performed. Using this dialog box, you can set both the multi-program validation options and identify the errors that should prevent data from being merged. You can select as many of the following validation options as you want: Breakdown Entries This validation option checks that the breakdown structure files in the master program and the subprograms match. It also checks that each key field used in the subprograms is contained in the breakdown structure attached to the key field in the master program. This validation is necessary for rollup reporting. Calculation Entries If you have used different budget element calculation files for the subprograms, you can use this validation option to check that the contents of these files are consistent between the subprograms and the master program. This validation is necessary if you intend to recalculate your data using the master program. Rate Entries If you have used different rate sets for the subprograms, you can use this validation option to check that the contents of these files are consistent between the subprograms and the master program. This validation is necessary if you intend to recalculate your data using the master program. Fiscal Calendar Entries If you have used different fiscal calendar files for the subprograms, you can use this validation option to check that the contents of these files are consistent between the subprograms and the master program. This validation is necessary for reporting as the timephasing of the programs must be the same. Scheduled Dates This validation option checks that the scheduled start and finish dates in the program directory on both the master program and the subprograms match. This option is necessary for the header information in CPR reporting. Status Dates This validation option checks that all subprograms share the same status date. This option is necessary for reporting. Cost Class Entries This validation option checks that the master program and the subprograms include the same cost class definitions. This option is necessary for reporting.
226
The Errors tab of the Multi Program Validation dialog box allows you to specify the conditions that will prevent Cobra from performing a merge operation. If, for example, you want to produce a report by cost account on the master program, you do not need to stop the merge simply because the rate file entries do not match.
You can select as many of the following options as you want: Breakdown Entries Cobra will not perform the merge if entries in the master program and subprogram breakdown structure files do not match. Calculation Entries Cobra will not perform the merge if entries in the master program and subprogram budget element files do not match. Rate Entries Cobra will not perform the merge if entries in the master program and subprogram rate files do not match. Fiscal Calendar Entries Cobra will not perform the merge if entries in the master program and subprogram fiscal calendars do not match. Scheduled Dates Cobra will not perform the merge if the scheduled start and finish dates in the master program and subprograms do not match. Status Dates Cobra will not perform the merge if the status dates of the master program and subprograms do not match. Cost Class Entries Cobra will not perform the merge if the cost class definitions in the master program and subprogram do not match. To validate a multi-program group
1. On the Tools menu, click Multi-Program. 2. Open the master program on which you want to validate a multi-program group. 3. In the Multi Program dialog box, review the list of subprograms and make any appropriate additions or deletions. 4. Click Validate. 5. On the Multi Program Validation dialog box, select your desired options on both the Validate and Errors tab. 6. Click OK.
227
228
Overview
After you have created your program and set the baseline, you are ready to status your program. Each month you must advance the calendar for your program before you can enter the status for the previous fiscal period. The typical status cycle for your program contains the following operations:
Advance Calendar Rolling Wave (It is a good practice to perform this operation each time you advance the calendar; although, it is only necessary at month end.) Calculate Earned Value Load Actual Costs Calculate Forecast The Status menu items are listed in the appropriate order.
Status can be entered manually in the Program form. Whether you are entering status manually or from a schedule, the types of status information that can be updated are the same. Actual Start and Finish Dates These dates are used by Cobra to calculate earned value, and under normal circumstances, cannot be revised once you have entered them. Entering an actual start date for a work package opens the work package; entering an actual finish date closes the work package. Estimated Start and Finish Dates for Work Packages These dates are used by Cobra for forecasting purposes, and can be updated at any time. Early and Late Dates for Work Packages These dates are used for best- and worst-case forecasts. You can also enter estimated and actual dates for cost accounts, provided that they do not conflict with the work package dates. For example, you cannot enter an estimated start date for a cost account that is later than any work package start dates. In-Progress Work Packages Cobra allows you to progress open work packages to update the status. This option applies only to the following PMTs:
This chapter discusses two ways in which you can update schedule status for a program in Cobra: manually or with a suitably prepared transaction file. For more information about including status information from a schedule, refer to Chapter 26, Schedule Integration: Status.
230
You can perform the following functions for each work package or cost account:
Change the status by opening or closing the work package or cost account. For unopened items, you can enter estimated, early start, late start, and finish dates. For opened items, you can enter an actual start date and an estimated finish date. You can also enter early and late finish dates. For closed items, you can enter actual start and finish dates. If the work package is using the % Complete PMT, you can enter the completion of the work package as a percentage. If the work package is using the BE % Comp PMT, the Budget Elements button is displayed on the Status tab of the Details dialog box. Clicking the Budget Elements button displays the Budget Element Percent Complete dialog box where you can enter the percent complete for each budget element. If the work package is using the Units Comp. PMT, you can enter the number of units completed. If the work package is using the Milestones PMT, the Milestones button is displayed on the Status tab of the Details dialog box. Clicking the Milestones button displays the Milestones Status Details dialog box where you can enter completion dates (either estimated or actual) for milestones. You can also enter the milestone progress as percent complete (provided you have set the appropriate program option).
You can also enter progress information for open work packages as follows:
231
As you enter program status information, notice that the following restrictions apply:
You cannot enter actual dates that are on or later than the current program status date. You cannot enter an invalid estimated start date. (Invalid estimated start dates are estimate dates that occur on or before the status date. In order for an estimate date to be valid, it must be in the future.) Check each month to ensure that all work packages that were originally estimated to begin in the current status period have either been opened, or the estimate date has been moved beyond the status date.
You can check for invalid estimate dates by clicking Check Estimate Dates on the Tools menu. This function restricts the validation of early and late dates. If there is a forecast class in the classes list for the program that is based on the early or late date set, early and late dates are validated during the checking process. Otherwise, the dates are ignored. If an estimate date is changed in Cobra, you are prompted to choose whether you want to copy the new estimate date to the corresponding early or late date. These prompts are displayed if there is a forecast class in the classes list for the program that is based on the early or late date set. If there is at least one forecast class based on early dates, prompts relating to early dates are displayed. If there is at least one forecast class based on late dates, prompts relating to late dates are displayed. In addition, if Cobra detects invalid estimate dates when you exit the program, a message appears listing the invalid dates. For information about turning estimate validation off, refer to the section, Program Options for Status Information later in this chapter. To update work package status
1. On the File menu, point to Open, and click Program. 2. Select the appropriate program, and click OK. 3. Select the cost account containing the work package whose status you want to update. 4. Take one of the following actions: Double-click the work package you want to update.
Select the work package, and click Details on the Edit menu. Select the work package, and click the Details button. Right-click the work package, and click Details on the context menu.
5. When Cobra displays the Details dialog box, click the Status tab. 6. Specify the work package status (unopened, open, or closed), and enter the new dates for the work package. 7. If the work package uses the percent complete, units complete, or weighted milestone PMT, take one of the following actions: If the work package uses the percent complete or units complete PMT, enter the progress information.
232
select the appropriate milestone, and click Edit to update the status information for the milestone. 8. When the status information for the work package is complete, click Save.
If the work package uses the weighted milestones PMT, click Milestones,
If you enter a status date for a work package that conflicts with the cost account dates, Cobra requires that you adjust either the work package dates or the cost account dates before allowing you to save the record.
Select the cost account for which you want to check status, and click Details on
the Edit menu. Details button.
Select the cost account for which you want to check status, and click the Right-click the cost account, and click Details on the context menu. 4. When Cobra displays the Details dialog box, click the Status tab. 5. Specify the cost account status (unopened, open, or closed) and enter the new dates for the cost account. 6. When the status information for the cost account is complete, click Save.
If you enter a status date for a cost account that conflicts with existing work package dates, Cobra requires that you adjust either the work package dates or the cost account dates before it allows you to save the record.
the screen that lists the invalid estimate dates. This option is useful in the following circumstances: When you want to update only some of the invalid dates. When you want to use estimate dates that differ from those automatically set by Cobra during the normalize operation. When you want to print the work packages and cost accounts that contain the invalid dates. Ignore any invalid dates and close the program This option is useful when you want to close the dialog box and correct the invalid dates at a later time. 5. Click Close.
Manually update invalid estimate dates This option leaves a dialog box on
233
You can set the following statusing options from this tab: Allow user to unopen/unclose a Work Package You can allow users to unopen work packages that have already been opened or unclose work packages that have already been closed by changing actual dates back to estimated dates in the status update function. By default, this option is cleared. Calculate earned value by budget, time, dollars, or Hours SPI Use this field to specify whether Cobra should calculate earned value based on the base budget unit (Budget), the time-phased budget (Time), or total budgeted dollars (Dollars), or SPI based on hours (Hours SPI). The default setting for this field is Budget. If you use apportionment and select to calculate earned value by Hours SPI, you might also want to select the Force SPI of apportioned resources to match source SPI option on the Calculate Earned Value page of the Application Options dialog box. Also, for a complete discussion on the different methods of calculating earned value, refer to Chapter 17, Earned Value. Allow percent complete on milestones Select this option to allow Cobra to use percent complete in calculating earned value by weighted milestones. Each milestone can have a portion earned rather than forcing an all-or-nothing awarding of earned value. By default, this option is cleared. Check estimate dates when closing program Select this option to have Cobra automatically check for invalid estimate dates when closing a program. By default, this option is cleared.
Deltek Cobra User's Guide 234
235
236
Overview
The calculation of earned value, or performance, is central to Cobra. Earned value is always measured at the work package level in Cobra, and the nature of the calculation depends on the PMT that is used by the work package. Similar to how Cobra supports multiple budgets, it can also support multiple earned value classes. This is useful, for example, when you are tracking professional services. For example, assume the following:
You have budget using the billing rate and would like to use earned value to determine progress payments. You have budget using internal rates and would like to see the earned value based on the internal rates.
In this example, you would need two earned value classes to properly represent the earned value for both budgets. This chapter discusses the procedures related to calculating earned value and concludes with a discussion of the program options that can affect how earned value calculations are performed.
The specified PMT is used for only those work packages that are in progress. Any unopened work package has a zero earned value; any closed work package has an earned value that is exactly equal to its budget. The earned value calculation is performed on a cumulative basis, after which any previously calculated earned value is subtracted to produce the next incremental earned value data record. This avoids rounding errors and allows mistakes to be rectified with a negative increment in the current period. Zero increments are not stored explicitly. The earned value for Level of Effort (LOE) work packages is calculated based on the status period. If an LOE work package is open, the budget before the status date is earned. An LOE work package should be opened on or before the scheduled start date of the work package. If you open an LOE work package in a status period after the scheduled start date, a cumulative-to-date earned value record is placed in the current period. Similarly, if you change the budget in a previous period, a correcting entry is placed in the current period. This ensures that the cumulative-to-date earned value equals the cumulative-to-date budget.
All other PMTs derive a percent complete of the work package and calculate the earned value from the budget unit for each budget element.
238
For example, if the PMT 50-50 is applied to a work package, a percent complete earned value calculation of 50% is applied to each budget element. If the PMT Units Complete is applied to a work package, Cobra calculates the percent complete of the work package by dividing the units complete by the units to do. Even weighted milestones or steps are used to calculate the percent complete of the work package. For Work Packages with a PMT of O (Earned as spent), the EV calculation process will calculate the percent complete for the Work Package by dividing the cumulative-to-date Actual Cost of the parent Cost Account by the Budget at Complete of the parent Cost Account and multiplying the result by 100. The resulting value will be applied to all Work Packages with a PMT of O within the parent Cost Account. If the Actual Costs at the Cost Account level exceeds the BAC, then a warning will be printed in the log and a value of 100% will be used to calculate EV. Once the Work Package percent complete has been calculated as outlined above, the remaining calculation will be the same as for Work Packages with a method of C (Percent Complete). By default, the PMT is always applied initially to the budget unit of the budget element. Derived costs are then calculated from this amount. (It is possible, however, to change this calculation using one of the program options discussed at the end of this chapter.) Thus, a work package that has been budgeted using hours will have its earned value first calculated in hours; that value is then applied as a percentage across the various derived costs defined in the budget element. The following example illustrates how Cobra ensures that the earned value never exceeds the work package budget in any of the calculated costs a very important principle. Example: Assume that a work package is budgeted to take 1000 hours over a period of three months as follows:
Month 1 250 hours at $20/hour for a total of $5,000 Month 2 500 hours at $21/hour for a total of $10,500 Month 3 250 hours at $22/hour for a total of $5,500
The total dollar budget is thus $21,000. Assume also, that there are five equally weighted milestones for this work package. In the first month, the first two milestones are achieved. Because these two milestones represent 40% of the total, the cumulative total number of earned hours is 400. Using this result, the cumulative dollar value is calculated by taking the first 250 hours at $20/hour, and the remaining 150 hours at $21/hour. This results in a cumulative dollar value of $8,150. First 250 Hours at $20 = Remaining 150 Hours at $21 = $5,000 $3,150
239
Total =
$8,150
Notice that the total when calculated in this manner is not exactly 40% of the dollar budget, which would be $8,400. As there is no previously calculated earned value for this work package, a T-phase record is created with 400 hours and $8,150 of earned value. In this example, no new milestones are achieved in the second month. The same cumulative calculations are performed, and of course, the same cumulative results are obtained. As this amount of earned value is already calculated, no new record is created for the second month. In the third month another two milestones are achieved. This brings the cumulative total to four out of five, and as the weights are equal, the cumulative earned value is calculated to 800. The cumulative dollars are calculated by the same method as before, this time arriving at $16,600. First 250 Hours at $20 = Next 500 Hours at $21 = Remaining 50 Hours at $22 = Total = $5,000 $10,500 $1,100 $16,600
After subtracting previously calculated earned value ($8,150), the record for the third month will contain 400 hours and $8,450. In the fourth month, when the final milestone is achieved, the cumulative earned value is equal to the budget: 1000 hours and $21,000. Again, the previously calculated data is subtracted to produce an earned value record for the fourth month containing 200 hours and $4,400. (Notice that this crosschecks with the fact that the final 200 hours were budgeted at $22/hour.) Although the above budget rates have been used to make this example easy to understand, the actual calculation is not performed from the rates in the rate file, but from the ratios implied by the derived costs that are actually stored on the budget records. For example, the dollar value of the first month is actually calculated as: 5000 + (150 (10500/500)) = $8,150 Thus, the results will be correct even if the rate set is changed after the budget is produced. The BE % Comp PMT allows you to calculate earned value at the budget element level as shown in the following examples:
100% complete 100% complete 50% complete 20% complete 20% complete
240
Activity 1030
Res D
500 hrs
0% complete
Assuming these activities are all linked to a single work package in Cobra, the BCWP is calculated as follows: Activity 1000 Activity 1010 Activity 1020 Activity 1030 Res A Res B Res B Res A Res C Res D 100 hrs * 60 hrs * 200 hrs * 100 hrs * 40 hrs * 500 hrs * 100% complete = 100% complete = 50 %complete = 20% complete = 20% complete = 0% complete = 100 hrs 60 hrs 100 hrs 20 hrs 8 hrs 0 hrs
At the work package level, the BCWP is calculated as follows: Res A = 120 hrs Res B = 160 hrs Res C = 8 hrs Res D = 0 hrs For a discussion of alternative methods for calculating earned value in Cobra, refer to the Alternative Earned Value Calculations section later in this chapter.
241
By keeping the work package short, you can help ensure the accuracy of the earned value calculation. For example, assume that an error was made in entering the status of a work package during one period. Since a work package with a short duration would actually be completed during the next period, the earned value would equal the budget at that point. This would, in effect, correct any inaccuracy that was previously entered. In addition, short work packages typically use the 50-50 PMT or user-defined percentage. These PMTs can be used to eliminate the subjective nature of estimating the percent complete of a work package. When the earned value technique of 50-50 is used, only the activity start and finish dates are used in calculating earned value.
242
For some programs, you may want to use the BE %Comp PMT. This PMT allows you to enter the percent complete status for each budget element. By statusing at the budget element level, you can accurately report the exact amount of work that has been accomplished on each budget element.
Actual dates that occur after the current status date. Actual finish dates that occur before an actual start date. The number of units completed either is a negative value or is greater than the original total for the work package. The percent complete is either a negative value or is greater than 100. The budget element calculation file cannot be found. The rate file cannot be found. The earned value that is calculated for the current period is negative. (Cobra treats this as a warning rather than as an error since negative earned value could be the result of a corrective entry.)
If Cobra has identified any error in the data, you should correct the problem and perform the earned value calculations again. Cobra allows you to perform these calculations as many times as necessary. As discussed earlier, Cobra performs all earned value calculations on a cumulative basis, and then subtracts the earned value already calculated. This minimizes the possibility of calculating the same earned value more than once. For example, if you calculate earned value twice for the same status information, the earned value will compute to zero the second time. If you fail to calculate earned value for a particular period, the effect will be as though you have credited the value earned during that period to a subsequent period. To calculate earned value
1. On the Status menu, click Calculate Earned Value. 2. Enter the name of the program to process, and click OK.
By budget
243
This option is available from the Statusing tab of the Program Options dialog box:
The default methodology for calculating earned value in Cobra is by budget. In other words, the budget unit is summed across all periods and the PMT is applied. Earned value is calculated by moving through the Tphase table up to the time of the calculation, earning the budget unit and the associated budget. If only a portion of the budget unit for the last period calculated is earned, ratios are used to calculate the corresponding portion of the associated budget costs. In most project management environments, this is the recommended approach to calculating earned value. Estimates of percent complete are typically based on the hours worked, not the amount of actual costs that have been incurred or the number of days that have elapsed since the activity was scheduled to start. Using small discrete measures of progress reduces problems with schedule variance, which can be further reduced by limiting work packages to a single budget element. In cases where multiple budget elements are required, their budgets should reflect a single work effort. In other words, avoid planning work packages that include budget elements for dissimilar types of activities (for example, design, testing, and production) that occur at different times over the course of the work package. However, since it is not always practical to plan work packages with single budget elements, Cobra offers three alternative methods for calculating earned value: calculating earned value by dollars, calculating earned value by time, and calculating earned value by hours SPI In the following sections, each of the four possible approaches to calculating earned value is discussed with the aid of examples.
244
10 50.00
10 75.00 400.00
20 125.00 400.00
If the work package has started, the earned value for the first fiscal period is distributed for each budget element as follows:
Budget Element LABOR HOURS DIRECT MAT DIRECT Period 1 Period 2 Total
10 50.00 200.00
10 50.00 200.00
As this example makes clear, one-half of the direct material dollars has been earned for the first period, even though the original budget spread had all of the direct material dollars planned for the second period.
10 50.00
10 75.00 400.00
20 125.00 400.00
245
If the work package has started, the earned value for the first fiscal period is distributed for each budget element as follows:
Budget Element LABOR HOURS DIRECT MAT DIRECT Period 1 Period 2 Total
In this case, one half of the dollars budgeted for the LABOR budget element is earned. Earned hours are then calculated by determining the number of hours corresponding to the first $62.50 of the budget as follows: Earned hours = (10 hours * (50/50)) + (10 hours * (12.5/75)) = (10 hours * 1) + (10 hours * .16) = 10 hours + 1.6 hours = 11.6 hours This method is typical of an earlier generation of earned value systems developed by financial rather than scheduling organizations. If you are transferring information from an external schedule to a program using the dollar method of calculating earned value, the status of the work package should be based on the budget costs earned by the activity.
25% of budget = 88/4 = 22 days Since Jan has 13 days, the complete budget of 2371.88 is earned. But, we need to calculate for another 9 days which fall in Feb: = (9/28) * 2371.88 = 762.39
246
Total Earned Value for the first period: = 2371.88 + 762.39 = 3142.27 If you are transferring information from an external scheduling system to a program using the time method of calculating earned value, the status of the work package should be based on the number of elapsed days for the activity.
If the BE base unit is Hours, the baseline start date is less than the statusdate, and the PMT does not equal the level of effort (LOE), then the percent complete is used to calculate the hours earned. From this the Hours SPI is calculated. This SPI is applied to the remaining results. If the BE base unit is Hours, the baseline start date is less than the statusdate, and the PMT equals the LOE, then the hours earned equals the BCWS Hours, and the SPI is 1, which is applied to the remaining results. If the BE base unit is Hours and the baseline start date is greater than the statusdate, then the percent complete is applied across all results. If the BE base unit is not Hours, then the Dollars method is used.
247
Conclusions
The general conclusion that can be reached from the preceding examples is that the selection of a methodology for earned value calculations can produce large variations in results. If the work packages are generally short in duration or have budgets spread relatively evenly, then the budget method for calculating earned value produces generally acceptable results since progress is based on hours worked rather than budgets or elapsed days. However, if the number of work packages must be restricted and consistency between the planning and earning of budgets is a primary concern, the time method may be the appropriate choice. Changing the method for calculating earned value once a program is underway may have unintended and potentially serious consequences for the measurement of program performance.
248
Error Messages for Loading Actual Costs Entering Actual Costs Manually
Initializing Actual Costs Entering Actual Costs
Overview
Cobra offers a wide variety of options related to the entry of actual costs for a program. For example:
You can enter actual costs at either the cost account or the work package level. You can enter actual costs manually or use a transaction file prepared from information captured in an external system. You can enter actual costs as either cumulative values or current period values.
This chapter contains descriptions of entering actual costs using both transaction files and manual procedures. The chapter concludes with a discussion of some of the program options that affect entering actual costs in Cobra.
Cost account vs. work package level Cumulative vs. current period costs Master program vs. individual programs Key fields vs. codes Budget unit and derived costs Cost classes
250
While detailed planning is important for accurate earned value, it is possible to overdo a good thing. If you were to collect costs at the work package level, you would require a different charge number for each work package, adding a level of complexity that would deter people from creating a detailed plan. The goal in a proper implementation is to provide an environment that is easy to maintain while yielding the information that is required to properly manage the program. In most cases, this goal is met by collecting actual costs at the cost account level. It is important to note that collecting actual costs at the cost account level does not preclude you from reporting to the customer at a higher level. An implementation that stores the actual costs at the cost account level usually uses three cost account key fields. The first two fields are WBS and OBS, and the third key field is the charge number. This allows you to report to the customer in either of the following ways:
Define the customer reporting level as a specific level of the WBS. Add a code on the cost account to represent the customer reporting level.
251
Cost Classes
If you have defined custom cost classes for actual costs, you can display and enter costs using any actual cost class. For example, items such as commitments and accruals can be entered into Cobra. These values can be used for reporting or to improve the accuracy of a forecast. If you are exporting outstanding commitments from your accounting system, these values are cumulative-to-date values. When a commitment is no longer outstanding, a record must be exported or entered into Cobra in order for that account to indicate there is no longer an outstanding commitment. For more information about setting up custom cost classes, refer to Chapter 12, Supplemental Program Information.
CSV (ASCII text, Comma Delimited) DBF (Microsoft Visual FoxPro 5.0) DBF (Microsoft FoxPro 2.0, 2.5, or 2.6)
When you load actual costs through a transaction file, Cobra automatically adds the budget element records, and you do not need to initialize actual costs.
253
Unless a class field is included in the transaction file, all the actual costs loaded will be included in the class specified. If a class field is included in the transaction file, the values supplied in this field override any selection you make in the class field on this dialog box. The Load Actual Costs dialog box contains the following options: Re-create transaction database This option is enabled only when a transaction database exists and allows you to rebuild the database. This is useful in the event the file changes or for some other reason you cannot use the existing transaction file database after you have created the transaction file database. You can rebuild the database by returning to the Load Actual Costs dialog box, selecting the Recreate transaction database option, and then clicking OK. File includes class field Select this option when you want the transaction file to include the class. Notice that when you select this option, Cobra disables the Class field. Class You can select a class to use as the class for the actuals. In this situation, the transaction file must not contain a class field. Calculate results When you select this option, Cobra allows you to select the results you want to calculate when importing the transaction file. Transaction file contains actuals at If you have actual costs at both the WP and CA level, this option specifies which level this file contains. Transaction values This field allows you to select from where to load actual costs. The options are:
254
Use program setting Selecting this option instructs Cobra to use the current setting for the Transaction files contain cumulative-to-date actuals option found on the Program Options dialog box. Cumulative-To-Date Selecting this option instructs Cobra to load actual costs from the cumulative-to-date regardless of the current setting for the Transaction files contain cumulative-to-date actuals option. Current Period Selecting this option instructs Cobra to load actual costs from the current period regardless of the current setting for the Transaction files contain cumulative-to-date actuals option.
Zero unreferenced actuals When selected, Cobra zeros out actual cost records that do not have a corresponding entry in the load actuals transaction file. If the program option Transaction files contain cumulative to date actuals is not selected, this option will be disabled. Selecting this option enables the other two options:
Exclude actuals with these classes The zeroing process skips any actual cost record whose class appears in the list defined by this option. If this option is not selected, the class is not being loaded from the transaction file, and there is more than one actuals class defined at the level being loaded, actuals stored under these other classes will be zeroed out.
Exclusion file You can specify a file that contains a list of actual cost records to be skipped by the zeroing process. The file must be in the same format and have the same column order as the actuals transaction file. This option can be used to zero accruals.
Validate Clicking this button performs the selected validations but does not post data to the Cobra database. Options Clicking this button displays the Load Actuals Options dialog box. This dialog box is an excerpt from the Application Options dialog box. For more information, refer to Chapter 33, Application Options & .ini Settings. If you have to pre-process or modify the data using a custom application, you can have Cobra run your custom application after the data is loaded into the temporary table (ACTRAN.DBF) but before it is loaded into the Cobra tables. This allows you to take advantage of batch processing and the standard interface and customize the load process. To run a custom application
1. On the Status menu, click Load Actual Costs. Select the appropriate program, and click OK. 2. On the Load Actual Cost dialog box, click Options. Cobra displays the Load Actuals Options dialog box. 3. In the Preprocessing actuals custom application text field, enter the full path and name of the custom application to run, and click Save.
255
4. Click Close.
Cost account, work package keys, or code values must be valid. Any transaction dates must be before the program status date. Actual costs must be posted to either open cost accounts or to open work packages. (However, a program option may be set that also allows you to post actual costs to unopen or closed cost accounts and work packages.) Budget elements in the transaction file must correspond to the budget elements that were budgeted to the cost account or work package. (However, there is a program option to allow you to post unbudgeted budget elements.)
Whenever Cobra detects an error during the validation process, a message appears on the screen, and a log of the session is stored in a text file (Loadact.log). You can save this file for further review. After all validations are complete, Cobra takes one of the following actions:
If Cobra detects any errors when validating cumulative actual costs, Cobra asks you to post the corrected transactions.
256
If Cobra detects any errors when validating current period actual costs, Cobra does not post any actual cost data. However, selecting the Post valid transactions option on the Load Actuals Options dialog box allows these actual costs to be posted. The Load Actuals Options dialog box is an excerpt of the Application Options dialog box. For more information, refer to Chapter 33, Application Options & .ini Settings.
You can show the result values on the error log when loading actual costs. This option allows you to determine the magnitude of the errors during actual cost import. To show result values in the log, select the Print values of invalid transactions in the log option from the Load Actuals Options dialog box. As an additional safeguard, each cost record added to the program detail file includes the batch number for the session. You can use the batch number to identify information entered in error.
Use this dialog box to select and order fields to match your .csv file. The Program field is available in the Available Fields list only if you select a master program in which to load actuals. (Since this is not the case in the example shown, the Program field is not displayed.) Cobra provides two formats for the transaction database:
Format 1 With this format, each line of the transaction file contains all the results for that work package in separate columns. Format 2 With this format, each result is displayed on a different line. This is the format that is most frequently used.
257
Based upon the information that you have provided, Cobra creates an Acttran.dbf file. This file is a temporary store for the CSV data before it is loaded into Cobra. If you receive a lot of errors during the loading process, view this file to ensure that the order of the fields is correct.
Actual costs can be entered at either the cost account or work package level. Transaction files can contain either cumulative or current period costs. Transaction files can be in one of two alternate data formats. Transaction files can include optional fields related to transaction dates and cost classes. Transaction files can use either .csv (comma separated values) or .dbf formats.
This section discusses each of these options in turn, concluding with a discussion of the validations Cobra performs while processing transaction files.
258
Data Formats
There are two alternative formats for actual cost transaction files, the choice between them depending largely on which is most convenient to generate from the source system: Format 1 has a file structure similar to the TPHASE table. In other words, the file structure includes one or more numeric fields whose names match the names of the results defined in the budget element file (for example, Direct or Hours). Format 2 has a separate record for each result in a budget element. This format uses a character field Data_type and a single numeric field called Data_value. In this format, the contents of Data_type should match one of the result names in the TPHASE table, to indicate the field to which the value belongs. For either data format, the file structure must include the information that identifies the cost account or work package to which it applies. This information comprises the cost account key plus the work package key. (If actual cost data is to be entered at the cost account level only, the work package key field may be left blank or omitted altogether.) An example might help to explain the difference between the two formats. Assume that the cost accounts in a program have been defined with two cost account key fields. Further, assume that all actuals are to be entered at the cost account level. Finally, assume that the program budget elements include the following results: HOURS, DIRECT, and OHEAD. A transaction file that uses format 1 would look like the following:
Ca1 1.1 1.2 1.3 Ca2 1.7 1.1 1.2 Ca3 Cecode ENG COMP TECH Hours 15 0 35 Direct 187 475 634 Ohead 18 48 63
The Hours field on the second record is zero; this might be because the cost is for a material item. A transaction using format 2 and the same information is shown in the following table:
Ca1 1.1 1.1 1.1 1.2 1.3 1.3 1.3 Ca2 1.7 1.7 1.7 1.1 1.2 1.2 1.2 Ca3 Cecode ENG ENG ENG COMP TECH COMP COMP Data_type HOURS DIRECT OHEAD OHEAD HOURS DIRECT OHEAD Data_value 15 187 18 48 35 634 63
Using format 1 is somewhat more efficient from the Cobra standpoint, but format 2 may be more typical of the form in which actual costs are exported from an external system.
Deltek Cobra User's Guide 259
Optional Fields
Transaction files may or may not contain a date field named Cost_date. If such a field exists, the value in this field is used for the actual cost date. This date is validated to ensure that it is earlier than the status date. Using this date field, you can load actual costs for many periods at one time. You must indicate that the transaction file is a current period transaction file in the program options or the field is ignored. If the Cost_date field is missing, the output dates on all records are set equal to the current status date. The Cost_date field is useful if you want to load many periods of actual costs from a single transaction file. You must set the program option to load actual cost as current period and enter the appropriate date on the transaction record. Another optional field is Class, which can be used to define the cost class for the transaction file. If Class is present, its value overrides the cost class selected by the user for the session.
If you have a code on a cost account or work package to represent the charge number, you do not select CA1, CA2, or WP. You need to select the code file that represents the charge number. Once the user supplies this information, the CSV file is imported into a FoxPro file named Acttran.dbf. This file will be located in a subfolder with the same name as your program under your program directory. For example the path could be \Cobra\Program\Demo. This file may be used to check whether you properly ordered the fields.
260
If the resulting transaction file is structured incorrectly or if the format of the CSV file changes in subsequent sessions, select the option to Recreate transaction database on the Load Actual Costs dialog box and recreate the transaction file with the correct parameters. When Cobra is installed, examples of these transaction files are installed into a subfolder of the same system folder. For example, the path could be \Cobra\System\Demodata\TRN.
261
Because Cobra automatically adds the budget elements when you load actual costs through a transaction file, this procedure is required only when loading actual costs manually. Cobra allows you to initialize actual costs with the following dialog box:
This dialog box displays a list of all the actual cost classes that have been set up for the program. To initialize actual costs
You do not need to perform this procedure if you are entering actual costs using transaction files. 1. On the Initialize menu, click Initialize Actual Costs. 2. Select the appropriate program, and click OK. 3. From the Initialize Actual Costs dialog box, select the actual cost classes to initialize, and click OK. 4. When the initialization is completed, click OK.
Use the list of budget elements on the left side of the tab to display the budget costs for which you want to apply actual costs. (You can also add unbudgeted budget elements, provided that the appropriate program option has been set.) Notice also that Cobra allows you to enter either cumulative or current-period actuals for any cost in a budget element displayed in the grid on the right side of the tab.
262
263
Transaction files contain cumulative-to-date actuals Allows for actual costs transaction files that contain cumulative rather than current period values. The default setting is Yes. Allow posting actual costs to unopen CA/WP Allows you to enter actual costs for unopened cost accounts or work packages (that is, work for which there is no actual start date entered). The default setting is No. Allow posting actual costs to closed CA/WP Allows you to enter actual costs for closed cost accounts or work packages (that is, work for which there is an actual finish date entered). The default setting is No. Accept actuals for unbudgeted budget element Allows you to enter actual costs for unbudgeted budget elements. The default setting is No.
If you are entering actual costs manually, this option allows you to enter actual costs for new budget elements at that time. You must enter the cost class for the new budget elements as well. If you are using transaction files to enter actual costs, this option allows the file to include costs under budget elements that are different from those used to plan the work.
Since this feature allows you to enter actual costs from budget elements that are different from those used to plan the work, if you use forecast method A (Retain EAC), you may get unexpected results. The budget element codes must be attached to a breakdown structure.
Calculated results contained in higher-level budget elements must have been defined by lower-level budget elements.
264
You have indicated the level at which Cobra will calculate EAC for the program. For more detailed information, refer to Chapter 19, Forecasting.
265
266
Chapter 19 Forecasting
Overview Calculating EAC and ETC
Manual Forecasts Statistical Forecasts Initializing Manual Forecasts Performing Forecast Calculations Updating Manual Forecasts Using Retain EAC
Forecast Calculations
Examples of Forecast Calculations How Cobra Spreads ETC
Chapter 19 Forecasting
Overview
Forecasting is not always a necessity for cost control systems using earned value. However, it is a requirement for any report that includes an estimate-at-complete. Cobra allows you to generate forecasts using either statistical or manual entries. For statistical forecasts, Cobra uses a calculated performance factor to generate EAC values. The manual forecasting features allows you to enter a forecast value and then have Cobra recalculate the ETC each month within the estimated dates. Cobra allows multiple forecasts to be calculated/stored at any one time (in addition to a frozen EAC value that can be stored separately). Each of the forecasts is updated automatically each time forecasting is run. Each forecast can use a different forecast method, so that it is possible, for example, to prepare a set of forecasts, each based on a different performance factor. This chapter discusses Cobras forecasting functions and the following operations:
Calculating EAC and ETC Defining the number of forecasts to be maintain and the forecasting methods to be used Initializing your manual forecasts at the start of a program Generating new forecasts based on the latest program data Freezing forecasts Setting program options that affect forecasting
268
Chapter 19 Forecasting
Manual Statistical
Manual forecast allows managers to provide bottom-up estimates without having to make a general assessment about future performance. If the program is being performed exactly on budget (in other words, if there is little or no cost variance) this might not be an unreasonable estimate. In general, however, this will not be the case and if the program has over- or under-spent the budget to date, you might expect this performance to continue. Statistical methods calculate future costs based on a formula that includes variable factors. To arrive at a reasonable ETC for a program, you must start with the total of the time-phased budget (the Budget At Complete, or BAC) for the program and reduce it by the budgeted amount of work already performed (BCWP). You then use some kind of Performance Factor (PF) that allows you to express your expectations about the future performance of the program. Thus, you can represent an ETC calculation that takes into account a performance factor as shown in the following formula:
ETC = PF(BAC - BCWP)
Performance factors evaluate to numbers that are derived from calculations described elsewhere in this chapter. The numbers to which they evaluate have the following meanings: PF = 1 PF < 1 PF > 1 Program is expected to perform the remaining work exactly according to budget. Program is expected to perform the remaining work under budget. Program is expected to go over budget while performing the remaining work.
Manual Forecasts
Manual forecasts allow you to perform bottom-up forecasts in which you update forecasts for work packages and also cost accounts on an individual basis. Manual forecasting methods allow you to initialize your forecasts using your baseline budgets at the start of the contract, and then update the forecasts of specific work packages or cost accounts on an exception basis. Cobra provides two manual forecasting methods: Method M: Manual (retain ETC) Method M prepares a forecast by retaining the current ETC detail values. As the status date progresses, the Cobra deletes the ETC in the current status period, and adds the total-to-date actual cost to get a new EAC value. If the estimated dates for the work have changed, the ETC is moved to those dates and recalculated.
269
Chapter 19 Forecasting
Method A: Manual (retain EAC) With this method, Cobra performs the same actions as in Method M. However, in addition, Cobra keeps the existing EAC constant by adjusting the ETC. Notice, however, that the EAC value being held constant is stored in terms of the base budget unit. Thus, changes in estimated dates may result in a change in the total dollar amount of the EAC, due to a re-rating of the ETC spread. The current forecast method, Retain EAC, works by adjusting a particular budget element based on the actual cost for the same budget element. However, there are times when the budgeted budget element is not performing the work, and the actual cost records contain a different budget element. In this case, Cobra adds the actual cost and the original ETC values to obtain EAC. Thus, the total EAC has increased. You can force Cobra to retain a particular EAC value. To do this, select the program option Scale Retain EAC forecast values to meet CA/WP EAC value. This option performs the operation as retain EAC and then the entire cost account/work package is scaled to match that value; thereby, truly holding an EAC value even if rates have changed. For more information on using the Retain EAC, refer to the section Using Retain EAC later in this chapter.
Statistical Forecasts
The average performance-to-date can be calculated simply by dividing the cumulative earned value expressed in hours by the cumulative actual hours. However, this does not help us estimate how much the remaining portion of the project will cost. In order to arrive at a realistic estimate of what the project will actually cost at completion, you must apply a performance factor to the remaining work. This performance factor can be calculated using the Cost Performance Index (CPI). CPI is calculated by dividing the Budgeted Cost of Work Performed (BCWP) by the Actual Cost of Work Performed (ACWP) as shown in the following formula:
CPI = BCWP/ACWP
A CPI value that is greater than one reflects favorable performance; conversely, a value that is less than one reflects unfavorable performance. For example, assume that a CPI of 0.85 has been calculated indicating that for every dollar being spent, only 0.85 dollars worth of work is getting done. In this case, dividing the project target cost by the CPI of 0.85 provides a realistic cost estimate that the remaining work to be performed on the project will continue with the same cost overruns. The remaining work to be performed is called the Estimate To Compete (ETC). For better forecasting, this value can be multiplied by 1/CPI. In other words, the original formula:
EAC = (BAC BCWP) + ACWP
270
Chapter 19 Forecasting
Statistical forecasts allow you to calculate revised ETC and EAC values without manual input. For each statistical forecast you can define how the performance factor is calculated as follows: Method 1: Performance factor = 1 Assumes that the program will perform all remaining work according to budget. Method 2: Performance factor = 1/CPI cum to date (where CPI = BCWP/ACWP) Assumes that all remaining work will be performed at the same rate of efficiency (cost performance index or CPI) as has been achieved so far. For example, assume that a work package has incurred actual cumulative costs of $5,000 while only earning $4,000 of its budget. This results in an unfavorable CPI of 0.8 (4,000/5,000) for the work package. Thus, Cobra arrives at a work-package performance factor of 1.25 as follows: Performance factor = = 1/0.8 1.25
Method 3: Performance factor = 1/CPI last status period Assumes that all remaining work will be performed at the same rate of efficiency as has been achieved in the current fiscal period. Method 4: Performance factor = 1/CPI last three status periods Assumes that all remaining work will be performed at the same rate of efficiency that has been achieved in the current plus two previous fiscal periods. Method 5: Performance factor = 1/CPI last six status periods Assumes that all remaining work will be performed at the same rate of efficiency that has been achieved in the current plus five previous fiscal periods. Method 6: Performance factor = user-defined value Allows you to enter a performance factor at the time new forecasts are generated. Method 7: Performance factor = 1/((a * CPI) + (b * SPI)) (where a + b = 1.0) Allows you to define a performance factor that reflects the cumulative CPI and SPI and in which the relative weighting of CPI and SPI are user-definable. This method allows you to indicate the relative importance of cost and schedule performance when calculating performance factors. For example, assume that the cumulative CPI for a work package is 1.5 and the cumulative SPI is 0.6. You want to assign a relative weighting of 75% to the cost performance and 25% to the schedule performance. As a result, Cobra calculates a work-package performance factor of 0.889 as follows: Performance factor = = = = 1/((1.5 * 0.75) + (0.6 * 0.25)) 1/((1.125) + (0.15)) 1/1.275 0.889
271
Chapter 19 Forecasting
By contrast, if you assume the same values for CPI and SPI but assign a weighting of 25% to cost performance and 75% to schedule performance, Cobra calculates a work-package performance factor of 1.212 as follows: Performance factor = = = = 1/((1.5 * 0.25) + (0.6 * 0.75)) 1/((0.375) + (0.45)) 1/0.825 1.212
Method 8: Performance factor = 1/(CPI * SPI) (where SPI = BCWP/BCWS) Allows you to define a performance factor based on both the cumulative cost performance index (CPI) and the cumulative schedule performance index (SPI). For example, assume that a work package originally budgeted at $10,000 is half way through its schedule and has a cumulative BCWS of $5000. Thirty-percent (30%) of the work package budget has been earned, resulting in a cumulative BCWP of $3000. Cumulative actual costs, however, are $2000. Thus, the work package has an unfavorable SPI of 0.6 (3000/5000) and a favorable CPI of 1.5 (3000/2000). As a result, Cobra arrives at a work-package performance factor of 1.111 as follows: Performance factor = 1/(0.6 * 1.5) = 1/0.9 = 1.111
Method P: Multiple performance factors This method allows you to have multiple performance factors. With the multiple performance factor feature you can have Cobra calculate a different performance factor depending on how much of the program has been completed. Cobra determines how much of the program has been completed by comparing the cumulative BCWP to the BAC. When you define multiple performance factors for a forecast, you can define up to four ranges of completion over which a particular performance factor takes effect. For example, if you want to set up a forecast that uses a performance factor of 1 (forecast method 1) for the first third of the work, a user-defined performance factor (forecast method 6) over the second third of the work, and the cumulative CPI (forecast method 2) over the final third you can use the following definition: Percent Complete Range 0 to 33 34 to 66 67 to 100 Forecast Method 1 6 2
272
Chapter 19 Forecasting
If you change the scope of work by adding a budget element. If you set up a forecast based on a breakdown structure, or make changes to the breakdown structure level at which a forecast is calculated. If you change the level at which actual costs are collected.
To initialize manual forecast costs in Cobra, use the Initialize Forecasts dialog box:
The list in this dialog box is empty unless you have defined at least one manual forecast class. With this dialog box, you can select a forecast to initialize and then select the following options: Copy Baseline Schedule Dates to Estimate Dates You can replace any estimated dates (start and finish dates for unopened work or finish dates for opened work) with the scheduled dates used when budgeting.
273
Chapter 19 Forecasting
Initialize All You can initialize forecasts for all costs. Initialize only those items with no previous forecast You can initialize only those costs that have never been initialized. (This option allows you to initialize forecasts for new budget elements without disturbing the forecast records that already exist.) To initialize a manual forecast
1. On the Initialize menu, click Forecast Initialization. 2. Select the program you want to initialize, and click OK. 3. When Cobra displays the Initialize Forecasts dialog box, select the forecast cost class to initialize. 4. Select the desired options, and click OK. Cobra performs the procedure, displaying a message when the operation is complete. 5. Click OK to continue.
Use this dialog box to calculate one or more classes of forecast costs. If you calculate a forecast using a statistical method, you can also indicate if you want Cobra to recalculate the performance factors before generating new forecast costs. Notice that Cobra displays the forecasting options in effect for the program. To perform forecast calculations
1. On the Status menu, click Calculate Forecast. 2. Select the program you want to process, and click OK. Cobra displays the Calculate Forecasts dialog box showing the forecast classes set up for the program. 3. Select one or more forecast cost classes to calculate, indicate if you want to recalculate performance factors at this time, and click OK. Cobra performs the procedure, displaying a message when the operation is complete. 4. Click OK to continue.
274
Chapter 19 Forecasting
If the forecast you are calculating uses a user-defined performance factor, Cobra prompts you to enter that factor at the appropriate level of program information before performing the calculation. To indicate that the program is likely to overspend its budget on the remaining work, enter a performance factor greater than 1; to indicate anticipated under-spending, enter a performance factor less than 1.
Using this dialog box, you can update forecast costs in the following ways:
You can update either the ETC or the EAC for an existing forecast cost. You can modify the spread for an existing forecast cost. You can add a new budget element to existing forecast costs. You can delete an existing budget element from existing forecast costs. Adding or deleting a budget element for a forecast cost has no effect on either the budgeted or actual costs for a work item.
When you choose to update manual forecast costs, Cobra displays the current ETC and EAC values for the selected budget element:
275
Chapter 19 Forecasting
Note that to specify a new value for this cost, you use either the base budgeting unit for the budget element or any single-source result directly derived from the base budgeting unit. Once you have entered a new ETC or EAC for the budget element, Cobra allows you to spread this cost using the same features available for spreading a budget cost. To update a manual forecast
1. On the File menu, point to Open, and click Program. 2. Select the program you want to update, and click OK. 3. Take one of the following actions: Double-click the cost account or work package you want to update. Select the cost account or work package you want to update, and click the Details button. Right-click the cost account or work package you want to update, and click Details on the context menu. Select the cost account or work package you want to update, and click Details on the Edit menu. 4. Click the Forecast tab. 5. Take one of the following actions: Select the budget element you want to update, and click Update. Right-click the budget element you want to update, and click Update on the context menu. Select the budget element you want to update, and click Update on the Edit menu. Cobra displays the current ETC and EAC values for this budget element. 6. Update the values for the budget element, and click OK. Cobra allows you to spread the cost using the Time-phase dialog box. For more information about using the Time-phase dialog box, refer to Chapter 13, Planning. 7. When the information for the spread is correct, click Save. Cobra returns you to the cost account or work package Details dialog box. 8. Click Close.
Each time you advance the fiscal calendar for a program, you must recalculate the manual forecasts to remove ETC records for previous periods and respread forecast costs. Once forecasting has been calculated for the current period, it is not necessary to calculate again.
276
Chapter 19 Forecasting
Select the cost account or work package you want to update, and click the
Details button.
Right-click the cost account or work package you want to update, and click
Details on the context menu.
Select the cost account or work package you want to update, and click Details
on the Edit menu. 4. Click the Forecast tab. 5. Take one of the following actions:
Select the budget element you want to update, and click Update. Right-click the budget element you want to update, and click Update on the
context menu.
Select the budget element you want to update, and click Update on the Edit
menu. 6. When the information for the spread is correct, click Save. Cobra returns you to the cost account or work package Details dialog box. 7. Click Close.
277
Chapter 19 Forecasting
8. Click Close.
Now that you have the class data setup, you need a forecast or ETC data that you want to retain. At the beginning of the program, the forecast is usually equal to the budget. Forecast Initialization is a process that copies budget data into manual forecasts. To initialize the forecast
1. 2. 3. 4. 5. 6. On the Initialize menu, click Forecast Initialization. Open the appropriate program. Select the manual Retain EAC forecast class. Select to Initialize All. Click OK. When prompted to update the EAC, click Yes.
278
Chapter 19 Forecasting
The Scale Retain EAC forecast values to meet CA/WP EAC value option allows you to update the EAC value on the program and manually enter the EAC you wish to retain. If there are no actual costs in your program, the EAC will equal BAC after initializing the forecast. However, if you have already loaded actual costs at this point, the EAC will equal BAC+ACWP. To update the EAC value on the program, you will need to run a SQL query to set EAC = BAC. To set EAC=BAC
1. On the System menu, point to File Maintenance, and then click SQL Command Utility. 2. Click Open, navigate to the \Cobra\System\Scripts\ folder, and then select the SetEACtoBAC.SQL script 3. Using all uppercase letters, change the program name in the script to your program name. 4. Click Execute.
You are now ready to calculate the forecast. Calculate Forecast performs the following processes:
1. Removes ETC records before the status date. 2. Adjusts the time-phased spread within the estimate dates. 3. Adjusts the to go budget unit (for example, hours) one budget element at a time to retain the EAC budget unit. 4. Using a process similar to Top Down Planning, the time-phase data is scaled by adjusting all of the results so that the currency EAC value equals the EAC on the Program form.
This final process retains the total EAC value even when different rates are applied because either the estimate dates are different from baseline dates or actual costs exist for budget elements not in the ETC. If you are running a CPR, you may see a variance at complete because the G&A is using a different rate than the budget. To further adjust/update the EAC, you can right click the Program form to update the value and then calculate the forecast so that Cobra will adjust the time-phase records to match the value. If you add a new work package/cost account, you must initialize the forecast or spread ETC records because the Scale Retain EAC forecast values to meet CA/WP EAC value option adjusts existing time-phase records. If no ETC time phase records exist at the time you select to update the EAC value, Cobra issues a warning. If you are presented with the task of updating time-phased ETC values, use the Tphase dialog box or the interactive CAP to adjust the time phased data before updating the EAC value on the program form. The reports total data from the Tphase table. Updating the EAC value on the Program form does not change the time-phase data or report output. You must calculate the forecast to force the time-phased data to equal the EAC value on the Program form.
279
Chapter 19 Forecasting
A customer forecast (Cobras Retain EAC method is popular for customer reports) A statistical forecast for the statistical feasibility of the manual forecast Support of further analysis based on different rates or date sets. Defining multiple forecasts increases the size of your program detail files. To discard unwanted forecast records, delete the cost class for that forecast.
For manual forecasts, you might want to maintain one forecast for customer reports, one for staffing requirements, and still another that is imported directly from a schedule. For statistical forecasts, Cobra can calculate performance factors automatically based on the following:
The program Cost Performance Index (CPI) , where CPI = BCWP / ACWP The program Schedule Performance Index (SPI), where SPI = BCWP / BCWS A combination of CPI and SPI values A user-defined value
These performance factors can be calculated from different program levels. For example, you can have one set of statistical forecasts in which each work package ETC is calculated from that work package performance factor while another set of statistical forecasts uses a single performance factor calculated at the program level. Statistical forecasts can also calculate performance factors at any level of any breakdown structure attached to the cost account key. By changing the definition of the various forecasting cost classes, you can indicate which rate sets Cobra should use when generating forecast values for calculated costs. This feature allows you to maintain multiple sets of forecasts that use different assumptions about future labor rates.
280
Chapter 19 Forecasting
To report on multiple forecasts for a single program, you must set up alternate ETC or EAC cost reporting sets using those forecast cost classes. It is possible, however, to define a single cost reporting set that includes multiple forecast cost classes. For example, you might forecast labor costs using method M (retain ETC) and forecast material costs using method A (retain EAC). You could then modify the EAC cost reporting set to include both forecast classes. For more information on setting up custom cost reporting sets, refer to Chapter 12, Supplemental Program Information. It is also possible to change a forecast definition on a temporary basis. This is useful in cases where you want to make a global revision to forecasts that have already been manually entered. For example, assume that you have been maintaining a manual forecast that has become increasingly outdated. You do not, however, want to update each forecast cost individually. By changing the forecast temporarily to a statistical method, you can generate new forecasts using a performance factor. This will result, of course, in the loss of the original manual forecasts. Once the revised forecasts have been generated, return the forecast to a manual method so that you can continue entering forecasts on an exception basis.
For each custom forecast cost class, you can specify a two-character name, the type (forecast), the input level (cost account or work package), and the following information: Description The description of the selected forecast
281
Chapter 19 Forecasting
Method 1: Performance factor = 1 Method 2: Performance factor = 1/CPI cum to date (where CPI = BCWP/ACWP) Method 3: Performance factor = 1/CPI for current status period Method 4: Performance factor = 1/CPI last three status periods Method 5: Performance factor = 1/CPI last six status periods Method 6: Performance factor = user-defined value Method 7: Performance factor = 1/9 ((a * CPI) + (b * SPI)) where a + b = 1.0 Method 8: Performance factor = 1/(CPI * SPI) where SPI = BCWP/BCWS Method M: Manual (retain ETC) Method A: Manual (retain EAC) Method P: Multiple performance factors depending on how much of the program has been completed. (Cobra determines how much of the program has been completed by comparing the cumulative BCWP to the at-complete BCWS for all currency-denominated costs.) This allows you, for example, to set up a forecast that uses a performance factor of 1 for the first half of a program and uses a performance factor based on the cumulative CPI thereafter.
PF Level For statistical forecasts (methods 2 through 8 and P), Cobra allows you to define the level at which the calculations of CPI and SPI should be made. You can have performance factors calculated at either the work package, cost account, or program level. If there are breakdown structures associated with the program, it is also possible to calculate performance factors at any level of a breakdown structure as well. With this feature you can, for example, generate one set of forecast costs in which performance factors are calculated separately for each individual work package. You can then calculate another set of forecast costs that reflect the performance of the program as a whole. And then, you can calculate a third set of forecasts using performance factors based on a particular level of your WBS. Cobra always calculates the performance factor of an unopened cost account or work package as 1 when calculating performance factors at the cost account or work package level. If performance factors are calculated at a higher level, the higher-level performance factor is applied to all lowerlevel work packages or cost accounts regardless of their status. PF Factors If the forecast uses method 7, you must define the relative weightings for CPI and SPI. The combined weighting of CPI and SPI must equal 1.0. Date Set You can indicate whether the forecast should be based on the default dates, early dates, or late dates. This is a useful feature for recreating different what-if forecasts. If you do not specify a date set, Cobra uses the default date set for the program.
282
Chapter 19 Forecasting
Rate File You can define an alternate rate file for calculating derived costs, a useful feature for creating different what-if forecasts. If you do not specify an alternate rate file for the forecast, Cobra defaults to the rate file assigned to the program. Read Only You can make the cost class read-only in the Program form. This is useful for protecting a particular cost class such as the customer forecast. This setting affects only the Program form. None of the global processes use this setting. Included Classes You can indicate which budget and actual cost classes should be considered when calculating performance factors and generating forecasts. Note that included budget classes should match those included in the performance (EV) cost class, and must be at the same input level as the forecast. For forecast cost classes, Cobra uses included budget classes for initializing manual forecasts or for calculating SPI for statistical forecasts. Included actual classes are used for manual forecasts based on retaining EAC or for calculating the ACWP component of CPI for statistical forecasts. Percent Complete Ranges If the forecast uses Method P (Percent complete ranges), you must define up to four ranges over which a particular forecast method takes effect. For example, you can specify that Cobra use the forecast methods as follows:
Method 1 for items that are 0 to 33% complete Method 6 for items that are 34% to 66% complete Method 2 for items are 67% to 100% complete To add a custom forecast cost class
1. On the System menu, click Program Directory. 2. When Cobra displays the Program Directory dialog box, select the program you want to update from the Program grid. 3. Click the Cost Classes tab. 4. Take one of the following actions: Right-click the Class grid, and click Add on the context menu. Double-click an empty row in the Class grid. Select an empty row, and click Add Cost Class on the Edit menu. Cobra displays the Add Class dialog box. 5. Enter the code, type, and input level for the class, and click OK. Cobra returns to the Cost Classes tab and allows you to enter a description, a forecast method and parameters, a date set, an alternative rate file, and the included budget and actual classes. 6. When the information for the cost class is complete, click Save.
283
Chapter 19 Forecasting
3. Click the Cost Classes tab. 4. Take one of the following actions: Right-click the Class grid, and click Delete on the context menu. Select an empty row, and click Delete Cost Class on the Edit menu. 5. Right-click the forecast cost class you want to delete, and click Delete on the context menu. 6. When Cobra prompts you to confirm the operation, click Yes to continue.
Forecast Calculations
Most forecast methods depend on accurate values of cumulative ACWP and BCWP and on the latest estimated dates for the remaining work in the program. As a result, most program managers generate new forecasts only after all schedule status information has been updated, earned value has been calculated and posted, and actual costs have been entered. If you are generating a statistical forecast (Methods 1 8 or P), Cobra allows you to calculate new performance factors. If this is the first time you are generating statistical forecasts for the program, Cobra automatically initializes the forecast for the existing budget (BCWS) for spreading purposes. For subsequent forecasts, you can have Cobra spread ETC according to either the existing ETC spread or the budget spread. (Refer to the section Program Options for Forecasting later in this chapter for more information.)
284
Chapter 19 Forecasting
If you are generating a manual forecast (Methods A or M), you do not need to recalculate performance factors for the program since they are not used. If this is the first time you are preparing a manual forecast for the program, however, you must make sure that you have initialized the forecast first. (See the previous section Initializing Manual Forecasts for more information.) When a programs status is advanced to the next period, Cobra logs the EAC data at the program, CA, and WP levels.
At the end of the first month you advance the status date one period, and indicate that 10% of the work has been completed. You calculate and post an earned value of 100 hours for the work package, and enter actual costs of 200 hours. At this point, we can see how Cobra calculates four different types of forecasts, based on the following methods:
Method 1: Performance factor set to 1 Method 6: User-defined performance factor (0.9) Method A: Manual forecast (retain EAC) Method M: Manual forecast (retain ETC)
Method 1: Performance factor set to 1 Cobra recalculates the work package ETC by subtracting any earned portion from the original budget and assuming that any remaining work will be performed according to the budget. This results in a forecast ETC of 900 hours and a forecast EAC of 1100 hours (ETC plus actual costs). Cobra then prorates this new ETC over the remaining periods for the work package as follows: Feb04 476.46 Mar04 211.78 Apr04 105.88 May04 105.88
Method 6: User-defined performance factor (0.9) In this case, Cobra uses a user-defined performance factor of 0.9, which indicates that the remaining work is expected to be performed at 90% of the cost of the original budget. This performance factor results in a forecast ETC of 810 hours for the work package and a forecast EAC of 1010 hours. Cobra spreads this ETC as follows: Feb04 428.81 Mar04 190.59 Apr04 95.30 May04 95.30
285
Chapter 19 Forecasting
Method A: Manual forecast (retain EAC) When generating manual forecasts, Cobra ignores any value earned by the work package. With this method, the previous EAC (1000 hours) is retained and a new ETC is calculated by subtracting the actual costs (200 hours) from that figure. The result is a forecast ETC of 800 hours, which is initially spread as follows: Feb04 423.52 Mar04 188.24 Apr04 94.12 May04 94.12
Method M: Manual forecast (retain ETC) For this method of generating forecasts, Cobra simply looks at the remaining ETC of the work package and adds any actual costs already incurred. In this example, the calculation results in an EAC of 1050 hours (850 hours of remaining budget plus 200 hours of actuals). Feb04 450.00 Mar04 200.00 Apr04 100.00 May04 100.00
Method A: Manual Forecast (Retain EAC) Assuming no user intervention, the following values are calculated. ETC = Remaining spread ETC = 200 Method A: Manual Forecast (Retain EAC) Assuming no user intervention, the following values are calculated. EAC = 1000 ETC = EAC ACWP = 1000 900 = 100
286
Chapter 19 Forecasting
Method 1: PF = 1 This method always calculates ETC by subtracting BCWP from BAC, which implies that performance is following the budgeted schedule (that is, assumes a performance factor of 1): ETC = 1000 700 = 300 EAC = 900 + 300 = 1200 Method 2: PF = 1/CPI cum to date Uses the cumulative-to-date CPI, which trends ETC based on the total past performance of work completed. PF = 900/700 = 1.2857 ETC = 1.2857 * 300 = 386 EAC = 900 + 386 = 1286 Method 3: PF = 1/CPI last status period Method 3 calculates a performance factor using a CPI based on the most recent fiscal period (in the following example, period 8): PF = 150/100 = 1.5 ETC = 1.5 * (1000-700) = 450 EAC = 900 + 450 = 1350 Method 4: PF = 1/CPI last three status periods Method 4 calculates a performance factor using a CPI based on the three most recent fiscal periods (in the following example, periods 6, 7, 8): PF = 375/275 = 1.3636 ETC = 1.3636 * 300 = 409 EAC = 900 + 409 = 1309 Method 5: PF = 1/CPI last six status periods Method 5 calculates a performance factor using a CPI based on the six most recent fiscal periods (in the following example, periods 3, 4, 5, 6, 7, 8): PF = 700/525 = 1.3333 ETC = 1.3333 * 300 = 400 EAC = 900 + 400 = 1300 Method 6: PF = user-defined value Method 6 allows the user to input a PF value. In this example, assume that the user entered a value of 1.1: PF = 1.1 ETC = 1.1 * 300 = 330 EAC = 900 + 330 = 1230 Method 7: PF = 1/(a*CPI) + (b*SPI) For this method, the calculation of the performance factor is based on cumulative-to-date SPI and CPI, allowing the user to define what proportion of each should be used, where a and b are the proportional factors and a + b = 1. In this case, assume the user has set both a and b to 0.5: PF = 1/((.5 * 700/900) + (.5 * 700/800)) = 1.21 ETC = 1.21 * 300 = 363 EAC = 900 + 363 = 1263
287
Chapter 19 Forecasting
Defining a as zero and b as 1 results in the following calculations: PF = 1/(0 + (700/800)) = 1.143 ETC = 1.143 * 300 = 343 (342.86) EAC = 900 + 343 = 1243 Method 8: PF = 1/(CPI * SPI) This method provides a worst-case scenario by multiplying the cumulative-to-date performance indices together, thereby heightening the effect of cost and schedule variance. PF = 1/((700/900) * (700/900)) = 1.653 ETC = 1.653 * 300 = 496 EAC = 900 + 496 = 1396 Method P: Multiple performance factors This method allows for changing the calculation of the performance automatically depending upon the percent complete of the level at which the performance is being calculated. Cobra determines this percentage using the following formula: Percent complete = 100 * (BCWP/BAC) For this example, assume the following ranges and methods have been defined:
Range Method
0 25 26 80 81 100
Method 1 (PF=1) Method 2 (PF=1/CPI) Method A (Retain EAC, a manual forecasting method)
The current percent complete of the work package is calculated as follows: Percent complete = 100 * (700/1000) = 70 As a result, Cobra uses method 2 and calculates the EAC as 1286.
288
Chapter 19 Forecasting
Cobra attempts to retain the current spread profile when the new forecasts are spread. The profile used depends on both the existence of a current ETC spread and upon the setting of the program option that allows users to use the current BCWS spread for forecast spreads. If there is no current ETC spread or if the program option is set to spread according to the BCWS spread, the profile is generated from the BCWS spread profile. The included budgets for the forecast currently being spread are totaled for the budget element by date, and the period budget values are totaled and normalized into percentages, which make up the curve point values. There are as many points in the profile curve as there are periods in the budget detail, and Cobra stretches or shrinks the curve as necessary if the dates for the work are adjusted at a later date. Cobra contains special algorithms that preserve the previous spreading of ETC, if at all possible. These are as follows:
If only the performance factor has changed, the previous spread is retained and the new ETC is prorated against it. If the dates have changed but the number of fiscal periods is unchanged, the previous profile is simply shifted to match the new dates and is re-rated. If the new dates span a different number of fiscal periods than the budget, Cobra attempts to reproduce the existing curve within the new dates. This may result in a stretching or shrinking of the curve, based on whether the number of fiscal periods increases or decreases.
The spread is done by calculating the percentage of the ETC that will go into each of the periods. This is done by mapping the number of periods to be spread into over the number of periods currently making up the profile weighted by the profile values that are normalized as cumulative percentages (total to 100). Then the number of the period to spread is divided by the total number of periods to be spread into and multiplied by the number of profile points to get a factor. The factor is made up of an integer value and a modulus. The integer value represents the profile point after which the spread point will fall. The modulus is the percentage of the difference between the new two profile points. For example, assume the following budgeted and forecast costs before statusing:
1 BCWS ETC 2 Periods 3 4 5 Totals
100 100
200 200
300 300
200 200
After one period, assume that ETC has been calculated as follows: ETC = BAC BCWP = 1000 50 = 950 This results in the following cost data:
Periods 1 BCWS BCWP ACWP ETC 2 3 4 5 Totals
100 50 100
200
300
200
211
317
211
289
Chapter 19 Forecasting
Now, if the estimated finish date for the work package had been pushed back one period (to take the poor performance into account), the spread would be:
Periods 1 BCWS ETC 2 3 4 5 6 Totals
100
200 95
300 190
200 285
200 190
Note, however, that the profile used depends on how much has been earned. Because the earned value was less than the amount of the first period budget, the entire budget profile was used. If, however, the full amount had been earned, the profile used would have been generated from the last four periods of budget. For example, assume a performance factor of 1 and the following cost data:
Periods 1 BCWS BCWP ACWP 2 3 4 5 6 Totals
200
300
200
200
First, the spread profile curve is created. It is a four-point curve made up of the values of the last four budget amounts: 200, 300, 200, and 200, which total to 900. The profile therefore is:
If expressed as a cumulative curve: Period 2 .222 Period 3 .555 Period 4 .777 Period 5 1.0
The ETC profile is then calculated by determining each spread point. First spread point: Factor = 4 * (1/5) =.8 Integer =0 Modulus = .8 Percent = 0 + (.8 * (.222 0)) = .178 Second spread point: Factor = 4 * (2/5) = 1.6 Integer =1 Modulus = .6 Percent = .222 + (.6 * (.555 .222)) = .422
Deltek Cobra User's Guide 290
Chapter 19 Forecasting
Third spread point: Factor = 4 * (3/5) = 2.4 Integer =2 Modulus = .4 Percent = .555 + (.4 * (.777 .555)) = .644 Fourth spread point: Factor = 4 * 4/5 = 3.2 Integer =3 Modulus = .2 Percent = .777 + (.2 * (1 .777)) = .821 Fifth spread point: Factor = 4 * (5/5) = 4 Integer =4 Modulus =0 Percent =1 These spread points are then multiplied by the ETC amount to get cumulative spread values for the ETC, and the interval values are then obtained by subtraction of the previous value:
Periods 1 BCWS ETC 2 3 4 5 6 Totals
100
200 160
300 220
200 200
200 160
Freezing Forecast
Up until this point, the forecast data discussed is an ETC value or the to go forecast. Each period as you advance the calendar, last periods forecast is deleted. To retain a historical forecast to compare actual costs to a forecast at some time in the future, Cobra provides a utility that allows you to freeze a forecast. When forecasts are frozen, the loading of actual costs or forecast calculations do not affect the frozen forecast. This option is very similar to what is known as gated actuals; where the forecast does not include the most current period actual costs. When a forecast is frozen, the forecast and actual cost classes selected are copied to a new frozen forecast class. The frozen forecast can be updated selectively over time. Before freezing a forecast, you must create a forecast class that uses the Frozen Forecast method as shown below.
291
Chapter 19 Forecasting
Once you have verified that a particular forecast is correct, you can freeze that forecast into the new Frozen Forecast class using the Freeze Forecast dialog box.
The Freeze Forecast dialog box allows you to freeze EAC for a selected forecast class using the following controls:
Program Contains a list of programs from which you can select. Description Displays the description of the selected program. Forecast Class Contains a list of forecast classes that have been set up for the selected program. This class along with the included actuals class will be copied into the Frozen Forecast class. Frozen Forecast Class Contains a list of forecast classes that use the method Frozen Forecast. You can select the frozen forecast class for which you want to freeze.
292
Chapter 19 Forecasting
Included Actual Classes Contains a list of the included actual classes for that forecast. You can select any class that is the same level or lower than the frozen class. In other words, if you have a frozen forecast class at the cost account level, you can freeze a work package level forecast with cost account level actual class. Criteria Allows you to choose whether you want to freeze the forecast for an entire program, a selected cost account, or a selected work package. Selection If you select a cost account or work package in the Criteria field, you can click the ellipsis at the right edge of this field to select the cost accounts or work packages for which you want to freeze the forecast for.
It is important to note that once a forecast has been frozen, some reporting issues may become more complex. For example, it is possible that the difference between actual costs and the forecast costs will increase over subsequent periods, resulting in reports that show divergent curves for ACWP and EAC. It is also possible for actual costs to exceed EAC. In addition, when updating a frozen forecast by selecting specific cost accounts, the "gate period" will no longer be consistent for the entire program. To freeze forecast
1. On the Tools menu, click Freeze Forecast. 2. On the Freeze Forecast dialog box, select Program and the name of the Forecast Class to freeze. 3. Enter the information for the operation, and click OK. 4. When asked to confirm the operation, click Yes. 5. When the operation is completed, click OK.
293
Chapter 19 Forecasting
You can set the following options from this tab. Spread ETC according to BCWS or Existing ETC spread Allows you to specify whether subsequent forecast spreading should be based on the current budget spread or the previous spread defined by that forecast. If no previous ETC spread exists, Cobra uses the budget spread as its basis for forecasting. The default setting is to base new spreads on an existing ETC spread. Scale Retain EAC forecast values to meet CA/WP EAC value Allows you to force Cobra to retain a particular EAC value. For more information on the above option, refer to the section Manual Forecasts earlier in this chapter. To set program options related to forecasting
1. 2. 3. 4. On the System menu, click Program Options. Select the program for the operation. Click the Forecasting tab. Set the appropriate options, and click Save.
294
Report Properties
Properties Selection Criteria Saved Options Report List Working with Report Properties
Overview
The reporting features in Cobra offer a rich and varied set of functions. Included with each package is an extensive set of standard reports. Many of these standard reports are designed to satisfy particular EVMS reporting requirements, including format requirements for CPR, CSSR, and NASA 533. Graphic reports, including plots, histograms, and barcharts, allow program information to be displayed graphically and can be used for management presentations. Other reports have been designed as cost account or work package worksheets or to keep track of data files such as fiscal calendars, rate files, and breakdown structures. Cobra provides two types of standard reports: spreadsheet reports that allow you to define the contents and appearance of the report using a special wizard and FoxPro reports, which use the generating report facilities found in Microsoft Visual FoxPro. In addition, Cobra allows you to create a Cost Account Summary report directly from the Program form. The following sections of this chapter discuss generating and working with each of these types of reports. This chapter also provides a discussion of report properties, which can be used by experienced users to create and maintain customized reports.
Spreadsheet Reports
For a number of standard reports, Cobra features the Spreadsheet Wizard, an easy-to-use report conditioning function that provides you with direct control over the organization, contents, and format of the report at run-time. In many cases, you will find this facility is all that is needed to produce suitable reports and that further customization is not needed. In the General Reports dialog box, Cobra indicates which reports are spreadsheet reports by displaying an S next to the report description:
You can use the Class field on this dialog box to limit the list of reports that are displayed. (For more information about assigning reports to a class, refer to the section Report Properties later in this chapter.)
296
When you run a report using the Spreadsheet Wizard, Cobra guides you through the process of defining various report parameters criteria for subtotaling, calendar sets, report format, and so on. Once you have entered all the information about report parameters, Cobra displays the results in a spreadsheet window:
From this window, you can continue to modify the appearance of the report, save the report as an .xls file for import into applications such as Microsoft Excel, save as HTML for your intranet, or send the report to an output device such as a printer. You can also use the Print Preview command in this window to see exactly how the report will appear when it is printed: For a complete description of the features available in a spreadsheet window, access the online Help system in that window.
Report criteria Fiscal calendar sets Cost reporting sets Report styles Report actions
297
When you complete a page of the wizard, click Next to move to the next page. On the last page of the wizard, Cobra enables a Finish button. When you click Finish, Cobra creates your spreadsheet report. The following sections describe each page of the Spreadsheet Wizard.
Report Criteria
The Report Criteria page of the Spreadsheet Wizard allows you to define multiple criteria for generating subtotals in spreadsheet reports:
You can have report subtotals based on one or more of the following data structures:
Program codes (listed for master programs only) The cost account (the combined cost account key) Any single cost account key field (For example: WBS, OBS, or etc.) & a level of the structure Codes on key fields The work package (the combined cost account and work package key) The work package key field and a level The budget element (resource code) The budget element key field and a level Select budget element if you want to roll up the budget element structure.
Any code on a breakdown structure that validates a key field (example: IPT Leader or CLIN) Any code or breakdown structure assigned to a cost account or work package Any code on a breakdown structure that validates a code on the cost account or work package
298
Any result for the budget element such as hours, direct, overhead, FTEs, and etc. Cobra requires that you define a higher-level subtotal before you define a lower-level subtotal. For example, if you are specifying both cost accounts and work packages, you must specify the cost account (higher-level element) before you specify the work packages (lower-level elements).
If you select a breakdown structure or a key field attached to a breakdown structure, you can indicate which structure level will be used for the subtotal. Alternatively, you can simply subtotal on each key field encountered without lower levels being rolled up into higher levels. To generate subtotals for every key field occurrence, set the hierarchical level to 0. For each criterion, you can specify that a subtotal generate a page break when the report is produced. If you choose to have report subtotals that are based on the results calculated by a budget element, Cobra enables a special Result Wizard that allows you to specify user-defined results. For more information about this feature, refer to the section Using the Result Wizard later in this chapter.
The codes are displayed below the criteria representing the breakdown structure and identified by the structure name followed by a period followed by the code name. For example, if you create a code field named IPT Leader in the WBS breakdown structure, WBS.IPT Leader is displayed in the Criteria list as shown in the illustration above. You can also disable subtotaling from printing for the following reports:
533M 533Q
CAPCUM CAPFTE
CAPTREND CAP_RSLT
CSSR CSSR_97
299
BUD-ACT CAP
CPR_97 CPR_OTB
CPR4 CPRNONAD
CUMTREND ICSR_C
The Sub-Total column appears in the grid only if the report supports user-defined subtotaling. When you select a Criteria and move off the criteria cell, the Sub-Total checkbox is automatically selected. To disable subtotaling, clear the checkbox. Even though you can select to subtotal the last criteria on the Criteria grid, subtotals for the last criteria never appear on the report.
You can specify the reporting periods to be used for the report by using one of two methods:
Select a calendar reporting set from the program fiscal calendar. Manually select reporting periods from the periods defined and labeled in calendar set 07.
You can also select the option to include only those values that fall within the selected reporting periods.
300
You also have the opportunity to include only non-zero cost reporting set values. This option can result in significant performance gains in certain situations, as well as reduce the number of redundant report pages. Clearing this option will give you rows of zeros for ACWP and BCWP items in the future.
Report Style
The Report Style page allows you to set parameters related to the final appearance of the report:
Report styles
Assign caption.
301
Use this page to select one of the predefined reporting formats for the spreadsheet portion of the report. For reports that highlight program variances based on reporting thresholds, you can also select a convention (for example, color) for displaying any exceptions where the variance is greater that the reporting threshold. You can specify an existing header or chart template file for the report, or you can customize these report elements by clicking Edit. For more information about creating custom headers and chart templates, refer to the section Customizing Spreadsheet Reports later in this chapter. You can also specify the scale factor and caption to be printed on the bottom of the report. The default scale factor and caption are set in the program directory. This option allows you to override the default settings for the report you are running. For more information about scale factors, refer to Chapter 11, Program Definition.
Report Actions
The final page of the Spreadsheet Wizard allows you to select options for running or saving the report:
Run the report at this time Save the report format before running the report Save the report, and return to the General Reports dialog box
302
Once you define all the parameters for a report using the Spreadsheet Wizard, you can save this information for later reporting sessions. When you save the selected options for a spreadsheet report, Cobra allows you to assign a name, description, and class. The Class field contains a drop-down list and defaults to the class of the report you are running. You can select from one of the items in the list or type in a new class. You can enter your company name as a class.
When a saved spreadsheet report is selected in the General Reports dialog box, the Edit button is enabled. Clicking the Edit button enables the Spreadsheet Wizard with the saved reports options. This is useful when you want to change a limited setting of a saved report. In order for the report to be editable, you have to select the Allow report settings to be edited option. This option is only available if you choose to save the report. You can also use the Print Criteria option. For more information about saved report formats, refer to the following section, Report Properties. To run a spreadsheet report
1. On the Reports menu, click General Reports. 2. From the General Reports dialog box, select the spreadsheet report and the program. 3. To assign a filter to the report, click the Filter tab of the General Reports dialog box, and select the appropriate filter. For more information about using report filters, refer to Chapter 21, Reporting Utilities. 4. Click Run. Cobra displays the first page of the Spreadsheet Wizard. 5. Enter the parameters for the report, clicking Back and Next to move through the different pages of the Spreadsheet Wizard. 6. When the information for the report is complete, click Finish. Cobra generates the report and then displays the results in the spreadsheet window. From this window, you can perform the following operations:
To print the report, click Print on the File menu. To save the report, click Save on the File menu and specify a name, location,
and file type.
To return to the General Reports dialog box, click Exit on the File menu.
You can display a spreadsheet window without invoking the Spreadsheet Wizard. This allows you to display existing spreadsheet reports without having to re-enter all the reporting parameters needed each time the Spreadsheet Wizard is used. To display the spreadsheet window, click Spreadsheet Designer on the Reports menu.
303
Click Save for Later Use, and then enter a name, description, and class for the
report format.
Select whether or not you would like to the reports settings to be editable.
6. When the information for the report is correct, click Finish.
304
You cannot create a personal report with the same name as a shared report. Two users, however, can have the same name for personal reports. If personal reports exist when security is turned off, they become visible to all users in the General Reports dialog box. This may mean multiple reports with the same name exist in the Report list. When security is enabled, reports are saved as personal reports with the users name being the name of the report. When security is not enabled, reports are saved as shared and available to all users. For more information on Report Security, refer to Chapter 28, System Utilities.
Report subtotals on selected results or on user-defined results Custom report headers Custom charts
You may also predefine certain print properties for a spreadsheet report in advance by editing the Ssprint.ini file located in the Cobra\Reports folder. This feature is especially useful for batch reporting because you cannot change the output of a batch report before it is printed. For more information about setting custom print properties, refer to Chapter 31, Customizing Reports.
305
Use this page to specify the results you want to use as criteria in the report, and whether you want to include only results that have non-zero values. To set up a user-defined result for the report, select User-Defined from the list. The next page of the Result Wizard allows you to define the order in which the results appear in the report:
To reorder the list of results, drag the buttons displayed to the left of the result names. If you indicated that you wanted to create a user-defined result for the report, the Report Wizard concludes by allowing you to name the new result and specify its components:
306
To return to the Report Criteria page of the Spreadsheet Wizard, click Finish. In addition to allowing you create and use a user-defined result in a report, Cobra also allows you to create calculated results that are stored with the program and can be reused. For information about calculate results, refer to Chapter 21, Reporting Utilities. To use results as reporting criteria
1. On the Report Criteria page of the Spreadsheet Wizard, select Results from the list of reporting criteria. 2. Select the results for the report, and determine the order in which they should appear. 3. Click Finish to return to the Report Criteria page.
307
To assign a different header file to a report, click the ellipsis next to the name of the current header file, and specify the name of the appropriate header file (file extension .vts). To edit a header file, click the Edit button to display the current header for the report in a spreadsheet window:
From this window, you can modify the header information using many of the features and tools found in a typical spreadsheet application. For example, you can change the font style or size of the header text, add your own text, or even insert a custom graphic. (For a complete description of the features of the spreadsheet window, refer to the Help system available in this window.)
308
In addition to items such as literal text, you can also insert program-related variables such as the program description or the status date into a header. Once inserted into the header, the variable will display the current value for that item at the time the report is produced. To insert a program variable into a custom header, enclose a variable name within curly brackets ({}), as in the following examples:
{Report} report name {Program} program name {ProgDesc} program description {StatusDate} program status date For a complete list of program variables that can be included in report headers and footers, refer to Chapter 31, Customizing Reports. To assign a different header file to a report
1. On the Report Style page of the Spreadsheet Wizard, click the ellipsis next to the name of the current header file. 2. Specify the new header file for the report, and click OK.
Custom Charts
A number of Cobra standard spreadsheet reports include charts that represent numeric data graphically:
309
To customize a chart report, use the Report Style page of the Spreadsheet Wizard to assign a different file to the report or to edit an existing chart file:
To assign a different chart file to a report, click the ellipsis, and specify the name of the appropriate chart file (file extension .vtc). To edit a chart file, click the Edit button to display the current chart for the report in the ChartEdit window:
310
To assign another chart style, right-click in the ChartEdit window, and click the Chart Designer on the context menu. You can access many of the most common editing functions in this window by selecting an object such as a legend, and then right-clicking to display a context menu. For a complete description of the features available in this window, refer to the Help system. To assign a different chart file to a report
1. On the Report Style page of the Spreadsheet Wizard, click the ellipsis next to the name of the current chart file. 2. Specify the new chart file for the report, and click OK.
311
Updating and forecasting contract funds requirements Planning and decision making on funding changes to contracts Developing funds requirements and budget estimates in support of approved programs Determining funds in excess of contract needs and available for de-obligation Obtaining rough estimates of termination costs
The CSFR reports on the entire duration of the program. The report uses a userdefined calendar to determine the Previous, To date, and Future reporting periods. The calendar is similar to the requirements of calendar set 09. Because of Cobra's flexibility in storing data, the CSFR uses the following cost reporting sets to store data:
Report Data Column Cost Reporting Set
Funding Authorized to Date Accrued Expenditures plus Open Commitments Total Contract Work Authorized (Definitized) Contract Work Authorized (Not Definitized) Forecast (Not Yet Authorized) Forecast (All Other Work) Open Commitments Accrued Expenditures Forecast of Billings to the Government Estimated Termination Costs
C_FA C_AE and C_OC C_APW C_AUW C_FNA C_FOW C_OC C_AE C_FBG C_ETC
FoxPro Reports
In addition to spreadsheet reports, the standard reports supplied with Cobra also include a number of reports prepared with the report generation facilities of Microsoft Visual FoxPro. These are typically simple tabular reports using a basic format that you can change quite easily. In the General Reports dialog box, Cobra displays an F next to the report description of FoxPro reports.
312
When you click Run, Cobra displays the following dialog box:
You can use the Report dialog box to specify which pages of the report to print. You can also preview the report before printing. When you click Preview, the report is displayed in the Print Preview window:
The Print Preview window includes a small toolbar that allows you to scroll through the various pages of the report, change the magnification at which the report is displayed, print the report, or return to the General Reports dialog box.
Click the door icon to exit the Print Preview window.
313
When you exit the Print Preview window, Cobra asks whether you want to print the report at this time.
314
The report type of the report you are copying from overwrites the report type that you may have previously selected. 4. Click OK. Cobra creates the report, and then returns to the General Reports dialog box.
Report Properties
Report properties define the specifications for a spreadsheet or FoxPro report within Cobra. For spreadsheet reports, these properties include information such as:
The name and description of the report Data table (Program) on which the report is based Choices offered to the user in the Spreadsheet Wizard Any custom fields defined by the report designer
Cobra stores a set of properties for both the original and the saved versions of a report. For FoxPro reports, these properties include:
Name and description Class Main data table (Program) used by the report As a general rule, the only properties of a report you need to update will be the report description. In fact, report properties are typically accessed by either a report designer who is creating a new custom report or by the Deltek technical support staff for diagnostic purposes. As a result, Deltek recommends that you do not modify the properties of any report unless you are fully familiar with the report customization process in Cobra. (For more information about custom reports in Cobra, refer to Chapter 31, Customizing Reports.)
Properties
When you click Report Properties on the Reports menu, Cobra displays the following dialog box:
315
When security is turned on, users who access the Report Properties dialog box can only to see, edit, and delete their personal reports. The Manager user can see, edit, and delete personal reports for all users as well as shared reports. If a new report is added by copying from another report when security is turned on, the user will be restricted to copying from their personal reports. The Properties tab of the Report Properties dialog box contains the following information about a report: Report The name of the report that you want to appear on the report output. Class The name of the class to which the report belongs. The class setting determines which reports appear in the General Reports dialog box. Standard report classes include:
Organize Plan Status Analyze Format Linked You can also enter a new class name to create custom report classes. This is useful if you want to group your organizations commonly used reports.
Print Criteria Selecting this option indicates that you want Cobra to print the criteria you selected on the last page of the report. Report Type One of the following report types:
S Spreadsheet report
316
Description A description of the report. Applies to Table The data table on which the report is based as follows:
BBL Baseline log BDN Breakdown structure CA Cost account CLC Budget element calculation template COD Code file DF Program detail
FSC Fiscal calendar RAT Rate file WP Work package MS Milestone DBF Database file
Original Report When you save a report, the saved name becomes the report name and is based on the original report. Alternative EXE Indicates that Cobra will use an alternative executable file when generating the report. Extra Fields (Spreadsheet reports only) The definitions of any custom reporting fields added by the user in report designer. (For more information about populating an extra field with data, refer to the Microsoft Visual FoxPro documentation concerning the SQL select command.) Extra Field Names (Spreadsheet reports only) The name, field type, and length of any custom reporting fields added by the user in report designer. For example, the entry CASSD D (8) refers to a date field named CASSD with a field length of eight. Use a comma (,) to separate multiple field names. (For more information about specifying an extra field, refer to the Microsoft Visual FoxPro documentation concerning the ALTER TABLE functions.) Extra fields and Extra field names will add data to the data sheet. This data can then be pulled into the report by referring to the data sheet. See the report EVWORK for an example. SubHead (Spreadsheet reports only) An optional setting that allows you to specify reporting criteria for the report. If this field contains a value, the Spreadsheet Wizard does not prompt the user for reporting criteria when generating the report. This option is useful in cases where a report requires a fixed set of subtotals that do not change. Use a semicolon (;) to separate multiple subtotaling criteria. Cost Sets (Spreadsheet reports only) An optional setting that allows you to specify the cost reporting sets that appear in the report. If this field contains a value, the Spreadsheet Wizard does not prompt the user for cost sets when generating the report. This option is useful in cases where a report requires a fixed set of cost sets that do not change. Use a semicolon (;) to separate multiple cost sets. Exception Criteria (Spreadsheet reports only) An optional setting that allows you to specify how exception reporting is triggered in a report. If you select the OR, exceptions will be reported if one or another situation exists. If you choose the AND, exceptions will be reported only if both situations exist.
317
OR If you choose OR as an exception trigger, any items that exceed either the value or percentage threshold will trigger exception reporting. AND If you choose AND as an exception trigger, any items that exceed both the value and percentage thresholds will trigger exception reporting.
Included Results (Spreadsheet reports only) An optional setting that specifies the results that can be included in a report. If this field contains a value, only the included results will be used. This is useful in cases where a report requires a fixed set of results that do not change. (For example, if you want to exclude G&A costs from a report, list all currency results other than G&A in the Included Results field.) Use a semicolon (;) to separate multiple results. Header (Spreadsheet reports only) The header file assigned to the report. Chart (Spreadsheet reports only) The chart file assigned to the report. When you specify the header or chart file in the Spreadsheet Wizard, the full path is stored. If your header or chart file is stored in the Reports folder, you can remove the path.
Selection Criteria
To display the settings related to the operations of the Spreadsheet Wizard, click the Selection Criteria tab of the Reports Properties dialog box:
Descriptions of the possible report settings are as follows: Criteria Count The maximum number of subtotaling criteria that you can select for the report in the Spreadsheet Wizard. You can reduce this value from its original value (entered by the report designer), but you cannot increase it above the maximum number of subtotaling criteria supported by the report specification.
318
Break Count The maximum number of subtotals generating page breaks that you can select in the Spreadsheet Wizard. This value cannot exceed the value of the Criteria Count setting. Cost Set Count The maximum number of cost reporting sets that you can include in the Spreadsheet Wizard report. You can reduce this value from its original value (entered by the report designer), but you cannot increase it above the maximum number of cost reporting sets supported by the report specification. Calendar Set A definition of the allowable calendar sets for a report as follows:
(blank) The report does not support calendar sets selected by the user. ! Any calendar set can be selected. n, n1, n2, ... (where n is a calendar set number) Only specified calendar sets can be selected. Use a comma (,) to separate calendar set numbers.
Allow User to Select A definition of the fields that can be used as subtotaling criteria:
CA Keys Cost account key fields Results Cost calculation results CE Codes Budget element codes Codes Program codes Thresholds Breakdown structure threshold fields
Only These Cost Sets Allowable cost reporting sets for this report. Use a semicolon (;) to separate calendar set numbers.
Saved Options
If you need to examine a record from a report saved by the Spreadsheet Wizard, display the Saved Options tab of the Report Properties dialog box:
The settings on the Saved Options tab have no effect on FoxPro reports.
319
Descriptions of these settings are as follows: Report The name you assigned to appear on the report. Saved Indicates if this report is a saved report. Editable Indicates if this report can be edited. This option is only available if the report is a spreadsheet report and if the Saved option is selected. When selected, the option enables the Edit button on the Reports page of the General Reports dialog box. Clicking the Edit button presents the Spreadsheet Wizard with the saved settings for the report as the default. Original Report The report that this saved version is based. Description The description you assigned to appear on the report. Style Choose one of the following report styles:
0 Simple 1 Classic 2 Classic color 3 Classic frame 4 Accounting simple 5 Accounting frame 6 Accounting color 7 Color 1
8 Color 2 9 Color 3 11 List simple 12 List color 13 List frame 14 3D simple 15 3D list 16 Standard
Criteria This text box shows the internal representation of each criterion selected for the report, with each criterion separated by a semi-colon. If a criteria has a page break, the criteria includes the text %B at the end. If the criterion is to be subtotaled, it includes the text %S at the end. To enable or disable subtotaling for a criterion, %S should be added to or removed from the end of the criteria, just before the semi-colon. Do not add any spaces. If %B exists in the criteria, %S must always follow it. For example, a saved CAP report that uses criteria CA and WP without any subtotaling has the following criteria string:
CA1+CA2+CA3;CA1+CA2+CA3+WP;
If a page break and subtotaling are added to the WP criteria, the string appears as follows:
CA1+CA2+CA3;CA1+CA2+CA3+WP%B%S;
User-defined Result Name The name of the custom result created using the Result Wizard. Selected Results The results selected for the report by the user. Calculation The definition of the user-defined result. Cal Set The calendar set selected by the user.
320
Cost Sets The cost reporting sets selected by the user. Show Thresholds As The convention selected by the user for displaying variance exceptions. Include Only Non-Zero Results Setting for the option that prevents results with zero values from being displayed in a report. Include Only Values That Fall Within Specified Dates Setting for the option that limits the display of data to the dates selected in the Spreadsheet Wizard. Include Only Non-Zero Cost Reporting Set Values Setting for the option that prevents the display of cost reporting sets that do not contain values. Report Scale Factor The report scale factor selected by the user. Caption The caption to be printed at the bottom of the report selected by the user.
Report List
This tab displays the list of reports in your installation of Cobra:
You can use the Report List tab as a quick way to navigate to a report specification for updating. Simply select a report from the list and click a different tab on the Report Properties dialog box.
321
To delete a report
1. 2. 3. 4. On the Reports menu, click Report Properties. Click the Report List tab. Select the report you need to delete from the report list. Click Delete.
Summary button
When you select the cost account and click Summary, Cobra displays the following dialog box:
This dialog box allows you to select the pages you want to display and to choose whether you want to print or preview the report. The following illustration shows how the report might appear in the print preview. Notice that you can also print the report directly from the Print Preview window by clicking on the printer icon of the Print Preview toolbar.
322
323
324
Overview
Cobra provides a number of utilities related to the reporting function. These utilities include:
In addition, Cobra provides a facility for Over Target Baseline Reporting. For more information on this feature, refer to Chapter 31, Customizing Reports.
Report Filters
Report filters limit the display of items in a report based on one or more criteria. For example, you may want to prepare a report that shows only cost accounts assigned to a particular code or work packages that occupy a specific level in the program WBS. You can apply filters to either spreadsheet or FoxPro reports. Depending on the report being produced, you can use a filter that applies to any of the following data tables:
Program, which encompasses the following criteria: Codes Cost account Work package Budget element Cost account key Work package key Budget element key Cost account file Work package file Breakdown structures Codes Rates Cost calculations Calendars The program log
Once you create a filter that applies to a specific table, you can use that filter for any report that uses that table as its main input file.
326
To display the filters that are available for a report, select the name of the report in the General Reports dialog box, and then click the Filter tab:
327
To define a filter expression, use the following settings: Logic A connecting operator between two or more expressions. Valid logic operators are:
AND OR None (This option is selected for the first criterion.) To select multiple items for a report (for example, WBS elements), use the OR operator.
Criteria Any field from the relevant data table. If the filter is based on program data, criteria can include work items, budget elements, or breakdown structure elements. In addition, any code field used against breakdown structures is displayed in the Criteria list on the Filter dialog box.
The codes are displayed in the Criteria list and represent the breakdown structure. They are identified by the structure name, a period, and the code name. For example, if you add a code field (Leader) to the WBS breakdown structure, WBS.Leader is displayed in the Criteria list. Level If the expression includes a hierarchical value (for example, a breakdown structure), you can specify a hierarchical level. Operator One of the following operators:
328
Selection The values available for a filter expression. These values depend on the filter criteria. For example, if you use a text, numeric, or date field for the filter criteria, you can choose another field of the same type from the table, or you can enter a text, numeric, or date constant. In a filter expression, all text values are case-sensitive.
To apply a filter
1. On the Reports menu, click General Reports. Cobra displays the General Reports dialog box. 2. From the Report tab, select the report to which you want to apply a filter. 3. Click the Filter tab. Cobra displays a list of filters that apply to the main input file of the selected report. 4. Select the desired filter, and click Run to run the report.
To cancel a filter
On the Reports menu, click General Reports. Cobra displays the General Reports dialog box. 2. From the Report tab, select the report for which you want to cancel a filter. 3. Click the Filter tab. Cobra displays a list of filters that apply to the main input file of the selected report, with the currently selected filter highlighted. 4. Select <No Filter> from the list. 1.
To create a filter
1. 2. 3. 4. 5. On the Reports menu, click General Reports. Cobra displays the General Reports dialog box. From the Report tab, select the report for which you want to create a filter. Click the Filter tab, and then click New. Cobra displays the New Filter dialog box. Enter the name and the data table for the new filter, and click OK. When Cobra displays the Filter dialog box, select values for Logic, Criteria, Level, and Operator. Use the Logic setting to define the appropriate logical connector for two or more expressions. 6. Click the ellipsis on the right side of the Selection field to access a list of elements for your selected criterion. 7. Select an element from the list, and click OK. 8. When the information for the filter is complete, click OK.
To copy a filter
1. 2. 3. 4. 5. On the Reports menu, click General Reports. Cobra displays the General Reports dialog box. From the Report tab, select the report for which you want to copy a filter. Click the Filter tab, and then select the filter you want to copy. Click Copy. Enter the name of the new filter, and click OK. Cobra displays the new filter in the list.
329
P indicates that this filter is a personal filter visible only to the owner.
You cannot create a personal filter with the same name as a shared filter. Two users, however, can have the same name for personal filters.
330
To make a personal filter a shared filter, use the Filters tab on the Report Security dialog box and remove the owner of the filter. This will make the filter available to all Cobra users. Managers rights are needed to access Report Security. For more information on Report Security, refer to Chapter 28, System Utilities.
Once you define a sort sequence based on a specific table, you can use that sort for any FoxPro report that uses that table as its main input file. To display the sorts that are available for a report, select the name of a FoxPro report in the General Reports dialog box and then click the Sort tab:
331
You can also use this tab to create a new sort or edit an existing one. For example, when you select a sort and click Edit, Cobra displays the following dialog box:
To define a sort sequence, select the names of one or more criteria any field from the relevant data table. You can also indicate whether you want to base the sort order on ascending or descending values. To apply a sort
On the Reports menu, click General Reports. Cobra displays the General Reports dialog box. 2. From the Report tab, select the FoxPro report to which you want to apply a sort. 3. Click the Sort tab. Cobra displays a list of sorts that apply to the main input file of the selected report. 4. Select the desired sort, and click Run to run the report. 1.
To cancel a sort
On the Reports menu, click General Reports. Cobra displays the General Reports dialog box. 2. From the Report tab, select the FoxPro report for which you want to cancel a sort. 3. Click the Sort tab. Cobra displays a list of sorts that apply to the main input file of the selected report with the currently selected sort sequence highlighted. 4. Select <No Sort> from the list. 1.
To create a sort
1. 2. 3. 4. 5. 6. 7. On the Reports menu, click General Reports. Cobra displays the General Reports dialog box. From the Report tab, select the FoxPro report for which you want to create a sort. Click the Sort tab, and then click New. Cobra displays the New Sort dialog box. Enter the name and the data table for the new sort, and click OK. In the Sort dialog box, define the sort sequence. Click Add to place the new sort on the list of sort sequences. When the information is correct, click OK.
332
To copy a sort
1. 2. 3. 4. 5. On the Reports menu, click General Reports. Cobra displays the General Reports dialog box. From the Report tab, select the FoxPro report for which you want to copy a sort. Click the Sort tab, and then select the sort you want to copy. Click Copy. Enter a name for the new sort, and click OK. Cobra displays the new sort in the list.
333
P indicates that this sort is a personal sort visible only to the owner.
You cannot create a personal sort with the same name as a shared sort. Two users, however, can have the same name for personal sorts. To make a personal sort shared, use the Sorts tab on the Report Security dialog box and remove the owner of the sort. This will make the sort available to all Cobra users. Managers rights are needed to access Report Security. For more information on Report Security, refer to Chapter 28, System Utilities.
Calculated Results
Cobra allows you to create a calculated result for reporting operations that summarizes specified results. Once you have created a calculated result, that result is available in the Results wizard in the same way as any other result defined in a budget element calculation. In contrast with user-defined results that must be recreated for each spreadsheet report, calculated results are stored with the program for which it was created. When a new program is created based upon an existing program, the calculated results of that program are copied to the new program. The Calculated Results dialog box can be displayed by clicking Calculated Results on the Reports menu and then selecting the appropriate program:
334
Using this dialog box, you can add a new calculated result as well as edit or delete one that has already been defined for the program. Cobra does not store the value of calculated results in either memory or the program database. Only the definition of the calculation is saved the results are recalculated each time the field is required for a report. When you click Add on the Calculated Results dialog box, Cobra displays the Calculated Result Definition dialog box:
To create a calculated result, you enter a unique name for it and create the expression. Clicking the Results button displays the Add a Result Field dialog box that you can use to select a result.
335
The result you select is added to the Expression box in the Calculate Result Definition dialog box. You can combine results to form the definition of the calculated result using any of the following operators:
+ (
) / *
While the addition operations are very accurate, care must be taken when multiplication and division are selected. These operators are applied during the query. The values shown on the report are created by summing the values returned from the query. This process can result in rounding errors. For example, you cannot use calculated results to show a rate on a report showing summary values because the hours/dollars calculation is performed in the query and displayed on the data tab of the report. When the report is based on totals, the sum of the rates is shown on the report and contains rounding errors. You can also select the following options: Currency If selected, this option instructs Cobra to total the dollars on the reports. This prevents different types of units (such as hours and dollars) from being added together. Sortcode If selected, Cobra uses this field when reporting to identify specific results generically. Cobra reserves the following sort codes for special purposes:
C Instructs Cobra that the result is cost of money G Instructs Cobra that the result is general and administration, and needs to be dropped to the bottom line of CPR reports H Identifies the result as a unit measured in hours N Instructs Cobra not to divide the value by a scale factor O Instructs Cobra that the result is overhead, and needs to be dropped to the bottom line of ICSR reports
336
Once you have created a calculated result, it appears as a choice in the Result Wizard.
Calculated Result
The following are some examples of calculated results you might want to create:
While a calculated result is always created for a specific program, you can also copy it to a different program using the Copy Calculated Result dialog box:
This dialog box can be displayed by selecting a calculated result on the Calculated Results dialog box and clicking Copy. By default, the name of the selected calculated result is displayed in the Copy as field. You can, however, change the displayed name to another one of your choice. The Copy to Programs box contains a list of programs to which you can copy the calculated result. You can select multiple programs to copy to at one time by Shift-clicking or Ctrl-clicking the desired programs. To use a calculated result in a report
1. On the Reports menu, click General Reports. Cobra displays the General Reports dialog box.
337
2. 3. 4. 5. 6.
Select a spreadsheet report, and click Run. Cobra displays the Spreadsheet Wizard. From the Criteria column list, select Results. Cobra displays the first page of the Result Wizard. Select the calculated result, and click Next. Cobra displays the second page of the Result Wizard. Click Finish to add the result to the list of criteria on the Spreadsheet Wizard. (Notice that the actual name of the calculated result is not displayed in the Spreadsheet Wizard. It is identified by the generic term Results.) Continue creating the spreadsheet report in the usual manner.
3. 4. 5. 6.
338
2. 3. 4.
From the Open dialog box, select the program from which you want to delete a calculated result, and click OK. From the Calculated Results dialog box, select the calculated result that you want to delete, and click Delete. When Cobra asks you to confirm the operation, click Yes.
Batch Reporting
The batch-reporting feature in Cobra allows you to define a group of reports that can be printed with a single operation. As an option, you can specify a time within the next 24 hours for the operation to be performed. You can use the batch-reporting feature with any program-based FoxPro report or with any spreadsheet report that you have saved using the Spreadsheet Wizard. To use the batch-reporting feature, click the Batch Reports command on the Reports menu to display the following dialog box:
Use the top grid of this dialog box to set up report batches and specify the program to be used for the reports, output type, output path, and subfolder. Batches referring to different programs can be run in one session. If you select/clear an option, all reports in the batch will be selected/cleared by default. You can still select/clear individual reports within the batch. When you click Run, all selected reports in all selected batches will be run. Cobra uses the default Windows printer settings when producing reports in a report batch. Use the lower grid of the dialog box to define the contents of each batch as follows: Select You can indicate if the report is to be produced when you run the batch. Report You can specify any program-based FoxPro report or saved spreadsheet report to be included in the batch.
339
Only shared and your personal saved spreadsheet reports can be selected. Description This field displays the description of the report. Filter You can select a shared or personal filter that is applicable to the report data. Sort You can select a sort that is applicable to the report (FoxPro reports only) and that is either a shared sort or a personal sort. Time to Run You can run the batch at any time within the next 24 hours using the this setting. The time must be entered using the 24-hour format (for example, 3:00 PM is entered as 15:00). You can easily define similar batches for multiple programs with the Add Batch dialog box:
You can also create a batch identical to an existing batch and associated it with a different program. To create an identical batch, select the Copy from option. Once the batch is created, reports can be added and deleted from the batch. You can specify the output type and output path of the reports for the batch. By default, the output type is set to your default printer. If you select a different output type for a batch, only spreadsheet reports in the batch use that output type. FoxPro reports are always sent to your default printer. If an output type other than Printer is chosen, an output path must be specified. A subfolder is created under the output path with the same name as the batch program. All spreadsheet reports in the batch are saved in this subfolder. Each file is given the name of the report; the extension is determined by the output type. The Create sub-folder based on calendar period label option is also enabled when you select an output type that requires a path. Selecting this option instructs Cobra to output the spreadsheet reports in the batch to a sub-folder beneath the Output Path location. The sub-folder name will be the same name as the current periods label defined in Calendar Set 0. For more information on predefining your print layout, refer to the section Custom Print Properties in Chapter 31, Customizing Reports.
340
To edit a batch, double-click the batch name. Cobra displays the Edit Batch dialog box.
The Edit Batch dialog is the same as the Add Batch dialog except that the Copy from option is disabled. To define a report batch
1. 2. On the Reports menu, click Batch Reports. Take one of the following actions: On the Edit menu, click Add Batch.
Right-click the upper grid, and click Add on the context menu. Double-click an empty row in the upper grid.
3. 4. Cobra displays the Add Batch dialog box. Enter a name, description, and program for the batch, and click OK. To add a report to the batch, right-click the lower grid, and click Add on the context menu. Cobra displays the Add Batch Report dialog box. Select a report to include in the batch, and specify any filters or sorts. When the information for the batch is correct, click Save. On the Reports menu, click Batch Reports. Select the batch report to edit, and take one of the following actions: On the Edit menu, click Edit Batch.
5. 6. 1. 2.
Right-click the batch report name, and click Edit on the context menu. Double-click the batch report name.
Cobra displays the Edit Batch dialog box. 3. Enter your changes for the batch report, and click OK.
5.
Click Run.
3.
Right-click the batch report name, and click Delete on the context menu. When Cobra asks you to confirm the deletion, click Yes.
CPR 3 Reporting
While most EVMS reports are concerned with comparisons of planned expenditures, earned value, and actual costs, the Cost Performance Report, Format 3 (CPR 3) is unusual in that it is concerned with changes in the baseline over the course of the program. A typical CPR 3 report includes the following values: Cumulative-to-date BCWS Current period BCWS Non-cumulative BCWS for each of the next six fiscal periods (usually months) Non-cumulative BCWS for up to five subsequent fiscal periods (for example, the next two fiscal quarters followed by values for the next three fiscal years) Any undistributed budget Total budget Each CPR 3 report compares the time-phased budget of the program at the start of the current period and compares that value to the budget value stored for the end of the period. Although the Cobra program logs can be used to monitor changes in the program budget, the information stored by the logs does not store the changes in time-phased detail. Nor do the program detail files retain budget information that has been modified. As a result, Cobra aggregates the baseline data when you advance the calendar and stores the information. Subsequently, each change to the baseline is tracked in the program log. At the end of the status period, a CPR 3 report contains the following information:
A line containing the aggregated, time-phased baseline data at the beginning of the period. A line for each entry in the program log. This contains the comment entered when the change was made and the total net change in the right hand column of the report. A line for the aggregated, time-phased data at the end of the period.
In addition, it is possible to capture the time-phased detail for each change by adding a line item to the CPR 3 report. To add a line item to the CPR 3 report, you must create a line item after each change in the baseline. This option is typically used for older contracts, as the US Government no longer requires this much detail in a CPR 3 report. Capturing the time-phased baseline data requires the following items:
342
CPR 3 reporting must be enabled for your program. The fiscal calendar must contain a period before the program starts in order to advance the calendar before any changes are made to the program.
The following sections outline the procedures necessary for CPR 3 reporting.
Set Baseline
The baseline must be set before the changes to the baseline will be tracked. In addition, you must set the baseline before you advance the calendar. To set the program baseline
On the Initialize menu, click Program Log. From the Open dialog box, select the program for which you want to set a baseline. 3. On the Program Log dialog box, click the Log Operations tab. 4. Click Set Log Level, and select the level at which you want to set the baseline. 5. Click Apply. 6. Click Set Baseline, and enter a comment regarding the operation. 7. Click Apply. 8. In the Set Baseline dialog box, verify that the budget values for the program are correct. 9. If necessary, update the budget values for the program, and click OK. 10. Click Close to close the Set Baseline dialog box and return to the Program Log dialog box. 1. 2.
Generate labels for all periods. Define user-defined columns 10-14. This allows you to determine what will be reported in these columns of the report. Identify fixed flags. There will be some labels and flags that you will want to define as fixed (by using the $ flag rather than the * flag), such as fiscal quarters and year ends, so they will not be moved to the next period each time the calendar is advanced. To generate labels for Calendar Set 09
1. 2. 3. 4. 5. 6. From the File menu, point to Open, and click Fiscal Calendar. Select the fiscal calendar to open from the list. In the Fiscal Calendar dialog box, select Set 09 from the Calendar Sets list. Right-click the Dates grid, and select Label Dates. In the Create Labels dialog box, type a code. Click OK.
Individual labels and flags can be edited simply by selecting the item. To add fixed flags
1. 2.
Deltek Cobra User's Guide
Enter a fixed flag ($) in the desired Flag fields. Save the calendar set by clicking Save or moving your cursor to another row.
343
To view the entire fiscal calendar, enlarge the dialog box by dragging the bottom edge with your mouse.
Use this dialog box to perform the following operations: Produce Report Produces a report at this time (You also have the option of adding additional line items to the report at this time.) Add a Line Item You can add an additional time-phased line item to the report that reflects changes to the program budget. You can also add entries from the program log for the current period as well as add an annotation describing these changes. Show Change Number Selecting this option displays the change number in the Description column on the report. Show Log Comment Selecting this option displays the log comment in the Description column on the report. Summarize by Change Number Selecting this option shows all changes using the same change number summarized into a single line. If you choose to produce the CPR 3 report, Cobra displays the report in the same type of window used to display other spreadsheet reports used in Cobra:
344
From this window, you can continue to modify the appearance of the report, save the report as an .xls file for import into applications such as Microsoft Excel, or send the report to an output device such as a printer. After making a change to the baseline for which you would like to capture a timephased line item, you need to use the CPR 3 Reporting dialog box to add a line item. You can specify an alternative executable file for the CPR 3 report by modifying the Alternative CPR3 report executable option on the Reports category view of the Application Options dialog box. For more information using the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. To add a line item to a CPR 3 report
1. 2. 3. 4. On the Reports menu, click CPR 3 Reporting. Select the program for the report. Click Add a Line Item, and modify the report by adding log entries or entering the text for an additional line item. When the information for the report is correct, click Save.
EVM Report
345
There are four default reporting sets in the EVM Report: BCWS, BCWP, ACWP and EAC. You can add extra report sets to populate the column Original budget and define the last months EAC. Typically last months EAC is a frozen EAC. You can create a cost set that includes the frozen forecast class and add this cost set as the fifth cost set in the Report Properties dialog box. The values in this cost set are used to calculate the EAC changes by subtracting the values in this cost set from those in the EAC cost set. The sixth cost set is the one shown in the Original Budget column. To produce an EVM report
1. 2. 3. 4. 5. On the Reports menu, click Report Properties. On the Properties tab, select the EVM report. In the Cost Sets field, add new cost sets to represent the frozen forecast and original budget. Click Save. Click Close.
BASELINE - the summary record, including the line item's description BASEDETL - the baseline detail at the time the line item is created
The CPR 3 report uses the Reference Number to determine which comment records appear on the report. Each time you open the program or run a process such as Load Actual Costs, the reference number is incremented. When the calendar is advanced, the reference number is incremented and stored in a table called BASELINE. The reference number is also stored in the BASELOG table. If you run the LOG report, you can see the reference number stored in the BASELOG table. You can use the LOG report to determine the minimum reference number you want to appear on your CPR 3 and then use the following query to update the BASELINE table. You will need to update the value of the REFNO in the query based on the LOG report.
UPDATE COBRA!BASELINE SET REFNO = 123 WHERE PROGRAM = 'DEMOADV' AND BBLCOMMENT = 'END OF PERIOD 09/25/2003'
Each record in the BASELINE table has a reference number value that corresponds to the reference number values in the BASEDETL table. If you delete a record in BASELINE table, you must also delete all the corresponding BASEDETL records.
346
Batch Spreading Global Slip Replace Budget Elements Check Estimate Dates
Overview
Cobra provides a number of tools related to program-wide functions. These tools include the following capabilities:
Global cost recalculation Global reclassification Global replan Top-down planning Batch spreading Global slip Replace budget elements Check estimate dates
As in the case of other global utilities, Cobra allows you to restrict the effects of this feature in a number of ways. You can define which work items you want to recalculate using one of the following methods:
You can specify individual cost accounts, work packages, or budget elements to be recalculated. You can define groups of cost accounts, work packages, or budget elements by specifying an element in any breakdown structure attached to the appropriate key field.
348
You can define groups of cost accounts and work packages based on codes from a breakdown structure or code file attached to the program.
You can specify that you want to recalculate all work items. You can also select which cost classes and results to recalculate. Cobra allows you to select any budget, actual, or forecast class that refers to a rate set. Selecting specific results is useful when you are recalculating actual costs. For example, overhead and general and administrative burdens are often adjusted on a yearly basis. Normally, this is accomplished by entering an adjusting record at the end of the year. By selecting only specific results to recalculate, however, you can apply the correct adjustment to all actual cost records. Finally, Cobra allows you to recalculate costs for all fiscal periods, for selected periods, or for remaining periods only. (Recalculating remaining periods affects only those periods after the current status date.) By default, global cost recalculation has no effect on either closed work items or open work items for which a change of scope is prohibited. (You can, however, change this default by selecting the appropriate options on the Planning tab of the Program Options dialog box.) If you chose to recalculate for remaining periods only, unopened work items with scheduled finish dates prior to the status date will be unaffected as well. Like batch spreading, the global recalculation of costs should be used with care. The utility recalculates all derived costs for the specified cost classes from the beginning of the program to its conclusion. You can allow Cobra to recalculate read-only classes by selecting the Allow read only classes to be recalculated option on the Global Cost Recalculation Options dialog box. Also you can allow Cobra to skip budget elements that are missing rates by selecting the Dont recalculate BEs with missing rates option. Clicking the Options displays the following dialog box:
349
This dialog box is an excerpt of the Application Options dialog box. For more information on using the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. To recalculate costs globally
Since you cannot undo this operation, Deltek recommends that you back up your program data and perform a validity check before proceeding. 1. On the Tools menu, click Global Cost Recalculation. 2. Specify the program you want to recalculate, and click OK. Cobra displays the Global Recalculation dialog box. 3. Define the parameters for the operation as follows: Define the criteria, level (if appropriate), and selection for the work items you want to recalculate. To display a list of all the elements of a breakdown structure, set the level to 0. To recalculate all the cost accounts, work packages, and budget elements in the program, select Total Program for the criteria.
Global Reclassification
The global reclassification feature in Cobra allows you to change, copy, or replace an existing cost class to a different cost class. This is useful in cases where you have performed some what-if budgeting and now want to change these costs to a standard budget class such as CB. It is also possible, for example, to copy existing budget costs to either actual or forecast cost classes or to copy an actual cost class to a forecast class. When you click Global Reclassification on the Tools menu, Cobra asks you to select a program file and then displays the following dialog box:
350
As in the case of other global utilities, Cobra allows you to restrict the effects of this feature in a number of ways. You can define the work items that you want to reclassify using one of the following methods:
You can specify individual cost accounts, work packages, or budget elements to be reclassified. You can define groups of cost accounts, work packages, or budget elements by specifying an element in any breakdown structure attached to the appropriate key field. You can define groups of cost accounts and work packages based on codes from a breakdown structure or code file attached to the program. You can specify that you want to reclassify all work items. You can specify the date range to perform the reclass.
Cobra allows you to specify the source and target classes for the operation. The source is the class you want to use as the original for the reclass. The target is the new item that will be changed by the reclass process. Both source and target classes have to use the same rate set and have to be input at the same level. You can also specify the source and target actions you want to take by selecting from the following options:
Source Copy Copies the source class to the target class. The result of this action is additive (twice the original budget). Copy and delete Copies the source class to the target class and then deletes the source class. Target Add to existing Adds the value in the source class to the value in the target class. Replace existing Replaces the value in the target class with the value in the source class for all selected costs.
Cobra also allows you to reclassify costs for all fiscal periods, for selected periods, or for remaining periods only. (Reclassifying remaining periods affects only those periods after the current status date.) Note that global reclassification has no effect on open work packages for which a change of scope is prohibited. If you chose to reclassify for remaining periods only, unopened work packages with scheduled finish dates prior to the status date will be unaffected as well. You can allow Cobra to reclassify closed work packages by selecting the Allow closed work packages to be reclassified option on the Global Reclassification Options dialog box. You can reclass weekly budget data to a monthly forecast class even if the forecast is at the cost account level. This option allows you to use Reclassification to copy approved scope changes to monthly forecast data.
351
This dialog box is an excerpt of the Application Options dialog box. For more information on using the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. To reclassify costs globally
Since you cannot undo this operation, Deltek recommends that you back up your program data and perform a validity check before proceeding. 1. On the Tools menu, click Global Reclassification. 2. Specify the program you want to reclassify, and click OK. Cobra displays the Global Reclassification dialog box. 3. Define the parameters for the operation as follows: Define the criteria, level (if appropriate), and selection for the work items you want to reclassify. To display a list of all the elements of a breakdown structure, set the level to 0. To reclassify all the cost accounts, work packages, and budget elements in the program, select Total Program for the criteria.
Indicate the cost classes for the operation. 4. When the information for the operation is correct, click Apply. 5. When Cobra prompts you to confirm the operation, click Yes.
Global Replan
Cobra provides a global replan feature that allows you to replan an entire program at one time or to replan an individual element of the program in either of the following ways:
352
Set the budget and the earned value equal to the actual costs
(BCWS=BCWP=ACWP)
Global replanning is used to remove variances from any work that is in progress. Typically, a program manager replans a project when the budget no longer reflects the work to be performed. The replanning operation is performed on open work packages. During replan, the original work package is broken up into two segments and the budget for the work package is allocated as follows:
The budget before the status date is placed in a work package with a new name. The budget for this work package is changed to equal either ACWP or BCWP based on your selection. The class used for budget in this work package is changed to RP, and the work package is closed. Budget that is beyond the status date remains in the original work package unchanged. However, the start date of the original work package is changed to the status date, and any progress information is removed. In addition, the following changes may also be made: If the PMT of the work package is percent complete, the percent complete of the work package is changed to zero. If milestones are used, the completed milestones are moved to the closed work package and the unopened milestones are left in their existing work package.
Replan performs differently based on the level at which actual costs are stored and whether you set the budget equal to earned value or actual costs. For example, if actual costs are stored at the cost account level and you choose to set budget equal to actual costs, a single work package is created with the name you entered for WP. If actual costs are stored at the work package level, a new work package for each open work package is created. The new work packages use the WP as a prefix along with the original work package ID. Thus, you need to make sure your work package field length is long enough to accommodate both the prefix you enter and the current ID. If you use a cumulative to date transaction file to load actual costs and you collect actual costs at the WP level, you will need to modify the query that extracts the actual costs to exclude actual costs before the date of the replan. This is yet another example of why it is beneficial to collect actual costs at the CA level. You can display the Global Replan dialog box by clicking Global Replan on the Tools menu and then selecting a program that you want to replan globally:
353
The settings you define in the Global Replan dialog box control the manner in which the replan operation takes place. This dialog box contains the following controls: Criteria Use this field to choose criteria that define which parts of the program are replanned. Cobra allows you to use the Global Replan function to replan the total program or only a portion of it. You can select the criteria for defining a portion of a selected program based on how the program stores actual costs.
If the selected program stores actual costs at the cost account level, you can select from the following criteria: Cost Account WBS OBS Any cost account level code If the selected program stores actual costs at the work package level, you can select from the following additional criteria: Work Package WP_NO All cost codes
Level This field is enabled when you select WBS, OBS, or WP_NO from the Criteria list. Use this field to specify the level of the structure at which you want Cobra to perform the replan operation. For example, if you choose WBS, you can then select the element you want to replan.
354
When you enter a character in the Lookup table, it is added to a search key field. The search key field is cleared only when you press the backspace key, click somewhere in the list, or press one of the navigation keys (up, down, left, right, home, end, page up, or page down). Selection Use this field to make the selections needed to perform the replan operation. The options available in this field depend on the settings you selected in the Criteria and Level fields. Replan Type You can choose from the following replan types:
BCWS = BCWP = ACWP (If you choose this option, Cobra sets the budget and the earned value equal to the actual costs.) BCWS = BCWP (If you choose this option, Cobra sets the budget to equal the calculated earned value.)
WP Use this field to enter a prefix for the work package ID. Prefix This option is used to specify that the work package identifier created for replanned work packages adds a prefix to the original work package. Suffix This option is used to specify that the work package identifier created for replanned work packages adds a suffix to the original work package. If actual costs are at the cost account level and a single replanned work package is being created for the entire cost account, the Prefix/Suffix setting is ignored and the value in the work package textbox becomes the replanned work package identifier. Description Use this field to enter a description for the replanned work package. If you leave this field blank, Cobra retains the original work package description. By default, Global Replan changes the time-phased budget to exactly equal the actual costs or earned value. However, there is an option to replan by adjusting the entry for the current period. The Replan by adding an adjusting entry option on the Global Replan Options dialog box places an adjustment to the budget in the current period as opposed to changing entries before the status date.
355
This dialog box is an excerpt of the Application Options dialog box. For more information on using the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. Regardless of whether you use the adjusting entry, Cobra always places the balance of the budget in either Management Reserve (MR) or Undistributed Budget (UB) depending on the account the budget was drawn from. This is defined in the program directory for each cost class. Typically, only open work packages are replanned. However, in the case where you are setting budget equal to earned value and there are unopened work packages before the status date, you would need to replan the unopened work packages in order to eliminate the schedule variance. Replanning an unopened work package when setting budget equal to earned value would set the budget before the status date equal to zero. To replan an unopened work package, select the Allow unopened work packages to be replanned option on the Global Replan Options dialog box. And to replan a closed work package, select the Allow closed work packages to be replanned option. To perform a Global Replan
1. On the Tools menu, click Global Replan. 2. From the Open dialog box, select the program that you want to replan, and click OK. 3. In the Global Replan dialog box, enter the information for the operation, and click OK. 4. When Cobra asks you to confirm that you want to perform the operation, click Yes.
356
Top-Down Planning
Top-down planning is a powerful feature in Cobra that allows you to change budgeted and forecast costs for selected groups of cost accounts or work packages by factoring the hours to meet a total monetary amount. By allowing you to create various analyses based on different funding scenarios, top-down planning facilitates the planning, estimating, and pricing of proposed work. For example, by using top-down planning, you can experiment with moving a portion of budget assigned to one group of cost accounts to another group or with shifting funding between different fiscal years. When you perform top-down planning, Cobra allows you to restrict the effects of the operation in a number of ways. First, you can define which work items you want to adjust using one of the following methods:
You can specify individual cost accounts, work packages, or budget elements to be adjusted. You can define groups of cost accounts, work packages, or budget elements by specifying an element in any breakdown structure attached to the appropriate key field. You can define groups of cost accounts and work packages based on codes from a breakdown structure or code file attached to the program. You can specify that you want to adjust all work items.
You can also define which calculated results and cost classes Cobra should use when calculating the total amount of budget costs that can be adjusted. The Results list controls the values that Cobra displays when top-down planning is calculated. This allows you to define a target budget in terms of direct dollars and have Cobra calculate the hours, general and administrative costs, and overhead costs that correspond to that target. You can also scale the hours up and down using top-down planning. This is very useful when using Cobra as a proposal pricing tool. For example, if you select only the Direct result, Cobra will display only the value of the Direct result in the Total Amount and Available Amount fields when topdown planning is calculated. Regardless of your selections in the Results list, when you click Apply, top-down planning affects all of the results (not only those that you have selected). If you define multiple cost classes for top-down planning, all of the cost classes must be of the same type (that is, they must be either all budget classes or all forecast classes). Finally, you can limit the effects of top-down planning to a specific range of fiscal periods.
357
Depending on the parameters for the adjustment (that is, the selected work items or budget elements containing the specified cost results and classes), Cobra calculates a total amount of budget for the selection criteria and the available amount to which any changes can be applied. Cobra displays these values in the Top Down Planning dialog box:
Since Cobra does not allow you to change budget before the status date or to plan negative budget/forecast amounts using top-down planning, the available amount represents the maximum amount that the specified budget costs can be reduced. In the case of the above illustration, for example, the budget of the selected cost account cannot be reduced by more than $53694.44. Cobra calculates an available amount that takes the following factors into consideration:
Status date Top-down planning does not alter historical data and will not apply changes to fiscal periods prior to the status date. Thus, budgets occurring in fiscal periods prior to the status date are not available for adjustment. Work package status Ordinarily, top-down planning only affects unopened work packages. However, if the option Allow changes to scope for an open Work Package is selected (refer to Chapter 16, Status Information, for more information about setting this program option), open work packages are available for adjustment as well. Closed work packages are never available for top-down planning. Date range If you have limited the date range for top-down planning, Cobra reduces the available amount to the budget falling within the specified time frame.
In many cases, it may prove that the total amount and the available amount are equal. This is because, typically, the budget/forecast for the selection criteria is all in the future.
358
For example, assume that you have selected a single unopened work package for top-down planning with the following budget:
In this case (assuming that you have indicated that all results are eligible for adjustment), Cobra calculates the total budget amount that can be adjusted as $1495.97 and thus the maximum amount that the budget can be reduced. If you indicate, however, that you want to restrict the adjustment to the first two budgeted fiscal periods, Cobra calculates that $365.61 is the amount available. In this case, you cannot reduce the total budget for the work package by more than $365.61 since that is the maximum amount of budget available during those periods. (Notice that there is no restriction on the amount you can increase the total budget, regardless of the date range you have defined for the operation.) Once you have defined the various parameters of the operation, you are ready to begin adjusting budgets and forecasts. Cobra allows you to enter the amount of the adjustment using any of the following methods:
You can enter the adjustment as a total. You can enter the adjustment as a percentage of the current amount. You can set a target amount and have Cobra calculate the size of the adjustment required. You cannot combine these methods. For example, a change cannot be defined as both a fixed total and a percentage.
Cobra always applies the adjustment to the total amount displayed for the work. Thus, a change that you have defined as 10.5% results in Cobra decreasing the total amount by that percentage. In cases where the available amount is less than the total amount, the effect of the adjustment on the available amount is proportionately larger. For example, if you have defined parameters for the operation such that the total amount is $1000 and the available amount is $500, adjusting the budget upward by 10% results in increasing the total amount by $100 to $1100. In addition, the adjustment increases the available amount by $100 to $600, effectively increasing the available amount by 20%.
359
In the case of adjustments based on target amounts, Cobra sets the total amount to the target amount and adjusts the available amount by the difference between the original total and the new total. For example, assume that the total amount is $1000 and the available amount is $500. By setting the target amount to $1100, you would increase the total amount to $1100 and the available amount by $100 ($1100 $1000) to $600. Because of the possibility of error due to precision limits in calculations, Cobra does not allow you to reduce a total amount to zero or to a value approaching zero. (The size of this value is dependent on the original total amount.) Actual factored amounts may also vary slightly from targeted amounts.
360
Once you have entered the amount of the change, you are ready to calculate. When calculating an adjustment, Cobra converts any change amount to a change ratio that is applied to the available amount. This calculation is performed as follows: assuming that you have entered a change amount of +10% in this scenario, Cobra calculates a target amount of $5500 ($5000 + $500), which results in a net change of $500. Since Cobra can apply that net change to the available amount only, it calculates a change ratio of 1.16 (3500/3000), a 16% increase. Cobra then applies the change ratio to all available budget elements for the selected work packages. (Budget elements that are not available due to work package status, status date, or date range are left unchanged.) By adjusting values using the calculated change ratio, Cobra is able to preserve the original budget for forecast spreading curves. It is important to remember the following points concerning the application of the cost ratio:
Cobra applies the change ratio to all of the results contained by the available budget elements, not just the ones specified by the criteria. In this scenario, for example, you have specified only the DIRECT, OVERHEAD, and G&A results for adjustment. However, if an available budget element contained additional results other than those specified, the unspecified results would be changed as well. Cobra does not change the budget/forecast for fiscal periods in which the resulting change to the budget unit would be less than 1%. (Cobra detail files use only two decimal places to store this value.) As a result, all derived costs from the budget units will remain unchanged as well. Cobra applies the change ratio to both positive and negative budget/forecast costs. Adjustments are made strictly through the change ratio mechanism. All original costs and rates are assumed to be correct, and no costs are recalculated using the current rate sets. When comparing report totals to adjusted amounts, remember that the result names involved must be identical throughout the comparison. For example, many EVMS reports drop G&A costs to the bottom line and exclude them from reporting criteria. (G&A costs are identified in Cobra by a sort code of G in the budget element calculation file.) If G&A costs are included in the criteria for replanning, there may appear to be differences between certain reports and the values displayed in the Top Down Planning dialog box.
361
Top-down planning is particularly suited for situations in which you have entered alternative budgets using custom cost classes and want to see the effects of different planning scenarios on a selected group of work packages. In this case, you can have Cobra calculate a target change based on costs assigned to a particular cost class and compare that target to your standard budget costs (that is, those budget costs that comprise the program BAC). To perform top-down planning
Since you cannot undo this operation, Deltek recommends that you back up your program data and perform a validity check before proceeding. 1. On the Tools menu, click Top Down Planning. 2. Specify the program you want to adjust, and click OK. 3. Define the parameters for the operation as follows: Define the criteria, level (if appropriate), and selection for the work items you want to adjust. To display a list of all the elements of a breakdown structure, set the level to 0. To adjust all the cost accounts, work packages, and budget elements in the program, select Total Program for the criteria.
Specify a start and finish fiscal period. Indicate the cost classes and results for the change. Enter a target amount, a change percentage, or a change amount.
To see the total and available amounts based on the current parameters, click Calculate. 4. When the information for the operation is correct, click Apply. If you have defined an illegal adjustment (one that would reduce the total amount below the minimum amount available for change), Cobra indicates that it cannot perform the operation. 5. When Cobra asks you to confirm that you want to perform the operation, click Yes.
Batch Spreading
The Cobra batch-spreading feature allows you to respread budget costs for an entire program at one time or to respread the budget of an individual element of the program. This facility can be useful when the fiscal calendar has been changed. For example, changing the calendar from a monthly to a weekly calendar would require batch spreading. In addition to respreading, this utility generates all calculated costs for the work. When you click Batch Spreading on the Tools menu, Cobra asks you to select a program file and then displays the following dialog box:
362
As in the case of other global utilities, Cobra allows you to restrict the effects of batch spreading in a number of ways. You can define which work items you want to respread using one of the following methods:
You can specify individual cost accounts, work packages, or budget elements to be respread. You can define groups of cost accounts, work packages, or budget elements by specifying an element in any breakdown structure attached to the appropriate key field. You can define groups of cost accounts and work packages based on codes from a breakdown structure or code file attached to the program. You can specify that you want to respread all work items.
You can also indicate which budget cost class (or classes) you want to respread. In addition, Cobra allows you to perform batch spreading for all fiscal periods of a program, or for remaining periods only. (Respreading over remaining periods affects only those periods after the current status date.) If the scheduled dates of the work have changed, but the number of fiscal periods to spread remains unchanged, Cobra simply moves the original spread to the new periods. However, if the work now spans a different number of periods, Cobra maps the original spreading curve to the new number of periods. If no budget spread exists, Cobra spreads the BAC for the item using the linear spread curve. It is possible to customize the linear spread curve in Cobra. For more information about spread curves, refer to Chapter 28, System Utilities. Batch spreading has no effect on closed work packages. In addition, the program option to prohibit changes in scope to open work packages is ignored. If you choose to spread remaining periods (those that occur after the program status date), unopened work packages with scheduled finish dates prior to the status date will be unaffected as well. When batch spreading budget costs, the value spread is the BAC value stored on the budget element file. The budget for each fiscal period is then used to calculate (using the information from the budget element calculation and rate files) all the calculated costs for that budget element over the period. If the budget spread spans the status date and you have selected the option to spread remaining periods, Cobra determines the amount to be spread over the remaining periods by subtracting the sum of the budget records prior to the status date from the BAC. The spread curve is determined by the budget spread after the status date.
363
The batch spreading utility is a powerful feature in Cobra and should be used with caution. Once invoked, the utility respreads all budgets for the specified cost class, using the current information stored for the budget elements, calculations, and rate sets, which may result in the inadvertent overwriting of cost spreads that you want to preserve. The batch spreading utility is limited in use with budget cost classes. However, it is possible to respread forecast costs by changing the class of a forecast to use method M (retain ETC), and then re-running forecast calculations. To perform a batch spread
Since you cannot undo this operation, Deltek recommends that you backup your program data and perform a validity check before proceeding. 1. On the Tools menu, click Batch Spreading. 2. Specify the program you want to respread, and click OK. 3. Define the parameters for the operation as follows: Define the criteria, level (if appropriate), and selection for the work items you want to respread. To display a list of all elements of a breakdown structure, set the level to 0. To respread all the cost accounts and work packages in the program, select Total Program for the criteria.
Specify the scope of the operation. 4. When the information for the operation is correct, click Apply. 5. When Cobra prompts you to confirm the operation, click OK.
Global Slip
You can slip an existing program of select cost accounts. This procedure is helpful when pricing a contract before there is a schedule created. Using the Slip dialog box, you can move an entire program or selected CAs within a program to new dates. All dates (scheduled, estimate, early, and late) for each CA/WP are adjusted according to the amount of slippage, and the time phased data is respread to ensure it remains within the new dates. The program or selected CAs can be moved back in time by entering either a negative number of days to slip or a date earlier than the start date, provided that it does not cause the new start to fall before the status date. Once the data has been slipped, the forecast values are calculated automatically and the affected data is respread. Only unopen CAs can be slipped; you cannot slip open or closed CAs. When slipping the whole program, all open and closed CAs are ignored. When you copy a CA, you can copy it to a different program and/or slip the new CA. Right-clicking in the Cost Account area of the Program form displays a context menu that you can use to quickly copy a CA.
364
To display the Slip dialog box, click Global Slip on the Tools menu, and select the program to slip:
This dialog box features the following controls: Criteria You can either slip a selected Cost Account, or slip the Whole Program. Selection This field is enabled when you select Cost Account as the criteria. Clicking the ellipsis button displays the Select Cost Account dialog box that you can use to select the CA to slip. You can select multiple CAs by Shift-clicking or Ctrl-clicking the desired CAs. Slip By You can choose to slip the whole program or Cost Account by using either Dates or Days.
Dates The date can be either before or after the current starting date but not before the status date for in-progress work. A message is given if the new date is not inside the fiscal calendar dates. If slipping the whole program, all of the CAs are slipped by the number of days between the current program start date and the new date. The default date is the earliest scheduled starting date of the selected CA. If the whole program is selected, the earliest scheduled starting date from all of the Cost Accounts is used. Also, the date value is updated each time a new CA is selected.
Days You can select either a positive or negative number of days to slip the whole program or CA. The default number of days is 1. To perform global slip
1. 2. 3. 4. On the Tools menu, click Global Slip. Select the program to slip, and click OK. On the Global Slip dialog box, define the parameters for the operation. Click Apply.
365
When performing the replacement/merge process, if a budget element exists with the same name as the new budget element for a particular Cost Account or Work Package/Class combination, the old data will be combined with the new budget element name. If there is no existing data, the old data will be renamed to the new. Because this process just renames and combines budget elements, the following conditions exist:
You must run Global Recalculation after running the replace process if the new budget element definition references different rates and/or different results. This is necessary since the replace process does not perform calculations on the combined/renamed data. Adjustments to the current period may occur the next time you calculate earned value since the replace process does not recalculate earned value for merged budget element data for work packages in progress or complete. You must run Apportionment Calculations since this process does not perform calculations on the combined/renamed data. Since the replace process does not change the total value of the work package, no log entries are generated.
When you click Replace Budget Elements on the Tools menu and select a program to open, the following dialog box is displayed:
366
Single Budget Element This option allows you to replace budget elements on a one-on-one basis. When selected, the following fields are enabled: Original Select the budget to replace from this list. Replacement Select the replacement budget element from this list. Budget Elements From File This option allows you to specify the .xls or .csv file to use to replace multiple budget elements at one time. When selected, the following field is enabled: File Name Clicking the ellipsis button next to the field displays the Select Budget Element List File dialog box that you can use to locate the .xls or .csv file that contains the list of original and replacement budget elements. The replace budget element feature can also be run automatically from a batch file. For more information, refer to Chapter 29, Batch Processing. To replace a single budget element
1. 2. 3. 4. 5. 6. On the Tools menu, click Replace Budget Element. Open the appropriate program. Select the Single Budget Element option. From the Original field list, select the old budget element to replace. From the Replacement field list, select the new budget element. Click Apply.
If security is enabled, the user must have Update and Delete rights to the program in order to run the replace budget element process.
367
An unopened work item that has an estimated start date that is before the current status date An unopened or an opened work item that has an estimated finish date that is before the current status date An unopened or opened milestone that has an estimated finish date that is before the current status date
If invalid dates are detected, Cobra displays a listing of the dates that should be corrected before continuing. If there is a forecast class in the classes list for the program which is based on the early or late Date Set, then early and late dates are validated during the checking process; otherwise, early and late dates are ignored. If an estimate date is changed and if there is at least one forecast class based on early dates, then prompts relating to early dates are displayed when you copy the new estimate date to the corresponding early or late date. If there is at least one forecast class based on late dates, then prompts relating to late dates are displayed. Typically, you might use this utility to verify that all estimated dates for work items and milestones for a program are still valid after advancing the fiscal calendar. To check program estimate dates
1. Open the desired program. 2. On the Tools menu, click Check Estimate Dates. Cobra validates the estimated dates for the program and displays a list of any invalid date. 3. When the operation is complete, click OK to continue.
368
wInsight Wizard
Configuration Page Program/Contract Page Export Structures Page Project Officer Codes Page Link Structures Page Cost Account Codes Page Cobra Cost Sets Page Element of Cost Page Performance Data Page Miscellaneous wInsight Database Page wInsight Connection File Dialog Box Save and Run Page
370
Overview
Cobra provides a number of utilities related to program-wide functions. These utilities include the following capabilities:
Backing up and restoring program data, reports, and etc. Checking program validity Updating totals Drill-down analysis Editing program files Exporting program information in the ANSI X12 format Exporting program information in the wInsight XML format
To store sets of data at specified stages in the development of a program As a preparatory step for operations that involve global manipulation of program data such as replanning, reclassing, or batch spreading To keep a safe copy of data that can be restored after you advance the calendar. This precaution is especially important since you cannot reverse the effects of advancing the calendar To keep several months of backups so that you can retrieve data for any period To copy both spreadsheet and FoxPro reports
The backup and restore facilities in Cobra can also be useful for safeguarding data from power outages and hardware failures. It should be noted, however, that these facilities are not a substitute for the regular and systematic backing up of all important programs and data files, which many organizations perform as part of their standard procedures. When you back up a program, the files that are backed up include the following information:
Program cost accounts, work packages, milestones, and budget elements Fiscal calendars, rate sets, breakdown structures, and budget element calculation files attached to the program Budget, actual, and forecast cost details The definitions of the program cost classes, cost reporting sets, and budgets The program budget baseline log Any information related to multi-program operations Any code files attached to program
371
Any files related to the importing of data from another application The entry for the program in the program directory
Use this dialog box to indicate the name of the program or report to backup. From the Files of Type list, select one of the following file types:
If you select Programs, the Include Auxiliary files in the backups option is enabled. Selecting this option backs up all the associated auxiliary files with the program. If this option is not selected, only the program and fiscal calendar are backed up. When backing up reports, filters, and sorts, you are only able to backup those that are shared and personal. Personal reports belonging to other users do not appear in the report list. Then, from the displayed list, you can select a single file (or multiple files) to be backed up. Clicking OK will take you to the Save As dialog box:
372
Use this dialog box to indicate the destination folder. When Cobra performs a backup, it saves all of the files it is backing up to your TEMP folder first, and then zips those files and saves them to the destination folder you specified in the Save As dialog box. If your TEMP folder does not have enough space, the T-phase table will typically be dropped and not included in the backup meaning there will be nothing in the T-phase records for the backup. You can avoid this situation from happening by either creating more space in your TEMP folder, or changing the location of your TEMP folder to a place with more available space. You can also choose the name and file type for the backup. The default filename is the current Cobra entity name, and the extension is based on the type of file you are backing up:
Program backup (*.cmp) Report backup (*.crp) Batch Report backup (*.cbr) Filter backup (*.cft) Sort backup (*.cst)
If the backup operation will overwrite existing files, Cobra prompts you for permission to overwrite any files that may be affected. Backing up a master program backs up all the associated subprograms. The subprograms will be backed up to files with the same name as the program. If the files already exist in the directory where the backups are being stored, they will be overwritten. To back up a single file
1. On the System menu, point to File Maintenance, and click Backup 2. Select the file to backup, and click Backup.
373
3. On the Save As dialog box, select a destination folder and file name for the backup, and click Save. 4. When the backup process is complete, click Close.
Use this dialog box to select the location for the backup files. Unlike backing up a single file, you cannot rename the files when performing a batch backup. Cobra uses the default entity names as the backup filenames. To back up multiple files
1. On the System menu, point to File Maintenance, and click Backup. 2. Select the files to back up, and click Backup. To select multiple items in the list, use Shift-click (for adjacent items) or Ctrl-click (for non-adjacent items). 3. From the Select Directory dialog box, select a destination folder for the backup files, and click OK.
374
Troubleshooting Restore
Under certain conditions, Cobra is unable to decompress the backup and provide a list of files contained in the backup. If you are unable to restore your auxiliary data, try adding the following to your cobra.ini: [Cobra] UnZipAll=1 Adding the same setting to the Cobra system.ini will make this setting for all users.
375
Restoring Data
When you click the Restore command, Cobra displays the following dialog box:
You can navigate to the directory where the backup files exist and easily select and restore them. Multiple backup files (even of different types) can be selected at one time. From the Files of type list, you have the following choices:
All Files (*.*) All Backups (*.cmp, *.crp, *.cft, *.cst, *.cbr) Program Backups (*.cmp) Report Backups (*.crp) Batch Report Backups (*.cbr) Filter Backups (*.cft) Sort Backups (*.cst)
Selecting one of these options filters the list of displayed files according to the file specification in parentheses. The default selection is All backups. This allows you to see all Cobra backup files stored in the selected directory. If security is turned on and you restore a personal report that belongs to another user, the report is restored as your personal report. If you already have a report with the same name, you are asked if you wish to overwrite it. If security is not on, Cobra restores the report as a shared report. If you select multiple different backups to restore, the backups will be restored in similar groups (for example, all programs, then all reports, etc.). Once you have selected the file or files to restore, clicking Open starts the restoration.
376
By default, if you select a single program to restore, Cobra displays the following dialog box when you click Open:
You can use this dialog box to select which auxiliary files you wish to restore with the program. You can also rename the program by entering a new name in the Restore Program as field. Clicking the ellipsis button next to this field allows you to select an existing program to overwrite. If you do not want this dialog box to display, clear the Allow individual parts of a backup to be restored separately option in the Restore category on the Application Options dialog box. If you do not want the user to be able to rename the program, clear the Allow program to be renamed upon restore option to disable the Restore Program as field. For more information on using the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. If you selected multiple programs to restore, the Select Files to Restore dialog box is not displayed, regardless of the settings in the Application Options dialog box. Cobra restores to the default program names and automatically restores all auxiliary files for each program. If during the restoration an existing file may be overwritten, Cobra prompts you for confirmation. Cobra cannot open a program that contains physical key field lengths that exceed those in the database. Therefore, when you restore a program that has one or more physical key field lengths that are greater than those in the database, Cobra allows you to increase the key field lengths to match those in the program using the Restore Field Lengths dialog box:
377
This dialog box features a grid with the following columns: Field This column displays a list of fields in the backup file that exceed the lengths of those currently defined in the Cobra database. Database This column displays the length defined in the Cobra database for each listed field. Backup This column displays the length in the backup file of each listed field. Clicking the Ignore button loads the data without changing the length of the fields. The Ignore button is displayed only if the Force data dictionary to be updated upon restore option in the Restore category of the Application Options dialog box is not selected. WARNING: If the backup file requires the extra field lengths and you choose to restore the data without increasing the field lengths, you may truncate your data. Typically, truncating data yields duplicates, and you may not be able to restore the data if duplicates are created. Clicking the Update Database button updates the Cobra database so that the length of the listed fields matches the length of the fields in the backup file. There is a limitation to the sum of the key fields. You may have to use the Configure Fields wizard to shorten other key fields. Please be aware that increasing field lengths hurts performance, so using the Ignore button is the better option if the data in the backup is not too large for your set. To restore a file
1. On the System menu, point to File Maintenance, and click Restore. 2. Navigate to the directory that contains backup file to restore. 3. Select the type of files to be displayed, and then select the file to be restored.
Deltek Cobra User's Guide 378
By selecting more than one file from the list, you can perform the restore operation in batch mode. To select multiple files, use Shift-click (for adjacent files) and Ctrl-click (for non-adjacent files). 4. When the information in the dialog box is complete, click Open.
Program information you can validate using this utility include the following items: Program data integrity Cobra validates that each detail record refers to a valid cost account, work package, and budget element. Cobra also checks that all program result names are reflected in the field structures of the detail files. In addition, Cobra checks that the schedule dates of each work package are within their cost account schedule dates. Any records with blank dates are flagged. Budget Element calculations Cobra validates that all budget elements are defined in the budget element calculation file and that all calculation tables used by the program are valid. This means that there are no definitions of base budget units that use other derived results as sources, that all rate set references are valid, that all result names are valid, and so on. Breakdown Structures Cobra validates that all program references to breakdown structure files are valid. Undefined Results Cobra validates that all calculation results are defined. Undefined results are possible if the calculations are modified after a budget is spread. (While undefined results are ignored by Cobra, discrepancies can be caused in reports or replanned work packages.) The Advanced button on this dialog box displays the tabbed Validity Check Options dialog box that you can use to specify how Cobra should perform each of these validity checks. If Cobra detects invalid program data, a message is displayed and a description of the invalid data is stored in the text file Valid.log. To check program validity
1. On the Tools menu, click Validity Check.
379
2. Select the program and the items on which you want to perform validity check, and click OK. Cobra validates the program information and displays a list of any invalid program data items. 3. When the operation is complete, click OK to continue.
Use this tab to specify the following options related to data integrity: CA has at least one WP Checks that each cost account contains at least one work package. Orphaned WPs Checks that deleting a cost account did not leave any orphaned work packages. If this option is selected, Cobra also enables an option to delete any orphaned work packages that it finds. WP has budget (if relevant) Checks that each budget element that should have a budget actually has one. Orphaned milestones Checks that deleting a work package did not leave any orphaned milestones. If this option is selected, Cobra also enables an option to delete any orphaned milestones that it finds. WP with MS has correct PMT Checks that each work package with milestones is using the Milestone PMT. Orphaned BE Checks that deleting a work package did not leave any orphaned budget elements. If this option is selected, Cobra also enables an option to delete any orphaned budget elements that it finds. BE has invalid class Checks that each budget element within the program has a valid cost class. BE has BAC but no T-phase Checks for budget elements that have Budget At Complete data but no T-phase. BE has invalid BE code Checks that the code for each budget element is valid.
380
Orphaned T-phase Checks for orphaned T-phase data. If this option is selected, Cobra also enables an option to delete any orphaned T-phase records that it finds. You can use the SQL Command Utility to run the Orphtphs.sql script to view the orphaned T-phase records. The script is found in the \Cobra\System\Scripts\ directory. T-phase has invalid class Checks that each T-phase has a valid class. Duplicate T-phase Searches for duplicate T-phase records. CAWP or T-phase has blank dates Searches for CAWP and T-phase records with blank dates. T-phase has blank BE code Searches for T-phase records with a blank budget element code. Delete blank T-phase Deletes blank T-phase records. T-phase has invalid BE code Checks that each T-phase record has a valid budget element code. Consistent Cost Class definitions Checks that cost class definitions are consistent.
Use this tab to select which of the following budget element checks you want Cobra to perform during the validity check operations: Missing result fields Checks that no result fields are missing from the budget element calculations. Inconsistently defined results Checks that all results are consistent and defined.
381
Orphaned results Checks that all results are referenced by at least one calculation budget element. Duplicate results Checks for duplicate results. Duplicate BE codes Checks for duplicate budget element codes. Valid result definitions Checks that all result definitions are valid. Calculations without results Checks that all calculations reference valid results.
Use this tab to select which of the following breakdown structure checks you want Cobra to perform during the validity check operations: Check CA1 field Checks that all the codes in the CA1 field of the program database exist in the breakdown structure specified by the CA1 key field. Check CA2 field Checks that all the codes in the CA2 field of the program database exist in the breakdown structure specified by the CA2 key field. Check CA3 field Checks that all the codes in the CA3 field of the program database exist in the breakdown structure specified by the CA3 key field. Check WP key field Checks that all the codes in the WP field of the program database exist in the breakdown structure specified by the WP key field. Check BE key field Checks that all the codes in the budget element field of the program database exist in the breakdown structure specified by the budget element key field.
382
Fix undefined results Allows Cobra to fix undefined results related to breakdown structures.
This tab allows Cobra to check for duplicated files found within the program structure. There is also an option to Delete CAs and WPs that have no costs. When selected, Cobra scans the program during validity check and deletes all work packages with no costs first, followed by cost accounts with no costs. Costs accounts pertain to budget, actuals, forecast, or earned value. The last two options in the dialog box are Check Apportionment Definitions and Check Apportionment Mapping.. When selected, the Check Apportionment Definitions option verifies that the definition you created for a budget element is correct. The Check Apportionment Mapping option ensures that the cost accounts and work packages where the apportioned budget elements are going to be created are correctly defined. For more information on apportionment definitions and mapping, refer to Chapter 32, Apportionment.
383
Update Totals
Cobra uses the program values BCWS, BCWP, ACWP, and EAC for a variety of purposes including the calculation of performance factors for automatic forecasting. These values are defined by the budget classes specified as BCWS, the performance cost class, and the actual cost classes specified as ACWP. They are displayed on the Program form. Your Program form may not use the names BCWS and ACWP depending upon which earned value notation you configured Cobra to use. For more information about earned value notation and configuring Cobra, refer to Chapter 2, Cobra Configuration. Each time you enter the appropriate information through the standard data entry screens, Cobra automatically updates these values. However, it is possible that data entered through an alternative means (for example, during an external updating procedure) has resulted in one or more of the values no longer being accurate. Cobra provides a utility that totals BCWS, BCWP, ACWP, and EAC so that you can make sure that the stored summary values are valid. If you notice a difference from the values on a CAP report and the value on the Program form, use this utility to ensure that the values on the Program form correctly represent the values in the tables. In addition, Cobra assumes that budget before the status date will remain constant. Therefore, the cumulative to date budget (BCWS) is only calculated when the calendar is advanced. Thus, if you change budget before the status date, you must use this utility to update the BCWS value. If you use the option to scale EAC, you will be prompted to recalculate EAC. Clicking Yes will overwrite manually entered values to the value in the Tphase file. To total BCWS, ACWP, BCWP, and EAC
1. On the Tools menu, click Update Totals. 2. Specify the program for the operation, and click OK. 3. When Cobra prompts you to confirm the operation, click OK.
Deltek Cobra User's Guide
BAC
SPI
When you click Drill Down Analysis on the Tools menu, Cobra prompts for the name of the program and breakdown structure and then displays the information you requested:
Notice that variances that exceed either the value or the percentage of the specified thresholds for a given element are highlighted in the display. (Negative cost and schedule variances that exceed the defined threshold are displayed using a contrasting color.) Notice also that you can collapse or expand breakdown structure elements so that you can drill down to any level defined in the structure. If you select <Cost Accounts> for the breakdown structure, you force the Drill Down Analysis form to show only cost accounts. Also, the cost accounts will be displayed flat, with no drilldown capability. By selecting an element on the grid, right-clicking the grid, and clicking an option from the context menu, you can create one of the following reports:
CV vs SV Graph S, P, A, ETC curves SPI, CPI, TCPI curves Bullseye Chart (SV% vs CV%) Bullseye Chart (SPI vs CPI) Quick Report
The graph created will be based on the item you have selected at the time you choose an option from the context menu. If you right click on the graph, you will be given options to change the image or print the information.
385
Drill down analysis only shows true TCPI values once historical EAC data has been generated. Drill down analysis allows you to drill down using breakdown structures on the cost account or work package.
Narrative Text
This Narrative Text pane allows you to display and edit the narrative text for the CPR5 Report for selected breakdown structure elements. Also, historical information is stored in the database, allowing an audit trail of narrative information for the program. The narrative information is broken into four categories:
The Narrative Category field allows you to select which category to display. Clicking the Get Narrative button displays the following dialog box:
This dialog box allows you to copy the previous months narrative text to the current period using the following categories: Copy narrative from the previous period Selecting this option copies the narrative from the previous period into the current period for the current category. Copy narrative from the combined children elements Selecting this option copies the narrative from the children elements into the selected element. This option is enabled only if the selected element has children elements. Copy narrative for all categories of the currently selected element Selecting this option copies the narrative from all four categories for the selected breakdown structure element, not just the displayed category. Copy narrative from Cost Accounts only Selecting this option copies only the narrative entries from the cost accounts.
386
Save As
The context menu also features a Save As command that allows you to save the report as a file so that you can print it at a later time.
Drilldwn\Images subdirectory: File wst_tree_blank.gif wst_tree_con_end.gif wst_tree_con_mid.gif wst_tree_exp_end.gif wst_tree_exp_mid.gif wst_tree_leaf_end.gif wst_tree_leaf_mid.gif wst_tree_trunk.gif Description Image used by ddactive.xsl Image used by ddactive.xsl Image used by ddactive.xsl Image used by ddactive.xsl Image used by ddactive.xsl Image used by ddactive.xsl Image used by ddactive.xsl Image used by ddactive.xsl
387
By default, the .xml file contains a reference (created when the file is initially saved) to the Ddactive.xsl support file. It is this style sheet that allows you to perform the drill down function. However, in order to view the .xml file in a static format, you must edit the reference in the .xml file to point to the Ddstatic.xsl document. You can use any simple text editor to view the contents of the .xml file and make the replacement. After opening the .xml file, look for href="ddactive.xsl at the beginning of the document. Replace ddactive.xsl with ddstatic.xsl, then save and close the file. You can also make the static view the default view by entering ddstatic.xsl for the Custom XSL document for XML output option in the Drill Down category on the Application Options dialog box. If you move the .xml file to a different location, you must also move the support files with it. Otherwise, when you open the .xml file, your browser will not be able to locate the style sheet and will generate an error. Once you have created one .xml file in a specific location, you can prevent Cobra from copying the support files again when creating other .xml files and saving them to the same location as the first. You do this by clearing the Always generate XML support files option in the Drill Down category on the Application Options dialog box. Overwriting the support files does not cause any problems to existing .xml files. However, if you have customized any of the support files for your company, you would not want Cobra to automatically overwrite them. For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings.
388
To use a specific template for the CV vs SV graph report, enter the location and filename for the new template in the CV-SV chart template file option in the Drill Down category on the Application Options dialog box. For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings.
To use a specific template for the BCWS, BCWP, ACWP, ETC curve report, you can enter the location and filename for the new template in the Curve chart template file option in the Drill Down category on the Application Options dialog box. For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings.
389
390
Quick Report
The following is an example of a Quick Report:
The items in the report will be expanded or collapsed just as they are in the DrillDown Analysis form. To perform a drill down analysis
1. On the Tools menu, click Drill Down Analysis. 2. In the Analyze Program dialog box, specify the program and breakdown structure to use for the analysis, and click OK. Cobra displays the information for the program. 3. Take one of the following actions: To collapse or expand an element, click the selection button for the row. To display a graphic displaying time-phased cost variance and schedule variance curves, right-click the display, and click CV vs SV Graph.
391
curves) right-click the display, and click S, P, A, ETC curves. To print the information for the program, right-click the display, and click Quick Report. (To close the print display, click the Close button on the Print Preview toolbar.) To save the information for the program, right-click the display, and click Save As.
Cost accounts Work packages Milestones Budget elements Time-phased detail The program log
You can access the Program Edit command from the File Maintenance submenu of the Systems menu. When you click Program Edit and select a program, Cobra displays the Program Edit dialog box.
Use this dialog box to specify the data files you want to edit. You can also select Read Only to prevent the data from inadvertently being updated. This utility allows you to add, update, and delete records without any of the validation routines provided by the standard Cobra data entry forms and dialog boxes, and thus, it should be used with caution. In the following image, the Cost Account, Work Package, and Budget Account tables have been selected for editing:
392
393
Clicking the Options button displays the ANSI X12 Export Options dialog box, which is discussed in a following section. The ANSIX12 Export dialog box contains the following options:
Program This field controls the program that you are exporting. You can select a program from the list. Description This field displays the description of the selected program. Export to file This field controls the name and destination of the transaction file that will be created by this procedure. An ellipsis at the right edge of the field displays the Save As dialog box where you can select a drive and a directory.
Export Level
You have a choice of the level of detail to export: Structure Level 3 Cobra exports data summarized at the third level of the breakdown structure. If there is a cost account associated with a second or first level element of the structure, performance data will be exported at that level. Summarized data typically will be generated to satisfy customer requirements. Cost Account Cobra exports data at the cost account level. This level of information would typically be used by a CAM to analyze his data in other applications.
394
Work Package Cobra exports data at the work package level. If the actuals are collected at the work package level, then you are allowed to export data to that level.
Version 3040 exports CPR formats 1 and 2 Version 3050 exports CPR formats 1, 2, 3, and 4
Certain derived results are summarized at the bottom line in the ANSI X12 Transaction Set 839 Project Cost Reporting format. Cobra uses sort codes to identify these results in the budget elements. The following options are provided:
Include in body Select this option to include General & Administration in the cost values within the body of the CPR report. Include in bottom line Select this option to drop General & Administration to the bottom line of the CPR report.
Overhead
The sort code O in the calculation indicates an overhead result. Select from the following options:
Include in body Select this option to include Overhead in the cost values within the body of the CPR reports. Include in bottom line Select this option to drop overhead to the bottom line of the CPR report.
Cost of Money
The sort code C in the calculation indicates a COM result. Select from the following options:
Include in body Select this option to include Cost of Money in the cost values within the body of the CPR report. Include in bottom line Select this option to drop Cost of Money to the bottom line of the CPR report. For more information about budget element sort codes, refer to Chapter 10, Budget Elements.
For more information about CPR Format 3 reporting, refer to the section on CPR Format 3 reporting in Chapter 21, Reporting Utilities. The manpower data exported in CPR Format 4 can be exported in either hours or full time equivalents (FTE). The hours are defined by a result named HOURS in the budget element. FTEs are calculated by dividing the hours for the period by the hours defined in the fiscal calendar defined for the program. For information on how to specify which mode (FTE or HOURS) to use, refer to the Hourly Data section in this chapter.
Scale Factor
When exporting currency values, Cobra uses the scale factor of the program found in the program directory. Regardless of the scale factor, the exported data will contain two digits to the right of the decimal.
Export File
The ANSI X12 Transaction Set 839 Project Cost Reporting transaction file format contains a number of sections. The following is a list of the sections that Cobra exports: Contract data section Exports program details and performance data across the whole program. Format 1 Exports currency performance data related to the breakdown structure that is associated with Cost Account key field 1. Format 2 Exports currency performance data related to the breakdown structure that is associated with Cost Account key field 2. Calendar Set 09 Cobra collects calendar data, which is required by Formats 3 and 4 from Calendar Set 09. Format 3 Exports baseline data, including: Beginning of Period Baseline data Baseline changes End of Period Baseline data Format 4 Exports hour data related to the breakdown structure that is associated with the second cost account key field (CA2). Cobra exports this data in two parts: Manpower budget at complete (BAC) manpower data related to costs defined in the BCWS cost reporting set Forecast or latest revised estimate (LRE) manpower data related to costs defined in the ETC cost reporting set You can also export ANSI X12 data automatically in a batch file. For more information, refer to Chapter 29, Batch Processing. To export data
1. On the File menu, point to Export, and click ANSI X12. Cobra displays the ANSI X12 Export dialog box. 2. Define the parameters for the operation as follows:
396
to access the location and name of the transaction file to which you want to export the data. Select the level of data you want to export. Indicate the translation set version. 3. When the information for the operation is correct, click OK.
Define the export file name. Data will be exported to this file. Click the ellipsis
Export Options
Clicking the Options button on the ANSI X12 Export dialog box displays the following:
This dialog box is an excerpt of the Application Options dialog box. You can use this dialog box to edit the Cobra.ini settings for the ANSI X12 export process. For more information on the Application Options dialog box and explanations for each of the options, refer to Chapter 33, Application Options & .ini Settings.
The WBS is assumed to be the cost account key field 1 (CA1) structure file.
397
The OBS is assumed to be the cost account key field 2 (CA2) structure file.
In Cobra, the ANSI X12 Extended Export provides the option of using the breakdown structures linked to the program as a code attached to the cost account for the WBS or OBS. For example, to specify the WBS to be the code 1 on the program and the OBS to be the code 2 on the program, select the 1 for the Use alternate code for WBS option and select 2 for the Use alternate code for OBS option on the ANSI X12 Export Options dialog box. Refer to the previous section for more information on the ANSI X12 Export Options dialog box.
Control account manager and project officer Hourly data Future monthly BCWS and ETC
To export the extended data, select the Export wInsight extended information option on the ANSI X12 Export Options dialog box. For more information on the ANSI X12 Export Options dialog box, refer to the Export Options section in this chapter.
398
When this option is selected, the caption of the ANSI X12 Export dialog box is changed to read ANSI X12 Export (Extended).
Hourly Data
Hourly data in the CPR Format 4 can be exported as either full time equivalents (FTE) or Hours. Cobra converts the hours to equivalent persons using the hours found in the fiscal calendar. You can specify which mode to use by selecting FTE or HOURS for the Export Man Power in option on the ANSI X12 Export Options dialog box. For more information on the ANSI X12 Export Options dialog box, refer to the Export Options section in this chapter. When Cobra exports hours for CPR or for future periods, the indirect elements in hours are not exported.
399
Suppressing Warnings
To avoid clicking OK each time Cobra displays a warning message, you can suppress warning messages by selecting the Write warnings to log only option on the ANSI X12 Export Options dialog box. For more information on the ANSI X12 Export Options dialog box, refer to the Export Options section in this chapter.
Warning: <CA Prompt> key field 1 structure file not found in Breakdown table. Format 1 will not be exported. Warning: <CA Prompt> key field 1 structure file is empty. Format 1 will not be exported. Warning: Before exporting format 2, <CA Prompt> key field 2 must be associated with a breakdown structure. Format 2 will not be exported. Format 2: Note: The messages for Format 1 and Format 2 are the same except that for Format 2 they refer to Key field 2. Warning: <CA Prompt> key field 2 structure file not found in Breakdown table. Format 2 will not be exported. Warning: <CA Prompt> key field 2 structure file is empty. Format 2 will not be exported.
400
Export Process Phase Calculating the calendar data (Calendar 09, required by Formats 3 and 4)
Warning Warning: Errors found while getting data from Fiscal Calendar Set 09: Only found <X> flagged periods. Formats 3 and 4 will not be exported.
Meaning The calendar must be of a structure which contains at least nine flagged periods, with those nine periods meeting the following rules: The first two periods must be labeled PREVIOUS and TODATE respectively. The Transaction Set requires that data for six consecutive flagged periods after the current period must be reported on, followed by up to four remaining flagged periods.
The last flagged period of the calendar must be labeled ATCOMPLETE. Calculating the calendar data (Calendar 09, required by Formats 3 and 4) Warning: Fiscal Calendar Set 09 has less than 4 flagged Remaining periods. Formats 3 and 4 may contain errors. This message is given if there are less than 4 flagged Remaining periods in the calendar. Errors may result from importing data with a lower number of exported periods. Note There can be 0-4 remaining periods; thus, this does not contribute to the minimum number of flagged periods. Formats 3 and 4 will still be exported if this warning is raised. However, data from any flagged periods after the fourth remaining period and before the ATCOMPLETE period will not be exported. This data will be included in the ATCOMPLETE figure. Format 4: Note: The first three messages are the same as those for Format 2. Format 4 data will not be exported if there was an error in getting the calendar data. For more information on using Format 4, refer to the section, Exporting Data Using Format 4. Warning: Before exporting Format 4, <CA Prompt> key field 2 must be associated with a breakdown structure. Format 4 will not be exported. There is no breakdown structure associated with Cost Account Key Field 2 (CA2)
Warning: <CA Prompt> key field 2structure file not found in Breakdown table. Format 4 will not be exported. Warning: <CA Prompt> key field 2 structure file is empty. Format 4 will not be exported. Warning: Invalid Format 4 Mode in INI file, defaulting to FTE. Warning: Non-zero result(s) defined for a period for which there are no hours defined. Format 4 data will be invalid. <CA Prompt>(s): <Relevant Breakdown structure codes> <The Period>
The breakdown structure associated with Cost Account Key Field 2 is not found in the BREAKDWN table. There are no detail records in the breakdown structure associated with Cost Account Key Field 2. An invalid mode was specified for exporting Format 4 data. Format 4 will still be exported with no errors. If you specified the FTE mode, and you also specified hour data that corresponds to a period for which there are no hours defined in the calendar. In addition to this warning, a value of 1 will be used.
401
wInsight Wizard
The wInsight Wizard loads data into wInsight. To see all of the selected options in wInsight, you must use wInsight v6.2 or greater. You also have an option to generate an .XML file that can be used to manually import the data into wInsight.
Configuration Page
The Configuration page allows you to create a new wInsight Wizard configuration or open an existing configuration. The configuration is a saved set of options. For example, you can create different configurations for internal integration with wInsight and one for customer deliverables.
Create a new configuration Choose this option to create a new configuration. Open an existing configuration Choose this option to open an existing saved configuration. Configuration File If you have chosen to open an existing configuration, you must specify the configuration file you will open. You must choose a valid configuration file before you can move to the next page. Configuration files use the extension cfg. Description Displays the description of the selected saved configuration file.
402
If a valid configuration file has been selected, the Finish button is enabled allowing you to run the process at any time. If Finish is clicked in the first page, the process will run. However, the configuration file will not be saved. If Finish is clicked in the second or subsequent pages, you will be asked if you want to overwrite the existing configuration. The export will run in either case.
Program/Contract Page
The Program/Contract page is used to select the program you want to export:
Program Select the program you wish to export. The program can be a single program or a master program. You must have at least read access rights to select programs. Contract Name Enter the programs name when it is exported to wInsight. By default, the name is the Cobra programs contract name. If the contract name is blank, it defaults to the programs name.
403
The Export Structures page displays a grid with the available structures. The following is a list of the structure that will be available in the grid:
Structure files that are linked to the key fields on the project Structure files that are linked to code fields on cost accounts or work packages on the project Structure file that is used for the CAM code. Export This column shows a checkbox. To select a structure for exporting, click its checkbox. Name This is the label and also the prompt of the field the structure is associated with on the program. For a key field, this will be the key fields Name. For a code field, this will be the code fields User Prompt. You cannot export more than one field using the same name. For example, if the CA1 key field uses WBS and a CA-level code uses WBS, the export process will not begin. One of the labels must be renamed in Cobra.
File This shows the file name of the structure file. This column is read only. Exported Name This is the name assigned to the structure when it is loaded into wInsight. The name defaults to the Name value. The name selected must follow these rules: The name defaults to the Name value.
404
You cannot specify duplicate names (for example, you cannot have two names set to WBS). If a file represents the WBS, it must be given the name WBS. If a file represents the OBS, it must be given the name OBS. At least one file must be given the name WBS. The name Indirect cannot be used for any structure. This is a reserved name used internally by the export.
Level This is a drop-down list which allows you to choose the level at which to summarize and export the data for this structure. The available values for level are: a level of the structure (this varies according to the maximum number of levels allowed in the structure) Cost Account Work Package The Work Package option is only available if the structure is also used by the Work Package key. The prompts used for Cost Account and Work Package are taken from the Program. The resource breakdown structure does not allow the selection of the levels CA or WP.
Code for Cost Account level actual costs This is the code ID used for the element that represents cost account level actual costs if costs are captured at the cost account but an export structure is exported down to the work package level. The default ID is Actuals. Using this option, you can export level budget and earned value at the work package level and a new work package (with the name Actuals) will be generated under the cost account containing the actual costs and forecast information for the cost account. This field is only enabled if: costs are captured at the cost account CA or Both level there is at least one cost account level ACWP class defined and the user has chosen to export at least one structure down to the work package level. Parent code for multiple top level elements This is the code ID used for the top level element that is added to structures that have multiple top level elements. The default is Top. This is useful when you have created a structure that has multiple top level elements. Since wInsight only supports a single top level element, this option simply puts a code (Top) above the Cobra top level elements.
405
WBS Project Officer code The drop-down list is used to select the field that contains the WBS project officer code. The list contains the following values: the name of each code field used on the WBS structure being exported the Cost Account Manager field name
OBS Project Officer code The drop-down list is used to select the field that contains the OBS project officer code. The list contains the following values: the name of each code field used on the OBS structure being exported the Cost Account Manager field name If you have not identified an OBS to export, this field is disabled.
406
The Link Structures page contains the grid displayed above. The structures listed in the grid are only those structures that:
are linked to key fields on the Cost Account or which are CA/WP code fields, have not been selected in the Export Structures page, and are at the same level as the WBS chosen on the Export Structures page. For example, if the WBS is a wp-level code, then only wp-level structures or codes are available. If your project does not have one of these items, this grid will be blank.
Export This column shows a checkbox. To select a structure for linking to the WBS in the export, click its checkbox. Name This is the label and also the prompt of the field the structure is associated with on the program. For a key field, this will be the key fields Name. For a code field, this will be the code fields User Prompt. File This shows the file name of the structure file. This column is read only.
407
Exported Name This is the name given to the exported linked structure once it is loaded into wInsight. This is: the key field name with which the structure is associated, or the code field name with which the structure is associated. You can enter a name you choose in this field. The name selected must follow these rules: If the structure file is a key field, the name defaults to the key field name. If the structure file is associated with a code field, it defaults to the code field name. You cannot specify duplicate names. You also cannot use a name that is the same as an exported structure. The name Indirect cannot be used for any structure. This is a reserved name used internally by the export.
The Cost Account Codes page contains the grid displayed above. The grid contains the following list of cost account level code fields:
Export This column shows a checkbox. To select a structure for linking to the WBS in the export, click its checkbox.
408
Code Field This is the prompt used by the CA-level code field. This column is read only.
The Cobra Cost Sets page displays the grid shown above. The grid contains the following fields:
wInsight Cost This field shows the following values: BCWS BCWP ACWP ETC LRE EACMIN EACMAX REPLAN OTB This column is read only. These are the terms that are exported and used by wInsight. They do not change when you change the terminology used by Cobra.
Cost Set This is the name of the Cobra reporting cost set that will be exported as the corresponding wInsight cost. You can choose from any cost set that belongs to the program. The default for each row is the cost set that corresponds to the wInsight cost. LRE defaults to EAC. EACMIN defaults to EAC2 and EACMAX defaults to EAC3.
409
For example, for the wInsight cost BCWS the Cost Set will default to BCWS (or Planned or PV depending on the terminology being used by Cobra). The user may change this to any other cost set. The Cost Set may be set to <None> for EACMIN and EACMAX. All other rows must have a cost set selected.
Element of Cost used to specify the cost units and which field will be used as the element of cost included in the report. Start the process by selecting the type(s) of units. At least one choice must be made. You will not be allowed to continue past this page unless one selection is made from Dollars, FTE, or Hours. Other allows you to specify further breakouts of each WBS element to the elements of cost. Because the number of elements of costs supported within wInsight is limited, you must select a level of the RBS or a code on the RBS to summarize the budget elements in Cobra to a level (or code) used to identify the Element of Cost. This option is disabled if there is no structure file assigned to the BE field on the program. Other contains two options: Level on RBS allows you to choose a level of the RBS for the element of cost. This option is disabled if there are no code fields defined on the RBS. Code on RBS allows you to choose a code on the RBS to use as the element of cost.
410
The RBS is the structure file that is linked to the BE field in the Program Directory.
Manpower Units allows you to specify the manpower units to be used in the CPR 4 report in the export. Select one of the following: Hours are identified using sort code H. FTE is calculated based on calendar hours and no calculation is performed to take account of starting or ending periods.
Currency Values Select one of the following currency options: Sum Currency results Select this option to sum the results defined as currency results in the calculation. Sum selected results Select this option to specify which results will be used to calculate the values. You will be provided with a list of the results used in your program. You must select at least one result. Multiply currency by Select this option to multiply the selected currency value by a number. This is useful when adding a single multiplier for Fee when reporting to a customer or prime contractor.
Overhead The sort code O in the calculation indicates an overhead result. Select from the following options: Include in body Select this option to include Overhead in the cost values within the body of the CPR reports.
411
Include in bottom line Select this option to drop overhead to the bottom line of the CPR report.
General & Administration The sort code G in the calculation indicates a G&A result. Select from the following options: Include in body Select this option to include General & Administration in the cost values within the body of the CPR report. Include in bottom line Select this option to drop General & Administration to the bottom line of the CPR report. Cost of Money The sort code C in the calculation indicates a COM result. Select from the following options: Include in body Select this option to include Cost of Money in the cost values within the body of the CPR report. Include in bottom line Select this option to drop Cost of Money to the bottom line of the CPR report.
Miscellaneous
The Miscellaneous page is used to set options for the exported format, calendar, and dollar scale factor.
Exported Format Select either CPR or CSSR as the exported report format. You may also select from the following: Export status flag for each WBS element Select this option to export a status flag for all elements on the WBS indicating whether the corresponding cost account or work package is open, closed or unopen. The first time this option is used, you must have permission in wInsight to add custom columns to the wInsight database because this option adds a custom field called status to the wInsight database.
412
The Cobra status will be translated when loaded into wInsight using the following: Cobra Status Open Closed wInsight Status value In Progress Completed
Unopen Not Started Export monthly forecast periods Select this option to allow consecutive forecast periods used in the manpower reports.
Calendar Select from the following options: Export Calendar Select this option to export the calendar data. The exported calendar is given the name of the calendar used by the program. This option is selected by default. Financial End of Year Select this option to define the end of financial year date in month.day format. This option defaults to 12.31. Date Format Select this option to format a wInsight date string that is used to format the calendar period dates. The lookup button displays a list of common formats that can be chosen. This option defaults to !%b %y. This represents uppercase month year (for example, JAN 06). Dollar Scale Factor Select this option to divide the currency values by a scale factor such as 1000 to report in thousands of dollars.
413
Password text cannot be seen or copied from password cells. Password data is encrypted when saved to the configuration file. The following options are available:
Transfer data directly to the wInsight database Controls the exporting of data directly into the wInsight database. Recalculate after transferring data to wInsight Performs a recalculation in wInsight after transferring the data to wInsight. Connection File Identifies the name of the connection file to use to connect to wInsight. Clicking the lookup button allows you to choose from .iwc files saved on disk. New Clicking this button displays the wInsight Connection File screen which is used to create a new connection file. When you have completed the wInsight Connection File screen, the connection filename that was specified in the wInsight Connection File screen is put into the Connection File field. Edit This button is enabled only if a connection file has been selected in the Connection File textbox. Clicking this button displays the wInsight Connection File screen which is used to edit the selected connection file. When you have completed the wInsight Connection File screen, the last connection filename that was specified in the wInsight Connection File screen is put into the Connection File field.
414
Filename Shows the name of the connection file that is being edited or that has just been saved. If you choose the Save As button and save the file to a new name, the new name will appear in this field. wInsight Database The following options are available: Database Name Identifies the name of a wInsight database as defined in the wInsight administrator or client (required by the wInsight API). User ID Identifies the database user ID that wInsight uses when connecting to its database. Password Identifies the database user IDs password that wInsight uses when connecting to its database. wInsight Login The following options are available: wInsight doesnt require a login Cobra will connect to wInsight as Admin without a password. Use your Cobra user ID and password Allows Cobra to use the loggedin users ID and password when logging into wInsight via the wInsight API to transfer data into wInsight. Use wInsight O/S authentication Allows Cobra to use wInsights operating system authentication when logging into wInsight. Specify your wInsight user ID and password Enables the associated User ID and Password fields: User ID the wInsight user ID.
415
Close Closes the wInsight Connection File dialog box. If changes have been made but not saved, you are prompted to save the changes. Open Allows you to open an existing connection file. If a new connection file is opened, the Filename field is updated to show the name of the opened file and the values on the screen are updated to reflect the contents of the opened connection file. Save As Displays the Save As dialog box and allows you to save the connection settings to a new filename. Once the save has been completed, the Filename field is updated to show the name of the file that has been saved.
Export your project now Exports the project. Append current period label to file name Adds the current periods label to the end of the filename (before the file extension). This option is useful to ensure an archive of exported files is built up over time. Export File Specifies the file name and location of the exported data. It defaults to the Cobra project name with .xml extension. It is always enabled even if you have chosen to load data into wInsight. It allows you to manually re-import data into wInsight if there is a problem with the API load. It negates having to re-export project data which could take some time on very large projects. Save your configuration Saves your export configuration. Configuration file Specifies the name of the configuration file to save. Description Displays detailed information about the configuration.
416
See Chapter 29 for information about batch commands for the wInsight Wizard.
417
418
Overview
In an integrated cost/schedule environment, activities in a schedule are identified with their cost control points (that is, cost accounts or work packages) in an earned value management system. This integration allows cost control budgets and forecasts to accurately reflect the most current actual and estimated scheduling information. You can create an integrated cost/schedule system between Cobra and the following scheduling software tools: Deltek Open Plan 3.x Microsoft Project 2000/2002/2003 Primavera P3 Primavera 5.x/6.x If you do not use one of these a scheduling tools, you need to export the data using the transaction file definition found in Chapter 27, Customizing the Integration Process. By linking a Cobra program with a scheduling tool, you can have a system that provides for single data entry. This avoids both the extra effort and the increased risk of error associated with having to enter the data in both the schedule and Cobra. The detailed resource-loaded schedule provides the time-phasing of the budget in Cobra while status data from the schedule generates earned value in Cobra. In addition, if you use Open Plan as your scheduling tool, you can also use the integration features of Cobra to provide for bi-directional data transfer. The subject of cost/schedule integration is addressed in three chapters of this users guide: Chapter 24, Schedule Integration: Preparation This chapter addresses the following topics related to preparing the schedule for integration: Sharing cost and schedule information Preparing the schedule Preparing the program in Cobra Chapter 25, Schedule Integration: Baseline This chapter addresses the following topics related to creating or updating an integration configuration: Using the Integration Wizard Commonly encountered schedule loading errors Setting the baseline in Cobra Updating resources in Open Plan Chapter 26, Schedule Integration: Status This chapter addresses the subject of how the integration wizard is used to monitor status, load a forecast, and perform revision control operations.
420
Activity durations should be from six to eight weeks in order to calculate accurate earned value. (By collecting actual costs at the cost account level, you can reduce the number of charge numbers.) Activities with longer durations can be used if the PMT of their work packages is Percent Complete. In this case, the Physical Percent Complete entry in the schedule should be based on something that can be measured objectively, such as the number of completed drawings.
Budget revisions should begin in the schedule as additions or revisions and be updated in Cobra.
Because Cobra supports the milestone PMT, it is also possible to set up a system where several activities in the schedule generate a single work package with milestones in Cobra. In this scenario, the baseline finish dates of the activities in the schedule can be correlated to the milestones in the work package. Note, however, that the earned value is calculated as a weighted percentage for all budget elements of the work package. For this reason, this feature is best used when you do not plan to use a resource-loaded schedule. While Cobra does have the ability to build the schedule and load the budget manually, this process does not promote integration between cost and schedule. The best usage of this feature would be to add the following items into the Cobra program: Level of effort and apportioned work packages Planning packages maintained in Cobra Budget revisions made in Cobra Adjusted resource hours updated in the scheduling software You can then use powerful features in Cobra such as top-down planning to convert these resource loadings into a fully costed budget baseline, and you can update the schedule with data from Cobra. Updating Open Plan resources with data from a Cobra program does not create activities in the project. Cobras Integration Wizard (discussed in detail later in this chapter) is a userfriendly feature that allows you to define how your Cobra program should be created or updated from your schedule. The Integration Wizard also allows you to load code files from your schedule. You may save only the settings you have made for your configuration, or you may synchronize Cobra with your schedule as well. The following is a list of items that can be loaded from a schedule: Code files Resource definitions and rates Budget Code assignments Status Forecast
421
422
If you are loading budget from baseline dates, Cobra looks in the baseline file for the linking data. Thus, if you update the information in one of these fields, you must update the baseline before loading data into Cobra. If you are loading data from scheduled dates, Cobra looks at the activity file for information.
Resources
Cobra loads the unit rate from the resource file only if the value for the rate is any value other than 0 or 1. If the rate for the resource is not equal to 0 or 1 and a calculation template is not used, Cobra creates budget elements with the result of HOURS and DIRECT, where the direct rate comes from the rate defined in the schedule. If the rate for the resource is equal to 0 or 1, Cobra creates the budget element with a single result of DIRECT. For more information about derived costs, refer to the Creating a Calculation Template section in this chapter.
Resource structures
A resource breakdown structure originating from Open Plan can be brought into Cobra. It is possible to use a punctuated significant breakdown structure for resource codes in Open Plan and a non-significant breakdown structure for budget elements in Cobra. When loading a resource breakdown structure from the schedule, Cobra compares the resource code with the format of the breakdown structure validating the budget element file in Cobra. If a punctuated-significant format was used in the Open Plan resource code and a non-significant format is used in Cobra, Cobra removes the parent information from the resource code. Thus, a resource with an ID of LABOR.ENG.ENG01 would appear in Cobra as the budget element ENG01.
Resource-loaded schedule
When linking with a resource-loaded schedule, Cobra uses the value in the Resource Assignment Level field from the schedule as the value for the budget unit. If a curve is not used on the assignment, the level is multiplied by the duration. If you plan to later update the Open Plan project with information from Cobra, use spread curves rather than offsets and periods as this information does not transfer back. When you load budget from Open Plan, you can load from a baseline or the schedule. Cobra reads the time phased spread information from the usage file. If you are loading from a baseline and you want the spread in Cobra to match, you must use a reporting calendar and perform resource scheduling before the baseline is created. Cobra does not support loading from early or late dates in Open Plan.
423
If you want to load from early or late dates, you must create a baseline in Open Plan based on these dates and then load from that baseline into Cobra. (If you choose the early or late dates option when integrating with Open Plan, Cobra informs you that it is not supported). Depending on the detail at which you resource load your schedule, you might want to take advantage of one of the following options: If you resource load at the name level, you should set a baseline at the pool level If necessary, you can schedule the individual resources in six-month blocks of time. This prevents you from having to explain a variance caused by the replacement of one resource with another. This is not necessary if you choose the option below (to roll up resources in Cobra) because it has the same effect. You roll up the budget to the pool level in Cobra but always schedule/baseline at the name level in Open Plan.
Roll up resource information by defining the budget element calculations for a higher-level resource. For example, assume that you have set up the following breakdown structure in Cobra:
It is possible to roll up resource information by defining the budget element calculations for ENG, but not for TOM and SUE. The lower-level resource requirements can be combined and rolled up to a higher level for costing purposes. Do not use the roll-up feature if you intend to update Open Plan resources from Cobra. Refer to the Updating Resources in Open Plan Professional section in Chapter 25, Schedule Integration: Baseline.
In Open Plan, select the Roll up for Scheduling option on the General tab of the Resource Details dialog box.
424
Baseline
To load resources into Cobra using a baseline, you must first set a baseline in Open Plan. If you intend to do earned value reporting in Open Plan or if you have many activities to one work package in Cobra, be sure to perform cost calculations before creating the Performance Measurement Baseline (PMB). You can then use this baseline to load data into Cobra. You can always load data from another baseline, but if you want the earned value information in Cobra and Open Plan to match, you should use the PMB.
File format
The data for Microsoft Project must be stored in either the database (.mpd) format or in SQL Server. If you choose SQL Server, you must create a DSN to this database.
In addition, text fields can be used to identify the PMT and the class. Number fields can be used to identify the milestone weight. You can also load the task work, cost, or BAC values as the milestone weights.
Resources
Cobra loads only the standard rate for the default cost rate table. If the rate for the resource is greater than one and a calculation template is not used, Cobra creates budget elements with the result of HOURS and DIRECT, where the direct rate comes from the rate defined in the schedule. If the rate for the resource is equal to 0 or 1, Cobra creates the budget element with a single result of DIRECT. For more information about derived costs, refer to the Creating a Calculation Template section in this chapter.
Resource-loaded schedule
When linking with a resource-loaded schedule, Cobra uses the resource assignment (the work field) from the schedule as the value for the budget unit. Microsoft Project resources are spread linearly from the activity start to the activity finish. Cobra uses a linear spread to map the resource spread into Cobras fiscal periods. In Microsoft Project, you have the option to save time phased data in the database. If you are saving the time phased data, Cobra will take the time phased data from the database and spread it into Cobras fiscal periods. Cobra simply takes the data stored in the database and spreads it using the dates and values found in Microsoft Project.
Deltek Cobra User's Guide 426
You can also display the MSP category by expanding the Integration category on the Application Options dialog box and then selecting MSP. If your calendar is not month end, you will see a difference in the spread because Cobra has to spread the values into the fiscal periods. If you do have a month end calendar in Cobra, you may see a slight variation in the spread because Microsoft Project does not always store the records using a month end date. Regardless of the calendar, the total work will always be the same in Cobra after loading, but the exact monthly spread may vary a little.
There are also various items that need to be setup in Microsoft Project. Each step must be followed in order to ensure that the correct data is loaded into Cobra.
To format Timescale in Microsoft Project 2000/2002/2003
1. In Microsoft Project, click Timescale on the Format menu. 2. From the Units field in the Major scale section, select Months. (This makes the lowest level scale equal to months.)
427
Select here
Unfortunately when you perform these procedures, Microsoft Project does not generate cut off dates in the database based on your calendar selection. The dates vary near the end of the month but are not exactly month end. Therefore, when Cobra loads this data, it must respread the data to match the fiscal calendar created in Cobra. Thus, the spread you see in Microsoft Project might not exactly match the spread found in Cobra after loading data using this option.
Baseline
Microsoft Project gives you the opportunity to create a baseline. You can choose to load budget using baseline or scheduled dates in Microsoft Project.
428
If you are using the option of expanding time-phased data in the database, when saving a baseline in Microsoft Project, Microsoft Project rewrites the database. This method is often more accurate than loading from the schedule dates.
Primavera P3
You must have the Btrieve engine installed on the desktop if you want to integrate Cobra with Primavera P3. (This engine is automatically installed when installing Primavera P3.)
Resources
Cobra loads the first Price/Unit on the resource. The rate escalation is not loaded through the Integration Wizard. If you want to load the escalated rate value, you need to export the rates and load them through the general import.
Resource Definitions
If the rate for a resource is greater than one and a calculation template is not used, Cobra creates budget elements with the result of HOURS and DIRECT, where the direct rate comes from the rate defined in the schedule. If the rate for the resource is equal to 0 or 1, Cobra creates the budget element with a single result of DIRECT. For more information about derived costs, refer to the Creating a Calculation Template section in this chapter.
429
Resource-loaded schedule
When linking with a resource-loaded schedule in Primavera P3, Cobra uses the value in the Budgeted Quantity field to generate the budget unit of the budget element. If no value exists in the Budgeted Quantity, Cobra will look at the Budgeted Cost field in P3. If a value exists in this field, Cobra will use this value as the DIRECT result. By default, Cobra spreads resources linearly over the duration of the activity. However, there is the Use the curves defined on the resource assignments option that allows you to spread using the P3 spread curve.
The Integration Options dialog box is accessed by clicking Options on the Action Selection page of the Integration Wizard. You can also access the integration options by selecting the appropriate category from the Application Options dialog box accessed from the System menu. Refer to Chapter 33, Application Options & .ini Settings, for more information. To preserve the spread curve found in P3, you must add curve definitions to Cobra that match the curve numbers in P3. You can do this automatcally by running the P3curves.sql script from the SQL Command Utility. When loading the P3 resource data using the curve definition, Cobra takes the P3 curve letter, looks for a spread with that name in the spread table, and then uses that curve definition. For more information on using the SQL Command Utility, refer to Chapter 23, Program Utilities.
430
Primavera 5.x/6.x
The following is how you setup Primavera 5.x/6.x.
File Format
The data for Primavera 5.x/6.x must be stored in either SQL Server or Oracle. You must create a DSN to this database. To connect to the proprietary Interbase database installed with Primavera 5.x/6.x, refer to the Primavera Knowledge base solution ID 2003613112422 on how to install the ODBC drivers.
Resource rates
If resource rates are being imported, Cobra loads the escalated rates from the Primavera resource rates table. The fields loaded are resource name, start date, and cost per quantity.
Resource Definitions
If the rate for a resource is greater than one and a calculation template is not used, Cobra creates budget elements with the result of HOURS and DIRECT, where the direct rate comes from the rate defined in the schedule. If the rate for the resource is equal to 0 or 1, Cobra creates the budget element with a single result of DIRECT. For more information about derived costs, refer to the Creating a Calculation Template section in this chapter.
431
Resource-loaded schedule
When linking with a resource-loaded schedule in Primavera 5.x/6.x, Cobra uses the value in the Target_qty field when loading budget and Remain_qty when loading forecast for the budget unit of the budget element. Cobra will load budget cost data from Primavera 5.x/6.x even when the quantity is greater than zero. Cobra spreads resources linearly over the duration of the activity.
Resource structures
Primavera 5.x/6.x uses the concept of resource structure. It is loaded into Cobra as a non-significant breakdown structure unless the resources contain periods in their names. Under these circumstances, Cobra interprets these resources as a punctuated-significant resource structure.
Cobra Program
You can create an empty program in Cobra into which to load the schedule data. For example, if your schedule contains cost classes other than current budget (CB), you should create a blank program with all valid cost classes defined before loading budget. When loading data into an existing program, delete data by selecting the Delete items from Cobra that are not in the schedule option located on the Load Budget page of the Integration Wizard. If the work package record does not exist, Cobra creates the appropriate PMT and sets the work package start and finish dates exactly equal to the activity dates. If the work package record exists at the time you load the schedule, Cobra adjusts only the required data. For example, if the activity has slipped and the finish date is greater than the work package finish date, the work package finish date is adjusted, not the work package start date.
432
Code Files
Code files and breakdown structures can be created in three ways: You can have the Integration Wizard automatically create these files in which case Cobra determines the structure type from the data in the schedule. You can create the empty code files manually before running the Integration Wizard. Creating the files in this way allows you to specify the structure of your choice. The Integration Wizard then populates the code file with the values found in the schedule. You can create and populate the code file before loading the schedule. This allows you to validate the entries in the schedule against the code file. If you want to use a non-significant breakdown structure in Cobra that is punctuated in the schedule, you must create the non-significant breakdown structure before the integration process. You can then load the codes from the schedule into the code file.
Rates
Direct rates can be loaded from the schedule using the Integration Wizard. If you have results other than direct, enter these rates into the rate file before loading budgets or forecasts. For example, if you plan to use a calculation template, you will need to create OVERHEAD and GANDA rates.
Calculation Templates
You can define complex burden structures to be used during the load resource definition process in the Integration Wizard by creating a calculation template. For more information about creating a calculation template, refer to the Creating a Calculation Template section in this chapter.
Fiscal Calendar
This file can be created in two ways: You can have the Integration Wizard automatically create the calendar file. You can create the calendar file manually before running the Integration Wizard. Creating the file in this way allows you to adjust period cut-off dates and working hours before the baseline is loaded. Baseline spread is determined by fiscal cut-off dates and working hours.
433
If you use Microsoft Project, create a budget element called WORK, MATERIAL or any value you have entered as the material label. In addition, it is possible to create a budget element to be used in a template that has the same name as the resource. Then create a calculation template in Cobra using the Create Template feature on the Edit menu when the budget element file is open. When loading resource definitions, Cobra creates a budget element for each resource and replaces the direct rate set with the resource name unless a calculation template exists with the same name as the resource. If a budget element is found with the same name as the resource, Cobra uses the budget element found in the calculation template. To create a calculation template
1. 2. 3. 4. Create a new budget element file. Create a budget element for each unique resource unit in the schedule. On the Edit menu, click Create Template. In the Save As dialog box, enter a name for the calculation template, and click Save.
434
Reloading Schedule Data Transaction Files for Baseline and Forecast Information
CSV Transaction File Data Structure Example Transaction File
Using the Scrolling Message Window Synchronizing a Cobra Program with a Schedule File Level Security Error Messages for Loading Budget and Forecast Data Setting the Baseline in Cobra Updating Resources in Open Plan Professional
Overview
Now that you have prepared your schedule, you can use Cobras powerful Integration Wizard to define how your Cobra program should be created or updated from your schedule. This chapter walks you through the Integration Wizard from creating a new integration configuration to saving and running the integration. After discussing the Integration Wizard, the chapter addresses the following topics related to creating or updating an integration configuration:
Creating transaction files Synchronizing a program with a schedule File level security Commonly encountered schedule loading errors Setting the baseline in Cobra Updating resources in Open Plan
Deltek Open Plan 3.x Primavera P3 Primavera 4.x/5.x Microsoft Project 2000/2002/2003 Transaction files
In addition to helping you define how your program should be created and updated, the Integration Wizard allows you to load both schedule and auxiliary data from the scheduling project. The Integration Wizard can be accessed from the Tools menu. Help on the Integration Wizard is context sensitive. Press the F1 key at any time to display help information about the currently displayed page of the wizard.
436
Configuration Page
When you click Integration Wizard on the Tools menu, Cobra displays the Configuration page:
This page allows you to create or select both an integration configuration and the scheduling tool to be linked to Cobra. The configuration is a saved set of integration options. For example, you can create a status configuration that allows you to update status, baseline changes, and forecast each month by simply executing the synchronize function from the Tools menu. The Configuration page features the following controls: Create a new configuration Allows the Integration Wizard to create a new integration configuration file. Open an existing configuration Allows you to open an existing integration configuration file. When you open a previously saved configuration file, the wizard inherits the settings used when the file was originally created. In order to make a copy, you can save your configuration file with a new name on the Save and Run page of the Integration Wizard. Configuration file The name of the configuration file that you are opening. Description Enabled only when you open an existing configuration file. The field shows the features or characteristics of an existing configuration file.
437
Product Includes a list of scheduling tools that you can use to integrate a schedule with Cobra. The product you select from this list determines the options available to you later in the Integration Wizard. When you open an existing configuration file, the list is disabled, and the product is set to the one saved in the configuration. The available scheduling tools to which you can integrate are:
Open Plan 3.x Primavera P3 To integrate with P3, you must have the Btrieve data engine on your PC. Primavera P3 installs the Btrieve data engine automatically.
Primavera 4.x/5.x Microsoft Project 2000/2002/2003 Transaction files Use this option to integrate with products not in the list. For more information about the appropriate file format to use in transaction files, refer to the Chapter 18, Actual Costs. If you are linking with transaction files, you cannot load resource definitions and rates or code files using the Integration Wizard. You must use the Import Auxiliary Files wizard discussed in Chapter 28, System Utilities.
This page allows you to select the actions to be performed. If you are using the Integration Wizard to create or update a link between schedule data and Cobra, you will typically select the first four actions on this page. (The remaining two actions are typically performed after the link has been established and are discussed in Chapter 26, Schedule Integration: Status.)
Deltek Cobra User's Guide 438
The Integration Wizard displays the relevant pages for each action to be performed. Load Code Files Selecting this option enables the Load Code Files page of the Integration Wizard and instructs Cobra to load breakdown structures and code files. Load Resource Definitions and Rates Selecting this option enables the Load Resource Definition page of the Integration Wizard and instructs Cobra to load budget element and rates based on the resources found in the schedule. Load Budget Selecting this option enables the Link Configuration, Load Resource Definition, and Load Budget pages of the Integration Wizard and instructs Cobra to load budget data from the schedule. Load Code Assignments Selecting this option enables the Link Configuration page of the Integration Wizard and instructs Cobra to load code assignments to the cost account and work packages from activities in the schedule. Load Status Selecting this option enables the Load Status page of the Integration Wizard and instructs Cobra to load status from the schedule. Load Forecast Selecting this option enables the Load Forecast page of the Integration Wizard and instructs Cobra to load a forecast from the schedule. Clicking the Options buttons displays the Integration Options dialog box:
This dialog box is an excerpt of the Application Options dialog box that you can use to edit the Cobra.ini file. You can use this dialog box to set the options Cobra uses for the integration process. The selections you make here are written as .ini settings in the Cobra.ini file when you click Save.
439
For a complete description of all the integration options, refer to Chapter 33, Application Options and .ini Settings.
Using the Connection Definition page, you can define the connection information required to connect to the data source that holds the schedule data. You can use the following controls to define the connection information: Cobra Data Source This option instructs Cobra to look for all schedule data in the same ODBC data source to which Cobra is connected. This option may be appropriate, for example, where Cobra and Open Plan have their tables stored in the same data source. This option is disabled if you are using Cobra in the FoxPro data format. Data Source This option allows you to select the Windows data source to which you are connecting.
440
User ID and Password If required, these fields are for the user ID and password needed to connect to the data source. Connection String This option allows you to enter a connection string that will be used to connect to the schedule data source. If you enter the password as part of the connection string, Cobra remembers the value and encrypts it when it is saved in the connection file. If the connection file is subsequently opened, the token {PWD} is displayed instead of the password. Microsoft Project MPD file This option allows you to define the Microsoft Project Database (.mpd) file that contains the schedule data. Primavera Integration API 5.0 Login Clicking this button displays the dialog box that you can use to establish a connection to the Primavera Integration 5.0 API containing the time-phased data you wish to extract. This button is enabled only if the Load daily Time-Phased data option is selected and the API path is populated in the P3e category of the Integration Options dialog box, and you are integrating Cobra with Primavera 5. Test Connection Clicking this button instructs Cobra to perform a test connection to the data source defined on the page. If a connection can be established, the message "Test succeeded" is displayed; otherwise, the message "Test failed" is displayed. This button is disabled if the Cobra Data Source option is selected. Connection File This field indicates the Integration Wizard Connection (.iwc) file that stores the connection settings defined on the page. The connection information must be saved to a file before you can move to the next page of the wizard. If an existing connection file is opened and changes are made to the settings, you can save the changes to the existing file or to a new file. If the integration configuration is going to be shared between users, it is necessary to save the connection file to a location that is accessible to all users (for example, Cobras System folder). Open Clicking this button displays the Select an Integration Configuration File dialog box that allows you to select an .iwc file. When an .iwc file is selected, Cobra loads and displays the connection information on the page as well as displays the filename in the Connection file text box. Save As Clicking this button displays a dialog box that you can use to specify a filename and location for the connection file.
441
Using the following controls, this dialog allows you to establish a connection to the Primavera API from which you want to extract time-phased data: User ID The Primavera API user ID that has the View All Global/Project Data via SDK option selected in the Primavera API security profile Password The password associated with the Primavera API user ID In order to access the time-phased spread data in Primavera API, you must have the Primavera API installed.
Page Validation
When you click Next on the Connection Definition page, Cobra checks to see:
If a connection file has been specified If a connection file has been opened and changes have been made to the connection settings. If found, Cobra prompts you to save the changes. If a connection file which contains settings that are invalid for the selected scheduling tool is opened. If found, you must change the settings. (For example, if you are integrating with Open Plan 3.x and you open a connection file that specifies an .mpd file, you will not be able to go to the next page.) If a connection file has been specified but the file does not exist
Synchronize
If you have existing configuration files, you can open them in the Integration Wizard, create the connection file, and resave the configuration file. Once you have created a connection file, you can edit the rest of the existing configuration files. To edit existing configuration files:
1. Locate the following line in the configuration file: CobraProgram={C},CLEAN2 2. When found, add the following line above it: ConnectionFilename={C},F:\COBRA40\System\TEST.IWC The path is the Cobra system path and the file is the name of a connection file you create in the Integration Wizard.
442
You must be very careful when you edit the configuration files. It is recommended that you use Windows Notepad to open the files. Be careful not to change the location of the settings as this will cause problems with Cobra. Always make a backup of the configuration files before you edit them.
This page is not displayed if you select only the Load Code Files option on the Action Selection page. The Integration Wizard displays this page for most of the selected actions on the Action Selection page of the wizard. The Project Selection page allows you to select the Open Plan, Primavera, or Microsoft Project data to be linked with the Cobra program. You can also select a transaction file containing budget or status information. Project The schedule from which you are loading data. You can select a schedule that was created by any of the following applications:
Open Plan 3.x The Integration Wizard displays a list from which you can select a project. Primavera P3 The Integration Wizard allows you to select files with a .p3 extension. When you select a file associated with the project, Cobra changes the name of the file you selected to <ProjectName>DIR.P3. The P3 integration supports integration with individual projects. It does not support integration of multiple projects using WBS hierarchy.
443
Primavera 4.x/5.x The Integration Wizard displays a list from which you can select a project. Microsoft Project 2000/2002/2003 The Integration Wizard allows you to select a file with an .mpd extension. When data is stored in SQL Server, the Integration Wizard displays a list from which you can select a project.
Activities This field is enabled only if you selected Transaction Files as the scheduling tool on the Configuration page of the Integration Wizard. You can specify the full pathname of the text file that contains activity information, or you can click the ellipsis at the right edge of the field to display an Open dialog box where you can select the file. Resources This field is enabled only if you selected Transaction Files as the scheduling tool on the Configuration page of the Integration Wizard. You can specify the full pathname of the text file that contains resource information, or you can click the ellipsis at the right edge of the field to display an Open dialog box where you can select the file. Status This field is enabled only if you selected Transaction Files as the scheduling tool on the Configuration page and Load Status on the Action Selection page of the Integration Wizard. You can specify the full pathname of the text file that contains status information, or you can click the ellipsis at the right edge of the field to display an Open dialog box where you can select the file. Refer to Chapter 18, Actual Costs, for the appropriate file format for activities, resources, and status files.
444
This page allows you to define the code files and breakdown structures that you want to load into Cobra from the schedule. The selections you make on this page can be used for the validation of key fields and codes on the cost account and work package. The top part of this page allows you to define both source and target code files and the action to be performed. When you click the Add button, your selections are added to the grid at the bottom of the page. Schedule code file Code structure to be loaded from the schedule. You can specify the full pathname of the file, or you can click the ellipsis at the right edge of the field to display an Open dialog box that you can use to select the file. The type of code files that you can specify depends on the product you are using as the scheduling tool:
Open Plan You can select code and resource definition files. Primavera P3 You can select codes and the resource list. Microsoft Project You can select WBS structures and outline codes.
Format This field allows you to select the format for the Cobra code file. You can select either Breakdown Structure or Code from the list. Select Breakdown Structure if you intend to use the code file to either summarize data or validate a key field. Cobra code file The code or breakdown structure file name. You can specify the name of the file, or you can click the ellipsis at the right edge of the field to display a list of files from which you can select. The content of the list that is displayed depends on the format you selected in the Format field. For example, if you select Breakdown Structure as the format, only breakdown structure files are displayed in the list. If you are creating a new code or breakdown structure file, enter the new name in the field. The codes from the project will be loaded into the file you select. Action Indicates if Cobra will create a new file or update one that already exists. This list allows you to choose how the schedule code file data is brought into Cobra: Create/Overwrite This action creates a new Cobra code file of the selected format using the equivalent attributes of the code file in the schedule. If the Cobra code file already exists, its content is overwritten although the structure will remain the same. Update This action updates elements, which exists both in the Cobra code file and the schedule code file. It also adds elements that exist in the schedule but not in Cobra. The elements, which are in Cobra but not in the schedule, remain unchanged.
This page is not displayed if you select only the Load Code Files option on the Action Selection page. This page contains a tabbed form that allows you to define how the schedule is linked to your Cobra program. Program This field specifies the name of the Cobra program into which data should be loaded. You can click the ellipsis at the right edge of the field to select an existing Cobra program. If you are creating a new program, enter the new name in the field. To load from transaction files, you must have an existing Cobra program. Create a New Program Selecting this option instructs Cobra to create a new program using the data loaded from the scheduling tool and enables both the Calendar and Structure tabs on the Link Configuration page.
If you are loading from Open Plan, the key field can be loaded from a usercharacter field, a code field, or the activity ID. If you are loading baseline dates, the link data is loaded from the baseline. If you are loading from scheduled dates, the link data is loaded from the activity file. Units complete always comes from the activity table.
446
If you are loading from Primavera P3, the key field can be loaded from the WBS field, a code field at the activity level, custom data item at the activity or resource level, the cost account field at the resource level, or the activity ID. If you are loading from Primavera 4.x/5.x, you can load from the WBS field, a code field, a user text field, the activity ID, the milestone, or the resource cost account. If you are loading from Microsoft Project, the key field can be stored in a user text-field, the WBS field, any outline control field, or the activity ID.
If you selected any of the products on the list except Transaction Files, the Key Fields tab includes the following fields: Cost Account Key Field 1 The field in the schedule that represents the first cost account key field in Cobra. You can click the ellipsis at the right edge of the field to select the name of the field in the schedule that holds the Cost Account Key 1 value. Cost Account Key Field 2 The field in the schedule that represents the second cost account key field in Cobra. You can click the ellipsis at the right edge of the field to select the name of the field in the schedule that holds the Cost Account Key 2 value. Cost Account Key Field 3 The field in the schedule that represents the third cost account key field in Cobra. You can click the ellipsis at the right edge of the field to select the name of the field in the schedule that holds the Cost Account Key 3 value. Work Package The field in the schedule that represents the work package key field in Cobra. You can click the ellipsis at the right edge of the field to select the name of the field in the schedule that holds the Work Package Key value. Milestone The field in the schedule that represents the milestone key field in Cobra. You can click the ellipsis at the right edge of the field to select the name of the field in the schedule that holds the Milestone Key value. If you selected Transaction Files on the Configuration page of the Integration Wizard, the Key Fields tab looks similar to the following:
447
This tab features the following controls that allow you to select the order in which the fields appear in the activity file: Fields List of available transaction file fields arranged in alphabetical order. The <IGNORE> field can be used as a placeholder in the transaction file to indicate that a column at a particular position in the file should be ignored. The <IGNORE> field is always left in the Fields list because it can be selected multiple times. Selected Fields List of transaction file fields currently planned to be included in the integration process. You can use the control buttons to reorder items in this list. Add Removes selected transaction file fields from the Fields list box and adds them to the bottom of the Selected Fields list box. (Double-clicking a selected field from the Fields list box also performs this function.) Add All Adds all transaction file fields from the Fields list box to the Selected Fields list box. Remove Removes selected transaction file fields from the Selected Fields list box and adds them to the Fields list box. (Double-clicking a selected item from the Selected Fields list box also performs this function.) Remove All Removes all selected transaction file fields from the Selected Fields list box and adds them to the Fields list box.
448
The CA tab also contains the Manager field that you can use to load the Cost Account Manager (CAM) on a cost account. Clicking the ellipsis at the right edge of a field displays a list of fields in the schedule that can be mapped to the code field in Cobra. If the Cobra program has already been created and does not use a code field on the cost account and/or work package, the textbox for that code field is disabled.
Class Tab
The Class tab controls the fields in the schedule that hold class information. This tab is disabled if you are loading from transaction files.
449
The budget class is in field The field in the schedule that stores the budget class. You can click the ellipsis at the right edge of the field to select the field name or enter a new name. This field will only be enabled if loading budget from the schedule. The forecast class is in field The field in the schedule that stores the forecast class. You can click the ellipsis at the right edge of the field to select the field name or enter a new name. This field will only be enabled if loading forecast from the schedule.
If you are loading from Open Plan, the class can be loaded from a user-defined field, a code field at the activity level, or the class on the assignments. If you are loading from Primavera P3, the class can be loaded from a code field at the activity level, a custom data item at the activity or resource level, or the cost account field at the resource level. If you are loading from Primavera 4.x/5.x, the class can be loaded from a code field at the activity level, user text field at the resource level, or the cost account field at the resource level. If you are loading from Microsoft Project, the class can be stored in a user-text field on the activity, task notes, resource group, and resource text fields. The resource text fields are on the resource definition file - not on the individual assignments.
If you are loading from Transaction files and the class field is stored in the activity file, the class can be selected on the Key Fields page. If the class is stored in the resource file, it must be in the position required by Cobra. The resource file must be ordered according to Cobras specifications. The column order must be: Id Cecode Used
450
Fromdate Todate Budget Class Forecast Class Any class that is loaded from the schedule is validated against the budget and forecast classes belonging to the program. If the new program is being created from an existing configuration, the new program is assigned the list of classes stored in the System\Dfltcls.dbf table. If you regularly create new programs by loading from a schedule and the schedule contains classes that are not part of the standard budget or forecast classes, you can add to the Dfltcls table to ensure that all new programs are assigned the required classes.
The PMT is in field The field in the schedule that stores the PMT. You can enter a new name in this field or click the ellipsis at the right edge of this field to select from a list of available field names. The field in the schedule must contain one of the following PMT values:
451
G 100-0 H User-defined % K Planning Package L Budget Element Percent Complete Apportioned is not supported because apportioned effort would not typically be in a schedule. If you are loading from transaction files and the PMT field is stored in the activity file, the PMT field is chosen on the Key Fields tab.
You can load the PMT from a schedule by placing the PMT in a code or user character field. However, if the work package already exists in Cobra, loading the budget again changes the PMT to match the value in the schedule provided that the:
Work package is not open PMT in the schedule is different than the PMT in Cobra PMT is not the milestone method
If the PMT in Cobra is the milestone method, you get the following error message in the log: Cannot change the PMT to <new PMT> for work package <wp id> because it currently uses the milestone PMT. The milestone weight is in field The field in the schedule that stores the milestone weight. You can enter a new name in this field or click the ellipsis at the right edge of this field to select from a list of available field names.
If you are loading from Open Plan, you have the option to load from the user num fields on the activity or the baseline file, the BAC_cost field, or the BAC_quantity field. If you are loading from Primavera P3, you can select the Res_qty, Res_cost, or Res_bac field as the Milestone Weight value. If you are loading from Microsoft Project, the weights are loaded from the Task_work, Task_bac, or Task_cost field If loading from transaction files, the MS Weight field will be added to the list of fields that can be selected on the Key Fields tab.
The units to do is in field The field in the schedule that stores the units to do. You can enter a new name in this field or click the ellipsis at the right edge of this field to select from a list of available field names. The units complete is in field The field in the schedule that stores the units that have been completed. You can enter a new name in this field or click the ellipsis at the right edge of this field to select from a list of available field names. Refer to The milestone weight is in field description above for a list of field options.
452
Calendar Tab
The Calendar tab is used to specify the calendar to be used for the new program. You can either use an existing calendar or specify the required attributes for creating a new fiscal calendar for the program: This tab is enabled only if you selected the option to create a new program. If the program already exists, entries on this tab are ignored.
Fiscal Calendar Name of the fiscal calendar that will be used for the new Cobra program. You can click the ellipsis at the right edge of the field to select a fiscal calendar name or enter a new name in the field. Create a new calendar Selecting this option instructs Cobra to create a new fiscal calendar. Start date Start date for the new calendar. This field is enabled only if the Create a new calendar option is selected. The start date is the last day of the period before the program starts. End date End date for the new calendar. This field is enabled only if the Create a new calendar option is selected. If you are creating a new calendar, Cobra enables the Advanced button that displays the Define Calendar dialog box.
453
Date interval The definition of a fiscal period. The list allows you to select from the following fiscal periods:
Pattern If Pattern is selected from the Dates Interval list, you can use this field to define your own pattern using combinations of the standard intervals. For example, you can define the following custom patterns for generating calendar dates:
2W biweekly intervals. 3E tri-monthly intervals using end-of-the-month dates. 4W,4W,5W a 4-week interval, followed by a 4-week interval, followed by a 5-week interval. 3M,2Q a tri-monthly interval, followed by a bi-quarterly interval. LAST <day> generates dates on the last specified day of each month. For example, LAST FRI would generate dates on the last Friday of each month.
Start date The end of the period before the program starts. Cobra copies the date you enter in this field into the Start Date field on the Calendar tab of the Link Configuration page of the wizard. End date The date on which the program is expected to end. Cobra copies the date you enter in this field into the End Date field on the Calendar tab of the Link Configuration page of the wizard.
454
Repetitions This field is enabled only if you do not enter a date in the End Date field and allows you to specify the number of times the date interval should be repeated in the calendar. Label Code This field specifies the label code that Cobra should use for labeling Calendar Set 00. You can click the ellipsis to select one of the following codes:
W Three-character day of the week (TUE) D Two digit date of day (05) M Two-digit date of month (12) A Three-character abbreviation of month (JUN) Y Two-digit date of year (01) C Four-digit date of year (2001) N Three-digit counter that is incremented for each period (001)
You can also enter a combination of codes in the Label Code field. For example, you could enter ADY to generate labels such as JUN3001. The default entry in this field is DAC, which generates labels such as 30JUN2001. If you use a character other than one of the standard codes, Cobra treats the character as a literal when generating labels. For example, the expression A_Y would result in labels such as JUN_01. Example This field displays an example of the label that will be generated from the label code. This field is always disabled. Hours These fields allow you to specify the number of working hours on each day of the week. Cobra then uses this information to calculate the number of working hours in each period. The calculated hour definitions are stored in the fiscal calendar file and are reflected in all calendar sets. You can later modify the calculated working hours on the Fiscal Calendar form to indicate accounting periods impacted by events such as company-wide holidays or plant shutdowns. Each value that you enter on this dialog box must be between 0 and 24. If you enter a negative value, Cobra changes your entry to 0. If you enter a value greater than 24, Cobra automatically changes your entry to 24.
455
Structure Tab
The Structure tab allows you to specify the breakdown structures that Cobra will use to validate cost account, work package, and budget element keys for the new program:
Cost Account Key field 1 The structure file that Cobra should use to validate the first cost account key. You can click the ellipsis at the right edge of the field to select the structure file. The way in which Cobra assigns a description to the cost account depends on the default settings specified on the Planning tab of the Program Options dialog box:
If you have selected the program option Copy structure element description for CA description, Cobra assigns the description for the cost account based on the structure file used to validate the first cost account key field. If you have not selected this program option, the manner in which Cobra assigns the description for the cost account depends on how the schedule is linked to the Cobra program: If the schedule is linked at the cost account level, Cobra uses the description of the activity record. If the schedule is linked at the work package level, Cobra uses the description of the first work package that is loaded.
Cost Account Key field 2 The structure file that Cobra should use to validate the second cost account key. You can click the ellipsis at the right edge of the field to select the structure file. Cost Account Key field 3 The structure file that Cobra should use to validate the third cost account key. You can click the ellipsis at the right edge of the field to select the structure file.
456
Work package The structure file that Cobra should use to validate the work package key. You can click the ellipsis at the right edge of the field to select the structure file. The way in which Cobra assigns a description to the work package depends on the default settings specified on the Planning tab of the Program Options dialog box:
If you have selected the program option Copy structure element description for WP description, Cobra assigns the description for the work package based on the structure file used to validate the work package field. If you have not selected this option, Cobra uses the description of the activity record.
Budget element The structure file to validate the budget element key. You can click the ellipsis at the right edge of the field to select the structure file.
This page allows you to define the options that the Integration Wizard should use when loading budget information from the schedule. Load from This field contains a list that you can use to select the type of dates that Cobra should use from the schedule when creating the cost accounts and work packages. You can select from the following options:
Early Dates This option is used only for Primavera P3 and loads the values using the dates calculated in the forward pass of critical path analysis. Late Dates This option is used only for Primavera P3 and loads the values using the dates calculated in the backward pass of critical path analysis.
457
Schedule Dates This option is used only for Open Plan, Primavera 4.x/5.x, and Microsoft Project. If you use Open Plan, selecting schedule dates retrieves the SSDATE and SFDATE values from the activity (ACT) table and the resource information from the USE table. This should be used when there is no baseline in the Open Plan schedule and the baseline is to be loaded is based on resource scheduling calculations. If you use Primavera 4.x/5.x, the ReStart and ReEnd dates from the Primavera TASK table are used unless these are NULL. In which case, Cobra reverts to using the Target (original) dates. If you use Primavera API, the AtCompletionCost/AtCompletionUnits are spread between the Start and Finish dates. When not using the API and integrating with Primavera 5, the ReStart and ReEnd dates from the Primavera TASK table are used unless these are NULL. In that case, Cobra reverts to using the Target (original) dates. If you use Microsoft Project, the start and finish dates are retrieved. Baseline Dates This option is used only for Open Plan, Primavera 4.x/5.x, and Microsoft Project. If you use Open Plan, selecting baseline dates retrieves the BSTART and BFINISH from the selected baseline (BSA) table and the resource information from the baseline resource (BSU) table. If you are using Primavera 4.x/5.x, the Target (original) start and end dates in the project are used. For Primavera 4.x/5.x, selecting Baseline Dates does not imply that Cobra will select dates from the baseline project. To select dates from the baseline project, you must select the baseline project from the Project Selection page of the Integration Wizard.
If you are using Primavera 5, the Target (original) start and end dates in the project are used. If you are using the API, the PlannedCost and PlannedUnits are spread between the PlannedStart and PlannedFinish. Selecting Baseline Dates does not imply that Cobra will select dates from the baseline project. To select dates from the baseline project, you must select the baseline project from the Project Selection page of the Integration Wizard.
If you use Microsoft Project, the baseline start and finish dates are used.
Baseline This field is enabled only if you select Baseline Dates in the Load from field. When you click the ellipsis at the right edge of this field, Cobra displays the Select Baseline dialog box that you can use to select the baseline into which the schedule will be loaded. This option is enabled only if loading from Open Plan. Load budget Selecting this option instructs Cobra to load budget data (resources) using either the default class or the class assigned to the resource (or activity, if relevant).
458
Default class The class to which you want to assign the loaded budget. When you click the ellipsis at the right edge of this field, Cobra displays the Select Classes dialog box that you can use to select the class of your choice. Cost budget (CB) is selected by default. If you have identified a field in the schedule that contains the class value, the default value is used if the field is blank. Only load budget with class If you have indicated that a field in the schedule contains the class value, you can choose to load only budget that has a certain class. You can click the ellipsis at the right edge of the field to select one or more classes from the provided list. This option is enabled only when the classes are defined in the schedule. Assign PMT Selecting this option instructs Cobra to assign a PMT to work packages that are created in the load process as follows:
Work packages with a duration of one accounting period are assigned the PMT of 0-100. Work packages with a duration of two accounting periods are assigned a PMT of User-Defined Percent. With this PMT, Cobra looks at how the budget is spread and automatically enters the opening percentages (for example, 60-40) to reflect the spread. Work packages with more than two periods are assigned a PMT defined by the user. (The default PMT is percent complete.) If Cobra encounters milestones associated with the work package, the weighted milestone PMT is assigned. Once a work package has been assigned a particular PMT, the Integration Wizard will not change PMT.
Default PMT This field contains a list that you can use to specify the PMT to be used for all work packages that are greater than two periods. The default is percent complete. If you indicate that the schedule contains the PMT, the default PMT will be used if the schedules PMT field is blank or invalid. If you do not load the PMT from the schedule, you can force the PMT to be the Default PMT for all new work packages created during the integration. You achieve this by selecting the Use the default PMT for all work packages option in the Integration Baseline category of the Application Options dialog box. For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. Delete items from Cobra that are not in the schedule This option helps keep your schedule and Cobra program synchronized by deleting items in Cobra that do not exist in your schedule.
459
For example, if you have manually loaded level of efforts into Cobra, selecting this option would delete these items since they are not included in the schedule. You can, however, specify which items to delete if they are not in the schedule, by selecting the Delete items from Cobra that are not in the schedule option and then clicking the Filter button. The following dialog box is displayed:
This dialog box gives you more control over which items are deleted from Cobra. Delete all items When selected, this option deletes all cost accounts, work packages, and milestones that are in Cobra but not in the schedule. Milestones will only be deleted if you have linked to a milestone field in the schedule. Delete items matching the following filter Clicking this option allows you to define a filter and delete only those cost accounts and work packages matching the value in the selected code field. Milestones are only deleted if their parent contains the code value in the chosen code field. CA code Use this list to select a cost account-level code field on which to create the filter. If a cost account code is not selected, the delete process will affect cost accounts in the same way it does when the Delete all items option is clicked. WP code Use this list to select a work package-level code field on which to create the filter. If a work package code is not selected and a cost account code is selected, the delete process will also delete any work packages or children of work packages that belong to that cost account and which are not in the schedule. equals This is the value that must be assigned to the cost accounts or work packages code field before Cobra will consider deleting it or any of its milestones that are not found in the schedule.
460
If Cobra is made up of multiple single projects loaded via the Integration Wizard, when a single project is being loaded, Cobra will only consider deleting items that are not in the schedule if the code field contains the name of the project being loaded. You can either enter the project name specifically in the equals field, or you can enter the project name generically by using the reserved value <ProjectName>. There are two options in the Budget Elements section that allow greater control over the budget elements that are deleted: Delete All Items By default, this option is selected and deletes any budget element that uses a class that does not match a class being loaded from the schedule. Only Delete items with the default or filtered class When selected, Cobra only deletes budget elements that use classes that match the default class or one of the classes being loaded or filtered. Consider the following situations:
Class not being loaded from the schedule Cobra will only delete a budget element if it does not exist in the schedule and uses the same class as the default budget class specified on the Load Budget page. Class is being loaded from the schedule but no class filter has been set Cobra will only delete a budget element if it does not exist in the schedule and uses the same class as the default budget class or one of the classes that has been loaded form the schedule. Class is being loaded from the schedule and a filter has been set Cobra will only delete a budget element if it does not exist in the schedule and its class matches one of the classes specified in the Load Budget class filter, even though that particular class may not have been loaded from the schedule on this location. Cobra will not delete any apportioned budget elements that do not exist in the schedule if the Delete items in Cobra that are not in the schedule option has been selected.
Restrict items loaded from the schedule Selecting this option enables the Load Filter button. In the Restrict Items Loaded from the Schedule dialog box, you can choose from the following options:
No restrictions Selecting this option means there will not be any restrictions applied to the loaded data. Only load schedule activities that are not already in Cobra Selecting this option instructs Cobra to load only those items that do not already exist in the Cobra program. Any work packages or budget elements already found in Cobra are not affected. Only load data for Cost Accounts that already exist in Cobra Selecting this option instructs Cobra to only load data from the schedule that belongs to Cost Accounts already existing in Cobra.
461
Load Open Plan Notes Selecting this option instructs Cobra to load notes assigned to activities based on one or more note categories. This checkbox is enabled only if you are integrating with Open Plan. This option is not selected by default. Note Categories In Open Plan, note categories are related types of notes that are grouped for reporting purposes. The Note Categories field is enabled when you select the option to Load Open Plan Notes. When you click the ellipsis at the right edge of this field, Cobra displays a list of note categories that have been set up in the Open Plan schedule with which you are linking the Cobra program. You can select one or more note categories from this list to have Cobra load all the Open Plan notes with the specified note categories.
This page allows you to select the resource definitions and rate options for your Cobra program. In Cobra, resource definitions are comprised of rates and budget elements. Cobra uses these values to calculate derived costs from the resource information in your schedule. Load rates from the schedule This option instructs Cobra to load rates from the schedule. Rates are loaded depending on the unit cost of a resource. If a resource has a unit cost of 0 or 1, no rate is generated for that resource. If the resource has a unit cost less than 0 or greater than 1, a rate set is created using the resource name as the rate set name.
462
Rate file The rate file name to be used when loading from schedule. You can click the ellipsis at the right edge of the field to select the file into which you want to load rates from the schedule. If you specify a rate file that does not exist, Cobra creates the new rate file. Action This field contains a list that you can use to select whether to create/overwrite or update rates. The Action field is enabled only when you select the option to Load rates from the schedule. Load budget elements from the schedule This option instructs Cobra to load budget element definitions from the schedule. Budget Element file The name of the budget element file to be used where loading budget element definitions from a schedule. You can click the ellipsis at the right edge of the field to select the file. If you specify a budget element file that does not exist, Cobra creates the new budget element file. Action This field contains a list that you can use to select whether to create/overwrite or update budget elements. The Action field is enabled only when you select the option to Load Budget elements from the schedule. Use a calculation template This option instructs Cobra to use a template to establish calculations that will be used for budget element definitions. The calculation template is a database file (.dbf) that you can create. For more information about creating a calculation template, refer to the Creating a Calculation Template section in Chapter 24, Schedule Integration: Preparation. Template file This field is enabled when you select the option to use a calculation template. You can click the ellipsis at the right edge of the field to select the calculation template file.
463
This page gives you an opportunity to filter the data that is loaded from the schedule. Criteria This field contains a list that you can use to select the data to be loaded in the Cobra program. You can select from the following options: Whole Program Budget and forecast data will be loaded for all activities in the schedule. Cost Account Budget and forecast data will be loaded from one or more selected activities, which have been identified as cost accounts. Work Package Budget and forecast data will be loaded from one or more selected activities, which have been classified as work packages. Selection This field is enabled if you select either Cost Account or Work Package from the Criteria field. When you click the ellipsis at the right edge of this field, Cobra displays a dialog box that you can use to select one or more cost accounts or work packages to be loaded. If you are integrating with Open Plan, you can select a code within Open Plan to load. The following fields are displayed only when integrating with Open Plan: Code Field Clicking the ellipsis button to the right of this field display the Select schedule field dialog box that you can use to select the Open Plan code field to load. Code Value Once you select a Code Field, you can click the ellipsis button to the right of the Code Value field to display the Select Code Assignment dialog box. You can use this dialog box to select the code assignment(s) from within the code.
464
You can select multiple code assignments by Shift-clicking or Ctrl-clicking the desired code assignments.
The Save and Run page allows you to complete the integration process and start loading data from your schedule. Synchronize with your Project Now Selecting this option instructs Cobra to initiate the integration process as soon as the Finish button is clicked. Save your Configuration Selecting this option instructs Cobra to save the settings you have specified for the Configuration file. Configuration File This field is enabled if you select the Save your Configuration option. You can specify the full pathname of the configuration file, or you can click the ellipsis at the right edge of the field to display the Save As dialog box where you can select the file to be saved. Description This text box is enabled if you chose to save your configuration and can be used to enter a description of the configuration settings you have chosen. Apportionment Calculation Selecting this option instructs Cobra to perform the apportionment calculation process once integration has completed. This option is only enabled if apportionment mappings have been defined for the program.
465
If selected, the Define button is enabled. When you click the Define button, the Calculate Apportionment dialog box is displayed allowing you to select the calculation range and the classes. Refer to Chapter 32, Apportionment for more information about the process of calculating apportionment. You can complete the integration process by selecting the option to Synchronize with your Project Now or by using the Synchronize command on the Tools menu.
The length of the work package is used to determine the PMT. The opening %complete is calculated for user-defined percentage PMT. The milestone weights are calculated.
In addition to assigning the PMT, if you load data into an existing program, Cobra assumes a change in scope and tries to maintain your existing data as much as possible. Thus, if you load data from the schedule and determine that there is an error and are going to reload the schedule data again, it is best to have an empty program so that these processes will be performed again. To create a blank program to load data into, follow these steps: To copy an existing programs structure to a new blank program
1. 2. 3. 4. From the File menu, point to New, and then click Program. On the New dialog box, enter a name a description for the new program. Select Copy from, and then select an existing program to copy. Click OK.
3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
466
Required for Field Bfdate Esdate Efdate Lsdate Lfdate Ssdate Sfdate UnitstoDo C1 C2 C3 C4 C5 C6 C7 C8 C9 Class Fcstclass Pmt Type Date Date Date Date Date Date Date Numeric Character Character Character Character Character Character Character Character Character Character Character Character Description Baseline finish Early start Early finish Late start Late finish Scheduled start Scheduled finish Total units to do for PMT units to do Code on CA or WP Code on CA or WP Code on CA or WP Code on CA or WP Code on CA or WP Code on CA or WP Code on CA or WP Code on CA or WP Code on CA or WP Cost class Forecast class Performance measurement technique Baseline Forecast
3 3 3
Although the table shows that all three cost account fields (Ca1-Ca3) are required, only one cost account field is actually required. But, you can have a maximum of three fields. An intermediate LINK table is created based on the user input. If you are experiencing difficulties when loading a schedule, examine the structure of the LINK table to verify that it matches the structure used by the input file. As an option, Cobra also allows the loading of resource information. To import resource information from a CSV file, the data must be in the following format:
Required for Field Id Cecode Used Fromdate Todate Class Curve Type Character Character Numeric Date Date Character Character Description Activity ID Budget element (Resource) Total resource usage Resource start Resource finish Cost class Curve used when spreading data Baseline Forecast
3 3 3
3 3 3
467
The Fromdate and Todate fields are used by selecting the Use activity dates for resource fromdate and todate option for Transaction Files in the Integration section on the Applications Options dialog box. The Curve fields value must match the curve name in the Cobra curves table. If the values do not match, then Cobra creates a linear spread. The Use curves for resource spreads option in the Application Options dialog box must also be selected. These fields must be in the order described above. This information is appended into the resource link table LINKRES for processing by Cobra. The field ID is used to relate the resource file and the activity file and is not stored in Cobra. When integrating with a scheduling system, this will typically be the activity ID. However, it is possible to simply concatenate the WBS, OBS, and work package IDs in order to generate a link between the two files. The activity file must have a single record for each WBS+OBS+work package+MS combination. Duplicate records will cause errors when the transaction files are loaded. Duplicate records in the resource file will be summed together. If a resource is not spread linearly from the activity start to finish, you should have multiple records for the same resource with a different from and to date. A typical implementation will have a different record for each fiscal period in the work package. If there are any blank dates in the resource file, you can replace them with the budget source dates from the activity file by selecting the Use activity dates for resource fromdate and todate option in the Integration Transaction files category of the Application Options dialog box. For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings.
468
If you are loading a forecast, you are loading estimate dates and forecasted resource requirements. Therefore, the resource requirements should not be before the status date. For example, if the project status date was 12/31/01, the following is an example of the resource transaction file: 161,ENG1,200,01/01/02,01/31/02 161,ENG1,10,02/01/02,02/03/02 161,ENG2,40,01/01/02,01/15/02 162,TECH,206,02/01/02,02/28/02 162,TECH,290,03/01/02,03/30/02 162,MATL,10000,02/01/02,02/01/02
The title for the window changes to reflect the operation being performed. In some cases, the title for the window is simply COBRA. Once the operation completes, the message window remains active until you close it. If there were any warnings or errors generated, the Show Warnings and/or Show Errors buttons are enabled. Otherwise, the buttons remain inactive. Show Warnings Clicking this button brings up a message window listing all the warning messages. Messages in this window are logged to the file Warnings.log in Cobras working directory. Show Errors Clicking this button brings up a message window listing all the error messages. Messages in this window are logged to the file Errors.log in Cobras working directory.
469
Configuration File The name of the integration configuration file. When you click the ellipsis at the right edge of this field, Cobra displays the Open dialog box from which you can select the configuration file to be used by the synchronize function. If the configuration file is not specified, Cobra looks for Default.iwc in the current directory. If it does not exist, Cobra creates Default.iwc with the Cobra data source connection setting and uses it for the synchronization. Description This textbox contains the name of the program that is used by the selected integration configuration. If the configuration does not use a program, this textbox is disabled. Advanced This button is used to expand the Synchronize dialog box, allowing you to change the configuration settings. When pressed, the form is resized to the following:
470
After expanding the form, the Advanced button becomes disabled. By default, the extra information is hidden when the form is first loaded. Program The name of the program in which to integrate the data. The default entry is the program stored in the selected configuration file. You can also select a different program in which to integrate the data. If the configuration file does not have a program defined, this option is disabled. Project This specifies the external program that holds the data to be imported. The default entry is the project stored in the configuration file. This is enabled when integrating from Open Plan, MS Project, or Primavera Project Planner. This is disabled when no project is specified in the configuration file. Activities, Resources, and Status These three fields are enabled only when integrating from transaction files. The default values are taken from the configuration file. If status is not being loaded, the Status textbox will be disabled. If only status is being loaded, the Activities and Resources boxes will be disabled. Apportionment Calculation This option is enabled if apportionment mappings have been added for the selected program. Selecting this option instructs Cobra to perform apportionment calculation during the synchronize process.
471
The file level security rights are as follows: Code files Requires update and add rights for updating and requires add and delete rights for overwriting. Code assignments Requires update rights to the program. Loading Budget Requires update, add, and delete rights to the program. Resource definitions and rates Requires update and add rights for updating and requires add and delete rights for overwriting. Loading status Requires read rights to the program. Loading forecasts Requires add, delete, and update rights to the program. All options require read rights, which are automatically given with any other right. Also, full rights are given to the Manager and the file owner. All users have full rights to files without owners.
472
[Error] Could not create link record for CA/WP/MS A record was unable to be added to the LINK table. Lack of sufficient rights to the program area is the typical cause of this error. [Error] Scheduled finish date before scheduled start date for CA/WP/MS This is typically caused by the actual start option not being set in the schedule or invalid progress on the activity. [Error] Unable to update CA/WP A record was unable to be updated in the CAWP table. Lack of sufficient rights to the program area or another user updating the same program data is the typical cause of this error. [Error] Unable to add CA/WP A record was unable to be added to the CAWP table. Lack of sufficient rights to the program area or another user updating the same program data is the typical cause this error. [Error] Unable to update CA/WP A record was unable to be added to the CAWP table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to update PMT for CA/WP A record was unable to be added to the CAWP table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to update milestone for CA/WP/MS A record was unable to be added to the CAWP table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to add a milestone for CA/WP/MS A record was unable to be added to the MILESTN table. Insufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to set PMT to Milestone for CA/WP/MS A record was unable to be added to the MILESTN table. Lack of sufficient rights to the program area or another is user updating the same program data is the typical cause of this error. [Warning] Base result not found for BE:xxx. Cost data not loaded for this code There is a problem with the calculation on this budget element. There is not a result with a line equal to 1. [Error] Unable to add Budget Element CA/WP/BE A record was unable to be added to the COSTELM table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to update Budget Element CA/WP/BE with Actuals A record was unable to be updated to the COSTELM table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to update Budget Element BAC for CA/WP/BE A record was unable to be updated to the COSTELM table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error.
473
[Error] Unable to delete T-phase for CA/WP/BE A record was unable to be deleted from the Tphase table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to add T-phase for CA/WP/BE A record was unable to be added to the Tphase table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to update T-phase for CA/WP/BE A record was unable to be updated on the Tphase table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to update Milestones for CA/WP A record was unable to be updated on the MILESTN table. Lack of sufficient rights to the program area or another user is updating the same program data is the typical cause of this error. [Error] Unable to update Starting Percent for CA/WP A record was unable to be updated on the CAWP table. Lack of sufficient rights to the program area or another user updating the same program data is the typical cause of this error. [Error] Resource start/finish dates are outside of activity yyy dates for resource xxx The dates found on the resource record were outside of the activity dates. This is typically caused by not selecting to save the baseline based on progress dates option when setting the baseline or by not running resource scheduling and time analysis before setting the baseline. It could also be caused by invalid progress on an activity, or the actual start date option has not been set. [Warning] Invalid resource code xxx on Activity yyy There is a resource found on an activity that is not defined in the budget element file. [Warning] Resource xxx of activity yyy linked to non-existing cost account or work package Work packages and cost accounts are only added to the program when loading schedule into a baselinenot a forecast. This message is received when loading a forecast from a schedule that has activities with resources linked to work packages or cost accounts that do not currently exist in the Cobra program. To quickly add these work packages and cost accounts to your program, create a new budget class and load schedule into a baseline. The temporary budget class just added can then be detected without affecting the baseline. Loading schedule into a baseline will add the necessary work packages. The next time forecast is loaded, the error will not occur.
474
Use this dialog box to specify the following parameters for this operation: Program Specifies the Cobra program from which budget element information is written back to the linked Open Plan Professional network. Description Displays the description of the selected program.
475
Connection File When you click the ellipsis button, you can use the Open dialog box that is displayed to select the .iwc file that contains the information about how Cobra should connect to the Open Plan data. OP Project Specifies the Open Plan project to update. Class Specifies the cost class of the budget elements that will be written back to the Open Plan Professional network. To update Open Plan Professional resources
1. On the Tools menu, click Update OPP Resources. 2. Specify the parameters for the operation, and click OK.
It is important that the Open Plan project is closed during this process. When you open a project in Open Plan, it reads everything into memory. Therefore, you must update the OPP Resources before you open the project in Open Plan.
476
Using the Scrolling Message Window Calculating Earned Value Performing Revision Control Operations
Revising the Schedule Loading Revised Data into the Cobra Program
Overview
Once an integrated cost/schedule program is underway, you must monitor its status and perform revision control operations at regular intervals. The status and revision cycle involves the following steps:
Advancing the calendar in Cobra Rolling Wave Statusing the schedule Loading status and forecast into Cobra Calculating earned value Performing revision control operations
Rolling Wave
Each time you advance the calendar, it is a good practice to also run the rolling wave process even though rolling wave is only necessary at month end. Rolling the wave allows you to analyze earned value in weekly periods for a defined span of time and to retain the rest of the projects data in monthly periods. This process reduces the amount of data you have to deal with especially when working with long projects. For more information on the rolling wave process, refer to Chapter 8, Fiscal Calendars.
478
Perform Cost Calculations Open Plan calculates costs and stores them at the detail level, allowing you to store time-phased quantity, cost, and escalated cost by resource and activity. The values calculated in Open Plan during this process are used in Cobra when you have many activities to one work package or when you use the PMT BE % Complete. Running cost calculations ensures that cost data accurately reflects the current resource assignments. It also ensures that values such as BAC and BCWP are correct in the baseline.
479
Loading Forecast If you intend to load the forecast from the schedule, you have two options:
Load your forecast from schedule dates If your forecast is based on the result of resource leveling, then you need to run resource scheduling at this time. Load data from early or late dates You will need to create a temporary baseline to be used in Cobra to bring over the forecast.
Regardless of your selection, it is always a good idea to save a temporary baseline to load your forecast from so you can compare your results with the schedule. The PMB baseline should be reserved for changes to the performance measurement and baseline negotiated changes. When you click Baselines on the Open Plan Project menu, the Baselines dialog box is displayed. You can then create a new baseline or select an existing baseline to update. If you select to update an existing baseline, refer to the following dialog box for the recommended settings:
You can also select a filter that allows only those records that you want included to be updated. For example, you might choose to filter the baseline on activities using a specific code. For more information about time analysis, automatic progressing, cost calculations, and baseline operations, refer to your Deltek Open Plan Users Guide.
Configuration Page
When you click Integration Wizard on the Tools menu, Cobra displays the Configuration page:
This page allows you to select both an integration configuration and the scheduling software from which you will load status and forecast data into Cobra. For more information about the controls on this page, refer to the Using the Integration Wizard section in Chapter 25, Schedule Integration: Baseline.
481
This page allows you to select the options to be performed. The first four options on the list are used for creating or updating a configuration file. For more information on these options, refer to Chapter 25, Schedule Integration: Baseline. For loading status and forecast information into the Cobra program from the schedule, you would select the last two actions on the list. Load Status Selecting this option enables the Load Status page of the Integration Wizard. Load Forecast Selecting this option enables the Load Forecast page of the Integration Wizard.
482
Using the Connection Definition page, you can define the connection information required to connect to the data source that holds the schedule data. For more information about the options on this page, refer to Chapter 25, Schedule Integration: Baseline.
483
The Project Selection page allows you to select the Open Plan, Primavera 4.x/5.x, or Microsoft Project data to be linked with the Cobra program. You can also select a transaction file containing budget or status information. For more information about the controls on this page, refer to Chapter 25, Schedule Integration: Baseline.
This page allows you to define how the schedule is linked to your Cobra program. Notice that while this page has several tabs, only the Key fields tab, Class tab, and Earned Value tab are enabled when you are loading status or forecast data. For more information about the controls on this page, refer to Chapter 25, Schedule Integration: Baseline.
484
This page allows you to load status from your selected schedule. This function must be performed at regular intervals (usually monthly) since information loaded from your schedule is used to calculate earned value in Cobra. The Load Status page features the following controls: Update estimate dates This field contains a list that you can use to select the type of dates that Cobra should use when updating the estimate dates used in forecasting. You can select from the following types of dates:
The cost account estimate dates can be matched to the minimum work package estimate start date and maximum work package estimate finish date when you load status. This can be accomplished by selecting the Update cost account dates to exactly span work package dates option in the Integration Status category on the Application Options dialog box. For more information on using the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. Update estimate early and late dates Selecting this option instructs Cobra to update the early and late estimate dates used for alternative forecasts in Cobra from the schedule early and late dates.
485
Update percent complete on Work Packages Selecting this option instructs Cobra to update the percent complete of the work package from the physical percent complete of the schedule if the PMT of the work package is Percent Complete. Update percent complete on Budget Elements Selecting this option determines whether percent complete values for budget elements are updated when loading status. This option is selected by default and is enabled only if loading status from Open Plan, Primavera P3, Primavera 4.x/5.x, or transaction files. It is not supported for Microsoft Project. Cobra reads the percent complete value from different locations depending on the scheduling tool being used. When loading status from Open Plan, budget element percent complete values in Cobra are updated from the percent complete value stored on the resource assignment in Open Plan. If loading a resource percent complete value, and many activities roll up to a single Work Package, it is necessary to use a weighted percent complete for each of the resources. The percent complete for each resource is always taken from the resource assignment record. The Allow percent complete reduction option in the Integration Status section of the Application Options dialog box can reduce percent complete values loaded through the Integration Wizard. This setting affects work packages, milestones, and budget elements that use the Percent Complete PMT. For more information on using the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. Default Class When loading budget element status from a schedule, the Default Class is used to identify target budget elements. Only budget elements with the selected default class are updated. If the budget class is identified on the activity, the default class option is ignored. Calculate Work Package percent complete from the BCWP/BAC Selecting this option instructs Cobra to calculate a percent complete total using the formula BCWP/BAC for each work package record loaded from a transaction file. If you select this option, you must include the BCWP and BAC fields in the Selected fields list. This option is enabled only when importing from files. The remaining controls on this page are enabled only when you are loading status from a transaction file. Fields This pane contains an alphabetized list of fields in the status transaction file. One transaction file can contain any number of cost account, work package, and milestone records.
486
The <IGNORE> field can be used as a placeholder in the transaction file to indicate that a column at a particular position in the file should be ignored. The <IGNORE> field is always left in the Fields list because it can be selected multiple times. Selected Fields This pane contains a list of status transaction file fields currently planned to be included in the integration process. You can use the control buttons to reorder items in this list.
If you selected Early dates, you must select the EARLYSD and EARLYFD fields. If you selected Scheduled dates, you must select the ESDATE and EFDATE fields. If you selected Late dates, you must select the LATESD and LATEFD fields.
Add Removes selected status transaction file fields from the Fields list box and adds them to the bottom of the Selected Fields list box. (Double-clicking a selected field from the Fields list box also performs this function.) Add All Adds all status transaction file fields from the Fields list box to the Selected Fields list box. Remove Removes selected status transaction file fields from the Selected Fields list box and adds them to the Fields list box. (Double-clicking a selected item from the Selected Fields list box also performs this function.) Remove All Removes all selected status transaction file fields from the Selected Fields list box and adds them to the Fields list box.
First, the Total BAC value for the activities that are being rolled up is calculated by taking the sum of total budget for each activity:
(BAC_LAB + BAC_MAT + BAC_ODC + BAC_SUB)
Next, the Total EV amount for the activities being rolled up is calculated by taking the sum of the physical percent complete multiplied by the total budget for each activity:
Finally, the Total Weighted % Complete is calculated by dividing the Total EV by the Total BAC:
If you are using the BE % Comp PMT, the PPC field on the assignment in Open Plan is used. If you have the same resource assignment multiple times on an activity or you have many activities linked to one Cobra work package, a weighted percent complete is calculated as follows:
The original USED amount or level is calculated using the following formula:
(Budgeted Cost Pct ) (Budgeted Cost ) If you use the BE % Complete PMT, the percent complete is taken from the resource percent complete on the assignment. If you have many activities grouped into one work package, the following formula is used:
488
Primavera 4.x/5.x Cobra loads the value from the Phys_complete_pct field on the TASK table as the percent complete. If you have many activities linked to one work package, the following formula used:
(Budgeted Cost Phys_complete_pct ) (Budgeted Cost ) If the BE % Complete is being loaded, the percent complete is taken from the Pend_complete_pct field in the TASKRSRC table. If no value is found in the Pend_complete_pct field, Cobra uses the Phys_complete_pct field for the task to which that resource is assigned. This value is weighted by the Target_cost on the TASKRSRC table using the following formula:
(Target Cost Pend_complete_pct ) (Target Cost )
Microsoft Project 2000/2002/2003 If you have resources assigned to the activities, MSP BCWP is used to calculate the % complete using the following formula:
sumBAC sumBCWP
If you do not have resources assigned to your activity, the % Complete field is used to update the percent complete of the activity. If you have many activities linked to one work package and there are not resource assignments in MSP, then the average of the total % Complete of the linked activities is used.
489
Like the Load Status page, the Load Forecast page of the Integration Wizard is used at regular intervals to load information from your schedule into a Cobra forecast. The Load Forecast page features the following controls:
Load from This field contains a list that you can use to select the type of dates to be loaded from the forecast. You can select from the following options:
Early Dates This option is used only for Primavera P3 and loads the resource values using the dates calculated in the forward pass of critical path analysis. Late Dates This option is used only for Primavera P3 and loads the resource values using the dates calculated in the backward pass of critical path analysis. Schedule Dates This option is used only for Open Plan and Microsoft Project. If you are using Open Plan, selecting schedule dates retrieves the SSDATE and SFDATE values from the activity (ACT) table in Open Plan and the resource information from the USE table. This should be used when there is no baseline in the Open Plan schedule and the forecast to be loaded is based on resource scheduling calculations. If you are using Microsoft Project, the start and finish dates are used. Baseline Dates This option is used only for Open Plan and Microsoft Project. If you are using Open Plan, choosing baseline dates retrieves the BSTART and BFINISH from the selected baseline (BSA) table in Open Plan and the resource information from the baseline resource (BSU) table. If you are using Microsoft Project, the baseline start and finish dates are used. If you want to load resource information based on early or late dates, you must save a baseline based on these dates and select that baseline when you load a schedule. This temporary baseline can be deleted from the Open Plan schedule after loading the forecast.
490
Baseline This field is enabled only if you select Baseline Dates in the Load from field. When you click the ellipsis at the right edge of this field, Cobra displays the Select Baseline dialog box that you can use to select the baseline to be loaded. Default class The class that will be used to load forecast. When you click the ellipsis at the right edge of this field, Cobra displays the Select Classes dialog box that you can use to select the default class of your choice. Only load forecast with class If you have indicated that a field in the schedule contains the forecast class value, you can choose to only load forecast which has a certain class by clicking on the ellipsis and selecting one or more classes from the list. This option is only enabled when the forecast classes are defined in the schedule.
If you have not selected a forecast class field in the schedule (on the Class tab of Link Configuration), this field will be disabled. If the forecast class field value in the schedule is empty, Cobra will use the class selected in the Default Class field. If the class field in the schedule contains an invalid forecast class, Cobra will generate a warning and will not load the record to which it belongs. For those situations where the class is at the activity level in the schedule, neither the activity nor any resources assigned to it will be loaded. For those situations where the class is at the resource level in the schedule, the resource will not be loaded. For schedule dates, the forecast is loaded from the Remaining Work field if you are loading from MSP, and that value is spread linearly across the remaining duration. For baseline dates, the forecast is loaded from the Remaining Work field in the baseline if you are loading from MSP, and that value is spread linearly across the remaining duration found in the baseline. If the Expand timephased data in the database option is not selected on the Save tab of the Options dialog box in MSP, the remaining work will be spread linearly from the Cobra status date to the end of the WP. If the option is selected, the timephased spread in MSP will be preserved.
Delete existing forecast Selecting this option instructs Cobra to delete all forecast data for the selected forecast class in an existing cost account or work package before the new forecast is loaded from the schedule. This option is relevant only if you are loading into an existing Cobra program. This checkbox is selected by default.
If loading budget and forecast together, the budget class field in the schedule must be different from the forecast class field in the schedule. If they are the same, Cobra will generate an error message and you will not be able to continue with the integration configuration definition.
491
Open Plan supports code fields and user defined fields at the activity level and user defined fields at the resource level. If a forecast class is assigned to the activity, all resources belonging to that activity are loaded with the activitys forecast class. If a resource assignment-level field is chosen, the resource is assigned the forecast class in Cobra. Primavera P3, Microsoft Project, and transaction files support a class value at the activity level and resource level. If a forecast class is assigned to the activity, all resources belonging to that activity will be loaded with the activitys forecast class. If a forecast class is assigned to the resource, the resource is assigned the forecast class in Cobra.
This page gives you an opportunity to filter the data that is loaded from the schedule.
Criteria This field contains a list that you can use to select the data to be loaded in the Cobra program. You can select from the following options: Whole Program Status and forecast data will be loaded for all activities in the schedule. Cost Account Status and forecast data will be loaded from those activities in the schedule that are identified as belonging to the selected cost accounts. Work Package Status and forecast data will be loaded from those activities in the schedule that are identified as belonging to the selected work packages.
492
Selection This field is enabled if you select either Cost Account or Work Package on the Criteria field. When you click the ellipsis at the right edge of this field, Cobra displays a dialog box that you can use to select one or more cost accounts or work packages to be loaded.
If you are integrating with Open Plan, you can select a code within Open Plan to load. The following fields are displayed only when integrating with Open Plan:
Code Field Clicking the ellipsis button to the right of this field display the Select schedule field dialog box that you can use to select the Open Plan code field to load. Code Value Once you select a Code Field, you can click the ellipsis button to the right of the Code Value field to display the Select Code Assignment dialog box. You can use this dialog box to select the code assignment(s) from within the code.
You can select multiple code assignments by Shift-clicking or Ctrl-clicking the desired code assignments.
The Save and Run page allows you to complete the integration process.
Synchronize with your Project Now Selecting this option instructs Cobra to initiate the integration process as soon as the Finish button is clicked. Save your Configuration Selecting this option instructs Cobra to save the settings you have specified for the Configuration file.
493
Configuration File This field is enabled if you select the option to Save your Configuration. You can specify the full pathname of the configuration file, or you can click the ellipsis button at the right edge of the field to display the Save As dialog box where you can select the file to be saved. Description This text box is enabled if you choose to save your configuration and can be used to enter a description of the configuration settings you have chosen. Apportionment Calculation Selecting this option instructs Cobra to perform the apportionment calculation process once integration has completed.
This option is only enabled if apportionment mappings have been defined for the program. If selected, the Define button is enabled. When you click the Define button, the Calculate Apportionment dialog box is displayed allowing you to select the calculation range and the classes. Refer to Chapter 32, Apportionment, for more information about the process of calculating apportionment. You can complete the integration process by selecting the option to Synchronize with your Project Now or by using the Synchronize command on the Tools menu.
494
The transaction file may contain optional estimated date fields Esd and Efd. These fields are ignored if the corresponding actual fields contain data, but otherwise they update the estimated dates in the work package. The transaction file may also contain fields for the percentage complete and for units complete, depending upon the PMT in force for a particular work package. Finally, the transaction file may contain estimated early and late dates to be used with a forecast. The following table is an example of a work package status transaction file:
Field Afdate Asdate BAC BCWP Type Date Date Numeric Numeric Description Actual Finish Date Actual Start Date Budget at Complete (for BCWP % Complete) Budgeted Cost of Work Performed (for BCWP % Complete) Budget Element (for BE % Complete) Program key field Program key field Program key field Class (for BE % Complete) Early Finish Date Early Start Date Estimated Finish Date Estimated Start Date Late Finish Date Late Start Date Program key field Percent Complete Units Complete Program key field 9 9 9 9 Required 9 9
Be Ca1 Ca2 Ca3 Class Earlyfd Earlysd Efdate Esdate Latefd Latesd Ms Pc_comp Units_comp Wp
Character Character Character Character Character Date Date Date Date Date Date Character Numeric Numeric Character
Although the table shows that all three cost account fields (Ca1-Ca3) are required, only one cost account field is actually required. But, you can have a maximum of three fields. If you exported earned value from Cobra and made changes to the .csv file, you can load this file back into Cobra in order to update the work package data. On the Load Status page of the Integration Wizard, you must select the Update percent complete on work packages option. In addition, you can also use this file for direct entry of BCWP data by selecting the Calculate Work Package percent complete from BCWP/BAC option. When selected, Cobra calculates a percent complete value for each work package that exists in the transaction file using the formula BCWP / BAC.
495
The following is a list of possible errors and their explanations that can occur while loading status from either schedule or a transaction file:
[Error] Unable to create the milestone transaction files. No transactions posted A temporary transaction file could not be created. Insufficient rights to the program area are the typical cause of this error. Program options disallow percent complete on milestones The program option for this program does not allow percent complete on a milestone. Milestone transaction file does not have percent complete field This error indicates that the program options specify percent complete, but the transaction file does not contain this option. [Error] CA field not found If a .dbf file is used for a transaction file, all key fields must exist in the transaction file. [Error] CAx field length must be nnn If a .dbf file is used for a transaction file, all key fields must be the same field lengths as in the CAWP table. [Error] WP field not found If a .dbf file is used for a transaction file, all key fields must exist in the transaction file. [Error] CA/WP/MS: Transaction for non-existent milestone or work package A transaction was found for milestone or work package that did not exist in the program. [Error] CA/WP/MS: Finish dates dont match A transaction was found with an actual finish date different from the finish date found in the program. [Error] CA/WP/MS: Actual finishes later than status date A transaction was found with an actual finish date later than the status date for the program. [Error] CA/WP/MS: Actual finish and/or start outside of fiscal calendar A transaction was found with an actual finish or start date outside of the fiscal calendar for the program. [Error] CA/WP/MS: Actual start dates dont match A transaction was found with an actual start date different from the start date found in the program. [Error] CA/WP/MS: Actual start later than status date A transaction was found with an actual start date later than the status date for the program. [Error] CA/WP/MS: Already closed A transaction was found with an actual finish date for a closed cost account, work package, or milestone. [Error] CA/WP/MS: Estimated Finish before Status date A transaction was found with an estimated finish date before the status date for the program.
496
[Error] CA/WP/MS: Estimated Finish outside of fiscal calendar A transaction was found with an estimated finish date outside of the fiscal calendar for the program. [Error] CA/WP/MS: Percent Complete greater than percent complete on transaction A transaction was found with a percent complete lower than the percent complete on the work package or milestone. To reduce the percent complete, the work package or milestone must be modified manually. [Error] CA/WP/MS: Percent Complete must be between 0 and 100 A transaction was found with a percent complete greater than 100 or less than 0. [Error] Unable to create the work package transaction file. No transactions posted A temporary transaction file could not be created. Insufficient rights to the program area, is the typical cause of this error. [Error] CA/WP: Cannot close until all its Milestones are closed A transaction was found with an actual finish date for a work package that contains an open milestone. [Error] CA/WP: Actual Finish before Actual Start on transaction file A transaction was found with an actual finish date before the actual start date. [Error] CA/WP: Actual Finish supplied with no Actual Start A transaction was found with an actual finish date but no actual start date. [Warning] CA/WP: Already opened A transaction was found with an actual start date for an opened work package. [Warning] CA/WP: Already closed A transaction was found with an actual start date for a closed work package. [Error] CA/WP: Estimated Finish before Estimated Start on transaction file A transaction was found with an estimated finish date before the estimated start date. [Error] CA/WP: Estimated Finish and/or Start on or before Status date A transaction was found with an estimated finish date or estimated start date on or before the status date. [Error] CA/WP: Existing Estimated Finish before Estimated Start A transaction was found with an estimated start date where the existing estimated finish is before the new estimated start date. [Warning] CA/WP: Already open. Early/late start dates ignored Estimated dates were found for an open cost account or work package. [Error] CA/WP: Units Complete greater than units complete on transaction A transaction was found with the units complete lower than the units complete on the work package. To reduce the units completely, the work package must be modified manually. [Error] CA/WP: Not found in Work Package table A transaction was found for a milestone or a work package that does not exist in the program.
497
[Error] CA/WP: Activity marked as complete/started but does not have an actual start/finish date An activity should have actual dates supplied when the project is linked to Cobra. [Error] Unable to commit changes to xxx One of the tables could not be updated. This error is typically caused by another user locking the database or not having sufficient rights to update the table.
As Cobra performs the validation for the work package and milestone level update, descriptions of the updates and any detected errors are displayed on the screen and written to a log file (Intg.log). Cobra does not update the work packages or milestones for which it has detected an error in the transaction data. Valid transactions, however, are posted to the appropriate record.
Status Options
The following options are found on the Integration Options dialog that is accessed by clicking Options on the Action Selection page of the Integration Wizard.
This dialog box is actually an excerpt of the Application Options dialog box accessed from the System menu. It acts as an editor of the Cobra.ini file. For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. By default, information from a status transaction file cannot be used to unopen or unclose cost accounts and work packages, regardless of the setting of the program option. Selecting the Update status even when estimate dates are invalid option in the Status category allows you to use the information from a status transaction file to unopen or unclose cost accounts and work packages:
498
By default, % complete on a work package with the PMT of % complete is not reduced. Values loaded into Cobra using the Integration Wizard can be reduce by selecting the Allow percent complete reduction option in the Status category. Normally, you can only create cost account or work package records when you load budget. By selecting the Create work packages that do not exist option in the Forecast category, you can add new cost account or work package with ETC records without having to load budget first. Cost accounts and work packages, by default, only have their descriptions updated if the cost account or work package has just been added or the description is empty. The Update the description for existing cost accounts and work packages option in the Baseline category forces the cost account or work package description to match the activity description. If an activity slips and there are other cost classes in the work package than the cost classes being loaded, then, by default, work package dates are increased to span both the old and new work package dates. You can, however, update the baseline dates to match activity dates by selecting the Update existing baseline dates option in the Baseline category. This option will cause the budget data for the other class to be outside the work package dates. Batch Spread will respread the baseline data for the other class.
The title for the window changes to reflect the operation being performed. In some cases, the title for the window is simply COBRA. Once the operation completes, the message window remains active until you Close it. If there were any warnings or errors generated, the Show Warnings and/or Show Errors buttons are enabled. Otherwise, the buttons remain inactive.
Show Warnings Clicking this button brings up a message window listing all the warning messages. Messages in this window are logged to the file Warnings.log in Cobras working directory.
499
Show Errors Clicking this button brings up a message window listing all the error messages. Messages in this window are logged to the file Errors.log in Cobras working directory.
Revise the schedule Load revised schedule data into the Cobra program
Add a code to the activity (typically the change number) This option allows you to quickly load only the approved changes into Cobra by selecting the option on the Selection Criteria page of the Integration Wizard. This option lets you filter the load by a code on the activity. Enter the class to be used for the scope change as a code on the activity This option requires you to add the class as a valid class in Cobra before loading the data.
Each method has its advantages. This exercise will use a class on the activity because of the increased options available when using this option. When the new scope is in a separate class, you have two options that are not available when the data is loaded into the same class:
You can report on the new scope in Cobra without including it on customer reports.
500
The new scope can use different rates from the baseline.
Only load budget with class <specified classes> Apply baseline changes to remaining periods only Only load schedule activities that are not already in Cobra Delete items in the schedule and the Filter button Restrict items loaded from the schedule
From this page, you can select the specific items that you want to load. If you are loading information from Open Plan, you can select code assignments. The following Application Options are relevant to revision control. You can find these in the Integration\Baseline category.
Integration\Baseline category
Update the description for existing cost accounts and work packages Update existing baseline dates Update description Baseline dates Milestone Weights List deleted items log Only create work package Retain EV upon deletion Force create WP for ETC For more information about these baseline options, refer to the Status Options section of this chapter.
501
502
LINK Tables
LINK Activity table Link.dbf Resource LINK Table Linkres.dbf LINK Status Table Linksts.dbf LINK Assignments Table Linkasg.dbf
Overview
The Integration Wizard is a powerful tool that allows you to import data from a number of scheduling tools directly into Cobra. On occasion, you might require customizations to the output of the scheduling data before it is imported into Cobra. Hooks have been provided in the integration process that allow custom applications to be run prior to loading the schedule data into Cobra. This affords the opportunity to summarize, filter, or otherwise alter the schedule data in a manner not supported by the standard integration process. The Integration Wizard extracts data from the scheduling tool and places it in temporary tables. The data is then processed and validated by the wizard before it is saved to the Cobra tables. Custom routines or processes can be added at two points in the integration processing cycle:
Pre Load Process occurs just after extracting the data from the schedule Pre Save Process occurs just before the data is saved to the Cobra tables
These routines/processes can be Visual FoxPro programs (.fxp), Visual FoxPro forms (.scx), or Windows executables (.exe). The routine to be run is specified in the Cobra.ini file or the System.ini file. This chapter starts by discussing the Pre Load and Save Process. It is followed by a discussion of the LockLevel feature which makes it possible user to run an integration on a program while another user is in the same program. The chapter ends with descriptions of the tables used in the Primavera Project Planner integration and the temporary LINK tables created during the integration process.
Customize Options
The Pre Load Process and the Pre Save Process options are located in the Customize category of the Integration Options dialog box:
504
This dialog box is actually an excerpt of the Application Options dialog box, which is an editor for the Cobra.ini file. To make changes to the System.ini file, you must use a text editor such as Windows Notepad. For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings. To display the Integration Options dialog box
1. On the Tools menu, click Integration Wizard. 2. On the Configuration page, enter the configuration information, and click Next. 3. On the Action Selection page, click Options.
Example: To run the FoxPro program Test, you would enter the following:
Drive:\Path\Test.fxp,P
To have Cobra accept a logical return value when the pre-load tool is called, select the Pre load program returns a result option on the Integration Options dialog box. If you use this setting and a False is returned, Cobra will not continue with the Integration Wizard process.
505
Example: To run the FoxPro program Test, you would enter the following:
Drive:\Path\Test.fxp,P
To have Cobra accept a logical return value when the pre-save tool is called, select the Pre save program returns a result option on the Integration Options dialog box. If you use this setting and a False is returned, Cobra will not continue with the Integration Wizard process.
LockLevel
Cobra does not support the simultaneous operation of two processes on the same program. A process must wait until it has access to a program before it begins operation. In order to reduce the potential for conflicts when running an integration on a program while another user is in the same program, Cobra uses a locking strategy. By selecting CA for the Program lock setting option in the General\Data Access category of the Application Options dialog box, it becomes possible to run integration on a program while another user is in the same program. If you have selected locklevel=CA, then Cobra attempts to lock each cost account before it starts the process. If it cannot lock a cost account, then it is skipped during the integration.
506
If the above setting is not set, the integration will try to get an exclusive lock on the entire program. If it cannot get the lock, it will wait until the program is available and then get an exclusive lock. After getting the lock, the integration will proceed. In general, it will be possible for you to be in a program when another process starts. If you attempt to make further edits once the process has started, you will be notified that another process is working on the program. You will not be able to make changes until the process has completed. Integration TotalSPA works by processing either the entire program or just the cost accounts that you have selected in the Integration Load Criteria. If only one cost accounts totals have changed, then it only sends through updates for that one cost account, but it still does the selection/summary process for all the data it thinks it needs to check. Note that it determines whether a cost account has changed by comparing the values on the cost account header record (BCWS, BAC, etc) with the values it has rolled up from the tphase table. If the values differ, it sends through an update. (This is why if you clear out the CA header values and then run the TotalSPA process twice from the menu, you will see that the second process is much quicker.) If another user is running integration on a lot of other cost accounts and the tphase table has been updated but not the cost account header values, then the TotalSPA could pick up these changes and still send through a lot of updates, provided those cost accounts are not excluded by the integration filter. If you do not specify a filter (CA or WP) when you integrate, the TotalSPA process does the whole Cobra program (as though you chose TotalSPA from the menu). For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings.
507
508
20 20 20
LINK Tables
LINK tables are used by all integration processes and are stored in the program folder.
509
Field Name Type Efdate Esdate Bfinish Fstart Id Fullid Prjname Descrip Pmt Valid Class Date Date Date Date Character Character Character Character Character Character Character
Width Field Description (Not in table) 8 8 8 8 59 59 15 60 1 1 2 Estimated finish date Estimated start date Baseline finish date Baseline start date Open Plan activity ID Fully qualified activity ID Project name Description Performance measurement technique Indicates a valid record Activity level class
FROMDATE Date
510
Field Name Type Afdate Esdate Efdate Pc_comp Units_comp Earlysd Earlyfd Latesd Latefd Id Date Date Date Number Binary Date Date Date Date Character
Width Dec Field Description (Not in table) 8 8 8 6 8 8 8 8 8 59 2 2 Actual finish date Estimated start date Estimated finish date Percent complete Units complete Early start date Early finish date Late start date Late finish date Activity ID
511
512
Exporting Fiscal Calendars to Open Plan Exporting Earned Value Deleting Files in Cobra Customizing Spread Curves Displaying Data Files Initializing Demonstration Data Running SQL Commands
Multi-line SQL Commands SQL Language Extended Support
Overview
In addition to utilities that operate on a program level, Cobra provides a number of system-wide utilities that allow you to perform the following operations:
Rebuild file indexes Rebuild breakdown structures Export program data Export and import auxiliary files Import notes Export fiscal calendars to Open Plan Export earned value Delete Cobra files Customize spread curves Display other types of data files Initialize demonstration data Running SQL commands
Rebuilding Indexes
Many databases, such as FoxPro, do not physically remove deleted records from a file. Instead, a delete operation causes these databases to merely flag the records for deletion. While Cobra ignores these flagged records, they do occupy physical space and have an impact on performance. The Cobra command to rebuild indexes physically removes the deleted records and then reorganizes the file to improve performance. Although Cobra relies heavily on the use of indexes to access data quickly and efficiently, it is possible for a corrupted file to have an index does not synchronize correctly with the data, a condition that Cobra cannot detect. This error could cause Cobra programs to function incorrectly, preventing you from locating data, or resulting in records being out of range. Rebuilding an index can solve such problems. You can display the following Rebuild Indexes dialog box by pointing to File Maintenance on the System menu, and then clicking Rebuild Indexes on the File Maintenance submenu.
514
Use this dialog box to rebuild the indexes in the selected Cobra folder. Notice that the System and Reports folders are combined in a single selection.
Program files Common files System and Report folders Since client/server databases that are accessed through ODBC do not rebuild indexes, the Program Directory and Common Directory options are not enabled for installations using these databases.
During the rebuild indexes operation, Cobra displays a status box that lists the indexes it has rebuilt. You can print this list by clicking Print on the status box when the operation is complete. To rebuild indexes
1. On the System menu, point to File Maintenance, and click Rebuild Indexes. 2. In the Rebuild Indexes dialog box, select the folders containing the type of file you want Cobra to re-index. 3. Click OK. 4. When Cobra displays the message that the process is complete, click OK 5. To return to the Rebuild Indexes dialog box, click Close.
515
This dialog box allows you to define the following parameters for the export operation: Master A list showing all of the master programs. You can either select one from the list, or leave the selection blank. Program If a master program has been selected, only a list of programs belonging to the the master is displayed. If a master program was not selected, the list shows all programs. The Program selection can be left blank if you have selected a master program in which case all program data associated with the master is exported. You can only export programs that you have read access to even though all programs are shown in the list. Filter A list showing spreadsheet report filters. If security is turned on, only shared filters and your personal filters are displayed. Dimensions Allows you to set up how data is displayed in the export by selecting the Rows and Columns. The following are among the selections included in the Rows and Columns lists:
Time Phased When selected, Cobra exports time-phased data. The calendar set prompt allows you to specify the time-phased periods to be exported.. Program Criteria The standard program critieria that appears in the Spreadsheet Wizard Criteria Selection page (Cost Account, Work Package, WBS, and etc). Results This option outputs values grouped by result names. Selecting the option disables the Value Types section of the Program Export dialog box. Cost Class This option outputs values grouped by class. The class list is filtered according to the Reporting Sets selection. Reporting Set This option is only available in the Columns dimension. Selecting it outputs values grouped by reporting set. The selection of this option disables the Reporting Set group of options.
Range Determines the range of data included in the export. Values that fall outside of the range are not included in the exported values. By default, the range is set from the start of the programs calendar to the end of the programs calendar.
516
Calendar This option is only enabled when Time Phased is chosen as one of the dimensions. The Calendar Set determines the periods that are shown for the corresponding Time Phased dimension. Value Types Allows you to select the results that export summarizes, and shows them as values in the exported data with the following options:
Hours Summarizes only the Result with a sort code of H. Direct Dollars Summarizes only the Result with either a blank sort code or a sort code of D. Total Dollars Summarizes all Results with the Currency flag set to T.
Reporting Set Determines which class data is exported. Only one of the following selections can be made: BCWS, BCWP, ACWP, EAC Allows you to quickly choose one of the standard Cost Reporting Sets. Other Set Allows you to select a single Cost Reporting Set from the list of all reporting sets defined for the program. Cost Class Allows you to select a single class from the list of all defined program classes: budget, forecast, actuals, and performance.
Export Begins the export process. A dialog box similar to the following appears:
When you click Export, the current selections are saved and used as the default selections next time the dialog box is opened. Config When you click the Config button in the Program Export dialog box, the Program Export Configurations dialog box is displayed:
517
This dialog box allows you to perform one of the following functions:
Save the current export settings under a specific name. Select a previously saved export configuration and load the settings into the Program Export dialog box. Delete an existing configuration.
When saved, the settings are saved in a table called PEXPCFG.DBF in the users folder.
Cobra .dbf Microsoft Excel 5.0/95 .xls Comma Delimited .csv Excel 5.0 is limited to 16,000 rows. If you export a file to Excel 5.0 that is larger than this, the process will stop exporting at 16,000 rows without giving you any warning. If you export to .csv, there is no limitation on file size.
Since many of these formats are also used with other programs, they provide you with the means of exchanging data with a wide variety of software applications. On the File menu, point to Export, and then click Auxiliary Files on the Export submenu to display the Export Auxiliary Files dialog box.
518
This dialog box allows you to define the following parameters for the export operation: Auxiliary file Can be any of the auxiliary files used by Cobra. The selection you make in this field controls the options available in the Item list. Item The specific auxiliary file to be exported options in the list depend on the selection in the Auxiliary file field. For example, if Rates is selected as the Auxiliary file, the Item list contains all the rate files currently defined in your installation of Cobra. Export filename A name for the file the data is exported to. You can specify the full pathname of the file, or you can click the ellipsis to locate the disk and folder where you want to store the file. As type The format in which the exported file should be saved. Use compression Allows you to specify whether the file should be saved under compression. If you select this option, the extension of the exported file is automatically changed to .zip. (When the file is unzipped, the extension reverts to its originial setting.) This option is disabled if you are exporting a file with a user-defined format. To export an auxiliary file
1. On the File menu, point to Export, and click Auxiliary Files. Cobra displays the Export Auxiliary Files dialog box. 2. Enter the appropriate information for the export operation. 3. Click Export.
519
The first page of the Import Auxiliary Files wizard controls the type of file that you would like to import. Standard Allows you to import a file stored in any of the following formats:
Cobra (*.dbf) Microsoft Visual FoxPro (*.dbf) Microsoft FoxPro 2.x (*.dbf)
User-defined Allows you to import data from a single file, which may not have the same structure as a standard Cobra export file. If you click User-defined, you can select from the following format types:
Microsoft Excel Workbook (*.xls) Microsoft Excel 5.0/95 Worksheet (.xls) Comma Separated Value (.csv) Microsoft Visual FoxPro (.dbf) Microsoft FoxPro 2.x (.dbf)
The option you select on this page determines the options that are displayed on the remaining pages of the Import Auxiliary Files wizard.
520
This page of the Import Auxiliary Files wizard provides Cobra with the following information about the file to be imported: Filename The name of the file to be imported. You can specify the full pathname of the file, or you can click the ellipsis to locate the drive and folder where the file is stored. As type The format in which the file to be imported is stored. The formats from which you can select depend on whether you chose the Standard or User-defined option on the first page of the Import Auxiliary Files wizard: From compressed file Allows you to specify whether the file being imported is currently a compressed file. You cannot import from a compressed file with a user-defined format. Auxiliary file The type of auxiliary file to be imported. Item The specific auxiliary file to be imported. The options in the drop-down list depend on the selection in the Auxiliary file field. For example, if you select Rates as the Auxiliary file, the item list contains all the rate files currently defined in your installation of Cobra. Before you can perform the import procedure, your installation of Cobra must already contain an empty auxiliary file of the appropriate type. For example, if you want to import a rate file, your installation must already contain an empty rate file to hold the imported data. (While in theory the Cobra auxiliary file need not be empty, the import process will overwrite any data that it may contain.)
521
This page of the Import Auxiliary Files wizard uses the following controls to configure the imported file so that it contains the specific fields that you want included, and the order in which they should be placed in the file. Available Fields Contains a list of fields that can be included in the import process. Selected Fields The list of fields currently planned to be included in the import process. Initially, the fields are listed in the order in which they were selected. You can, however, use the buttons in the list to drag a field into any order that you want. Config Displays the Field Configuration Names dialog box that you can use to save the current field configuration or to load a previously saved field configuration. If applicable, the name of a currently loaded configuration is displayed above the Available Fields list. > Moves the fields selected from the list of Available Fields to the list of Selected Fields. You can select multiple fields and move them all in the same operation. >> Moves all fields displayed in the Available Fields list to the Selected Fields list. < Moves the selected fields from the list of Selected Fields to the list of Available Fields. You can select multiple fields and move them all in the same operation. << Moves all fields displayed in the Selected Fields list to the Available Fields list.
522
This dialog box features the following controls that allow you to save a current field configuration or to load one that was previously saved: Save the current field configuration This option allows you to provide a name for the field configuration that you want to save. Load/Delete an existing configuration This option allows you to load a configuration from a list of previously saved field configurations. When you click OK, Cobra returns you to the third page of the Import Auxiliary Files wizard. You can then modify the list of selected fields (if necessary) or click Next to continue to the last page of the Import Auxiliary Files wizard.
This page of the Import Auxiliary Files wizard allows you to select the method to use when importing files. You can select either of the following options:
523
Update This option updates any records with the same key fields as the file being imported and inserts any new data from the imported file. Overwrite Deletes any existing data referred to by the file to be imported, and then appends information from the imported file. This operation deletes information from only those key fields that are the same as the key fields being imported. If you are performing a user-defined import that includes any memo fields, Cobra asks whether you want these fields to be imported. Because Cobra does not support memo fields that exceed 255 characters, imported memo fields may be inappropriately truncated. Any security fields imported from a standard import format are ignored. It is, therefore, possible to export an auxiliary file, edit the security fields, and then import the file again. This process will not change the security fields in the file that is being updated or overwritten. Cobra does not perform any validations during the import process. If the auxiliary files you are importing are associated with a program, be sure to run a validity check after importing the data. To import an auxiliary file into Cobra
1. On the File menu, point to Import, and click Auxiliary Files. 2. Enter the appropriate information on each page of the wizard as it is presented. 3. On the last page of the wizard, click Import.
Each line in the text file must contain a note for a single cost account or work package in Cobra. Each column must be separated by a comma. (If the note text contains commas, then the entire note must be surrounded by double quotes.) Each note record must contain a combination of the following columns: CA1 CA2 CA3 WP Category Note
Cost account-level notes Cost account-level notes must include all relevant cost account columns. The work package value must be blank for cost account-level notes.
524
Work package-level notes work package-level notes must include a work package column. If the work package value is unique within the program, the cost account columns are not needed. If the work package value is not unique within the program, all other relevant cost account columns must be included. Category This is a valid Note Category for the program, or blank if the userselected default category is to be used. Note This is the note text. If the text contains commas, it must be surrounded by quotes. The note should not be longer than one line.
Program This specifies the Cobra program for which the notes will be loaded. Note File This is the text file containing note data in the required format. Default Category This is a list of note categories available for the selected program. When loading notes, the category specified on each record in the notes file is used to determine the category applied to the note when it is saved in Cobra. If a note category is blank, the note is given the category selected in the Default Category field.
525
This dialog box provides the following controls that allow you to export a Cobra fiscal calendar to Open Plan: Fiscal Calendar The name of the fiscal calendar file to be exported Calendar Set The name of the calendar set file to be exported Reporting Calendar The name to be used for the exported fiscal calendar Connection DSN The appropriate DSN to which you are exporting the fiscal calendar User ID The user ID needed to connect to the selected DSN Password The password assigned to the user ID Once you have exported the calendar, you must specify that Open Plan should use this calendar as a reporting calendar when defining cutoff periods for resource spreads. The Cost tab of the Open Plan Project Properties dialog box contains a field where you can specify the reporting calendar.
526
In Open Plan
Using this dialog box, you can select the program you want to export earned value from and the name of the file that will be created as a result of the export. The newly created file is always a comma-delimited text file and defaults to the name of the selected program with a .csv extension. To begin the export process, click OK. When the process has finished, you can open the exported file to see the earned value in a spreadsheet format like the following:
527
The exported file contains the following fields in the order shown:
CA key fields WP key field Description BCWS cum to date BCWP ACWP BAC % COMPLETE for WP with a PMT of % complete Actual start Actual finish Estimated start Estimated finish Status (C for close, O for open, blank for unopened)
After you have completed your edits, you can then import the edited spreadsheet back into Cobra. This option is located on the Load Status page of the Integration Wizard and is called Calculate Work Package percent complete from BCWP/BAC.
528
Notice that the Item panel contains a list of file types. When you select a file type to be displayed, Cobra displays all of the files of that type. You can then select the files to be deleted from the displayed list. You can also click Purge to delete a program and its auxiliary files. To delete files in Cobra
1. On the System menu, point to the File Maintenance, and then click File Deletion. 2. On the File Deletion dialog box, select the type of files you want to delete. 3. Select the name of the file you want to delete. 4. Click Delete. 5. When Cobra prompts you to confirm the deletion, click Yes.
To modify a value for a specific percentile, enter a new value for that spread point, or use the controls displayed beneath that percentile to adjust it one percentage point at a time. To modify an entire spread curve by adjusting a single spread point, enter the new value for one point, and click Auto Scale. Cobra redistributes the values for all periods so that the new curve conforms to both the adjusted value and the overall shape of the curve. To customize a spread curve
1. On the System menu, click Spread Curves. Cobra displays the Spread Curves dialog box. 2. Select the curve you want to customize, and modify one or more spread points. The total of all spread points must equal 100. 3. When the information for the spread curve is correct, click Save.
Deltek Cobra User's Guide 529
Text files (For example, log files produced by operations such as program validation.) Table files (.dbf files) The Deltek support staff does not recommend updating program-related .dbf files outside of the standard Cobra interface since this can result in the entry of invalid data. To display text files
1. On the System menu, point to File Maintenance, and click Edit Text File. 2. Select the file to display, and click OK.
530
This statement would return all of the data found in the CAWP table. In addition, once a select script has been run, you can choose to save the selection criteria to one of the following file formats:
The SQL Command Utility can perform all of the tasks of the Export Auxiliary files option. In addition, this utility allows you to restrict the data exported. For example, you could choose to export all rates from a specific date onwards. You can add commonly run queries to a custom menu. For more information, refer to Chapter 33, Application Options and .ini Settings. There are several sample scripts shipped with Cobra, such as ADDCFSR.sql, These scripts can be found in the Cobra\system\scripts folder. Most of the scripts found in this folder must be modified to work with your data. For example, many scripts contain the following:
WHERE PROGRAM = 'DEMOADV'
DEMOADV must be changed to your program name in order for the script to work properly. The following list describes a few of the scripts found in this folder:
Fiscdesc.sql Gives an example of how to change the fiscal calendar description. Delact.sql Gives an example of how to delete the actual costs in the current period. Droptbls.sql Drops the tables in an Oracle implementation. GrantOra.sql Grants tables in the Open Plan database to the Cobra user in order to load a schedule.
531
OPBsu.sql Gives an example of how to view the Open Plan baseline use records. This is useful for determining if the Cobra data matches the Open Plan baseline data after loading a schedule. Orphtphs.sql Gives an example of how to view the orphaned T-phase records in the T-phase table. This is useful in determining the magnitude of the data error. For a description of what a script in the Cobra\system\scripts folder does, open it in a text editor such as Windows Notepad.
It is also possible to use the SQL Command Utility as a global update command. It is very important, however, that you make a backup of your program before executing any update or delete statements in the utility. Most standard SQL commands will work using this utility. Since SQL is a standard language, there are many places you can learn more about SQL. W3 Schools provides a free SQL tutorial where you will learn how to use SQL to access, define, and manipulate data. You can take this tutorial at: http://www.w3schools.com/sql/default.asp
The following examples illustrate some of the actions that can be performed with a SQL script.
Example 1
You could use this example to get the user ID: SET vpcUser = goApp.cUser;
Example 2
You can use this example to get the program name: SET vpcProgram = IIF(vartype(vpcProgram)='U', '',vpcProgram); If the Program form is open, this will pick up the program name; otherwise, it will set the name to blank. Whether or not this is suitable depends on what your script is trying to do.
Example 3
When run with the Program form open, the following example lists Work Packages that are open or have been closed within a month of the status date of the program. The example also illustrates a number of the new SQL command features (such as the multi-line commands describe in the previous section).
533
SET vpcProgram=IIF(vartype(vpcProgram)='U', inputbox('Program Name'), vpcProgram); set this.lshowresults=.f.; Select statusdate from program where program=?vpcProgram; SET vpdStart=gomonth(statusdate , -1); set this.lshowresults=.T.; SELECT CA1, CA2, Wp , Descrip FROM CAWP WHERE PROGRAM=?vpcProgram AND (flag='O' OR (flag='C' AND asd > ?vpdstart));
Example 4
This example prompts you for the name of the breakdown structure and then extracts the code and code description for that breakdown structure: SET vpcBDNFile=upper(inputbox(Breakdown Structure File Name:)); SELECT CODE,CODEDESC FROM COMMON!BDNDETL WHERE BREAKFILE=?vpcBDNFile;
Example 5
Finally, if you are running a compiled PRG (fxp) from the menu, then you do not need to include SET or the semi-colons in the lines: vpcUser = goApp.cUser vpcProgram = IIF(vartype(vpcProgram)='U', '',vpcProgram)
534
Process Sections
Synchronize Advance Calendar Rolling Wave Calculate Earned Value Load Actual Costs Batch Reporting Program Backup Update Totals Global Reclassification Global Recalculation Copy Program SQL Command Apportionment Importing Auxiliary Files Exporting Auxiliary Files CPR3 Restore Calculate Forecast Replace Budget Elements Validity Check Deleting Programs Ansi X12 Export wInsight Wizard
Log Files
Batch Process Log Integration Process with Project and Program Integration Process with Transactions Files and Program Integration Process with Project and No Program Other Logs
Timeout Operation
536
Overview
Batch processing is the ability to process a group of transactions at one time. A batch session implies a non-interactive or non-interruptible operation from beginning to end. Cobra can run a batch process of up to 999 processes without user interaction. Batch processing was designed to work with your internal batch server to automatically schedule processes to occur without user intervention. This chapter discusses the two sections of the batch processing script file. Each type of process that can be performed is defined and examples are provided. The log files that the batch process generates are discussed. The security that can be enabled for batch processing is described, and a discussion of the timeout operation ends the chapter.
To get Cobra to run the batch process once the script is defined, you must specify the script file on the Cobra command line in the following manner:
Cobra.exe b:<script file>
537
If <script file> is not in the Cobra working directory, you must provide the location of the file in addition to its filename. If your script file is located on another drive, you still need to include the b: before the drive and file location. (Example: b:c:batch.txt). Cobra does not support UNC, so the path and file must be visible from the computer on which Cobra is executed. You can easily create a Windows shortcut to execute a particular script. If you use several different batch processes, you can create a separate Windows shortcut for each script file and label each shortcut accordingly. To create a Windows shortcut to run a Cobra batch process
1. Right-click an empty area of the Windows Desktop. On the context menu, point to New, and click Shortcut. 2. On the Create Shortcut wizard, click Browse. 3. Navigate to the directory where Cobra is installed, and select cobra.exe. 4. Click Open. 5. In the Command line box, position the curser after the quotation mark at the end of the command. 6. Type b:<script file>, and click Next. If <script file> is not in the Cobra working directory, you must provide the location of the file as well in addition to its filename. If you are pointing to another drive, you still need to include the b: before the drive and file location. (Example: b:c:batch.txt) 9. Enter a name for the shortcut, and click Finish.
The following picture shows where to type the batch filename on the Create Shortcut wizard:
Settings Section
The Settings section in the script file is used to define settings that affect all processes within the batch.
538
Log Directory
When a batch process runs, Cobra sends all log files created by the individual processes to subdirectories within the specified log directory. Typically, each subdirectory is named to correspond with the name of the Cobra program. This allows each person who is responsible for a Cobra program to quickly locate the relevant logs in order to resolve any errors that may have occurred. If a specific log directory is not specified in the batch script, Cobra defaults to the following directory: <Cobra working directory>\Logs The LogDirectory setting must be a fully qualified directory. Cobra looks for the directory you specify and attempts to create it if it does not exist. If the specified directory cannot be created, Cobra aborts the batch process. The following example causes all log files and directories to be created under the F:\Cobra\Batch\Logs directory:
[Settings] LogDirectory=F:\Cobra\Batch\Logs
You can override the default setting for an individual process by placing the LogDirectory setting within that specific process. For more information on log files, refer to the Log Files section later in this chapter.
You can override the default setting for an individual process by placing the ProgramLogComment setting within that specific process. The comment that you can place within the log is limited to 60 characters.
539
Process Sections
The Process sections are used to define the specific processes you want to run in the batch. Each section must have a ProcessID setting that identifies a valid process to be run. The settings that are relevant for each process depend on the process itself. The following sections describe each process and its settings. Cobra recognizes a maximum of 999 processes in a single script. Because each process is executed in order based on a number that you assign, processes can be defined in any order. If a process fails (for instance Process001), batch processing will still continue on with the other processes. This may not be desirable in all cases. For example, if [Process001] is to backup the program and this process fails because of insufficient disk space, the processor will move on to [Process002] Advance Calendar. The user may not want the calendar to be advanced if the backup was not saved. Also, if the script contains duplicate process numbers, the first process with that number is run and the second process is ignored. No warning is given. When running Cobra in batch mode, the window header displays the process being run, using the following format: Cobra ProcessXXX: <Process ID>. For example, if the first process is to advance the calendar, the header would appear as: Cobra Process001: AdvanceCalendar. For each process, you can override the default setting for the script (established in the Settings section) by including these settings in the process:
LogDirectory=<specific log directory> ProgramLogComment=<comment to use for any changes made to the program log>
The following sections describe the processes that can be included in the batch.
Synchronize
This process allows you to synchronize a Cobra program with a schedule.
ProcessID=Synchronize
This ID tells Cobra to run the Synchronize process. The following are the required settings: ConfigurationFile
540
Example values: C:\Cobra\System\Config\myconfig.cfg Description: The configuration file must be a fully qualified filename. The configuration file is created on the last page of the Integration Wizard and contains the list of actions to be run on the program. Program Example value: DEMOADV Description: This is the Cobra program that you are synchronizing. Please note that the program name is case sensitive. RunTotalSPA Example values: 1 or 0 Description: If the value is 1, Cobra updates the total values for BCWS, BCWP, ACWP, and EAC, ensuring that these summary values stored for the program are valid. If the value is 0, Cobra does not update the total values for BCWS, BCWP, ACWP, and EAC. The only time you would ever set this to zero is when you are loading more than one project into a single Cobra program. You would set this to 1 on the last project in the series. ApportionmentCalculation Example values: 1 or 0 Description: If the value is 1, Cobra runs the apportionment calculation defined for the integration. If the value is 0, Cobra does not run the apportionment calculation. The following is a sample script file for this process:
[Process001] ProcessID=Synchronize ConfigurationFile=C:\Cobra\System\Config\learnst.cfg Program=LEARN RunTotalSPA=1 ApportionmentCalculation=1
The first line in this example, [Process001], is the number assigned to the Synchronize process.
Advance Calendar
This process allows you to advance the fiscal calendar for a selected program.
ProcessID=AdvanceCalendar
This ID tells Cobra to run the Advance Calendar process. The following is the required setting:
541
Program Example value: DEMOADV Description: This is the Cobra program for which you are advancing the calendar. Please note that the program name is case sensitive. The following is a sample script file for this process:
[Process002] ProcessID=AdvanceCalendar Program=LEARN
Rolling Wave
This process facilitates weekly earned value management and reporting over a user defined period while the remaining program data before and after this period is stored less frequently (generally monthly).
ProcessID=RollingWave
This ID tells Cobra to run the Rolling Wave process. The following are the required settings: Program Example value: DEMOADV Description: This is the Cobra program on which you are performing rolling wave. Please note that the program name is case sensitive. WeeklyCalendar Example value: ROLLWAVE Description: This is the calendar that defines the weekly dates and monthly calendar periods for the program. ExpandMonthsBack Example value: 1 Description: This value tells Cobra how many monthly periods prior to the program status date that the data will be stored weekly. ExpandMonthsForward Example value: 3 Description: This value tells Cobra how many monthly periods after the program status date that the data will be stored weekly. UpdateFTERates Example value: 1 Description: A value of 1 tells Cobra to update the FTE rates. The default is 0.
Deltek Cobra User's Guide 542
This process refers to time spans as weeks and months as this is how most customers use the rolling wave process. You can, however, specify calendars with other time spans if that is appropriate for your organization. It is important to note, however, that the WeeklyCalendar, ExpandMonthsBack, and ExpandMonthsForward terms must always be used even if they refer to different time spans.
ProcessID=CalculateEarnedValue
This ID tells Cobra to run the Calculate Earned Value process. The following is the required setting: Program Example value: DEMOADV Description: This is the Cobra program for which you are performing CalculateEarnedValue. Please note that the program name is case sensitive. The following is a sample script file for this process:
[Process004] ProcessID=CalculateEarnedValue Program=LEARN
ProcessID=LoadActualCosts
This ID tells Cobra to run the Load Actual Costs process. The following are the required settings: Program Example value: DEMOADV
543
Description: This is the Cobra program that you are loading actual costs. Please note that the program name is case sensitive. TransactionFile Example value: C:\Cobra\System\Demodata\Trn\ac_tran1.csv Description: This must be a fully qualified filename. TransactionValues Example values: 0, 1, or 2 Description: A value of 1 indicates that the transaction file is a cumulative to date file. A value of 2 indicates that the transaction file is a current period file. A value of 0 or a blank indicates that the programs default setting is used. If set to 1 or 2, this setting overrides the Transaction files contain cumulative to date actuals program option. FileType Example values: CSV or DBF Description: The FileType defines how the data is stored in the transaction file. The CSV setting is used when the data is stored in a comma-delimited text file. The DBF setting is used when the data is stored in a FoxPro DBF table. The default value for this setting is CSV. FileIncludesClass Example values: 0 or 1 Description: A value of 0 indicates that the transaction file does not include the class field. A value of 1 indicates that the transaction file does include the Class field. If loading from a CSV transaction file, the Class column must also be included in the FieldList setting. Class Example value: AC Description: If the file does not include the actuals class, this setting is used to determine the class that will hold the data when loaded. This value must be an actuals class in the Cobra program or the process will not complete successfully. This setting is ignored if the class is being loaded from the transaction file.
ResultsToCalculate Example values: OVERHEAD, GANDA Description: This setting holds a comma-delimited list of budget element results that are calculated after the load the actual costs process completes.
544
FieldList Example values: CA1, CECODE, HOURS, DIRECT Description: This setting holds a comma-delimited list of the fields used when loading the data from a transaction file. This list must be defined when loading from a CSV file but is not used when loading from a DBF file. The field list is used to determine the position of the data when creating the transaction database. FieldListFormat Example values: 1 or 2 Description: This setting specifies which format Cobra uses to store the data in the transaction file. The setting is for either Format 1 or Format 2, with the default being Format 1. If the DATA_TYPE field is not defined in the FieldList setting or as a DBF column, the default value is used. ActualsLevel Example values: CA or WP Description: If the transaction file from which you are loading actual costs contains values at both the cost account and the work package levels, you can use this setting to specify the level at which the actual costs are stored in the transaction file. ZeroUnreferencedActuals Example values: 1 or 0 Description: A value of 1 tells Cobra to zero out actual cost records that do not have a corresponding entry in the load actuals transaction file. IgnoreClassList Example values: CB, F1, OT Description: This setting forces the zeroing process to skip any actual cost records whose class appears in the defined cost class list. This setting is ignored if ZeroUnreferencedActuals is not set to 1. IgnoreTransactionFile Example values: C:\Cobra\IgnoreTheseRecords.csv Description: This setting forces the zeroing process to skip actual costs contained in a file. The exception file must be in the same format (Format 1 or Format 2) and have the same column order as the actuals transaction file. This setting is ignored if ZeroUnreferencedActuals is not set to 1. ValidateOnly Example values: 1 or 0
545
Description: This setting allows you to run the validation of the actual costs without posting any data to the Cobra database. The following is a sample script file for this process:
[Process005] ProcessID=LoadActualCosts Program=DEMO TransactionFile=C:\COBRA35\SYSTEM\DEMODATA\TRN\AC_TRAN1.CSV TransactionValues=1 FileType=CSV (Comma Delimited) (*.csv) FileIncludesClass=0 Class=AC ResultsToCalculate= FieldList=CA1,CA2,WP,CECODE,HOURS,DIRECT,OVERHEAD,GANDA FieldListFormat=1 ActualsLevel=CA ZeroUnreferencedActuals= IgnoreClassList= IgnoreTransactionFile= ValidateOnly=
Batch Reporting
This process allows you to run a Cobra batch report.
ProcessID=BatchReport
This ID tells Cobra to run the Batch Report process. The following is the required setting: BatchReport Example value: MYBATCH Description: This is the name of the batch report file to be run. Please note that the batch name is case sensitive. The following is a sample script file for this process:
[Process006] ProcessID=BatchReport BatchReport=MYBATCH
Program Backup
This process allows you to backup a Cobra program to a specified location. Backing up a master program backs up all the associated subprograms. The subprograms will be backed up to files with the same name as the program. If the files already exist in the directory where the backups are being stored, they will be overwritten.
ProcessID=BackupProgram
Deltek Cobra User's Guide 546
This ID tells Cobra to run the Program Backup process. The following are the required settings: Program Example value: DEMOADV Description: This is the Cobra program that you are backing up. Please note that the program name is case sensitive. Destination Example value: C:\Cobra\Program\System\Demodata\ Description: This is the destination directory for the backed up program file. ExcludeAuxiliaryFiles Example value: 0 or 1 Description: Setting this value to 1 instructs Cobra to exclude from the backup process the auxiliary files associated with the program. ExcludeLinkFiles Example value: 0 or 1 Description: Setting this value to 1 instructs Cobra to exclude the link files associated with the program from the backup process. The following is a sample script file for this process:
[Process007] ProcessID=BackupProgram Program=LEARN Destination=C:\Cobra\Program\System\Demodata\ ExcludeAuxiliaryFiles=1 ExcludeLinkFiles=1
You may see a reference to the CALC table in backup logs. This is because the CALC table must always be in the backup for internal reasons. It will not be restored if it has been included just for internal reasons.
Update Totals
This process updates and stores the total values for BCWS, BCWP, ACWP, and EAC.
ProcessID=TotalSPA
This ID tells Cobra to run the Update Totals process. The following are the required settings: Program
547
Example value: DEMOADV Description: This is the Cobra program on which you are running Update Totals. Please note that the program name is case sensitive. Total Example values: S, P, A, and/or E Description: The Total setting is a comma-delimited list and is used to restrict the Total process to summarize the following:
Global Reclassification
This process allows you to change, copy, or replace an existing cost class to a different cost class.
ProcessID=GlobalReclass
This ID tells Cobra to run the Global Reclassification process. The following are the required settings: Program Example value: DEMOADV Description: This is the Cobra program for which you are using global reclassification. Please note that the program name is case sensitive. Criteria Example value: Cost Account Description: This setting allows you to select the selection criteria to be used for the global reclassification. The choices change based on your program structure. Typical selection choices are:
OBS WP BE Total Program Please note that the choices are case sensitive.
Level Example values: 0, 1, or 2 Description: This setting is used only if the criterion is based on a key field that is validated by a breakdown structure. Choosing a level of the breakdown structure will reclassify all of the data that summarizes to that level element. Choosing zero represents the lowest level of the structure. Selection Example value: 1.1 Description: This setting allows you to select the portion of the program for the global reclassification. The choices that are available depend on the selections you made in the Criteria and Level settings. If you select Total Program for the Criteria setting, the Selection setting is left blank. Scope Example values: All, Remaining, or DateRange Description: Your selection here allows for one of the following:
All This setting applies the reclassification to all selected costs regardless of their status. In this case reclassification is applied to historical data. Remaining This setting applies the reclassification from the status date forward and does not change historical data. DateRange This setting allows you to set the date range for which Cobra should apply the global reclassification.
StartDateLabel Example values: START or JAN07 Description: This is a valid fiscal calendar label and is the starting date for the DateRange setting. EndDateLabel Example value: APR07
549
Description: This is a valid fiscal calendar label and is the ending date for the DateRange setting. StartDateLabel and EndDateLabel are only used if you use DateRange for the Scope setting. FromClass Example value: CB Description: This is the source class from which you copy, change, or replace the data of the target class. Action Example values: Copy, Change, Replace, or Replicate Description: Your selection allows for one of the following actions:
Copy This action is additive. It copies data from the source class and adds it to the target class. Change This action is additive. Data from the source class is changed to that of the target class and added. Replace This action is non-additive. Data from the source class replaces the data of the target class. Replicate This action is additive. Data from the source class remains intact after the replace.
ToClass Example value: OB Description: This is the target class that you copy, change, or replace with data from the source class. The following is a sample script file for this process:
[Process009] ProcessID=GlobalReclass Program=LEARN Criteria=Total Program Level=0 Selection= Scope=All StartDateLabel= EndDateLabel= FromClass=CB ToClass=OT Action=Copy
Global Recalculation
This process allows you to run the global recalculation process.
550
ProcessID=GlobalRecalc
This ID tells Cobra to run the Global Recalculation process. The following are the required settings: Program Example value: DEMOADV Description: This is the Cobra program for which you are using global recalculation. Please note that the program name is case sensitive. Criteria Example value: Cost Account Description: This setting allows you to select the selection criteria to be used for the global recalculation. The choices change based on your program structure. Typical selection choices are:
Cost Account Work Package Budget Element WBS OBS WP BE Total Program Please note that the choices are case sensitive.
Level Example values: 0, 1, or 2 Description: This setting is used only if the criterion is based on a key field that is validated by a breakdown structure. Choosing a level of the breakdown structure will recalculate all of the data that summarizes to that level element. Choosing zero represents the lowest level of the structure. Selection Example value: 1.1 Description: This setting allows you to select the portion of the program for the global recalculation. The choices that are available depend on the selections you made in the Criteria and Level settings. If you select Total Program for the Criteria setting, the Selection setting is left blank.
551
Scope Example values: All, Remaining, or DateRange Description: Your selection here allows for one of the following:
All This setting applies the recalculation to all selected costs regardless of their status. In this case recalculation is applied to historical data. Remaining This setting applies the recalculation from the status date forward and does not change historical data. DateRange This setting allows you to set the date range for which Cobra should apply the global recalculation.
StartDateLabel Example values: START or JAN07 Description: This is a valid fiscal calendar label and is the starting date for the DateRange setting. EndDateLabel Example value: APR07 Description: This is a valid fiscal calendar label and is the ending date for the DateRange setting. StartDateLabel and EndDateLabel are only used if you use DateRange for the Scope setting. ClassList Example value: CB, OT Description: This setting is the list of cost classes to be recalculated. ResultList Example value: HOURS, DIRECT, OVERHEAD, or GANDA Description: This setting is the result to be recalculated. The following is a sample script file for this process:
[Process010] ProcessID=GlobalRecalc Program=DEMOADV Criteria=Cost Account Level=0 Selection= Scope=All StartDateLabel= EndDateLabel= ClassList= ResultList=
552
Copy Program
This process creates a new Cobra program by copying from an existing program. This process also supports the copying of a Cobra master program which results in a new copy of the master program as well as all subprograms.
ProcessID=CopyProgram
This ID instructs Cobra to copy a Cobra program or master program. CopyFrom Example value: DEMO Description: This setting identifies the name of the source program to copy. CopyTo Example value:DEMOADV1 Description: This setting identifies the name of the new Cobra program to create. If this setting is left blank, Cobra names the new program by adding a number to the end of the CopyFrom program. If the original name of the program is less than 6 characters, Cobra will backfill the spaces with an underscore until the total number of characters is 8. For example, if the original program was DEMO and the CopyTo setting was left blank, Cobra will name the new program DEMO___1. If the name of the original program is already 8 characters, Cobra will truncate the name before adding a number to the end of the name for the new program. CopyData Example value: 0 or 1 Description: This setting indicates whether data is copied from the source program into the new program. A setting of 1 means the data will be copied. DeleteTarget Example value: 0 or 1 Description: This setting indicates whether Cobra should delete an existing copy of the new program. A setting of 1 will instruct Cobra to delete the existing copy. CopyCalendar Example value: 0 or 1 Description: This setting copies the fiscal calendar from the source program and renames it using the new programs name. A setting of 1 will instruct Cobra to copy the calendar. A setting of 0 will instruct Cobra to use the same fiscal calendar as the source program for the new program.
553
SQL Command
This process automates SQL scripts, which is helpful in exporting data or running SQL scripts on data.
ProcessID=SQLCommandProcess
This ID instructs Cobra to run the SQL Command Process. The following are the required settings: SQLCommand Example value: SELECT * FROM CAWP Description: This is the SQL command that is executed during the batch process. It can either be a one-line SQL command or a file containing an SQL script. When using the SQL command in FoxPro mode, table names must be prefixed by the database name separated by an exclamation point (for example, Cobra!CAWP or Common!Breakdwn). SaveAsFile Example value: C:\ProgramFiles\Deltek\Cobra\System\sqlexample.csv Description: This is the full path and filename and is where the data is exported once the command runs. It is only needed when the SQL Command is a Select command. If no extension is used, the default will be .csv. If a filename is not specified, any data will be saved to sql.csv in the Cobra directory. The following is a sample script file for this process:
[Process012] ProcessID=SQLCommandProcess SQLCommand=SELECT * FROM CAWP SaveAsFile=
Apportionment
This process allows you to calculate apportioned budget and forecast values for a selected program.
ProcessID=Apportionment
Deltek Cobra User's Guide 554
This ID instructs Cobra to run the apportionment process. The following are the required settings: Program Example value: FCA Description: This is the Cobra program for which apportionment will be run. Please note that the program name is case sensitive. Apportionment mapping has to be defined for the program before the process will run. If apportionment mapping has not been defined, the process will end with the message No apportionment mapping defined for program <program name>. Scope Example values: All, Remaining, or DateRange Description: Your selection here allows for one of the following:
All This setting performs the apportionment calculation on all relevant data in the program. Remaining This setting performs the apportionment calculation on all relevant data after the status date to the end of the program. DateRange This setting allows you to set the date range for which Cobra should apply the apportionment calculation.
StartDateLabel Example values: START or JAN07 Description: This is a valid fiscal calendar label and is the starting date for the DateRange setting. EndDateLabel Example value: APR07 Description: This is a valid fiscal calendar label and is the ending date for the DateRange setting. StartDateLabel and EndDateLabel are only used if you use DateRange for the Scope setting. ClassList Example values: CB, F1, OT, RP Description: This setting holds a comma-delimited list of the classes that will be recalculated. This setting supports the inclusion of cost reporting sets. If a cost reporting set is included, Cobra recalculates all classes that are part of the cost reporting set. For each item in the list, Cobra first checks to see if it is a class for the program. If not, it checks to see if it is a cost reporting set. If it is neither of these, Cobra ignores the value. If ClassList is left blank, a calculation does not take place.
555
ProcessID=Import
This ID instructs Cobra to run the importing process. The following are the required settings: ImportStructure Example value: 1 or 2 Description: This can have the value 1, for standard or 2 for user defined. ImportFile Example value: C:\ProgramFiles\RateFiles\drillrate.dbf Description: The name of the file containing the data you wish to import. It must have the full path name and extension. FileType Example value: CSV or DBF Description: The file type of the import file. Compressed Example value: 0 or 1 Description: This can have the value 0 for non-compressed data, or 1 for compressed data. AuxiliaryFile Example value: Rate file Description: This lets you define the file type of the Cobra file. Item Example value: drillrate Description: This is the name of the file that will contain the imported data.
556
Fields Example value: CODE,CODEDESC Description: The fields to include and the order in which they should be placed in the file. Overwrite Example value: 0 or 1 Description: This can have the value 0 for False meaning the imported values will be added to the existing file, or 1 for True meaning the current contents of the file will be erased, then imported values will be added. The following is a sample script file for this process:
[Process014] ProcessID=Import ImportStructure=1 ImportFile=C:\ProgramFiles\RateFiles\drillrate.dbf FileType=CSV Compressed=0 AuxiliaryFile= Item=drillrate Fields=CODE,CODEDESC Overwrite=1
ProcessID=Export
This ID instructs Cobra to run the exporting process. The following are the required settings: AuxiliaryFile Example value: Rate file Description: This lets you define the file type of the Cobra file. Item Example value: Demorat Description: This is the Cobra filename of the file from which you are exporting. ExportFile Example value: C:\ProgramFiles\Deltek\Cobra\System\Demodata\demorat.dbf
557
Description: This is the full path and filename of the export file, including the extension. ExportType Example value: XLS, CSV, DBF, XML Description: This is the file type of the export file. UseCompression Example value: 0 or 1 Description: This determines whether the exported file is compressed or not using either a value of 0 for no-compression or 1 for compression. The following is a sample script file for this process:
[Process015] ProcessID=Export AuxiliaryFile=Rate File Item=demorat ExportFile=C:\Cobra\System\Demodata\demorat.dbf ExportType=CSV UseCompression=0
CPR3
This process allows you to run CPR 3 as a batch process.
ProcessID=CPR3
This ID instructs Cobra to run the CPR 3. Program Example value: DEMOADV Description: This is the Cobra program that you are running CPR3 for. ShowChangeNo Example value: 0 or 1 Description: Setting this value to 1 instructs Cobra to only show change numbers on the CPR3. SummarizeByChangeNo Example value: 0 or 1 Description: Setting this value to 1 instructs Cobra to group the change numbers on the report. If this setting is set to 1 and the ShowChangeNo setting is set to 0, the report is still produced with the updated settings. ShowLogComment
558
Example value: 0 or 1 Description: Setting this value to 1 instructs Cobra to show log comments. If both this setting and the ShowChangeNo settings are 0, the ShowLogComment setting will default to 1. If the ShowChangeNo, SummarizeByChangeNo, and ShowLogComment settings are all set to 1, the SummarizeByChangeNo setting will be changed to 0. SaveLocation Example value: C:\Cobra Description: This setting determines where the CPR3 will be saved. The file is stored in a subfolder that matches the program name. If the folder does not exist, it will be created. Leaving the SaveLocation setting blank instructs Cobra to print it instead. OutputType Example value: HTM Description: This setting allows you to specify what format the CPR3 will be saved. Valid output types include XLS, HTM, TXT, VTS, and PRN. Leaving the OutputType setting blank instructs Cobra to print it instead. The report is saved with CPR3 as the file name. The following is a sample script file for this process:
[Process016] ProcessID=CPR3 Program=DEMOADV ShowChangeNo=0 SummarizeByChangeNo=1 SaveLocation=C:\Cobra OutputType=HTM
Restore
This process allows you to automatically restore programs as a batch process.
ProcessID=Restore
This ID instructs Cobra to restore programs. FileName Example value: DEMOADV.CMP,DEMO.CMP,SHIP.CMP Description: This is the name of the file to restore. You can specify a commadelimited list of file names to be restored. Program backup files are the only files supported during the restore so the process uses the CMP extension by default.
559
Path Example value: C:\Cobra\System\DemoData\ Description: This setting specifies the directory containing the backup files. If this setting is left blank, the Cobra directory is used by default. The following is a sample script file for this process:
[Process017] ProcessID=Restore FileName=DEMOADV.CMP,DEMO.CMP,SHIP.CMP Path=C:\Cobra\System\DemoData\
Calculate Forecast
This process allows you to run Calculate Forecast automatically.
ProcessID=CalculateForecast
This ID instructs Cobra to calculate forecast. Program Example value: DEMOADV Description: This is the Cobra program that you are calculating the forecast values for. ClassList Example value: F1,F2,F3,F4 Description: This is a comma-separated list of the forecast classes to calculate. If the forecast classes uses the PF=User Input method and the RecalcPF setting is 1, the class will be ignored. If the RecalcPF setting is 0, the batch process will calculate the forecast classes that use the PF=User Input method. RecalcPF Example value: 0 or 1 Description: If this setting is 1, performance factors will be recalculated. If the setting is left blank or is invalid, it defaults to 0. The following is a sample script file for this process:
[Process018] ProcessID=CalculateForecast Program=DEMOADV ClassList=F1,F2,F3,F4 RecalcPF=1
560
ProcessID=ReplaceBE
This ID instructs Cobra to replace budget elements. Program Example value: DEMOADV Description: This is the Cobra program in which you are replacing budget elements. FileName Example value: C:\Program Files\Deltek\Cobra\Data\BEList.XLS Description: This is the full path and filename of the comma separated value (.csv) file or Excel (.xls) file containing the budget element pairings to be used in the replace process. OriginalBE Example value: AERO1 (any budget element in the budget element file attached to the program) Description: This is the old budget element that will be replaced. ReplacementBE Example value: AERO (any budget element in the budget element file attached to the program) Description: This is the new budget element that will replace the old budget element. The following is a sample script file for this process:
[Process019] ProcessID=ReplaceBE Program=DEMOADV FileName=C:\Program Files\Deltek\Cobra\Data\BEList.XLS OriginalBE= ReplacementBE=
This batch file would run the Replace Budget Element process on the DEMOADV program using the budget element pairings in the indicated Excel file. If you include both a file and an OriginalBE/ReplacementBE pairing, Cobra will use the file unless the file does not exist.
Validity Check
This process allows you to run validity check automatically.
ProcessID=ValidityCheck
Deltek Cobra User's Guide 561
This ID instructs Cobra to run validity check. Program Example value: DEMOADV Description: This is the Cobra program you are validating. ValidateProgramDataIntegrity Example value: 0 or 1 Description: Description: Description: Setting this value to 1 instructs Cobra to validate the program data. The default is 0. ValidateBudgetElementCalculations Example value: 0 or 1 Description: Description: Setting this value to 1 instructs Cobra to validate the budget element calculations. The default is 0. ValidateBreakdownStructures Example value: 0 or 1 Description: Setting this value to 1 instructs Cobra to validate the breakdown structures. The default is 0. ValidateUndefinedResults Example value: 0 or 1 Description: Setting this value to 1 instructs Cobra to validate the undefined results. The default is 0. The following is a sample script file for this process:
[Process020] ProcessID=ValidityCheck Program=DEMOADV ValidateProgramDataIntegrity=1 ValidateBudgetElementCalculations=1 ValidateBreakdownStructures=1 ValidateUndefinedResults=0
When running the Validity Check process, the VCOPT.DBF file found in the Cobra directory determines the Advanced Options that will be used. These settings can be different for each installation of Cobra.
Deleting Programs
This process allows you to delete programs automatically.
ProcessID=DeleteProgram
562
This ID instructs Cobra to delete a specified program. Program Example value: DEMOADV Description: This is the Cobra program you are deleting. DeleteCalendar Example value: 0 or 1 Description: Setting this value to 1 instructs Cobra to delete the fiscal calendar associated with the program when the program is deleted. The default is 0. The following is a sample script file for this process:
[Process021] ProcessID=DeleteProgram Program=DEMOADV DeleteCalendar=1
If security is enabled, you need to have Modify and Delete rights to both the program and fiscal calendar in order to delete each. For example, if you have rights to the program but not the calendar (and you have set the DeleteCalendar option to 1), the program will be deleted but the calendar will remain.
ProcessID=AnsiX12
This ID instructs Cobra to delete a specified program. Program Example value: DEMOADV Description: This is the Cobra program from which you are exporting Ansi X12 data. ExportFile Example value: <Export file name> Description: This is the full path and file name of where the data will be stored. If the path is omitted, the file will be saved in the Cobra root directory. If the file name is omitted, Cobra will use the program name by default. ExportLevel Example value: 3, C, or W
563
Description: This is the level at which the data will be exported. Select 3 to export the data at structure level 3, select C to export the data at the cost account level, and select W to export the data at the work package level. The default is C. Exporting the data at the work package level is only valid if the actual costs are collected at this level. If the actual costs are not collected at the work package level, a warning is written to the AnsiX12 log, and the export will occur at the default level. TransactionSet Example value: 3040 or 3050 Description: This is the transaction set version the data will be exported as. The default is 3050. The following is a sample script file for this process:
[Process022] ProcessID=AnsiX12 Program=DEMOADV ExportFile=<Path and file name> ExportLevel=W TransactionSet=3040
wInsight Wizard
The following displays the settings that must be defined to run a wInsight export in batch mode.
ProcessID= wInsightExport
This ID tells Cobra to run the wInsight Export process. The syntax is not case sensitive. ConfigurationFile Description: The configuration file is user-defined and mandatory. It is the name of the export configuration file. Program Description: The program is user-defined and optional. This is an alternative program to export from, using a specified configuration file. ExportFile Description: The export file is user-defined and optional. It is the name of the file containing the exported wInsight data.
564
Log Files
For processes that operate on a program, a subdirectory with the same name as the program is created under the batch log directory. In most cases, log files generated by the process will be sent to this subdirectory. For processes that do not operate on a program, log files will be created within the root of the log directory using the standard log filename normally created by that process. Each log file will include the name of the process with the date and time in this format: <process> YYYY-MM-DD HH.MM. Time is in 24-hour format. The date and time used are the date and time the log file is created (which will normally be the same time that the process finishes). For example, a script file called Calcev.txt (which instructs cobra to calculate earned value in the Demoadv program) will create a log file in the subdirectory Logs\Demoadv and name it calcev 2001-03-23 13.46.log. The following sections explain the naming conventions for the log files generated by batch processing.
565
Other Logs
If a message is raised before the batch log or specific process log has been configured (e.g., the instant Cobra starts), Cobra will add the message to the end of the file BatchProcess.log in Cobras working directory. Cobra never overwrites this file and messages are appended to the bottom of the file.
566
The following options are available from the Batch Log Viewer dialog box:
Process Restricts the list of log files displayed in the log list. Options include Schedule Integration (Synchronize), Advance Calendar, Rolling Wave, Calculate Earned Value, Load Actual Costs, Global Reclassification, and Main Log. Master Shows a list of all Cobra master programs. Program Shows a list of all programs if a master is not selected, or only those programs belonging to the master if one is selected. Total Log Files Displays the number of log files that exist for the selected program.
Log File Lists the log files in the batch log file directory that match the selected criteria (process and program). When a log file is selected, the content of the log file is displayed in the read-only window. You can print the contents of the selected log file by clicking the Print button. For information on setting the path for where the log file is to be generated, refer to Chapter 33, Application Options & .ini Settings.
Security
Cobra reads your Windows login ID when it starts. It then looks for a user defined in its security system with the same login ID as the Windows login ID. If it finds a match, Cobra will use the security of that user. If it does not find a match, Cobra closes without running any processes.
567
By selecting an option on the Users dialog box, a user with appropriate rights can restrict batch processing to specific users:
In order to perform batch processing, you must have logged in as a user for whom this option is selected. For more information on Cobra Security features, refer to the Security Features section of Chapter 28, System Utilities.
Timeout Operation
To help ensure batch operations can gain access to required programs, it is necessary to prevent users from leaving the program open once they have finished using it, especially at the end of the day. To achieve this, Cobra uses a timeout operation that has been added to a number of windows. The windows will be automatically closed after a period of inactivity. The period of inactivity before the timeout is triggered is setting a timeout duration on the Administrator subcategory of the General category on the Application Options dialog box. When entering a duration, enter both the value and one of the following letters to indicate the units in which it is measured: s seconds m minutes h hours
Deltek Cobra User's Guide 568
If a letter is not entered, Cobra assumes minutes. The timeout process does not operate if you enter a duration less than 1. A duration that is greater than a day (day (86400 seconds, 1440 minutes, 24 hours) is treated as one day. The timeout process only operates on registered windows. That means when the timeout duration has been reached, only registered windows are affected. The following windows are registered for the timeout process:
Program Details T-phase Milestone Add Cost Account Add Work Package Add Budget Element Add Milestone Edit Milestone
The timeout counter begins the first time any registered window is displayed. For example, assume that the timeout duration is 20 minutes. You open Cobra but do not open any of the registered windows for 15 minutes. Then you open the Program window. Assuming no keys are pressed, the Program window will be closed 20 minutes later. The timeout counter is reset after each key press on a registered window. If no keys are pressed before the timeout duration has elapsed, Cobra closes all registered windows. The timeout process is not affected by mouse clicks. This means that if, for example, the timeout duration is set to 20 minutes and you open the Program window and move around it using the mouse only (and do not use the keyboard for anything), the window will close after 20 minutes.
569
570
Security Features
Security features in Cobra include the establishment and maintenance of user passwords, menu-level security, and file access controls. By default, each new Cobra system is installed with an option for two users to have access to it: Manager (password: MANAGER) a user with full system manager rights, includes the right to enable and disable Cobra security features. Guest (password: blank) a user with rights to all Cobra features other than those related to system security. Security features discussed in the following sections include:
Enabling security features in Cobra Tracking logins Defining groups and users Defining file access rights Defining report security Defining menu rights Controlling user access to program details Changing user passwords
This dialog box allows the following options to be enabled or disabled: Menu Option Security This option enables menu option security. This means that users have access to only those menu items that have been enabled for them. If this option is not selected, menu option security is not enabled. Users starting Cobra while menu option security is not enabled have full access to all menu items regardless of any restrictions they may otherwise have. File Level Security This option enables file level security. A file created while file level security is enabled is only accessible by its owner, the system manager, or users who have been granted access rights to it.
572
If this option is not selected, file level security is not enabled. A file that is created while file level security is not enabled has no owner. This means that all users have full access to the file that may reside on any folder (local or network) for which they have read and write access rights. Use NT Authentication When selected, this option instructs Cobra to try to match the current Windows user with a Cobra user. If a match is found, the user is logged in automatically. If a match is not found, the normal Login dialog box is displayed when the program starts. By default, this option is not selected. Allow Blank Passwords With this option selected, you can allow users to use a blank password. The user still has the option of adding a password using the Password dialog box. This option is selected by default, but it is disabled if the Use NT Authentication option is selected. The Allow blank passwords option does not affect the MANAGER user who must have an assigned password. Minimum Password Length This option is enabled when the Allow blank passwords option is not selected. It allows you to set a minimum user password length of 1 24 characters. User passwords that already exist when you set this option are not affected by the minimum length. They will be affected, however, if the users change their password after the option is set. If either menu option security or file level security is enabled, the user must log in before starting Cobra. If neither option is selected, Cobra does not display the Login dialog box when the program starts. To see the effect of your changes to the security features, you must restart Cobra. To enable security
1. On the System menu, point to Security Maintenance, and then click Options. If you are not already logged in as Manager, Cobra prompts for the Manager password before displaying the Security Options dialog box. 2. On the Security Options dialog box, enable or disable the appropriate security options, and click OK. 3. Restart Cobra to put your changes into effect.
Tracking Logins
To record login attempts, you must first create the tables necessary to track the information. The scripts titled WST_AUDIT_LOG_SqlServer.sql (SQL) and WST_AUDIT_LOG_Oracle.sql (Oracle), located in the system\scripts folder, can be run from the SQL Command Utility or your database admin tool to add the necessary tables.
573
To instruct Cobra to start recording logins, add the following to your system.ini: [AuditLog] EnableAuditLog=1 This will begin to track logins to the database. The full range of options available for this option is: EnableAuditLog 0 = Off (default) 1 = On AuditLogLevel 1=Errors(default) 2=Warnings 3=Information 4=Debug NT Authentication is an option in the Security Options dialog box instructing Cobra to use the Windows user name as the Cobra login.
This allows the operating system to provide further protection by requiring users to change the password on a regular basis and provides a single-point login to the operating system. When using this option in security, you can further lock down the login attempts by disabling the Login dialog box within Cobra. To disable the Login dialog box inside Cobra, add the following to your system.INI: ForceNTAuthentication 0=Off(Default) 1=On When this option is enabled, you must provide manager access to the application by identifying a user as being a manager. This option is set in the System\Security Maintenance\Users dialog box on the Settings tab.
574
When this setting is enabled, the File\Login menu item is disabled for all users except those designated as Manager. When a manager accesses the Login menu item, he receives a message saying he is logged in as manager and is able to perform operations which require a manager login. If setting EnableAuditLog is enabled in the system.ini, Cobra will log (add records to the WST_EVENT_LOG table) if any of the following events occur: 257* 258* 259* 260* 266* 267* 269* 270* Using Standard Authentication Using Windows Authentication User login Bad user name or password Logins are disabled for product Product license count exceeded. User logoff Product terminated. Too many failed login attempts
Before you can set up a user group or users, you must first log in as a manager. The Groups dialog box allows you to add or delete user groups as well as displays the users assigned to each group:
When you click Add to define a new user group, the following dialog box is displayed:
When you create a new group, you have the option to create it as a copy of an existing group. Doing so assigns the users from the source group to the new group. Once you have defined the different groups you plan to use to control file access rights, you can set up Cobra users. Each Cobra user can be defined with the following information:
A user ID of up to 20 characters A user password of up to 24 characters A list of groups to which the user belongs Security settings for the user
576
You can also use this dialog box to change your Manager password simply by typing your new password over the asterisks that are displayed in the Password field. When you click Add to define a new user, the following dialog box is displayed:
This dialog box allows you to enter a name and password for the new users. You can also choose to create the new user as a copy of an existing user. This option copies the security settings from the source user and assigns them to the new user.
Groups tab
The Groups tab allows you to specify the groups to which a user belongs, up to a maximum of eight groups.
577
Use the following controls to define group membership: > Assign the user to the selected group < Remove the user from the selected group >> Assign the user to all groups << Remove the user from all groups
Settings tab
The Settings tab allows you to set the security permissions for the selected user:
General This category controls the users ability to run batch processes, edit CPR5 narratives, edit the users access rights to the Program Edit feature, and controls the ability to log in as manager and make changes only a manager is allowed to make. The User is a Manager option is available only if the ForceNTAuthentication option has been enabled in your system.ini.
578
Program Directory Pages This category controls the users ability to display each page of the Program Directory dialog box. Program Details This category controls the users ability to display each page of the Program Details dialog box Time-phased Details This category controls the users access to the derived results and total values in the Time-phase details screen. SQL Commands This category controls the users ability to run SQL update and delete statements. This option allows you to distribute the maintenance of the system without providing the MANAGER password.
Program Screen This category controls the users ability to change the columns in the Program form. To set up a user group
You must be logged in as the Manager to perform this procedure. 1. On the System menu, point to Security Maintenance, and then click Groups. 2. Click Add. Cobra displays the Add Group dialog box. 3. Enter the name of the group. 4. If you are creating the new group as a copy of another group, select the group to copy, and click OK. 5. Enter a description, and click Save. 6. When you have finished adding groups to your list, click Close.
579
You cannot delete the Manager user. If a user is deleted from Cobra, all their personal reports will also be deleted.
Program files Breakdown structures Code files Fiscal calendar files Rate files Budget element files
When a user creates one of these types of files in Cobra while security is enabled, that user is automatically designated as the owner of the file and has (along with the system manager) full access to the file. In addition, if a user has read rights to a file, that user will be able to copy the file. If you copy a file, you become owner of the copy. A file that is created when the file level security option is disabled (or restored from a file created when security is disabled) has no owner and can be accessed by any user. Other users do not have any access rights other than those granted by either the file owner or the system manager. (The Manager user has full rights to all files.) All file access rights are based on group membership; access rights granted to a group are available to all users belonging to that group. In addition, it is also possible to grant world rights, which apply to all users regardless of their group memberships. Thus, the access rights to a file for an individual user consist of the sum of all rights for the groups to which that user belongs, plus any world rights assigned to the file.
580
To define access rights to a data file, use the following dialog box:
With this dialog box, you can define the following information: Owner This field displays the ID of the current owner of the selected file. You can transfer ownership of the file to another user simply by typing or selecting that users ID in this field. World Rights This field uses the following codes to control the access rights that all users of Cobra have to the selected file:
R Read Allows users only to view files. This right is automatically granted with any other right. A Add Allows users to add new items to the file. U Update Allows users to change existing items. D Delete Allows users to delete existing items. M Modify Structure Allows users to modify the structure itself. This right is necessary for many file folder options.
If you leave this field blank, users do not have any access rights to the file unless they belong to a group that is specifically assigned rights. Group Rights This grid controls the access rights that a group has to the selected file using the following fields:
Group This field contains a drop-down list of all the groups currently set up in the system. Rights This field uses the following codes to control the access rights that all members of the group have to the selected file: R Read Allows users only to view files. This right is automatically granted with any other right. A Add Allows users to add new items to the file. U Update Allows users to change existing items.
581
D Delete Allows users to delete existing items. M Modify Structure Allows users to modify the structure itself. This right is necessary for many file folder options.
The Reports tab shows a list of all reports defined in the system and their owner:
Shared report
Personal reports
582
The Owner cell contains a drop-down list showing all Cobra users. You can either type in a name or select one from the list. A blank cell indicates that the report is shared. Personal reports can be changed to shared reports by deleting the owner as long as there are no other reports with that same name. Shared reports can be changed to personal reports by assigning an owner as long as the selected user does not already have a personal report with that same name. The Filters and Sorts pages of the Report Security dialog box are very similar to the Reports page.
Both pages show a list of all filters and sorts and identify their owners. Owners can be changed in the same manner as they can for reports. To access the Report Security dialog box
1. On the System menu, point to Security Maintenance, and then click Report Security Cobra displays the Report Security dialog box. 2. Select the report, filter, or sort on the appropriate tab that you want to define ownership for. 3. Select a user from the list or type in a user, and click Save. 4. When all updates have been completed, click Close.
When security is turned on, all saved reports, filters, and sorts will be saved as personal. When security is not enabled, all reports, filters, and sorts that have not been saved become shared.
583
This dialog box includes controls that allow you to enable or disable all menu items for a specific user with a single operation. You cannot disable menu items for the Manager user.
To change your user password, you must have logged into Cobra using that user name. However, the Manager can also change your password from the Users dialog box. (The Users dialog box can be accessed only by the logged-in Manager.)
584
An asterisk indicates the current users login ID. To display users currently logged in to Cobra
1. On the System menu, point to Security Maintenance, and then click Whos in Cobra. Cobra displays a list of users who are currently logged in. 2. When finished, click Close.
585
Before this utility will start, the user must enter the password for the MANAGER user. Terminating a users session using the Deltek Cobra Administrator is a three-step process:
User Notification
First the administrator will need to see if anyone is currently logged into Cobra. The Current Users grid in the Deltek Cobra Administrator shows each users login ID and Machine ID. From this dialog box, the administrator can select users and then send them messages notifying them of the upcoming termination by clicking the Send Message button. If there are no users logged into Cobra, this button is disabled. The Group filter list allows the administrator to filter out the group of users to receive the message. The list includes all groups defined in Cobra as well as <None> and <All Users>. When <None> is selected, the group filter is turned off. When <All Users> is selected, all users that are logged into Cobra will get the message. Selecting a group will send a message only to the groups users.
586
A message up to 250 characters can be entered. Carriage returns are not supported in the message. Clicking OK sends the message. When the selected user receives a message, it is presented in a standard Cobra message window.
Cobra is not predefined to check messages and so the default interval is set at 0 m. This can be changed in the Application Options dialog box. Within the General category, click Administrator. If a user has multiple messages waiting, only one message at a time will appear each time Cobra checks for messages. For example, if Cobra checks for messages every minute and the administrator has sent three messages at once, Cobra displays one message per minute interval. The messages are displayed in the order they were sent by the administrator. If a message is sent during a blocking process such as global recalculation, the user does not see the message until the process has completed. Refer to the Blocking Processes section in this chapter for a list of blocking processes. If a user logs out before the Cobra session checks the message table, any pending messages for the session are cleared.
587
Clicking the Enable Logins button in the Logins section of the Cobra Administrator dialog box will enable logins again.
When the termination is confirmed, Cobra will close 30 seconds after the request, unless a blocking process is running. The Group filter drop-down list can be used to terminate a group of users sessions. There is a Refresh User List button at the bottom of the Deltek Cobra Administrator dialog box that will refresh the list of users to show only those that currently logged in at that time. The Cobra application must poll the administrator to determine if a message has been sent or a session termination has been issued. Cobra is not predefined to check messages and so the default interval is set at 0 m. This can be changed in the Application Options dialog box. Within the General category, click Administrator. In an multi-user environment, you should set this value for all users by adding the following to the system.ini:
[Cobra] PollingInterval=3m
The selected users receive the following message prior to Cobra closing.
588
If a user is in edit mode when a termination request is received, the edits will be canceled before Cobra is terminated. Cobra message boxes are set to automatically close after one minute. This allows Cobra to close down if a user has left their workstation with Cobra displaying a message box. If a batch process is running when a termination request is received, the full batch process will be allowed to finish before the Cobra session is terminated. New batch processes can only be prevented from starting if the Disable Logins flag has been set by the administrator.
Blocking Processes
If the workstation is processing data, user notification and termination is blocked. Blocking processes are processes that must finish before remote messaging and termination can take place. These processes include:
Forecast Initialization Validity Check Freeze Forecast Global Reclassification Top Down Planning Global Slip Synchronize Calculate Earned Value Calculate Forecasts Running a report Restore Rebuild Breakdown Structures Calculation Apportionment
Initialize Actual Costs Total SPA Global Recalculation Global Replan Batch Spreading Integration Wizard Advance Calendar Load Actual Costs Update OPP Resources Backup Rebuild Indexes File Deletion
Once the process has finished, messaging and termination can resume.
589
If the COBRA.INI file does not exist, the Administrator will not start. After locating the file, the Administrator reads the Cobra System path from the COBRA.INI file. Once the system path has been determined, the Administrator then reads the following values:
Program Path Locks Path (if different from the Program path Data Format Data Source Name
A log file of the Cobra Administrator can be found in a file called SYSADMIN.LOG located in the same directory as the SYSADMIN.EXE file. The log contains information about the messages that were sent to users. If the Cobra configuration changes while the Deltek Cobra Administrator dialog box is open, you need to restart the Administrator to ensure it is using the correct settings.
590
The Edit Baseline Log dialog box features the following controls: Filter The filter selection allows you to select a subset of the program log entries to display in the Log Entries list. All selections are used as part of the filter. For example, if a specific Starting log date is chosen along with a Change #, only those entries made on or after the starting date, that have the specified Change # will be returned. After filtering the entries you must use your mouse to select the entries you want to edit. Starting log date Selecting a date in this field will force Cobra to return only those Log Entries that fall on or after the selected date. The dropdown list shows a distinct list of all dates in the baseline log table for the program. If the <All> option is chosen, Cobra will not apply a filter based on the log date. Reference No Selecting a reference number in this field will force Cobra to return only those log entries that match the reference number. This field contains a distinct list of all reference numbers in the baseline log table for the program. Change # Entering a value in this field forces Cobra to filter by those change numbers that match the value. Select Clicking this button selects all records from the baseline log that match the filter condition and displays them in the Log Entries list box. Log Entries This section of the dialog box displays a list of all the log entries that match the selected filter options and is sorted by Reference No then date/time the log entry was made. The Log Entries section is divided into the following columns:
Key The CA, WP, or BE key to which the log entry belongs (the key value depends on the level at which logging takes place). If the Key is blank, the change was made against the program (via the Program Log screen). Ref No The reference number assigned to the change. CCN The Change # that was given at the time of the log change. The CCN will be blank if the user did not supply a Change # at the time of the change. Comment The comment that was given at the time of the change. If the user supplied no comment at the time of the change, the comment will be blank. Comment This is the new comment that you wish to apply to the selected log entries. If the Comment is left blank, no change will be made to the comment value for the selected entries. Change # This is the new change number that you wish to apply to the selected Log Entries. If the Change # is left blank, no change will be made to the Change # value for the selected entries. To edit the Comment and/or Change # of a log entry:
1. On the System menu, point to File Maintenance, and then click Edit Baseline Log. 2. Use the Filter options at the top of the dialog box to select the entries to display.
New Details
591
3. 4. 5. 6.
Select the log entry you wish to edit. Enter a new Comment and/or Change #. Click Apply. When you are finished editing log entries, click Close.
592
Overview
This chapter contains discussions on the following miscellaneous reporting issues in Cobra:
Modifying Cobra FoxPro Reports Creating Custom Reports Modifying Cobra Spreadsheet Reports Batch Reporting to Files Custom Print Properties The Ss.prm file Over Target Baseline Support Reporting FTEs
The code that is executed before the report is processed is found in the INIT method of the data environment. This code can be modified to generate custom reports. To step through the code in a report as it is processed, you need the Cobra source code. The source code can be obtained by contacting the Deltek technical support staff. Once the source code has been installed, subfolders LIBS, INCLUDE, PROGS must be included in the path. This is done through the Tools\Options menu in Visual FoxPro, on the File Locations tab. Then from the command window, type:
DO COBRA.
For more information on how to modify FoxPro reports, refer to your Microsoft Visual FoxPro documentation.
594
5. 6.
7. 8. 9.
Your report is now ready to run. Although, until you create a SQL script or FoxPro program which generates some content, the report will not have any data to operate on. To create a Custom report that calls a SQL script
1. Create a new report as shown in the previous procedure. 2. Create a SQL statement which extracts the required data from Cobras tables. You can use Cobras SQL Command Utility to experiment with your SQL commands. 3. Save the SQL statement with the same name as the report you created. You must save the file to Cobras Reports directory or Cobras working directory; otherwise, your report will not be able to find it. 4. Using the Report Designer,
595
Edit the layout of your report and add the desired data fields and other controls. Edit the data controls to point to specific fields that will appear in the table that
is generated by the SQL statement you created.
Precede any field names with the name of your report, followed by a period.
For example, if your SQL statement returns the Program field and you want to include it on the report, add a data control and change its source to MyCust.Program (where MYCUST is the name of the report). 5. Save the report, and run it.
Using a FoxPro program gives you far more flexibility than using a SQL script because you are able to implement additional processing logic. You do not need Visual FoxPro in order to create the program because Cobra compiles the program before using it.
596
SUB1
For each criterion selected, Tempsort.dbf contains a field named SUBx (SUB1, SUB2, etc.). These fields contain the selected criteria codes and the description associated with each code. You can use the SubHead field on the Properties tab of the Report Properties dialog box to specify reporting criteria for the report. If this field contains a value, the Spreadsheet Wizard does not prompt the user for reporting criteria when generating the report. Use a semicolon (;) to separate multiple subtotaling criteria. Cobra allows you to select the criteria for the report at run time by using the field Criteria Count on the Selection Criteria tab of the Report Properties dialog box. Criteria Count is the maximum number of subtotaling criteria that can be selected for the report in the Spreadsheet Wizard at run time. Notice that it can be difficult to create a custom report that allows you to select the criteria. By using the SubHead field to predefine the criteria, the custom report can be made less complex. Additional fields can be added to the database using the Extra Fields and Extra Field Names fields on the Properties tab of the Report Properties dialog box:
Extra Fields defines custom reporting fields to be added to Tempsort.dbf. For more information about populating an extra field with data, refer to the Microsoft Visual FoxPro documentation concerning the SQL select command.
597
Extra Field Names defines the name, field type, and length of any custom reporting fields. For example, the entry CASSD D(8) refers to a date field named CASSD with a field length of eight. Use a comma (,) to separate multiple field names. (For more information about specifying an extra field, refer to the Microsoft Visual FoxPro documentation concerning the ALTER TABLE functions.) See the report EVWORK for an example.
COSTSET
The COSTSET field in Tempsort.dbf contains the selected cost sets. You can use the Cost Sets field on the Properties tab of the Report Properties dialog box to specify the cost sets to be used for the report. If this field contains a value, the Spreadsheet Wizard does not prompt you for the cost sets when generating the report. Use a semicolon (;) to separate multiple cost sets. By entering a value in the Cost Set Count field on the Selection Criteria tab of the Report Properties dialog box, you can all allow a user to select the cost sets for the report at run time. Cost Set Count is the maximum number of cost sets that can be selected for the report in the Spreadsheet Wizard at run time. Notice that it can be difficult to create a custom report that allows you to select the cost sets. By using the Cost Sets field to predefine the cost sets, the custom report can be made less complex.
DATE
The DATE field contains dates from the specified calendar set. The Calendar Set field in the Report Properties dialog box defines the calendar set used for the report. A definition of the allowable values for the Calendar Set field is as follows:
! You choose the calendar set at report time. n, n1, n2, ... (where n is a calendar set number) The specified calendar sets will be used.
Calendar set eight should be used for reports that show only at complete or cumulative-to-date values. If a calendar set is specified, clearing the option Include Only Values That Fall Within Specified Dates makes the first date a cumulative-to-date value.
VALUE
The VALUE field contains the aggregated data for the selected criteria, cost set, and date.
CUR
A T in this field represents a currency value. This currency field is defined in the budget element file for each result. If results are not part of the criteria, there will be a T displayed in each record.
598
Center horizontally on the page Center a report vertically on the page Make the report fit to page Fit to a specific number of vertical pages Fit to a specific number of horizontal pages Enter a value to scale the output
As shipped from Deltek, the Ssprint.ini file contains the following entries:
;[your_report_name] ;PrintHCenter=1 ;PrintVCenter=1 ;PrintScaleFitToPage=1 ;PrintScaleFitVPages=100 ;PrintScaleFitHPages=1 ;PrintScale=85%
Notice that a semicolon (;) is located at the beginning of each line. This semicolon serves to disable the property. To enable a property, you must remove the semicolon and edit the displayed value. You can have as many custom print specifications as you want, but each one must have a unique name and be followed by the properties that you want to enable. To enable this property Center horizontally on the page Center a report vertically on the page Make the report fit to page Fit to a specific number of vertical pages Fit to a specific number of horizontal pages Enter a value to scale the output Enter this command PrintHCenter=1 PrintVCenter=1 PrintScaleFitToPage=1 PrintScaleFitVPages=<number of vertical pages to fit to> PrintScaleFitHPages=<number of horizontal pages to fit to> PrintScale=<scale percentage>
599
For example the following entries in the Ssprint.ini file would create a custom print specification for the saved report named MYCAP and would scale the report to fit on one horizontal page.
[MYCAP] PrintScaleFitHPages=1 PrintScaleFitVPages=100 PrintScaleFittoPage=1
LocalMonetarySymbol=$ The monetary symbol is retrieved from the Windows setting and is used in report formatting.
602
{Report} report name {Program} program name {StatusDate} program status date {CBB} program contract budget base
After configuring the OTB cost class, a new cost reporting set called OTB that includes the OTB cost classes must be created. The CPR_OTB report refers to this cost reporting set in the second reprogramming adjustment column. In addition, the BCWS reporting set must include the OTB cost classes.
603
Reporting OTB
The CPR_OTB report in Cobra includes two columns for reprogramming adjustments found in CPR Formats 1 and 2. Once Cobra has been configured to use OTB, the report can run.
The Adjusted Amount from Adjusting Previously Reported Variances Cobra uses Global Replan to adjust reporting variances. However, before running Global Replan, the variance adjustment to be placed in the current reporting period must be indicated. This adjusting entry is used to remove reporting variances and appears in the variance column on the CPR_OTB report. In order to report this adjustment properly, you must select the Replan by adding an adjusting entry option from the Global Replan category of the Application Options dialog box. In addition, a cost reporting set called REPLAN must be created and RP added as the included class. Then the RP class is included in the BCWS cost reporting set. For more information about global replanning, refer to Chapter 22, Program Tools. BCWS-OTB Alternatively, BCWS-OTB can be reported as the cost variance by selecting the Use BCWS-OTB for cost variance in the CPR_OTB report option from the Reports category of the Application Options dialog box. For more information on the Application Options dialog box, refer to Chapter 33, Application Options & .ini Settings.
604
Reporting FTEs
Under normal circumstances, when you skip periods in your reporting calendar, you would expect Cobra to sum the values between the skipped periods. The one exception to this rule is when you report on FTEs. For example, if you are using rolling wave reporting and you want a monthly CAP with FTEs, you would not expect Cobra to sum the FTEs for the weeks to give you a monthly value. In the CAPFTE report, Cobra looks for results that use a sort code of F. The values for this result are replaced by the hours (sort code of H) divided by the productive hours found in the fiscal calendar.
EVM Report
The EVM report is designed to show changes from the original baseline and changes from the frozen forecast. To populate the final columns of the report properly, you need to create two reporting sets:
A reporting set to define your original baseline (for example, ORIGBASE) A reporting set to define the frozen forecast (for example, FROZEN)
Then add these costs sets to the Report Properties dialog box as shown:
605
606
Chapter 32 Apportionment
Overview Apportionment Steps
Defining Apportioned Budget Elements Defining Apportionment Mapping Calculating Apportioned Budget and Forecast
Chapter 32 Apportionment
Overview
Apportionment is used to create budget, earned value, and a forecast for work that is based on other work. For example, if you budget IT Support as a percentage of Engineering, then apportionment will help you develop your budget, earn value, and forecast your IT Support. There are several steps to apportionment. It is not required to perform each of these steps in this exact order; however, the following steps are a good, logical order to complete the tasks.
608
Chapter 32 Apportionment
You can create apportioned budget for Quality Assurance in a new work package so that the budget will roll up into a different organizational element of the OBS and can be statused separately. You can create Quality Assurance as another budget element in the same work package as the Engineering and it will not require a different charge number.
If you are apportioning into a new work package, you can use the PMT Calculated Apportionment. This PMT will calculate earned value based on the formula BCWP/BAC of the source budget elements.
Apportionment Steps
In the Overview, a list of steps are mentioned concerning apportionment. Only three of the steps mentioned are only used for apportionment. The other steps such as creating budget elements, rates, and a source budget use the basic operations of Cobra. The steps used only for apportionment are in the Apportionment menu within the Tools menu and consist of these options:
Chapter 32 Apportionment
Calculation Order column The calculation order determines the order that the Apportioned Budget Elements are calculated. Items with the lowest number are calculated first, followed by items with higher numbers. If one apportioned budget element relies upon another, the calculation order is important. For example, if a Test Equipment budget element is based on a QA apportioned budget element, the QA budget element would need to be calculated before the Test Equipment budget element. Thus, the QA budget element would have a calculation order of 1 and the Test Equipment budget element would have a calculation order of 2.
Cobra sets the calculation order automatically. When an apportioned budget element is added or deleted, Cobra will reset the calculation order if necessary.
Budget Element column This column shows the name of the apportioned budget element for which budget, forecast, and earned value are calculated. A budget element can only appear in this list once.
610
Chapter 32 Apportionment
Result Column This column shows the source result used in the calculation of the apportioned budget element.
Select an apportioned Budget Element from the list to create an apportionment definition. The list is comprised of budget elements defined in the budget element file selected in the Open Apportionment Definition dialog box. Each budget element can only have one apportionment definition. After selecting the apportioned budget element, you now select the Source Result to be used for the apportionment calculation. You can select a result to act as the source for the calculation of the apportionment. Using the example of travel based on engineering, the source result will be DIRECT. To calculate the travel, multiply the DIRECT cost of engineering by the apportionment rate to get DIRECT travel. The Source Result can be different to the budget unit of the apportioned budget element. For example, you can apportion Travel (with DIRECT as the budget unit) from an ENG budget element (with Hours as the budget unit). Engineering 100 Hours 10,000 Dollars 100 OH 1,000 Dollars 10 OH x 10% apportionment Travel
You want to make sure that the source result is in the same units as the budget unit of the selected budget element. It would not make sense, for example, to multiply the direct cost by a percentage and place that value in the HOURS result.
611
Chapter 32 Apportionment
The Available list shows the budget elements from the associated budget element file that use the selected source result. You can select multiple elements at the same time. The Selected list shows the budget elements that will be used as the source for the apportioned budget element.The arrow buttons separating the columns allow you to add or remove source budget elements. Clicking > will copy any selected available budget elements to the Selected list. Clicking >> will add all available elements to the Selected list provided they do not already exist in the Selected list. Clicking < will remove any selected budget elements from the Selected list. Clicking << will remove all items from the Selected list. When you click OK, Cobra checks to ensure that a calculation loop will not be created when the apportioned budget element is added. Clicking the Edit button on the Apportioned Elements Definition dialog box displays the Edit Apportioned Budget Element dialog box.
Selecting a Program
Apportionment mapping can be defined at the program or master program level.
612
Chapter 32 Apportionment
If apportionment is defined at the master program level, it is possible to apportion to any subprogram that belongs to the master. This is discussed further below. Once you have selected a program, the Apportionment Mapping dialog box is displayed:
Apportionment Target Apportionment Source Program Identifies the program that the apportioned budget element will be created in. BE Identifies the apportioned budget elements that are to be created. CA/WP Identifies the cost account/work package where the apportioned budget element is being created. You can select <Same As Source> instead of a specific cost account/work package. In this case, apportioned budget elements are added to each of the related source cost accounts/work packages where the related source budget elements exist. Rate Set Identifies the Rate Set to use for the apportionment calculations. Program Shows the name of the program that contains the source cost account/work package. Cost Account/Work Package Shows the source cost account/work package to be used as the source for values when calculating the apportioned budget elements. <All> represents the entire program to be used as the source for values.
613
Chapter 32 Apportionment
The Add Apportionment Target dialog box is used to identify where the apportioned data is going to go. You can select the following options:
Program If you selected a master program, the Program list shows the subprograms that belong to the master. Otherwise, it is disabled. Apportioned budget elements will be created in the selected program. You must have update rights to the selected program. Budget Element The apportioned budget elements defined in the apportionment mapping. Apportioned budget elements are stored in the Budget Element file associated with the program. If you are using a master program, all of the subprograms must use the same budget element file.
Cost Account The target cost account to create the apportioned budget element in. It can be set to either: <Same As Source> -- Apportioned elements are created in the source cost accounts/work packages. A cost account Apportioned elements are created in the selected cost account.
Work Package Apportioned budget elements are created in the selected work package. This option is disabled if you select <Same As Source>. If apportionment is being done for a cost account level class, then the apportioned budget element will be created in the cost account that is the parent of the target work package.
Rate Set The rate to be used in the apportionment calculation. You must create apportionment rates in the program rate file.
Once all the options have been selected, Cobra adds a new apportionment target entry to the grid.
Chapter 32 Apportionment
The following options are available in the Add Apportionment Source dialog box:
Program If you selected a master program, the Program list shows the subprograms that belong to the master. Otherwise it is disabled. You must have read rights to the selected program. Cost Account Displays a list of cost accounts from the selected program. If you select <All>, the entire program is the source.
Once <All> is selected, you cannot choose a particular cost account and vice versa.
615
Chapter 32 Apportionment
Using the Calculate Apportionment dialog box, you can specify the date range for the calculation and select from a list of classes belonging to a selected program. The options for the Calculation Range portion of the dialog box include:
All Calculated using all relevant data in the program. Remaining Calculated using all relevant data after the status date to the end of the program. Date Range Calculated data between a specified date range. The From and To fields show the calendar periods that are labeled in calendar set 0 of the programs fiscal calendar.
The Classes portion of the Calculate Apportionment dialog box contains a list of budget and forecast classes that belong to the program. Classes are considered budget classes if they are Type B and classes are considered forecast classes if they are Type F. If you are performing the calculation for a subprogram, and you have update rights to the subs master program, the list will show a distinct list of all budget and forecast classes for all subprograms belonging to that master. If you are performing the calculation for a normal program or you do not have update rights to the subs master, the list will show classes belonging to the current program only.
616
Chapter 32 Apportionment
The calculations occur in the calculation order specified for each apportioned budget element. As apportioned values are loaded, associated results are also recalculated. Apportioned budget elements are created at the same level as the source budget class data.
If a target cost account is specified for an apportioned budget element and the source budget is only defined at the work package level, the apportioned budget elements are only created at the work package level. If a target work package is specified for an apportioned budget element, but the source budget is only defined at the cost account level, no apportioned budget elements are created. If multiple source budget elements are specified for a single apportioned budget element, the total budget and forecast is summarized across all those source budget elements before being applied to the apportioned budget element. If the apportioned budget element uses a target of Same as Source, the apportioned budget element is created in each source cost account or work package where that budget elements source budget elements exist.
You can create an apportioned budget element as another budget element in the same work package as its source budget element. You can create apportioned budget for an apportioned budget element in a new work package.
If you choose the first option, the apportioned budget element earns the same value as its source budget element and you do not require a different charge number. This can be indicated in the Apportionment Mapping dialog box under the Apportionment Target grid. You can select <Same As Source> for the CA/WP column. If you choose the second option to apportion into a new work package, you can use the Calculated Apportionment PMT. This PMT calculates earned value based on the formula BCWP/BAC of the source budget elements. You can view the budget and forecast T-phase for any work package that uses the Calculated Apportionment PMT, but you will not be able to edit it. You cannot change the work packages start or finish schedule dates when this PMT is selected.
617
Chapter 32 Apportionment
If any source work package is opened and the apportioned work package is not open, Cobra opens the apportioned work package and the actual start date is set to the minimum start date of the source work packages. If all source work packages are closed and the apportioned work package is not closed, Cobra closes the apportioned work package and the actual finish date is set to the maximum finish date of the source work packages, and BCWP is set to BAC. A percent complete value for the apportioned work packages is calculated using the weighted average percent complete of the source work packages. That is, the percent complete of the apportioned work package is the total cumulative-to-date BCWP of the source work packages divided by the BAC of the source work packages. Example:
Aug-03 Source BCWS CA/WP/BE 1 CA/WP/BE 2 CA/WP/BE 3 Apportioned CA/WP/BE Source CTD BCWP CA/WP/BE 1 CA/WP/BE 2 CA/WP/BE 3 Total CTD BCWP Total BAC % Complete Apportioned BAC Apportioned CTD BCWP 100 80 60 36 Sep-03 150 75 60 42.75 Oct-03 125 75 60 39 Nov-03 75 75 75 33.75 Dec-03 125 60 75 39 Jan-04 250 60 85 79 Feb-04 50 25 85 32 Mar-04 10 15 90 23
The calculations will occur in the calculation order automatically set by Cobra.
618
Overview
There are a multitude of options that can be selected for many of the operations found within Cobra. The settings to these options are stored in either the System.ini or the Cobra.ini configuration file. If you place your selections to these options in the System.ini file, all users sharing the same System folder will use your selections. If these options are set in the Cobra.ini file, only your computer will use the options. The System.ini file is searched first for a value. If it is not found there, then the Cobra.ini file is searched for the value. This means that values found in the System.ini override those in the Cobra.ini. Custom menu items added to the tool bar also follow this format. Custom items in the System.ini show first in the menu and custom items in the Cobra.ini show last. The custom menu name is taken from the System.ini. The Application Options dialog box is essentially an editor for the Cobra.ini file. The options you set in the dialog box are written to the appropriate sections of the Cobra.ini file. If you want to make the settings in this file available to all users sharing your System folder, you must copy the Cobra.ini settings into the System.ini file. Using the Application Options dialog box, you can set the application options for the following categories: Advance Calendar Global Reclassification ANSIX12 Global Replan Calculate Earned Value Integration Drill Down Load Actuals Forecast Calculations Reports General Restore Global Recalc For each setting discussed in this chapter, the corresponding entry that is placed in the Cobra.ini file is given. To display the Application Options dialog box
On the System menu, click Application Options.
If an option has been set in the System.ini, that option is selected and disabled (grayed out) in the Application Options dialog box. While all the settings in the Cobra.ini file can also be set in the System.ini file, there are some settings that can only be set in the System.ini file. These setting are listed in a separate section in this chapter. To edit the System.ini file, you will need to use a text editor such as Windows Notepad. Also, you can add custom menu items to a custom menu by modifying the .ini files. This chapter ends with a discussion on how to add a custom menu to Cobra.
620
Advance Calendar
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following option related to advancing the calendar: Automatically open LOE work packages This option allows the automatic opening of unopen Level of Effort work packages at the end of the Advance Calendar process if the Estimated Start Date is before the new status date.
[AdvanceCalendar] OpenLOEWPs=1
If the cost account containing the newly opened work package is also unopened, it too will be opened.
621
ANSIX12
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options that define your ANSI X12 export: Export wInsight extended information By default, this option is selected. It instructs Cobra to export the extended data set.
[ANSIX12} Extended=1
Export Variance Narrative data Selecting this option instructs Cobra to include the variance narrative entries when exporting ANSI X12 data.
[AnsiX12] ExportVarianceNarraitve=1
Export CSSR data Selecting this option instructs Cobra to include the CSSR data when exporting ANSI X12 data.
[AnsiX12] ExportCSSR=1
Suppress exporting of the CAM field when exporting extended data Selecting this option instructs Cobra to suppress exporting the CAM field when exporting extended data.
[ANSIX12} SuppressCAM=1
Deltek Cobra User's Guide 622
Export Man Power in This option allows you to export man power as either FTE (Full-Time Equivalent) or HOURS.
[ANSIX12} Format4Mode=FTE (or HOURS)
Use alternate code for WBS This option allows you to select number of the code file to use as the WBS. You can select from 1 through 9, but it must be a Breakdown Structure at the Cost Account level.
[ANSIX12} WBSCodeFile=1 (through 9)
Use alternate code for OBS This option allows you to select the number of the code file to use as the OBS. You can select from 1 through 9, but it must be a Breakdown Structure at the Cost Account level.
[ANSIX12} OBSCodeFile=1 (through 9)
WBS Project Officer is located in code This option allows you to select the number of the code field on the WBS from which to extract the Project Officer data. You can select from 1 through 9.
[ANSIX12} WBSProjectOfficerCode=1 (through 9)
OBS Project Officer is located in code This option allows you to select the number of the code field on the OBS from which to extract the Project Officer data. You can select from 1 through 9.
[ANSIX12} OBSProjectOfficerCode=1 (through 9)
Enforce consecutive forecast periods Selecting this option allows you to select monthly periods if you are doing weekly earned value.
[ANSIX12} EnforceConsecutivePeriods=1
Use yyyymmdd for dates instead of yymmdd Selecting this option you allows you to output dates in the yyyymmdd long format. Otherwise, the dates are output in the yymmdd short format.
[ANSIX12} LongDate=1
Write warnings to log only By default, Cobra displays warning message boxes when an error is encountered during the export process and also outputs the messages to a log file. Selecting this option will suppress the display of the warning message boxes and only output the warnings to the log file.
[ANSIX12} SuppressWarnings=1
Filter unused breakdown structure branches Selecting this option allows you to exclude unused breakdown structure branches from the X12 export.
623
[ANSIX12} FilterUnusedBDNBranches=1
When you change a setting on this dialog box, your changes are also reflected on the ANSI X12 Export Options dialog box.
This view of the dialog box allows you to set the following Calculate Earned Value option for: Use Adjusting entry to remove EV for deleted budget Selecting this option instructs Cobra to insert a reversing entry into the current period to reconcile EV to zero for BEs that have been deleted. Otherwise, Cobra only deletes the EV for a cost element if the cost element is zero.
[CalcEV] UseAdjustingEntry=1
Force SPI of Apportioned Resources to Match Source SPI Selecting this option ensures the earned value for the apportioned items receives the same SPI as the base. Cobra uses the following formula:
ApportionedBCWP = ApportionedCumtoDate
BaseCumBCWP BaseCumtoDateBCWS
624
[CalcEV] UseBaseSPI=1
The option is useful when selecting the Earned Value Method of Hours SPI, where the earned value is calculated such that the SPI of the hours is equal to the SPI of the dollars.
Drill Down
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options for Drill Down Analysis: Curve chart template file You can use this field to specify an alternative chart template file to use for the Drill Down curve graph. Example: C:\Cobra\Reports\mycurve.vtc Using this example, Cobra adds the following to the Cobra.ini file:
[DrillDown] CurveTemplate=C:\Cobra\Reports\mycurve.vtc
CV-SV chart template file You can use this field to specify an alternative chart template file to use for the Drill Down CVSV graph. Example: C:\Cobra\Reports\mycvsv.vtc
625
Using this example, Cobra adds the following to the Cobra.ini file:
[DrillDown] CVSVTemplate=C:\Cobra\Reports\mycvsv.vtc
Custom XSL document for XML output By default, the .xml file contains a reference to the ddactive.xsl file. You can change the .xsl document reference inserted into the .xml file by supplying a filename in this field. Example: C:\Cobra\Reports\Drilldwn\myfile.xsl Using this example, Cobra adds the following to the Cobra.ini file:
[DrillDown] XSLDocument=C:\Cobra\Reports\Drilldwn\myfile.xsl
Always generate XML support files This option is selected by default. It instructs Cobra to copy the .xml support files to the same location as the .xml file when you save the report to XML.
[DrillDown] CopyXMLSupportFiles=1
Results Used to Calculate Values This option restricts the results used in the Drill Down Analysis. The value entered for this option must be a list of one or more results separated by commas. For example, to produce a drill-down view in just hours enter HOURS in the field. To remove the G&A result, enter the other results separated by commas: DIRECT,OVERHEAD.
[DrillDown] Results=DIRECT,OVERHEAD
Please note that you must enter the result names using all caps.
626
Forecast Calculations
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options for Forecast Calculations: Allow negative ETC Selecting this option instructs Cobra to calculate all negative ETCs. Otherwise, Cobra sets all negative ETCs to zero.
[Forecast] AllowNegativeETC=1
Scale EAC Hours If the Scale Retain EAC values to meet CA/WP EAC Value option is selected on the Program Options\Forecasting tab, selecting the Scale EAC Hours option instructs Cobra to perform the scaling using hours rather than total dollars.
[Forecast] ScaleEACHours=1
Post-process custom application If you have to process or modify the forecast calculations using a custom application, you can have Cobra run your custom application after the data is loaded into the temporary table (ACTRAN.DBF) but before it is loaded into the Cobra tables. This allows you to take advantage of batch processing and the standard interface and customize the load process.
627
To run your custom application, enter the file name and path of the custom application in this field.
[Forecast] PostProcessTool=Drive:\Path\application
Pre-process custom application If you have to process or modify the forecast calculations using a custom application, you can have Cobra run your custom application before the data is loaded into the temporary table (ACTRAN.DBF). This allows you to take advantage of batch processing and the standard interface and customize the load process. To run your custom application, enter the file name and path of the custom application in this field.
[Forecast] PreProcessTool=Drive:\Path\application
General
The General category is divided into the following subcategories: Administrator Data Access Error Handling Milestone Weighting User Interface
628
Administrator
When you select the Administrator subcategory of the General category, the following is displayed:
Program form timeout duration This setting is used to close a program after a specified period of inactivity. This option is helpful if you need to run processes that require exclusive use of a program. Entering a value in this field closes the program automatically after the specified period of time has elapsed without program activity. This option is especially helpful if users leave their offices at night while still logged into Cobra as it allows batch process that require exclusive use of the program to be run at night. When entering a duration in this field, enter both the value and one of the following letters to indicate the units in which it is measured: S seconds M minutes h hours Example: To set the timeout duration to 15 minutes, enter 15m.
[Timeout] TimeoutDuration=<duration><unit>
629
The System Administrator message checking interval option allows you to specify the interval time Cobra checks for messages from the System Administrator. Cobra is not predefined to check for messages, so the default interval is set to 0m. For more information about the Deltek Cobra Administrator, see Chapter 30, Administrative Tools.
Data Access
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following data access options: Use incremental deletion when deleting in ODBC data format This option is selected by default. It instructs Cobra to divide the delete command into smaller increments, thus reducing the size of the transaction. This is particularly useful when you have a very large delete transaction that may be larger than the DBMS is configured to support.
[Cobra] IncrementalODBCDelete=1
Generate SQL statements to copy down data inside DBMS Selecting this option instructs Cobra to perform the data copy process on the server. The copy process can be performed on the server when copying a program, breakdown structure, code file, calendar, rate file, or budget element file. If selected, the copy process is performed inside the DBMS on the server.
Deltek Cobra User's Guide 630
[Cobra] UseDBMSCopy=1
Use the Cost Account view file when in FoxPro format When in FoxPro mode, Cobra can use a view or a filtered table to access cost account data. A view returns only the data required. A filtered table opens the whole table but displays only the required data. Selecting this option instructs Cobra to display the data in a Cost Account view. This option should be used when you have many small programs.
[Cobra] UseCAView=1
Program lock setting This field controls the manner in which Cobra locks data while a global process is running. Selecting Process locks the entire program while a global process is running. Selecting CA locks only one cost account at a time while a global process is running, which allows another user to work in the program form while the global process is running.
[Cobra] LockLevel=Process (or CA)
Flush data buffer before each save Selecting this option instructs Cobra to flush the memory buffer before the data is saved. This ensures that all buffered data is cleared from memory and saved to disk in certain areas.
[Cobra] ForceDataFlush=1
This option only needs to be used if you have experienced corruption problems when saving changes in the Program form. Under certain conditions in FoxPro mode, it is possible that Cobra will not flush buffered changes to disk, leading to data corruption. If this problem is experienced, setting this value can resolve it. Buffer Memory Size This field controls the size of the memory buffer used by VFP. You can enter any of the following values: 0 Turns on automatic sizing of the memory buffer. This is the default. -1 Sets the VFP memory buffer to the maximum available size. Deltek recommends using this setting if there are specific problems operating large integrations. You can also specify a specific size for the buffer memory, where the size you specify is a value between 256000 and the maximum available VFP buffer memory.
[Cobra] BufferMemorySize=256000
The value you set in this field is triggered only when you run an integration for the first time. It remains in effect until you exit Cobra.
631
Interval to wait before retrying program lock This option controls how many seconds Cobra should delay before retrying the lock when a process finds that the program it needs is locked. If you enter a negative number or zero, Cobra defaults to 10 seconds. If you enter a positive number, Cobra waits that many seconds.
[Cobra] RetryLockInteval=25
Maximum number of retries to open a busy file This option controls the number of times Cobra should retry to open a busy file. The default value is 100. This setting is only used if the file is being used by someone else or if there is an error reading the file (Error 1104).
[Cobra] OpenFileRetryCount=<number>
where
<number> is the number of times to retry
Use Windows Encryption and Decryption When using multi-byte languages, Windows encryption is better than Cobras built-in encryption. Selecting this option instructs Cobra to use Windows encryption.
[Cobra] UseWinAPICrypt=1
Locks table processing The locks table manages concurrency. When the file gets too large, performance can be affected. If you setup a process to delete the locks table and index outside of Cobra, you can stop Cobra from checking by setting the this option to 2.
[Cobra] LocksTableProcess=0, 1, or 2
where 0 Remove locks table entries 1 Delete and recreate the locks table 2 Don't delete locks table entries Alternative lock file location This setting is used to specify the location of the Locks.dbf and Locks.cdx files. If all users specify the same Program path on the Configure System dialog box, they will all be using the same DSN. Under these circumstances, Cobras locking mechanism does not allow two users to affect the same data concurrently. For example, one user cannot be re-rating the budget while another user is changing the budget of the same cost account.
632
It is possible, however, for different users to specify different Program paths on the Configure System dialog box in order to use different DSNs. Under these circumstances, it would be possible for multiple users to affect the same data concurrently with resulting data corruption. This situation can be avoided if all users use the same Lock table by specifying the same location for the Locks.dbf and the Locks.cdx files.
[Paths] Locks= F:\Cobra\LocksFolder
This setting should be in the system.ini so all users have the same setting.
Batch log file directory This setting allows you to enter the path pointing to the log directory used by batch processing. After a batch process has run, the log that is created is stored in the directory.
[Paths] BatchLogFileDir=<path>
where
<path> is the users location of the batch processing logs.
Log SQL statements to Sql.log Selecting this option instructs Cobra to generate a log called Sql.log that contains the output of every SQL statement made within the product. The log file is generated in a working folder and can be used to test your SQL database.
[Debug] LogCallsToSQL=1
633
Error Handling
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following error handling options: Validate Calendar Set 09 when closing Fiscal Calendar Selecting this option instruct Cobra to validate Calendar Set 09 when closing a fiscal calendar. When set, Cobra checks that no periods are flagged before PREVIOUS when closing the fiscal calendar. This reduces the errors that you can receive when performing CPR 3 and ANSI X12 reporting.
[Cobra] ValdidateSet09=1
It is recommended that you leave this setting turned on if using CPR3 reporting or ANSIX12 exports. File name for logging general Cobra errors By default, the name of the file for logging general Cobra errors is Cobra.log. You can, however, specify another file name with the .log extension.
[LogFiles] ErrorLog=<filename>.log
This file is created anew at the start of each session. This setting should not be changed unless advised by support.
634
Milestone Weighting
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following milestone weighting options: Percentage variance of budget and milestone weight This setting controls the percentage that the milestone value can vary from the budget before Cobra issues a warning message. Most earned value management processes require that a direct relationship exist between the budgeting of a work package and the earning of its value. To satisfy this requirement, Cobra notifies you if the variance between how a work package budget is spread and how its milestones are weighted exceeds the value you enter in this field. When Cobra detects that a variance of the specified size exists, you have the option of either reconciling the milestone weights to the budget or adjusting the weights manually. The default value for this field is 5. You can, however, change this default to any other value from 1 to 100 that is appropriate to your organization.
[ProgramOptions] MSBudgetVariancePercent=25
Milestone weight calculation accuracy This setting determines the level of accuracy that Cobra should use when calculating milestone weights.
635
The default value is 3 digits, which yields the sum of the milestone weights equal to 100. If you change the value to 4, Cobra will calculate milestone weights to make the sum of these weights equal to 1000.
[ProgramOptions] MSTotalWeightDigits=3 (or 4)
User Interface
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following user interface options: Use a clear background Selecting this option instructs Cobra to display a white screen for the Cobra workspace instead of the Cobra background.
[Cobra] ClearBackground=1
Sound bell when reach the end of a data field Selecting this option instructs Cobra to sound a bell to alert you that the text field cannot accept additional characters.
[Cobra] Bell=1
636
Use the Windows XP Themes for Cobra This option controls whether or not Cobra should use Windows XP display themes for the user interface.
[Cobra] UseXPThemes=0
Global Recalc
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options for Global Cost Recalculation: Allow read only classes to be recalculated Selecting this option allows you to recalculate read-only cost classes. [Recalc] RecalcReadonly=1 The values still remain read-only for all other processes in Cobra.
Do not replace results with zero when the rate is not found Selecting this option when you do not want the value in the time-phased database to be replaced with zero when the rate is missing. This is useful when the value in the database is more accurate than zero.
637
[Recalc] SkipRecalcForMissingRate=1
Global Reclassification
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following option for Global Reclassification: Allow closed work packages to be reclassified Selecting this option instructs Cobra to allow closed work packages to be reclassified.
[Reclass] ReclassClosedWP=1
638
Global Replan
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options for Global Replan: Replan by adding an adjusting entry Selecting this option instructs Cobra to place an adjustment in the current period when Global Replan is performed.
[Replan] ReplanByAdjustingEntry=1
Allow unopened work packages to be replanned Selecting this option allows you to replan unopened work packages. Otherwise, you can replan only those work packages that have been opened.
[Replan] ReplanUnopenWP=1
Allow closed work packages to be replanned Selecting this option allows you to replan closed work packages. Otherwise, you can replan only those work packages that are not yet closed.
[Replan] ReplanClosedCAWP=1
639
Class for replanned EV adjustments This option only affects the Global Replan. When earned value is created, it is stored in the EV class by default. If you replan a work package, earned value of the replanned WP is stored into the class specified by this option.
[Replan] ReplanEVClass=<class>
where
<class> is the new class in which you want Cobra to store earned value.
Create a new WP for replanned budget/EV/actual costs Selecting this option instructs Cobra to create a new work package for replanned budget/earned value/actual costs during Global Replan.
[Replan] CreateNewWP=1
Integration
The Integration category is divided into the following subcategories: Baseline Customize Forecast MSP P3 P3e Status Transaction Files
640
Baseline
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following Baseline options: Use the default PMT for all work packages Selecting this option instructs Cobra to assign the default PMT for all new work packages created during integration. In addition to selecting this option, you must assign a default PMT on the Load Budget page of the Integration Wizard.
[Integration] ForceDefaultPMT=1
Clearing this option instructs Cobra to not assign a PMT to the new work packages. If you then select the Assign PMT option on the Load Budget page of the Integration Wizard, Cobra assigns a PMT to work packages that are created in the load process as follows: Work packages with a duration of one accounting period are assigned the PMT of 0-100. Work packages with a duration of two accounting periods are assigned a PMT of User-Defined Percent. With this PMT, Cobra looks at how the budget is spread and automatically enters the opening percentages (for example, 60-40) to reflect the spread. Work packages with more than two periods are assigned a PMT defined by the user. (The default PMT is percent complete.)
Deltek Cobra User's Guide 641
If Cobra encounters milestones associated with the work package, the weighted milestone PMT is assigned.
Update the description for existing cost accounts and work packages Selecting this option instructs Cobra to change the work package description of existing work packages to match the activity description.
[Integration] ForceUpdateDescription=1
Cobra updates the description for both Cost Accounts and Work Packages as follows: If the description is blank, update the description (this takes care of newly added CAs and WPs). If the description is not blank, but the ForceUpdateDescription option has been set, update the description. Otherwise, do not update the description. If this option is selected, the milestone description is updated from the schedule as well. Update existing baseline dates Selecting this option instructs Cobra to move the work package start and finish dates to equal the activity dates. If there is existing budget using a cost class that is not being loaded, Cobra issues a message that lets you know which work packages have budget outside the work package dates. After Cobra data is synchronized with the schedule data, you are advised to run batch spreading on the cost class not loaded in the synchronize process. This spreads the data using these cost classes within the new work package dates.
[Integration] ForceUpdateBaselineDates=1
Recalculate existing milestone weights Selecting this option instructs Cobra to recalculate the existing milestone weights during at the end of the integration. It only takes effect if you are not loading milestone weights from the schedule. This process occurs regardless of the scheduling tool being used.
[Integration] ForceUpdateMSWeight=1
Convert resource codes to non-significant codes Selecting this option instructs Cobra to convert resource codes to non-significant codes unless prevented by a situation (for example, you are updating an existing structure file in Cobra which is a punctuated significant structure). This option is selected by default. Convert in this sense means to trim the parent from the code. For example, the code LABOR.ENG is converted to the non-significant code ENG by trimming the parent element, LABOR, from the code.
642
The following situations determine whether or not the resource codes are converted: If you are loading a resource structure using the Create/Overwrite option, Cobra creates the new structure file as non-significant and converts the codes accordingly. If you use the Update option, Cobra only converts the codes if the file in Cobra is non-significant. If you are loading a budget element file and the integration also updates a program (for example, you are loading budget), Cobra checks if there is a structure file associated with the budget element key. If so and it is nonsignificant, Cobra converts the resource codes to non-significant. If there is no BE structure file on the program, Cobra only converts the resource codes if you have selected the Convert resource codes to non-significant codes option. If you are loading rates and the integration also updates a program, Cobra uses the same logic as in the previous situation to establish whether or not to convert the codes. If you are loading a budget element file and the integration does not update a program, Cobra converts the resource codes only if the Convert resource codes to non-significant codes option has been selected. If you are loading resource assignments (budget or forecast), Cobra converts the codes if there is a non-significant structure on the BE key. If there is no structure on the BE key, Cobra converts the codes if the Convert resource codes to non-significant codes option is selected. If you are loading items in isolation (for example, just the resource structure and/or the budget element calc file), Cobra converts the codes if the Convert resource codes to non-significant codes option is selected. Basically, if you have an existing non-significant structure against the BE key in Cobra and you are referencing that program during the integration, then any other process that loads resource codes during that integration will convert them to nonsignificant. If the BE structure is not non-significant, then no change is made to the resource key. If there is no BE structure being used, Cobra converts the resource codes based on the whether or not the Convert resource codes to non-significant codes option is selected.
[Integration] MakeBENonSignificant=1
List deleted items to the log file Selecting this option instructs Cobra to list deleted items in the log file and allows you to see what items have been deleted from the program during the loading process.
[Integration] LogDeletedItems=1
Only create work packages that satisfy the class filter Selecting this option instructs Cobra to create only those work packages that satisfy a class filter during Cost/Schedule Integration. For this option to work, you must leave the Default Class field blank on the Load Budget page of the Integration Wizard.
[Integration] LoadCAWPAccordingToClassFilter=1
Deltek Cobra User's Guide 643
Run Update Totals Selecting this option instructs Cobra to total automatically the program BCWS, BCWP, ACWP, and EAC at the end of the integration process. If you are loading several scheduling projects into one Cobra program, Cobra saves processing time by allowing you to run this process only after the last project is loaded.
[Integration] RunTotalSPA=1
Keep EV records when deleting a budget element Selecting this option instructs Cobra to allow you to retain the earned value time phased records after the budget data for the budget element is deleted.
[Integration] RetainEVUponBEDeletion=1
Maximum number of retries to lock an already locked CA When running an integration process and the program lock level is set to cost account, Cobra will try to lock any cost accounts that are being changed. If a cost account is already locked, the Maximum number of retries to lock an already locked CA setting instructs Cobra on how many times to retry to lock the cost account. Cobra will keep trying until the cost account is locked or until the number specified in the setting is reached. A value less than or equal to zero instructs Cobra to stop trying to lock the cost account if it fails the first time. The default is -1. This option works in conjunction with the Interval to wait before retrying program lock option located in the General\Data Access category of the Application Options dialog box.
[Integration] RetryCALock=<value>
644
Customize
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options: Pre load program or script After extracting data from the Primavera Project Planner schedule, data is stored in temporary tables located in the Cobra temporary folder. Data in these tables can then be filtered, summarized, or modified to meet your specific needs through a custom application before it is validated, processed, and loaded into the Cobra tables. You can specify the custom application to be executed by entering the full pathname of the program or script followed by a comma (,) and one of the following codes to indicate the type of tool to be run: P Program E Executable F Form S Script
[Integration] PreLoadTool=Drive:\Path\application,P
Pre load program returns a result Selecting this option instructs Cobra to continue with the integration process only if a True is returned by the pre load program or script.
[Integration] PreLoadToolUseResult=1
645
Pre save program or script The integration process loads data into LINK tables prior to the data being saved to the Cobra database. A custom application can be run before saving the data in the Cobra tables that will have access to the data in the LINK tables. Data in these tables can be modified or enhanced by adding codes to meet your specific needs through a custom application before the data in the Cobra tables. Use this option to customize the integration with Open Plan and Microsoft Project. You can specify the custom application to be run before the data is saved by entering the full pathname of the program or script followed by a comma (,) and one of the following codes to indicate the type of tool to be run: P Program E Executable F Form S Script
[Integration] PreSaveTool=Drive:\Path\application,P
Pre save program returns a result Selecting this option instructs Cobra to continue with the integration process only if a True is returned by the pre save program or script.
[Integration] PreSaveToolUseResult=1
Save temporary integration tables During the Cost/Schedule Integration process, the LINK and associated tables are saved on your Cobra temporary folder as a temporary table that is deleted when the process is complete. If you want to view the LINK and associated tables, you can copy these tables to a folder under the Cobra working folder. Because the tables are modified during the save process, the data that was loaded into the tables during the Load phase may differ from the data in the tables after the Save phase. There are four actions from which you can select: 0 Dont save Selecting this option instructs Cobra to not copy the temporary tables.
[Integration] DumpLinkTables=0
1 After Load process Selecting this option instructs Cobra to copy the temporary tables to the following folder after the Load process is complete: <Cobra working folder>\Integration\<date-time> Post Load
[Integration] DumpLinkTables=1
2 After Save process Selecting this option instructs Cobra to copy the temporary tables to the following folder after the Save process is complete:
646
3 After Load and Save Selecting this option instructs Cobra to copy the temporary tables to the following folder after the Load process is complete: <Cobra working folder>\Integration\<date-time> Post Load In addition, Cobra also copies the temporary tables to the following folder after the Save process is complete: <Cobra working folder>\Integration\<date-time> Post Save By selecting this option, you can see both the Post Load and Post Save states without having to run the integration twice and changing the settings between times.
[Integration] DumpLinkTables=3
Publish Link table to data source During the Cost/Schedule Integration process, the LINK and associated tables are saved in your Cobra temporary folder as a table that is deleted when the process is complete. If you intend to update the Open Plan Resource file or view Cobra data from an Open Plan Web Window, you must publish the LINK table to the Cobra data source. If the LINK table is not published, Update OPP Resources will not work. There are three actions from which you can select: 0 Dont Publish Selecting this option instructs Cobra to not save the LINK table, and the information it contains is no longer available when the Cost/Schedule Integration process is complete.
[Integration] PublishLinkTable=0
1 Publish with filtered delete Selecting this option instructs Cobra to publish the LINK table to the Cobra data source. If you have previously published to the LINK table cost accounts, work packages, or milestones that are no longer being loaded from the schedule, their records will remain in the LINK table.
[Integration] PublishLinkTable=1
2 Publish with full delete by project Selecting this option instructs Cobra to publish the LINK table to the Cobra data source and perform a full delete of the LINK table for the project being loaded. This option affects link records that belong to the Cobra program and the project being loaded. If the project being loaded is a multi-project, this also includes any subproject names.
[Integration] PublishLinkTable=2
647
Under certain circumstances, the option 2 method can result in some records not being deleted. For example, assume that WP1 is loaded into Cobra program DEMO from a project named PROJ. Assume further that the project is then renamed to PROJ1 and loaded again into DEMO using the option 2 method. Under this set of circumstances, the WP1 record from the first integration would not be deleted because it belongs to PROJ. Cobra would still try to insert another 1.1 causing a unique constraint error.
3 Publish with full delete Selecting this option instructs Cobra to perform a full delete of the LINK table for the Cobra program based on only the program name. Using this option avoids the situation described in the above note.
[Integration] PublishLinkTable=3
If you do not choose full delete, there is the potential to have duplicates when you publish the LINK table. In the case where you load the same cost account/work package from two different programs, you will receive a duplicates error when publishing the link table. Thus, a full delete will always guarantee that you will be able to publish the LINK table.
Forecast
When you select this category from the Application Options dialog box, the following is displayed:
648
This view of the dialog box allows you to set the following option: Create work packages that do not exist Selecting this option instructs Cobra to create work packages that do not exist when you load a forecast.
[Integration] ForceCreateWPForETC=1
MSP
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options: The time phased data is expanded in the data base Selecting this option instructs Cobra to load the time-phased resource spread as it exists in the MSP project during Cost/Schedule Integration.
[Integration] LoadTimePhasedMSPData=1
Microsoft Project generates cut off dates in the database based on your calendar selection. The dates vary near the end of the month, but are not exactly month end. Therefore, when Cobra loads this data, it must respread the data in Microsoft Project to match the fiscal calendar created in Cobra. Thus, the date spread you see in Microsoft Project might not exactly match the date spread found in Cobra after loading data using this option.
649
Load Percent Complete from You can instruct how Cobra loads percent complete when integrating with MSP by selecting from the following options: Calculate Percent Complete Cobra calculates the percent complete using resource progress (BAC/BCWP) when updating status for work packages that use the PMT percent complete. This is the default setting. Percent Complete Cobra loads the percent complete from the Task level % Complete MSP field. Work Percent Complete Cobra loads the percent complete from the Task level Work % Complete MSP field. Physical Percent Complete Cobra loads the percent complete from the Physical % Complete MSP field.
[Integration] MSPPercentComplete=0 (1, 2, or 3)
P3
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options: Character used for cost account separator In P3, you have the option to use either of the following characters to designate a parent code in the cost account structure: ? * If you use either of these characters, indicate the separator that you are using by entering it in this field.
Deltek Cobra User's Guide 650
Character used for resource breakdown structure separator In P3, you have the option to use either of the following characters to designate a parent level parent level code in the resource structure: ? * If you use either of these characters, indicate the separator that you are using by entering it in this field.
[P3Integration] RBSSeparatorChar=? (or *)
Scale factor In P3, the decimal place is set to either 0 or 2. If the decimal place is not set in P3, enter a scale factor in this field. The values that Cobra uses are as follows: If the decimal place is set to 0 or 2 in Primavera Project Planner, Cobra uses this value. If the decimal place is not set to 0 or 2 in P3, Cobra uses the value you enter in the Scale Factor field. If the decimal place is not set to 0 or 2 in P3, and if you have not entered a Scale Factor, Cobra uses the default value of 100.
[P3Integration] ScaleFactor=<value>
Use the curves defined on the resource assignments Selecting this option instructs Cobra to add the standard P3 curves.
[P3Integration] UseP3Curves=1
You must run the SQL script using the SQL Command utility to add the P3 curves to Cobra before running the Integration Wizard. For more information on using the SQL Command Utility, refer to Chapter 23, Program Utilities. Code hierarchy is determined by If you are loading P3 data from the Task Name, Resource Name, or Text fields, Cobra determines whether the field contains a structure by looking for a valid separator in the contents of the field. By default, the only valid separator is a period. Therefore, if a period is found in the contents of the field, Cobra interprets the field as punctuated and uses the period as a separator. You can override this default by specifying a list of characters that you want Cobra to interpret as valid separators.
[Integration] CodeSeparatorList=./+
651
P3e
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options: Character used for cost account separator In P3e, you have the option to use either of the following characters to designate a parent level parent level code in the cost account structure: ? * If you use either of these characters, indicate the separator that you are using by entering it in this field.
[P3eIntegration] CASeparatorChar=? (or *)
Character used for resource breakdown structure separator In P3e, you have the option to use either of the following characters to designate a parent level parent level code in the resource breakdown structure: ? * If you use either of these characters, indicate the separator that you are using by entering it in this field.
[P3eIntegration] RBSSeparatorChar=? (or *)
652
Character used for work breakdown structure separator In P3e, you have the option to use either of the following characters to designate a parent level parent level code in the work breakdown structure: ? * If you use either of these characters, indicate the separator that you are using by entering it in this field.
[P3eIntegration] WBSSeparatorChar=? (or *)
Load daily time-Phased data By default, Cobra loads P3e data with a linear spread. Selecting this option instructs Cobra to extract the P3e daily time-phased data.
[P3eIntegration] LoadP3eTphaseData=1
P3e Integration API Location Cobra supports the API provided with Primavera 5. To use the API, you must first select Load daily Time-Phased data and specify the location of the API in the Integration Wizard Options. [P3eIntegration] LoadP3eTphaseData=1 P3eAPILocation=C:\Program Files\Primavera\IntegrationAPI Once selected, you will be able to select the Primavera API button on the Connection Definition page. Retrieve Labor from This option allows you to indicate from where to retrieve Labor quantities. You can choose from the following: Budgeted Quantity Selecting this option instructs Cobra to retrieve values to be used as the base result for labor budget elements from the Quantity field while the Material and Equipment costs come from the Cost field. This is the default setting. If the quantity is zero, the cost field will be loaded. Budgeted Cost Selecting this option instructs Cobra to retrieve the Labor, Material, and Equipment costs from the Cost field even when a value exists for the labor quantity. This is useful when all labor is subcontracted and you do not know the labor rate. By default, Primavera enters the duration in the labor quantity field. So, if you wish to load the labor cost fields without removing the quantity, select this option.
[P3eIntegration] LaborResourceTypes=
653
Status
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options: Allow percent complete reduction This option is selected by default. It allows the percent complete of a work package to be reduced to match the values that are loaded during the integration process.
[Integration] AllowPercentCompleteReduction=1
Update actual dates to match the schedule Typically once an actual date has been posted, you would not want to change the actual start date. Selecting this option instructs Cobra to adjust the actual dates in the Cobra program to match the dates being loaded.
[Integration] ForceUpdateActualDates=1
Update cost account dates to exactly span work package dates Selecting this option Instructs Cobra to adjust the estimate dates and baseline dates of the cost account to exactly span the work package dates.
[Integration] ForceCASpanWP=1
654
Update status even when estimate dates are invalid Selecting this option instructs Cobra to update status during the Load Status process even when the estimate dates are not valid. This allows you to get accurate earned value even though the forecast dates are invalid.
[Integration] ForceUpdateStatus=1
Use early dates for progressed activities with no actual dates Selecting this option instructs Cobra to use the Early Dates for progressed activities with no actual dates. This option is helpful when you update the percent complete of an activity without putting an actual start date on the activity. Selecting this option instructs Cobra to enter the early date of an activity as an actual start date under these circumstances.
[Integration] UseEarlyDatesForActuals=1
Set invalid late start dates to the status date +1 Selecting this option instructs Cobra to normalize the Late Start date to the Status Date + 1. If this action results in a Late Finish date that is earlier than the Late Start date, Cobra sets the Late Finish date to equal the Late Start date. This option is useful when loading forecast dates from late dates in cases where there is negative float in the schedule. The negative float causes the late dates to be earlier than the status date. Setting this option allows you to load forecast dates based on late dates even when there is negative float in the schedule.
[Integration] NormalizeInvalidLateStartDates=1
655
Transaction Files
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options: Use activity dates for resource fromdate and todate Cobra allows you to specify the resource spread when loading data from a transaction file by putting the resource fromdate and todate in the file. If you are spreading the resource linearly from the activity start to the activity finish date, you do not need to put the activity dates in the resource file. Selecting this option instructs Cobra to replace any blank dates in the resource file with budget dates from the activity file.
[Integration] AutoFillResourceDates=1
Use curves for resource spreads If this option is selected, Cobra expects an extra field at the end of the resource file for the curve. This option is similar to the curves in P3. Cobra looks for a curve of the same name in the Cobra curves table and if it doesn't find it, then it creates a linear spread. The Use curves for resource spreads option in the Application Options dialog box must also be selected.
656
Load Actuals
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options for Load Actuals: Replace the current period value with those being loaded If you are loading a transaction file that contains current period values into a program that already contains actual costs for that period, you have the choice for the values in the new file to be either added to the existing value or replaced the existing values for that period. Applicable only when you are loading actual costs into a program that already contains actual costs, this option controls whether the existing values should be overwritten. Selecting this option instructs Cobra to replace the actual cost values for the current period with the cost values found in the transaction file for the current period. This option is useful if you corrected items in the file and are reposting the actual costs.
[LoadActuals] ReplaceCurrentPeriod=1
Post valid transactions This option is selected by default. It gives you the option to save the valid transactions for the current period.
657
[LoadActuals] PostWithErrors=1
If you clear this option and there are errors in your transaction file, Cobra does not post any transactions in the file even though some of them may be valid. Errors that were found are displayed on your monitor and saved in the error log. This option works only when you are loading current period actuals and the Replace the current period value with those being loaded is selected. Print values of invalid transactions in the log Selecting this option instructs Cobra to save the result values of the actual cost import in the standard load actuals log file. This option provides you with a value for the errors that exist in the file. In addition, if you know how to correct these errors, you can then enter these values through the Program Form.
[LoadActuals] ShowResultsInLog=1
Preprocessing actuals custom application If you have to preprocess or modify the actual cost transactions using a custom application, you can have Cobra run your custom application after the data is loaded into the temporary table (ACTRAN.DBF) but before it is loaded into the Cobra tables. This allows you to take advantage of batch processing and the standard interface and customize the load process. To run your custom application, enter the path and filename of the custom application in this field.
[LoadActuals] PreProcessTool=Drive:\Path\application
Generate separate log files for sub-programs This option is useful when actual costs are loaded into a master program. When enabled, Cobra separates the actual cost log file into separate files for each subprogram. The separate files are stored in a folder in the Program Directory with the same name as the subprogram, with the date and time being part of the name. The standard load actuals log file (loadact.log) is still saved in the users working directory. For example, if the working folder is C:\Program Files\ Deltek \Cobra\, Cobra still creates the LoadAct.log file there, with the LoadAct 2003-01-24 15.13.26.log being generated in the folder <Cobra Program Directory>\DEMO03\, where DEMO03 is the name of the subprogram.
[LoadActuals] GenerateSubProgramLogs=1
Automatically open cost accounts and work packages This option allows the automatic opening of unopen cost accounts or work packages during the Load Actuals process if the Estimated Start date is before the Status date.
658
In order for this option to work, you must select the Allow posting actual costs to unopen CA/WP option on the Actual Costs tab of the Program Options dialog box. If the Estimated Start date is later than the Status date, Cobra will change the Start date to the day before the Status date and then open the cost account or work package. Also, if an unopened cost account has a work package that was opened during this process, the cost account will also be opened.
[LoadActuals] AutoOpenCAWP=1
Reports
The Reports category is divided into the following subcategories: CPR General
CPR
When you select the CPR category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options for reports: Alternative CPR3 report executable This option allows you to specify an alternative .exe file to be run when creating a CPR3 report. If you do not include a path, Cobra assumes that the file is located in Cobras Reports folder.
659
List of reports that support threshold variances These three options identify reports that should be made to display only those items that exceed the threshold. If a report is listed as a threshold report, records that do not exceed the defined thresholds are deleted from the temporary reporting table and are not included in the report. CPR 5 (variance analysis) is an example of a report that you might want to include only items that exceed the threshold.
[Reports] ThresholdReport1=CPR5
This setting is only relevant for those reports which support the highlighting of threshold variances. Use BCWS-OTB for cost variance in the CPR_OTB report The CPR_OTB report includes the following values in the Cost Variance and Budget columns: If no .ini settings have been made: Cost Variance column shows the REPLAN cost reporting set Budget Column shows the OTB cost reporting set No date range is applied to the summing of the values that appear in these columns so they are for the full costs that appear in the program (for the relevant line item.) If the .ini settings have been made: Cost Variance column uses the formula BCWS OTB (both reporting sets) Budget column shows the OTB cost reporting set
[Reports] OTBCostVarianceShowsBCWS=1
Only generate monthly CPR3 data This option is selected by default. It instructs Cobra to generate CPR3 data on the month boundaries defined in your monthly calendar.
[Reports] MonthlyCPR=1
This setting is relevant if you are using a rolling wave calendar and controls when the beginning of period data is generated that appears on the CPR3 report. Filter CPR5 narrative categories Cobra allows you to enter narrative information for the CPR5 report in four categories on the Drill Down Analysis form. The categories are Explanation, Impact, Corrective Action, and Monthly Summary. The Filter CPR5 narrative categories option features the following settings that allow you to determine which categories are available to you in the Narrative Category list on the Drill Down Analysis form. 1 Include all categories Selecting this setting displays all four of the narrative categories. (This is the default setting.)
Deltek Cobra User's Guide 660
2 Include only non-blank categories Selecting this setting displays only those categories that contain narrative information. 3 Include specific categories Selecting this setting allows you to define which categories you want to display. If selected, you must use the Only show these CPR5 narrative categories option to define which categories to display.
[Reports] CPR5CategoryBehaviour=3
Only show these CPR5 narrative categories If you selected setting 3 Include specific categories in the Filter CPR5 narrative categories option, you can use this field to define which categories to include in the CRP5 report. Simply type in the categories separated commas in the field. The four categories are Explanation, Impact, Corrective Action, and Monthly Summary.
[Reports] CPR5Categories=Explanation,Impact
CPR5 narrative line wrap length This option allows you to define the line length at which the display of the narrative information will wrap in the CPR5 report. The default value is 100 characters.
[Reports] CPR5NarrativeLength=<number>
661
General
When you select the General category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following options for reports: Report graph generation delay This option controls the processing for graph refreshing by the value that you enter. You can enter any value from 100 to 1000.
[Reports] GraphDelay=100 (to 1000)
On fast computers, it is possible that Cobra will generate the wrong graph for the first item on the report. By increasing the delay, this problem can be resolved. Alternative report executable By default, Cobra displays the path that was specified in the Reports field of the Configure System dialog box. This option allows you to specify an alternative location for the Ss.exe.
[Reports] ReportExe=Drive:\Path\SS.exe
You can include the {reportdir} token to point to your reports path so that it is not hard coded. So, the above example would be: {reportdir}Ss.exe. Note there is no slash before Ss.exe.
662
Use Integer dates in spreadsheet This field lets you control how the dates are displayed in your spreadsheet reports. Selecting this option will display the dates as integers.
[Reports] UseIntegerDates=1
List of non-scaled sort codes This option controls the list of sort codes that should not have the scale factor applied. Be default, the H and N are displayed because they do not get divided by the scale factor. You can, however, include additional sort codes by adding them to the list.
[Reports] NonScaledSortCodes=HN
Specify the Sort Order for Results in the Result Wizard This option controls the order in which result names are displayed in the Result Wizard: If you enter a comma-delimited list of result names in this field, Cobra uses this order when displaying results in the Result Wizard. If you enter only a subset of result names, Cobra places your entries at the top of the list of results and displays the remaining results at the bottom. If you specify a result that does not exist, it is ignored. If you leave this field blank, Cobra displays the list of results in default order.
[Reports] ResultWizardOrder=Ganda,Direct,Hours
Report Language Support If Cobra is installed on a multi-byte machine, this option ensures that the reports are generated using the correct language characters.
[Reports] FontCharSet=<language>
663
Restore
When you select this category from the Application Options dialog box, the following is displayed:
This view of the dialog box allows you to set the following Restore options: Allow individual parts of a backup to be restored separately This option is selected by default. It controls the display of the Select Files to Restore dialog box that allows you select the auxiliary files to restore when you are restoring a single program backup file.
[Restore] AllowPartRestore=1
Allow program to be renamed upon restore This option is selected by default. It instructs Cobra to enable the Restore Program as field on the Select Files to Restore dialog box, allowing you to restore the program to a new name.
[Restore] AllowRenameProgram=1
Force data dictionary to be updated upon restore This option is selected by default. It is applicable if you have a backup file that contains a custom data structure for field lengths. This option forces you to update the data dictionary before restoring your program.
[Restore] ForceDictionaryUpdateOnRestore=1
664
If you clear this option, an Ignore button allows you to restore data without changing the data dictionary. WARNING: If the backup file requires the extra field lengths and you choose to restore the data without increasing the field lengths, you may truncate your data. Typically, truncating data yields duplicates, and you may not be able to restore the data if duplicates are created.
System.ini Settings
Some .ini settings can only be set in the System.ini file. These settings affect all users who use the same System Folder. Since the Application Options dialog box only edits the Cobra.ini file and does not include any options for these settings, you must use a text editor, such as Windows Notepad, to edit the System.ini file. The following is a list of all System.ini options in their appropriate section names:
[<LcDBMSName>:Keywords]
UseKeyword_As Example values: 1 or 0 Description: If the value is set to 1, the DBMS supports the AS keyword when aliasing a field (e.g., select program as prog from program). UseKeyword_Default Example values: 1 or 0 Description: If the value is set to 1, the DBMS supports the Default clause. UseKeyword_NotNull Example values: 1 or 0 Description: If the value is set to 1, the DBMS supports the Not Null clause.
[<LcDBMSName>:Settings]
ConvertPipesToPlus Example values: 1 or 0 Description: Convert piping symbols to plus signs if required. Oracle uses a piping symbol for concatenating strings whereas SQL Server does not. GroupByAlias Example values: 1 or 0 Description: Indicates whether DBMS needs to reference fields by their alias in group by expressions.
665
ManualTransactions Example values: 1 or 0 Description: This setting can be used to improve performance in restoring programs and creating new programs with the Copy from option. WARNING: The DBMS Rollback log must be very large. For most programs, this option is not feasible. MaxMemoLength Example values: 2000 or 4000 Description: This is the maximum length of a memo field like SOW and BOE on the breakdown structures. The Cobra tables are created for a maximum length of 2000. However, if you have Oracle 8i and you update the tables, this can be increased to 4000. UseSQLSemiColon Example values: 1 or 0 Description: Determines whether a semi-colon is required at the end of SQL statements (for example, Oracle)
Then add the following information: Caption The caption for the menu that appears on the system menu bar. If you do not enter a caption, Cobra names the custom menu User.
Caption=<menuname> Item For each item to appear on the custom menu, enter the following information: Item=<itemname>,<filename>,<filetype>
where: <itemname> is any text that you want to use to identify the custom tool. <filename> is the full pathname of the file to be run. <filetype> is one of the following values: e is an executable file
666
f is a Visual FoxPro form p is a Visual FoxPro procedure file (.fxp) c is a Visual FoxPro command To include a separator line in your list of custom tools, add the following line:
Item=-
If the item added is a DOS program file, a .pif file that specifies the memory requirements may need to be created. The settings in the System.ini file take precedence over the settings in the Cobra.ini file. The System.ini Caption and Items appear first on the custom menu list and any Cobra.ini Items appear last on the list. If the Cobra.ini file includes a Caption, it is ignored in favor of the Caption in the System.ini file. Please note that only one custom menu is created.
For example, if you want to add Open Plan, Notebook, and Excel to a custom menu named My Menu that is only available to your computer, the following lines would have to be added to the bottom of the Cobra.ini file:
[ToolsMenu] Caption=My Menu Item=Open Plan,C:\Program Files\Welcom\Open Plan Professional\OPP30.EXE,e Item=Item=Notepad,C:\Windows\Notepad.exe,e Item=Microsoft Excel,C:\Program Files\Microsoft Office\Office\Excel.exe,e Item=Item=Edit your Cobra.ini, notepad.exe c:\Windows\Cobra.ini,e Item=Info Sheet, winword.exe F:\comany\InfoSheet.doc,e
667
To display the dialog box with the Overwrite All option displayed, use the following custom item:
Item=Generate SQL*Loader Files,sqlldr with .t.,f
For more information on the SQL*Loader utility, refer to Chapter 36, Miscellaneous Issues.
668
MILESTN Table
Milestone Data Structure
COSTELEM Table
Budget Element Data Structure
Tphase Table
Tphase Data Structure
BASELOG Table
Baselog Data Structure
LINK Table
Link Data Structure
Overview
Cost control systems in general and earned value systems in particular have to be implemented in a way that suits the program in hand, the contractor, and the client. Cobra offers a great deal of flexibility in the way a program database is organized, and consequently a considerable amount of planning and preparation may be necessary before starting out. Most programs requiring earned value will extend over a number of years, so time spent on this preparation is well worthwhile. The purpose of this chapter is to review the various aspects of the program data structure at the table level so that you might be able to interpret what happens when you set up a program in Cobra. The term program database is used here to describe the set of tables that are used when you define a new program. The location where they are stored depends on the data format of your Cobra installation:
FoxPro In this format, the data can be stored either on a users local computer or on a network drive. ODBC In this format, the data is always stored on a database server. The Cobra program folder contains views that are used to display the data.
This chapter describes the organization of the program database and concludes with a discussion of the various program options that are available for customizing the operations of Cobra. Throughout this manual, references are made to data tables that have the extension .dbf. If you store your data in a client/server database accessed through ODBC, the data is actually stored in database tables. These tables, however, have the same structure as the *.dbf tables.
Program Data
Cobra stores all data in a single relational database stored in the Cobra program folder. By storing this type of data in a folder that is separate from Cobra system files, Cobra allows for the use of network security measures that control which users have access to sensitive information. The principal tables in the program database are:
CAWP contains cost account and work package information MILESTN contains milestone information COSTELEM contains budget element information TPHASE contains time-phased information BASELOG contains changes to the baseline LINK contains information required to link a Cobra program with a schedule
670
In the following illustration, notice how Cobra distributes project data in tables and fields:
CAWP Table
The CAWP table (Cawp.dbf) contains a record for each cost account and work package. Each record contains information such as:
The cost account key fields The work package key field (for work package records) The automatically generated CAWPID that Cobra uses to create a relationship between the tables in the database The cost account or work package description The cost account or work package status (unopened, opened, or closed) Scheduled and actual/estimated dates BCWS, ACWP, BCWP, and BAC values at the cost account or work package level Any codes assigned to the cost account or work package
The CAWP table also contains information related to the calculation of earned value: The performance measurement technique used Completion percentage Units completed or to do
671
Cost Accounts
Each cost account in a program has a unique identifier, which is usually referred to as the cost account key. This cost account key is composed of three fields: Ca1, Ca2, and Ca3. Most frequently, a cost account is defined using Ca1 and Ca2. However, a user may choose to use all three keys or in some cases, only Ca1. Although the cost account key field names are fixed, the labels used to identify the fields throughout the program are user-defined. Typically, the cost account key consists of a work breakdown structure field (usually called WBS) and an organizational breakdown structure field (OBS). This design is generally required for EVMS reporting since this approach allows reports to be produced at any level in either structure. Cobra, however, does not require this approach. Other possible designs would be to use a WBS structure code alone or to use one or more unstructured cost account numbers (such as a charge number) as identifiers.
Work Packages
Work packages represent a subdivision of cost accounts and must be uniquely identified by a work package key. This work package key is composed of the cost account key plus one additional character key field (WP). The work package key field may optionally correspond to a breakdown structure, and this structure may be the same as one of those used to define the cost account. In this case, however, the structure codes used to identify the work packages must be the immediate children of the corresponding cost account code. The simplest approach is probably to define an unstructured additional field as a work package number to identify work packages within a cost account. In the case of an integrated cost and schedule system, the work package number is often the activity ID.
672
Program Name
Cost Account or Work Package description WP column blank for Cost Account
The first column of the CAWP table displays the program name. The CA1, CA2, and CA3 columns identify the key fields for each cost account. The WP column identifies the work package number. The DESCRIP column displays the description of the cost account or work package. The WP field is blank on the first several rows in the previous illustration, signifying that these rows are displaying cost account information. Notice that each work package is identified by both cost account and work package keys and that multiple work packages may be associated with the same cost account. For example, Cost Account 1.01.01 1.4.1 has two work packages:
CAWPID
Cobra randomly generates a unique identification number that is used to create a relationship between the tables in the database. This number is displayed in the CAWPID field. Cobra then uses this number to identify the detailed records, thus saving space and increasing database performance.
673
CAWPID
STATUSDATE Date
674
Field Name BATCH SPTYPE CODEFILES CODELEVEL CODETYPE LOG PROCOPTS OWNER GROUPS
Type Integer Integer Character Character Character Character Character Character Character
Width Dec Field Description (Not in table) 4 4 144 9 18 2 120 20 40 168 5 252 18 4 4 4 1 1 1 1 20 8 8 8 4 40 40 1 10 20 4 8 20 8 8 8 8 2 2 2 2 4 Batch Number Spread Type Code Files Code File Levels Code File Types Log Program Options Owner ID Access rights for each member group List of Groups with access Global access rights Code File Prompts Code File Validation Percent 1 Percent 2 Percent 3 Forecast Type 1 Forecast Type 2 Forecast Type 3 Forecast Type 4 Scale Caption Scheduled Start Date Scheduled Finish Date Actual Finish Date Scale Factor Contractor Name Contract Location Contract Flag Contract Type Contract Number Quantity Fee Percent Share Ratio Contract Target Cost Authorized Unpriced Work OTC Contract Budget Baseline
GROUP_RGHT Character WORLD_RGHT Character CODEPROMPT Character CODEVALID PERCENT1 PERCENT2 PERCENT3 FC_TYPE1 FC_TYPE2 FC_TYPE3 FC_TYPE4 SCALECAP SSD SFD AFD SCALEFAC CONT_NAME CONT_LOC CONT_FLAG CONT_TYPE CONT_ QUANTITY Character Integer Integer Integer Character Character Character Character Character Date Date Date Integer Character Character Character Character Character Integer
FEE_PRCENT Double SHARERATIO Character CTC AUW OTC CBB Double Double Double Double
675
Field Name FEE MR UB CEILING LRE ESTCEILING ESTMR ESTUB BASELINED CAMCODE OTB OPP_PROJ FISC_RW P1 CCN_BDN P2 CCN_VAL P3 P4 P5 P6 P7 P8 P9 MGRFILE MGRVALID MGRTYPE CONTRACT CONT_REPN CONT_REPT EVMS_ACC OTB_DATE EAC_BEST
Type Double Double Double Double Double Double Double Double Integer Character Double Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Integer Date Double
Width Dec Field Description (Not in table) 8 8 8 8 8 8 8 8 4 1 8 254 8 4 30 8 30 1 30 30 30 30 30 30 30 8 1 1 100 20 60 60 4 8 8 8 2 2 2 2 2 2 2 2 2 2 Fee Management Reserve Undistributed Budget Ceiling Latest Revised Estimate Estimated Ceiling Estimated Management Reserve Estimated Undistributed Budget Baselined? CAM Code Over target baseline amount Open Plan linked project Rolling Wave Calendar Use Breakdown file to validate CCN BDN file used to validate CCN Validate CCN is in CCN_BDN (Y=yes,N=N,C=Allow blank) Code 1 Code 2 Code 3 Code 4 Code 5 Code 6 Code 7 Code 8 Code 9 Manager Code File Manager Field Validation (Y,N,C) Manager Code Type (C,B) Contract Name Contract Phase Contract Representative Name Contract Representative Title EVMS Acceptance EVMS Acceptance Date OTB Date EAC Best Case Value
CCN_USEBDN Integer
CONT_PHASE Character
EVMS_ADATE Date
676
Width Dec Field Description (Not in table) 8 6 4 8 8 2 EAC Worst Cast Value Currency Symbol Display currency symbol on the right Definitization date Completion date
MILESTN Table
Cobra permits one or more milestones to be defined for each work package, and there is a record for each of these in the milestone table (Milestn.dbf). Thus, a oneto-many relationship exists between the work package records in the CAWP table and records in the MILESTN table. Because each milestone needs to be uniquely identified, the key to the MILESTN table consists of the CAWPID plus one additional field (Ms_no). In addition to the milestone key, the milestone table contains information such as:
Milestone descriptions Scheduled and estimate/actual finish dates Milestone status Relative weights Percent complete (optional)
In the following milestone table, CAWPID 1545878939 represents the cost account and work package keys of a work package that contains seven milestones. By finding CAWPID 1545878939 in the previous illustration, you can identify the cost account and work package to which Milestone 1 belongs.
See the cost account keys in the previous picture for CAWPID 1545878939.
677
8 1 34 6 6
Estimate/Actual finish date of milestone Milestone status (o, c, or blank for unopen) Milestone weight 2 Percent complete Close batch
COSTELEM Table
The Budget Element table (Costelem.dbf) contains a record for each budget element assigned to a work package or cost account. In addition to the CAWPID, the information stored for each budget element includes:
The budget element code and cost class The Budget At Complete (BAC) for the budget element (In the case of forecast records, the BAC field stores the ETC.) The performance factor for statistical forecasts
Again, notice that the CAWPID column identifies the cost account and work package to which the budget element information applies.
678
Pf Ga_pf
Double Double
12 12
Tphase Table
The Tphase table (Tphase.dbf) contains the time-phased information. Cobra names the columns based on the results of a budget element calculation. These columns were defined during installation when tables were created for the program database.
The Tphase table contains the detail time-phased budget, forecast, earned value, and actual cost information for each work package or cost account. The Tphase table usually contains multiple records for each work package/cost account. The record format includes the following information:
The CAWPID The budget element key field (Cecode) The cost class A date representing the fiscal period of the detail A field for each result in the budget element table
679
Field Name Type Direct Directcost Equiv_p Fee Fringe Fte Ganda Hours Overhead Dollars Sysga Double Double Double Double Double Double Double Double Double Double Double
Width Dec Field Description (Not in table) 12 12 12 12 12 12 12 12 12 12 12 2 Result code 2 Result code 2 Result code 2 Result code 2 Result code 2 Result code 2 Result code 2 Result code 2 Result code 2 Result code 2 Result code
BASELOG Table
The Baselog table (Baselog.dbf) contains a list of changes to the budget baseline. The list of changes is a record of all the movements made between different cost accounts or between the various program accounts (for example, distributed and undistributed budget, management reserve, and authorized unpriced work) during the life of the program. The Baselog table is populated when you initialize the baseline and is automatically updated when changes are made to the baseline.
Logcomment Character
680
Ccn
Character
30
LINK Table
The LINK table (Link.dbf) is created automatically when you load a schedule into Cobra and acts as a lookup table between the schedule activity ID and the cost account and work package key fields in Cobra. The LINK table also stores the baseline and early and late dates for the activity at the time the activity was linked to the work item.
681
The program table Baseline tables An end of period baseline data table for CPR3 reporting A multi-program table (Multprog.dbf)
Program.dbf Structure
Data in the Program table is stored in the following fields:
Field Name Type Program Prog_desc Statusdate Pd_start Ca_actual Fisc_file Calc_file Rate_file Ca_id1 Ca_id2 Ca_id3 Ca_prompt Ca_bd1 Ca_bd2 Ca_bd3 Wp_id Wp_prompt Wp_valid Wp_bdn Clc_prompt Ce_bdn Batchno Sptype Codefiles Codelevel Character Character Date Date Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Integer Integer Character Character Width Dec Field Description (Not in table) 8 60 8 8 1 8 8 8 10 10 10 20 8 8 8 10 20 10 8 20 8 5 2 144 9 Program name Program description Current status date Previous status period Actual costs at cost account level Fiscal calendar file Budget element file Rate table file First CA key field identifier Second CA key field identifier Third CA key field identifier Prompt for cost account Breakdown structure for Ca1 Breakdown structure for Ca2 Breakdown structure for Ca3 Work package key field identifier Prompt for work package key Work package structure field Structure for work package Prompt for budget element Structure for budget element Latest batch number Spread option code Attached code file(s) Attach to WP or CA
682
Field Name Type Codetype Log Procopts Owner Group_rght Groups World_rght Codevalid Percent1 Percent2 Percent3 Fc_type1 Fc_type2 Fc_type3 Scalecap Ssd Sfd Afd Scalefac Cont_name Cont_loc Cont-flag Cont_type Cont_no Quantity Fee_prcent Shareratio Ctc Auw Otc Cbb Fee Mr Ub Ceiling Lre Estceiling Estmr Estub Character Character Character Character Character Character Character Character Integer Integer Integer Character Character Character Character Date Date Date Integer Character Character Character Character Character Integer Double Character Double Double Double Double Double Double Double Double Double Double Double Double
Width Dec Field Description (Not in table) 18 2 120 20 40 168 5 252 18 3 3 3 1 1 1 20 8 8 8 7 40 40 1 10 20 2 7 20 12 12 12 12 12 12 12 12 12 12 12 12 Bdn or cod codes Level of program log Program option settings Table owner Group rights Groups with access rights World rights Prompt(s) for attached code Code validation flags Percent complete for forecast method Percent complete for forecast method Percent complete for forecast method Forecast type 1 Forecast type 2 Forecast type 3 Caption describing scale factor Scheduled start date Scheduled finish date Actual finish date Scale factor for reports Name of contractor Location of contractor Contract flag Contract type Contract number Contracted quantity 4 Fee percentage Share ratio 2 Contract total cost 2 Authorized unpriced work 2 Original total cost 2 Contract budget base 2 Fee 2 Management reserve 2 Undistributed budget 2 Contract price ceiling 2 Latest revised estimate 2 Estimated price ceiling 2 Estimated management reserve 2 Estimated undistributed budget
Codeprompt Character
683
Field Name Type Baselined Camcode Otb Opp_proj Fisc_rw Ccn_bdn Ccn_val P1 P2 P3 P4 P5 P6 P7 P8 P9 Mgrfile Mgrvalid Mgrtype Integer Character Double Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character
Width Dec Field Description (Not in table) 1 1 12 254 8 1 8 1 30 30 30 30 30 30 30 30 30 8 1 1 Baseline set Control account manager code Over target budget Open Plan project Rolling wave calendar Use breakdown file to validate CCN Breakdown file used to validate CCN CCN file validation Code 1 Code 2 Code 3 Code 4 Code 5 Code 6 Code 7 Code 8 Code 9 Manager code file Manager field validation Manager code type
Ccn_usebdn Integer
Baseline Tables
When a baseline is set, Cobra creates the following baseline tables:
Baseline.dbf
The Baseline.dbf table contains baseline information that has been stored for each program in the Cobra installation. Data in the Baseline table is stored in the following fields:
Field Name Type Program Refno Base_date Label Ub Mr Character Integer Date Character Double Double Width Dec Field Description (Not in table) 8 5 8 10 60 0 0 4 4 Program name Reference number Baseline date Calendar label Baseline comment Undistributed budget Management reserve
Bblcomment Character
684
Field Name Type Auw Ctc Db Eac Fee Double Double Double Double Double
Width Dec Field Description (Not in table) 0 0 8 12 12 4 4 4 2 2 Authorized unpriced work Contract total cost Distributed budget Historic Estimate at complete data Historic Fee data
Basedetl.dbf
Data in the Basedetl table is stored in the following fields:
Field Name Type Program Refno Fsc_date Hours Amount Character Integer Date Double Double Width Dec Field Description (Not in table) 8 5 8 0 0 Program name Reference number Calendar cut off date 4 Hours in the reporting period 4 Amount of transaction
Basehist.dbf
Data in the Basehist table is stored in the following fields:
Field Name Type Program Cawpid Hist_date Bac Eac Bcws Bcwp Acwp Bcws_hrs Bcwp_hrs Acwp_hrs Bac_hrs Eac_hrs Character Integer Date Double Double Double Double Double Double Double Double Double Double Width Dec Field Description (Not in table) 8 4 8 12 12 12 12 12 12 12 12 12 12 Program name Cobra generated ID History date 2 Budget at complete 2 Estimate at complete 2 Budgeted cost of work scheduled for each CA/WP 2 Budgeted cost of work performed for each CA/WP 2 Actual cost of work performed for each CA/WP 2 Budgeted cost of work schedule in hours 2 Budgeted cost of work performed in hours 2 Actual cost of work performed in hours 2 Budget at complete in hours 2 Estimate at complete in hours
Multprog Table
If you use the multi-program link or merge facility, Cobra automatically creates a multi-program table (Multprog.dbf) that stores information about the programs attached to the master program. Data in the Multiprog table is stored in the following fields:
Field Name Type Master Character Width Dec Field Description (Not in table) 8 Master program name
685
Width Dec Field Description (Not in table) 8 60 8 Subprogram name Subprogram description Status date
Narrative Tables
Cobra uses the following tables when storing variance narrative data.
Narrcat
This table is used to store the narrative category data. Data in the Narrcat table is stored in the following fields:
Field Name Type Cat_Id Descrip Integer Character Width Dec Field Description (Not in table) 4 30 Narrative category ID Narrative category description
Narrtext
This table is used to store the narrative text data. Data in the Narrtext table is stored in the following fields:
Field Name Type Program Status_date Cawpid Code Key_Type Character Date Integer Character Character Width Dec Field Description (Not in table) 8 8 4 30 3 Program name Program status date CA CAWPID value WBS key value The type of code to which this narrative belongs. Examples: CA=Cost Account, CA1-CA3=CA key structure, WP=Work Package structure, BE=BE structure,C1-C9=Code field Cat_Id Narr_text Integer Character 4 4 Variance narrative category ID Narrative text
686
Overview
In addition to the program-specific data tables that were discussed in Chapter 34, Program Databases, a number of non-program-specific data tables are also involved in the creation of a program in Cobra. These tables are classified as auxiliary and system tables, both of which are discussed in this chapter.
Auxiliary Tables
Although these might be regarded as auxiliary data tables, they are, in general, essential to the normal operations of Cobra. In a number of cases, in fact, you must have the data tables already in place before you can set up a program. Auxiliary tables may be shared among multiple programs and, depending on network security, may also be shared among users in a multi-user environment. Cobra uses the following types of auxiliary tables, each of which is discussed in the sections that follow:
Breakdown structure tables Code tables Fiscal calendar tables Rate tables Budget element tables Note tables
Breakdwn.dbf Bdndetl.dbf
Breakdwn.dbf Structure
The Breakdwn.dbf table contains information about all the breakdown structures in Cobra. Each record in the Breakdown.dbf table represents a single breakdown structure file. Data in the Breakdown table is stored in the following fields:
Field Name Type Breakfile Descrip Break_Type Character Character Character Width Dec Field Description (Not in table) 8 60 1 Breakdown structure filename Breakdown structure description Structure type (F, P, U)
688
Field Name Type Codelength Codefiles Owner Group_rght Groups World_rght Pict_type Max_level Pad_char Th_flags Level1 Level2 Level3 Level4 Level5 Level6 Level7 Level8 Level9 Level10 Level11 Level12 Level13 Level14 Level15 Level16 Level17 Level18 Level19 Level20 Codevalid Integer Character Character Character Character Character Character Integer Character Character Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Character
Width Dec Field Description (Not in table) 2 72 20 40 168 5 1 2 1 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 135 9 Length of code field Attached code table(s) Table owner Group rights Groups with access rights World rights Type of validation Maximum number of levels Pad or punctuation character Sets threshold value for Bdndetl.dbf Characters for level 1 Characters for level 2 Characters for level 3 Characters for level 4 Characters for level 5 Characters for level 6 Characters for level 7 Characters for level 8 Characters for level 9 Characters for level 10 Characters for level 11 Characters for level 12 Characters for level 13 Characters for level 14 Characters for level 15 Characters for level 16 Characters for level 17 Characters for level 18 Characters for level 19 Characters for level 20 Prompt(s) for attached code Validation for attached code(s)
Codeprompt Character
689
Bdndetl.dbf
The Bdndetl.dbf table contains detailed information about all the breakdown structures in Cobra. Data in the Bdndetl table is stored in the following fields:
Field Name Type Breakfile Code Tag Numchild Codedesc Oldtag Th_spvf Th_spvu Th_sppf Th_sppu Th_scvf Th_scvu Th_scpf Th_scpu Th_cpvf Th_cpvu Th_cppf Th_cppu Th_ccvf Th_ccvu Th_ccpf Th_ccpu Th_cavf Th_cavu Th_capf Th_capu Sow Boe D1 D2 D3 D4 D5 D6 D7 Character Character Character Integer Character Character Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Memo Memo Character Character Character Character Character Character Character Width Dec Field Description (Not in table) 8 30 60 2 60 10 12 12 6 6 12 12 6 6 12 12 6 6 12 12 6 6 12 12 6 6 4 4 30 30 30 30 30 30 30 Breakdown structure filename Element code Tag (defines position in structure) Number of children Code description Old tag (used in re-tagging) Current period SV - favorable Current period SV - unfavorable Current period SV % - favorable Current period SV % - unfavorable Cum-to-date SV - favorable Cum-to-date SV - unfavorable Cum-to-date SV % - favorable Cum-to-date SV % - unfavorable Curr period CV - favorable Curr period CV - unfavorable Curr period CV % - favorable Curr period CV % - unfavorable Cum-to-date CV - favorable Cum-to-date CV - unfavorable Cum-to-date CV % - favorable Cum-to-date CV % - unfavorable At-complete CV - favorable At-complete CV - unfavorable At-complete CV % - favorable At-complete CV % - unfavorable Statement of work memo field Basis of estimate memo field Optional code field Optional code field Optional code field Optional code field Optional code field Optional code field Optional code field
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
690
Width Dec Field Description (Not in table) 30 30 30 4 Optional code field Optional code field ID of parent code Breakdown structure level
Code Tables
When Cobra stores data in FoxPro format, code tables are stored in the Cobra common folder. These tables can be shared between multiple programs in Cobra. Cobra stores information about codes in two tables:
Code.dbf Codedetl.dbf
Code.dbf
The Code.dbf table contains information about all the code tables in Cobra. Each record in the Code.dbf table represents a single code file. Data in the Code table is stored in the following fields:
Field Name Type Codefile Descrip Owner Group_rght Groups World_rght Character Character Character Character Character Character Width Dec Field Description (Not in table) 8 60 20 40 168 5 Code filename Code table description Table owner Group rights Groups with access rights World rights
Codedetl.dbf
The Codedetl.dbf table contains detailed information about all the codes in Cobra. The length of the Code field is determined when you configure Cobra. Data in the Codedetl table is stored in the following fields:
Field Name Type Codefile Code Codedesc Character Character Character Width Dec Field Description (Not in table) 8 30 60 Code filename Code Code description
Fiscal.dbf
691
Fiscdetl.dbf Fischol.dbf
Fiscal.dbf
The Fiscal.dbf table contains information about all the fiscal calendar tables in Cobra. Each record in the Fiscal.dbf table represents a single calendar file. Data in the Fiscal table is stored in the following fields:
Field Name Fiscfile Descrip Pattern Owner Group_rght Groups World_rght Desc00 Desc01 Desc02 Desc03 Desc04 Desc05 Desc06 Desc07 Desc08 Desc09 Dow_hours Type Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Character Width Dec Field Description (Not in table) 8 60 254 20 40 168 5 60 60 60 60 60 60 60 60 60 60 60 Fiscal calendar filename Calendar table description Date pattern Table owner Group rights Groups with access rights World rights Calendar 00 description Calendar 1 description Calendar 2 description Calendar 3 description Calendar 4 description Calendar 5 description Calendar 6 description Calendar 7 description Calendar 8 description Calendar 9 description Day of week hours
Fiscdetl.dbf
The Fiscdetl.dbf table contains a record for each fiscal period in all calendar files. Data in the Fiscdetl table is stored in the following fields:
Field Name Type Fiscfile Fsc_date Hours Flag00 Field00 Flag01 Field01 Flag02 Field02 Flag03 Field03 Character Date Double Character Character Character Character Character Character Character Character Width Dec Field Description (Not in table) 8 8 6 1 10 1 10 1 10 1 10 Fiscal calendar filename Cut-off date 2 Hours in reporting period Flag for calendar set 00 (*, $) Label for calendar set 00 Flag for calendar set 01 (*, $) Label for calendar set 01 Flag for calendar set 02 (*, $) Label for calendar set 02 Flag for calendar set 03 (*, $) Label for calendar set 03
692
Field Name Type Flag04 Field04 Flag05 Field05 Flag06 Field06 Flag07 Field07 Flag08 Field08 Flag09 Field09 Character Character Character Character Character Character Character Character Character Character Character Character
Width Dec Field Description (Not in table) 1 10 1 10 1 10 1 10 1 10 1 10 Flag for calendar set 04 (*, $) Label for calendar set 04 Flag for calendar set 05 (*, $) Label for calendar set 05 Flag for calendar set 06 (*, $) Label for calendar set 06 Flag for calendar set 07 (*, $) Label for calendar set 07 Flag for calendar set 08 (*, $) Label for calendar set 08 Flag for calendar set 09 (*, $) Label for calendar set 09
Fischol.dbf
The Fishol.bdf table contains a record for each holiday defined in the calendars. Data in the Fischol table is stored in the following fields:
Field Name Type Fiscfile Holiday Character Date Width Dec Field Description (Not in table) 8 8 Fiscal calendar table name Date of holiday
Rate Tables
Rate tables define the multipliers used to calculate costs. When Cobra stores data in FoxPro format, rate tables are stored in the Cobra common folder. These files can be shared between multiple programs in Cobra. Cobra stores information about rates in three tables:
Rate.dbf
The Rate.dbf table contains information about all the rate tables in Cobra. Each record in the Rate.dbf table represents a single rate file. Data in the Rate table is stored in the following fields:
Field Name Type Ratefile Descrip Owner Character Character Character Width Dec Field Description (Not in table) 8 60 20 Rate table name Rate table description Table owner
693
Width Dec Field Description (Not in table) 40 168 5 Group rights Groups with access rights World rights
Ratedesc.dbf
The Ratedesc.dbf table contains information about all the rate sets in each rate file in Cobra. Each record in the Ratedesc.dbf table represents a single rate set. Data in the Ratedesc table is stored in the following fields:
Field Name Type Ratefile Rate_table Rtdesc Character Character Character Width Dec Field Description (Not in table) 8 20 60 Rate table name Name of rate table Rate table description
Ratedetl.dbf
Rates define the multipliers used to calculate costs. Each record in the Ratedetl.dbf table represents a single rate set. Data in the Ratedetl table is stored in the following fields:
Field Name Type Ratefile Rate_table Rate Rate_date Character Character Double Date Width Dec Field Description (Not in table) 8 20 12 8 Rate table name Name of rate table 6 Rate Effective date of rate
694
Calc.dbf
The Calc.dbf table contains information about all the budget element tables in the Cobra installation. Each record in the Calc.dbf table represents a single budget element file. Data in the Calc table is stored in the following fields:
Field Name Type Calcfile Descrip Ratefile Cestrufile Owner Group_rght Groups World_rght Rsltall Rsltcurr Character Character Character Character Character Character Character Character Character Character Width Dec Field Description (Not in table) 8 60 8 8 20 40 168 5 250 250 Budget element calculation table name Table description Rate table name Budget element structure table Table owner Group rights Groups with access rights World rights List of all results Currency result
Calcdesc.dbf
The Calcdesc.dbf table contains information about all the budget elements in each budget element table in Cobra. Each record in the Calcdesc.dbf table represents a single budget element file. Data in the CALCDESC table is stored in the following fields:
Field Name Type Calcfile Cecode Cedesc Character Character Character Width Dec Field Description (Not in table) 8 30 60 Budget element calculation table name Budget element code Budget element description
Calcdetl.dbf
The Calcdetl.dbf table contains information about each result in all budget element tables in Cobra. Each record in the Calcdetl.dbf table represents a single result file. Data in the CALCDETL table is stored in the following fields:
Field Name Type Calcfile Cecode Result Alias Units Rate_table Currncy Character Character Character Character Character Character Character Width Dec Field Description (Not in table) 8 30 10 10 10 20 1 Budget element table name Budget element code Result field being defined Alias for display Units of measure Rate table name Currency cost flag
695
Field Name Type Sort_code Source1 Source2 Source3 Source4 Source5 Source6 Source7 Source8 Source9 Source10 Line Character Character Character Character Character Character Character Character Character Character Character Integer
Width Dec Field Description (Not in table) 1 10 10 10 10 10 10 10 10 10 10 2 Used in reports First source field Second source field Third source field Fourth source field Fifth source field Sixth source field Seventh source field Eighth source field Ninth source field Tenth source field Line in calculation
Calcflds.dbf
The Calcflds.dbf table contains information about calculated results. Each record in the Calcflds.dbf table represents a single result file. Data in the CALCFLDS table is stored in the following fields:
Field Name Type Program Calcfield Expr Currncy Sort_code Character Character Character Character Character Width Dec Field Description (Not in table) 8 10 250 1 1 Program name Calculated result name Expression used to calculate the result Indicates this is a currency result Sort code used for the calculated result
Note Tables
Note tables allow you to attach multiple notes to cost accounts and work packages and to organize the notes into categories. Cobra stores note information in two tables:
Cob_cat.dbf Cob_ntx.dbf
Cob_cat.dbf
The Cob_cat.dbf table contains information about the note categories you can define.
696
Cob_ntx.dbf
The Cob_ntx.dbf table contains information about the note text you enter for a category. Data in the COB_NTX table is stored in the following fields:
Field Name Type Cat_UID Dir_ID Fk_ID Usr_ID Lastupdate Note_text Integer Character Integer Character Date Memo Width Dec Field Description (Not in table) 4 8 4 20 8 4 Category link Program name Unique CAWP ID for note User ID Date last updated Actual note text
Classes.dbf Directory of cost classes Costrep.dbf Directory of reporting sets Accounts.dbf Directory of program budget accounts Spread.dbf Directory of spread curves and descriptions Cobrep.dbf Directory of reports available in Cobra Repfilt.dbf Directory of saved filter expressions used in reporting Repsort.dbf Directory of saved sorting expressions used in reporting Fields.dbf Defines the fields required on the various program and data tables when they are created
697
The header table contains information about the file. For example, the breakdown structure file name and description is contained in header table BREAKDWN. The header table also contains the security information in the following fields:
Field Name Type Owner World_rght Groups Group_rght Character Character Character Character Width Field Description (Not in table) 20 5 168 40 Table owner World rights Groups with access rights Group rights
Since this information is stored in the header tables, security is maintained when a project is restored into a system that contains the same list of Users and Groups. However, if you restore a project into a new System folder that does not have all of the users and groups in the list, you will experience some security problems. For example, if the Owner field contains a user that is not in the new user list, the Owner appears blank in the File Security dialog box. However, if you view the header table using the SQL Command Utility, you will be able to see the user name in the Owner field. If you were to then add that user to the current security system, you would then see the contents of the Owner field displayed properly in the File Security dialog box. This list of Users and Groups are stored in the table Hello.dbf, which is located in the System folder. If you are upgrading from one version of Cobra to another, it is recommended that you simply upgrade your system. This will maintain your security settings. In summary, the security information such as the owner, the list of groups and their access rights to a file are stored in the header table. Restoring data into a different system does not change this header record information. However, if the user or group names contained in the header table are not found in Hello.dbf, you will experience problems with security as the files are transferred from one system to the other.
698
Overview
This chapter contains discussions on the following miscellaneous issues in Cobra:
Modifying Visual FoxPro Source Codes Rights on the server where Cobra is installed Using the Generate SQL*Loader Utility Custom Program Tables
The Cobra folder, in Multi-user installations, requires read only rights. The Working folder requires read, write, create, and delete rights. (Deltek recommends that this folder be installed on your local hard disk in multi-user installations with full access rights. The Common folder requires read, write, create, and delete rights. The Program folder requires read, write, create and delete rights. The Report and System folders require certain rights for different functions.
Reports Folder
In order to modify or create any of the following, read and write privileges must be set in the Reports folder:
Since each database has an index with the same name and different extension, the following files are listed as <filename>.* to indicate all files with the same name. The following files located in the Reports folder require both read and write privileges:
Batch.* and Batchrep.* (batch report definitions) Cobreps.* (report definitions) Repfilt.* (filter definitions)
700
System Folder
The following files located in the System folder require both read and write privileges: Settings.dbf (updated from configure system dialog) Hello.dbf (users/groups) Mergeopts.dbf (security settings) Prdetsec.* (program details security options) Spread.* (spread definitions) Useropts.* (menu level security)
For information on custom menus, refer to Chapter 33, Application Options & .ini Settings. When you access the Generate SQL*Loader Files utility, the following dialog box is displayed. (The exact screen displayed depends on the value of the single logical parameter set for the dialog box.) If the parameter is set to True, the following screen is displayed:
If the parameter is omitted or set to False, the option to overwrite all data in the database is not displayed this is the default. The Generate SQL*Loader Files dialog box uses the following controls:
701
Backup File The backup file to use for generating the SQL*Loader files. Destination Path The destination folder in which the SQL*Loader files will be generated. This folder must exist. While the contents in this folder are not removed in the process, any files with the same name as one of the SQL* Loader files will be overwritten. To avoid any overwrite, an empty folder should be selected to contain the files. Destination Database Type The database in which the data will be loaded. The database selected will determine the name of the SQL*Loader utility called from the batch file_LoadCob.bat. Generate Control Files and Batch Files Only When selected, all files will be generated except the data files (*.csv). This option is useful if you have changed options from the control and/or the destination database type but have not changed the Cobra backup being used. This option must be used with caution because the control files generated will only work with data files generated from the same backup file. Use Direct Path Mode Controls the method to be used for loading data into the Oracle database. When selected, Direct Path Mode is used. This mode is very fast but only performs very little validation on the data being loaded. If an error occurs while loading data using Direct Path Mode, the database can be left in an invalid state and will need to be recreated.
When not selected, the Conventional Path Mode is used. This mode causes a series of SQL INSERT commands, performing detailed validation of the data. This is slower than the Direct Path Mode (equivalent to restoring the backup using Cobra). This mode is used as the default.
Overwrite All Controls whether the data is appended (Append mode) to the database or whether it will replace all data in the database (Replace mode). This option is available only when the logical parameter for the form is set to True.
Files Generated
Below is a brief description of the files generated by this utility:
Data Files (*.csv) These are Comma Separated Values (.csv) files generated from the data contained within the backup file. One data file is generated, with the same filename and a .csv extension, for each main Cobra table contained within the backup file. Control Files (*.ctl) These files are used by the SQL*Loader utility to specify how data is loaded into the Oracle database and also describes the structure of the table being loaded. One control file is generated, with the same filename and a .ctl extension, for each main Cobra table contained within the backup file. It is the control file which specifies whether the data will be appended to the corresponding table in the database or will replace all data in that table.
702
Parameter File (_LoadCob.par) This file contains options which could be specified in the control files but are specified in this file, so they are referred to by all the control files generated. An example of such an option is deciding whether a Direct Path or Conventional Path load will be performed. Batch File (_LoadCob.bat) This file is a conventional MS-DOS batch file, containing calls to the SQL*Loader utility for each of the main Cobra tables contained within the backup file. For each call, the batch file specifies the control file (<Table>.ctl) and the common parameter file (_LoadCob.par). The batch file requires two parametersthe username and passwordto run the SQL*Loader utility for the Oracle database which is being used.
Generation Process
The following process is undertaken to generate the files required by the SQL*Loader utility: 1. The backup file is opened and validated. 2. For each main file in the backup:
The data file (<Tablename>.csv) is generated. The control file (<Tablename>.ctl) is generated, referencing the data file, describing its structure, and specifying the options as selected by the user.
If a large file is encountered while generating the data file or control file, a progress meter is shown. 3. The batch file (_LoadCob.bat) is generated. While the SQL*Loader files are being generated, a message box that describes the progress of the operation is displayed.
As the Load process is underway, a log file (<Tablename>.log) is generated for each table. If any errors are encountered, a bad file (<Tablename>.bad) containing the invalid records from the data file is created. If a bad file exists at the end of a load, a message is displayed instructing you to examine the appropriate log file that contains a description of the error and the batch file aborts. If no errors are found, the process is completed and a message is displayed. At this point, the first and last log files may be checked to determine the time taken for the process to be complete.
703
Notes
The following are miscellaneous notes related to the SQL*Loader utility:
All empty character fields are converted to single spaces (.) when generating the data files. This is to prevent the SQL*Loader Utility from interpreting these spaces as null values. The format of date values generated in data files and described in control files are dependent on the date format currently set in Cobra. Because they refer to each other, the files generated by this utility should remain in the same folder. The structure of the data files is dependent on the structure of the data in the backup file. If the database, to which the files are loaded, is of a different structure, errors will occur. The name of the SQL*Loader utility executable in the batch file depends on the database selected in the Destination Database Type combo box. If Oracle 8i, 8.0, or 7.3 is selected, the name of the utility is set to SQLLDR, SQLLDR80, or SQLLDR73 respectively. These utility names are for Oracle versions 8i, 8.0, and 7.3 for Windows NT. If the name of the utility is found to be different, all instances of the utility name must be changed to the appropriate name in the _LoadCob.bat file.
Backup When you backup a program, records with that program name found in your custom table will be backed up. Restore - When a user chooses to restore the program, all data in the custom table with that program name will be deleted and replaced with data in the backup. If the program is restored with a new name, the custom table will be populated with the backup data using the new program name. If a Cobra program is deleted, the program data in the custom table will also be deleted. Copy - When copying a program, Cobra will check the USERTBLS table and also copy any user table data related to the program being copied.
To identify your custom tables, add new records to the USERTBLS table and enter the word PROGRAM in the KEYFIELD column and your custom table name in the TABLENAME column. Your custom table must include a column named PROGRAM which identifies the Cobra program.
704
System Implementation
Training Prototyping Data Transfer Manager Notebooks
System Maintenance
Advancing the Calendar Updating Status Calculating Earned Value Entering Actual Costs Forecasting Reporting
Overview
Successful implementation of any earned value management system requires much more than installing a software package, entering data, and printing reports. In fact, most problems related to earned value systems are not primarily software issues. As experience has shown repeatedly, questions related to process definition and training are usually paramount to the successful implementation of an application such as Cobra. In fact, the definition of the implementation process is likely to have more to do with the ultimate success of the system than the performance of the software. Dictionaries define a system as a group of elements that interact and function together as a whole. In a similar manner, an earned value management system involves many elements, including both the software and the defined process within which the software functions. The definition of this process, combined with a comprehensive training program for the appropriate personnel, will provide a significant cost benefit in the area of program control. In fact, once the implementation has been performed, it usually becomes apparent that the purchase of the software package actually constitutes only a very small fraction of the overall costs of the system. Implementing Cobra in a specific management environment requires the following phases:
These phases represent a broad outline of the process necessary to ensure the successful implementation of Cobra. The following sections contain a number of hints designed to ensure the longevity and acceptance of a new project control system. A number of these hints are simply common sense; others may spark some initial resistance but will undoubtedly prove to be very cost effective over the long run.
Requirements Definition
One of the most significant obstacles to the successful implementation of a cost control system is the incomplete definition of system requirements. The objective of gathering the requirements is to answer the question of how a software package such as Cobra is to be implemented within a given organization. The requirements phase of the implementation process provides the opportunity to create a clear documented plan of how the system will interface with the existing or new processes and what processes need to be documented, created, or treated on an exception basis. The requirements phase of a typical implementation consists of the following activities:
706
Determining the basic requirements of the implementation Reviewing and approving the requirements
Developing a Plan
The development of a plan for determining system requirements seems like a straightforward goal, but it may prove to be one of the most difficult objectives to achieve. Any plan should start with a look at the required outputs to a system, that is, the reports. These will provide management the visibility necessary to control costs. The second step in the plan should involve defining the inputs to a system. These inputs should be flowcharted and documented. A peripheral issue when planning how requirements will be determined is the effects of existing company procedures or, in a government environment, a system description. Care should be taken to ensure that the system will fit within the already established bounds or that the procedures are rewritten. Once the plan is put together, it should become a living document that is consistently updated as procedures are added or changed. The plan should not be allowed to become static and outdated.
707
The collection mechanism (charge number) should correlate to the cost account key plus the budget element or to the cost account key plus the work package key plus the budget element. Please note that the only difference between these two approaches is that, in the second instance, the actual costs are at the work package level and may provide a more detailed explanation of the costs incurred. If the budget element for collecting actual costs does not match the budget element for budgeting, the algorithms for manual forecasting may be affected. Can actual costs be collected against closed or unopened work packages? This is a program-level option in Cobra. Will the actuals be transferred from a transaction file exported from an external system? If another system will be used to gather the actual costs, a procedure to reconcile the transfer and electronic formats to accomplish the transfer of data is necessary. Will accruals or commitments be tracked? If the answer is yes, then specialpurpose cost classes should be designated for this purpose.
How will rates be applied and how often will they change? The definition of the rate sets and budget elements are key to the rate application. Once these rates are established, configuration control of the rates becomes paramount. How will budgeting or contract changes be tracked in the system? Will these changes be allowed to impact on-going work? Cobra provides two facilities for tracking changes: the program log and the use of cost classes. The program log can be defined at the cost account, work package, or budget element level and tracks the changes made to the budget baseline. In addition, custom cost classes can be defined for each contractual change, providing visibility to each change. This approach allows each modification to the original budget to be assigned its own rate set. (It is important to note that there is a limit of approximately 20 cost classes that can be assigned to a given reporting set.)
708
The file definition and control of these components greatly impacts the structure, performance, and accuracy of the monetary values in the system. A common problem in many implementations is the failure to finalize these auxiliary files or to apply basic configuration management concepts once the files are complete. In todays modern world of multi-project, team-oriented environments, a lack of an explicit definition of these system components can lead to chaos and implementation failure. In the case of a multi-site and/or multi-organization implementation, the importance of the configuration and user acceptance of these items is magnified.
Breakdown Structures
Breakdown structures often form the underpinning for the control points in a project. They can also serve as a mechanism for controlling change, pricing, and scope of work definition. Because the data that resides in breakdown structure files is critical (and are many times a contract deliverable), access must be controlled. The process for defining the most often used breakdown structure (Work Breakdown Structure or WBS) should be as follows: Step One Determine the contractual items and the structure determining their hierarchical relationships. Do this early enough to allow the appropriate members of the team sufficient time to review and approve the proposed structure. Step Two Enter the data for the structure and check that the structure ensures contract compliance and adequate reporting for management and deliverables. Step Three Establish procedures that allow changes to the structure to occur in a timely and controlled manner. Step Four When defining the structure, make sure that the rolling wave concept of defining what is known is applied. To define a detailed structure for future work that is unknown is to guarantee that the structure will have to be redone at a later time. In addition to constructing structures for controlling the work, consider any internal reporting needs that may have to be met through a hierarchical structure. A very common example of this is reporting for location or color of money. Breakdown structures (and codes discussed in the next section) must facilitate all necessary reporting requirements for the organization.
Code Files
Code files are most often used to filter and sort reports. The code fields also represent a way for the user to further customize the data entry interface. Thus, code definitions should not be haphazard assignments that become impractical or outdated over time. Instead, documentation should be developed that describes the following characteristics of each code file assigned to the program:
709
Purpose of the code Validations necessary (for example, can the code field be left blank?) How to use the codes in the system Procedures for adding new codes Audit routines to identify code-related problems
Fiscal Calendars
Fiscal calendars are used in Cobra for the following functions:
Defining reporting spans Specifying the level of granularity in the budgets Identifying the fiscal period end dates
At a minimum, the fiscal calendar should be defined so as to represent the fiscal period end dates of the accounting period, with the end date consistent with the final close of the accounting books. If biweekly reporting or some other time period less than monthly is required, Cobra can be used to define fiscal periods in increments of less than a month. Care should be taken to avoid implementing too much detail when defining calendars since this feature is a major factor in the overall data storage requirements of the system. As a result, the use of the calendar sets should be documented and controlled. Cobra uses calendar sets 00, 07, 08, and 09 for internal purposes. Thus, the user-defined calendar sets are limited to 01 through 06.
Rate Sets
When developing rate sets, consider the following items:
How are the rates developed on the actual costs system? Problems can arise if the rates applied to actuals differ from those applied to budgets. Also, consider the possibility of applying retroactive rate changes. If the contract has bid rates or forward pricing rates, the relationship to the rate sets and to actual costs should be taken into consideration.
After the rate sets are established, a procedure should be developed for updating the sets and enforcing configuration control.
Budget Elements
One of the most important features in Cobra is the flexibility with which budget elements (which determine the various cost calculations used by the system) can be defined. Budget elements have a major impact on the functioning of the entire system. When defining budget elements, the following points should be considered:
710
Effects on database structure Major fields for the Cobra database structure are determined by the calculation results defined for budget elements. The name of each result becomes a field in the Cobra detail (budget, forecast, and actuals) files. As a result, budget element definitions should not be modified once the program is underway. Effects on actual costs and forecasting The definition of budget elements should match the way that actuals costs are to be collected in the system. Forecasting routines in Cobra are impacted by the calculations defined by budget elements and the way actual costs relate to the budget elements. If possible, the actuals should be set up so that they are collected with the same budget elements used in budgeting. Budget elements as resources Budget elements can also be thought of as resources. The number of detail records can be driven by the number of resources budgeted. Thus, it is important to budget at a level that will ensure adequate tracking but not at a level so deep as to clog the system with data. Generally, budget elements reflect categories of resources, not individuals. The category definition should be focused enough to allow visibility to segregate the rates, but not so focused as to result in data coagulation. Cost/schedule integration Will the system integrate scheduling information from a resource perspective? If the answer is yes, then a plan to do so should be developed that will allow both resource scheduling and budgeting at the appropriate level. (In other words, there must be a correlation between the resources being scheduled and the resources being budgeted.) In many instances the two levels are not the same, and a breakdown structure linking the two will have to be developed. Budget inputs The way budgets are entered into the system is affected by the establishment of the budget element calculation files. The first line in the calculation file describes the base budget unit; subsequent lines describe each calculated cost derived from the base budget unit and associate these costs with a specific rate set. The budget element calculation file also contributes to reporting. For example, certain results can be exempted from being divided by the scale factor when reports are run. A budget element calculation file can also facilitate planning. Two common uses of the file are to designate a calculation for person-months and to perform calculations that combine other results. (Note that care must be taken not to duplicate the calculation of the currency issues when using this approach.)
System Implementation
If the preliminary work has been properly performed in the requirements phase, the implementation phase should be fairly straightforward. During implementation there are several critical items that must be addressed. These include:
711
Training
All too often, training is not considered as an aspect of system implementation. Yet, it can play a vital role in the ultimate success of the system. Training should be based on the procedures developed in the requirements phase of the project and on the software application used to implement those procedures. Thus, training covers both the process and the tools involved in the process. Some helpful hints for the training include the following points:
Training should use real life examples. Training should be conducted by experienced professionals. Training should occur as close in time as possible to the actual use of the tool. Training on the process should always occur before training on the tool.
Developing a training course that is geared specifically towards your particular implementation will probably be more expensive than off-the-shelf training, but the training is likely to be much more successful in terms of accomplishing the overall goals of your organization.
Prototyping
If possible, a prototype project should be used to smooth out any potential glitches in the procedures before the actual implementation takes place. The prototyping exercise will act as a dry run, serving to spotlight any potential shortcomings before the actual data is loaded, while helping to educate a core group of people in the procedures that must be followed.
Data Transfer
After the establishment of the auxiliary files, the system is ready to accept data. The data that is gathered for input can be baseline, forecast, or status. (Status will be discussed in the next section for month-end processing.) This process generally follows one of two general paths:
The input data is generated on forms and is then entered into the system. The data is entered into the system directly, or it is transferred from a scheduling network or other external system.
It is critical that the input forms and the process for data entry be standardized and documented. The input forms must match the data needed for system input, and the sign-off process must be documented. Typically these processes fall under the category of work authorization. A flow chart is often used to graphically depict the work authorization process. If the procedures for data entry are nonexistent, it is impossible to verify the system inputs or to provide a methodology for ownership of the data. Typically, the Cobra CAP report is used to validate the data being entered.
712
The only difference between electronically transferring data into a system and entering the data manually is that, in the case of electronic transfer, the paperwork is generated after the data is entered into the system and is then approved. The electronic input of data is more difficult to control, but the time and labor savings generally make this approach more desirable. If the data is automatically brought into a program via batch files from a schedule, a dummy program or cost class should be used for input until the proper approval is given. This helps ensure that undesirable results are not brought into the system. Once the data is approved, a simple transfer to the original program can take place.
Manager Notebooks
As a final step of the implementation, it is highly recommended that a notebook be developed for each responsible manager. This notebook should contain:
A description of the work scope for which the manager is responsible (for example, the relevant pages from the WBS dictionary). A schedule (preferably based on some type of critical path methodology) showing the deliverables and the dates for each piece of the work. A network logic diagram showing the impacts between this piece of the program and any other piece. Financial reports (for example, CAP) showing budget, actuals, earned value, and forecast data. Any variance analysis.
This notebook should be updated monthly, and it can be used to provide the focus for any management review.
System Maintenance
System maintenance involves the end-of-month statusing of the system and the incorporation of any changes. The end-of-month process should become a simple routine and is the basis for day-to-day operations other than planning new budgets or incorporating changes. Many programs have been brought to a halt because key personnel left, and this end-of-month process was not documented. In Cobra, statusing the system consists of the following procedures:
Advancing the calendar Updating cost account and work package schedule status Calculating and posting earned value Entering actual costs Forecasting Reporting
713
Updating Status
The purpose of updating the status of work packages and cost accounts is to reflect the current status in terms of estimated and actual dates. It is presumed that the calendar has been advanced before this step is taken. If the user is updating both schedule and cost, a single input form should be developed. If the status is to be electronically transferred using either transaction files or scheduling information, a report showing the planned status updates should be produced and presented to the manager for review before processing begins. The status update facility in Cobra allows the user to open and close work packages. It also expects the user to make any estimated dates later than the current status date. It is critical that all dates be updated since the estimated finish and start dates have an impact on forecasting.
714
Forecasting
In order to prepare forecasts, program status must be updated and actual costs entered. If statistical forecasts are being used, then earned value must also have been calculated. Manual forecasts will require that a procedure be developed to document the forecast entered or transferred from a schedule. This procedure should mirror the procedure for budgeting.
Reporting
Each end-of-month cycle normally ends with the production of a new set of reports. These reports will include both those required contractually, as well as updates for the control account managers notebooks.
715
716
717
OTB PF PM PMB PMO PMT RAM RBS RP SAR SOW SPI SV TAB TCPI UB VAC VAR WBS WP
Over target baseline Performance factor Program manager Performance measurement baseline Program management office Performance measurement technique Responsibility assignment matrix Resource breakdown structure Replanned budget Subsequent application review Statement of work Schedule performance index Schedule variance Total allocated budget To complete performance index Undistributed budget Variance at complete Variance analysis report Work breakdown structure Work package
718
Appendix C Glossary
Activity Effort that occurs over a time period and generally consumes resources. Another term for Activity is Task. A cost sustained in fact, on the basis of costs incurred, as distinguished from forecasted or estimated costs. The sum of the costs actually incurred in accomplishing the work performed. Those costs specifically identified with a contract or project, based upon the contractors cost identification and accumulation system. (See also Direct Costs.) A document used by organizations to initiate the purchase of long-lead-time or time-critical materials prior to the final release of a design. Effort directly related to some other measured effort. Any scope change for which authorization to proceed has been given, but for which the estimated costs are not yet settled. That effort which has been definitized, plus that work for which authorization has been given, but for which definitized contract costs have not been agreed upon. The most common scheduling display, graphically portraying tasks over time. In many applications, a Gantt chart is called a Bar Chart. The original plan for a project, a work package, or an activity, plus or minus any approved changes against which progress on the project is measured. See the following entries:
Actual Cost Actual Cost of Work Performed (ACWP) Actual Direct Costs
Authorized Work
Barchart
Baseline
Baseline Review (BR)
A customer review conducted to determine with a limited sampling that a contractor is continuing to use the previously accepted performance system and is properly implementing a baseline on the contract or option under review. A time-phased plan of operations for a given period. The estimated total cost of the project when it is completed. Another term for Budget at Complete is Performance Measurement Baseline. Time-phased financial requirements.
Budgeting
719
Appendix C Glossary
Budget Element
Overhead expenses distributed over appropriate direct labor and /or material base. (See also Indirect Cost.) A pyramid-like structure, the breakdown structure is a hierarchical family tree (parent-children relationships) that graphically displays the highest level of cost summarization and is detailed progressively downward to the lowest level of cost detail required for reporting and management decisions. A breakdown structure element is a discrete portion of the structure where the cost for a parent element is the total sum of the child elements. In Cobra, budget elements are the same as resources the people, materials, or other entities needed to do the work of the program. For example, Engineer, Technician, Travel, and Pipe can all be budget elements in Cobra. These budget elements can be validated against a Resource Breakdown Structure (RBS). Budget elements are typically assigned to a work package, but can also be defined at the cost account level. You can change the prompt that Cobra displays for the budget element on a program-by-program basis by using the Program Info tab of the Program Directory. A measure used in cost control that allows you to quantify the overall progress of the program in monetary terms. The sum of the budgets for completed work and the completed portions of open work. BCWP is calculated by multiplying the physical percent complete by the planned cost. Another term for BCWP is Earned Value. The sum of the budgets for all planned work scheduled to be accomplished within a given time period. Another term for BCWS is Planned Value. The budget unit is the base unit for the calculation. For example, the Engineer budget element might have a budget unit of hours. Since budget units are user defined, they can be any appropriate unit of measure. For example, a budget unit might be hours, dollars, linear feet, or tons. The negotiated contract cost value plus the estimated value of authorized but unpriced work. A binding financial obligation typically in the form of a purchase order. If commitments are entered as a budget, a forecast using the method retain EAC can show the open commitments.
720
Appendix C Glossary
The negotiated costs for the original definitized contract and all contractual changes that have been definitized, but excluding the estimated cost of any authorized, unpriced changes. The CTC equals the value of the BAC plus management or contingency reserve. The negotiated estimated costs plus profit or fee. A customer-prepared breakout or subdivision of a project typically down to level 3 which:
Cost Account
Subdivides the project into all its major hardware, software, and service elements. Integrates the customer and contractor effort. Provides a framework for the planning, control, and reporting.
Cost Element
Cost Incurred
A cost account is usually defined as the intersection of the program's work breakdown structure (WBS) and organizational breakdown structure (OBS). In effect, each cost account defines what work is to be performed and who will perform it. Cost accounts are the focal point for the integration of scope, cost, and schedule. Another term for Cost Account is Control Account. A member of a functional organization responsible for cost account performance, and for the management of resources to accomplish such tasks. The management control unit in which earned value performance measurement takes place. In Cobra, this would be accessed from the Baseline tab on the Program Details form. Any system of keeping costs within the bounds of budgets or standards based upon work actually performed. Cost Control is typically a level in the budget element breakdown structure. The point within a program at which costs are entered and controlled. Frequently, the cost control point for a program is either the cost account or the work package. A unit of costs to perform a task or to acquire an item. Cost estimates may be a single value or a range of values. Costs identified through the use of the accrued method of accounting or costs actually paid. Costs include direct labor, direct materials, and all allowable indirect costs.
721
Appendix C Glossary
Cost/Schedule Planning and Control Specification (C/SPCS) Cost/Schedule Status Report (C/SSR)
Cutoff Date
A form of indirect cost incurred by investing capital in facilities employed on government contracts. The amount by which a contractor exceeds or expects to exceed the estimated costs, and or the final limitations (the ceiling) of a contract. The cost efficiency factor representing the relationship between the actual costs expended and the value of the physical work performed. The CPI is calculated as BCWP/ACWP. A monthly cost report generated by the performing contractor to reflect cost and schedule status information for management. In Cobra, this report is accessed from general reports. A category of contracts based on payments to a contractor for allowable estimated costs, normally requiring only a best efforts performance standard from the contractor. Risk for all cost growth over the estimated value rests with the project owner. Thirty- five defined standards which have been applied against private contractor management control systems since 1967, in order to insure the government that cost reimbursable and incentive type contracts are managed properly. C/SCSC is now known as the Earned Value Management System (EVMS). The United States Air Force initiative in the mid1960s which later resulted in the C/SCSC and is now EVMS. The low-end cost and schedule report generally imposed on smaller value contracts, not warranting full EVMS. In Cobra, the CSSR report is accessed from general reports. The numerical difference between the earned value (BCWP) and the actual cost (ACWP). The CV is calculated as BCWP - ACWP. The ending date in a reporting period. The first cutoff date in a fiscal calendar should be the day before the start of the program, and is usually labeled PREVIOUS. The initial formal review of a contractors management control system to determine whether or not it satisfies the requirements of the EVMS.
722
Appendix C Glossary
Direct Costs
Discrete Effort
Event Expenditure
Those costs (labor, material, and other direct costs) that can be consistently related to work performed on a particular project. Direct costs are best contrasted with indirect costs which cannot be identified to a specific project. Tasks which have a specific measurable end product or end result. Discrete tasks are ideal for earned value measurement. (See also Work Package.) A milestone that has a definite, scheduled occurrence in time. A detailed cost estimate of the work and related burdens, usually made by industrial engineering or price/cost estimating. Another term for Engineering Cost Estimate is Bottom-up Cost Estimate. The time in standard hours credited to work as a result of the completion of a given task or a group of tasks. Originally known as the Cost/Schedule Control Systems Criteria (C/SCSC) the Earned Value Management System is a set of defined standards that has been applied against private contractor management control systems since 1967, in order to insure the government that cost reimbursable and incentive type contracts are managed properly. A value expressed in either dollars and /or hours, to represent the projected final costs of work when completed. Cobra calculates the EAC by adding the actual cost of work performed to the estimate to complete. The EAC is calculated as ETC + ACWP. The time-phase to go effort. The ETC is maintained through calculate forecast. Cobra supports both manually entered ETCs and statistical ETCs. Statistical ETCs use the formula ETC = PF(BAC-BCWP) where PF is based on past performance. Something that happens at a point or moment in time. A significant event is often called a milestone. A charge against available funds, evidenced by a voucher, claim, or other documents. Expenditures represent the actual payment of funds.
723
Appendix C Glossary
A formal review performed in lieu of a full EVMS demonstration review, when contractor conditions have changed:
Fixed Price Contracts
When programs change from one phase to another as, for example, when a program moves from research and development into production. When contractors move programs from one facility to another. When contractors make significant changes to their EVMS systems descriptions.
Funding Profile Functional Manager (FM) General and Administrative (G&A OR GANDA)
A generic category of contracts based on the establishment of firm legal commitments to complete the required work. A performing contractor is legally obligated to finish the job, no matter how much it costs to complete. Risks of all cost growth rest on the performing contractor. An estimate of funding requirements. The person responsible for the business and technical management of a functional group. A form of indirect expenses incurred for the administration of a company, including senior executive expenses. Such expenses are spread over the total direct and burden costs for the company. An initial visit by members of the customer EVMS review team to a contractors plant to review the contractors plans for implementing EVMS on a new contract. Such visits should take place within 30 days after contract award. Resources expended which are not directly identified to any specific contract, project, product or service, such as Overhead and G&A. The newest form of the Department of Defense EVMS verification review process in which the technical staff lead the effort to verify that the entire project baseline is in place, together with a realistic budget to accomplish all planned work. An event-driven plan that documents the significant accomplishments necessary to complete the work and ties each accomplishment to a key program event. An integrated and networked multi-layered schedule of program tasks required to complete the work effort captured in a related IMP. The IMS should include all IMP events and accomplishments and support each accomplishment closure criteria. The development of new products with use of multi-
Indirect Cost
724
Appendix C Glossary
Teams (IPDT)
Key Fields
Material
Nonrecurring Costs
functional teams, who work in unison form the conceptual idea until completion of the product. Integrated product development teams are best contrasted with the traditional form of sequential functional development. Another term for IPDT is Concurrent Engineering. The fields within a program database that identify a cost account, work package, and milestone. In Cobra, you can customize the labels associated with these fields to create data entry screens and reports that reflect the terms used within your organization. Difference between planned labor rates and actual labor rates. Work that does not result in a final product (such as liaison, coordination, follow-up, or other support activities) and which cannot be effectively associated with a definable end product process result. Level of effort is measured only in terms of resources actually consumed within a given time period. A portion of the Contract Budget Base that is held for management control purposes by the contractor to cover the expense of unanticipated program requirements. It is not a part of the Performance Measurement Baseline. Another term for Management Reserve is Contingency. Property which may be incorporated into or attached to an end item to be delivered under a contract or which may be consumed or expended in the performance of a contract. It includes, but is not limited to raw and processed material, parts, components, assemblies, fuels and lubricants, and small tools and supplies which may be consumed in normal use in the performance of a contract. An event, usually of particular importance. A milestone is used to subdivide the work package. The estimated cost negotiated in a Cost-Plus-Fixed-Fee Contract or the negotiated contract target cost in either a Fixed Price-Incentive Contract or a Cost-PlusIncentive-Fee Contract. (See also Contract Target Cost.) Expenditures against specific tasks that are expected to occur only once on a given program. Examples are such items as preliminary design effort, qualifications testing, initial tooling, and planning. A functionally oriented structure indicating organizational relationships and used as the framework for the assignment of work responsibilities. The
725
Appendix C Glossary
Overhead
Overrun
Planning Package
organizational structure is progressively detailed downward to the lowest levels of management. The initial budget established at or near the time a contract was signed or a project authorized, based on the negotiated contract cost or managements authorization. A group of accounting elements which can be isolated to specific tasks, other than labor and material. Included in ODC are such items as travels, computer time, and services. In Cobra, the budget element structure can be used to segregate labor from ODC. A baseline which results form formal reprogramming of an overrun, used only with the approval of the customer. Costs incurred in the operation of a business which cannot be directly related to the individual products or services being produced. (See also Indirect Cost.) Costs incurred in excess of the contract target costs on an incentive type contract or the estimated costs on a fixed fee contract. An overrun is that value of costs which are needed to complete a project, over that value originally authorized by management. The time-phased budget plan against which project performance is measured. It is formed by the budgets assigned to scheduled cost accounts and the applicable indirect budgets. For future effort, not planned to the cost account level, the Performance Measurement Baseline also includes budgets assigned to higher-level CWBS elements. The PMB does not include any management or contingency reserves, which are isolated above the PMB. Performance measurement techniques (PMTs) are the methods that Cobra uses to estimate earned value. Different methods are appropriate to different work packages, either due to the nature of the work or to the planned duration of the work package. Cobra supports all commonly used PMTs. Another term for Performance Measurement Techniques is Earned Value Methods. The organizational unit responsible for the performance and management of resources to accomplish a task. The time interval of contract performance that includes the effort required to achieve all significant contractual schedule milestones. A logical aggregation of far-term work within a cost account that can be identified and budgeted but not yet defined into work packages. Planning packages are
726
Appendix C Glossary
Progress Payments
Readiness Assessment
Recurring Costs
Replanning
Responsible Organization
identified during the initial baseline planning to establish the time phasing of the major activities within a cost account and the quantity of the resources required for their performance. Planning packages are placed into work packages consistent with the rolling wave concept prior to the performance of the work. In Cobra, a budget cost class at the cost account level can define the planning package. The date up to which all program information is complete. Another term for Program Status Date is Time Now. This is the term used by Open Plan. Payments made to a contractor during the life of a fixed-price type contract, on the basis of some agreedto formula, for example, BCWP or simply costs incurred on most government type contracting. The office responsible for the business and technical management of a specific contract or program. An individual who has been assigned responsibility for accomplishing a specific unit of work. The program manager is typically responsible for the planning, implementing, controlling, and reporting of status on a project. A meeting or series of meetings by selected members of the customer EVMS review team at a contractors plant, to review contractor plans and progress in implementing EVMS in preparation for a full demonstration review. Expenditures against specific tasks that would occur on a repetitive basis. Examples are sustaining engineering, production of operational equipment, tool maintenance, etc. In Cobra, codes on the cost account or work package can be used to identify recurring costs. Actions performed for any remaining effort within project scope. Often the cost and/or schedule variances are zeroed out at this time for history items. A breakdown structure for the cost summarization of budget elements (resources). The RAM correlates the work required by a Contract Work Breakdown Structure (CWBS) element to the functional organization responsible for accomplishing the assigned tasks. The responsibility assignment matrix is created by intersecting the CWBS with the program Organizational Breakdown Structure (OBS). This intersection identifies the cost account. A defined unit within the contractors organization structure which is assigned responsibility for accomplishing specific tasks, or cost accounts. Another
727
Appendix C Glossary
Rubber Baselining
Task
Time Now
Validation Variance
term for Responsible Organization is Organizational Breakdown Structure (OBS). An attempt by a contractor to take far-term budget and move it into the current period, in an attempt to disguise cost problems. Approach will be to move budget, but without a corresponding value of work, to mask cost difficulties. It is an indicator of a likely cost overrun condition. The planned schedule efficiency factor representing the relationship between the value of the initial planned schedule and the value of the physical work performed, earned value. The SPI is calculated as BCWP/BCWS. An indicator of how much a program is ahead or behind schedule. The SV is calculated as BCWP - BCWS. A description of a product or service to be procured under a contract; a statement of requirements. A contractual document which legally defines the effort of providing services, data, or other hardware, from one firm to another. A review by customer personnel to determine whether the contractor has properly applied the EVMS to a new contract. Something that takes place over a period of time, which generally consumes resources. Often associated with a work package. (See also Activity.) The date up to which all program information is complete. The term Time Now is also known as the Program Status Date. This is the term used in Cobra. The projected performance which must be achieved on all remaining work in order to meet some financial goal set by management. TCPI is calculated as follows: TCPI = (BAC - BCWP) / (EAC - ACWP) The sum of all budgets allocated to the contract. This value is the same as the Contract Budget Base (CBB) unless an Over Target Baseline (OTB) has been established. Budget applicable to contract effort which has not yet been identified to specific cost accounts or work packages. A term used in EVMS to mean approval or compliance with the criteria. The difference between the expected/budgeted/planned and the actual results.
728
Appendix C Glossary
Variance at Complete is the algebraic difference between Budget at Complete and Estimate at Complete. The amount of a variance which will require a formal Problem Analysis Report, as agreed to by the contractor and the customer. Variance parameters will differ depending on the function, level and stage of the project. The process of evaluating alternative strategies. The WBS is a product-oriented breakdown structure of hardware, software, services, and program-unique tasks that organizes and defines the product to be produced, as well as identifying the scope of work to be accomplished to achieve the specified product. A WBS element may be an identifiable product, a set of data, or a service. A document that describes each element in the WBS, including a Statement of Work (SOW), which describes the work content of the WBS element, and a Basis of Estimate (BOE), which describes how the budget of the element was developed. Additional information about each WBS element might include the responsible organization, contract number, and so on. The WBS Dictionary will often result in the project or contract statement of work (SOW). A discrete portion of a WBS at any level. A WBS element may be an identifiable product, a set of data, a service, or any combination. Detailed short-span tasks, or material items, identified by the performing contractor for accomplishing work required to complete a project. A work package represents a further break-down of the work defined by the cost account. In traditional cost/schedule systems, the criteria for defining work packages is as follows:
WBS Dictionary
Work Package
Each work package is clearly distinguishable from all other work packages in the program. Each work package has a scheduled start and finish date. Each work package has an assigned budget that is time-phased over the duration of the work package. Each work package either has a relatively short duration, or can be divided into a series of milestones whose status can be objectively measured. Each work package has a schedule that is integrated with higher-level schedules.
729
Appendix C Glossary
730
Index
A
About Cobra command (Help menu), 18 About Cobra dialog box, 18 About Deltek Cobra dialog box, 18 AC cost class, 169, 250 Access rights, 576 Account.dbf, 697 Accounting actuals, 172 Action Selection page, 30 Activity transaction file, 444 Actual cost of work performed, 49, 146, 169, 175, 177, 268 Actual cost transaction files class field, 260 CSV, 260 data structure, 259 discussion of, 258 Format 1, 259 Format 2, 259 formats, 259 optional fields, 260 options, 258 Actual costs AC cost class, 169 accounting, 172 alternate rate sets, 175 budget units, 252 calculating derived costs, 252 codes, 252 collection, 76 cost classes, 66, 175, 253 cumulative, 251 current period, 251 definition, 168 discussion of, 48, 74, 250 for closed work items, 264 for unbudgeted budget elements, 264 for unopened work items, 264 included budget costs, 175 individual programs, 252 invoiced, 172 key fields, 252 level, 175, 250 master program, 252 part of program ACWP, 175 program options, 264 received, 172 transaction files, 75 Add Column dialog box, 92 Add Result Field dialog box, 33, 38 Advance Calendar options, 621 Advance Calendar command (Status menu), 131 Advancing the calendar, 73, 131 Aliases, 146, 148 Allocating management reserve, 217 Alternate forecasts, 177 Alternate funding, 173 Alternative budgets, 70 ANSI Standard EVMS, 54 ANSI X12 Cost account manager and project officer, 399 export facility, 393 exporting, 394 Extended Data, 398 future monthly BCWS and ETC, 399 hourly data, 399 level of export, 394 multi-program support, 399 summarized, 394 suppress warnings, 400 Using codes as WBS and OBS, 397 ANSI X12 Export command (File menu), 396 AnsiX12 options, 622 Application Options dialog box Administrator, 629 Advance Calendar, 621 AnsiX12, 622 Baseline, 641 Calculate earned value, 624 CPR reports, 659 Customize, 645 Data access, 630 description, 620 Drill down, 625 Error handling, 634 Forecast, 648 Forecast calculations, 627 General, 628 General reports, 662 Global cost recalculation, 637 Global reclassification, 638 Global replan, 639 Integration, 640 Load actuals, 657 Milestone weighting, 635 MSP, 649 P3, 650 P3e, 652 Reports, 659 Restore, 664 Status, 654 Transaction files, 656 User interface, 636 Apportioned PMT, 197 ASCII format transaction files, 75 ASCII transaction files, 260 Authorized unpriced work, 72, 163, 164, 214, 217 Auxiliary files, 158, See Export command Auxiliary tables, 688
731
Index
B
Back load spread curve, 201 Backing up data, 371 program budget baseline log, 371 Backup, 589 Backup command (System menu), 372 Baseline budget log file, 215 Baseline options, 641 Baseline tables, 682, 684 basedetl.dbf, 685, 686 baseline.dbf, 684 Baselining, 71, 214 Baselog table (Baselog.dbf), 680 data structure, 680 description of contents, 680 Basis of estimate, 107 Batch processing, 537 Advance Calendar, 541 Ansi X12 Export, 563 Apportionment, 554 Batch Reporting, 546 Calculate Earned Value, 543 Calculate Forecast, 560 Copy Program, 553 CPR3, 558 DefaultQueryAnswer, 539 Deleting Programs, 562 Exporting Auxiliary Files, 557 Global Recalculation, 550 Global Reclassification, 548 Importing Auxiliary Files, 556 Load Actual Costs, 543 Log File Viewer, 566 Log Files, 565 LogDirectory, 539 Process sections, 540 ProcessID, 540 Program Backup, 546 ProgramLogComment, 539 Replace Budget Elements, 560 Restore, 559 Rolling Wave, 542 script file, 537 Security, 567 Settings section, 538 SQL Command, 554 Synchronize, 540 Timeout Operation, 568 Update Totals, 547 Validity Check, 561 Batch reference numbers, 215 Batch reporting, 339 Batch Reports command (Reports menu), 339 Batch Spreading, 589 Batch Spreading command (Tools menu), 362 BE field, 158 Bell spread curve, 201 Blocking processes, 589 Bottom-up forecasting, 75, 269 Breakdown Structure form, 110 Breakdown structure tables, 688
bdndetl.dbf, 690 breakdwn.dbf, 688 discussion of contents, 688 Breakdown structures assigning to key fields, 60, 158 attaching codes, 108 basis of estimate, 107 budget elements, 148, 158 children, 59 coding systems, 59, 102 descendants. See Children descriptions for cost accounts, 211 descriptions for work packages, 211 discussion of, 102 elements, 59 fixed-form significant codes, 59, 103 grandchildren, 59 levels, 59 maintaining, 115 non-significant codes, 59, 104 pad characters, 104 parents, 59 punctuated significant codes, 59, 103 rebuilding, 515 role in variance reporting, 60 special purpose commands, 111 statement of work, 107 thresholds, 60, 61, 106 top-level element, 59 use in reports, 299 use with costs, 264 WBS dictionary, 107 Budget accounts, 72, 146, 173, 214, 697 Budget at completion, 269, 363 Budget baseline, 48, 53, 69, 173, 215 Budget cost classes, 66 Budget costs alternate funding, 173 alternate rates, 173 CB cost class, 168 change orders, 172 current budget, 168 definition, 168 effect on budget accounts, 173 part of program BCWS, 173, 215 replanned budget, 168 RP cost class, 168 spreading, 173, 201, 242 Budget Element grid, 150 Budget Element Key page, 35 Budget element table (Costelem.dbf), 678 BAC, 678 cost class, 678 data structure, 678 forecast performance factor, 678 illustration, 678 key, 678 Budget element tables, 694 calc.dbf, 695 calcdesc.dbf, 695 calcdetl.dbf, 695, 696, 697 discussion of contents, 694
732
Index
Budget elements actuals for unbudgeted, 264 additional information, 146 aliases, 148 assigning to cost accounts, 200 assigning to work packages, 200 breakdown structures, 65, 148, 149, 158 calculation file, 149 calculations, 65 codes, 65 discussion of, 64, 144, 145, 147 homogenous spread, 242 prompts, 158 Budget structures, used with costs, 144 Budget units, 64, 74, 145 Budgeted cost of work performed, 50, 51, 74, 146, 177, 269 Budgeted cost of work scheduled, 49, 168, 173, 177, 214, 215 Burdened dollars, 52
C
Calculate Earned Value, 243 Calculate Earned Value command (Status menu), 243 Calculate Forecast command (Status menu), 274 Calculate Forecasts, 589 Calculated results, 334 Calculation Apportionment, 589 Calculation template, 433, 463 Calculation templates, 145 Calculations grid, 150 Calendar Sets grid, 124 CAP Spreadsheet, 208 edit, 208 Cawp table (Cawp.dbf), 671 BCWS, ACWP, BCWP, and BAC, 671 CAWPID, 671 Cawpid illustration, 673 codes, 671 cost account key fields, 672 cost account records, 673 data structure, 674 dates, 671 description of contents, 671 description of cost account information, 672 description of work package information, 672 descriptions, 671 illustration, 673 key fields, 671 percent complete, 671 performance measurement technique, 671 program name, 673 status, 671 work package key field, 672 Cawpid, 673 CB cost class, 168 Change control, 214 Change numbers codes, 184 Change orders, 66, 172, 173 Changes in scope, 212
Chart files, 310, 318 Chart Template Designer window, 310 Check boxes, 86 Check Estimate Dates, 232 Check Estimate Dates command (Tools menu), 233 Children, 59 Citrix environments installing Cobra, 15 Class grid, 170 Class.dbf, 697 Client reports, 76 Clipboard function, 97 Close command (File menu), 88 Close command (Window context menu), 85 Cobdic.dbf, 697 Cobra application window, 80 auxiliary tables, 688 data and system tables, 688 data file format, 68 demonstration data, 530 display of data files, 530 documentation, 19 exiting, 19 file access rights, 580 help system, 19 implementation. See Implementation menu access rights, 584 menu report security, 582 menus, 80 Microsoft components, 8 multi-user installations, 11 removing an installed copy, 19 security features, 572 setup utility, 12 starting, 16, 18 system information, 18 system maintenance during implementation, 713 system requirements, 8 system utilities, 514 user interface, 80 version number, 18 working with windows, 83 workstations, 13 Cobra default configuration and databases, 16 Cobra.ini, 620 COBRA.INI, 590 Cobra.ini settings Advance Calendar, 621 AnsiX12, 622 baseline integration, 641 calculate earned value, 624 CPR reports, 659 customize integration, 645 data access, 630 drill down analysis, 625 error handling, 634 forecast calculations, 627 forecast integration, 648 General reports, 662 global cost recalculation, 637 global reclassification, 638
733
Index
global replan, 639 integration, 628 load actuals, 657 milestone weighting, 635 MSP integration, 649 P3 integration, 650 P3e integration, 652 reports, 659 restore, 664 status integration, 654 transaction files integration, 656 user interface, 636 Cobreps.dbf, 697 Code files creating, 115 integration, 433 loading. See Code Files maintaining, 118 Code tables, 691 code.dbf, 691 codedetl.dbf, 691 discussion of contents, 691 Codes assigning to change numbers, 184 assigning to cost accounts, 180 assigning to work packages, 180 Program Codes, 44 validation, 108 Codes page, 36 Coding systems, 102, 105 Column Width command (Edit menu), 89 Columns adding, 91 editing, 91 inserting, 91 removing, 93 Command buttons, 86 Commands choosing, 80 context menus, 82 dimmed, 81 keyboard shortcuts, 83 submenus, 81 using the menu bar, 80 Completion dates, 69 Configure Data command (System menu), 22 Configure Data dialog box, 22 Configure Fields Wizard action selection page, 30 budget element key page, 35 codes page, 36 cost account keys page, 34 finish page, 37 key field length page, 33 load from backup page, 31 milestone key page, 35 result names page, 32 work package key page, 34 Configure System command (System menu), 22 Configure System dialog box, 22 Contents command (Help menu), 17
Context calendars, 99 Context menus, 82 Contract budget base, 72, 164 Contract budget baseline, 164 Contract Fee %, 163 Contract No., 160 Contract target cost, 72, 163, 164, 214, 217 Contract target price, 164 Contract total price, 163 Contract type, 160 Contractor, 160 Control accounts, 190 Copy command (Edit menu), 98 Copying text, 98 Cost account codes, 180 notes, 43 Cost account and work package table (Cawp.dbf) see Cawp table, 671 Cost Account Keys page, 34 Cost accounts actual costs, 175, 250 actual dates, 230 adding, 191 breakdown structures, 158 budgets, 63, 192, 200 closed, 191 codes, 192 dates to work packages, 211 definition, 61, 69, 190 descriptions, 191 descriptions from breakdown structures, 211 descriptions to work packages, 211 discussion of, 61 estimated dates, 230 guidelines, 76, 190 key fields, 62, 71, 158, 191, 211 labels, 157 open, 191 planning, 69, 190 program options, 210 prompts, 157 scheduled dates, 191 status, 191 unopened, 191 updating, 192 validations, 62, 71 Cost classes, 66, 168, 697 Cost Performance Index, 54, 75, 271, 280 Cost reporting sets, 66, 76, 173, 177, 281, 317 Cost variances, 48, 50, 52, 106 measuring, 51 Cost.dbf, 697 Cost/schedule integration budget revisions, 421 converting Open Plan resources into Cobra budget baseline, 421 creating a baseline in MSP2000/2002/2003, 428 data integrity, 421 resource requirements for a breakdown structure, 423 setting a baseline in OP 3.x, 425 Cost/Schedule integration
734
Index
discussion of, 52 effects on work package definitions, 194 Costs breakdown structures, 60 budget elements, 145, 147 budget units, 64 burdens, 64 calculated, 64 calculation, 144 classes, 66, 168 currency-denominated, 146 derived, 60 global recalculation, 348 global reclassification, 350 overhead, 64 rate sets, 138 result names, 144, 145, 148 rolling up, 60 sort code, 147 sources, 144 summarization, 60 types, 145 Costs overrun, defined, 50 CPR reports options, 659 CPR3 file, 131 CPR3 report, 131, 342 CPR3 reporting (Basedetl.dbf), 682 CPR3 Reporting command (Reports menu), 344 Create Program dialog box, 157 Creating Custom Reports, 596 Critical path method, 53, 71 Critical path scheduling, 51 CSV transaction files, 260 Cumulative actual costs, 258 Currency costs, 146, 215 Currency exchange rates, 138 Currency units, 146 Current budget, 168 Current period actual costs, 258 Custom cost reporting sets, 177 Custom menu items, 666 Custom spread curves, 529 Cut command (Edit menu), 97 Cutting text, 98
Deltek Cobra Administrator, 585 Baseline Log Entries, 590 blocking processes, 589 COBRA.INI, 590 configuration, 589 group filter, 586 log file, 590 Send message, 586 SYSADMIN.INI, 590 user login lockout, 586 user notification, 586 user session termination, 586, 588 Demonstration data, 530 Derived costs, 64 Descendants. See Children Descriptions for cost accounts, 191 Descriptions for work packages, 195 Dialog boxes check boxes, 86 command buttons, 86 default commands, 87 described, 86 list boxes, 86 navigation, 86 non-modal, 87 radio buttons, 86 tabbed, 87 text boxes, 86 Direct dollars, 52, 64 Discrete work, 196 Distributed budget, 72, 168, 214, 217 Double peak spread curve, 201 Drill Down Analysis command (Tools menu), 107 Drill down anlysis options, 625 Drill-down analysis, 107, 384
E
Early peak spread curve, 201 Earned value budget method of calculation, 74, 234, 244 calculating, 242 calculations, 74, 76, 234, 238, 243 cost classes, 168 cumulative basis, 243 discussion of, 48, 51, 63, 74, 238, 248 dollar method of calculation, 234, 245 effect of rate changes, 239 error handling, 243 error log, 243 exporting, 247 importing, 247 methods, 243 methods of measuring, 52 option, 624 performance measurement techniques, 195 program options, 234, 243 time method of calculation, 207, 234 validations, 243 Earned Value Management Systems, 706 discussion of, 48
D
Data access options, 630 Data configuration client databases, 23 data format, 22 server databases, 23 Data configuration command (System menu), 22 Data formats, 518 Database configuration database client considerations, 23 Datasource Name, defined, 24 Dates grid, 124 Default cost classes, 168 Default program option settings, 187 Deleting files, 528
735
Index
guidelines, 52 reporting requirements, 163, 296 role of cost account, 62, 190 terminology, 61 validation, 68 Edit CAP Spreadsheet, 208 Edit Baseline Log dialog box, 590 Edit Text File command (Edit menu), 530 Element Detail dialog box, 111 Entering dates, 99 Error handling options, 634 Escalations, 140 Estimate at complete, 75, 177, 265 Estimate to complete, 177, 268 Estimated finish dates, 162, 230 Estimated program dates, 368 EV cost class, 238 EVMS, reporting requirements, 672 Exception, 317 Exception reporting, 53, 61, 76, 106 Exit command (File menu), 19 Exiting Cobra, 18 Export command (File menu), 394 ANSI X12, 394 auxiliary files, 518 earned value, 527 fiscal calendars to Open Plan, 526 program data, 515 program export, 515 SQL command utility, 531 Exporting earned value, 527 Extra fields in reports, 317
F
F1 cost class, 169 File access rights, 580 File Deletion, 589 File deletion command, File Maintenance (System menu), 528 Filters, 326, 697 Find command (Edit menu), 95 Find dialog box, 96 Find Work Package dialog box, 96 Finish page, 37 Firm fixed-price, 160 Fiscal calendar tables, 691 discussion of content, 691 fiscal.dbf, 692 fiscdetl.dbf, 692 Fiscal calendars advancing, 131 calendar set 00, 168 calendar sets, 121, 122, 127, 130, 131 creation, 122 custom patterns, 123, 454 discussion of, 120 end date, 122 flags, 120, 130, 131 in multi-program operations, 227 integration, 433
labels, 120, 128 look-ahead reports, 120 patterns, 123 rolling wave processing, 132 start date, 122 use in reports, 300 use in spreading, 70 working hours, 124 Fixed flags, 120, 130 Fixed-form significant codes, 59, 103 Floating flags, 120, 130, 131 Forecast costs discussion of, 268 Forecast initialization, 589 Forecasting adding, 281 alternate forecasts, 177 alternate rate sets, 174, 283 alternative forecasts, 280 bottom-up forecasting, 75, 269 calculating, 274 calculations, 285 cost classes, 66, 174 cost reporting sets, 281 customized, 173 definition, 168 deleting, 283 discussion of, 75, 268 examples, 285, 286 F1 cost class, 169 freezing EAC, 291 included classes, 283 initializing, 273 level, 174 level of performance calculation, 282 manual methods, 75, 269 manually updating, 275 multiple performance factors, 272 options, 627, 648 rate sets, 280 re-rating ETC spread, 270 retain EAC, 75, 270, 286 retain ETC, 75, 269 spreading ETC, 288, 289, 294 statistical methods, 75, 271 Foreign currencies, 146 Format 1 actual cost transaction file, 259 Format 2 actual cost transaction file, 259 Forms, 87 Four-digit year, 40 FoxPro reports discussion of, 312 file deletion, 514 filters, 326 modifying, 594 report properties, 315 sort sequences, 331 FoxPro source code, 700 Freeze EAC, 589 Front load spread curve, 201 FTE, 140 Full Time Equivalent, 140
736
Index
Funding sources, 66
G
General installation options, 10, 22 General reports options, 662 General Reports command (Reports menu), 314 General Reports dialog box, 296 Generate New Dates dialog box, 123 Generate SQL loader files utility, 668 Global cost recalculation, 348 Global Cost Recalculation command (Tools menu), 348 Global cost reclassification, 350 Global cost reclassification options, 637 Global Recalculation, 589 Global Reclassification, 589 Global Reclassification command (Tools menu), 350 Global reclassification options, 638 Global Replan, 589 Global Replan command (Tools menu), 353 Global replanning available global replan types, 355 choosing criteria, 354 Options, 639 performing, 355 selections, necessary for replan operation, 355 specifying the structure level, 354 Global Slip, 589 Grandchildren, 59 Grids, 88 Groups, 224
H
Head count, 140 Header files, 307 Help command (Help menu), 17 Help system, 17 described, 17 using, 17 Holidays, 126 importing, 127 Holidays dialog box, 126
I
Implementation advancing the calendar, 714 calculating earned value, 714 critical items, 711 data transfer, 712 defining auxiliary file requirements, 708 defining breakdown structure requirements, 709 defining budget element requirements, 710, 711 defining code file requirements, 709 defining fiscal calendar requirements, 710 defining rate set requirements, 710 determining system requirements, 707 developing a plan for, 707 developing a training course, 712
documented sign-off process, 712 electronic transfer of data into system, 713 entering actual costs, 714 flow chart use in, 712 forecasting, 715 guidelines for, 706, 707 importance of review and approval system for plans, 708 input forms for, 712 manager notebooks, 713 phases, 706 prototype project, 712 reporting, 715 requirements discussed, 706 system maintenance, 713 training, 712 updating status, 714 validating data, 712 Import command (File menu) auxiliary files, 519 note files, 524 standard formats, 520 user-defined formats, 520 Import notes, 524 Import Notes dialog box, 525 Included results, 318 Indexes, 371 common directory, 27 Pack command, 514 program directory, 27 system directory, 27 Initialize actual costs, 589 Initialize Actual Costs, 262 Initialize Demo Data command (System menu), 530 Initialize Forecasts command (Initialize menu), 273 Initialize program log, 216 Initializing demonstration data, 530 Installation multi-user, 11 options, 10 removing, 19 workstations, 13 Installation Wizard, 10 multi-user installation, 11 server installation, 12 single-user installation, 10 Windows Vista installation, 14 workstation installation, 13 Integration, 436, 589 action selection, 438, 482 calculating earned value, 500 calculation template, 433 code assignments, 448 code files. See configuration, 437, 481 creating breakdown structures, 433 creating code files, 433 creating fiscal calendars, 433 define calendar, 453 fiscal calendar, 453 identifying the link in MSP2000/2002/2003, 425 identifying the link in OP 3.x, 422
737
Index
identifying the link in P3, 429 identifying the link in Primavera 4.x/5.x, 431 integrating with Microsoft Project 2000/2002/2003, 425 integrating with Open Plan 3.x, 422 integrating with Primavera 4.x/5.x, 431 integrating with Primavera P3, 429 link configuration, 445, 484 load budget, 457 load forecast, 489 load from, 490 load rates, 462 load resources, 462 load status, 485 loading a forecast, 481 loading budget, 436 loading class, 449 loading from schedule, 423 loading from schedule in Primavera 4.x/5.x, 432 loading PMT, 449 loading resources in MSP2000/2002/2003, 426 loading resources in OP 3.x, 423 loading resources in P3, 430 loading resources in Primavera 4.x/5.x, 432 loading status, 481 Overview, 420 preparing the program in Cobra, 425, 432 preparing the schedule, 422 project selection, 443, 483 rates, 433 revision control, 500 save and run, 493 Save configuration, 465 selection criteria, 464, 492 setting a baseline, 424, 474 statusing the project, 478 structure, 456 synchronizing with a schedule, 470 transaction files, 444 using the Integration Wizard, 436 Integration Options dialog box Baseline, 641 categories, 640 Customize, 645 Forecast, 648 MSP, 649 P3, 650 P3e, 652 Status, 654 Transaction files, 656 Integration Wizard, 421, 504 Invalid estimate dates, 232 Invoice numbers, 65 Invoiced actuals, 172
L
Labels, 128, 158 Late peak spread curve, 201 Learning Cobra, 16 Level of effort PMT, 52, 195, 197 Linear spread curve, 201 Link Assignments Table, 511 Link Status Table, 510 Link table (Link.dbf), 681 data structure, 681 description of contents, 681 Link tables, 509 LINK tables, 506 LINKASG table, 508 Linking to Open Plan, 681 List boxes, 86 Load Actual Costs, 253 Load Actual Costs command (Status menu), 254 Load Actuals options, 657 Load budget elements from schedule, 463 Load from Backup page, 31 Load rates from schedule, 462 Load Schedule transaction files data structure, 466, 467 debugging, 467 discussion of, 466 error messages, 472 Loadact.log, 256 Loading budget, 436 Loading code files. See Location, 160 Log File Viewer, 566 Logins Deltek Cobra Administrator, 585 Look-ahead reporting, 120 Lookup dialog box, 94
M
Management reserve, 72, 163, 164, 214, 215, 217 Manager notebooks, recommended contents for use in implementation, 713 Manager user, 572 Manual forecasts, 75 Master programs, 222 Memo fields, 107 Menu access rights, 584 Menu bar, 80 Menu items adding custom items, 666 adding SQL Command Utility, 667 adding SQL*Loader, 668 examples, 667 Merging programs, 225 Microsoft Project 2000/2002/2003 preparing the schedule, 425 Milestone Details form, 205 Milestone Key page, 35 Milestone table (Milestn.dbf), 677 data structure, 677 dates, 677
K
Key Field Length page, 33 Key fields, 63, 158, 191, 211 Keyboard shortcuts, 83
738
Index
description, 677 description of contents, 677 illustration, 677 key, 677 percent complete, 677 status, 677 weights, 677 Milestones, 63, 70, 71, 196, 205, 234, 677 Multiprog table (multprog.dbf), 685 data structure, 685 Multi-program table (Multprog.dbf), 682 Multi-user installations, 11
P
P3ACT table, 507 P3ACTCST table, 508 P3RES table, 508 P3RESCST table, 509 P3RLB table, 508 Pack command for indexes, 514 Pad characters, 104 Parent/child uniqueness, 211 Parents, 59 Passwords changing, 584 default, 584 Paste command (Edit menu), 98 Pasting text, 98 Percent complete PMT, 196 Performance Analyzer for Windows, 393 Performance costs definition, 168 EV cost class, 168, 238 Performance factors, 54, 75, 269, 280 Performance measurement, 48, 51 Performance measurement techniques 0-100, 196 100-0, 196 50-50, 196 apportioned, 197 changing for openwork packages, 212 discussion of, 52, 74, 195 level of effort, 52, 195, 197 percent complete, 196 planning package, 197 selection, 70 units complete, 196 user defined %, 196 weighted milestones, 196 Personal filters, 582 Personal reports, 582 Personal sorts, 582 Planning, 190 Planning package PMT, 197 Planning packages, 63, 70, 172 Pre Load Process, 504 processes, 504 routines, 504 Pre Save Process, 504, 506 LINK tables, 506 Preparing the schedule Microsoft Project 2000/2002/2003, 425 Open Plan 3.x, 422 Primavera 4.x/5.x, 431 Primavera P3, 429 scheduling tools, 422 Price ceiling, 164 Primavera 4.x/5.x e preparing the schedule, 431 Primavera P3 preparing the schedule, 429 Primavera Project Planner LINK tables, 507 P3ACT CST table, 508
N
Narrative text, 386 Negotiated changes, 217 Network activities, 53 New Budget Element Wizard, 151 New program command (File menu), 165 New unpriced work, 217 Non-significant codes, 59, 104 Note categories Add, 42 delete, 42 edit, 43 maintaining, 42 Note Categories, 41 Notes, 43
O
ODBC, definition of, 22 Open Plan 3.x preparing the schedule, 422 Open Plan Professional, 69 Optimizing Cobra performance deleting temporary report tables, 29 deleting the Indexes, 29 increase extent percentage, 27 log SQL calls, 30 packing the database container, 28 reordering the Contents of the Tables, 29 reorganizing the database, 29 specifying tablespace in the database, 26 startup problems, 30 with SQL Server, 28 Organizational breakdown structure, 672 Organizational breakdown structures, 60, 190 Original budget, 53 Original CTC, 164 Original report, 177, 317 OT cost class, 168 Over target baseline, 72 Over Target Baseline, 214 Over Target Baseline Support, 603 configuring Cobra for OTB, 603 Overhead costs, 64 Overhead rates, 138
739
Index
P3ACT table, 507 Program notes, 43 Program data, 515 Program database Baselog table, 670 Cawp table, 670 CostElem table, 670 illustration, 671 Link table, 670 MileStn table, 670 Tphase table, 670 Program database, 670 Program Directory command (System menu), 170 Program Directory dialog box, 169 Program Export, 515 Program form, 90, 190 Program log allocating management reserve, 217 comments, 214 discussion of, 72, 164, 214 effect of BCWS costs, 173 entering transactions, 71, 214 initialize, 216 level, 219 negotiated changes, 217 new unpriced work, 217 reconciling, 219 role of currency costs, 146, 215 turning off, 219 turning on, 215 Program Log dialog box, 216 Program options dialog box, 210 Program table (Program.dbf), 682 data structure, 682 description of contents, 682 Program variables, 309 Programs ANSI X12 export, 393 auxiliary files, 158 baseline, 68, 71, 215 basic information, 157 batch spreading, 362 breakdown structures, 379 budget accounts, 146 budget baseline, 173 budget element calculations, 283 budget information, 163 checking estimated dates, 368 checking validity of, 379 contract information, 159 cost account codes, 180 creation, 69, 157 data file integrity, 380 default option settings, 187 description, 160 directory, 682 drill-down analysis, 107, 384 editing data files, 392 estimated finish date, 162 file data formats, 518 groups, 224
implementation, 706 master, 222 merging, 225 planning, 190 rebuilding indexes, 514 recalculating costs, 348 reclassifying costs, 350 scheduled dates, 162 status information, 230 subprograms, 225 top-down planning, 357 totaling BCWS, ACWP, and BCWP, 384 undefined results, 379 utilities, 348, 371 work package codes, 180 work package definitions in linked programs, 194 Project networks, 53 Prototype project, 712 Pull-down menus, 80 Punctuated significant codes, 59, 103 Pushpin icon, 85
Q
Quantity, 160
R
Radio buttons, 86 Rate adjustments, 141 Rate File form, 139 Rate sets automatic generation, 141 discussion of, 138 escalations, 140 files, 139 first date, 139 in budget elements, 65 role of fiscal calendars, 141 Rate tables, 693 discussion of contents, 693 rate.dbf, 693 ratedesc.dbf, 694 ratedetl.dbf, 694 Rates grid, 139 Rebuild Breakdown Structures, 589 Rebuild Indexes, 589 Rebuilding breakdown structures, 515 Rebuilding Breakdown Structures command, File Maintenance (System menu), 515 Rebuilding indexes, 514 Rebuilding Indexes command, File Maintenance (System menu), 514 Received actuals, 172 Reconcile button, 202 Relative weighting of milestones, 206 Removing an installed copy of Cobra, 19 Reorder Elements dialog box, 112 Repfilt.dbf, 697 Replanned budgets, 168 Replanning work packages, 212 Report Properties command (Reports menu), 315
740
Index
Report Properties dialog box, 316 Report Security, 582 Report Security, 316 Reporting actions, 302 batch, 339 break count, 319 breakdown structures, 299 calculated results, 334 calendar set, 319 chart files, 318 cost count set, 319 cost reporting sets, 76, 317 CPR format, 296 CPR3 report, 342 criteria count, 318 CSSR format, 296 custom charts, 309 custom headers, 307 discussion of, 296 exception, 53, 106, 317 extra fields, 317 filters, 326 fiscal calendars, 300 FoxPro reports, 312 frozen EAC, 293 header files, 307 included results, 318 look-ahead, 120 NASA 533 format, 296 program variables, 309 report classes, 316 report properties, 315 reports directory, 697 required formats, 76 requirements, 296 Result Wizard, 306 role of calendar set, 300 saved options, 319 scale factor, 162, 302 sorting, 331 spreadsheet reports, 296, 297 Spreadsheet Wizard, 76, 297 standard reports, 76, 296 styles, 77, 320 subheads, 317 subtotaling criteria, 298 subtotals, 76 title boxes, 307 utilities, 326 variance, 106, 302 Reporting sets, 697 Reports for cost account managers notebooks, 715 required contractually, 715 Repsort.dbf, 697 Resource Link Table, 510 Resource transaction file, 444 Restore, 589 Restore command (System menu), 376 Restore options, 664 Restoring data, 371, 375
batch mode, 379 Result names, 144, 145, 148 Result Names page, 32 Result Wizard, 306 Results list, use in top down planning. See Top-Down Planning Rights required on server, 700 Rolling wave processing, 132 Batch Processing, 135 calendar definition, 132 Rolling Wave Processing dialog box, 133 RP cost class, 168 Running a report, 589 Running multiple instances of Cobra on one computer, 9
S
Scale factor, 162, 302 Schedule integration, 672, See Integration Schedule Performance Index, 54, 75, 272, 280 Schedule variances, 48, 50, 52, 106 Scheduled dates, 162 Scheduled start date, 69 Scheduling networks, 69 Scrolling message window, 469 Security access rights, 576 default passwords, 572 discussion of, 572 enabling and disabling, 572 file access rights, 580 file level, 471 menu access rights, 584 menu report security, 582 passwords, 576, 584 setting up users, 576 user access rights, 576 user groups, 576 user ID, 576 Selecting data, 97 items in a list, 97 techniques, 97 text, 97 Send message, 586 Setting up users, 576 Setup utility, 12 Share ratio, 160 Shared filters, 582 Shared reports, 582 Sharing application options, 620 Sort code, 147 Sort sequences, 331 Sorts, 697 Sources, 144 Splitter bar, 94 Spread curves, 70, 201, 529, 697 Spread.dbf, 529, 697 Spreading budgets, 70 Spreading ETC, 288, 289, 294 Spreadsheet Designer command (Reports menu), 303, 309
741
Index
Spreadsheet reports, 76, 296, 297 Spreadsheet Wizard break count, 319 calendar set, 300 cost count set, 319 cost reporting sets, 301 criteria count, 318 custom charts, 310 custom headers, 307 customizing, 305 discussion of, 76, 296, 297 fiscal calendars, 300 program variables, 309 report actions, 302 report criteria, 298 report properties, 315 report style, 301 Result Wizard, 306 saved options, 319 SQL command utility, 667 SQL* loader files, 701 Ss.prm file, 600 cost reporting set section, 602 criteria section, 602 program section, 601 program variables, 603 report section, 600 report Style section, 602 scale section, 602 Staffing, 140 Standard cost classes, 168 Standard reports, 76 Starting Cobra, 16 Statement of work, 107 Statistical forecasts, 75, 271 Status date, 73, 74, 120, 131 Status information discussion of, 73, 230 entry, 73 invalid dates, 232 milestone completion, 234 restrictions, 232 transaction files, 73 Status options, 654 Status transaction file, 444 Status transaction files, 494 data structure, 495 error messages, 496 Status, Loadstat.log. See Loading with transaction files Stay-on-top windows, 85 Subheads in reports, 317 Submenus, 81 Subtotaling, 76 Synchronize, 589 SYSADMIN.INI, 590 SYSADMIN.LOG, 590 System configuration, 39 CAM code prompt, 40 configuring the paths, 26 data format, 30 data tables, 30 Date Format tab, 39
discussion of, 22 earned value notation, 40 Note Categories tab, 41 Program Code Fields tab, 44 Terminology tab, 40 System configuration command (System menu), 22 System implementation, 711 System information, 18 System requirements, 8 System tables, 697 System.ini, 620 System.ini settings, 665 <LcDBMSName> Keywords, 665 <LcDBMSName> Settings, 665
T
Tabbed dialog boxes, 87 Table schema, 46 Tables gird, 139 Terminal Server, 14 installing Cobra, 15 Terminate Session, 588 Text boxes, 86 Thresholds, 61, 76, 106, 385 Time-phase form, 202 Time-phased budgets, 52, 53, 70 Title boxes, 307 Top Down Planning, 589 Top-down planning available amount, 358 discussion of, 357 performing, 361 scenarios, 360 total amount, 358 Total BCWS, BCWP, ACWP command (Tools menu), 389, 390 Total SPA, 589 Tphase table (Tphase.dbf), 679 Cawpid, 679 cecode, 679 cost class, 679 data structure, 679 date, 679 field names, 679 result, 679 structure definition, 679 Tracking Changes, 214 Transaction file load status, 487 Transaction files .dbf format, 75 actual costs, 253, 258 ASCII format, 260 baseline, 466 CSV format, 260 Cum-to-date values, 264 example file, 468 forecast, 466 options, 656 recreating, 254 resource data, 467
742
Index
status, 494 status information, 494 text format, 253 work package status, 494
U
Unclosing work packages, 234 Undefined results, 379 Undistributed budget, 72, 163, 164, 168, 214, 217 Units complete PMT, 196 Unopening work packages, 234 Update OPP Resources, 589 Update OPP Resources (Tools menu), 476 Update Totals, 384 Updating resources in OPP, 475 Upgrading from an earlier version of Cobra, 8 Use Table command, File Maintenance (System menu), 530 User access rights, 576 User defined % PMT, 196 User groups, 576 User Guide, 18 User ID, 25, 576 User Interface Nomenclature, 40 User interface options, 636 User login lockout, 586 User notification, 586 User session termination, 586
V
Validations, 71, 243, 379 Validity check, 589 Validity check utility, 379 Variances cost, 48, 50, 106 drill-down analysis, 107, 385 measuring in dollars, 51 reporting, 60, 106 schedule, 48, 50, 106 thresholds, 385 Version number, 18 Viewing log files, 566 Vista, Windows, 14
W
Wage rates, 138 WBS dictionary, 107 Weighted milestones PMT, 196, 205 Weighting factors for milestones, 206 Weighting milestones options, 635 Welcom user, 572 What-if analysis, 65, 174 What-if budgeting, 350 Window menu, 84 Windows
closing, 84 in Cobra, 83 maximizing, 84 minimizing, 84 moving, 84 resizing, 84 selecting, 84 stay-on-top, 85 Windows Vista installation, 14 wInsight, 393 Work breakdown structure, 672 Work breakdown structures, 60, 190 Work package codes, 180 notes, 43 Work Package Key page, 34 Work packages actual costs, 76, 175, 250 adding, 195 apportioned, 198 breakdown structures, 158 budget spread, 242 budgets, 200 closed, 52 codes, 198 criteria for defining, 194 dates, 53 dates from cost accounts, 211 definition, 63, 69 descriptions, 195 descriptions from breakdown structures, 211 descriptions from cost accounts, 211 discussion of, 51, 61 duration of, 63, 241 earned value, 63, 74, 238 forecast costs, 174 in linked programs, 194 key fields, 71, 158, 211 labels, 158 milestones, 63, 71, 205 moving, 198 open, 52, 199 performance measurement techniques, 195, 199 planning, 63, 190, 194, 241 program options, 210, 211 prompts, 158 renaming, 198 replanning, 210, 212 scheduled finish, 195 scheduled start, 195 status transaction files, 494 unclosing, 234 unopening, 234 updating, 198 validation, 211 Working hours, 124 Workstation installations. See Multi-user installations Workstations, 13
743