I am querying Workday and retrieving all customer data. The data is returned in a pretty dense XML profile, that has quite a few parent/child nodes where each of these, what Workday calls, reference nodes in the profile can have n number of child rows. At the end of my process, I am writing back essentially the exact same XML profile to Workday, after I have transformed/enhanced the data.
I am trying to remove some of the rows, pass-through some of the rows, and add a row of my own from another data source that is not Workday. I have successfully setup a document cache for my other data source, that has an index and lookup value I can retrieve.
What I am unable to figure out however, is how to add a new node and remove a node from my child rows. In a Map, Boomi seems to loop through and call my map function for each child row. If no rows exist, my map function does not get called and nothing is written to my map output for those child rows.
I tried creating multiple connector queries, to create a second document cache just for the child rows I wanted to create. I created one branch for the row I wanted to add and one branch for the rows I want to remove or pass-through. I then added the cache to the map in the final branch, thinking that if I added my document cache to the XML source profile, that instead of looping through the rows that were retrieved from the connector query, it would loop through the document cache rows... no love.
Does anyone have any ideas about how I might accomplish this?