Workday single instance integration maps
There's been a few times this year where I've s-t-r-u-g-g-l-e-d to lookup a map value in a Workday document transformation integration where the internal value is a Workday object reference and the external value is text. (Note: I've also written a post about studio integration maps here: Workday Studio Maps)
Usually I try many variations of something like snippet below. Basically trying to come up with a bunch of different ways to pass a reference ID value into the map and get back out an external value.
Turns out, the answer is Use the Workday ID (WID). And also namespace is important.
So here's how I actually made it work¶
- Add a namespace
- Update XSLT
- Run
Namespace¶
Add xmlns:w="urn:com.workday/bsvc" to the top of the document. We're using w to avoid conflicts with any existing wd namespaces that might exist.
XSLT¶
We need to create our own ID element matching the urn:com.workday/bsvc namespace for Workday to match to the internal object.
<loc etv:map="locLookup">
<w:ID w:type="WID">
<xsl:value-of select="peci:Location_ID"/>
</w:ID>
</TJANSTESTALLE>
Result¶
In the doc transform, we get something like:
And after Workday processes the XML, it should return back the external value