Skip to main content

Posts

Showing posts with the label Business Component

When adding business component in Audit Trial Siebel is not showing the name

Issue Description: Configured the Audit Trail for "My Business Component"on Dev Tools and compiled the changes. From Application side map navigated to "Administration - Audit Trail". Created a new record and provided the Business Component name in "Audit Trail Buscomp" applet. Added fields in "Audit Trail Field" applet. Tested and all good. Compiled the objects on Prod srf and when adding the business component in "Audit Trail Buscomp" applet Siebel opened "Business Components" pick applet with no records. Conclusion and Solution: Get the table name from "Business Components" pick applet's BC and run a query on Prod SQL. SELECT * FROM S_BUSCOMP WHERE NAME = 'My Business Component' And there was no record. Now add "My Business Component" to sif file and import it on Production tools. Now when you run the above query it will return record and you will also be able to add record in "Audit Trai...

Join in business component definition %1 has source fields that come from tables %2 and %3 SBL-DAT-00452

1: Error Join in business component definition '%1' has source fields that come from tables '%2' and '%3' (SBL-DAT-00452). 2: Steps on which error occurred 2.1. In Business Component created new Join by providing table, alias and outer join flag checked. 2.2. In Join Specification created new record provided the destination column and source field (field is based on base table of the business component). 2.3. In Join Specification created new record provided the destination column and source field (field is based on other table, added using join). 2.4. Created new field based on the new join and exposed in applet. 2.5. Compiled the objects and open Siebel application. 2.6. When navigate to view Siebel returned the above error. 3: Findings and Conclusion: When inspecting the Object Manager (Public Sector) logs could not able to find the exact reason but just the above error. When checked on Oracle Docs found out that documentation is saying that in Join Specific...

Applet Search Spec not working on Status field of S_EVT_ACT

Issue: Below applet search spec is not working. On UI all Approved records are also showing. [Primary Owner Id] = LoginId() AND [Status] <> LookupValue("EVENT_STATUS", "Approved")  Analysis: For Logs found that Siebel is not picking the correct Status column of S_EVT_ACT table. Actual column is S_EVT_ACT .EVT_STAT_CD for status field. Siebel is picking wrong column from wrong table: S_ACT_EMP .ACT_EVT_STAT_CD Query part from logs: T1.EMP_ID = :2 AND T33.ROW_ID = T1.ACTIVITY_ID AND T1.EMP_ID = T21.ROW_ID AND T33.TARGET_PER_ID = T29.ROW_ID (+) AND T33.TARGET_PER_ID = T7.PAR_ROW_ID (+) AND T33.PR_PRDINT_ID = T27.ROW_ID (+) AND T27.PRDINT_ID = T23.ROW_ID (+) AND T33.TARGET_OU_ADDR_ID = T19.ROW_ID (+) AND ( (T33.OWNER_PER_ID = :3 AND T1.ACT_EVT_STAT_CD NOT IN ( :4 ) ) AND (T33.X_ENTITY_TYPE = 'Research') AND (T33.CREATED >= TO_DATE(:6,'MM/DD/YYYY HH24:MI:SS'))) ORDER BY T33.CREATED DESC Work around: Create a calculated field in Business Componen...

How to query or find record in Siebel Business Component

You can perform query operation on Business Component through Workflow, eScript with the help of Siebel Operation, Inbound E-mail Database Operations (method: FindRecord) or EAI Siebel Adapter (method: Query but you need to create Integration Objects). This Business Component can be Virtual Business Component (VBC), External Business Component (EBC) or generic Business Component (BC).  See also: Difference Between Business Components and How to Create BC in Siebel through Object Wizard through Workflow with the help of Siebel Operation Create a workflow and provide the Business Object, business component should be in this BO for which you want to perform the query operation. From the Palettes window drag drop the Siebel Operation into workflow designer plane. Select the Siebel Operation box and open the properties window, provide the Business Component name from the drop down list and set Query in Operation field. You can set the search specification by two means either provide the...

How to create Integration Object in Siebel through Object Wizard

 Integration Objects: Integration objects are logical representations of Siebel business objects or external application data, such as externally defined XML documents. An integration object is metadata stored in the Siebel Repository. One integration object can be mapped to another integration object. Instances of integration objects are used in integration processes for data exchange. About the Structure of Integration Objects: The Siebel integration object provides a hierarchical structure that represents a complex data type. Most specifically, prebuilt EAI integration objects describe the structure of Siebel business objects, SAP IDOCs, SAP BAPIs, XML, and external data. Most integration projects require the use of an integration object that describes Siebel business objects, either in an outbound direction such as a query operation against a Siebel integration object, or in an inbound direction such as a synchronize operation against a Siebel integration object. An integration...

How to create Business Component in Siebel through Object Wizard

What is Business Component (BC): A business component defines a logical entity that organizes columns from one or more tables into a single entity. It provides a foundation that controls how Siebel CRM chooses, inserts, and updates data in underlying tables. This data is typically specific to a functional area, such as a product, a contact, or an account. An applet references a business component. It does not directly reference the tables. This configuration allows you to reference data according to functional area. It might also separate work that a developer performs from work that an administrator performs. Types of Business Components: a. Business Component b. External Business Component: The external business component (EBC) feature provides a way to access data that resides in a non-Siebel table or view, using a Siebel business component.  See How to create DB View and export DDL file in SQL Developer See How to create External Table in Siebel Tools on SQL View c. Virtual Bus...

How to create external table in Siebel Tools through Siebel Wizard

  What is external table in Siebel: "External Table" in the Siebel is used by " External Business Component (EBC)". EBC is used to access data in a database tables that does not belong Siebel schema or a different database or same database with different tables (using joins) or manipulation data using sql functions. Create External Table: You use Siebel Tools and the External Table Schema Import Wizard to import your external table definition into the Siebel Repository. Start Siebel Tools. Select File > New Object.... In the New Object Wizards applet, on the General tab, double-click External Table Schema Import. The External Table Schema Import Wizard appears, as shown in the following figure. Provide the appropriate project which new external table will belong to then select the type of schema source to "DDL/ Analyics" and 3 characters for the table name and click Next button. Now on next window select the database where you have created your DB view...

How add restriction of length and if field value if not a number in Siebel

You can use below eScript on Pre Set Field Value (recommended) or Set Field Value on Business Component Server Script. if (FieldName = "SSN")  { var SSNNum = this.GetFieldValue("SSN"); var sErrTxt = TheApplication().LookupMessage("User Defined Errors","Wrong SSN"); var result = isNaN(SSNNum);  // is not a number var length = SSNNum.length;  // Length Count if (result) { TheApplication().RaiseErrorText(sErrTxt); } else if (length < "15" || length > "15")  { TheApplication().RaiseErrorText(sErrTxt); } }

How to display Contact Photograph on Applet in Siebel

In Siebel Public Sector Application I have used below objects to display Customer's picture on Applet. Applets: PUB Immigration Contact Photograph Form Applet PUB Immigration Contact Photograph List Applet BC: PUB Contact Image Link: Contact/PUB Contact Image Primary BC: Contact Child BC: PUB Contact Image Source Filed: Id Destination Filed: Contact Id Primary ID Field: Primary Image Id Both applets are on PUB Contact Image. Add Business Component to Contact Business Object with Contact/PUB Contact Image link and add applets to view. Compile and Test. When you add Image in List applet it will display on Form Applet.

How to get Parent BC Field Values from Child BC through BC Server Script in Siebel

By using ParentBusComp Method you can get Parent BC field value from Child BC server script, given that in BO there must be link between Parent and Child BC. (ParentBusComp returns the parent (master) business component when given the child (detail) business component of a Link.) I have written below eScript on Child BC for getting Parent BC field value, Parent BC fields should be forced active or you have to active them in eScript using ActivateField(). var ParBC = TheApplication().ActiveBusObject().GetBusComp("ChildBC Name").ParentBusComp(); var FCASE_ID = ParBC.GetFieldValue("Id"); Source: https://docs.oracle.com/cd/B40099_02/books/OIRef/OIRefInterfaceRef117.html

The specialized method '%1' is not supported on Business Component '%2' used by Business Object '%3'.(SBL-DAT-00322) in Siebel

Steps on which received Error: 1. Created new button with method name Validate. 2. Set the Applet user property CanInvokeMethod: Validate to TRUE 3. Called a workflow through applet eScript (on WebApplet_InvokeMethod) Error: When click on the button received below error: The specialized method '%1' is not supported on Business Component '%2' used by Business Object '%3'.(SBL-DAT-00322) Solution: Add CancelOperation for your method on Business Component eScript (on BusComp_PreInvokeMethod) if(MethodName == "Validate") { return (CancelOperation); }

How to invoke workflow through BC eScript, BC User Property and Runtime Events

Through eScript  BC InvokeMethod if (MethodName == "MyMethod") { var oBS=TheApplication().GetService("Workflow Process Manager"); var Inp=TheApplication().NewPropertySet(); var Out=TheApplication().NewPropertySet(); Inp.SetProperty("Object Id",TheApplication().ActiveBusObject().GetBusComp("My BC Name").GetFieldValue("My BC Field")); Inp.SetProperty("ProcessName","My Workflow"); oBS.InvokeMethod("RunProcess",Inp,Out); return (CancelOperation);   } On BC PreSetField if(FieldName == "My Field Name")    {     if(FieldValue == "My Field Value") { var Inp=TheApplication().NewPropertySet(); var Out=TheApplication().NewPropertySet(); Inp.SetProperty("Object Id",TheApplication().ActiveBusObject().GetBusComp("My BC Name").GetFieldValue("My BC Field")); Inp.SetProperty("ProcessName","My Workflow...

Error while mapping file attachment: SBL-EAI-04058: Source expression generated attachment ID '...' but the corresponding attachment cannot be found. (Doc ID 972381.1)

APPLIES TO: Siebel CRM - Version 7.8.2 [19213] and later Information in this document applies to any platform. SYMPTOMS Following error will be reported by EAI Data Transformation Engine (Intgeraiton Object Declarative Data Mapper) when mapping file attachment (copying file content) from improperly configured / provided source Integration Component Field; SBL-EAI-04058: Source expression generated attachment ID '...' but the corresponding attachment cannot be found. CAUSE The field type of the source (and also traget) Integration Component that (the field) provide the file attachment content has to be "DTYPE_ATTACHMENT". The error occurs if it is set  to  "DTYPE_TEXT" (that may be default setting provided while creating  the Integration Object from XSD schema using Siebel Tools Wizard. Also there are alo following requirements for the text (VALUE) of the XML element in the input XML document where the source integration object is instantiat...

How to check if filed has Arabic characters through Siebel eScript

Below is simple function for checking if ipstring have Arabic Characters in it: function hasArabic(ipstring) {     var araChar = 'ئءؤرلاىةوزظطكمنتالبيسشضصثقفغعهخحجد~ْلآآـألأًٌٍَُِلإإ';     var strlen = ipstring.length; // test string length       if (strlen < 1)     {         return false;     }     for (var i = 0; i < ipstring.length; i++)     {              if (araChar.indexOf(ipstring[i]) >= 0) // found         {             return true;         }     }       return false; }

How to Insert Record in Business Component through Siebel Workflow

Add new Business Service step in Siebel Workflow, set its properties as below: Business Service Name: Inbound E-mail Database Operations Business Service Method: InsertRecord Set the values of Input Arguments as below: Input Argument: BusComp Type: Literal Value: Service Request Input Argument: BusObj Type: Literal Value: Service Request Input Argument: Field: Status Type: Literal Value: In Process Note: While inserting the record Value In Process will be set against the Status field, you have set values of all required fields. Can add multiple field in similar manner. Set the values of Output Arguments as below: Property Name: SR ID Type: Output Argument Output Argument: Id Note: It will return the Row Id of newly inserted record.

How to Update Record in Business Component through Siebel Workflow

Add new Business Service step in Siebel Workflow, set its properties as below: Business Service Name: Inbound E-mail Database Operations Business Service Method: UpdateRecord Note: This method might not be available in dropdown list of BS Methods so just copy paste. Set the values of Input Arguments as below: Input Argument: BusComp Type: Literal Value: Service Request Input Argument: BusObj Type: Literal Value: Service Request Input Argument: Field: Status Type: Literal Value: In Process Note: Status is the field which will be going to update. Can add multiple field in similar manner. Input Argument: Id Type: Process Property Property Name: SR ID Note: This service will only update the record based on the Row Id of the record. if record didn't found service will return error so add error handling steps.

How to Find Record (query) in Business Component through Siebel Workflow

Add new Business Service step in Siebel Workflow, set its properties as below: Business Service Name: Inbound E-mail Database Operations Business Service Method: FindRecord Set the values of Input Arguments as below: Input Argument: BusComp Type: Literal Value: Service Request Input Argument: BusObj Type: Literal Value: Service Request Input Argument: QueryFields Type: Literal Value: SR Number Note: Filed on which you want to query. Can add multiple fields like Field1,Field2,Field3 Input Argument: ValueFields Type: Literal Value: Id Note: Filed which will business service return if found the record. Can add multiple fields like Field1,Field2,Field3 Input Argument: SR Number Type: Process Property Property Name: SRNumber Note: Input Argument should be same as the name of filed defined in QueryFields. Set the values of Output Arguments as below: Property Name: SR ID Type: Output Argument Output Argument: Id Note: Output Argume...

How to invoke Workflow through eScript in Siebel

Below is the Script for Calling Workflow: if (MethodName == "Method Name") { var oBS=TheApplication().GetService("Workflow Process Manager"); var Inp=TheApplication().NewPropertySet(); var Out=TheApplication().NewPropertySet(); Inp.SetProperty("Object Id",TheApplication().ActiveBusObject().GetBusComp("Business Component Name").GetFieldValue("Id")); Inp.SetProperty("ProcessName","Workflow Name"); oBS.InvokeMethod("RunProcess",Inp,Out); return (CancelOperation);   }