Workday - SOP - Accounting Journals Inbound from BRAINS/ProfitSword (Hourly)

Workday - SOP - Accounting Journals Inbound from BRAINS/ProfitSword (Hourly)

Here is the comprehensive SOP for the INT Studio Prism Data Change Task Initiator Inbound integration.

This document serves as both a User Guide and a Technical Reference. I have analyzed the provided beans.xml (orchestration) and XT-InitDocsToFlow_04.xsl (logic) to determine exactly how this integration functions.

Important Finding: The "Flow" Logic

My analysis of your XSLT file revealed a specific, somewhat complex architecture for defining "Flows." Please pay special attention to Section 3.2 below, as the standard "comma-separated list" assumption was incorrect. The code expects a specific Map structure involving Numeric Sequences.


SOP: INT Studio Prism Data Change Task Initiator Inbound

1. Overview

Integration ID: WorkdayAssembly

Type: Workday Studio (Inbound)

This integration is an orchestrator designed to load data into Prism Analytics. It does not simply run one task; it can execute a "Flow"—a pre-defined sequence of Data Change Tasks and Accounting Center Batches. It handles:

  1. Authentication: Generates OAuth tokens to talk to the Prism REST API.

  2. File Management: Grabs files from the Integration Event, compresses them (GZIP), and uploads them to Prism File Containers.

  3. Orchestration: Executes tasks in a specific numeric order (Sequence 1, Sequence 2, etc.).

  4. Monitoring: Polls the Prism API to ensure one task finishes successfully before starting the next.


2. Prerequisites & Security Setup

Before configuring the integration, ensure the "Workday Side" foundation is ready.

2.1. API Client Registration

The integration communicates with Workday via REST API, requiring OAuth.

  1. Create API Client: Navigate to Register API Client for Integrations.

    • Client Name: Prism_Integration_Client (example).

    • Scope: Select Prism Analytics.

    • Access Token Grant Type: Authorization Code Grant.

  2. Generate Refresh Token:

    • Generate a Refresh Token for the Integration System User (ISU) that will run this integration.

    • Important: Save the Client ID, Client Secret, and Refresh Token. You will need these for the integration attributes.

2.2. Functional Security

The ISU must have security access to:

  • Domain: Prism Analytics Data Loading (Get, Put).

  • Domain: Integration Process (to attach/retrieve logs).


3. Configuration: Integration Maps

This integration relies heavily on Integration Maps to link user-friendly names (Aliases) to Prism IDs.

3.1. Basic Maps

Configure these on the Integration System > Configure Integration Maps screen.

Map Name

Internal Key (Workday)

External Value (User)

Description

Data Change Task

Prism Task Name


(Exact API Name of the task in Prism)

Task Alias


(e.g., Load_Finance_Data)

Connects a readable alias to the actual Prism Data Change Task.

Use File Containers

Task Alias


(e.g., Load_Finance_Data)

Boolean


true or false

Set to true if this task requires an uploaded file (CSV/GZIP).

Input File Prefix

Task Alias


(e.g., Load_Finance_Data)

File Prefix


(e.g., Finance_2023)

If Use File Containers is true, the integration looks for an attached file starting with this text.

Accounting Center Batch

Accounting Source


(Select existing Source)

Task Alias


(e.g., Run_Journals)

Maps an Accounting Source to an alias for batch processing.

3.2. Advanced: Flow Mapping (Critical)

Based on the XSLT analysis, the flow logic is indirect. You cannot simply list tasks in a text field.

How it works:

  1. You launch the integration and select a Flow Name (e.g., Month_End_Close).

  2. The integration looks at the Flow Mapping map to find the Name of a Sequence Map.

  3. It then looks for that specific Sequence Map to determine the order of tasks.

Step A: Configure "Flow Mapping"

| Map Name | Key (Flow Name) | Value (Target Map Name) |

| :--- | :--- | :--- |

| Flow Mapping | Month_End_Close | Month_End_Sequence_Map |

Step B: The Missing Piece

Your beans.xml defines the "Flow Mapping" map, but it is missing the definitions for the Sequence Maps (e.g., Month_End_Sequence_Map).

Action Required:

You typically cannot create new maps in the Workday UI that aren't defined in the beans.xml.

  • Scenario A: If you are updating the Studio code, you must add a new <cloud:map> element for every Flow you intend to support, where the Internal Type is Numeric and External Type is Text.

  • Scenario B: If you cannot edit Studio, check if there is a generic map already available (e.g., "Sequence Map 1") and map your flow to that.

If you update the Studio code, the Sequence Map structure must be:

  • Internal Key (Numeric): 1

  • External Value (Text): Load_Finance_Data (Must match a Task Alias from Section 3.1).


4. Configuration: Integration Attributes

Configure these under Integration System > Configure Integration Attributes.

Attribute

Value / Instruction

Client ID

From Section 2.1.

Client Secret

From Section 2.1.

Refresh Token

From Section 2.1.

Prism Analytics REST API Endpoint

https://<wd-host>/ccx/api/prismAnalytics/v3/<tenant>

Token Endpoint

https://<wd-host>/ccx/oauth2/<tenant>/token

Prism API Host Name

e.g., wd2-impl-services1.workday.com (Do not include https://)

Polling Interval

10 (Seconds to wait between status checks).

Retry Count Per Task

60 (Total attempts before failing. 60 * 10s = 10 mins).


5. Execution Procedure

5.1. Launching a Single Task

Use this if you only want to run one specific Data Change Task.

  1. Action: Launch / Schedule Integration.

  2. Attachment: Upload the data file (CSV/GZIP). Ensure the filename matches the Input File Prefix for your task.

  3. Parameters:

    • Task: Select the Task Alias (e.g., Load_Finance_Data).

    • Data Change Task Flow: Leave Empty.

5.2. Launching a Flow

Use this to run a sequence of tasks.

  1. Action: Launch / Schedule Integration.

  2. Attachments: Upload ALL files required for the flow.

    • Example: If the flow runs Task A (Prefix: Fin_) and Task B (Prefix: HR_), you must upload Fin_Data.csv and HR_Data.csv.

  3. Parameters:

    • Task: Leave Empty.

    • Data Change Task Flow: Select the Flow Name (e.g., Month_End_Close).


6. Troubleshooting & Verification

6.1. "No DCT found given the API Name..."

  • Cause: The integration tried to run a task, but the alias mapped in Data Change Task does not match any Data Change Task ID in Prism.

  • Fix: Check the Data Change Task map. The "Internal Key" must match the Prism Task API Name exactly.

6.2. "No DCT or AC Source were configured"

  • Cause: The Flow/Sequence map contains an alias (e.g., Task_XYZ), but that alias is not defined in either the "Data Change Task" map or the "Accounting Center Batch" map.

  • Fix: Ensure every alias used in a Flow is also defined in the base maps.

6.3. File Upload Issues (Error 429 or Failures)

  • Cause: API limits or incorrect file prefixes.

  • Fix:

    • Check the logs for "File Container Upload Commenced".

    • If it fails, verify the attached filename starts with the Input File Prefix.

    • If you see HTTP 429 (Too Many Requests), increase the Polling Interval.

6.4. SFTP Setup

  • Host: hhmhotels.couchdrop.io

  • Path: /Workday SFTP Drives/Actabl/Actabl Inbound/Income Journals


6.5. Flow Logic Failure

  • Cause: As noted in Section 3.2, if the beans.xml lacks the specific sequence maps, the XSLT will return an empty flow.

  • Fix: You will see "Number of items in Flow: 0" in the logs. You must update the beans.xml to include the specific Map definition for your sequence.