This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.
Summary: this section describes how to manage the analysis of your Siebel applications in the CAST Management Studio, following delivery of the source code.

The analysis process for your Siebel applications is designed to work with the two analysis service schemas that were created earlier (see Siebel 5.1 - Installation) - note that the names of the schemas are just examples and they can be called anything:

  • SIEBEL5_LOCAL: Analysis Service that will store the analysis results for the Project repository
  • SIEBEL5_V_LOCAL: Analysis Service that will store the analysis results for the Vanilla repository

Please note that the following document refers to SQL scripts delivered in text files with the extension. These files are located as shown below and are delivered for both Oracle and CAST Storage Service implementations:

  • %PROGRAMDATA%\CAST\CAST\Extensions\com.castsoftware.siebel.<version>\CMS_ConfigScripts\CastStorageService
  • %PROGRAMDATA%\CAST\CAST\Extensions\com.castsoftware.siebel.<version>\CMS_ConfigScripts\Oracle

Vanilla: Analysis setup and configuration

Click here to expand...
  • Run the CAST Management Studio
  • Validate and choose the connection profile for the SIEBEL5_V_MNGT Management Service schema (i.e. for the Vanilla repository)
  • Click Next to start the setup wizard

  • Enter the CAST License Key and click Next:

  • Configure the folders (note that the required folders have changed in CAST AIP ≥ 8.3.x):
CAST AIP 8.3.x

Click to enlarge

  • Source Delivery: folder must be the exact same folder as the folder configured during the setup of the CAST AIC Portal
  • Source Deployment: use the default folder or setup your own custom folder.
  • Logs/LISA/LTSA: use the default folder or setup your own custom folder.
CAST AIP 8.2.x

Click to enlarge

  • Source Delivery folder must be the exact same folder as the folder configured during the setup of the CAST AIC Portal
  • Source Deployment: use the default folder or setup your own custom folder.
  • Click Finish to launch the CAST Management Studio.

Configure CAST Management Studio preferences

Once the CAST Management Studio has launched, open Windows/Preferences:

CAST AIP 8.3.x

Select Cast General:

Click to enlarge

  • Audience: select Expert
CAST AIP 8.2.x

Select Cast General:

Click to enlarge

  • Log Root Directory/Large intermediate storage area/Large temporary storage area: use the default folder or setup your own custom folder.
  • Audience: select Expert
None of these actions is required in CAST AIP 8.3.x.

Import the Assessment Model

  • Open the Dashboard Service editor for the Dashboard Service (SIEBEL5_V_CENTRAL) that is associated to the Management Service you are currently connected to.
  • Click the Import Assessment Model option - the Assessment Model will then be displayed in the CAST Management Studio in the Assessment Models view.

Configure the Assessment Model

  • Open the imported Assessment Model and check that the parameter settings for the Siebel rules are adapted to your project.
  • To do so, go to the Contextual Parameters tab and search for names that start with "Siebel:"
Note that the Search may not function correctly - if this is the case, please quit the CAST Management Studio and then re-run it (ensuring that you connect to SIEBEL5_V_MNGT (i.e. the Vanilla)

Click to enlarge


  • To check or modify a parameter, edit the parameter - this will open the parameter in an editor window. For example, for the naming conventions, edit the parameters "Siebel: Prefix XXX":

Click to enlarge


  • Check the following tables and modify each parameter to the value defined in the Project value column.

Multiple values, char: as they are related to naming convention, they must be adapted to the project:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project value

1520380

Siebel: Applet's name should contain the type

Siebel: Suffix Applet - Association List

Assoc Applet




Siebel: Suffix Applet – Detail

Detail Applet or Popup Applet




Siebel: Suffix Applet – MVG

Mvg Applet

MVG Applet



Siebel: Suffix Applet - Pick List

PickList Applet

Pick Applet



Siebel: Suffix Applet - Playbar

Playbar Applet




Siebel: Suffix Applet - Standard

Standard Applet




Siebel: Suffix Applet - Task

Task Applet

Form Applet

1521700

Siebel: Table's name should have a designated prefix like XX_LABEL

Siebel: Prefix Table

CX_


1521702

Siebel: Business Component's name should begin with Company prefix

Siebel: Prefix Business Component

AM_

ACME_

1521704

Siebel: Applet's name should begin with Company prefix

Siebel: Prefix Applet

AM_

ACME_

1521706

Siebel: View's name should begin with Company prefix

Siebel: Prefix View

AM_

ACME_

1521708

Siebel: Screen's name should begin with Company prefix

Siebel: Prefix Screen

AM_

ACME_

1521710

Siebel: Business Object's name should begin with Company prefix

Siebel: Prefix Business Object

AM_

ACME_

1521712

Siebel: Business Service's name should begin with Company prefix

Siebel: Prefix Business Service

AM_

ACME_

Single value, numerical: As a first approach, you can stick to the default values:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project Value

1520180

Siebel eScript: Avoid Functions with High Cyclomatic Complexity

Siebel: Max CC

15


1520442

Siebel eScript: Avoid Functions with a low comment/code ratio

Siebel: Min comment ratio

5


1520494

Siebel eScript: Avoid complex PreGetFieldValue Functions

Siebel: Max LoC for PreGetFieldValue

50


1520540

Siebel: Avoid too many MVG on list applet

Siebel: Max MVG Applet

5


1520726

Siebel eScript: Avoid putting all code in the Applet_PreInvokeMethod event

Siebel: Max LoC for Service_PreInvokeMethod

20


1520728

Siebel eScript: Avoid putting all code in the Service_PreInvokeMethod event

Siebel: Max LoC for Service_PreInvokeMethod

20


1520730

Siebel eScript: Prefer SWITCH over nested IF-THEN-ELSE in Functions

Siebel: Max Nested IF

5


1520734

Siebel eScript: Avoid using multiple conditions in IF constructions in Functions

Siebel: Max Condition in IF

5


1520860

Siebel: Avoid Business Objects referencing too many Business Components

Siebel: Max Buscomp

50


1520862

Siebel: Avoid Business Components referencing more than X tables

Siebel: Max Table

40


1520864

SiebelReview: Too Many Applets on a View

Siebel: Max Applet

10


1520866

SiebelReview: Excessive Number of List Columns in a List Applet

Siebel: Max number of columns

50


1520868

Siebel eScript: Avoid Functions with more than X variables

Siebel: Max Variables

15


1520880

Siebel eScript: Avoid Functions with more than X Lines of Code

Siebel: Max LoC

30


Manage the Application, accept the delivery and set as current version

  • In the CAST Management Studio, Application view, click Manage an Application registered in AIC Portal….
  • The wizard displays all available applications. Select the "Vanilla" application:

  • Assuming the packages have already been delivered as explained in Siebel 5.1 - Application onboarding, the Application editor will show the delivered Version in the Delivery tab:


  • Select the Version and then click the Manage the delivery… option to open the CAST DMT. Check the packaging is correct:
    • The Content state of the package should be showing Packaging successful
    • In the Package content tab, you should see one project named Vanilla for the Siebel Extractor Project type:

  • Quit the CAST Delivery Manager Tool.
  • Back in the CAST Management Studio, select the Version and click Accept delivery and use it as current version. You should use the default values in the wizard that is displayed.
Note that this procedure can take a long time as it deploys the source code. If you want to increase the speed, you should deactivate any real-time anti-virus scanning that may be configured on the Deployment folder.

Configure Modules

  • In the Application editor, click the Modules tab.
  • Ensure the option to generate a Full Content module is ticked (this should be the case already):

  • You are now ready to generate a snapshot, see below.
Note that no other options should be ticked and no User Defined Modules should be created - remove them if any exist.

Vanilla: Generate a snapshot and check results

Click here to expand...

Generate a snapshot

  • Generate a snapshot for the Vanilla Application - ensure this includes an analysis:

Post snapshot checks

Check log files

You should ensure that no error nor warning messages are reported and that any unusual message recorded in the log file should be reported to CAST Support. When using the GUI, navigate to each analysis execution item and then click the log link: 

Analysis warning messages: end of comment '*/' not found

During the analysis, you may see warnings in the analysis log referencing certain scripts when the script is not syntactically valid. Typically, this has been seen in scripts related to the Vanilla standard object "CSSSWEFrameWebCallScriptPlayer". The impact on results is very low since the analyzer will just ignore the content of these invalid scripts. Potential warning messages:

  • end of comment '*/' not found

Check the results in the CAST dashboards

In particular, you should use the Benchmarking feature in the legacy CAST Engineering Dashboard - CED to help perform an inventory check:

  • Verify the number of objects of major object types (Applet, Business Service, Business Component,...) match the expected numbers.
  • Please note that the Project application is the sum of ADDED modules and MODIFIED modules. This excludes the standard objects (unchanged from the Vanilla).

Project: Analysis setup and configuration

Click here to expand...
  • Run the CAST Management Studio
  • Validate and choose the connection profile for the SIEBEL5_MNGT Management Service schema (i.e. for the Project repository)
  • Click Next to start the setup wizard

  • Enter the CAST License Key and click Next:

  • Configure the folders (note that the required folders have changed in CAST AIP 8.3.x). You should use the SAME FOLDERS as defined when you setup the analysis for Vanilla:
CAST AIP 8.3.x

Click to enlarge

  • Source Delivery: folder must be the exact same folder as the folder configured during the setup of the CAST AIC Portal
  • Source Deployment: use the default folder or setup your own custom folder.
  • Logs/LISA/LTSA: use the default folder or setup your own custom folder.
CAST AIP 8.2.x

Click to enlarge

  • Source Delivery folder must be the exact same folder as the folder configured during the setup of the CAST AIC Portal
  • Source Deployment: use the default folder or setup your own custom folder.
  • Click Finish to launch the CAST Management Studio.

Configure CAST Management Studio preferences

Once the CAST Management Studio has launched, open Windows/Preferences:

CAST AIP 8.3.x

Select Cast General:

Click to enlarge

  • Audience: select Expert
CAST AIP 8.2.x

Select Cast General:

Click to enlarge

  • Log Root Directory/Large intermediate storage area/Large temporary storage area: use the default folder or setup your own custom folder.
  • Audience: select Expert

Initial actions required when using CAST AIP 8.2.x

None of these actions is required in CAST AIP 8.3.x.

Import the Assessment Model

  • Open the Dashboard Service editor for the Dashboard Service (SIEBEL5_CENTRAL) that is associated to the Management Service you are currently connected to.
  • Click the Import Assessment Model option - the Assessment Model will then be displayed in the CAST Management Studio in the Assessment Models view.

Configure the Assessment Model

  • Open the imported Assessment Model and check that the parameter settings for the Siebel rules are adapted to your project.
  • To do so, go to the Contextual Parameters tab and search for names that start with "Siebel:"
Note that the Search may not function correctly - if this is the case, please quit the CAST Management Studio and then re-run it (ensuring that you connect to SIEBEL5_MNGT (i.e. the Project)

Click to enlarge

  • To check or modify a parameter, edit the parameter - this will open the parameter in an editor window. For example, for the naming conventions, edit the parameters "Siebel: Prefix XXX":

Click to enlarge

  • Check the following tables and modify each parameter to the value defined in the Project value column.

Multiple values, char: as they are related to naming convention, they must be adapted to the project:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project value

1520380

Siebel: Applet's name should contain the type

Siebel: Suffix Applet - Association List

Assoc Applet




Siebel: Suffix Applet – Detail

Detail Applet or Popup Applet




Siebel: Suffix Applet – MVG

Mvg Applet

MVG Applet



Siebel: Suffix Applet - Pick List

PickList Applet

Pick Applet



Siebel: Suffix Applet - Playbar

Playbar Applet




Siebel: Suffix Applet - Standard

Standard Applet




Siebel: Suffix Applet - Task

Task Applet

Form Applet

1521700

Siebel: Table's name should have a designated prefix like XX_LABEL

Siebel: Prefix Table

CX_


1521702

Siebel: Business Component's name should begin with Company prefix

Siebel: Prefix Business Component

AM_

ACME_

1521704

Siebel: Applet's name should begin with Company prefix

Siebel: Prefix Applet

AM_

ACME_

1521706

Siebel: View's name should begin with Company prefix

Siebel: Prefix View

AM_

ACME_

1521708

Siebel: Screen's name should begin with Company prefix

Siebel: Prefix Screen

AM_

ACME_

1521710

Siebel: Business Object's name should begin with Company prefix

Siebel: Prefix Business Object

AM_

ACME_

1521712

Siebel: Business Service's name should begin with Company prefix

Siebel: Prefix Business Service

AM_

ACME_

Single value, numerical: As a first approach, you can stick to the default values:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project Value

1520180

Siebel eScript: Avoid Functions with High Cyclomatic Complexity

Siebel: Max CC

15


1520442

Siebel eScript: Avoid Functions with a low comment/code ratio

Siebel: Min comment ratio

5


1520494

Siebel eScript: Avoid complex PreGetFieldValue Functions

Siebel: Max LoC for PreGetFieldValue

50


1520540

Siebel: Avoid too many MVG on list applet

Siebel: Max MVG Applet

5


1520726

Siebel eScript: Avoid putting all code in the Applet_PreInvokeMethod event

Siebel: Max LoC for Service_PreInvokeMethod

20


1520728

Siebel eScript: Avoid putting all code in the Service_PreInvokeMethod event

Siebel: Max LoC for Service_PreInvokeMethod

20


1520730

Siebel eScript: Prefer SWITCH over nested IF-THEN-ELSE in Functions

Siebel: Max Nested IF

5


1520734

Siebel eScript: Avoid using multiple conditions in IF constructions in Functions

Siebel: Max Condition in IF

5


1520860

Siebel: Avoid Business Objects referencing too many Business Components

Siebel: Max Buscomp

50


1520862

Siebel: Avoid Business Components referencing more than X tables

Siebel: Max Table

40


1520864

SiebelReview: Too Many Applets on a View

Siebel: Max Applet

10


1520866

SiebelReview: Excessive Number of List Columns in a List Applet

Siebel: Max number of columns

50


1520868

Siebel eScript: Avoid Functions with more than X variables

Siebel: Max Variables

15


1520880

Siebel eScript: Avoid Functions with more than X Lines of Code

Siebel: Max LoC

30


Configure the Content Enrichment - Siebel Vanilla Import

  • In the CAST Management Studio, Application editor, click the Content Enrichment tab.
  • Create an SQL Tool in Tools after analysis to import data from the Vanilla's analysis service.
  • In the Parameters tab:
    • copy and paste into the SQL section, the SQL from the file "Project_ContentEnrichment_2_SQL_Siebel Vanilla Import.txt" provided in the extension as explained at the top of this page (use the text file that corresponds to your chosen CAST AIP environment - i.e. CSS).

  • Now move to the Variables tab and add a variable:
    • Name = VANILLA_SCHEMA
    • Value = the name of the analysis service (in our example, SIEBEL5_v_local)

Manage the Application, accept the delivery and set as current version

  • In the CAST Management Studio, Application view, click Manage an Application registered in AIC Portal….
  • The wizard displays all available applications. Select the "Project" application:

  • Assuming the packages have already been delivered as explained in Siebel 5.1 - Application onboarding, the Application editor will show the delivered Version in the Delivery tab:


  • Select the Version and then click the Manage the delivery… option to open the CAST DMT. Check the packaging is correct:
    • The Content state of the package should be showing Packaging successful
    • In the Package content tab, you should see one project named Vanilla for the Siebel Extractor Project type:

  • Quit the CAST Delivery Manager Tool.
  • Back in the CAST Management Studio, select the Version and click Accept delivery and use it as current version. You should use the default values in the wizard that is displayed.
Note that this procedure can take a long time as it deploys the source code. If you want to increase the speed, you should deactivate any real-time anti-virus scanning that may be configured on the Deployment folder.

Configure Modules

  • In the Application editor, click the Modules tab.
  • Untick all options under Generate one module per:

  • Now create User Defined Modules as follows (the text files are provided in the extension as explained at the top of this page - use the text file that corresponds to your chosen CAST AIP environment - CSS or Oracle):
Module configurationTemplates to useWhat does this measure?

Two Modules for the entire Siebel repository named as follows:

  • REPOSITORY_ADDED
  • REPOSITORY_MODIFIED
  • REPOSITORY_ADDED: use the template "Project_Module_REPOSITORY_ADDED.txt"
  • REPOSITORY_MODIFIED: use the template "Project_Module_REPOSITORY_MODIFIED.txt"

The measurement will take all objects, including objects not used by any application. In this context, rules for dead code will be triggered.

Two Modules for EACH functional Siebel application that was included in the Project extraction in the CAST Delivery Manager Tool (i.e. you may need to create multiple pairs of Modules) named as follows:

  • <appname>_ADDED
  • <appname>_MODIFIED
  • <appname>_ADDED : use the template "Project_Module_SiebelApp_ADDED.txt"
  • <appname>_MODIFIED : use the template "Project_Module_SiebelApp_MODIFIED.txt"

Note that for <appname>_ADDED and <appname>_MODIFIED Modules, you must also ensure that the relevant Siebel Application name is specified in the SQL you paste in from the template text file by replacing the default sample 'Siebel Sales Enterprise' with your customized Application name, for example 'Siebel Power Communication':

select * from §SIEBEL_MODULE_ADDED('$(ModuleName)','Siebel Power Communication')
/

The measurement will take only those objects used inside the selected application In this context, rules for dead code are not triggered since all objects are called in the application.

Applications you specify for modules must have already been selected in the extraction (if the application has not been selected, the computation will fail in the tools computed at the end of the application by the SDK - note that with AIP, the process is not failing at that level).

Using this configuration, some custom objects may not be included. This is why CAST recommends also configuring the REPOSITORY_ADDED / REPOSITORY_MODIFIED modules as well.

Siebel objects are shared inside a single Siebel repository and if you have multiple applications in this single repository some objects may be counted in multiple different modules. This situation will also occur if you configure both RESPOSITORY_* and <appname>_* modules.

  • If you configure both types of modules, this will give you something similar to the list of User Defined Modules shown below:

Edit the modules

For all these manually created User Defined Modules, you must open and edit each one as follows:

  • Delete the default Object Filter (called My Object Filter) from the Filters tab:

  • Activate the option Build module content using an explicit list of objects in the Explicit content tab for EACH User Defined Module:

  • Delete the default SQL query template in the Explicit content tab and copy in the appropriate SQL query provided in the template txt file for EACH User Defined Module (example below shows an <appname>_ADDED module):

Note also that for <appname>_ADDED and <appname>_MODIFIED Modules, you must also ensure that the relevant Siebel Application name is specified in the SQL you paste in from the template text file by replacing the default sample 'Siebel Sales Enterprise' with your customized Application name, for example 'Siebel Power Communication':

select * from §SIEBEL_MODULE_ADDED('$(ModuleName)','Siebel Power Communication')
/

Edit the Project_ContentEnrichment_2_SQL_Siebel Vanilla Import_Variables.txt file

  • Open the following file (this text file is provided in the extension as explained at the top of this page - use the text file that corresponds to your chosen CAST AIP environment - CSS or Oracle):
Project_ContentEnrichment_2_SQL_Siebel Vanilla Import_Variables.txt
  • Edit the file and ensure you change the Value option to match the name of your Analysis Service schema for the Vanilla:
Variables:
Name=VANILLA_SCHEMA
Value=siebel5_v_local

Configure a platform variable

You now need to configure a new platform variable that defines the name of the CAST Analysis Service schema installed for the Vanilla. In our example this is "SIEBEL5_V_LOCAL":

  • In the Technologies view, double click the Common entry to open the Common editor.
  • In the Platform tab, add a new variable called SIEBEL_VANILLA_SCHEMA with a value equal to the name of the CAST Analysis Service schema installed for the Vanilla:

Click to enlarge

Note that a check is performed when the analysis/snapshot is executed and if the platform variable SIEBEL_VANILLA_SCHEMA is not defined then a warning will be displayed in the analysis log: SIEBEL-100 Variable SIEBEL_VANILLA_SCHEMA is not defined. Refer to the documentation. This will not block the execution of the analysis/snapshot, however, it is possible to cancel the execution if this message is seen.

Project: Generate a snapshot and check results

Click here to expand...

Generate a snapshot

  • Generate a snapshot for the Project Application - ensure this includes an analysis:

Post snapshot checks

Check log files

You should ensure that no error nor warning messages are reported and that any unusual message recorded in the log file should be reported to CAST Support. When using the GUI, navigate to each analysis execution item and then click the log link: 

Check the results in the CAST dashboards. In particular, you should use the Benchmarking feature in the legacy CAST Engineering Dashboard - CED to help perform an inventory check:

  • Verify the number of objects of major object types (Applet, Business Service, Business Component,...) match the expected numbers.
  • Please note that the Project application is the sum of ADDED modules and MODIFIED modules. This excludes the standard objects (unchanged from the Vanilla).