<orglocationsimport>失败,&#34;名称和路径已存在的位置/作业&#34;

时间:2018-05-30 14:47:23

标签: xml kronos-workforce-central

我想使用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
            &quot;ROOT/BU/DIV/SL/DEPT/TEST&quot; 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>更新请求失败?

1 个答案:

答案 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>应始终包含LocationPathNameLocationNum。排除它们应被视为未定义的行为。

有趣的是,当这些属性从WFC v6.3和v8.1中的<OrgLocationsImport>请求中排除时,该请求似乎充当了临时AddOnly操作。但是,在Workforce Central的未来版本中,此行为可能会发生变化。