📍 Simple addresses for Workday reports & integrations

Posted 1 year, 2 months ago

Workday has complicated addresses.

  • Each country can be configured to use one of two address formats simplified vs extended
  • There are 9 possible address lines (excluding things like city, postal code, etc)
  • Formatted vs Unformatted address lines
  • Local vs (not) Local address lines
  • And probably more

All this and more can create a lot of unnecessary complexity in reports and integrations like connectors, PICOF, and PECI.

A simpler approach uses two Workday-delivered fields as follows:

  1. Formatted Address with Country - Local
  2. Formatted Address with Country

These can be combined into an evaluate expression field to determine which address to use. Compare the two fields based on length and choose the longer of the two, not is blank.

Removing 
 results

I've found the data tends to come out looking like 123 Main
Apt 2.. on integrations. To handle this I've used a function to replace the newline character codes with /.

<xsl:value-of
  select="replace(peci:Person_Communication/peci:Address[not(@peci:isDeleted)]/ptdf:formatted, '&amp;#xa;', ' / ')" />

Now the data should look something more like 123 Main / Apt 2..

Integration change detection

When the field is added as a field override (PECI in this example) then picking up changes could look something like:

<xsl:when
    test="peci:Person_Communication[@peci:isAdded] 
    or peci:Person_Communication/peci:Address[@peci:isUpdated or @peci:isAdded]">
    <homeAddress>
        <xsl:value-of
            select="replace(peci:Person_Communication/peci:Address[not(@peci:isDeleted)]/ptdf:formatted, '&amp;#xa;', ' / ')"
        />
    </homeAddress>
</xsl:when>