Description:
Ceating request to SDM with "affected_resource" to it.
Problem: DataObject shows correct data, the value into the MDB is something that SDM does not understand.
Solution:
How the problem shows:
- Data Object1
ID = ztest-DO-CI
Table = ca_owned_resource
Fields= own_resource_uuid,resource_name
Query = select resource_name,own_resource_uuid from ca_owned_resource
>>
Results = 'uuid' | 'Testi-Mobile-CI'
'uuid' | 'Windows 8'
- Data Object2:
select form_elem_name,form_elem_value from usm_request_item_form
where subscription_deyail_id in (
select id from usm_subscription_detail
where requestd_id like '10185')
and form_elem_name like 'zci-value';
>>
Result = 'zci-value' | '[[email protected]|Windows 8'
- Data Object on the form:
Configuration item: 'Testi-Mobile-CI'
'Windows 8'
select resource_name,own_resource_uuid from ca_owned_resource
Results = 'uuid' | 'Testi-Mobile-CI'
'uuid' | 'Windows 8'
For 'uuid' | 'Windows 8' uuid=B977AD1C256C2C4EB9CE45BCF5363FED
And in MDB for the 'request details' the 'uuid' shows like this:
select form_elem_name,form_elem_value from usm_request_item_form
where subscription_deyail_id in (
select id from usm_subscription_detail
where requestd_id like '10185')
and form_elem_name like 'zci-value';
Result = 'zci-value' | '[[email protected]|Windows 8'
The solution:
You face this problem because UUID is binary and this is a not supported datatype for variables in Catalog.
The following approach resolves this.
Use Case/Select UUID for a contact: Here convert function is used to convert binary data to integer
table: ca_contact
fields: userid,first_name
query: select userid,first_name
from ca_contact
where CONVERT(integer,location_uuid)=%loc_uuid_int%
Here we are converting binary UUID to integer and filtering matching records based on first select field selection.