Configuring Siebel Business Applications > Reusing Predefined Objects > Process of Determining If You Can Reuse a Predefined Object >

Determining If You Can Reuse a Predefined Table Column

This task is a step in Process of Determining If You Can Reuse a Predefined Object.

This topic describes the factors you must evaluate when you consider reusing a predefined table column. Reusing a predefined table column if there is not a good technical or functional fit can lead to a poor result. In this situation, it is better to create a new, custom field or column. For more information, see Options to Customize the Data Objects Layer.

To determine if you can reuse a predefined table column

  1. Consider table columns that Siebel Remote uses:
    1. Do not use a field or column that controls Siebel Remote behavior.

      Siebel Remote uses the ENTERPRISE_FLG column to implement visibility on records that use normal visibility constraints. Siebel Remote might use other columns to control download behavior, such as the RTE_CONTACTS_FLG or RTE_PRSP_CONS_FLG column on the S_SRC table. For more information, see Configuring Dock Objects for Siebel Remote.

    2. Choose the Flat tab in Siebel Tools, and then submit one of the following queries to determine if a dock object visibility rule uses a particular column:
      • Query the SQL Statement and DBX SQL Statement properties of the Dock Object Visibility Rule object for the column you are considering.
      • Query the Filter Sql Statement property of the Dock Object Table object for the column you are considering.

        Note that you must display the dock object type and child object types of the dock object. For more information, see Displaying Object Types You Use to Configure Siebel CRM.

        For more information, see Siebel Remote and Replication Manager Administration Guide. If you are in doubt about how a column might affect Siebel Remote, then see Getting Help from Oracle.

  2. To reuse a table column or business component field that references a LOV (list of values) bounded column, make sure you use a bounded list that uses the same LOV type as the column object.

    If the LOV Bounded property of the column is TRUE, then Enterprise Integration Manager enters data into the column only if the corresponding LOV type and value exist in the S_LST_OF_VAL table. For more information, see Creating a List of Values.

  3. Consider the column type and size.

    In most situations, you must not change the type or size of the column. An exception is DB2 for OS/390 and z/OS operating systems, because these systems store the maximum size of a VARCHAR column in an index. For more information, see Implementing Siebel Business Applications on DB2 for z/OS.

  4. Make sure a column you use is not obsolete.

    Examine the Comments property of the column to determine if the column is obsolete. You must not use an obsolete column because it might be deleted in a future release.

  5. Examine the Foreign Key Table property of the Column object to determine if the correct foreign key relationship exists:
    • If a field on the business component already uses the key, then reuse that field rather than creating a new field. The original purpose of the unused foreign key field or column must match your intended use.
    • Do not use a foreign key column that does not contain the correct foreign key relationships.

      For more information, see Guidelines for Considering a Foreign Key Relationship.

  6. Use a one-to-one ATTRIB column.

    If no other suitable field or column exists, then some one-to-one tables contain generic ATTRIB columns that you can use. For example, the S_CONTACT_X table. If you use an ATTRIB column, make sure you do the following:

    1. Extend a base table with a custom extension column instead of using an ATTRIB column in the following situations:
      • For foreign keys and the Primary ID Field. For more information, see About the Primary ID Field.
      • For a column that Siebel CRM frequently queries or is always present in the result set. For example, a field that is in the initial list view of a screen, or a field whose Force Active or Link Specification property is TRUE.
    2. If you reuse a predefined ATTRIB column, then make sure another field does not use it. If another field does use it, then choose another unused ATTRIB column.

      For more information, see Options to Use a Predefined One-to-One Extension Table.

  7. Reuse an unused column for a new business component field.

    You must verify that another field on the same business component does not already use the column. If more than one field references the same table column, then you might encounter a duplicate column insert error during a copy operation. In this situation, you must use the original Siebel field that references the desired column. Otherwise, use another appropriate column, such as a custom extension column or an unused ATTRIB column.

  8. Use a user key column.

    Note the following:

    • Do not use a column that is part of the user key of a table for any other purpose than which the column is intended. Doing so might result in degraded performance. For more information, see Siebel Performance Tuning Guide.
    • Do not enter data into a nonforeign key value or map the foreign key to a different table as a way to map a user key column that is a foreign key to a table. Enterprise Integration Manager (EIM) uses the user key to identify a unique record. Inappropriately entering data into a user key column that references a foreign key might prevent Enterprise Integration Manager from operating correctly.

      For more information, see How a User Key Creates a Unique Set of Values.

Guidelines for Considering a Foreign Key Relationship

You must not reuse a table only because it contains the necessary foreign key relationship. Instead, to add the required foreign key columns, you can do one of the following:

  • Customize the database.
  • Use the Siebel Dock Object Wizard.
  • Use the EIM Table Mapping Wizard.

Do not use a predefined column that is not a foreign key to store a custom foreign key. Doing so can affect Siebel Remote and Enterprise Integration Manager. This situation can cause problems when Siebel CRM generates EIM mappings or routes data to the user.

Configuring Siebel Business Applications Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Legal Notices.