My Oracle Support Banner

How to make "GetInstance" method of the "Remote Complex Object Instance Service" BS return "Product Type" field (for items added by the "AddItem" method)? (Doc ID 1671198.1)

Last updated on DECEMBER 06, 2019

Applies to:

Siebel CRM - Version 7.8 [19021] and later
Information in this document applies to any platform.


How one can make the "GetInstance" method of the "Remote Complex Object Instance Service" (RCOIS) standard Business Service (BS=
 to return the "Product Type" field of an in-memory instance for a product item added by the "AddItem" method.

- - - - - - - - -
The custom Business Service is written tot invoke "AddItem" and "GetInstance" methods of RCOIS BS as extra step in the "SIS OM Edit Complex Asset Workflow" workflow process
(after the standard step: "Set Requested Product Instance" - calls the "Set Product Instance" method of the "SIS OM PMT Service" standard BS).

* * *

Following is code snippet of custom (eScript) Business Service ("ITO Product Configuration Service"),
that represents the mentioned combination of RCOIS methods usage:
 - "AddItem" - adds new order item with a product id
 - "GetInstance" - obtains Order items list with not-populated product type for items, added by the "AddItem".
function UpgradePackage( Inputs, Outputs )
platformId = platformPS.GetProperty("Id");
platfromProductId = platformPS.GetProperty("Product Id");
platformPath = platformPS.GetProperty("Integration Id");

ips = TheApplication().NewPropertySet();
ops = TheApplication().NewPropertySet();

bsRCOIS = TheApplication().GetService( "Remote Complex Object Instance Service" );

ips.SetProperty( "Product Id", platfromProductId );
ips.SetProperty( "GetPortDomain", "Y" );

bsRCOIS.InvokeMethod( "GetAllPorts", ips, pckgPortsPS );
ips.SetProperty( "ObjId", platformId );
ips.SetProperty( "RootId", platformId );
ips.SetProperty( "Parent Path", platformPath );
ips.SetProperty( "Quantity", "1" );
ips.SetProperty( "Port Item Id", portItemId );
ips.SetProperty( "Prod Item Id", prodItemId );
ips.SetProperty( "Product Id", newPckgId );
ips.SetProperty( "Name", portObjectName );

bsRCOIS.InvokeMethod( "AddItem", ips, ops );

newPckgPath = ops.GetProperty("Integration Id1");
ips.SetProperty( "ObjId", platformId );
ips.SetProperty( "RootId", platformId );
bsRCOIS.InvokeMethod( "GetInstance", ips, ops );

The output complex object instance (asset), returned in the "GetInstance" method
 did not include the "Product Type" field for each product item.

How one can make the "Product Type" field be populated in the "GetInstance" outputs?


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.