Siebel Developer's Reference > User Properties > Business Component User Properties >

Deep Copying and Deletion User Properties


When you copy or delete a record, you can use the Deep user properties to propagate the change to child business components. For example, you can arrange to copy the detail records of a child business component from the original record to the new copied record of the parent business component.

For purposes of these user properties, the application checks the following sources in the order given to determine the parent/child link to use:

  • If the parent and child are the same business component, then the relationship must be defined by the Recursive Link user property set on the business component. The link that the Recursive Link user property specifies is used to determine child records.

    See also Recursive Link.

  • If the Deep Copy/Delete Link user property is set on the current (parent) business component, then the link that the Deep Copy/Delete Link user property specifies to the child business component is used.

    See also Deep Copy/Delete Link.

  • If the parent and child business components are of the same Siebel object, and the parent is the primary business component in the business object, then the application looks up the link listed for the parent to the child, if one exists. If the link exists, then it is listed by choosing Object Explorer, Business Object, and then the Business Object Component object in Siebel Tools. Under the applicable business object, the link displays in the Link column for the child business component in the Business Object Components list.
  • If none of the sources mentioned in this list provides a link between the parent and child business components, then the application determines whether a link named parent business component/child business component exists (for example, Opportunity/Revenue). If such a link exists, then the application uses that link.

NOTE:  Deep Copy is supported only for business components that are based on or inherit from the CSSBCBase class. The CSSBusComp class is the parent of the CSSBCBase class, and as such, does not implement deep copy or deep delete. You can, however, write a script or workflow for this, if a workaround is necessary.

Deep Copy n

This user property allows you to specify a child business component that is copied when a user selects the Copy option.

See also Deep Copy/Delete Link.

Value

The value for the Deep Copy n user property must be the name of a child business component for which a parent/child link is defined in one of the ways described in Deep Copying and Deletion User Properties.

Usage

The Deep Copy n user property allows child business components and their respective child business components to be copied automatically when selecting the Copy option. Normally, the Copy option only copies one level. This feature allows multiple levels to be copied like a cascade copy.

To use Deep Copy, see Using Deep Copy.

Each business component in the Deep Copy chain takes care of its own children. The parent business component has Deep Copy properties for each of its direct children, and each child business component has Deep Copy properties for each of the relevant grandchildren.

There is an analogous Deep Delete user property to do a deep cascade delete. Typically, use Deep Copy and Deep Delete together.

See also About Setting Numbered Instances of a User Property.

Parent Object Type

Business Component

Functional Area

Copying records

Using Deep Copy

Use the following procedure for deep copy.

To use deep copy

  1. In the parent business component, create a user property for each child business component to be included in the deep copy. The child business component user properties are:

    Name: Deep Copy 1
    Value: [Child BusComp Name]

    Name: Deep Copy 2
    Value: [Child BusComp Name]

  2. Add a multivalue link in the parent business component for each child business component.
  3. Create a multivalue field in the parent business component from each child business component.
  4. Set the No Copy attribute in the multivalue link to TRUE to avoid the SQL error "A Duplicate Record Exists" occurring.

NOTE:  Do not use Deep Copy when the parent-child relationship is many-to-many (M:M). For M:M relationships, set the No Copy attribute to FALSE in the link used for this parent-child relationship.

Additionally, do not use Deep Copy with the Quote and Order Entry - Orders business components. The copy functionality for these business components requires the use of the Data Transfer Utilities business service. For more information, see Siebel Order Management Infrastructure Guide.

Deep Copy/Delete Link

The Link object defines a one-to-many parent/child relationship between two business components. The Deep Copy/Delete Link user property is set on the parent business component to specify the link to use for deep copies and deep deletes of the child business component named in Deep Copy/Delete Link. For information about configuring links, see Configuring Siebel Business Applications.

Related Topics

Deep Copying and Deletion User Properties

Deep Copy n

Deep Delete n

Syntax

Deep Copy/Delete Link: Buscomp

Argument
Description

Buscomp

This parameter is the name of a business component for which:

  • The business component is the child in a link for which the current business component is the parent, and
  • Deep Copy or Deep Delete user properties are set on the current (parent) business component.

This is an optional parameter. Use it when links must be specified for more than one business component.

Value

The value of this business component user property must be the name of a link between the current (parent) business component and the child business component specified by the Buscomp parameter.

Usage

For example, to specify a link to apply to deep copying or deep deleting of the revenues associated with an opportunity, add the user property Deep Copy/Delete Link: Revenue with value Opportunity/Revenue to the Opportunity business component. Opportunity is the parent and Revenue is the child business component of the Opportunity/Revenue link.

NOTE:  Do not use Deep Copy/Delete Link with the Quote and Order Entry - Orders business components. The copy functionality for these business components requires the use of the Data Transfer Utilities business service. For more information, see Siebel Order Management Infrastructure Guide.

You can inactivate or modify the values for this user property. You can also create new instances of this user property.

CAUTION:  Before you inactivate any predefined instances of this user property in a production environment, do thorough planning and testing to confirm that the child records that are to be no longer copied or deleted are those you intended, and that records of other business components related to those child records are not adversely affected.

Parent Object Type

Business Component

Functional Area

Copying and deleting records

Deep Delete n

This user property allows you to specify a child business component whose records are deleted when a user selects the Delete option.

See also Deep Copy/Delete Link.

Value

The value for the Deep Delete n user property must be the name of a child business component for which a parent/child link is defined in one of the ways described in Deep Copying and Deletion User Properties.

Usage

Normally, the Delete option only deletes one level. Deep Delete allows child business components and their respective child business components to be deleted automatically when selecting the Delete option. This feature allows multiple levels to be deleted like a cascade delete.

To use this feature, do the following:

  1. Create a user property for each child business component to be included in the deep delete. The child business component user properties are:

    Name: Deep Delete 1
    Value: [Child BusComp Name]

    Name: Deep Delete 2
    Value: [Child BusComp Name]

  2. Add a multivalue link for each child business component. Set the No Delete user property value to:

    FALSE: allows deep delete for the child business component
    TRUE: does not allow deep delete for the child business component

Create a multivalue field in the parent business component, using the multivalue link. This field is usually not displayed on the screen but needs to be present on the business component.

This is analogous to the Deep Copy user property. Use Deep Delete to do a deep cascade delete. Typically, Deep Copy and Deep Delete are used together.

See also About Setting Numbered Instances of a User Property.

Parent Object Type

Business Component

Functional Area

Deleting records

Siebel Developer's Reference Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Legal Notices.