簡介

使用 dataLoadDataSets REST API 自動化您的 HCM 資料載入器 (HDL) 和 HCM 試算表資料載入器 (HSDL) 整合。

目標

在本教學中,您將:

  • 瞭解如何將檔案上傳至 Oracle WebCenter Content 伺服器。
  • 啟動「HCM 資料載入器」與「HCM 試算表資料載入器」。
  • 監視資料集與業務物件狀態、擷取訊息與處理資訊。

必要條件

若要完成本教學課程的步驟,您需要:

  1. 存取 HDL REST API。
  2. 依照設定 HCM 資料載入器 (HDL) 存取與瞭解 HDL 安全性選項教學課程中的 REST 存取步驟進行,確保您將存取權授予使用 REST 服務建立 HCM 資料載入器資料集權限,以完成任務 2。

  3. 若要完成透過 REST 起始 HSDL 的步驟,您必須將角色指派給 ORA_PER_JOB HSDL 範本,或您要起始 HSDL 的範本。
  4. 請依照授予執行 HCM 試算表資料載入器教學課程中的指派角色的資料集存取步驟進行。

  5. 可以使用 Base 64 編碼來編碼檔案。
  6. 提交 REST API 呼叫的 Postman。
  7. 本教學課程中的範例使用 Postman 變數來參照環境和其他變更的值。

    變數 描述
    {{env}} 環境路徑。
    {{user}} 使用者名稱。
    {{RequestId}} 用來唯一識別資料集的值。
    {{DataSetBusObjId}} 用來唯一識別資料集內業務物件記錄的值。
    {{ProcessId}} 用來唯一識別針對資料集提交之處理的值。

    附註:

    您需要在 REST 呼叫的內文中變更的其他值會以藍色顯示。例如, <file_name>
  8. 如果您想要使用 REST 產生失敗的行檔案,您也必須啟用 Oracle WebCenter 內容對錯誤檔案的存取。
    • 從設定與維護,尋找 HCM 資料載入器功能區域,然後按一下設定 HCM 資料載入器
    • 搜尋啟用 Oracle WebCenter Content 存取錯誤檔案參數,並將覆寫設為「否」以外的任何項目。
    • 搜尋啟用 Oracle WebCenter
    • 儲存並關閉。


工作 1:將您的資料檔上傳至 Oracle WebCenter Content Server

有多種方法可將檔案上傳至 Oracle WebCenter Content 伺服器,此工作提供兩種不同的 REST 選項:HCM 資料載入器 dataLoadDataSets 資源和 Oracle WebCenter REST 資源上可用的 uploadFile 自訂動作。

如果您想要完成後續步驟,可以下載並使用下列檔案:


HCM 資料載入器 uploadFile 動作

  1. 開啟 Postman 並為此網址建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/action/uploadFile
  3. 指定下列 JSON 主體:
  4. {
    "content" : "UEsDBBQAAAAIAJF+Qle0P8ZqHgEAAAQFAAAJAAAAR3JhZGUuZGF0ldPNaoQwEAfw+4LvsG+wmhhKDz2ERGyg2S269LqkGovQKqRxT3n4xu6Hxj3IQECZTH4h/BmZHSmnR+pyo2rtsqbRlW3PurTKWK7srJR19Vi4dLLed5fa+u+1slc/2tHbYTv8urIfTKUL3cRx8vLfsx3bo43Mijy73pg8k2QXj8ulTwna+YUT98rfTnnBT9KX2UHKw95J1akvbbaJo/NtmIaWGgo0BNPwUsOBhmFautTSQEthGllqJNBItIF4gt1zEF3dntt6UN8+zc6a9nOw/SWWqRsUi2BoBUcBDkpJMLyC4wAHhSZYuoKnAQ7KUDCygpMAB0bKp9HirdHVMkQOmy0eowcOzTnYcPEYB9w9qGkf9tyP95vn/+isHG3+AFBLAwQUAAAACAAbSlJXX/ch5FMCAAC9CgAABwAAAEpvYi5kYXTNldFumzAYhe8r9R14g5Fut7uwwElYY0LBq7SryCNOZI1AZUy1SH74GQdDnJCY9mpSpIjkP+ezzzGAIAYhwED+qH5LuNvRXLB3mgnCRUgElRkVQbWl7d/6OyYHfTEnB1Yc9U/ASERTy3lTFIkSY6bmUrpvCsIxPbxVnPCjFjalmq9KLUWkJHvKV/SdFjKrGp7TlO58f/ZdTXrtyOMDgukC6uU9+b7/xZ+pjwzWCK1juQxXmwysYLYJ1nHWXnoZKWitpGXdFIKUwhuGJJDzn6vVBkcIylTKC/kEVJxe4WjJKn5FdUEto/8ZrGfRIj3LtivNJmGFQCAGCzmzhVMZYXTOCBlXJ7HiN7dzYj3ZBm4WSp/xkCEi/A8VrNxfBohA+gxxFC9GQ+xN3Lw2b5vZ9fZJtOXnxutR096APG/wFu+8TGMzEWiqHIBWnfeJT5aPm5ik61CtDcVYMxNebZtcdFs80C5VM4VHUx083Ly2gQtmV+mn0LadGz/M9r1ec62Cb/DhwqrY9v3QOkzdI+uwb+P27F7ncF677epexWuiya8spwpPa7Y1qd+Ffe3EbgDsCPAvzZv2Nfdh1jfj44a9BBsMMwxPcb40pGDi2D4fBK8KD9NaqEpHT1GvnAQxB+eSYE6NBAG++Sw46d2cCG9AiCJ94UXYA9sDK1ktOGnPw+gujMRtvlRvsQQG2nuZetkbzZnaSy3GjbvxSb7DopXxhEUbySRzc6so6/7WuOU66QZIwK8hiYQcVY2FMw4jmmY/BGL8J6TSC6cx+kdIR7gfTqd4fPgHUEsBAhQAFAAAAAgAkX5CV7Q/xmoeAQAABAUAAAkAJAAAAAAAAAAgAAAAAAAAAEdyYWRlLmRhdAoAIAAAAAAAAQAYANn4TRNA9dkBAAAAAAAAAAAAAAAAAAAAAFBLAQIUABQAAAAIABtKUldf9yHkUwIAAL0KAAAHACQAAAAAAAEAIAAAAEUBAABKb2IuZGF0CgAgAAAAAAABABgAjuYejz/12QEAAAAAAAAAAAAAAAAAAAAAUEsFBgAAAAACAAIAtAAAAL0DAAAAAA==",
    "fileName" : "Grades and Jobs.zip"
    }

    附註:

    "content" 的值是新等級和 Jobs.zip 檔案的 Base64 編碼版本。

    需有內容與 fileName 參數。uploadFile 自訂動作可使用下列參數:

    Parameter - 參數 描述
    content 要載入的 Base64 編碼檔案。
    fileName 檔案的名稱。
    contentId Oracle WebCenter 內容伺服器上檔案的唯一 ID。未提供時自動產生。

  5. 設定要求的授權。使用者必須具有以人力資本管理檔案為基礎的匯入上傳資料角色階層。
  6. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  7. 按一下傳送
  8. 回應的格式如下:

    {
        "result": {
            "Status": "SUCCESS",
            "ContentId": "UCMFA00078879"
        }
    }
  9. 複查回應並記下「內容 ID」。在起始 HDL 和 HSDL 時,必須識別檔案。
  10. Base64 將 Jobs.csv 檔案編碼,並使用這些步驟上傳 csv 檔案。

Oracle WebCenter REST

Oracle WebCenter REST 資源的優點在於,您不需要先將檔案編碼,因此此 REST 服務將能夠載入更大的來源檔案。不過,使用過程會更加複雜。

HCM 資料載入器 uploadFile 動作只會上傳檔案至 Oracle WebCenter 上的 HCM 資料載入器匯入帳戶。此 API 可讓您上傳至使用者可存取的任何 Oracle WebCenter 帳戶。

建立要求

  1. 開啟 Postman 並為此網址建立新的 POST 要求:
  2. https://{{env}}/documents/files/data
  3. 在「本文」中指定下列表單資料
  4. 要點 數值
    metadataValues
    {
    "dDocAuthor":"{{user}}",
    "dDocTitle":"<file_name>",
    "dSecurityGroup":"FAFusionImportExport",
    "dDocAccount":"hcm$/dataloader$/import$",
    "dDocType":"Document"
    }

    附註:

    <file_name> 取代為您的檔案名稱。
    primaryFile

  5. 將游標暫留在 primaryFile 鍵上以顯示「文字 / 檔案」選項清單,並將值設為檔案
    將游標暫留在 primaryFile 項目上,即可查看「文字 / 檔案」選項清單。

  6. 針對要求設定授權。使用者必須具有以人力資本管理檔案為基礎的匯入上傳資料角色階層。
  7. 儲存要求。您現在可以上傳檔案。

上傳檔案

在此步驟中,您將使用上面建立的要求,將壓縮檔和 CSV 檔案上傳至 Oracle WebCenter Content 伺服器。

  1. 在要求的「本文」表單資料中,按一下選取檔案
    將游標暫留在 primaryFile 項目上,即可查看「文字 / 檔案」選項清單。

    秘訣:

    只有當 primaryFile 選項清單設定為檔案時,才能使用選取檔案按鈕。
  2. 使用「檔案瀏覽器」尋找並選取您的檔案。
  3. 將游標暫留在 primaryFile 項目上,即可查看「文字 / 檔案」選項清單。

  4. 編輯 metadataValues 金鑰 dDocTitle 值以指定檔案的名稱。
    將游標暫留在 primaryFile 項目上,即可查看「文字 / 檔案」選項清單。

    秘訣:

    當您起始「HCM 資料載入器」時,資料集名稱會預設為您在此處提供的值。
  5. 按一下傳送
  6. 回應的格式如下:

    {
        "dWebExtension": "zip",
        "dRevClassID": "213206",
        "createdBy": "VISION_INTEGRATION",
        "modifiedBy": "VISION_INTEGRATION",
        "XFND_RANDOM": "4641327459804635554",
        "dReleaseState": "N",
        "dPublishState": "",
        "dID": "213551",
        "xComments": "",
        "errorCode": "0",
        "title": "Grades and Jobs.zip",
        "size": "1125",
        "createdTime": "10/3/23 7:27 AM",
        "dDocName": "UCMFA00213206",
        "mimeType": "application/zip",
        "dRevRank": "0",
        "dDocID": "426034",
        "name": "New Grades and Jobs.zip",
        "dDocAccount": "hcm$/dataloader$/import$",
        "ownedBy": "VISION_INTEGRATION",
        "xStorageRule": "FusionStorageRule",
        "dStatus": "DONE",
        "modifiedTime": "10/3/23 7:27 AM",
        "XFND_SIGNATURE": "Y-Qs7rQwyYANlmfo-....",
        "errorKey": "!csServiceStatusMessage_checkin,UCMFA00213206",
        "dExtension": "zip",
        "dWorkflowState": "",
        "XFND_SCHEME_ID": "1",
        "XFND_CERT_FP": "901B32887DDC81F780757624",
        "dPublishType": "",
        "dUser": "VISION_INTEGRATION",
        "dSecurityGroup": "FAFusionImportExport",
        "errorMessage": "Successfully checked in content item 'UCMFA00213206'.",
        "dRevisionID": "1",
        "version": "1"
    }
  7. 複查回應並記下「內容 ID」。在起始 HDL 和 HSDL 時,必須識別檔案。
  8. 附註:

    Oracle WebCenter Content REST API 使用 dDocName 標籤來傳回內容 ID。
  9. 重複 csv 檔案的上傳檔案步驟。


任務 2:起始大量資料載入

使用 HCM 資料載入器上傳資料

在此步驟中,您會呼叫 createFileDataSet 自訂動作來起始 HDL,以處理先前載入至 Oracle WebCenter Content 伺服器上 hcm$/dataloader$/import$ 帳戶的檔案。

  1. 在 Postman 中,請為此 URL 建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/action/createFileDataSet

    附註:

    您需要有使用 REST 服務建立 HCM 資料載入器資料集功能安全性權限,才能提交此要求。
  3. 指定下列 JSON 主體:
  4. {
        "contentId" : "<content_id>"
    }

    秘訣:

    <content_id> 值取代為您檔案的內容 ID。

    唯一的必要參數為 contentIdcreateFileDataSet 自訂動作可使用下列參數:

    Parameter - 參數 描述 設定提供預設值的 HCM 資料載入器參數
    contentId Oracle WebCenter 內容伺服器上檔案的唯一 ID。
    fileAction 有效值為 IMPORT_AND_LOAD 和 IMPORT_ONLY。 檔案作業
    dataSetName 資料集的名稱。預設為檔案的文件標題。
    importConcurrentThreads 要指派給匯入處理的並行執行緒數上限。 匯入的最大並行執行緒數
    loadConcurrentThreads 要指定給載入處理作業的並行繫線數目上限。 載入的最大並行執行緒數
    importMaxErrorPercentage 匯入終止前發生錯誤的記錄百分比上限。 匯入錯誤最大百分比
    loadMaxErrorPercentage 載入終止前發生錯誤的記錄百分比上限。 載入錯誤最大百分比
    fileEncryption 用於來源檔案的加密 。

    提供 NONE、PGPUNSIGNED 或 PGPSIGNED。

    秘訣:

    建議您一律先加密檔案,再將檔案上傳至 Oracle WebCenter。HCM 資料載入器匯入帳戶通常由各種使用者存取,所有使用者都可以下載和複查未加密的檔案內容。

    檔案解密
    verificationKey 用於來源檔案加密的驗證金鑰。fileEncryption 為 PGPSIGNED 時提供。
    deleteSourceFile 指示在將資料匯入暫存表格後,是否應刪除來源檔案。 刪除來源檔

    附註:

    表格中的最後一個資料欄會指定設定 HCM 資料載入器任務中的參數名稱,該任務會定義每個 REST API 參數的預設值。
  5. 針對要求設定授權。使用者必須具有使用 REST 服務 - 資料載入資料集角色階層。
  6. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  7. 按一下傳送
  8. 回應的格式如下:

    {
        "result": {
            "Status": "SUCCESS",
            "RequestId": "107468"
        }
    }

    附註:

    回應中的 RequestId 是用來使用 dataLoadDataSets 資源擷取資料集資訊。


使用 HCM 試算表資料載入器上傳資料

在此步驟中,您會呼叫 createSpreadsheetDataSet 自訂動作來起始 HSDL,以處理先前載入至 Oracle WebCenter Content 伺服器上 hcm$/dataloader$/import$ 帳戶的檔案。

您必須為用來上傳檔案的 HSDL 範本塑造檔案。

  1. 在 Postman 中,請為此 URL 建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/action/createSpreadsheetDataSet
  3. 指定下列 JSON 主體:
  4. {
        "contentId" : "<content_id>",
        "templateCode" : "ORA_PER_JOB"
    }

    秘訣:

    <content_id> 值取代為您檔案的內容 ID。

    秘訣:

    ORA_PER_JOB 範本是可供載入工作的預先設定範本。您可以使用執行試算表資料載入器任務來尋找範本代碼。

    唯一的必要參數為 contentIdtemplateCodecreateSpreadsheetDataSet 自訂動作可使用下列參數:

    Parameter - 參數 描述 設定提供預設值的 HCM 資料載入器參數
    contentId Oracle WebCenter 內容伺服器上檔案的唯一 ID。
    templateCode 上傳檔案的試算表範本代碼。
    fileAction 有效值為 IMPORT_AND_LOAD 和 IMPORT_ONLY。

    秘訣:

    如果您只匯入檔案,則無法使用 REST 進行監視或載入,而是產生範本的試算表、擷取資料集,然後從試算表上傳。
    "IMPORT_AND_LOAD"
    dataSetName 資料集的名稱。 預設為範本代碼與時間戳記。
    importConcurrentThreads 要指派給匯入處理的並行執行緒數上限。 匯入的最大並行執行緒數
    loadConcurrentThreads 要指定給載入處理作業的並行繫線數目上限。 載入的最大並行執行緒數
    importMaxErrorPercentage 匯入終止前發生錯誤的記錄百分比上限。 匯入錯誤最大百分比
    loadMaxErrorPercentage 載入終止前發生錯誤的記錄百分比上限。 載入錯誤最大百分比
    fileEncryption 用於來源檔案的加密 。

    提供 NONE、PGPUNSIGNED 或 PGPSIGNED。

    秘訣:

    建議您一律先加密檔案,再將檔案上傳至 Oracle WebCenter。HCM 資料載入器匯入帳戶通常由各種使用者存取,所有使用者都可以下載和複查未加密的檔案內容。

    檔案解密
    verificationKey 用於來源檔案加密的驗證金鑰。fileEncryption 為 PGPSIGNED 時提供。
    deleteSourceFile 指示在將資料匯入暫存表格後,是否應刪除來源檔案。 刪除來源檔
    headerIncludedFlag 指示標頭是否包含在來源檔案中,以命名檔案中包含的屬性。 "Y"
    attributeDelimiter 用來分隔檔案中值的字元。 "," (逗號)。
    newLineIndicator 用來表示新明細行的字元。 "n",前面加上逸出字元。
    escapeIndicator 用於遁離屬性值內分界字元的字元。 "/" (反斜線),
    dateFormat 日期格式用於日期資料類型的屬性 預設格式為 YYYY/MM/DD。

  5. 針對要求設定授權。使用者必須具有使用 REST 服務 - 資料載入資料集角色階層。
  6. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  7. 按一下傳送
  8. 回應的格式如下:
    {
        "result": {
            "Status": "SUCCESS",
            "RequestId": "107483",
            "UserInfo": "",
            "Review": "https://{env}/hcmUI/oracle/apps/hcm/enterpriseSetup/hdlSpreadsheetLoader/di/GenericHdlSpreadsheet.xlsx?layoutCode=ORA_PER_JOB&dataSetName="Job#2024-08-06 11:40:56"",
            "FileAction": "IMPORT_AND_LOAD",
            "DataSetName": ""Job#2024-08-06 11:40:56""
        }
    }

    附註:

    使用回應中的 RequestId ,使用 dataLoadDataSets 資源來監督資料集的狀態。

    秘訣:

    使用複查連結,從 HSDL 範本產生試算表以複查資料集。


作業 3:監視資料集狀態

在此步驟中,您將使用 dataLoadDataSets 資源監督資料集狀態。此資源可用來監督 HDL 和 HSDL 資料集。

秘訣:

僅匯入的 HSDL 檔案不會在 HCM 資料載入器暫存表格中建立資料集,且無法使用 REST 進行監視。

監督特定資料集

  1. 在 Postman 中,請為此 URL 建立新的 GET 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}

    附註:

    送出檔案時傳回的 {{RequestId}} 值會取代為 RequestId
  3. 設定要求的授權,然後按一下傳送
  4. 回應的格式如下:

    {
        "RequestId": 107468,
        "DataSetId": 300100621962415,
        "ContentId": "UCMFA00103266",
        "DataSetName": "Grades and Jobs.zip",
        "DataSetStatusCode": "ORA_IN_ERROR",
        "DataSetStatusMeaning": "Error",
        "TransferStatusCode": "SUCCESS",
        "TransferStatusMeaning": "Success",
        "ImportStatusCode": "SUCCESS",
        "ImportStatusMeaning": "Success",
        "LoadStatusCode": "ERROR",
        "LoadStatusMeaning": "Error",
        "SourceTypeCode": "ZIP_DAT_FILE",
        "SourceTypeMeaning": "Compressed DAT file",
        "IntegrationTypeCode": null,
        "IntegrationTypeMeaning": null,
        "ImportPercentageComplete": 100,
        "LoadPercentageComplete": 100,
        "ImportSuccessPercentage": 100,
        "LoadSuccessPercentage": 59,
        "FileLineTotalCount": 38,
        "FileLineImportErrorCount": 0,
        "FileLineImportSuccessCount": 38,
        "ObjectTotalCount": 37,
        "ObjectLoadErrorCount": 15,
        "ObjectRollbackErrorCount": 0,
        "ObjectSuccessCount": 22,
        "ObjectUnprocessedCount": 0,
        "SpreadsheetTemplateCode": null,
        "SpreadsheetTemplateName": null,
        "SpreadsheetTemplateUserTypeCode": null,
        "SpreadsheetTemplateUserTypeMeaning": null,
        "SpreadsheetMessage": null,
        "FileSize": 1175,
        "CreatedBy": "HCM_USER10",
        "CreationDate": "2024-08-06T11:38:28+00:00",
        "LastUpdatedBy": "HCM_USER10",
        "LastUpdateDate": "2024-08-06T11:40:04.127+00:00",
        "ProtectedFlag": false,
        "Review": null,
        "FailedLinesFileContentId": null,
        "FailedLinesFileEncryptionType": null,
        "FailedLinesFileEncryptionKey": null,
        "links": [
        ...
        ]
    }
  5. 對 CSV 檔案重複執行,回應會傳回「試算表」相關元素的資訊。

識別錯誤的資料集中

使用此 URL 來擷取發生錯誤之所有資料集的摘要資訊:

https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets?q=DataSetStatusCode=ORA_IN_ERROR&fields=RequestId,DataSetName,DataSetStatusCode,ImportStatusCode,LoadStatusCode,SourceTypeCode,FileLineTotalCount,FileLineImportErrorCount,ObjectTotalCount,ObjectLoadErrorCount,LastUpdateDate&onlyData=true

回應的格式如下:

{
    "items": [
        {
            "RequestId": 107483,
            "DataSetName": "Job#2024-08-06 11:40:56",
            "DataSetStatusCode": "ORA_IN_ERROR",
            "ImportStatusCode": "SUCCESS",
            "LoadStatusCode": "ERROR",
            "SourceTypeCode": "SPREADSHEET",
            "FileLineTotalCount": 6,
            "FileLineImportErrorCount": 0,
            "ObjectTotalCount": 6,
            "ObjectLoadErrorCount": 2,
            "LastUpdateDate": "2024-08-06T11:42:13.333+00:00"
        },
        {
            "RequestId": 107468,
            "DataSetName": "Grades and Jobs.zip",
            "DataSetStatusCode": "ORA_IN_ERROR",
            "ImportStatusCode": "SUCCESS",
            "LoadStatusCode": "ERROR",
            "SourceTypeCode": "ZIP_DAT_FILE",
            "FileLineTotalCount": 38,
            "FileLineImportErrorCount": 0,
            "ObjectTotalCount": 37,
            "ObjectLoadErrorCount": 15,
            "LastUpdateDate": "2024-08-06T11:40:04.127+00:00"
        },...

監視特定 HSDL 範本的資料集

使用此 URL 擷取以特定試算表範本載入之所有資料集的摘要資訊:

https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets?q=SpreadsheetTemplateCode=ORA_PER_JOB&fields=RequestId,DataSetName,ImportStatusCode,LoadStatusCode,SourceTypeCode,ObjectTotalCount,ObjectLoadErrorCount,Review&onlyData=true

回應的格式如下:

{
    "items": [
        {
            "RequestId": 107483,
            "DataSetName": "Job#2024-08-06 11:40:56",
            "ImportStatusCode": "SUCCESS",
            "LoadStatusCode": "ERROR",
            "SourceTypeCode": "SPREADSHEET",
            "ObjectTotalCount": 6,
            "ObjectLoadErrorCount": 2,
            "Review": "https://cptapniqy.fusionapps.ocs.oc-test.com:443/hcmUI/oracle/apps/hcm/enterpriseSetup/hdlSpreadsheetLoader/di/GenericHdlSpreadsheet.xlsx?layoutCode=ORA_PER_JOB&dataSetName=Job#2024-08-06 11:40:56"
        }
    ],
    "count": 1,
    "hasMore": false,
    "limit": 25,
    "offset": 0,
    "links": [
	...


任務 4:監視業務物件狀態

當您的 HDL 資料集有多個業務物件檔案時,您可能會想要監視個別業務物件的狀態。

複查資料集中的所有業務物件

  1. 在 Postman 中,請為此 URL 建立新的 GET 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/businessObjects?onlyData=true

    附註:

    送出檔案時傳回的 {{RequestId}} 值會取代為 RequestId
  3. 設定要求的授權,然後按一下傳送
  4. 回應的格式如下:

    {
        "items": [
            {
                "DataSetBusObjId": 300100621962438,
                "BusinessObjectDiscriminator": "Grade",
                "BusinessObjectName": "Grade",
                "DatFileName": "Grade.dat",
                "LoadOrder": 1,
                "BusinessObjectId": 300100028324439,
                "TransferStatusCode": "SUCCESS",
                "TransferStatusMeaning": "Success",
                "ImportStatusCode": "SUCCESS",
                "ImportStatusMeaning": "Success",
                "LoadStatusCode": "SUCCESS",
                "LoadStatusMeaning": "Success",
                "ImportPercentageComplete": 100,
                "LoadPercentageComplete": 100,
                "ImportSuccessPercentage": 100,
                "LoadSuccessPercentage": 100,
                "FileLineTotalCount": 14,
                "FileLineImportErrorCount": 0,
                "FileLineImportSuccessCount": 14,
                "ObjectTotalCount": 14,
                "ObjectLoadErrorCount": 0,
                "ObjectRollbackErrorCount": 0,
                "ObjectSuccessCount": 14,
                "ObjectUnprocessedCount": 0,
                "DataSetId": 300100621962415,
                "RequestId": 107468,
                "CreatedBy": "HCM_USER10",
                "CreationDate": "2024-08-06T11:38:29+00:00",
                "LastUpdateDate": "2024-08-06T11:39:24.490+00:00",
                "LastUpdatedBy": "FUSION_APPS_HCM_ESS_LOADER_APPID",
                "RollbackEnabledFlag": false,
                "FailedLinesFileContentId": null,
                "FailedLinesFileEncryptionType": null,
                "FailedLinesFileEncryptionKey": null
            },
            {
                "DataSetBusObjId": 300100621962439,
                "BusinessObjectDiscriminator": "Job",
                "BusinessObjectName": "Job",
                "DatFileName": "Job.dat",
                "LoadOrder": 2,
                "BusinessObjectId": 300100028327309,
                "TransferStatusCode": "SUCCESS",
                "TransferStatusMeaning": "Success",
                "ImportStatusCode": "SUCCESS",
                "ImportStatusMeaning": "Success",
                "LoadStatusCode": "ERROR",
                "LoadStatusMeaning": "Error",
                "ImportPercentageComplete": 100,
                "LoadPercentageComplete": 100,
                "ImportSuccessPercentage": 100,
                "LoadSuccessPercentage": 34,
                "FileLineTotalCount": 24,
                "FileLineImportErrorCount": 0,
                "FileLineImportSuccessCount": 24,
                "ObjectTotalCount": 23,
                "ObjectLoadErrorCount": 15,
                "ObjectRollbackErrorCount": 0,
                "ObjectSuccessCount": 8,
                "ObjectUnprocessedCount": 0,
                "DataSetId": 300100621962415,
                "RequestId": 107468,
                "CreatedBy": "HCM_USER10",
                "CreationDate": "2024-08-06T11:38:29.004+00:00",
                "LastUpdateDate": "2024-08-06T11:39:58.914+00:00",
                "LastUpdatedBy": "FUSION_APPS_HCM_ESS_LOADER_APPID",
                "RollbackEnabledFlag": false,
                "FailedLinesFileContentId": null,
                "FailedLinesFileEncryptionType": null,
                "FailedLinesFileEncryptionKey": null
            }
        ],
        "count": 2,
        "hasMore": false,
        "limit": 25,
        "offset": 0,
        "links": [
                ...


監視資料集中的特定業務物件

  1. 在 Postman 中,請為此 URL 建立新的 GET 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/businessObjects/{{DataSetBusObjId}}?onlyData=true&fields=DataSetBusObjId,BusinessObjectName,LoadOrder,TransferStatusCode,ImportStatusCode,LoadStatusCode,ImportSuccessPercentage,LoadSuccessPercentage,FileLineTotalCount,FileLineImportErrorCount,ObjectTotalCount,ObjectSuccessCount,ObjectLoadErrorCount

    附註:

    {{RequestId}} 取代為送出檔案時傳回的 RequestId 值,將 {{DataSetBusObjId}} 取代為您要擷取之業務物件記錄的 DataSetBusObjId
  3. 設定要求的授權,然後按一下傳送
  4. 回應的格式如下:

    {
        "DataSetBusObjId": 300100621962439,
        "BusinessObjectName": "Job",
        "LoadOrder": 2,
        "TransferStatusCode": "SUCCESS",
        "ImportStatusCode": "SUCCESS",
        "LoadStatusCode": "ERROR",
        "ImportSuccessPercentage": 100,
        "LoadSuccessPercentage": 34,
        "FileLineTotalCount": 24,
        "FileLineImportErrorCount": 0,
        "ObjectTotalCount": 23,
        "ObjectSuccessCount": 8,
        "ObjectLoadErrorCount": 15
    }


識別發生錯誤的業務物件

  1. 使用此 URL 擷取載入期間發生錯誤之資料集內所有業務物件的摘要資訊:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/businessObjects?q=LoadStatusCode=ERROR&fields=DataSetBusObjId,LoadOrder,BusinessObjectName,TransferStatusCode,ImportStatusCode,LoadStatusCode,FileLineTotalCount,FileLineImportErrorCount,ObjectTotalCount,ObjectLoadErrorCount&onlyData=true
  3. 設定要求的授權,然後按一下傳送
  4. 回應的格式如下:

    {
        "items": [
            {
                "DataSetBusObjId": 300100621962439,
                "LoadOrder": 2,
                "BusinessObjectName": "Job",
                "TransferStatusCode": "SUCCESS",
                "ImportStatusCode": "SUCCESS",
                "LoadStatusCode": "ERROR",
                "FileLineTotalCount": 24,
                "FileLineImportErrorCount": 0,
                "ObjectTotalCount": 23,
                "ObjectLoadErrorCount": 15
            }
        ]...


作業 5:擷取訊息

當資料集有錯誤時,您可以擷取為其產生的訊息,以及每個訊息所依據記錄的識別碼。

擷取資料集的所有訊息

  1. 在 Postman 中,請為此 URL 建立新的 GET 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/messages?totalResults=true&orderBy=DatFileName,FileLine&fields=DatFileName,BusinessObjectDiscriminator,OriginatingProcessCode,FileLine,ConcatenatedUserKey,SourceSystemOwner,SourceSystemId,SourceReference001,MessageTypeCode,MessageText,MessageUserDetails&onlyData=true

    附註:

    送出檔案時傳回的 {{RequestId}} 值會取代為 RequestId
  3. 設定要求的授權,然後按一下傳送
  4. 回應的格式如下:

    {
        "items": [
            {
                "DatFileName": "Job.dat",
                "BusinessObjectDiscriminator": "Job",
                "OriginatingProcessCode": "LOAD",
                "FileLine": 4,
                "ConcatenatedUserKey": "HDL_SNR_SALES_CONS-COMMON",
                "SourceSystemOwner": null,
                "SourceSystemId": null,
                "SourceReference001": "HDL_SNR_SALES_CONS",
                "MessageTypeCode": "ERROR",
                "MessageText": "You need to enter a valid value for the JobFamilyId attribute. The current values are HDL_SALES.",
                "MessageUserDetails": null
            },
            {
                "DatFileName": "Job.dat",
                "BusinessObjectDiscriminator": "Job",
                "OriginatingProcessCode": "LOAD",
                "FileLine": 10,
                "ConcatenatedUserKey": "HDL_MRKT_DIR-COMMON",
                "SourceSystemOwner": null,
                "SourceSystemId": null,
                "SourceReference001": "HDL_MRKT_DIR",
                "MessageTypeCode": "ERROR",
                "MessageText": "You need to enter a valid value for the JobFamilyId attribute. The current values are HDL_MARKETING.",
                "MessageUserDetails": null
            },
            {
                "DatFileName": "Job.dat",
                "BusinessObjectDiscriminator": "Job",
                "OriginatingProcessCode": "LOAD",
                "FileLine": 5,
                "ConcatenatedUserKey": "HDL_SALES_MGR-COMMON",
                "SourceSystemOwner": null,
                "SourceSystemId": null,
                "SourceReference001": "HDL_SALES_MGR",
                "MessageTypeCode": "ERROR",
                "MessageText": "The FT value for the FullPartTime attribute is invalid and doesn't exist in the  list of values.",
                "MessageUserDetails": null
            },
    ...
    


作業 6:產生失敗的明細行檔案

除了直接擷取訊息資訊之外,您還可以起始產生失敗的行檔案。這些檔案包含所有發生錯誤的資料行,並可選擇性包含訊息文字。

秘訣:

您可以從 Oracle WebCenter 上的 hcm$/dataloader$/export$ 帳戶下載產生的失敗行檔案。

產生資料集的失敗明細行檔案

  1. 在 Postman 中,請為此 URL 建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/action/generateFailedLinesFile

    附註:

    送出檔案時傳回的 {{RequestId}} 值會取代為 RequestId
  3. 指定下列 JSON 主體:
  4. {
      "includeMessagesFlag" : "Y",
      "messageLanguage" : "US",
      "fileEncryption" : "PGPUNSIGNED",
      "encryptionKey" : "<customer-key>"
    }

    秘訣:

    <customer-key> 取代為您用來加密檔案的 PGP 憑證名稱。提供在安全主控台憑證頁面中指定的名稱。
    sample-arch-image.png 的描述如下

    此自訂動作可使用下列參數:

    Parameter - 參數 描述 預設值 這是必要欄位。
    includeMessagesFlag 決定是否在檔案中包含警告與錯誤訊息。供給 Y 或 N。 "N"
    messageLanguage 識別提供訊息之語言的兩個字母代碼。 「美國」
    fileEncryption 用以加密產生之檔案的加密類型。

    有效值為 PGPUNSIGNED、PGPSIGNED 及 NONE。

    永遠。若未加密檔案,您必須指定 NONE。
    encryptionKey 用以加密產生之檔案的 PGP 憑證。這必須在安全主控台的 PGP 憑證清單中取得。HDL 將以公開金鑰加密您的檔案,以便使用您的私密金鑰進行解密。 fileEncryption 為 PGPUNSIGNED 或 PGPSIGNED 時。

  5. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  6. 設定要求的授權,然後按一下傳送
  7. 回應的格式如下:
    {
        "result": {
            "Status": "SUCCESS",
            "RequestId": "107640",
            "ErrorFileContentID": "107468_ERRFILE",
            "UserInfo": "The file will be available on the Oracle WebCenter on completion of this process."
        }
    }

  8. 您可以使用此 GET URL 從 dataLoadDataSets 資源擷取檔案詳細資訊:
    https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}?onlyData=true&fields=FailedLinesFileContentId,FailedLinesFileEncryptionType,FailedLinesFileEncryptionKey

    附註:

    送出檔案時傳回的 {{RequestId}} 值會取代為 RequestId
    回應的外觀如下:
    {
        "FailedLinesFileContentId": "107468_ERRFILE",
        "FailedLinesFileEncryptionType": "PGPUNSIGNED",
        "FailedLinesFileEncryptionKey": "customer-key"
    }

產生業務物件的失敗明細行檔案

businessObjects 子項資源也提供 generateFailedLinesFile 自訂動作。它的參數與資料集層級自訂動作的參數相同。

  1. 在 Postman 中,請為此 URL 建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/businessObjects/{{DataSetBusObjId}}/action/generateFailedLinesFile

    附註:

    {{RequestId}} 取代為送出檔案時所傳回的 RequestId 值,並將您要產生檔案之資料集內業務物件的 {{DataSetBusObjId}} 取代為 DataSetBusObjId。
  3. 指定下列 JSON 主體:
  4. {
      "includeMessagesFlag" : "Y",
      "messageLanguage" : "US",
      "fileEncryption" : "PGPUNSIGNED",
      "encryptionKey" : "customer-key"
    }
  5. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  6. 設定要求的授權,然後按一下傳送
  7. 回應的格式如下:
    {
        "result": {
            "Status": "SUCCESS",
            "RequestId": "107669",
            "ErrorFileContentID": "107468_JOB_ERRFILE",
            "UserInfo": "The file will be available on the Oracle WebCenter on completion of this process."
        }
    }
  8. 您可以使用此 GET URL 從 dataLoadDataSets 資源擷取檔案詳細資訊:
    https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/businessObjects/{{DataSetBusObjId}}?onlyData=true&fields=FailedLinesFileContentId,FailedLinesFileEncryptionType,FailedLinesFileEncryptionKey
    回應的外觀如下:

    您也可以從 businessObjects 資源取得最新的檔案詳細資訊,如作業 4 所述。回應將包含下列欄位:

    {
        "FailedLinesFileContentId": "107468_JOB_ERRFILE",
        "FailedLinesFileEncryptionType": "PGPUNSIGNED",
        "FailedLinesFileEncryptionKey": "customer-key"
    }


作業 7:擷取已提交的處理明細

您可以擷取針對資料集提交之處理與子處理的相關資訊。

擷取處理明細

一般而言,您會看到資料集內每個業務物件的移轉、匯入及載入處理記錄,以及任何業務物件與資料集後處理。如果您已提交資料集的進一步處理,例如重新提交載入、提交回復或產生失敗的明細行明細行,將會有其他處理。

  1. 在 Postman 中,請為此 URL 建立新的 GET 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/processes?onlyData=true&fields=ProcessId,ProcessCode,BusinessObjectName,FileActionCode,TotalCount,ErrorCount,ElapsedTime,ThreadsAllocated,ThreadsUsed
  3. 設定要求的授權,然後按一下傳送
  4. 這是回應尋找包含 Worker 業務物件之資料集的方式。在此範例中,已為業務物件提交兩次「載入」。

    {
        "items": [
            {
                "ProcessId": 300100618948404,
                "ProcessCode": "ORA_TRANSFER_OBJECT",
                "BusinessObjectName": "Worker",
                "FileActionCode": null,
                "TotalCount": 540,
                "ErrorCount": 0,
                "ElapsedTime": "+000000000 00:00:40.347000",
                "ThreadsAllocated": 8,
                "ThreadsUsed": 1
            },
            {
                "ProcessId": 300100618948432,
                "ProcessCode": "ORA_IMPORT_OBJECT",
                "BusinessObjectName": "Worker",
                "FileActionCode": null,
                "TotalCount": 540,
                "ErrorCount": 0,
                "ElapsedTime": "+000000000 00:00:13.475000",
                "ThreadsAllocated": 8,
                "ThreadsUsed": 8
            },
            {
                "ProcessId": 300100618950528,
                "ProcessCode": "ORA_LOAD_OBJECT",
                "BusinessObjectName": "Worker",
                "FileActionCode": "IMPORT_AND_LOAD",
                "TotalCount": 54,
                "ErrorCount": 54,
                "ElapsedTime": "+000000000 00:00:43.242000",
                "ThreadsAllocated": 8,
                "ThreadsUsed": 3
            },
            {
                "ProcessId": 300100618950575,
                "ProcessCode": "ORA_HDL_POST_PROCESS",
                "BusinessObjectName": "Worker",
                "FileActionCode": null,
                "TotalCount": 0,
                "ErrorCount": 0,
                "ElapsedTime": "+000000000 00:00:43.444000",
                "ThreadsAllocated": null,
                "ThreadsUsed": null
            },
            {
                "ProcessId": 300100619031844,
                "ProcessCode": "ORA_LOAD_OBJECT",
                "BusinessObjectName": "Worker",
                "FileActionCode": "ORA_LOAD",
                "TotalCount": 54,
                "ErrorCount": 11,
                "ElapsedTime": "+000000000 00:14:56.706000",
                "ThreadsAllocated": 8,
                "ThreadsUsed": 3
            },
            {
                "ProcessId": 300100619039767,
                "ProcessCode": "ORA_HDL_POST_PROCESS",
                "BusinessObjectName": "Worker",
                "FileActionCode": null,
                "TotalCount": 0,
                "ErrorCount": 0,
                "ElapsedTime": "+000000000 00:00:34.738000",
                "ThreadsAllocated": null,
                "ThreadsUsed": null
            },
            {
                "ProcessId": 300100619039775,
                "ProcessCode": "ORA_ORACLE_SEARCH",
                "BusinessObjectName": "Worker",
                "FileActionCode": null,
                "TotalCount": 0,
                "ErrorCount": 0,
                "ElapsedTime": "+000000000 00:01:41.009000",
                "ThreadsAllocated": null,
                "ThreadsUsed": null
            }
     
    ...


擷取子處理資訊

子處理處理資源的子項資源。它會擷取指定處理所提交之子處理的明細。對於移轉、匯入、載入處理,這將會是多執行緒處理的明細。對於 ORA_HDL_POST_PROCESS,這會詳細說明提交的個別後續處理。

  1. 在 Postman 中,請為此 URL 建立新的 GET 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/processes/{{ProcessId}}/child/subprocesses?onlyData=true&fields=ProcessName,ProcessId,ProcessCode,Elapsedtime,ProcessStatusMeaning

    附註:

    {{RequestId}} 取代為送出檔案時所傳回的 RequestId 值,並將子處理的 {ProcessId}} 取代為 ProcessId。
  3. 設定要求的授權,然後按一下傳送
  4. 這是回應可能如何尋找針對 Worker 業務物件提交的 ORA_HDL_POST_PROCESS 處理。

    {
        "items": [
            {
                "ProcessName": "Refresh Manager Hierarchy",
                "ProcessId": 300100619039790,
                "ProcessCode": "WORKER_REFRESHMANAGERHIERARCHY",
                "Elapsedtime": "+000000000 00:00:08.216000",
                "ProcessStatusMeaning": "Succeeded"
            },
            {
                "ProcessName": "Update Person Search Keywords",
                "ProcessId": 300100619037746,
                "ProcessCode": "WORKER_UPDATEPERSONSEARCHKEYWORDS",
                "Elapsedtime": "+000000000 00:00:09.093000",
                "ProcessStatusMeaning": "Succeeded"
            },
            {
                "ProcessName": "EMEA Localization Postprocessing",
                "ProcessId": 300100619037756,
                "ProcessCode": "WORKER_EMEALOCALIZATIONPOSTPROCESSING",
                "Elapsedtime": "+000000000 00:00:02.959000",
                "ProcessStatusMeaning": "Succeeded"
            },
            {
                "ProcessName": "Global Tax Reporting Unit Maintenance",
                "ProcessId": 300100619037764,
                "ProcessCode": "WORKER_GLOBALTAXREPORTINGUNITMAINTENANCE",
                "Elapsedtime": "+000000000 00:00:02.702000",
                "ProcessStatusMeaning": "Succeeded"
            }
     ...


作業 8:提交現有資料集的處理

如果僅匯入您的「HCM 資料載入器」檔案,或您想要嘗試載入先前失敗的記錄,則您可以提交資料集的載入。如果您已成功載入記錄,則可以提交資料集的回復。只有支援回復動作的業務物件才會起始回復。

秘訣:

businessObjects 資源上的 RollbackEnabledFlag 元素會指出業務物件是否支援回復。

提交資料集的處理

  1. 在 Postman 中,請為此 URL 建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/action/submit

    附註:

    送出檔案時傳回的 {{RequestId}} 值會取代為 RequestId
  3. 指定下列 JSON 主體:
  4. {
    "fileAction" : "LOAD"
    }

    此自訂動作可使用下列參數:

    Parameter - 參數 描述 預設值
    fileAction 有效值為 LOAD 與 ROLLBACK。

    秘訣:

    對於 HSDL 檔案,如果您只匯入檔案,則無法以 REST 載入該檔案,而是產生範本的試算表、擷取資料集,然後從試算表上傳該檔案。
    「載入」
    loadConcurrentThreads 要指定給載入處理作業的並行繫線數目上限。 預設自載入的最大並行執行緒數參數。

  5. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  6. 設定要求的授權,然後按一下傳送
  7. 回應的格式如下:
    {
        "result": {
            "Status": "SUCCESS",
            "RequestId": "107683"
        }
    }


提交資料集內業務物件的處理

提交自訂動作也可用於具有相同參數的業務物件層級,但僅提交由 URL 指定的業務物件處理。

使用此 URL 來起始特定業務物件的處理。

https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/businessObjects/{{DataSetBusObjId}}/action/submit

附註:

在您複查資料集內的業務物件時,將 {{DataSetBusObjId}} 取代為傳回的 DataSetBusObjId 值。

秘訣:

您可以透過 Base64 編碼、上傳和提交 JobFamily.zip 檔案來進行測試,此檔案會建立上述錯誤的 Job.dat 檔案所參照的工作系列。

成功載入職系後,如上所述,針對資料集內的資料集或「職務」業務物件起始 LOAD。



作業 9:停止進行中資料集或業務物件

您可以要求停止進行中的資料集與業務物件。

停止處理資料集

  1. 在 Postman 中,請為此 URL 建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/action/stop

    沒有此動作的參數。

  3. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  4. 設定要求的授權,然後按一下傳送
  5. 如果資料集目前不在進行中,您將會改為取得此回應:

    {
        "result": "You can't stop processing this data set because it isn't being processed. Check the current status of the data set."
    }


停止處理業務物件

停止自訂動作也可用於業務物件層級。使用此 URL 要求停止特定業務物件的處理:

https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/child/businessObjects/{{DataSetBusObjId}}/action/stop

附註:

在您複查資料集內的業務物件時,將 {{DataSetBusObjId}} 取代為傳回的 DataSetBusObjId 值。

任務 10:刪除資料集

您可刪除資料集的階段表資料 (若尚未處理)。

刪除 HDL 階段表格資料

  1. 在 Postman 中,請為此 URL 建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/action/deleteDataSet

    沒有此動作的參數。

  3. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  4. 設定要求的授權,然後按一下傳送

刪除 HSDL 階段表資料

提交此動作將會從 HSDL 與 HDL 階段表中刪除您的資料集。

  1. 在 Postman 中,請為此 URL 建立新的 POST 要求:
  2. https://{{env}}/hcmRestApi/resources/11.13.18.05/dataLoadDataSets/{{RequestId}}/action/deleteSpreadsheetDataSet

    沒有此動作的參數。

  3. Content-Type 標頭設為下列值:
    application/vnd.oracle.adf.action+json
  4. 設定要求的授權,然後按一下傳送


其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center