How do I integrate the Extract Data Chunking Task into a flow with multiple Extract tasks?

For a flow with multiple extract tasks, you can integrate the extract chunking task as follows:

Initial set up of BI Publisher: In your existing report (or by making a copy), update the data model by replacing it with the provided data model:
  • Data Model Path: Human Capital Management/Extracts/Data Models/DataChunkingDm
Initial set up of the Extract related to a specific task:
  • On the Data Exchange work area, select Extract Definitions.
  • For each extract task, on the Deliver tab, click Add to create a new delivery option with delivery type: FTP.
  • On the delivery option details page:
    • Specify the path of the report you have just modified (or created), along with the associated template.
    • Enter the Remote Directory (the target location where the data chunks will be delivered) and the Server Name (the SFTP server).
    • Click Save.
  • Delete the newly created chunk delivery option name from the Report Category component on the Delivery Options page.
  • Validate the extract if it is newly created or if any changes were made apart from updating the delivery options.
Add Extract Data Chunking task to extract flow:
  • Navigate to My Client Groups > Data Exchange.
  • Select Refine Extracts under HCM Extracts.
  • Provide the flow name in the Flow Pattern field and click Search.
  • Click Edit next to the record in the search results to open the flow pattern in edit mode.
  • Select the Tasks tab and click + to add a flow task.
  • Search for Extract Data Chunking Task in the search pop-up click Done. You'll find it in the flow task list.
  • Click on the Go to Task icon against the Extract Data Chunking Task flow task.
  • On the Extract Data Chunking Task Details page, you can view basic information such as :Extract Delivery Option Name, Extract Run Name, Root XML Tag, Base Flow Task Name, Data Chunking Scope, Sequence, Chunk Size, and Threading XML Tag.
  • Enter the required values for Extract Run Name, Extract Delivery Option Name, and Base Flow Task Name. Leave all other parameters blank.
    Parameter Name Parameter Basis Basis Value
    Extract Delivery Option Name Constant Bind Delivery option name provided in the earlier steps.
    Extract Run Name Post SQL Bind select INSTANCE_NAME from pay_flow_instances WHERE FLOW_INSTANCE_ID = :pFlowInstanceId
    Base Flow Task Name Post SQL Bind

    select pft.base_flow_task_name from pay_flow_tasks_vl pft,pay_flows_vl pf where pft.base_flow_id = pf.base_flow_id and pf.flow_name = <Flow Name> and pft.flow_task_name = <Flow Task Name>

    The Flow Task Name needs to be the name of the Extract task, and not the Data Chunking task that was added to the flow as described earlier.

    The Data Chunking task expects the base Flow Task Name (or the flow task name derived from the Extract definition) from which it retrieves the input Extract XML for splitting. The POST SQL bind is used to identify this based on the Flow Name and Flow Task Name.

    select pft.base_flow_task_name from pay_flow_tasks_vl pft,pay_flows_vl pf where pft.base_flow_id = pf.base_flow_id and pf.flow_name = 'Employee Report' and pft.flow_task_name = 'Employee Report Task'

    Note: Task name that will be provided to the above query should always be unique in a single flow.
  • Under the Task Sequence tab, ensure that the sequence is correct.
  • Verify the changes and click Submit.
  • Run this flow task in Submit Extracts
    Note: Run or submit this only after the previous flow has completed (successfully or with failure). Submitting a new flow while a previous flow is still running may affect the outcome of the earlier flow and cause issues.

Workaround for Duplicate Task Names in Custom Flows

When same extract task is added multiple times to a flow with the same name, you need to manually update the flow task name so that each task is uniquely identified. For example, if the Person Extract task is added four times within the same flow, it is added with the same default name each time. In such cases, manually edit the flow task name to make them unique within the flow.

Use a unique flow task name when defining the POST SQL bind in the earlier step for the base flow task name, so that the correct flow task data is clearly identified and passed to the data chunking job.
  • Navigate to My Client Groups > Data Exchange and select Refine Extracts.
  • Enter the relevant flow name in the Flow Pattern field and click Search. Once the results are displayed, click Edit icon on the right.
  • Select the task that is required for the current scope and has a duplicate name.
  • Click Edit icon and rename the flow task name.
  • Click Submit.