My Oracle Support Banner

Setting of SSA Primary Field through Business Service (Doc ID 497241.1)

Last updated on NOVEMBER 07, 2019

Applies to:

Siebel Workflow - Version [19216] and later
z*OBSOLETE: Microsoft Windows 2000
Product Release: V7 (Enterprise)
Version: [19216]
Database: Oracle 9i
Application Server OS: Microsoft Windows 2000 Server SP 3
Database Server OS: HP-UX 11i

Check for Relevance on Feb-24

This document was previously published as Siebel SR 38-2972460741.



We are trying to call a Business Service via Workflow, to set the Primary Position on an Account.

We have tried the solutions suggested in SupportWeb, without success. We have tried an 'slimmed down' version of our script without success. For testing we are using an existing account where we have 2 positions on the sales team with SADMIN set as the primary.
The error we keep getting is:
This operation is not available for read only field 'SSA Primary Field'.(SBL-DAT-00402)

Here is the reduced code:

function TestMVGUpdate(Inputs)
TheApplication().TraceOn("c:\\trace.txt", "Allocation", "All");
//Instantiate BC
   var boAcct = TheApplication().GetBusObject("Account");
   var bcAcct = boAcct.GetBusComp("Account");
   //Log parameters and prequery for required record.
   TheApplication().Trace("ViewMode=" + bcAcct.GetViewMode());     
   bcAcct.ActivateField("Sales Rep");
   bcAcct.InvokeMethod("SetAdminMode", "TRUE");
   bcAcct.SetSearchSpec("Id", "1-XZ9"); //Account id hardcoded for testing
   TheApplication().Trace("Acct:" + bcAcct.GetFieldValue("Id"));
   TheApplication().Trace("Current Position = " + TheApplication().PositionName());
   //Get Sales Team
   var bcMVG = bcAcct.GetMVGBusComp("Sales Rep");
   bcMVG.ActivateField("SSA Primary Field", "Y");
   var foundRecs = bcMVG.FirstRecord()
   while (foundRecs )
      if (bcMVG.GetFieldValue("Id")=="1-R2M") //Look for non-primary position (hardcoded for testing)
        TheApplication().Trace("Found new primary - Setting Primary" );
        bcMVG.SetFieldValue("SSA Primary Field", "Y");
        TheApplication().Trace("Move on to next record");
      foundRecs = bcMVG.NextRecord();
TheApplication().Trace("End of loop"...



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.