Siebel Community

Welcome to Siebel Community. In this place you can find all the topics related to Siebel. This place is dedicated to provide information about how to implement Siebel CRM application. Siebel Technical/Functional consultants can get information from basics of Siebel CRM to advanced topics like EAI, EIM, eScripting, Workflows, Assignment Manager, Actuate Reports, Territory Management. This place also included Forums and Blogs to help you further.

Wednesday, July 27, 2011

Oracle AIA Process Integration Pack Overview

Oracle Application Integration Architecture (AIA) Process Integration Packs (PIPs) are prebuilt integrations across Oracle applications, like Siebel CRM, Oracle E-Business Suite, Agile PLM and Oracle Communications Billing and Revenue Management (Portal) and SAP, enabling customers to rapidly deploy fully orchestrated business processes.

AIA PIPs make it easier for customers to implement core business processes and spend less time maintaining/upgrading integrations.

Cross-Application PIPs





  • Oracle Financials Accounting Hub Integration Pack for PeopleSoft General Ledger


  • Agile PLM Integration Pack for Oracle E-Business Suite: Design to Release


  • Agile PLM Integration Pack for SAP: Design to Release


  • Process Integration Pack for Oracle Customer Hub


  • Process Integration Pack for Oracle Product Hub


  • Account Originations: Siebel CRM Integration Pack for Account Originations - Liability Products


  • Siebel CRM Integration Pack for Oracle Order Management


  • Siebel CRM Integration Pack for Trade Promotion Management


  • Lead to Order: Oracle CRM On Demand to Oracle's JD Edwards World


  • Order to Cash for SAP: Oracle Order to Cash for Siebel CRM and SAP


  • Customer Master Data Management for SAP


  • Agile Product Lifecycle Management to Oracle's JD Edwards EnterpriseOne


  • Oracle Primavera to the Oracle E-Business Suite and Oracle Primavera to JD Edwards EnterpriseOne


  • Oracle Value Chain Planning applications to JD Edwards EnterpriseOne


  • Oracle Workforce Administration Integration Pack for PeopleSoft Human Resources



Industry-Specific PIPs






  • Oracle Order Management Integration Pack for Oracle Transportation Management, Oracle E-Business Suite and Siebel CRM


  • Oracle Financial Management Integration Pack for Oracle Transportation Management and Oracle E-Business Suite


  • Oracle Driver Management Integration Pack for Oracle Transportation Management and Oracle E-Business Suite


  • Oracle Communications Billing and Revenue Management Integration Pack for Oracle E-Business Suite: Revenue Accounting


  • Oracle Retail Merchandising Integration Pack for PeopleSoft Enterprise Financials- Financial Operation Control


  • Siebel Call Center Integration Pack for Oracle Adverse Event Reporting System
    Account Originations: Siebel CRM Integration Pack for Account Originations - Liability Products


  • Siebel CRM Integration Pack for i-flex FLEXCUBE Account Originations - Liability Products


  • Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Mgmt: Agent-Assisted Billing Care


  • Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Order to Bill


  • Oracle Remote Data Capture to Oracle's Siebel Clinical Trial Management System


  • Oracle Utilities Customer Care and Billing to Oracle Utilities Mobile Workforce Management and Oracle Utilities Work and Asset Management


  • Siebel CRM to Oracle Incentive Compensation for High Tech/Manufacturing
    Oracle Financial Operations Control Integration Pack for Oracle Retail Merchandising Suite and the Oracle E-Business Suite Financials



SAAS to On-Premises PIPs






  • Oracle CRM On Demand Integration Pack for JD Edwards EnterpriseOne: Lead to Order


  • Oracle CRM On Demand Integration to Siebel CRM


  • Siebel CRM On Demand Integration Pack for Oracle E-Business Suite

Tuesday, July 26, 2011

Using the GotoView Method

The GotoView method can be used for navigating to different views from scripts. The default behavior of the GotoView method is to place the cursor or focus on the first record in the view.

When the script is required to get a specific record in focus the method can be executed with the business object parameter. The business object is then used to get a business component, on which a query is executed putting the required record in focus.

The same technique can be used to go to different views based on the same business object or to different views when the row id and specifications are known.

GotoView() Syntax:
Application.GotoView(ViewName[, BusinessObjectName])


The list below provides the best practices related to the usage of the GotoView method:

1. The GotoView method is not supported in the following events:


  • Application_Navigate

  • Application_PreNavigate

  • Application_Start

  • Applet_Load

  • WebApplet_Load

2. The GotoView method does not work correctly when called in the following events.



  • BusComp_Query

  • BusComp_PreQuery

3. Make the call to the GotoView event the last executable statement in the script


4. Avoid usage of GotoView when using the following Siebel Object Interfaces


5. Do not write a business service which uses GotoView method when this business service is invoked in Mobile/Dedicated Web Client Automation Server


6. Ensure that when invoking a GotoView method that the destination view is accessible to all users that need to access that


7. Avoid the usage of GotoView method when you are creating a new record unless all the required fields are already filled


8. Verify if the business component and applets used in the destination view are specialized

Troubleshooting of workflows

Workflows can be debugged in one of the following manners.
1. Turn on tracing on the corresponding component, Workflow Process Manager, Workflow Process Batch Manager, Application object Manager and view the event log files. For details on how to turn on tracing please refer to Business Process Designer Administration Guide or look at How Can Tracing Be Increased for Workflow Process Manager and Workflow Process Batch Manager? (Doc ID 476283.1) on My Oracle Support Portal.


2. Turn on monitoring level to 3-Detail or 4-Debug. At this level, each execution of a process (whatever component it is run from) will record state and process properties‟ value for each step. The information is then available in the Site map > Administration - Business Process > Workflow Instance Monitor > Process Instances/ Step Instances.
Page 22 of 66
Such levels of monitoring affect performance of the workflow engine. Hence such settings should be used for troubleshooting purpose only.

3. You can run the workflow process from the business service simulator using the business service Workflow Process Manager. Here are the steps:
i. Navigate to the Site Map > Administration - Business Service > Simulator.
ii. In the top applet, create a new record and set the following fields:
Service Name: Workflow Process Manager
Method Name: RunProcess
Iterations: 1
iii. In the Input Arguments applet, create a new record, and set the "Test Case #" field to 1 and open the Property Name field (which opens up a multi-value applet).
iv. Click the New button and set the following fields and then click the Save button:
Property Name: ProcessName
Value:
v. Repeat above step for any parameter that should be passed to the process, especially "RowId" if needed.
vi. Click the OK button in the multi-value applet opened in step iii.
vii. Click the Run button in the top applet of the Simulator view.

Known Scripting Performance issues

The following are some of the scenarios where we can see the performance issues in Scripting:
1. If we write code there like WebApplet_Load, WebApplet_PreCanInvokeMethod and BusComp_PreGetFieldValue etc.
WebApplet_PreCanInvokeMethod , this is frequently fired in response to user actions.
In version 8.0 and above, instead of using PreCanInvokeMethod to enable a custom method, this can be done using “CanInvokeMethod” user on the applet user property. For example: Name: CanInvokeMethod: Test Value: Y.

PreGetFieldValue event, it is called every time the user interface is updated to repaint the fields and also be called in other internal uses.
2. If you logic is having frequent travel between Server and Browser script.
3. Memory variables are not released in finally block.
4. Frequent travel to database (Get,Set,Query) instead of storing data in buffer.
5. Script is not using proper execution identifiers like forward only, backward only.
6. Not using Switch and using if extensively.

ST Scripting Engine

Siebel eScript is a scripting or programming language that application developers use to write simple scripts to extend Siebel applications. New to Siebel Business Applications version 7.7.2.3 is the availability of a new Siebel eScript engine, called the ST eScript engine, that is compliant with ECMAScript edition 4. Improvements include true compiled code, typed and type-less variables, late and early-binding, and classes.

Siebel eScript is a true object-based scripting language. Although Siebel eScript can now use classes, types, and other advanced language features for writing robust logic, it retains its "scripting" feel, with support for type-less programming.



Enhancements included in ST Scripting Engine:





  • New Siebel eScript engine (called the ST eScript engine)


  • Script Assist


Benefits of these two features are:
ST eScript Engine
Improved performance:
Higher throughput with a lower CPU and memory footprint in cases where customers have implemented a significant amount of script. This will result in improved performance and lower garbage collection cost on heavily scripted events.
Improved scalability: Lower footprint per user for CPU and memory use
New functionality: Added support for ECMAScript Edition 4 compliant strong typing. Using strongly typed objects results in more functional scripts and faster performance.

Script Assist
Aids in the development of scripts by making introspecting object definitions and making that information available to the user.

NOTE: The new ST eScript Engine and Script Assist only apply to server-based script.

Siebel Email Marketing Server - Components

The Siebel Email Marketing Server consists of the following three components, each with its own installer and each is separate from the Siebel Marketing Server installer:


Email Sending Daemon (ESD) - which assembles each outbound email message for a campaign using the email template (HTML or text) and the recipient list, and then sends each message to your company's outbound MTAs for delivery.


Bounce Handler Daemon (BHD) -which tracks email messages that cannot be delivered, parses the returned email messages, and records the cause of the bounce.


Click-Through Daemon (CTD) -which tracks clicks made by the email recipient on any Siebel-supported hyperlinks included in the email template.


unknown@unknown Contact in eMail Response

Whenever an email is sent from an email id (customer email id) that doesn’t exists in Contact records in Siebel. eMail Response workflow starts fail and the SR or Activity records are not created.
Reason:
Siebel eMail response functionality works in such a way that takes the "from address" in email and query it in contact records. If the record is found then the wf proceeds, but if it is not found/ fails to get the contact record then it searches for an email address ‘unknown@unknown’ in the Contact records.
If a contact record exists with email id as ‘unknown@unknown’ then it moves on to create an Activity or Service request (whatever you have configured) with that contact and if it is not able to find the record, workflow fails to create an Service Request/Activity
Solution:
Create a contact record in Siebel with email id as unknown@unknown
Or
Modify the workflow to look for such unknown email address that already exists.

Siebel eMail Response - Overview

Siebel eMail Response will monitor a specified mailbox.
It allows you to send automated Acknowledgement/response emails to the messages received in that mail box.
Creates a Service Request or an Activity (what ever business wants to) based on the information received in those emails.
How eMail will Process?
The Communications Inbound Receiver monitors mail boxes (email addresses) by using communications driver profiles to check for inbound messages. When an inbound email is detected, the Communications Inbound Receiver receives the email message and then Communications Inbound Processor will process and sends it as an event message to the Workflow Process Manager for processing.
eMail Response - Setup
•Setting up Profiles:
•Navigate to Administration – Communication > Communication Drivers & Profiles
•Query for “Internet SMTP/IMAP Server” and navigate to Profiles view tab
Create a new Profile as POP3 Profile with the following profile parameters
Name Value
From Address
POP3 Account Name
POP3 Account Password


•Setting up Response Groups:
•Navigate to Administration – Communication > Response Groups
•Associate the Profiles and Input Arguments like Auto Response, Catalog, Process Name etc.

Debugging Workflows using Logs

Workflows are the most common term that we come across after Object Manager in Siebel. We can achive really complex functionality through worklfows but what it means is that debugging them is equally complex. We generally test workflows through Simulation but if we were debug workflows in real time it can be quite painful and time consuming. A simple method to debug workflow is to increase the log level for Workflow Process Manager (WPM) component. But if somebody has ever tried that he can vouch that it can be quite a headache to go through that log. And what's more is that most of the information that is contained in that log is useless and not realted to workflow functionality. So here in this article I am going to present a pretty simple technique which can help you to get just the right amount of information that you need to debug a workflow. Instead of increasing the log level of complete WPM component if you just increase the log level of just selective sub-components that should do the trick. I will list down the Sub-Components that you need to increase the log level to get just the appropirate information that you need.



  • Workflow Definition Loading

  • Workflow Engine Invoked

  • Workflow Process Execution

  • Workflow Step Execution

  • SQL Tracing

Just increase the log level of the above said components from 1 to 4 and you are done !!!!!
To get logs from dedicated client you need set the Environmental Variable on your system.

Drill Downs - Common mistakes

We use to configure a drill down and we test it. It works fine and it takes us to the destination view that we have provided. Another user logs in for him the drill down disappear. It is just plain text field.
When we click on the drill down it gives us an error“You do not have permission to view this record or this record has been deleted”
Drill down is working for some users and some users are facing error while using that drill down.


Reason:
The reason behind the problems mentioned above is Responsibilities. Yes, It is as simple as that.
We are going from one view to another view and if we don’t have that view in our responsibility we migh face one of the above mentioned errors. Some time more than one destination is provided, as is the case of the dynamic drill down and they are executed in the sequence that we provide. If views that have been mentioned in the sequence are not assigned to our responsibility then we can again face the above mentioned error.

Web Services (Siebel ASI based outbound integration)

An Application Services Interface (ASI) is a release-independent interface published by Siebel that lets you integrate Siebel applications with external applications; because ASIs provide a release-independent integration interface, the integration interface to the Siebel Application remains unchanged with each upgrade to new releases.


ASIs come pre-built using standard metadata format, which makes ASIs language-independent, so they return the same value type regardless of language setting minimizing globalization and localization costs.


These benefits mean easier integration between Siebel and external systems, and significantly reduce integration, maintenance, and upgrade costs.


NOTE: The one point of implementing Siebel ASI based integration is ability of the, being integrated, External Application to understand (receive and parse) the Siebel ASI formed SOAP request and generated (and send) the Siebel ASI formed SOAP response. This requirement is similar to the Siebel XML request/response based integration approach, known from Siebel Application version 6.


The example below illustrates how to perform the Siebel Sales Order bi-directional data exchange (imitated from Siebel Application side):
1. Tintegration can be based on the following standard (or slightly customized) business services:


1.1 'Siebel Order' - a data synchronization service, which is pre-defined to invoke the EAI Siebel Adapterto query/update the Siebel Application Database, using the 'Internal Order Interface' standard internal integration object definition (built on the 'Order Entry' standard Siebel Business Object).


1.2 'External Order' - an outbound Web Service proxy, which is pre-defined to invoke the outbound Web Service dispatcher for calling (in an external application) the 'External Order' Web Service with the predefined query/update methods, using the 'Order Interface' standard external integration object definition (built on the XML schema definition, which correspond the accordant structure of the 'Internal Order Interface' integration object);


2. On the Outbound Web Service Administration view (Siebel Client), modify the address (or other additional binding information) for the 'External Order' outbound Web Service registration to forward the SOAP exchange to accordant External Application Web Service server;

3. Design the Web Service outbound integration workflow process to perform following steps:


3.1 Call the 'Siebel Order' business service
method: 'QueryById' with:
input argument: 'Object Id' - a string value to refer particular Sales Order
record in Siebel Application Database;
output argument: 'SiebelMessage' - a hierarchical value to keep the obtained Order data in form of Siebel Integration message (know as Siebel Message);


3.2 Call the 'External Order' business service
method: 'QueryByExample' with:
input argument: 'SiebelMessage' - a hierarchical value to provide an External Application the obtained Order data in Siebel Message form;
output arguments: 'SiebelMessage' - a hierarchical value to keep the received from an External Application the Order data in Siebel Message form;


3.3 Call the 'Siebel Order' business service
method: 'Update' with:
input argument: 'SiebelMessage' - a hierarchical value to post the Order data change(s), provided from External Application response in Siebel Message form;

Invoking a Workflow in the background using DirectDB mode

Use the predefined Server Requests business service to send a generic request to the Server Request Broker. The following processing modes in which the Server Requests business service can send a request are included:


  • Asynchronous

  • Synchronous

  • Schedule

Synchronous and Asynchronous Modes
When in synchronous mode, the Server Requests business service sends a request to the Server Request Broker, then waits for a response. Otherwise, it sends the request but does not wait for a response.
It is recommended that you use the Server Requests business service in most cases, rather than the Workflow Process Manager (Server Request) business service. It is more efficient to make an asynchronous call to a workflow process. If a synchronous call is made to a workflow, then the workflow runs in the Object Manager, causing the user to wait for the process to end.


Example:
var bsWFP = TheApplication().GetService("Server Requests");
var psInputs = TheApplication().NewPropertySet();
var psCompInputs = TheApplication().NewPropertySet();
var psOutputs = TheApplication().NewPropertySet();
psInputs.SetProperty("Component", "WfProcMgr");
psInputs.SetProperty("Method", "RunProcess");
psInputs.SetProperty("Mode", "DirectDb");
psCompInputs.SetProperty("ProcessName", "");
psInputs.AddChild(psCompInputs);
bsWFP.InvokeMethod("SubmitRequest", psInputs, psOutputs);

Alternatives to read a file´s contents

EIM : you can use any tool of your choice to read the file and load the EIM tables.

XML: EAI File Transport + EAI XML Converter + EAI Siebel Adapter could be used to read the file and insert or update the database.It is easier if the XML is already generated by the external system in Siebel Message format as that is already an integration object (IO) representation and IO is what EAI Siebel Adapter will need as input anyway.If your XML is in any other format, you will need some extra effort mapping the resulting property set to IO format.

Custom business service: If you go the route of coding yourself.
You will have to pick a delimiter and an escape char and increment the logic to check for the escape chars and delimiters .The code sample simply searches for the next delimiter in the line that has been just read.

Example:
File Should be in the format (AB)

BS eScript:
var SearchStr;
var LineVal1,LineVal2;
FileName=Inputs.GetProperty("FileName");
fp=Clib.fopen(FileName,"rt");
if(fp==null)
TheApplication().RaiseErrorText("Unable to opent the file");

while(null!=(ConId=Clib.fgets(fp)))
{
SearchStr = "aaa";
LineVal1=LineVal1.replace("\n","");
LineVal1=LineVal1.replace(" ","");
LineVal1 = LineVal1.split("");
SearchStr = LineVal1[0];
LineVal2 = LineVal1[1];
if(SearchStr != "" && SearchStr != null)

//Invoke any function to do manipulations.
}

Monday, July 25, 2011

What is Siebel Workflow?

Siebel Workflow orchestrates other Siebel process automation technologies. Workflow processes graphically sequence a series of automation steps that support a process, and specify inputs and outputs for individual steps and for the process as a whole.





Technologies that enable business process computing in Siebel are:
• Assignment Manager – Expresses rules to assign records to people, enables assignment based on skills, workload, availability, etc and supports ownership transitions within a process.
• SmartScript – Guides users through data entry tasks, and is effective for call scripting and includes basic support for transaction level commits.
• Activity Template – Contains a pre-defined series of to-do steps and is effective for handling asynchronous/offline tasks.
• Workflow Policies – Generates events based on database operations and is effective for performing simple actions such as sending email, creating an activity or assignment.
• State Models – Restricts transition of record status based on current value and position of the user. Also can enforce directional progression of status, for example so Opportunities move forward but not backward through a pipeline.


The workflow process types are as follows:
• 7.0 Flow. A 7.0 workflow process provides backward compatibility for existing Siebel 7 (pre-7.7) workflows.
• Long Running Flow. A long-running workflow process is a persistent workflow that can last for hours, days, or months.
• Interactive Flow. An interactive workflow process navigates the user across Siebel views.
• Service Flow. A service workflow process executes a set of operations upon event invocation.





Commonly used Business Service in Workflow processes include:
1. FINS Data Transfer Utilities
• Description: Allows you to transfer data from source BC to a destination BC without script.
• Available Methods:
• DataTransfer
• GetActiveViewProp
• QueueMethod
• TryMockMethod.
2. FINS Validator
• Description: Validate data based on predefined rules. It is developed through Application Administration and not script. Also, supports custom messages.
• Available Methods:
• Validate

3. FINS Dynamic UI Service
• Description: Allows creating and rendering of read-only views with a single read-only applet based on user input. Administered through admin views and not script.
• Available Methods:
• AddRow
• DeleteRow
• SetViewName
4. Outbound Communications Manager
• Description: Automates sending notifications via fax and emails to contacts and employees.
• Available Methods:
• CreateRequest
• SendMessage
• SendSmtpMessage
• SubmitRequest
5. Synchronous Assignment Manager Requests
• Description: Automates assigning objects by using Assignment Manager rules.
• Available Methods:
• Assign
6. Server Requests
• Description: Allows sending of generic requests to the request broker. It can send it in three different modes: asynchronous, synchronous, or schedule mode. (Example, call a workflow but need to be asynchronous request)
• Available Methods:
• SubmitRequest
• CancelRequest
7. Report Business Service
• Description: Automates sending, scheduling, printing, saving, emailing reports. Also, automates administrative tasks such as synching new users.
• Available Methods:
• ExecuteReport
• DelOne
• DownloadReport
• GrantRoleAccess2Report
• GrantUserAccess2Report
• PrintReport
• RunAndEmailReport
• ScheduleReport
• SyncOne

Features about Siebel Adapter


The salient features are listed below. Refer to the relevant sections of this document for detailed description and usage information. For additional adapter features, refer to the TIBCO Adapter Concepts Book. • Support for Integration Object Schema Using XML Tags The adapter now supports downloading of Integration Object Schema either with XML tags or with field names for Publication and Subscription Services.• Support for Return of Status Keys for Integration Objects The adapter now supports return of Status Keys for an INSERT, UPDATE, UPSERT or DELETE operation on Integration Objects. The Status Keys need to be configured for every Integration Object in Siebel (Refer Siebel Bookshelf for more information on Status Keys). • Support for Dynamic Substitution of Parameters in HTTP Business Service The adapter now supports the dynamic substitution of EAI TIBCO HTTP Agent Business Service parameters during invocation. The parameters, which are supported for dynamic substitution, are HTTP Timeout and HTTP Agent Server. During Request-Response invocation, the HTTP Timeout parameter can be set within the request. The Business Service waits for the HTTP reply from the adapter, for a specified duration before timing out. This parameter, if specified in the request, overrides the parameter specified in the Business Service user properties. The HTTP Agent Server parameter can be set within the user properties. The Business Service invokes the adapter server using this parameter. This parameter, if specified in the request, overrides the parameter specified in the Business Service user properties. • Support for Asynchronous Workflow Invocation The adapter now supports invocation of workflow asynchronously. The adapter returns the Request Id of the asynchronous workflow request. This is applicable for Subscription and Request-Response Services.• Supports for return of Output Parameters for Workflow Invocation The adapter now returns all the parameters of the workflow output after the workflow invocation. This is applicable for Subscription and Request-Response Services.• Support for TIBCO BusinessWorks The adapter can be used in a TIBCO BusinessWorks 5.3 process.• Adapter Services The adapter provides Publication, Subscription, Request-Response and Request-Response Invocation services. Basic configuration templates are provided in TIBCO Designer, which you can use to configure adapters and services to control your enterprise’s data. The services are described in detail in the next section.• Support for Siebel Database on Microsoft Windows and UNIX As Siebel data is accessed via the Siebel Object Interface, the Siebel Business Rules are preserved regardless of the underlying database platform.• Ability to use Multiple Levels of Siebel Business Components The adapter can be configured to use multiple levels of Siebel business components from Siebel Business Objects. • Ability to Invoke Siebel Business Service The adapter can invoke Siebel Business Service. The adapter can invoke any method in a Siebel Business Service after receiving a message from the TIBCO environment.• Ability to Invoke Siebel Workflow Processes The adapter can invoke Siebel Workflow processes in real time. The adapter can invoke a process through the Siebel Workflow Process Manager after receiving a message from the TIBCO environment.• Support for Siebel Integration Objects Siebel Integration Objects are supported on both the inbound and the outbound side. You can create schema for integration objects using TIBCO Designer.• Ability to Publish using Non-Siebel Business Component Functionality You can use the Non-Siebel Business Component functionality, provided by Siebel, to send data before committing it to the Siebel Database.• Support for Universal Application Network The adapter meets Universal Application Network (UAN) standards for the following adapter services:o Subscription Serviceo Request-Response Serviceo Request-Response Invocation Service• Detection of Lost Siebel Data Connection Detection of Siebel Data Connectivity failure is provided along with the ability to re-establish the connection and prevention of message loss.• Multithreading The adapter supports a static number of threads. The number of threads is specified at the time of configuration. The number of connections to the application server equals the number of threads. With multiple threads, the adapter processes multiple messages concurrently.• Easy-to-use GUI TIBCO Designer GUI is available for configuring and maintaining the adapter.• Support for TIBCO Rendezvous and JMS (Java Message Service) Support for multiple message transports. TIBCO Rendezvous or TIBCO Enterprise Message Service can be used to transport messages to and from the adapter.

Usage of Invoking a WF/BS from a Calculated Field


Invoking a business service/workflow from a calculated field and it returns OutputProp.

Syntax:
InvokeServiceMethod ("ServiceName", "MethodName", "InputProp1=val1, InputProp2=val2, ...","OutputProp")

·
This method requires an input argument in its third field, else the calculated field does not provide a return value and a parsing error results. If the business service method does not require an input argument, then you must provide an argument as a placeholder. For example, if MyMethod takes no input argument, then make a call similar to the following:
InvokeServiceMethod("MyService","MyMethod","a=a","MyReturn")

Dynamic Read-Only Controls

One of the exciting features regarding scripting in Siebel eBusiness Applications version
7.x/8.x is the dynamic visibility and read-only status of controls. Different approaches are
required for the High Interactivity and Standard Interactivity clients.
High Interactivity
The correct method for determining if a control is read-only under High Interactivity
client is to use the Data Driven Access Control user properties: BC Read Only Field,
Field Read Only Field & Parent Read Only Field.
Standard Interactivity
The Data Driven Access Control user properties can also be used within the Standard
Interactivity client. However, as the Standard Interactivity client works on a
connectionless protocol, this method requires a round-trip from the client to the server in
order to recalculate the calculated field upon which the user properties depend. This may
provide an unacceptable response time.
In cases where a dynamic read-only control is required on the user interface, browser
script will be required to obtain a handle to the control through the Document Object
Model and change the readOnly property of the HTML tag representing the control.
By setting the HTMLAttribute property of the control to provide a unique Id value in
tools, this field can be referenced in browser script by specifying the applet name and
control Id, and its HTML Attributes can be directly manipulated at runtime through
browser script events.ex: .SetProperty('Visible','FALSE');

Siebel eScript – An Overview


Scripting is one of the most important areas in Siebel Development but irony is that it is never recommended to write script in Siebel. Siebel scripting is done in a language known as eScript. eScript shares it’s syntax with JavaScript. If you have worked in JavaScript then you would find it pretty easy to adapt to eScript.eScript can be broadly classified into two categories
Server Scripts
Browser Scripts Server Scripts: as its name suggests is executed on server side. Which means that the user request is sent to server where the scripts is then executedBrowser Script: is actually converted into JavaScript and is executed on client side.Usually scripting is written on objects in Siebel such as Applets, Business Components etc. But the main use of eScript is done to write Business Services. There are lots of things that you achieve through a business service. Detail discussion on business service is subject to different post but it is similar to somewhat workflows implementing complete business processes with the help of script.Scripting should be used as a last resort. Everything can be done through script of course but it makes the manageability and up gradation of Application difficult.