The Remote Complex Object Instance Service (RCOIS) is a business service. It can be accessed
by anything in the Siebel architecture that can use a business service. As a business service, it
is used by invoking methods, passing in property sets with input arguments, and getting results
from the Outputs property set.
GetLinkItemValues API helps you to get the linked item values inside the Siebel product configuration. Please find sample use of GetLinkItemValues API :
Siebel Version : Siebel 8.2
Event : Cfg_ChildItemChanged:
Linked Item Details:
Sample Script:
var inp = TheApplication().NewPropertySet();
var out = TheApplication().NewPropertySet();
var cnt=0;
var birthdate;
for (var n = 0; n<nCnt; n++ )
{
var psItem = ChangedItem.GetChild(n);
var objname = psItem.GetProperty("ObjName");
var OQty = psItem.GetProperty("OldQty");
var NQty = psItem.GetProperty("NewQty");
if(objname =="Comp1") //Sample Component Name
{
inp.SetProperty("ClearValues","N");
inp.SetProperty("GetAllValues","Y");
inp.SetProperty("RootProductId","1-1RLV38");
bs.InvokeMethod("GetLinkItemValues",inp,out);
cnt=out.GetChildCount();
for ( var i = 0; i < cnt; i++)
{
var LinkedItemV =out.GetChild(i).GetProperty("CxLnkItmName");
if (LinkedItemV == "Transaction Reason")
{
birthdate = out.GetChild(i).GetProperty("CxLnkItmValue");
}
}
}
}
inp.SetProperty("GetAllValues","Y");
inp.SetProperty("RootProductId","1-1RLV38");
bs.InvokeMethod("GetLinkItemValues",inp,out);
cnt=out.GetChildCount();
for ( var i = 0; i < cnt; i++)
{
var LinkedItemV =out.GetChild(i).GetProperty("CxLnkItmName");
if (LinkedItemV == "Transaction Reason")
{
birthdate = out.GetChild(i).GetProperty("CxLnkItmValue");
}
}
}
}
Works perfectly. Have been looking for something like this for a while. Thank you
ReplyDelete