Thursday, December 9, 2010

Siebel Consumer Goods - Features & Details

Overview of Siebel Consumer Goods

§Oracle’s Siebel Consumer Goods is a multichannel application designed for the consumer goods industry and has a fully integrated model for Marketing, Sales, Customer Service Applications.

§These products help consumer goods manufacturers manage relationships across the entire demand chain.


§It is designed to manage the various complex interactions and relationships between brand owners, their partners (including brokers and distributors), their customers, and the end consumer.

§Siebel Consumer Goods provides customer, partner and employee relationship management solutions


What is Product Structure ?

  • Products in eConsumer Goods are organized in the hierarchical manner.
  • Catalog is placed at the top of the Product Hierarchy.
  • Catalog has categories placed under it as child objects and Categories further into Sub Categories.
  • Categories and sub categories are organized in the parent child relationship to form a Catalog Category Hierarchy.
  • Products are then added to this category.
  • Product lines are logical groupings of products.
What do u mean by Product Distribution ?

  • Distributing right Products to right Account is biggest challenge to Companies.
  • Siebel Consumer Goods application allows you to structure and track the distribution of a wide range of products to large numbers of accounts.
  • There are various ways for Product Distribution.
        Preparing Distribution List.
        Classifying Accounts by Market Segment.
        Creating Buying Groups.

Sales Volume Planning ( SVP )

  • Sales volume planning (SVP) is an iterative process by which companies model the projected sales for an upcoming period.
  • It is used as a part of Annual Forecasting process.
  • SVP is based on the following data sets:-
        Baseline.
        Incremental.
        Target.
        Shipment.
        Consumption.
  • The job roles or tasks for using Siebel Sales Volume Planning are:-
        DBA or Application Admin: To import periodic product movement.
        Sales Volume Planning Admin: To establish baseline and target handling quantities.
        Sales Managers: Adjust baseline, target quantities based on expectations



Definition of Trade Promotions and Types of Trade Promotions ?

  • Trade Promotions are basically of two types:-
        Corporate Promotion:-
         It’s a Company wide Promotion of a product or band.
         They run for particular time period with some tactics and the objective of promotion.
         It involves temporary price reduction and in-store displays.

        Account Promotion.
         They are more specific promotions and can be based on above promotion.
         They are basically performed at a Retailer level



Definition of Funds  and Types of Funds

  • Funds are authorised portion of money which is set aside for Promotions over a specific period of time, for specific account and specific categories of products.
  • Marketing Administrators are responsible for allocating this funds to Key Account Manager (KAM) for promotion spending.
  • There are two types of Funds:-
        Fixed Funds:-A fixed amount of money allocated in lump sum
        Accrual Fund:-Are funds in which money allocated  is based on the Product Movement

Funds Management

  • The KAM plans to run a promotion at the account with a feature and display of the new category. To
  • pay for the promotion, the KAM uses funds established by the marketing administrator. The KAM sets
  • aside funds to pay for the promotion by creating a deal for the feature and display.
  • After the promotion has run, the KAM submits payments against the deal to pay for the promotion.
  • Funds are typically created by marketing administrators for use by KAMs.

Definition of Deductions and Types of Deductions ?

  • Deductions occur when a partial payment is received against a invoice.
  • The unpaid amount is termed as Deduction.
  • The company investigates the reason for the Deduction.
  • There are two types of Deduction:-
        Trade Promotions deductions. The customer claims a deduction because of a trade promotion that is being conducted.
        HQ deductions. This type covers all other deductions, including late deliveries, goods arriving damaged or expired, and invoicing errors






§



Multi-Lingual Implementation?

Siebel does not support all languages in world. Hence it is important to seek information about how many languages customer is requesting. Usually Languages that are supported by Unicode encoding are also supported by Siebel. If any language can not support Unicode encoding, then it can not be implemented in Siebel.

Siebel ‘out of the box’ comes with some language packs. The languages chosen by Siebel are spoken/ used by larger chunk of people across the globe. While deciding upon languages for support Siebel had considered usability factor.

Some of the OOTB languages that Siebel pack come with: English, German, Dutch, Chinese, Japanese, Spanish, French, Italian, Swedish, Danish etc.
Languages that have considerable user base but have not been supported by Siebel: Turkish, Polish, Norwegian, English (British)

After finding answers to above questions, the customers must be made aware of the internationalization features/ impacts. Following is the list of Localizable Elements.

Localizable Elements

ü       Software
ü       Strings in user interface
ü       Lists of values
ü       Seed data
ü       Bitmaps
ü       iHelp
ü       Training materials
ü       Documentation
ü       Online help
ü       Reports
ü       Templates and correspondence

Non-Localizable Elements

ü       DLLs
ü       Message files
ü       Log files
ü       Splash screens – Localization Possible
ü       Help menu applets for the Siebel Web Client:
ü       About Record Applet
ü       About Siebel Applet – Localization Possible
ü       About SRF Applet
ü       About View Applet
ü       Change Records Popup Applet (SWE)
ü       Parametric Search Form Applet
ü       Technical Support Applet

5) Installation Considerations

Hardware Consideration:
Following is approximate estimate for implementation containing 2 languages. If number of Languages increase then more hardware needs to be added in proportion.
ü       Server Machine Memory: Min 4 GB RAM
ü       Server Machine HDD: Min 100 GB

Software Consideration:
ü       One Siebel server is capable of handling components 2 languages. If implementation spans across 3-4 languages then more Siebel servers must be added in enterprise.
ü       The encoding of the underlying DBMS must be Unicode. This is to ensure that the data from all languages is supported.

OOTB Language consideration:
If any OOTB language is to be implemented then all developers need to do is apply Language pack of that Language. The language pack takes care of all necessary installations. It also takes care of SWSE installation, virtual directories etc.

In case of OOTB language implementation you may skip steps from 6 to 15.

Here are the steps to translate the Siebel Application into an unshipped/ non-OOTB language.

Language used in following example is Turkish (TRK):

6) Registering new Languages


As a first step, you need to make sure that there the target language exists with the correct three letter code in Application Administration, Languages.

This three letter code should be same as what is defined by Microsoft for identifying languages.

The 3 lettered code for Turkish language is ‘TRK’.

To ensure that please follow following steps.

Creating a Siebel language record for an unshipped language
  1. In the Siebel application, choose Navigate > Site Map > Administration - Data > Languages.
  2. If necessary, create a new record for the unshipped language.
For example, for Turkish, specify Turkish as the Name value and specify TRK as the Code value.
  1. Start Siebel Tools against the server database, and verify that the language record displays correctly. Also verify in the List of Values Administration screen that you can enter LOV records for the new language.
NOTE:  If necessary, after you create the language record, also create a record for any new locale you require. More information about locales is provided below.
About Creating a Locale
If an existing Siebel locale does not cover the users of the unshipped language you are implementing, you must also create a locale record for the location for these users.
When creating a locale, copying an existing locale for which some of the same settings apply will make data entry easier. After you create a new locale, create translation records to provide the name for the locale for all the languages you are using.
When creating language records, observe the following guidelines:
ü       Language codes must be defined using all capital letters (such as TRK rather than trk, for Turkish).
ü       Your language code must use the same first two letters as the Microsoft code for the language, in order to ensure that the correct internal libraries will be used. For example, if you want to create a language code for Austrian German, name it DEA, so it will use the same code page as German (DEU). Similarly, use ENG for British English.

7) Importing Symbolic strings

Once done with registering language, you need to create the translations for the Symbolic Strings project in Tools.

For performance reasons, this should be done on the Server Database

Note: Please make sure you have a current full database backup that you can revert to, just in case anything goes wrong.

Doing this on a local tools client would only work after checking out the projects that you import TRK Symbolic strings into first.

Exporting the Symbolic Strings in Tools (Server DB),

  1. In Tools->View-> Options set "Language” to an installed language: ENU (English-American)

  1. Then, in Tools-> Utilities-> Locale Management
    Select “Options” Tab:

  1. Set Source Language to
    English-American

  1. Set Target Language
    to Turkish

  1. Objects:
    By Project

  1. Check the "Symbolic Strings" Project only

  1. Click Export Tab:
    Attributes to export:
    String attributes only

  1. Click the "Export" button and select an export format of your choice, typically Text File (.txt) to be able to edit the exported string table in Excel.

Note that this will export about 45000 records

  1. You need to populate the column “Target Value” with the Turkish Translation here

    This is done best by removing the first two lines
    Source (Language, Application): (English-American, STD - Standard)
    Target (Language, Application): (Turkish, STD - Standard)
    (keep the original file with the header as a backup, as you will need to prefix these two lines again for an import into Tools) and importing the file into Excel as Tab Delimited text file.

  1. After populating all required Target Values, save the file again from Excel as Tab delimited Text file
    Text (Tab delimited) *.txt

  1. Copy the two initially removed lines again to the beginning
    and import it into Tools in

    Tools -> Utilities -> Locale Management

    Import Tab -> Import

If you only have a limited number of applets to translate, it may be faster to create locale records for these manually.
  1. Developers need to follow below steps to add translations for UI elements.

  1. Identify Applet / List Columns/ Applet Controls that need translation.

  1. Check in necessary configuration changes in base language. Let’s say English.

  1. Change tools language to Target Language using following steps
    1. Navigate to Tools-> Options-> Language Settings
    2. Select Target Language as Tools language and click OK.

  1. Check out Symbolic Strings Project (Check out can be done on individual String wise also)

  1. Query for each Symbolic string that is visible in UI and add Locale record in Target language.

  1. After adding Locale record, check in.

Note that this approach may be faster for a limited amount of views to be populated.

If no translations are available for all 45000+ words which is usually the case as translating all words is not possible usually following steps can be followed.
  1. Follow steps from ‘a’ to ‘h’ from the section of exporting Symbolic strings explained above.

  1. Copy contents of Source value column into Target Value column.

  1. By following above step one should make sure that same set of values are available in Source as well as in Target value column.

  1. Keep the header information in the string file same as original which is:
Source (Language, Application): (English-American, STD - Standard)
Target (Language, Application): (Turkish, STD - Standard)

8) Creating Application Object Manager Components

Next, you must create and configure Application Object Manager (AOM) components you are going to use for the unshipped language.
This step applies to Siebel Web Client users. It does not apply to Siebel Mobile Web Client or Developer Web Client users.
TIP:   Follow this procedure for a single component for testing purposes, before you create all other components you may require.
Configuring an Application Object Manager for an unshipped language
  1. Start an employee application such as Siebel Call Center in the base language, such as ENU. Navigate to Administration - Server Configuration > Enterprise Explorer.
  2. In the explorer tree, expand the enterprise, and then click Component Definitions.
  3. In the Component Definitions list, select an Application Object Manager component on which you will base your new component. For example, select Call Center Object Manager (ENU) then choose Copy Record from the menu.
  4. Provide values like the following for the server component you created:
                                 i.            Component = Call Center Object Manager (TRK)
                               ii.            Alias = SCCObjMgr_TRK
                             iii.            Component Type = Application Object Manager (the value is copied automatically from the source record you selected in Step c)
                             iv.            Component Group = Siebel Call Center
                               v.            Description = Call Center Object Manager (TRK) for Turkey (the value is copied automatically from the source record you selected in Step c)
  1. Provide parameter values for this AOM component. In particular, specify the Language Code and OM - Resource Language Code parameters. Depending on the requirements for your deployment, you may set the language parameters in different ways. Verify all other parameter settings for this component.
                                 i.            With the new component selected in the Component Definitions list, expand Component Definitions in the explorer tree, expand the selected Application Object Manager element, and then click Parameters.
                               ii.            In the Component Parameters list, query for the Language Code parameter TRK
                             iii.            Query for the OM - Resource Language Code parameter. Set the Value to ENU.

9) Creating Virtual Directories on the Web Server

You can copy an existing virtual directory entry and adapt it for the new language (for example, changing enu to TRK).
For more information about creating virtual directories, see the ‘Technical Note 456’ on Siebel Metalink.
After you add the virtual directories, you update the eapps.cfg (or eapps_sia.cfg) file on the Siebel Web Server Extension (SWSE).

10) Updating the eapps.cfg File on the SWSE

After you created virtual you need to create corresponding entries in the eapps.cfg file, or eapps_sia.cfg for Siebel Industry Applications, on the SWSE.
For example, copy the section shown as [/callcenter_enu] to be [/callcenter_TRK]. Change any language-specific references from ENU or enu to TRK or trk.
For example, you must specify the correct component name in the ConnectString parameter, and specify the correct directory name in the WebPublicRootDir parameter. Include all parameters in the copied section of the file.
Copy this:
[/callcenter_enu]
ConnectString = siebel.TCPIP.None.None://siebsrvr78:2321/sieb78/SCCObjMgr_enu
WebPublicRootDir = D:\siebel78\SWEApp\public\enu
To this:
[/callcenter_TRK]
ConnectString = siebel.TCPIP.None.None://siebsrvr78:2321/sieb78/SCCObjMgr_TRK
WebPublicRootDir = D:\siebel78\SWEApp\public\TRK

11) Creating language subdirectories for Turkish language on the Siebel Server

  1. On the Siebel Server machine, create a language subdirectory TRK under SIEBSRVR_ROOT\objects.
  2. Copy the contents of SIEBSRVR_ROOT\objects\ENU into this directory.
NOTE:  Because you have copied the SRF file for another language, the Siebel application user interface will display in language ENU unless or until you compile a new SRF for the unshipped language TRK.
  1. Create a new language subdirectory TRK under SIEBSRVR_ROOT\bin. Copy configuration files only from SIEBSRVR_ROOT\bin\ENU into this directory. The configuration files (CFG files such as uagent.cfg for Siebel Call Center) will be used by the Application Object Managers you will create for language TRK.
  2. For Siebel Industry Applications (SIA), create a new language subdirectory TRKSIA under SIEBSRVR_ROOT\bin. Copy the contents of ENUSIA into this directory.
  3. Create a new language subdirectory TRK under SIEBSRVR_ROOT\bin\msgtmpl. Copy the contents of SIEBSRVR_ROOT\bin\msgtmpl\ENU into this directory.
  4. Create a new language subdirectory TRK under SIEBSRVR_ROOT\bin\reports. Copy the contents of SIEBSRVR_ROOT\bin\reports\ENU into this directory.
  5. Create a new language subdirectory TRK under SIEBSRVR_ROOT\webmaster. Copy the contents of SIEBSRVR_ROOT\webmaster\ENU into this directory.
  6. Create a new language subdirectory TRK under SIEBSRVR_ROOT\webmaster\files. Copy the contents of SIEBSRVR_ROOT\webmaster\files\ENU into this directory.
  7. Create a new language subdirectory TRK under SIEBSRVR_ROOT\webmaster\help. Copy the contents of SIEBSRVR_ROOT\webmaster\help\ENU into this directory.
  8. Create a new language subdirectory TRK under SIEBSRVR_ROOT\webmaster\images. Copy the contents of SIEBSRVR_ROOT\webmaster\images\ENU into this directory.
  9. Create a new language subdirectory TRK under SIEBSRVR_ROOT\webmaster\<siebel_build>\scripts. Copy the contents of SIEBSRVR_ROOT\webmaster\<siebel_build>\scripts\ENU into this directory.
  10. In SIEBSRVR_ROOT\webmaster\<siebel_build>\scripts\TRK, rename the file swemessages_ENU.js to be swemessages_TRK.js
NOTE:  If you apply a patch release to the Siebel Server after completing localization, you should recopy the file swemessages_ENU.js from ENU to TRK (and rename the file again, as described above) to make sure your localized product remains up to date.

12) Creating language subdirectories for an unshipped language on the SWSE

  1. On the Siebel Web Server Extension (SWSE) machine, create a language subdirectory TRK under SWSE_ROOT\public,
  2.  Copy the contents of SWSE_ROOT\public\ENU into this directory
NOTE:  Each time the Web server is restarted; files and subdirectories are automatically copied from the webmaster folder on the Siebel Server to the public folder on the SWSE. For more information, see the Siebel Installation Guide for the operating system you are using.

13) Creating language subdirectories for an unshipped language on a Mobile Web Client

  1. On a Mobile Web Client machine, create a language subdirectory TRK under SIEBEL_CLIENT_ROOT\objects
  2. Copy the contents of SIEBEL_CLIENT_ROOT\objects\ENU into this directory
NOTE:  Because you have copied the SRF file for another language, the Siebel application user interface will display data in language ENU unless or until you compile a new SRF for unshipped language TRK.
  1. Create a new language subdirectory TRK under SIEBEL_CLIENT_ROOT\bin. Copy configuration files only from SIEBEL_CLIENT_ROOT\bin\ENU into this directory. The configuration files (CFG files such as uagent.cfg for Siebel Call Center) will be used by the application for language TRK.
  2. For Siebel Industry Applications (SIA), create a new language subdirectory TRKSIA under SIEBEL_CLIENT_ROOT\bin. Copy the contents of ENUSIA into this directory.
NOTE:  If you apply a patch release to the Siebel Server after completing localization, you should recopy files from ENUSIA to TRKSIA to make sure your localized product remains up to date.
  1. Create a new language subdirectory TRK under SIEBEL_CLIENT_ROOT\public.
  2. Copy the contents of SIEBEL_CLIENT_ROOT\public\ENU into this directory.

14) Modifying Application Configuration Files

For Siebel Call Center for Turkish (TRK), edit SIEBEL_CLIENT_ROOT\bin\TRK\uagent.cfg to include parameter values similar to the following:
[Siebel]
Language = TRK
ResourceLanguage = ENU
WebClientSiteDir = D:\PROGRA~1\SIEBEL\7.8\WEBCLI~1\public\TRK
...
[SWE]
MsgTemplateDir = D:\PROGRA~1\SIEBEL\7.8\WEBCLI~1\msgtempl\TRK
This example, where you set the Language parameter to TRK and set the ResourceLanguage parameter to ENU, or another value, supports one localization scenario.
The Language parameter is equivalent to the server parameter Language Code. The ResourceLanguage parameter is equivalent to the server parameter OM - Resource Language Code.
In the configuration file, replace other language references, such as enu or ENU, with trk or TRK, where appropriate, to support your unshipped language.

15) Modifying Application Shortcuts for Mobile Web Clients

In this case you might copy the shortcut for Siebel Call Center - ENU and rename it Siebel Call Center - TRK. Modify the properties of this shortcut so the shortcut target is similar to the following:
"C:\Program Files\Siebel\7.8\web client\BIN\siebel.exe" /c "D:\PROGRA~1\SIEBEL\7.8\WEBCLI~1\bin\TRK\uagent.cfg"

16) Testing an Unshipped Language


To test the Siebel applications for the unshipped language
  1. Restart the Siebel Server and the Web server to have the new settings take effect. This step also copies static files from the Siebel Server to the Web server.
  2. Start the Application Object Manager for your unshipped language TRK
If you copied elements from the base language ENU to use for the unshipped language TRK, the application user interface should appear in ENU language.

17) Configuring MLOV


Lists of values (LOVs), which are used in static picklists in the Siebel application user interface, are also localized for many multilingual deployments. LOVs may also be converted into multilingual lists of values (MLOVs). MLOVs and multilingual picklists allow values to be selected by a user in one language and retrieved
by users working in other languages. The value that is stored in the database for the record is the Language Independent Code (LIC) from the LOV record, rather than the Display Value, as is true for monolingual picklists.

For MLOVs to work correctly, Language Independent Code (LIC) and Display Value must always be consistent within the same LOV type and language, as follows:
ü       If you have two records with the same LIC, LOV type, and language; make sure that both records point to the same display value.
ü       If you have two records with the same display value, LOV type, and language; make sure that both records point to the same LIC.
ü       All Picklists based on the LOV type must be Static and Bounded.

Please follow below steps for configuring MLOVs.
  1. Identify the LOV types for which we need multilingual value display. For e.g SR_STATUS

  1. Connect to Tools server

  1. Select Flat Tab in Object Explorer

  1. Choose Columns

  1. Query for the LOV type (e. g SR_STATUS) selected in step ‘a’ in property LOV Type.

  1. Lock all returned rows using Alt+ L. In case of SR_STATUS 3 rows will be returned.

  1. Populate S_LST_OF_VAL in Translation Table Property

  1. Make sure that all the rows have Static/ LOV Bounded property set as True.

  1. Add Translations for the LOVs using LOV administration screen by copying original record and changing Display value and Language code to Target language.

  1. Make sure that the Multilingual and Translate flags are set ‘True’ for all necessary LOV rows.

  1. Query for LOV Type definition record by selecting Type value as LOV_TYPE and value as LOV Type under consideration (SR_STATUS).

  1. Set Translate and Multilingual flags to True for definition record.

  1. Clear cache and re-login before verifying changes.

Apart from doing above configuration some special care is required in case of Hierarchical LOVs.
  1. While populating Parent LICs for LOVs make sure that you select appropriate Parent LIC belonging to the same language. In other words Parent LIC for English record must be English definition of Parent LOV definition while Parent LIC for Turkish record must be Turkish definition of Parent LOV definition.

18) Multi-Organizational consideration

One major consideration that applies while devising multi-organizational implementation is ownership of records.
While doing configuration one must make sure that every record in system is stamped with Organization Id. This same applies to LOVs also. Hence while working in multi-organization environment the LOVs should be created in LOV Explorer rather than creating in LOV Administration screen as in LOV explorer screen we have access to Organization field. Special configuration is required on entities like Call reports, Activities etc so as to make facility of populating organization on those records.

Apart from the above data considerations, significant changes are required to be made to the Currencies if the organizations involved use separate currencies. This can be done in currency administration screen by defining/ using appropriate currency. Siebel provides OOTB currency converters using which amounts entered in one organization can be automatically be retrieved and converted into target currency if viewed from different organizations’ visibility. However manual intervention is necessary since the currency exchange rates are volatile and can not be automatically fed to Siebel on regular basis. They must be modified manually by admin.

Currency can be associated to organization in Organization definition screen. This is the same screen in which Locale for organization can also be defined. However if these fields are left blank; the currency and locales are taken from parent organization.

19) Completing Localization for an Unshipped Language

To complete localization for the unshipped language TRK, you must translate all appropriate content that is associated with this language.
When you have translated repository elements, you would compile the SRF file for this language and distribute this file to Siebel Servers and Siebel Mobile Web Clients, into the TRK subdirectory for your language under the Objects directory.
Language-specific content you can translate or create includes items listed below.
ü       (In Siebel Tools) Localizable Siebel Repository strings in the Siebel Database. Add translations for symbolic string references, object locales, message categories, and so on.
ü       (In Siebel application) Translatable language-specific values (Display Value field) for lists of values (LOVs) and multilingual lists of values (MLOVs).
ü       Add all values you need for your new TRK language. For example, LOVs used by workflow processes must be localized into the new language.
ü       (In Siebel application) Other seed data such as time zone translations, iHelp files, Smart-Scripts, correspondence templates, email templates, Siebel Anywhere administration data, and so on.
ü       Text that appears in image files or Web template files.
Test all changes before you complete the project and roll out the localized application.