Workday full aggregation is not pulling some attributes value

Which IIQ version are you inquiring about?

Version 8.2

Is this question regarding a custom connector? If so, please share relevant details below.

No, this question is not regarding a custom connector.

Share all details related to your problem, including any error messages you may have received.

Workday full aggregation is not pulling in recent changes made to users on Workday like Workday ID, Last working date etc. However we are getting those changes aggregated using single account aggregation with customized rule. The rule using same Workday application to fetch one account data. Yes, we added Effective Date Offset value which brings the data in Single Identity aggregation.

Have you tried running the Account Aggregation task with option 'Disable optimization of unchanged accounts’ enabled ?
This will process the accounts as being new and running all associated rules again.

– Remold

Yes we did. We successfully replicated in Non Prod env. So we deleted Workday account before full aggregation starts. But data of Last Work Day is not pulling whereas custom rule successfully fetching for single Identity.

Have you tried to use the connectorDebug via the IIQ Console ?

In log4j2.properties can you enabled debug logging for the following classes:

  • connector.common.http.client
  • connector.sdk.webservices
  • openconnector.connector.workday
  • openconnector.connector.WorkDay
    (take care of the lower and upper case characters).

This will provide a lot of logging, but digging through it should bring hints or hopefully the issue.

– Remold

Connector debug fetching LAST Work day data properly but Full aggregation is not fetching.

Can you check if you have any customization Rule in place and stopping this attribute during aggregation, did you check on that already?

Is the LAST_DAY_OF_WORK attribute part of the Schema?

– Remold

Yes, LAST_DAY_OF_WORK is part of the attribute schema and Remediation Modifiable is “Readonly”.
image

Can you add the following simple Rule (via debut/import from file):

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Rule PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Rule language="beanshell" name="Log ResourceObjectCustomization" type="ResourceObjectCustomization">
  <Description>This rule is configured on the application and is called after the connector has build a ResourceObject from the native application data.

Initially designed for non-rule based connectors to add SPPrivileged flag to an object, but could be used to do any transformations.</Description>
  <Signature returnType="ResourceObject">
    <Inputs>
      <Argument name="log" type="org.apache.commons.logging.Log">
        <Description>
          The log object associated with the SailPointContext.
        </Description>
      </Argument>
      <Argument name="context" type="sailpoint.api.SailPointContext">
        <Description>
          A sailpoint.api.SailPointContext object that can be used to query the database if necessary.
        </Description>
      </Argument>
      <Argument name="object">
        <Description>
          The ResourceObject built by the connector.
        </Description>
      </Argument>
      <Argument name="application">
        <Description>
          Application that references the connector.
        </Description>
      </Argument>
      <Argument name="connector">
        <Description>
          The connector object.
        </Description>
      </Argument>
      <Argument name="state">
        <Description>
          A Map containing state information.
        </Description>
      </Argument>
    </Inputs>
    <Returns>
      <Argument name="resourceObject">
        <Description>
          The updated resource object.
        </Description>
      </Argument>
    </Returns>
  </Signature>
  <Source>log.error("ResourceObjectCustomization : " + object.toXml());

return object;</Source>
</Rule>

And set this rule as the Customization Rule for the WorkDay application:
image

Without saving you can already test if you see a value. Goto Configuration->Schema and press ‘Preview’.

This should ‘print’ the account in your log-file.

– Remold

I will do it in Non Prod but I have tested all these scenarios

  1. When Workday Full aggregation ran below in the customization rule
    IDN123 LastDayOfWork5 = null
    IDN321 LastDayOfWork5 = null

  2. When Targey Workday account aggregation ran below in the customization rule
    IDN123 LastDayOfWork6 = 11/03/2023
    IDN321 LastDayOfWork6 = 11/05/2023

  3. Using connector debug also fetching data

connectorDebug Workday get account “325671”

I printed resourceObject in customization rule. No attribute LAST_DAY_OF_WORK is present in log or sysout.

This sounds like a bug :frowning:

Have you thought of contacting SailPoint Support or installing the latest patch for IIQ8.2?

The latest patch for 8.2 is IIQ8.2p5 and contains updates also for workday (See the README.txt on the 8,2p5 page).

and another question (before contacting support or installing a patch):
Did you run the aggregation task with:

  • Enable Delta Aggregation: Disabled
  • Disable optimization of unchanged accounts: Enabled (aka no optimization)

– Remold

Yes made the below change but no impact

  • Enable Delta Aggregation: Disabled
  • Disable optimization of unchanged accounts: Enabled (aka no optimization)

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.