Showing results for 
Search instead for 
Did you mean: 

Passing data between service portal parent and child service items



I'm trying to design a set of services that work like this:

- There is a top level service called Service1 that has to be ordered before anything else can be ordered

- You can order as many instances of Service1 as you would like

- An instance of Service1 is required as a prerequisite to order an instance of Service1.1

- The delivery plan for Service1 invokes a web service and returns a unique id

- The delivery plan for Service1.1 invokes a different web service and needs to pass the unique id from Service 1

- I don't think this should be a bundle b/c you can order Service1 without Service1.1

I have it working to the point where I can order Service1 and then go the Service Items tab, select my new service item and order Service 1.1.

What I can't figure out is how to configure it so that the delivery plan for Service1.1 somehow packages data from Service1 into it's web service request. 

I think what I'm looking for is a data retrieval rule that I can apply to the form for Service1.1 that will pull data from the parent service item (Service1).

Does that make sense?  Does anybody know how to do this?





For a table-driven rule, define the data source as Service Items and construct your data retrieval rule using the wizard.  For a more complicated SQL-coded rule, just use the RequestCenter datasource, and look up the service item definition to learn the name of the physical table and columns that hold the SI data. Depending on how your SI is structured, you might also have to look at the corresponding SI Subscription table to find out which requisition or customer created the SI.

I think there may be some timing issues here, however.  By invoking Service 1.1 from the Related Services tab, the values for the SI are pre-filled on the form. HOWEVER, this pre-filling might happen AFTER a data retrieval rule in the onload event attempts to execute. If that is the case, I would file a defect report with TAC.

Ok so let's say I had a field in my dictionary for the associated service (Service1.1) called parentReqId.  I want to automatically populate that field in my form with the requisition id that produced the parent service (Service1).

I create a new data retrieval rule and in the wizard ...

Step 1:  select "distributing rule"

Step 2:  select "before the form is loaded (server-side)

Step 3:  select datasource "Service Items" and ???

At this point I need to select a table name.  Do I select "ServiceItemSubscription" or "ServiceItemHistory"?  What is the difference between these?

I am assuming there is some relationship in the database that maintains the parent / child relationship between Service1 and Service1.1 and that relationship is created automatically by virtue of ordering the child service from the context of the parent service (i.e. clicking the order button from the "related services" tab on the "service items" page).  Is that assumption incorrect?



Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: