0

我想使用 Kronos Workforce Central v8.1 XML API 更新组织地图上的工作。

根据Workforce Timekeeping v8.1 Developer's Toolkit Guide,发送一个请求<OrgLocationsImport>并且Action="Update"应该更新一个已经存在的工作。但是,虽然我可以毫无问题地导入新作业,但如果我尝试更新现有作业,请求将失败。

错误信息:

WFP-00335 从 2010 年 6 月 2 日到 2999 年 12 月 31 日,名称为 TEST 和路径“ROOT/BU/DIV/SL/DEPT/TEST”的位置/作业已经存在。

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>更新请求会失败?

4

1 回答 1

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 文档, an<OrgLocation>应始终包含 aLocationPathName或 a LocationNum。排除它们应该被视为未定义的行为。

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

于 2018-05-30T16:06:14.493 回答