我想使用Kronos Workforce Central v8.1 XML API更新组织地图上的作业。
根据Workforce Timekeeping v8.1 Developer's Toolkit Guide,发送<OrgLocationsImport>
和Action="Update"
的请求应该更新已存在的作业。但是,虽然我可以毫无问题地导入新作业,但如果我尝试更新现有作业,请求将失败。
错误讯息:
WFP-00335名称为TEST且路径为&#34; ROOT / BU / DIV / SL / DEPT / TEST&#34;的位置/作业已于2010年6月2日至1999年12月31日期间存在。
XML请求:
<Kronos_WFC version="1.0">
<Request Action="Update">
<OrgLocationsImport ChangeDate="05/30/2018">
<OrgLocations>
<OrgLocation
ParentLocationPathName="ROOT/BU/DIV/SL/DEPT"
LocationName="TEST"
LocationType="Job"
Description="Test Job">
</OrgLocation>
</OrgLocations>
</OrgLocationsImport>
</Request>
</Kronos_WFC>
XML响应:
<Kronos_WFC TimeStamp="5/30/2018 10:18AM GMT-04:00" version="1.0" WFCVersion="8.1.1.569">
<Response Status="Failure" Action="Update">
<Error Message="WFP-00335 A location/job with the name TEST and path
"ROOT/BU/DIV/SL/DEPT/TEST" already exists from 6/02/2010
to 12/31/2999." ErrorCode="106" AtIndex="0">
<ErrorData>"PATH=ROOT/BU/DIV/SL/DEPT/TEST""EFFECTIVE_DATE=6/02/2010"
"EXPIRATION_DATE=12/31/2999""NAME=TEST"
</ErrorData>
</Error>
</Response>
</Kronos_WFC>
如果位置已存在,为什么我的<OrgLocationsImport>
更新请求失败?
答案 0 :(得分:0)
更新LocationPathName
时需要指定<OrgLocation>
。
<Kronos_WFC version="1.0">
<Request Action="Update">
<OrgLocationsImport ChangeDate="05/30/2018">
<OrgLocations>
<OrgLocation
ParentLocationPathName="ROOT/BU/DIV/SL/DEPT"
LocationPathName="ROOT/BU/DIV/SL/DEPT/TEST"
LocationName="TEST"
LocationType="Job"
Description="Test Job">
</OrgLocation>
</OrgLocations>
</OrgLocationsImport>
</Request>
</Kronos_WFC>
根据WFC文档,<OrgLocation>
应始终包含LocationPathName
或LocationNum
。排除它们应被视为未定义的行为。
有趣的是,当这些属性从WFC v6.3和v8.1中的<OrgLocationsImport>
请求中排除时,该请求似乎充当了临时AddOnly
操作。但是,在Workforce Central的未来版本中,此行为可能会发生变化。