You are here

Siebel

How To Uncompress Files in the Siebel File System with the Original File Names?

The Siebel File System stores all file attachments in a compressed format with a proprietary naming convention. Neither Siebel InterActive nor the Fulcrum SearchServer can access or read these files directly. If either of these modules is used, maintain a copy of all file attachments in an uncompressed format in a separate directory accessible to SearchServer or Siebel InterActive. Because the Siebel client also stores file attachments in a compressed format, Fulcrum cannot be used for local searches on the client unless an uncompressed directory is also maintained there.

Siebel Systems provides two utilities to maintain the uncompressed directories. The utilities are located in the SIEBEL_HOME\siebsrvr\bin directory and they were designed only for Windows Operating System. Also they were designed for Fulcrum search and Siebel interactive and then they should not be used for anything else. 

NameDescription
ssemuzip.exeUncompresses the files retaining some Siebel information like Table Name, Row ID and Revision ID in the file name.
sseunzip.exeUncompresses the files to the original file names

For example: When a file named "Timesheet.xls" is added to the Siebel File System, the Siebel application compresses the file and renames the file to the Table Name, Row Id and Revision Id and adds a .SAF as the extension. The compressed file name located in the Siebel File System directory would be in the format X.Y.Z.SAF for example:

S_LIT_1-JH_1-3.SAF

Where

  • X is the Table Name, in this example, it has been set to the value S_LIT
  • Y is the Row Id, in this example, it has been set to the value 1-JH
  • Z is the Revision Id, in this example, it has been set to the value 1-3

After the ssemuzip.exe utility has uncompressed the files, the file names are modified and contain the following Siebel information. For the above example, the new file that is uncompressed by the ssemuzip.exe utility is called:

C:\siebsrvr\BIN>ssemuzip c:\lit c:\siebfile\lit S_LIT
....
Processing c:\siebfile\lit...
Finished Processing files for table S_LIT in the Siebel File System

For the above example, the uncompressed file located in the c:\lit directory would be called:

Timesheet_S_LIT_1-JH_1-3.xls

If you are interested in uncompressing the above file and maintaining the original file name, then apply the workaround that is documented below. NOTE: Examples have been provided for the Microsoft SQL Server and Oracle database as well as for the Windows platform. The workaround can also be applied to the DB2 database as well as the UNIX platforms.

The sseunzip.exe utility decompresses one file at a time and allows the uncompressed file to be renamed to the original name. After running the SQL queries, the results should be copied to a batch file that can be run in a DOS command window which will extract the files to a directory of choice with the original file names. The following SQL queries can be used as a guide. Run separate SQL queries for each table that contains documents. Use the values shown below as examples of what values to supply when you run the SQL queries in your own environment:

Siebel Server directory:           c:\sea\siebsrvr
Siebel File System directory:      c:\sea\siebfile\<subdirectory>
Export directory:                  c:\lit
Table Name:                        S_LIT

Microsoft SQL Server Database

  1. Use the Microsoft SQL Server Query Analyzer tool to run the SQL query below. Log in and change to the Siebel Database.

  2. Under the Tools > Option menu, choose the Results tab and do the following:

    1. Set the Default results target: Results to File...
    2. Uncheck the box: Print column headers (*)

     

  3. Under the Tools > Option menu, choose the Connection Properties tab and do the following:

    1. Check the box: Set nocount

     

  4. In a SQL query window, copy and paste the following select statement and change the bold values to match the values applicable to your Siebel environment:

    SELECT 'c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_' + ROW_ID + '_' + FILE_REV_NUM + '.SAF "c:\lit\' + FILE_NAME + '.' + FILE_EXT + '"' FROM S_LIT WHERE FILE_NAME IS NOT NULL

    NOTE: Make sure the single and double quotes are straight quotes when you run the SQL query in the Microsoft SQL Server Query Analyzer. The results from running the above query should be saved to a file called extract.bat on your file system.

Oracle Database

  1. Use the Oracle SQL*Plus tool to run the SQL query below. Log into the Siebel database instance.

  2. Under the Options > Environment menu, select the following:

    • Buffer Width = 300
    • Line Size = 300
    • Page Size = 50000
    • Heading = Off

     

  3. Copy and paste the following select statement and change the bold values to match the values applicable to your Siebel environment:

    SELECT 'c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_' || ROW_ID || '_' || FILE_REV_NUM || '.SAF "c:\lit\' || FILE_NAME || '.' || FILE_EXT || '"' FROM S_LIT WHERE FILE_NAME IS NOT NULL;

    NOTE: Make sure the single and double quotes are straight quotes when you run the SQL query in the Oracle SQL*Plus tool. The results from running the above query should be saved to a file called extract.bat on your file system.

The results file, extract.bat file, should look like the following:

c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_1-JH_1-3.SAF "c:\lit\Timesheet.xls"
c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_00-1ACQ6_0-4L.SAF "c:\lit\Narrative Service Top 10 Most Serviced Products.doc"
c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_00-192ZO_0-VK.SAF "c:\lit\Product Line Briefing.doc"
c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_0-AIXG_0-VL.SAF "c:\lit\Sales Pipeline Briefing.doc"

NOTE: Make sure there is a carriage return at the end of the file and remove any extraneous information like the select statement or number of records returned from the query. From a Microsoft DOS command window, run the extract.bat file.

c:\temp> extract.bat

NOTE: The extract batch file will call the sseunzip.exe utility once for each file. This means that if there are 500 files in a particular table, then the sseunzip.exe utility is called 500 times. This process can be time consuming since it has to uncompress all the files. The results from running the sseunzip.exe will look like the following:

c:\temp> extract.bat

c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_1-JH_1-3.SAF "c:\lit\Timesheet.xls"

Unzipped 1 files.

c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_00-1ACQ6_0-4L.SAF "c:\lit\Narrative Service Top 10 Most Serviced Products.doc"

Unzipped 1 files.

c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_00-192ZO_0-VK.SAF "c:\lit\Product Line Briefing.doc"

Unzipped 1 files.

c:\sea\siebsrvr\bin\sseunzip.exe c:\sea\siebfile\lit\S_LIT_0-AIXG_0-VL.SAF "c:\lit\Sales Pipeline Briefing.doc"

Unzipped 1 files.

Below is possible error that you might encounter when running the ssesunzip.exe utility and actions that you can take to try to resolve the error:

Error: Unable to open compressed file (d:\sea752_o\fs\att\S_SR_ATT_99-4GVR4_99-1DW2.SAF).
SSEUNZIP: Unable to open 'd:\sea752_o\fs\att\S_SR_ATT_99-4GVR4_99-1DW2.SAF'.
Please verify that you are using the correct version of SSEUNZIP.

Suggestion: Confirm that the file listed above does exist in the directory that is specified. In some cases, it could be that the file name is not specified correctly or the directory is not specified correctly. If there are problems with the file or directory, make the necessary corrections to the extract.bat file and rerun it again.

If the file does not exist, then edit the extract.bat file to remove the file reference. Another cause could be that the file does exist but is located in a different Siebel File System on a different Siebel Server. You will need to rerun the above SQL query and point to the other Siebel Server and the other Siebel File System.
 

How to split up the Siebel filesystem with sfspartition in Siebel 8

Bookshelf 8.0,
Siebel System Administration Guide > Siebel Server Infrastructure Administration > Administering the Siebel File System >
Partitioning the Siebel File System

is using wrong parameters - Change Request 12-1LMZIFJ
has been logged to correct this, but was closed without implementing changes in bookshelf, as it focussed on functionality issues.

Change Request 12-1UIAFCF was logged 8/19/2009 to explicitly request changes to bookshelf 8.0 and 8.1, but often change requests are only implemented in further major versions, so please accept our apologies if bookshelf is still wrong.

A) In bookshelf, supported parameters are documented as /u, /p, /c, /d, /f, /o, /l.
But these are not the supported parameters. sfspartition fails if we use these parameters.

invoking sfspartition (without parameters) from the command prompt shows the following supported parameters:

/O Current Siebel File System paths (Seperate by comma) (Required) /F New Siebel File System paths (Seperate by comma) (Required)
/L Current Hash Level (Default: -1)
/N New Hash Level (Default: -1)
/H Don't append att folder to the file system path (Default: N)

Please find below (section B) a working set of instructions how to use sfspartition on AIX - note this only works from Siebel version 8.0, not before.

Before you change anything,

0. Please backup your current siebns.dat
(srvmrgr command
backup nameserver) - this will allow you to revert to the current state by copying the resulting siebns.dat_<date>_<time> to siebns.dat if needed later

B) Steps followed to test sfspartition are as below:

1) Suppose you want to move the files into /export/home/qa1/21112/fs1, /export/home/qa1/21112/fs2 directories from the current /export/home/qa1/21112/fs directories then:
Create 2 folders: fs1, fs2 under /export/home/qa1/21112. Create the same subfolders that are present under fs, in fs1 and fs2 also.
eg: Under fs1 and fs2,
mkdir att cms Marketing Profile Reports userpref atttmp eim packages red ssp
Give full permissions to fs2, fs3 and its subfolders and share them.
chmod -R 777 fs1 fs2

2) At enterprise level execute:
srvrmgr> Change ent param FileSystem="/export/home/qa1/21112/fs1,/export/home/qa1/21112/fs2"
Bounce the siebel servers

3) Go to siebsrvr/bin directory and execute the following cmd:

sfspartition /O "/export/home/qa1/21112/fs" /F "/export/home/qa1/21112/fs1,/export/home/qa1/21112/fs2" /H Y

The files will be moved from fs to fs1 and fs2 and the attachments added in the UI prior running sfspartition are still accessible. Also .SAF files for newly created attachments in UI move into either fs1 or fs2.

4) Also importantly, the FileSystem needs to be changed for all components that have it set explicitly in the siebns.dat - for example, but not limited to: txnproc, txnroute, txnmerge components (otherwise after synchronization the attachments wont be accessible and it throws an errormsg)

change param filesystem="/export/home/qa6/21032/fs1,/export/home/qa6/21032/fs2" for comp txnproc
change param filesystem="/export/home/qa6/21032/fs1,/export/home/qa6/21032/fs2" for comp txnmerge
change param filesystem="/export/home/qa6/21032/fs1,/export/home/qa6/21032/fs2" for comp txnroute

C) Before you change any component parameters, open a COPY of your siebns.dat file (from <Gateway Root>/sys on unix)
with a text editor and check all occurrences of
FileSystem

Only the components that have this parameter set already need to have the parameter changed - all others will inherit it from the Enterprise parameter setting.

D) As a final check, when you have finished setting the component parameters with srvrmgr per C),
you should no longer have the name of your initial filesystem (before the split up)
in your siebns.dat.


Note that this document applies to Unix and Windows - the windows executables allow both / and - to specify command line options.

IBM LDAP Password policy attributes

 Password policy attributes : 

  1. pwdAttribute - pwdAttribute attribute specifies the name of the attribute to which the password policy is being applied, this attribute can only be set to the userPassword attribute.
  2. pwdMinAge - pwdMinAge attribute specifies the number of seconds that must pass since the last password modification, before modifying a password.
  3. pwdMaxAge - pwdMaxAge attribute specifies the number of seconds after which a modified password will expire (0 means password does not expire)
  4. pwdInHistory - pwdInHistory attribute specifies the number of passwords, which are stored in the pwdHistory attribute.
  5. pwdCheckSyntax - pwdCheckSynatx attribute indicates whether or not the password will be checked for syntax. ( '0' means syntax checking will not be enforced, '1' means the server will check the syntax, and if the server is unable to check the syntax (due to a hashed password or other reasons) it will be accepted. '2' means the server will check the syntax, and if the server is unable to check the syntax it returns an error refusing the password)
  6. pwdMinLength - pwdMinLength attribute specifies the minimum length of the password string. The server will check the minimum length depending upon the value of the pwdCheckSyntax attribute.
  7. pwdExpireWarning - pwdExpireWarning attribute specifies the maximum number of seconds before a password is about to expire that expiration warning messages will be returned to an authenticating user.
  8. pwdGraceLoginLimit -pwdGraceLogingLimit attribute specifies the number of times an expired password can be used to authenticate user.
  9. pwdLockout- pwdLockout attribute indicates whether or not a password may be used to authenticate after a specified number of consecutive failed bind attempts.
  10. pwdLockoutDuration - pwdLockoutDuration attribute specifies the number of seconds that the password cannot be used to authenticate due to specified 'pwdMaxFailure' failed bind attempts.
  11. pwdMaxFailure - pwdMaxFailure attribute specified the maximum number of consecutive failed bind attempts allowed, after which the password may not be used to authenticate.(0 means the value of pwdLockout will be ignored)
  12. pwdFailureCountInterval - pwdFailureCountInterval attribute specifies the number of seconds after which the password failures are removed from the failure counter even though no successful authentication has happened.
  13. pwdMustChange - pwdMustChange attribute specifies whether or not the users must change their password when they first bind to the directory after the administrator has reset their password.
  14. pwdAllowUserChange -pwdAllowUserChange attribute specifies whether or not the users are allowed to change their own passwords
  15. pwdSafeModify - pwdSafeModify attribute specifies whether or not the existing password must be sent when changing a password.
  16. ibm-pwdPolicy - ibm-pwdPolicy attribute specifies whether the Password Policy is turned ON or OFF.
  17. passwordMinAlphaChars - passwordMinAlphaChars attribute specifies the minimum number of alphabet characters which the password string must have. If the server is unable to check the number of alphabetic characters, then the server will continue processing depending on the value of the pwdCheckSyntax attribute.
  18. passwordMinOtherChars - passwordMinOtherChars attribute specifies the minimum number of numeric and special characters which the password string must have. If the server is unable to check the number of other characters, then the server will continue processing depending on the value of the pwdCheckSyntax attribute.
  19. passwordMaxRepeatedChars - passwordMaxRepeatedChars attribute specifies the maximum number of times a given character can be used in a password. If the server is unable to check the actual password characters, then the server will continue processing depending on the value of the pwdCheckSyntax attribute.
  20. passwordMinDiffChars - passwordMinDiffChars attribute specifies the minimum number of characters in the new password that must be different from the characters in the old password, and any passwords stored in the pwdHistory. If the password has been one-way encrypted the server is unable to check actual password characters, then the server will continue processing depending on the value of the pwdCheckSyntax attribute.

 Product Alias/Synonym

TDS
ITDS
IDS

Integrating Barcode Reader with Siebel Applications

This document has been written to demonstrate how to enable barcode toolbar in Siebel Call center, How to Map fields such that the barcode input always goes into a particular field and automatically perform tasks like insert.

About Barcode Scanner and Barcode Scanner

A Barcode reader is one which scans a Printed Barcode, Decode it and Convert it to Data. Like a flatbed scanner, it consists of a light source, a lens and a photo conductor translating optical impulses into electrical ones. It contains a Decoder circuitry that can analyze the barcode image, convert into Data and places it in buffer.

Barcode Reader pastes the data where ever there is a cursor to accept input or just keep the input in buffer.

Using Barcode Reader in Siebel Call Center Application

             Barcode Reader can be used in Siebel in two ways

  • By Placing the cursor in the desired field and firing the barcode reader
  • By enabling the Barcode toolbar and mapping fields to accept the barcode input

By placing the cursor in the desired field and firing the barcode reader

First method requires no extra configuration. Any plug-and-play barcode reader can paste the data of the barcode if it finds a cursor. Means that we can place the cursor in the required field, read the barcode using the barcode reader and automatically the data gets into the field.

            Drawback of this method is that it is not automatic and every time we have to place the cursor in the right field. For example If Siebel has to automatically retrieve a record based on an assert number on a product when we read its barcode, then we cannot use this method.

Second method is by using Siebel barcode toolbar and mappings.

Using Barcode Toolbar

 

 

Barcode toolbar has three modes new, Update and Find.

 

  • When used in New Mode, Siebel Creates a new record, inserts the data extracted from the barcode in the Field specified in the mappings(Mapping is covered in the later part of the document)
  • When used in Find mode, Siebel fetches a record with the field(Field specified in the mapping) value equal to barcode value and displays it.
  • When used in Update mode, Siebel fetches a record with the field(Field specified in the mapping) value equal to barcode value and keeps it ready for updating

Enabling Barcode Toolbar

Barcode toolbar is by default Present in Siebel Field Service. To enable it in Siebel call center, we need to edit uagent.cfg with a property value.

Barcode Toolbar accepts inputs only when it is Active.

Steps to Enable Barcode Toolbar in Siebel call center

Step 1: Find uagent.cfg

Step 2: “ShowBarcodeToolbar” parameter must be added and set to “True”

This parameter will not be available in uagent.cfg. we have to add it in between n “MessageBarUpdateInterval” and DataSource parameters.(shown in Fig. below )           

Step 3: Launch the application using this CFG file.

 

Following this process will display a Barcode Toolbar in Siebel Call Center.

For a server configuration, a barcode toolbar parameter must exist in the SFSObjMgr. The name

of this parameter is Barcode Toolbar Enable Flag. A value of TRUE enables the barcode toolbar,

While a value of FALSE disables it.

Barcode Mappings

For a Barcode toolbar to accept data from a barcode reader, we have to map barcode data

 Steps to map barcode data to views, tabs, and fields

Step 1: Navigate to the Administration - Service screen > Barcode Mappings view.

Step 2: Create a new record for every field that is to receive barcode data.

Step 3: Complete the fields.

 Based on these mappings, each View-Applet pair has some fields to accept barcode data that appear in a dropdown list

 

Based on Mappings done in FS Barcode Mappings, the Data automatically gets pasted into a particular field and performs particular task like insert, update, find etc 

Configuring Barcode Reader and Simulating Barcode Toolbar without a barcode reader

 For Siebel to accept the data from the barcode reader,

  • Barcode Toolbar should be active
  • The data should be prefixed with Ctrl+/ and suffixed with Ctrl+\.

These Signals act as Start of Transmission and End of Transmission messages to Siebel. So to use a barcode reader, it should be programmed in such a way that the data is suffixed and prefixed with these codes. (Almost all barcode readers are configurable. contact your vendor or customer care for details)

 We can also test barcode toolbar functionality without a barcode reader. To do this,

  • just go to a view and the applet into which the data should be placed
  • Select appropriate field from “Use” dropdown of Siebel barcode toolbar
  • Hit Ctrl+/
  • Type data
  • Hit Ctrl+\

 These steps allow you to test the functionality of the barcode toolbar and validate mapping without actually using a Barcode Reader.

Siebel Multi Lingual Changes – Considerations

 

AreaSub AreaCode Change ?
InfrastructureBy using OS utilities, install the required Languages on -
Siebel Server
Siebel Client
No
InfrastructureDatabase
Ensure that Code Page of Database Supports the required Languages
No
InfrastructureDownload & Install the required Language Packs-
Siebel Web Server, SWSE
Siebel Server,
Siebel Tools,
Siebel Client,
Siebel Sample Database
No
InfrastructureBy default, Development Sample database would have only ENU Data.
Need to import the data for each Language by using Siebel utilities
No
DevelopmentPutting Captions/Labels –
Need to use Symbolic Strings while giving Captions, Labels, Titles
Siebel would give translations for Vanilla Objects. Need to to create new Symbolic Strings for new Titles, Captons, Labels, etc.
Yes
DevelopmentLOVs
LOVs need to created for each Language
No
DevelopmentError Messages
By default, the User Messages / Error Messages would be in ENU
For giving message in respective Language, need to 2 things –
Using Message Object, create message in each required Language.
While explicitely writing messges in Scripts, use reference to Message Object
Yes
DevelopmentCheck in / Check Out
It can be done only in one language at a time
No
DevelopmentCompilation
Application needs to be compiled in each language separately.
But for initial testing purpose, it can be compiled in English & tested
No
DevelopmentSearch Spec
Search Spec on LOV should use function LookUpValue
Yes
DevelopmentWorkflow - Siebel operation step: For search specs here, use the LookupValue function.Yes
DevelopmentSetting PreDefault value on BC Field should use LookValueYes
DevelopmentEmail Communication Templates -
Use appropriate User Locale for creating Template

Set the correct outbound communications preferences for a User. This will decide the Templates shown while sending emails
No
DevelopmentCorrespondence Templates -
Use appropriate User Locale for creating Template
No
IntegrationEach character’s Code Point needs to be converted while integrating data between 2 systems having different Code Page. Use Siebel provided Business ServicesYes
SetupSetup the System Preferences like -

TimeZone
Currency
Date & Time Format
Number Format
Decimal Format
No
Planning & ExecutionTranslation Efforts -

Emails, Phone Conversations
All the relevant documents
Testing Documents
Error Messages, Screen Labels, etc
No
Configuring Actuate Siebel Reports Server – Post Installation Tasks

Following Tasks should be performed after installing the Siebel Reports Server which consists of Actuate iServer, Actuate Active Portal JSP and Actuate HTTP Service.

Verify Installation of Actuate iServer and Management Console:

Check the actuate HTTP Service and Actaute Process Management Daemon services are running:Verifying Actuate Service on Actuate Server

Open browser and access the actuate mangement console login page:  http://localhost:8900/acadmin/login.jsp

Actuate Server Login Page

Using Default User Name Administrator, click Log In. Successful login denotes the successful installation of actuate server.

Post installation Tasks for the Siebel Reports Server:

Define the external host and symbolic URLs using HTTP:

Open the Siebel application.

• Navigate to Administration – Integration > WI Symbolic URL List.

• From the visibility filter, select Host Administration.

• Query for records where Virtual Name is rshost.setting rshost parameter in Siebel.

• In the Name field, enter the name of the Actuate Active Portal JSP machine and the Actuate Active Portal JSP port number to use (for example, server1:8700).

• Save the record.

NOTE: Do not change the value in the Virtual Name field. 8700 is the default port for the Actuate HTTP Server for HTTP.

Enabling the Siebel Reports Server with the Siebel Web Client:

To configure the Reports Server parameters for the Application Object Manager

• Navigate to Administration – Server Configuration > Servers.

• In the top list applet, select the Siebel Server that you want to configure.

• In the middle applet, click the Components tab.

• Choose the relevant Application Object Manager.

• In the bottom applet, click the Parameters tab.Siebel ObjectManater parameter settings

• Change the following parameters:

Actuate Server Enable Flag = True

Actuate Server Report Server Host = Valid formats for this parameter are:

IPAddress:PortNumber/EncyclopediaVolume (example: 1.160.10.240:8000/volume1)

ReportsServerHost:PortNumber/EncyclopediaVolume (example: server1:8000/volume1)

Actuate Server Connect String = Connect string for a Siebel Server:

siebel.TCPIP.None.None://SiebelServerHost:SCBPort/EnterpriseServerName/ApplicationObjMgr_language

where:

siebel.TCPIP = Networking protocol

none.none = The encryption type and compression type

SiebelServerHost = Name of the host on which the Siebel Server is installed

SCBPort = Listening port number for the SCBroker component (2321 by default)

EnterpriseServerName = Name of your Siebel Enterprise Server

ApplicationObjMgr_language = Type of Object Manager and Language Pack for the Siebel

application you are installing, for example:

SCCObjMgr_enu for SiebelCallCenter Object Manager for U.S. English,

PManagerObjMgr_fra for Siebel Partner Manager Object Manager for French

Synchronizing Siebel Users to the Reports Server:

To synchronize Siebel users to the Reports Server

Log in to the Siebel application as the Reports Administrator.

Navigate to Reports Server > User Administration.Synchronizing Actuate users

NOTE: The recommendation is to synchronize users in smaller groups, particularly when a large number of users is synchronized.

With the first user highlighted, click Synchronize One.

The Siebel Users window appears:

Type the Reports Administrator user name and password.

A confirmation message, stating that the user was successfully added to the Reports Server, appears in the Siebel Users window.

For the remaining users, click Synchronize All.

Migrating/Deploying the Custom reports on the report Server:

Login to Actuate Encyclopedia volume to upload the ROX files to the report server

User Name: Administrator

Password: <Password>

Click on Add File to add the Custom ROX files to the report server.

Next click browse to locate the file:Actuate ROX permission setting

Click open and upload the ROX file. Select the roles to give access to the reports: Select all and set the following rights to access.

Click OK to close.

Siebel Reports Server is enabled for the siebel web client. Now you can test it by opening any of the actuate reports from the reports button.

Debugging Profile Attribute
There would have been umpteen number of situations where you might have felt the need for an easier way of debugging profile attributes than logging the values in a script, haven't you?.If yes, then here is a much simpler way and you can do this on the fly.
When the web client is up, replace the URL with the following script:
javascript: alert(theApplication().GetProfileAttr("gNewRecord"));where 'gNewRecord' is a profile attribute.
 
1.      Place the below code in the address bar of the Siebel Application and hit Enter.
javascript:alert(theApplication().GetProfileAttr("Login Name")),results in SADMIN or CCHENG or valid login id.
 
 
2.      Similarly to set a particular Profile Attribute you can write,
javascript: alert(theApplication().SetProfileAttr("Test", "TestValue"));
 
 
3.      javascript: alert(var bo = theApplication().ActiveBusObject(););
This will return you the active bus object and assign it to the variable bo.
 
 
4.      javascript: alert(theApplication().ActiveBusObject().GetBusComp("Contact").GetFieldValue("Last Name"););
This will return you the Contact’s Last Name in that instance. Similarly SetFieldValue on the fly can also be achieved.
Limit Text Field Length - Text Length Override
User is using a column "PROTOCOL_NAME" (varchar-100) to store the value entered in the Field "Name"(varchar-30) but can enter more than 30 characters.
It seems intuitive that a field attribute called "Text Length" would set a limit to the amount of text that could be entered into a field. But the fact is that the amount of text that a field will accept is normally determined by the size of the underlying database column and the text length property is ignored.
 
Solution:
This can be achieved by the following ways-
1. Find a database column that has the exact number of characters you need.
2. Use a field validation that will popup an error message if a user enters more characters than required.
3. Scripting can be used to alert the user and do not allow to save the record if the number of characters exceed a specific limit.
 
An ideal solution for the problem would be the use of a Field User Property "Text Length Override"
 
This user property allows you to specify that the text length of the field, rather than that of the database column, defines the maximum field length.
 
 
Syntax:
 
Field User Property:
Name - Text Length Override
Value – TRUE
 
The value TRUE makes use of the length specified at the Text Length Property of the Field and overrides the one at the database level.
 
 
Note:Use this for Text Fields
Refresh an applet instead of the Business component

User wants to update the data being displayed on UI after performing some validation and updates via a script on the underlying BC.

Solution:

A vanilla Business Service “FINS Teller UI Navigation” can be used to refresh an Applet after updating the underlying data, without breaking the current query.

Approach:

1.  One of the most commonly used approach is to invoke the "RefreshRecord" method on the Business Component. However, this does not promise to work on all Business Components.

2.  Another alternative is to call the BS method "RefreshCurrentApplet" on the BS "FINS Teller UI Navigation".

Syntax:

TheApplication().GetService("FINS Teller UI Navigation").InvokeMethod ("RefreshCurrentApplet", TheApplication(). NewPropertySet(), TheApplication().NewPropertySet());

Example

BusComp_WriteRecord()

{

Code Goes Here

//TheApplication().InvokeMethod(“RefreshBusComp”);    --Commented

TheApplication().GetService("FINS Teller UI Navigation").InvokeMethod ("RefreshCurrentApplet", TheApplication(). NewPropertySet(), TheApplication().NewPropertySet());

}

Note:You just need to place the above syntax instead of TheApplication().InvokeMethod(“RefreshBusComp”). This method is supported from Siebel 7.5 onwards

Identify drilldown list columns for Validations : SWEField
We may need to perform certain operation/validation when user drilldown on a particular field in a List Applet.
Vanilla provides a method Drilldown at applet level which can be captured.
The problem here is if there are more than one drilldown list column in applet, clicking on any of them will trigger our validation logic.
 
Solution :
The Workaround to the problem is to use the SWEField property passed to the Applet_PreInvokeMethod  property set. (In the Applet_PreInvokeMethod event in Browser script, if Method Name is “Drilldown” , we will find the Id specific to the drilldown field. This value (Id)  has a specific format (s_1_2_24_0)which changes from list column to list column and record to record. The fourth part of  SWEField property (i.e. 24) remains constant  for a particular list column across all records.
 
Applet browser side sample code:
To Set profile Attribute after identifying drilldown list column.
 
function Applet_PreInvokeMethod (name, inputPropSet)
{              switch(name)
                {
                                case "Drilldown":
                               alert(inputPropSet.GetProperty("SWEField")); // Identify SWEField Value for list Column.Remove in actual code
                                var SWEFieldParts = inputPropSet.GetProperty("SWEField").split("_");
                                if(SWEFieldParts[3] == "24")    // Column SR #
                                {
                                                theApplication().SetProfileAttr("SC_Edit_Drilldown", "Y");
                                }
                }
                return ("ContinueOperation");
}
 
Applet server script sample code:
To Get Profile Attribute which is set at browser side using above code to identify drilldown list column.
 
function WebApplet_PreInvokeMethod (MethodName)
{              if(MethodName == "Drilldown")
                {             
                                if(TheApplication().GetProfileAttr("SC_Edit_Drilldown ") == "Y")
                                {              TheApplication().SetProfileAttr("SC_Edit_Drilldown", "N");
                                // Logic to perform validations
                                }
                }
                return (ContinueOperation);
}

Pages

Subscribe to Siebel