Skip to main content
Primavera P6

Primavera P6 Activity Codes Explained: How to Convert EPS Activity Code to Project Code

Primavera P6 Activity codes and values

Activity codes are an indispensable tool for any scheduler in Primavera P6. Activity codes allow the planner to assign codes that can be used for several purposes such as:

  1. Filtering a large number of activities.
  2. Grouping of activities sharing the same activity code.
  3. Sorting of activities.

In addition, it can be used in reporting activity status and relevant information, depending on the planner’s custom or project requirements.

Activity codes can be used to assign quantities, resources, and costs. For example, activity codes can be used to filter certain activities to assign a resource. See below example:

activity codes in primavera software

Activity codes can also be used in the Export/Import process between excel and Primavera to update the progress of activities, import costs, change durations and many other useful changes.

Furthermore, there are three types of activity codes: Global Activity codesEPS-Level activity codes, and Project-Level activity codes.

  • Global activity codes can be assigned to activities in all projects. Unlike project-level activity codes, you can assign the global activity codes to any activity.
  • EPS-Level activity codes can only be assigned to the EPS. Their main use and advantage are when you want to limit the accessibility of certain users to the EPS Codes or simply, want to make them available for certain projects only under the EPS.

Tip: To save time and avoid any duplications, always create EPS-level activity codes at the highest level of EPS to allow all the projects created under that EPS to have access to these codes.

  • Project-Level activity codes are exclusive for the project that they were created for, ie exclusive for one project only.

For all the three types of Activity Codes, planners do not have to worry about the value limitations, as there is no limit specified for the number of values.

A detailed overview of the differences between Global and Project data can be found here.

To create activity codes, simply click on “Enterprise” and choose “Activity Codes” from the drop-down menu.

p6 activity codes

You will get the following screen, which shows all the three types of Activity Codes that you can add:

p6 codes activities

Note: The Project option is shaded out because no project is open.

How to setup and use Activity Codes in Primavera P6

After creating the activity codes, you can easily assign them to the relevant activities, and as required (see the below example).

  1. Choose the activity (or activities) to which you want to assign a code and value.
  2. Display Activity Details, and then click the Codes tab.
  3. Click Assign, noting that you can only assign one value per code.

assign primavera p6 codes to activity

Common questions and answers:

What happens if I (my project) do not have access to an EPS code?

The EPS-level activity code associated with an inaccessible EPS will appear under the “No EPS ID” node in the Assign Activity Codes dialog box.

Why can’t I use the “New Icon” when I am assigning the activity codes?

The New icon is greyed out/ disabled when:

  1. No code band is selected, OR
  2. You do not have security to edit the selected type of activity code (For all types of activity codes).

Use of Primavera P6 Activity Codes for Project Planning and Control

As stated earlier, Activity Codes are an essential aspect of any project schedule. There are several strategies for applying activity codes, and a good planner must use the most efficient approach to applying these codes.

How to apply activity codes correctly?

Whilst it is straightforward and easy to apply Activity Codes in relatively small projects, a more systematic approach is required in managing more complex projects.

An efficient method to apply activity codes is summarized below:

  • Identify the main construction or Engineering activities (or loop of activities) that are repetitive. For example, In Tower building, each floor activity will be repeated according to the number of floors.
  • Prepare the main cycle (1 Loop) of activities that will be repeated.
  • Set up the activity codes dictionary. Example:
    • Activity codes for discipline – Example: Engineering, Procurement, and Construction.
    • Activity codes for system – Example: Earthworks, Substructure, Structure, and MEP.
    • Activity codes for sub-systems – Example: low voltage systems, HVAC, and electrical systems.
  • Assign the Activity codes for each activity.
  • Only after assigning the activity codes, you can go ahead and copy-paste the activities for each floor.

Example for activity codes defined that will be later on assigned to the activities.

primavera p6 activity code

It is important to be very careful while determining the activity code type (enterprise, global, or project) to avoid duplications or pollution of the database. The same caution must be applied while importing project XERs with global activity codes to prevent the mixing of external activity codes with the established global or enterprise codes list.

How to avoid pollution of the Primavera P6 database?

Several factors, summarized in this article, can potentially have a negative effect on your database.

Whilst project activity codes can be converted to Global/ EPS activity codes, the opposite, convert global activity codes to project level cannot be done in Primavera P6.

avoid primavera p6 database polution

Therefore, external software can be utilized to undertake this process. A quick way to convert activity codes from Global/ EPS to Project only is to utilize ScheduleCleaner.

The process can be summarized as follows:

  1. Open ScheduleCleaner.
  2. Add file.
  3. Open the clean tab.
  4. Choose the applicable/ desired option,

convert primavera p6 activity codes


It is advisable to always check any XER before importing it to Primavera P6 to ensure that the database is clean from any POBS or any external activity codes.

To Sum up

Activity codes are essential for all planners, especially in the assignment of resources and cost loading process while creating a project baseline. To protect the integrity of the Primavera database it is advisable to utilize specialized software such as ScheduleCleaner to remove or convert any unwanted global/ EPS activity codes.

ScheduleCleaner is available in a 15-day free trial version from the official website.