MainRepresentation Valuation Business Logic Openness Implementation

This Business Logic (Openness) allows customer to define MainRepresentation criterion which takes part of DownwardCompatibility: MultiRepresentation conversion support. This one allows to define and identify a MainRepresentation object during MultiRepresentation conversion.

This page discusses:

Role and limitations of MainRepresentation Valuation Business Logic Openness

This Business Logic Openness (BLO) allows retrieving MainRepresentation contained in each Terminal PLMCoreReference to transfer.

This BLO allows to define and identify a MainRepresentation element among multiple Representations in terminal Reference.

This BLO is provided with certain inputs: PLMCoreReference, list of PLMCoreRepReference, name of context during transfer and a dynamic attribute “DWCMainRep” to evaluate inside BLO.

Once BLO sets “DWCMainRep” , DownwardCompatibility will use it further for MultiRepresentation conversion.

The BLO would be launched for each PLMCoreReference entity. As recommended above, MainRep valuation BLO must set the “DWCMainRep” attribute with the type object PLMCoreRepReference satisfying the MainRep logic. Of course the value of this attribute could be different from one PLMCoreReference element to the other. You must set “DWCMainRep” to a valid PLMCoreRepReference entity if more than one PLMCoreRepReference are found to satisfy MainRep logic.

DownwardCompatibility takes care that this BLO is launched only on terminal PLMCoreReference, it is recommended to write the BLO with the same understanding.

Also note that the MainRepresentation retrieved by the BLO must fulfill all criteria defined for MainRep in “DownwardCompatibility: MultiRepresentation conversion support”.

Definition of MainRepresentation Valuation Business Logic Openness

This section describes the way the MainRep Valuation BLO works, its parameters, the context in which it is used.

General Information

PLM Opening IDCATDWCExportMainRepresentationValuation
Customization IntentComputation
Execution ContextClient

Input Objects

The Business Logic is invoked for each PLM Component: terminal Reference to transfer. The implementation can safely retrieve the Main Representation.

Parameter Names TypesRead/WriteComments
iOperationIdstringRead

Parameter used to identify the mapping context . The following value is available:

"CATDWCExport" for any Coexistence scenario

iPLMRefCATInstance_varReadIn Coexistence scenario, this corresponds to the proxy of PLMCoreRepReference entity for which the Main Representation is searched.
iPLMRepRefListCATLIstVal

CATInstance_var

ReadIn Coexistence scenario, this is the list of proxy of 3D PLMCoreRepReference found under iPLMRef Reference.
iContextNamestringRead

Name of current Context of transfer. Is Null when running the Conversion in a non associative mode.

Output Objects

The Business Logic computes the PLMCoreRepReference that satisfies the MainRep criterion defined in CATRule.

Parameter NamesTypesRead/WriteComments
oPLMMainRepCATInstance_varWriteIn Coexistence scenario, it contains the proxy of the Main representation. Null_var when no main representation is found under iPLMRef Reference.

MainRep Valuation Business Logic Use

For best results, it is recommended to initialize DWCMainRep in CATRule :

 if(
Parameters-> HasAttribute("DWCMainRep") == true )
{
 Parameters-> SetAttributeObject("DWCMainRep",NULL)
 }

Transfer of a PLMCoreReference object with Multiple Representations

In the example below a terminal Reference having multiple Representation instances under it is passed to BLO.

  1. One Representation meets MainRep criterion

    PLMCoreReference object is passed to BLO for processing MainRep. Only one Representation satisfies MainRep criterion. Using this representation object, BLO valuates "DWCMainRep" as :

     Parameters -> SetAttributeObject( "DWCMainRep", aRep )

    where aRep is of type : PLMCoreRepReference

    When "DWCMainRep" attribute is set to valid PLMCoreRepReference, DownwardCompatibility validates that the set PLMCoreRepReference is really a child of given PLMCoreReference and proceeds with further processing. If the PLMCoreRepReference set by CATRule, is not a child of given PLMCoreReference, DownwardCompatibility aborts with appropriate error message.

  2. More than one Representation meet MainRep criterion

    PLMCoreReference object is passed to BLO for processing MainRep. More than one Representation satisfy MainRep criterion. In such case, you must select the best of them.

     Parameters -> SetAttributeObject( "DWCMainRep", aRep )

    where aRep is of type : PLMCoreRepReference

    When "DWCMainRep" attribute is set to valid PLMCoreRepReference, DownwardCompatibility validates that the set PLMCoreRepReference is really a child of given PLMCoreReference and proceeds with further processing. If the PLMCoreRepReference set by CATRule, is not a child of given PLMCoreReference, DownwardCompatibility aborts with appropriate error message.

  3. No Representation meets MainRep criterion

    PLMCoreReference object is passed to BLO for processing MainRep. None of children PLMCoreRepresentationReferences match the MainRep criterion.

    BLO valuates "DWCMainRep" as :

     Parameters -> SetAttributeObject( "DWCMainRep", NULL )

    where aRep is of type : PLMCoreRepReference

    DownwardCompatibility retrieves this attribute, finds it NULL and proceeds with the processing.