📍 Simple addresses for Workday reports & integrations
Workday has complicated addresses.
- Each country can be configured to use one of two address formats
simplified
vsextended
- There are 9 possible address lines (excluding things like city, postal code, etc)
Formatted
vsUnformatted
address linesLocal
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:
- Formatted Address with Country - Local
- 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, '&#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, '&#xa;', ' / ')"
/>
</homeAddress>
</xsl:when>