What are the Resource Hire and Termination (min & max) values you can use in Clarity?
search cancel

What are the Resource Hire and Termination (min & max) values you can use in Clarity?

book

Article ID: 232711

calendar_today

Updated On:

Products

Clarity PPM SaaS

Issue/Introduction

Trying to update Resource Hire and Termination dates for Expense Type of resources in CA PPM and you need to know what is the min and max Hire Date and Termination dates you can use for the updates. The system does not allow hireDate less than="1901-01-01" and terminationDate greater than ="2079-06-02".

Environment

Release : 15.9.2.1

Component : CLARITY PROJECT MANAGEMENT

Resolution

Engineering reviewed the behavior in DE63851 and concluded this behavior is by design, and in future they may take this as a feature to standardize the values across the Clarity. For the 2079 date limitation the feedback provided from Engineering, to calculate Time varying data we rely on our own algorithms which internally has limitation on the date ranging up to 2079. This is the main reason for 2079 date and this has nothing to do with Java dates.

Here are expected values when updating Hire/Termination dates (min/max values) of the Resource:

- Here are the expected values when updating via the UI:
Hire Date ≥ 1901-01-01
Term Date ≤ 9999-12-31

- Here are the expected values when updating via XOG:
Hire Date ≥ 1900-01-02
Term Date ≤ 2079-06-02

Additional Information

DE63851- Data Discrepancy when updating the Hire/Termination values of the Resource via XOG vs. updating them manually via the UI

There appears to be discrepancy with updating Hire/Termination dates (min/max values) of the Resource via XOG when updating via XOG vs. user manually updating in the UI. When we update via XOG we get a bad value error and the XOG IN fails. 

Here are the expected values when updating via the UI:
Hire Date ≥ 1901-01-01
Term Date ≤ 9999-12-31

Values that are expected when updating via XOG:
Hire Date ≥ 1900-01-02
Term Date ≤ 2079-06-02

STEPS TO REPRODUCE: 
1. Create a XOG import file with the following contents
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="../xsd/nikuxog_resource.xsd">
 <Header action="write"
 externalSource="NIKU"
 objectType="resource"
 version="16.0.0.890"/>
 <Resources>
 <Resource hireDate="1900-01-01"
 terminationDate="2079-06-03"
 resourceId="admin"
 username="admin"
 externalId=" "
 resourceType="EXPENSE">
 <PersonalInformation displayName="Administrator, CA PPM"
 emailAddress="[email protected]"
 firstName="CA PPM"
 lastName="Administrator"/>
 <General addedBy="admin"
 addedDate="2022-01-20"/>
 </Resource>
 </Resources>
</NikuDataBus>

2. XOG in the file
3. Refer to the XOG output file
4. Run the following query against the database (postgres version):  select * from srm_resources where unique_name like 'admin'; 

Expected Results: XOG will honor same values for date_of_hire/date_of_termination on the resource/role object in the same fashion as values are accepted via manual user update in the UI.
Actual Results:  XOG permits the date_of_hire/date_of_termination values of the Resource via XOG and we get a bad value error and the XOG IN fails.

 <ErrorInformation>
    <Severity>FATAL</Severity>
    <Description>[Error] :1:1: attribute "hireDate" has a bad value
 Invalid attribute in input document. Please remove all instances of attribute from document elements and try again.
 [Element : Resource, Attribute : hireDate ].
</Description>
    <Exception type="java.lang.Exception">Invalid xml data</Exception>
  </ErrorInformation>
</XOGOutput>

Observations:
- Hire Date 1900-01-01 works in UI, however with XOG XML, the date 1900-01-01 will output: [Error] :1:1: attribute "hireDate" has a bad value Invalid attribute in input document. Please remove all instances of attribute from document elements and try again. [Element : Resource, Attribute : hireDate ] and the XOG IN fails.
- Term Date 2079-06-03 works in UI, however with XOG XML, the date 2079-06-03 will output bad value error as above and XOG IN fails.