diff --git a/maven/src/changes/changes.xml b/maven/src/changes/changes.xml
index 1da1d1df9f..b4e566a78c 100644
--- a/maven/src/changes/changes.xml
+++ b/maven/src/changes/changes.xml
@@ -7,6 +7,7 @@
Added support for reading Primavera SureTrak databases from directories, zip files, and STX files.
+ Added support for PP files generated by Asta Powerproject from version 13.0.0.1
Added support for reading Primavera P3 databases from directories, zip files, and PRX files.
diff --git a/src/net/sf/mpxj/asta/AstaTextFileReader.java b/src/net/sf/mpxj/asta/AstaTextFileReader.java
index 501379b038..aa316f2104 100644
--- a/src/net/sf/mpxj/asta/AstaTextFileReader.java
+++ b/src/net/sf/mpxj/asta/AstaTextFileReader.java
@@ -463,6 +463,7 @@ private List getTable(String name)
FILE_VERSION_MAP.put(Integer.valueOf(11004), FileFormat11004.class); // EasyProject 5 and PowerProject 11
FILE_VERSION_MAP.put(Integer.valueOf(12002), FileFormat12002.class); // PowerProject 12.0.0.2
FILE_VERSION_MAP.put(Integer.valueOf(12005), FileFormat12005.class); // PowerProject 12
+ FILE_VERSION_MAP.put(Integer.valueOf(13001), FileFormat13001.class); // PowerProject 13
FILE_VERSION_MAP.put(Integer.valueOf(13004), FileFormat13004.class); // PowerProject 13
}
}
\ No newline at end of file
diff --git a/src/net/sf/mpxj/asta/FileFormat13001.java b/src/net/sf/mpxj/asta/FileFormat13001.java
new file mode 100644
index 0000000000..fdae5623bc
--- /dev/null
+++ b/src/net/sf/mpxj/asta/FileFormat13001.java
@@ -0,0 +1,846 @@
+/*
+ * file: FileFormat13001.java
+ * author: Jon Iles
+ * copyright: (c) Packwood Software 2016
+ * date: 23/03/2018
+ */
+
+/*
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by the
+ * Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+package net.sf.mpxj.asta;
+
+/**
+ * Asta PowerProject 13 file format.
+ */
+class FileFormat13001 extends AbstractFileFormat
+{
+ @Override public boolean epochDateFormat()
+ {
+ return true;
+ }
+
+ @Override protected String[] barColumnsOrder()
+ {
+ return BAR_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] calendarColumnsOrder()
+ {
+ return CALENDAR_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] consumableResourceColumnsOrder()
+ {
+ return CONSUMABLE_RESOURCE_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] exceptionColumnsOrder()
+ {
+ return EXCEPTIONN_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] exceptionAssignmentColumnsOrder()
+ {
+ return EXCEPTION_ASSIGNMENT_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] expandedTaskColumnsOrder()
+ {
+ return EXPANDED_TASK_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] linkColumnsOrder()
+ {
+ return LINK_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] milestoneColumnsOrder()
+ {
+ return MILESTONE_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] permanentResourceSkillColumnsOrder()
+ {
+ return PERMANENT_RESOURCE_SKILL_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] permanentResourceColumnsOrder()
+ {
+ return PERMANENT_RESOURCE_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] permanentScheduleAllocationColumnsOrder()
+ {
+ return PERMANENT_SCHEDULE_ALLOCATION_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] projectSummaryColumnsOrder()
+ {
+ return PROJECT_SUMMARY_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] taskColumnsOrder()
+ {
+ return TASK_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] timeEntryColumnsOrder()
+ {
+ return TIME_ENTRY_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] workPatternColumnsOrder()
+ {
+ return WORK_PATTERN_COLUMNS_ORDER;
+ }
+
+ @Override protected String[] wbsEntryColumnsOrder()
+ {
+ return WBS_ENTRY_COLUMNS_ORDER;
+ }
+
+ private static final String[] BAR_COLUMNS_ORDER =
+ {
+ "BARID",
+ "STARV",
+ "ENF",
+ "NATURAL_ORDER",
+ "SPARI_INTEGER",
+ "NAMH",
+ "EXPANDED_TASK",
+ "PRIORITY",
+ "UNSCHEDULABLE",
+ "MARK_FOR_HIDING",
+ "TASKS_MAY_OVERLAP",
+ "SUBPROJECT_ID",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] CALENDAR_COLUMNS_ORDER =
+ {
+ "CALENDARID",
+ "SPARL_INTEGER",
+ "NAMK",
+ "DOMINANT_WORK_PATTERN",
+ "CALENDAR",
+ "DISPLAY_THRESHOLD",
+ "NO_WORKING_TIME_COLOUR",
+ "WORKING_TIME_COLOUR",
+ "NUMBERING",
+ "SHOW_PAST_DATES",
+ "ISO8601_WEEK_NUMBERING",
+ "CREATED_AS_FOLDER",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] CONSUMABLE_RESOURCE_COLUMNS_ORDER =
+ {
+ "CONSUMABLE_RESOURCEID",
+ "COST_PER_UNITCURRENCZ",
+ "COST_PER_UNITAMOUNT",
+ "INCOME_PER_UNITCURRENCZ",
+ "INCOME_PER_UNITAMOUNT",
+ "COST_PER_USEDEFAULTSCURRENCZ",
+ "COST_PER_USEDEFAULTSAMOUNT",
+ "INCOME_P_USEDEFAULTSCURRENCZ",
+ "INCOME_P_USEDEFAULTSAMOUNT",
+ "DURATIOPDEFAULTSTYPF",
+ "DURATIOPDEFAULTSELA_MONTHS",
+ "DURATIOPDEFAULTSHOURS",
+ "DELAZDEFAULTSTYPF",
+ "DELAZDEFAULTSELA_MONTHS",
+ "DELAZDEFAULTSHOURS",
+ "DEFAULTSQUANTITY",
+ "DEFAULTSACTIVITY_CONV_FACTOR",
+ "DEFAULTSCONSUMPTION_RATE",
+ "DEFAULTSCONSUMPTION_RAT_UNIT",
+ "DEFAULTSDURATION_TIMG_UNIT",
+ "DEFAULTSDELAY_TIMF_UNIT",
+ "DEFAULTSEXPENDITURE_C_CENTRE",
+ "DEFAULTSINCOME_COST_CENTRE",
+ "DEFAULTSTYPM",
+ "UNKNOWN",
+ "DEFAULTSCALCULATEE_PARAMETER",
+ "DEFAULTSBALANCINH_PARAMETER",
+ "DEFAULTSCONSUMPTION_RAT_TYPE",
+ "DEFAULTSUSE_TASL_CALENDAR",
+ "UNKNOWN",
+ "DEFAULTSALLOD_PROPORTIONALLY",
+ "DEFAULTSCONSUMED",
+ "DEFAULTSACCOUNTEDA_ELSEWHERE",
+ "DEFAULTSMAY_BE_SHORTERA_TASK",
+ "UNKNOWN",
+ "AVAILABLE_FROM",
+ "AVAILABLE_TO",
+ "MEASUREMENT",
+ "CONSUMABLE_RESOURCE",
+ "ARR_STOUT_STRES_APARROW_TYPE",
+ "ARR_STOUT_STRES_APLENGTH",
+ "ARR_STOUT_STRES_APEDGE",
+ "ARR_STOUT_STRES_APBORDET_COL",
+ "ARR_STOUT_STRES_APINSIDG_COL",
+ "ARR_STOUT_STRES_APPLACEMENW",
+ "BLI_STOUT_STRES_APBLIP_TYPE",
+ "BLI_STOUT_STRES_APSCALEY",
+ "BLI_STOUT_STRES_APSCALEZ",
+ "BLI_STOUT_STRES_APGAP",
+ "BLI_STOUT_STRES_APBORDES_COL",
+ "BLI_STOUT_STRES_APINSIDF_COL",
+ "BLI_STOUT_STRES_APPLACEMENV",
+ "LIN_STOUT_STRES_APSCALEX",
+ "LIN_STOUT_STRES_APWIDTH",
+ "LIN_STOUT_STRES_APBORDER_COL",
+ "LIN_STOUT_STRES_APINSIDE_COL",
+ "LIN_STOUT_STRES_APLINE_TYPE",
+ "RES_APFOREGROUND_FILL_COLOUR",
+ "RES_APBACKGROUND_FILL_COLOUR",
+ "RES_APPATTERN",
+ "AVAILABILITY",
+ "TOTAL_AVAILABILITY",
+ "SPAWE_INTEGER",
+ "NASE",
+ "SHORT_NAME_SINGLE",
+ "SHORT_NAME_PLURAL",
+ "CALENDAV",
+ "USE_PARENV_CALENDAR",
+ "USE_LINE_STYLE_P_ALLOCATIONS",
+ "NO_NEW_ASSIGNMENTS",
+ "CREATED_AS_FOLDER",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] EXCEPTIONN_COLUMNS_ORDER =
+ {
+ "EXCEPTIONNID",
+ "ARR_STOUT_STAPPANDARROW_TYPE",
+ "ARR_STOUT_STAPPANDLENGTH",
+ "ARR_STOUT_STAPPANDEDGE",
+ "ARR_STOUT_STAPPANDBORDET_COL",
+ "ARR_STOUT_STAPPANDINSIDG_COL",
+ "ARR_STOUT_STAPPANDPLACEMENW",
+ "BLI_STOUT_STAPPANDBLIP_TYPE",
+ "BLI_STOUT_STAPPANDSCALEY",
+ "BLI_STOUT_STAPPANDSCALEZ",
+ "BLI_STOUT_STAPPANDGAP",
+ "BLI_STOUT_STAPPANDBORDES_COL",
+ "BLI_STOUT_STAPPANDINSIDF_COL",
+ "BLI_STOUT_STAPPANDPLACEMENV",
+ "LIN_STOUT_STAPPANDSCALEX",
+ "LIN_STOUT_STAPPANDWIDTH",
+ "LIN_STOUT_STAPPANDBORDER_COL",
+ "LIN_STOUT_STAPPANDINSIDE_COL",
+ "LIN_STOUT_STAPPANDLINE_TYPE",
+ "APPANDFOREGROUND_FILL_COLOUR",
+ "APPANDBACKGROUND_FILL_COLOUR",
+ "APPANDPATTERN",
+ "UNIQUE_BIT_FIELD",
+ "NAML",
+ "TYPG",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY"
+ };
+
+ private static final String[] EXCEPTION_ASSIGNMENT_COLUMNS_ORDER =
+ {
+ "EXCEPTION_ASSIGNMENTID",
+ "STARU_DATE",
+ "ENE_DATE",
+ "EXCEPTIOO",
+ };
+
+ private static final String[] EXPANDED_TASK_COLUMNS_ORDER =
+ {
+ "EXPANDED_TASKID",
+ "VAR_DATE1COMM_ATTSFIXED_DATE",
+ "VAR_DATE1COMM_ATTSBASE_DATE",
+ "VAR_DATE2COMM_ATTSFIXED_DATE",
+ "VAR_DATE2COMM_ATTSBASE_DATE",
+ "VAR_DATE3COMM_ATTSFIXED_DATE",
+ "VAR_DATE3COMM_ATTSBASE_DATE",
+ "COMM_ATTSSCALE1",
+ "COMM_ATTSSCALE2",
+ "COMM_ATTSSCALE3",
+ "COMM_ATTSNSCALES",
+ "PERCENTAGE_LIKELIHOOD",
+ "PROJ_RISK",
+ "PROJ_PRIORITY",
+ "SUM_WEIGHTS",
+ "ISSUE_DATE",
+ "REVISION_DATE",
+ "PROJECT_BASELINE_ID",
+ "NUMBER_OF_ACTIVITIES",
+ "DRAWN_BY",
+ "REVISION_COMMENT",
+ "CHART_MANAGER",
+ "REVISION_NUMBER",
+ "PROGRAMME_NUMBER",
+ "COMMENU",
+ "PROJ_TYPE",
+ "PROJ_STATUS",
+ "PROGRESU_PERIOD",
+ "MANAGER_RESOURCE",
+ "UNKNOWN",
+ "TYPH",
+ "TAG_FIELD",
+ "IS_PROJECT",
+ "CONTAINS_PROJECTS",
+ "CUMULATIVH_COSTCURRENCZ",
+ "CUMULATIVH_COSTAMOUNT",
+ "CUMULATIVH_INCOMECURRENCZ",
+ "CUMULATIVH_INCOMEAMOUNT",
+ "CUMULATIVE_ACTU_COSTCURRENCZ",
+ "ONLY_PM_MAY_APPROVE",
+ "CUMULATIV_DURATIONTYPF",
+ "CUMULATIVE_ACTU_COSTAMOUNT",
+ "CUMULATIV_DURATIONHOURS",
+ "ACTUAL_CU_DURATIONTYPF",
+ "CUMULATIV_DURATIONELA_MONTHS",
+ "ACTUAL_CU_DURATIONELA_MONTHS",
+ "ACTUAL_CU_DURATIONHOURS",
+ "ACTUAL_CUMULATIVE_QUANTITY",
+ "CUMULATIVE_QUANTIT_REMAINING",
+ "CUMULATIVE_EFFORT_P_COMPLETE",
+ "CUMULATIVE_WORK_PER_COMPLETE",
+ "CUMULATIVE_QUANTITY_COMPLETE",
+ "FIRST_PREFERRED_START",
+ "CALCULATED_PROGRESS_DATE",
+ "EARLIEST_PROGRESS_DATE",
+ "LATEST_PROGRESS_DATE",
+ "EARLY_END_DATE_RT",
+ "LATE_END_DATE_RT",
+ "FREE_END_DATE_RT",
+ "CUMULATIVE_DEMANE_EFFORT",
+ "CUMULATIVE_SCHEDULEE_EFFORT",
+ "ACTUAL_CUMULATIVF_EFFORT",
+ "CUMULATIVE_EFFORU_REMAINING",
+ "ACTUAL_CUMULATIVE_WORK",
+ "CUMULATIVE_WORK_REMAINING",
+ "MILESTONES_DONE",
+ "MILESTONES_REMAINING",
+ "CUMULATIVE_EFFORT_TIME_UNIT",
+ //"MILESTONE_PERCENT_COMPLETE",
+ "CUMULATIVE_LATEST_PRO_PERIOD",
+ "ACTUAL_DURATIONTYPF",
+ "ACTUAL_DURATIONELA_MONTHS",
+ "ACTUAL_DURATIONHOURS",
+ "EARLY_START_DATE",
+ "LATE_START_DATE",
+ "FREE_START_DATE",
+ "START_CONSTRAINT_DATE",
+ "END_CONSTRAINT_DATE",
+ "EFFORT_BUDGET",
+ "NATURAO_ORDER",
+ "LOGICAL_PRECEDENCE",
+ "SPAVE_INTEGER",
+ "SWIM_LANE",
+ "USER_PERCENT_COMPLETE",
+ "OVERALL_PERCENV_COMPLETE",
+ "OVERALL_PERCENT_COMPL_WEIGHT",
+ "NARE",
+ "WBN_CODE",
+ "NOTET",
+ "UNIQUE_TASK_ID",
+ "CALENDAU",
+ "WBT",
+ "EFFORT_TIMI_UNIT",
+ "WORL_UNIT",
+ "LATEST_ALLOC_PROGRESS_PERIOD",
+ "IFC_PRODUCT_SET",
+ "WORN",
+ "BAR",
+ "CONSTRAINU",
+ "PRIORITB",
+ "IFC_TASK_TYPE",
+ "CRITICAM",
+ "USE_PARENU_CALENDAR",
+ "BUFFER_TASK",
+ "MARK_FOS_HIDING",
+ "OWNED_BY_TIMESHEEV_X",
+ "START_ON_NEX_DAY",
+ "LONGEST_PATH",
+ "DURATIOTTYPF",
+ "DURATIOTELA_MONTHS",
+ "DURATIOTHOURS",
+ "STARZ",
+ "ENJ",
+ "DURATION_TIMJ_UNIT",
+ "UNSCHEDULABLG",
+ "SUBPROJECT_ID",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] LINK_COLUMNS_ORDER =
+ {
+ "LINKID",
+ "START_LAG_TIMETYPF",
+ "START_LAG_TIMEELA_MONTHS",
+ "START_LAG_TIMEHOURS",
+ "END_LAG_TIMETYPF",
+ "END_LAG_TIMEELA_MONTHS",
+ "END_LAG_TIMEHOURS",
+ "MAXIMUM_LAGTYPF",
+ "MAXIMUM_LAGELA_MONTHS",
+ "MAXIMUM_LAGHOURS",
+ "STARV_DATE",
+ "ENF_DATE",
+ "CURVATURE_PERCENTAGE",
+ "START_LAG_PERCENT_FLOAT",
+ "END_LAG_PERCENT_FLOAT",
+ "COMMENTS",
+ "LINK_CATEGORY",
+ "START_LAG_TIME_UNIT",
+ "END_LAG_TIME_UNIT",
+ "MAXIMUM_LAG_TIME_UNIT",
+ "START_TASK",
+ "END_TASK",
+ "TYPI",
+ "START_LAG_TYPE",
+ "END_LAG_TYPE",
+ "MAINTAIN_TASK_OFFSETS",
+ "UNSCHEDULABLF",
+ "CRITICAL",
+ "ON_LOOP",
+ "MAXIMUM_LAG_MODE",
+ "ANNOTATE_LEAD_LAG",
+ "START_REPOSITION_ON_TAS_MOVE",
+ "END_REPOSITION_ON_TASK_MOVE",
+ "DRAW_CURVED_IF_VERTICAL",
+ "AUTOMATIC_CURVED_LI_SETTINGS",
+ "DRAW_CURVED_LINK_TO_LEFT",
+ "LOCAL_LINK",
+ "DRIVING",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] MILESTONE_COLUMNS_ORDER =
+ {
+ "MILESTONEID",
+ "GIVEN_DATE_TIME",
+ "PROGREST_PERIOD",
+ "SYMBOL_APPEARANCE",
+ "MILESTONE_TYPE",
+ "PLACEMENU",
+ "COMPLETED",
+ "INTERRUPTIBLE_X",
+ "ACTUAL_DURATIONTYPF",
+ "ACTUAL_DURATIONELA_MONTHS",
+ "ACTUAL_DURATIONHOURS",
+ "EARLY_START_DATE",
+ "LATE_START_DATE",
+ "FREE_START_DATE",
+ "START_CONSTRAINT_DATE",
+ "END_CONSTRAINT_DATE",
+ "EFFORT_BUDGET",
+ "NATURAO_ORDER",
+ "LOGICAL_PRECEDENCE",
+ "SPAVE_INTEGER",
+ "SWIM_LANE",
+ "USER_PERCENT_COMPLETE",
+ "OVERALL_PERCENV_COMPLETE",
+ "OVERALL_PERCENT_COMPL_WEIGHT",
+ "NARE",
+ "WBN_CODE",
+ "NOTET",
+ "UNIQUE_TASK_ID",
+ "CALENDAU",
+ "WBT",
+ "EFFORT_TIMI_UNIT",
+ "WORL_UNIT",
+ "LATEST_ALLOC_PROGRESS_PERIOD",
+ "IFC_PRODUCT_SET",
+ "WORN",
+ "BAR",
+ "CONSTRAINU",
+ "PRIORITB",
+ "IFC_TASK_TYPE",
+ "CRITICAM",
+ "USE_PARENU_CALENDAR",
+ "BUFFER_TASK",
+ "MARK_FOS_HIDING",
+ "OWNED_BY_TIMESHEEV_X",
+ "START_ON_NEX_DAY",
+ "LONGEST_PATH",
+ "DURATIOTTYPF",
+ "DURATIOTELA_MONTHS",
+ "DURATIOTHOURS",
+ "STARZ",
+ "ENJ",
+ "DURATION_TIMJ_UNIT",
+ "UNSCHEDULABLG",
+ "SUBPROJECT_ID",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] PERMANENT_RESOURCE_SKILL_COLUMNS_ORDER =
+ {
+ "PERM_RESOURCE_SKILLID",
+ "ARR_STOUT_STSKI_APARROW_TYPE",
+ "ARR_STOUT_STSKI_APLENGTH",
+ "ARR_STOUT_STSKI_APEDGE",
+ "ARR_STOUT_STSKI_APBORDET_COL",
+ "ARR_STOUT_STSKI_APINSIDG_COL",
+ "ARR_STOUT_STSKI_APPLACEMENW",
+ "BLI_STOUT_STSKI_APBLIP_TYPE",
+ "BLI_STOUT_STSKI_APSCALEY",
+ "BLI_STOUT_STSKI_APSCALEZ",
+ "BLI_STOUT_STSKI_APGAP",
+ "BLI_STOUT_STSKI_APBORDES_COL",
+ "BLI_STOUT_STSKI_APINSIDF_COL",
+ "BLI_STOUT_STSKI_APPLACEMENV",
+ "LIN_STOUT_STSKI_APSCALEX",
+ "LIN_STOUT_STSKI_APWIDTH",
+ "LIN_STOUT_STSKI_APBORDER_COL",
+ "LIN_STOUT_STSKI_APINSIDE_COL",
+ "LIN_STOUT_STSKI_APLINE_TYPE",
+ "SKI_APFOREGROUND_FILL_COLOUR",
+ "SKI_APBACKGROUND_FILL_COLOUR",
+ "SKI_APPATTERN",
+ "DURATIOODEFAULTTTYPF",
+ "DURATIOODEFAULTTELA_MONTHS",
+ "DURATIOODEFAULTTHOURS",
+ "DELAYDEFAULTTTYPF",
+ "DELAYDEFAULTTELA_MONTHS",
+ "DELAYDEFAULTTHOURS",
+ "DEFAULTTALLOCATION",
+ "DEFAULTTWORK_FROM_ACT_FACTOR",
+ "DEFAULTTEFFORT",
+ "DEFAULTTWORL",
+ "DEFAULTTWORK_RATE",
+ "DEFAULTTWORK_UNIT",
+ "DEFAULTTWORK_RATE_TIME_UNIT",
+ "DEFAULTTEFFORT_TIMG_UNIT",
+ "DEFAULTTDURATION_TIMF_UNIT",
+ "DEFAULTTDELAY_TIME_UNIT",
+ "UNKNOWN",
+ "DEFAULTTTYPL",
+ "DEFAULTTCALCULATED_PARAMETER",
+ "DEFAULTTBALANCING_PARAMETER",
+ "DEFAULTTWORK_RATE_TYPE",
+ "DEFAULTTUSE_TASK_CALENDAR",
+ "UNKNOWN",
+ "DEFAULTTALLOC_PROPORTIONALLY",
+ "DEFAULTTCAN_BE_SPLIT",
+ "DEFAULTTCAN_BE_DELAYED",
+ "DEFAULTTCAN_BE_STRETCHED",
+ "DEFAULTTACCOUNTED__ELSEWHERE",
+ "DEFAULTTCONTRIBUTES_T_EFFORT",
+ "DEFAULTTMAY_BE_SHORTER__TASK",
+ "DEFAULTTSHARED_EFFORT",
+ "UNKNOWN",
+ "UNKNOWN",
+ "UNKNOWN",
+ "ABILITY",
+ "EFFECTIVENESS",
+ "AVAILABILITY",
+ "AVAILABLF_FROM",
+ "AVAILABLF_TO",
+ "SPARO_INTEGER",
+ "EFFORT_TIMF_UNIT",
+ "ROLE",
+ "PLAYER",
+ "CREATED_AS_FOLDER",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] PERMANENT_RESOURCE_COLUMNS_ORDER =
+ {
+ "PERMANENT_RESOURCEID",
+ "EMAIL_ADDRESS",
+ "EFFORT_TIME_UNIT",
+ "PURE_TREE",
+ "EXCLUDED_FROM_TIMESHEET",
+ "ARR_STOUT_STRES_APARROW_TYPE",
+ "ARR_STOUT_STRES_APLENGTH",
+ "ARR_STOUT_STRES_APEDGE",
+ "ARR_STOUT_STRES_APBORDET_COL",
+ "ARR_STOUT_STRES_APINSIDG_COL",
+ "ARR_STOUT_STRES_APPLACEMENW",
+ "BLI_STOUT_STRES_APBLIP_TYPE",
+ "BLI_STOUT_STRES_APSCALEY",
+ "BLI_STOUT_STRES_APSCALEZ",
+ "BLI_STOUT_STRES_APGAP",
+ "BLI_STOUT_STRES_APBORDES_COL",
+ "BLI_STOUT_STRES_APINSIDF_COL",
+ "BLI_STOUT_STRES_APPLACEMENV",
+ "LIN_STOUT_STRES_APSCALEX",
+ "LIN_STOUT_STRES_APWIDTH",
+ "LIN_STOUT_STRES_APBORDER_COL",
+ "LIN_STOUT_STRES_APINSIDE_COL",
+ "LIN_STOUT_STRES_APLINE_TYPE",
+ "RES_APFOREGROUND_FILL_COLOUR",
+ "RES_APBACKGROUND_FILL_COLOUR",
+ "RES_APPATTERN",
+ "AVAILABILITY",
+ "TOTAL_AVAILABILITY",
+ "SPAWE_INTEGER",
+ "NASE",
+ "SHORT_NAME_SINGLE",
+ "SHORT_NAME_PLURAL",
+ "CALENDAV",
+ "USE_PARENV_CALENDAR",
+ "USE_LINE_STYLE_P_ALLOCATIONS",
+ "NO_NEW_ASSIGNMENTS",
+ "CREATED_AS_FOLDER",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] PERMANENT_SCHEDULE_ALLOCATION_COLUMNS_ORDER =
+ {
+ "PERMANENT_SCHEDUL_ALLOCATIONID",
+ "REQUIREE_BY",
+ "OWNED_BY_TIMESHEET_X",
+ "EFFORW",
+ "GIVEN_EFFORT",
+ "WORK_FROM_TASK_FACTOR",
+ "ALLOCATIOO",
+ "GIVEN_ALLOCATION",
+ "ALLOCATIOP_OF",
+ "WORM_UNIT",
+ "WORK_RATE_TIMF_UNIT",
+ "EFFORT_TIMJ_UNIT",
+ "WORO",
+ "GIVEN_WORK",
+ "WORL_RATE",
+ "GIVEN_WORK_RATE",
+ "TYPV",
+ "CALCULATEG_PARAMETER",
+ "BALANCINJ_PARAMETER",
+ "SHAREE_EFFORT",
+ "CONTRIBUTES_TO_ACTIVI_EFFORT",
+ "TIMESHEET_ROUND_UP_IF_UNDER",
+ "TIMESHEET_CAP_IF_OVER",
+ "DELAATYPF",
+ "DELAAELA_MONTHS",
+ "DELAAHOURS",
+ "GIVEO_DURATIONTYPF",
+ "GIVEO_DURATIONELA_MONTHS",
+ "GIVEO_DURATIONHOURS",
+ "DELAY_TIMI_UNIT",
+ "RATE_TYPE",
+ "USE_TASM_CALENDAR",
+ "IGNORF",
+ "ELAPSEE",
+ "MAY_BE_SHORTER_THAN_TASK",
+ "BUDGETED_COST_CURRENCY",
+ "BUDGETED_COST_AMOUNT",
+ "RESUMF",
+ "SPAXE_INTEGER",
+ "FLAGS",
+ "PERCENT_COMPLETE",
+ "USER_PERCENU_COMPLETE",
+ "ALLOCATION_PROFILE",
+ "ALLOCATIOR_GROUP",
+ "RESOURCE_CURVE",
+ "ALLOCATEE_TO",
+ "PRIORITC",
+ "NONLINEAR_TYPE",
+ "ACCOUNTED_FOR_ELSEWHERE",
+ "DURATIOTTYPF",
+ "DURATIOTELA_MONTHS",
+ "DURATIOTHOURS",
+ "STARZ",
+ "ENJ",
+ "DURATION_TIMJ_UNIT",
+ "UNSCHEDULABLG",
+ "SUBPROJECT_ID",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] PROJECT_SUMMARY_COLUMNS_ORDER =
+ {
+ "PROJECT_SUMMARYID",
+ "DURATIONTYPF",
+ "DURATIONELA_MONTHS",
+ "DURATIONHOURS",
+ "STARU",
+ "ENE",
+ "FISCAL_YEAR_START",
+ "LAST_ID_USED_IN_BASELINE",
+ "DS_ID_BOOKED_FROM",
+ "WBN_CONSTRAINT",
+ "WBN_RANGE_FROM",
+ "WBN_RANGE_TO",
+ "WBN_INCREMENT",
+ "WBN_MINIMUM_WIDTH",
+ "SPARF_INTEGER",
+ "UTID_CONSTRAINT",
+ "UTID_START_VALUE",
+ "UTID_INCREMENT",
+ "UTID_SUB_INCREMENT",
+ "UTID_MINIMUM_WIDTH",
+ "INITIAL_VIEW",
+ "POINT_RELEASE",
+ "TIMESHEET_PROJECT_ID",
+ "LAST_ID_USED_IN_ARCHIVES",
+ "PROJECT_VERSION",
+ "BOOKOUT_SET_UNIQUE_ID",
+ "NUMBER_BOOKED_OUT_SETS",
+ "SCALE_SPR_FONTS_CONSISTENTLY",
+ "SHORT_NAME",
+ "LONG_NAME",
+ "LOCAL_FILE_BOOKED_FROM",
+ "WBN_START_VALUE",
+ "WBN_PATHNAME_SEPARATOR",
+ "WBN_TASK_SEPARATOR",
+ "WBN_PREFIX",
+ "LAST_WBN_USED",
+ "PROJECT_FOR",
+ "PROJECT_BY",
+ "PATH_SEPARATOR",
+ "CHART_PATH_SEPARATOR",
+ "UTID_PREFIX",
+ "TIMESHEET_CONNECTION",
+ "WBS_PATH_SEPARATOR",
+ "PROJECT_GUID",
+ "DURATION_TIME_UNIT",
+ "SECURITY_CODELIBRARY",
+ "BOOKOUT_COUNTER",
+ "PROGRESS_METHOD",
+ "FORMULA_DATE_FORMAT",
+ "WBN_ENABLED",
+ "OLD_START_VALUE",
+ "IGNORE_SATISFIED_COSTS",
+ "UTID_ENABLE_SUB_INCREMENTS",
+ "EXCLUSIVE_CUSTOM_TIME_UNITS",
+ "IS_AN_ARCHIVE",
+ "SORT_BY_SORT_ORDER",
+ "USE_PROJECT_BASELINES_FOR_JP",
+ "USE_ROLLED_UP_OPC_WEIGHTINGS",
+ "DISPLAY_WBS_BY_CODE",
+ "INHERIT_FROM_NEIGHBOUR",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] TASK_COLUMNS_ORDER =
+ {
+ "TASKID",
+ "GIVEN_DURATIONTYPF",
+ "GIVEN_DURATIONELA_MONTHS",
+ "GIVEN_DURATIONHOURS",
+ "RESUME",
+ "GIVEN_START",
+ "LATEST_PROGRESS_PERIOD",
+ "TASK_WORK_RATE_TIME_UNIT",
+ "TASK_WORK_RATE",
+ "PLACEMENT",
+ "BEEN_SPLIT",
+ "INTERRUPTIBLE",
+ "HOLDING_PIN",
+ "ACTUAL_DURATIONTYPF",
+ "ACTUAL_DURATIONELA_MONTHS",
+ "ACTUAL_DURATIONHOURS",
+ "EARLY_START_DATE",
+ "LATE_START_DATE",
+ "FREE_START_DATE",
+ "START_CONSTRAINT_DATE",
+ "END_CONSTRAINT_DATE",
+ "EFFORT_BUDGET",
+ "NATURAO_ORDER",
+ "LOGICAL_PRECEDENCE",
+ "SPAVE_INTEGER",
+ "SWIM_LANE",
+ "USER_PERCENT_COMPLETE",
+ "OVERALL_PERCENV_COMPLETE",
+ "OVERALL_PERCENT_COMPL_WEIGHT",
+ "NARE",
+ "WBN_CODE",
+ "NOTET",
+ "UNIQUE_TASK_ID",
+ "CALENDAU",
+ "WBT",
+ "EFFORT_TIMI_UNIT",
+ "WORL_UNIT",
+ "LATEST_ALLOC_PROGRESS_PERIOD",
+ "IFC_PRODUCT_SET",
+ "WORN",
+ "BAR",
+ "CONSTRAINU",
+ "PRIORITB",
+ "IFC_TASK_TYPE",
+ "CRITICAM",
+ "USE_PARENU_CALENDAR",
+ "BUFFER_TASK",
+ "MARK_FOS_HIDING",
+ "OWNED_BY_TIMESHEEV_X",
+ "START_ON_NEX_DAY",
+ "LONGEST_PATH",
+ "DURATIOTTYPF",
+ "DURATIOTELA_MONTHS",
+ "DURATIOTHOURS",
+ "STARZ",
+ "ENJ",
+ "DURATION_TIMJ_UNIT",
+ "UNSCHEDULABLG",
+ "SUBPROJECT_ID",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] TIME_ENTRY_COLUMNS_ORDER =
+ {
+ "TIME_ENTRYID",
+ "EXCEPTIOP",
+ "START_TIME",
+ "END_TIME",
+ };
+
+ private static final String[] WORK_PATTERN_COLUMNS_ORDER =
+ {
+ "WORK_PATTERNID",
+ "DEFAULT_OFFSET",
+ "NAMN",
+ "DEFAULT_ALIGNMENT_DATE",
+ "CREATED_AS_FOLDER",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY",
+ };
+
+ private static final String[] WBS_ENTRY_COLUMNS_ORDER =
+ {
+ "WBS_ENTRYID",
+ "NATURAP_ORDER",
+ "WBT_CODE",
+ "WBT_NAME",
+ "WBS_ENTRY",
+ "CREATED_AS_FOLDER",
+ "ALT_ID",
+ "LAST_EDITED_DATE",
+ "LAST_EDITED_BY"
+ };
+}