{"id":7915,"date":"2021-11-03t13:00:39","date_gmt":"2021-11-03t17:00:39","guid":{"rendered":"\/\/www.deco-dalles.com\/?p=1746"},"modified":"2021-11-08t10:53:47","modified_gmt":"2021-11-08t15:53:47","slug":"how-to-clean-an-xer-file-using-the-parser","status":"publish","type":"post","link":"\/\/www.deco-dalles.com\/how-to-clean-an-xer-file-using-the-parser\/","title":{"rendered":"how to clean a primavera p6 xer file using the xer file parser"},"content":{"rendered":"
in the third part of our\u00a0primavera p6 databases and\u00a0data cleansing series, we will show how to use the parser to clean an xer file<\/span><\/p>\n in the third part of our primavera p6 databases and data cleansing series, we will show how to use the parser to clean an xer file. \u00a0but if you haven’t read them go back and read: xer file parser excel utility<\/p>\n <\/i> notice: the primavera xer file parser is not an officially supported utility. it may:<\/p>\n use it at your own risk. make lots of backups.<\/p>\n if you are finding that importing xer files are slow, then you might want to check out this article about pobs data<\/a>.<\/p>\n important notes about activity codes in p6 :<\/p>\n we create a test project with three tasks; every task was assigned global code, project code and eps codes.<\/p>\n <\/p>\n in the xer file, three tables are related to activity codes. <\/p>\n now you can change the activity code type.as an example, we will change<\/p>\n test1 from global to project<\/strong><\/p>\n 3) assign the project id 3734 under proj_id, and change the as_global to as_project.<\/p>\n test2 from eps to project<\/strong><\/p>\n 4) assign the project id and remove wbs_id, and change from as_eps to as_project.<\/p>\n you can also remove all activity codes by deleting the rows in the table\u00a0actvtype.<\/p>\n <\/p>\n in the sample xer we used all the types of calendar to showcase what changes you can do.<\/p>\n <\/p>\n <\/p>\n notice here that project_calendar_1 inherits holidays from a global calendar – standard 5 day workweek.<\/p>\n <\/p>\n and here, project_calendar_2 does not inherit from a global calendar.<\/p>\n <\/p>\n a resource can use either a global or resource-specific calendar.<\/p>\n in the xer file, calendars are recorded in three tables: <\/p>\n task : here you can find calendars assigned to activities.<\/p>\n <\/p>\n rsrc : here you can find calendars assigned to 世界杯时间比赛时间
.<\/p>\n <\/p>\n for the calendar is not a simple change of ca_base to ca_project.<\/span><\/p>\n calendars are complicated data for example: <\/p>\n <\/p>\n or when you import the xer file make sure to change the template to insert new.<\/p>\n <\/p>\n <\/p>\n p6 by default keeps the existing calendar, but p6 checks only the calendar name when importing. \u00a0in the case where you import a file that has the same name calendar but has different working period or holidays, p6 will assume it is the same and keep the existing, and then you end up with a different schedule.<\/p>\n obviously don\u2019t uses \u201cupdate existing\u201d<\/span> as it will update existing calendar and affect the existing schedule.<\/p>\n resource dictionaries are stored in rsrc table. notice the resource rates are stored in a separate table rsrcrate.<\/p>\n <\/p>\n it is up to you can add a prefix to the 世界杯时间比赛时间
and use the default keep existing or use the import option \u201cinsert new\u201d.\u00a0(but do not use “update exiting”.)<\/span><\/p>\n <\/p>\n when you import a schedule, p6 will check only against the \u201crsrc_short_name\u201d, so if the imported schedule use the same short name \u201c r-2\u201d, but different price per unit, or even the new resource is non labor and the existing is labor p6 will keep the same.<\/p>\n the implication is quite simple: the new imported schedule will have a different total cost.<\/span><\/p>\n if you have to give only one reason to use the parser, probably it is for the udf, planners tend to use a lot of udf for temporary reason, they can be used as a calculated field in the global change, and some reason, planners use a lot of different names for the same item, for example for a bill item: billitem, pay item, id, item_number.<\/p>\n in the sample xer, there are four udf, three at the activity level (#before start, #before finish, bill quantity)<\/p>\n <\/p>\n and one at the project level (notes).<\/p>\n <\/p>\n in the xer file, udf are recorded in two tables<\/p>\n udftype : udf dictionary<\/p>\n <\/p>\n udfvalue: udf assignment<\/p>\n <\/p>\n you have many options:<\/p>\n <\/p>\n p6 export all the currencies in the database even if they are not used by the 世界杯时间比赛时间
, it make sense to delete those unused currencies.\u00a0the data is recorded into two tables:<\/p>\n currtype: currency dictionary<\/p>\n <\/p>\n rsrc : currency used by the 世界杯时间比赛时间
<\/p>\n <\/p>\n the algerian dinar can be deleted as it is unused<\/p>\n for the remaining data type (expense, project codes, issues, notebook, etc) download and have a look at the p6 database schema\u00a0documentation<\/a> , all tables, and tables interdependencies are detailed there.<\/p>\n what else can be easier than opening a file? we do it every day instinctively, with dozen of documents (word, excel, pictures …).<\/p>\n p6, as any database application, is different. when you open an xer file; in reality you are importing a huge number of data into your database. if you are a standalone user, that may be not that harmful, but if it is installation shared by other planners, that\u2019s becoming quite dangerous and inconvenient.<\/p>\n the fundamental issue here is that the import of an xer file brings in all sorts of global data associated with the project you’re importing. what can be worst and a pure waste of time than if someone unintentionally alters that shared calendar or resource price\/unit after importing an xer file<\/a> – and you’re left trying to figure out why your data has changed?<\/p>\n p6 is a power database application, and to maintain your database integrity, and avoid a huge waste of time and money, simple rules apply.<\/p>\n the xer fileparser is a handy tool, but it is manual and complicated as you need to understand how p6 record the data. if you import project occasionally, it is a perfect little utility. \u00a0but if you deal with a lot of external schedules, you may have a look at some commercial software that does this process in an automated way. i use xer manager myself.<\/p>\n download the xer file parser excel utility here:<\/p>\n\n
cleaning an xer file for import<\/h2>\n
\n
altering or removing an xer’s activity codes<\/h2>\n
\n
\nactvtype : activity codes
\nactvcode: activity code values
\ntaskactv: activity codes assigned to activities<\/p>\n
\n1) click on project<\/p>\n
\n2) note here the project_id is 3734.\u00a0click on actvtype.<\/p>\nwhat can you change?<\/h3>\n
altering an xer’s calendars<\/h2>\n
\n
\ncalendar: this is the calendar dictionary<\/p>\nwhat can you change?<\/h3>\n
\nif a global calendar is assigned to a resource and a task, and you want to change it to project, you have to create another copy of the global calendar as a resource calendar and assign it to the resource.
\nproject calendars inherit only from the global calendars, so you can not simple chane the global to project.
\nso i think it is just better to add a prefix to all the calendars to make sure they will not clash with the existing calendars in p6 database and latter manually cleaning them in p6 client.<\/p>\nwhy is this important?<\/h3>\n
altering an xer’s 世界杯时间比赛时间
<\/h2>\n
what can you change?<\/h3>\n
why it is important?<\/h3>\n
altering an xer’s user defined fields<\/h2>\n
what can you change?<\/h3>\n
\n
altering an xer’s currencies<\/h2>\n
other things you can alter<\/h2>\n
wrap up<\/h2>\n
\n
download<\/h2>\n