All Frameworks  Class Hierarchy  This Framework  Next  Indexes

DNBMHIInterfaces Interface DNBIMHILoadParameters

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---DNBIMHILoadParameters
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface DNBIMHILoadParameters

Interface representing a means to set information that is needed for the load and also to retrieve this information on the loaded document.
Note: All the IDs in the Get and Set methods defined in this inteface deal with Object ID (attribute name: oid), not the Object UUID (attribute name: objectuuid)

Access to this interface is provided via DNBIMHIOpenAccess and DNBIMHISaveAccess. Applications and CAA partners should NOT implement this interface.

Example:

  // *****************************************
  // Example # 1: Creating new Load Parameters
  // *****************************************

  CATSession * pSession = CATSession::GetPtrSession();
  if (pSession)
  {
     DNBIMHIOpenAccess * pOpenAccess = NULL;
     HRESULT RC = pSession->QueryInterface(IID_DNBIMHIOpenAccess,
                                     (void**) &pOpenAccess);
     if (SUCCEEDED(RC) && NULL != pOpenAccess)
     {
        DNBIMHILoadParameters * pLoadParameters = NULL;
        RC = pOpenAccess->CreateLoadParameters( pLoadParameters );
        if (NULL != pLoadParameters)
        {
           // Call various "Set" methods on DNBIMHILoadParameters 
           // to populate load information
           // Call methods on DNBIMHIOpenAccess to connect and load

           pLoadParameters->Release();
           pLoadParameters = NULL;

        } // if (NULL != pLoadParameters)
        
        pOpenAccess->Release();
        pOpenAccess = NULL;
      
     } // if (SUCCEEDED(RC) && NULL != pOpenAccess)

  } // if (pSession)  


  // ***************************************
  // Example # 2: Retrieving Load Parameters
  // ***************************************

  CATDocument * pLoadedDocument = ... ;
  if (pLoadedDocument)
  {
     DNBIMHISaveAccess * pSaveAccess = NULL;
     HRESULT RC = pLoadedDocument->QueryInterface(IID_DNBIMHISaveAccess,
                                     (void**) &pSaveAccess);
     if (SUCCEEDED(RC) && NULL != pSaveAccess)
     {     
        DNBIMHILoadParameters * pLoadParameters = NULL;
        RC = pSaveAccess->GetLoadParameters( pLoadParameters );
        if (NULL != pLoadParameters)
        {
           // Call various "Get" methods on DNBIMHILoadParameters 

           pLoadParameters->Release();
           pLoadParameters = NULL;

        } // if (NULL != pLoadParameters)
        
        pSaveAccess->Release();
        pSaveAccess = NULL;
      
     } // if (SUCCEEDED(RC) && NULL != pSaveAccess)

  } // if (pLoadedDocument) 

  


Method Index


o GetBranchIDs(CATListOfCATUnicodeString&)
Gets the "subcompitem" IDs (oid) of the Branch.
o GetDetailingID(CATUnicodeString&)
Gets the ID (oid) of the loaded detailing
o GetProcessTreeID(CATUnicodeString&)
Gets the "subcompitem" ID (oid) of the process tree selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID is supplied as the BOM
o GetProductBOMID(CATUnicodeString&)
Gets the "subcompitem" ID (oid) of the product BOM selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID is supplied as the BOM
o GetResourceTreeID(CATUnicodeString&)
Gets the "subcompitem" ID (oid) of the resource tree selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID is supplied as the BOM
o GetSelectedObjectID(CATUnicodeString&)
Gets the "ergocompbase" ID (oid) of the selected object (object used to start the load)
o SetBranchIDs(CATListOfCATUnicodeString&)
Sets the "subcompitem" IDs (oid) of the Branch.
o SetDetailingID(CATUnicodeString&)
Sets the ID (oid) of detailing to be loaded
o SetFilters(CATUnicodeString&)
Specifies the filters to be applied while loading the project.
o SetProcessTreeID(CATUnicodeString&)
Sets the "subcompitem" ID (oid) of process tree selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID has to be supplied
o SetProductBOMID(CATUnicodeString&)
Sets the "subcompitem" ID (oid) of product BOM selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID has to be supplied
o SetResourceTreeID(CATUnicodeString&)
Sets the "subcompitem" ID (oid) of resource tree selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID has to be supplied
o SetSelectedObjectID(CATUnicodeString&)
Sets the "ergocompbase" ID (oid) of selected object (object use to start the load).

Methods


o GetBranchIDs
public virtual HRESULT GetBranchIDs(CATListOfCATUnicodeString& oListBranchIDs)= 0
Gets the "subcompitem" IDs (oid) of the Branch. Branch is a list of parents of the selected object. Please refer to the following PES for details on Branch. "PES_DELMIA_V5R17_Manufacturing Hub Infrastructure_Manufacturing Hub Integration_R17MHI031_ExposeLoadSave.doc"
Example:
For the following structure, if PWP is the object loaded,
    PV
     |_PP
        |_WP
           |_PWP
               |_OP1
               |_OP2
 
the branch is the "subcompitem" ID of PWP, the "subcompitem" ID of WP and the "subcompitem" ID of PP.
Note: The list will be filled in that order.
Parameters:
oListBranchIDs
[out] List of IDs of the Branch in the order mentioned above
Returns:
S_OK in one/more IDs returned S_FALSE if empty output list
o GetDetailingID
public virtual HRESULT GetDetailingID(CATUnicodeString& oDetailingID)= 0
Gets the ID (oid) of the loaded detailing
Parameters:
oDetailingID
[out] ID of the loaded detailing
Returns:
S_OK if non-empty string returned S_FALSE if empty string
o GetProcessTreeID
public virtual HRESULT GetProcessTreeID(CATUnicodeString& oProcessTreeID)= 0
Gets the "subcompitem" ID (oid) of the process tree selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID is supplied as the BOM
Parameters:
oProcessTreeID
[out] ID of the select process tree
Returns:
S_OK if non-empty string returned S_FALSE if empty string
o GetProductBOMID
public virtual HRESULT GetProductBOMID(CATUnicodeString& oProductBOMID)= 0
Gets the "subcompitem" ID (oid) of the product BOM selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID is supplied as the BOM
Parameters:
oProductBOMID
[out] ID of the select product BOM
Returns:
S_OK if non-empty string returned S_FALSE if empty string
o GetResourceTreeID
public virtual HRESULT GetResourceTreeID(CATUnicodeString& oResourceTreeID)= 0
Gets the "subcompitem" ID (oid) of the resource tree selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID is supplied as the BOM
Parameters:
oResourceTreeID
[out] ID of the select resource tree
Returns:
S_OK if non-empty string returned S_FALSE if empty string
o GetSelectedObjectID
public virtual HRESULT GetSelectedObjectID(CATUnicodeString& oSelectedObjectID)= 0
Gets the "ergocompbase" ID (oid) of the selected object (object used to start the load)
Parameters:
oSelectedObjectID
[out] ID of the selected object
Returns:
S_OK if non-empty string returned S_FALSE if empty string
o SetBranchIDs
public virtual HRESULT SetBranchIDs( const CATListOfCATUnicodeString& iListBranchIDs)= 0
Sets the "subcompitem" IDs (oid) of the Branch. Branch is a list of parents of the selected object. Please refer to the following PES for details on Branch. "PES_DELMIA_V5R17_Manufacturing Hub Infrastructure_Manufacturing Hub Integration_R17MHI031_ExposeLoadSave.doc"
Example:
For the following structure, if PWP is the object to be loaded,
    PV
     |_PP
        |_WP
           |_PWP
               |_OP1
               |_OP2
 
the branch is the "subcompitem" ID of PWP, the "subcompitem" ID of WP and the "subcompitem" ID of PP.
Note: The list MUST be filled in that order.
Parameters:
iListBranchIDs
[in] List of IDs of the Branch in the order mentioned above
Returns:
S_OK in all cases
o SetDetailingID
public virtual HRESULT SetDetailingID( const CATUnicodeString& iDetailingID)= 0
Sets the ID (oid) of detailing to be loaded
Parameters:
iDetailingID
[in] ID of the detailing
Returns:
S_OK in all cases
o SetFilters
public virtual HRESULT SetFilters( const CATUnicodeString& iFilters)= 0
Specifies the filters to be applied while loading the project.
 In case of P,P,R filters, either
  (a) A Filter string can be supplied OR
  (b) A Calculation Model ID can be supplied
 Note: Calculation Model filters MUST only be supplied through their IDs. 

 In case of extended filters, either
  (a) A Filter string can be supplied OR
  (b) A Calculation Model ID can be supplied OR
  (c) Both string AND Model ID can be supplied (Combined effectivity case)
 Note: Calculation Model filters MUST only be supplied through their IDs. 

 In case of effectivity filter mode, one of the following rules can be supplied
  (a) Give the objects whose begin & end dates contains the begin & end date filters values.
      The rule value is 1.
  (b) Give the object whose begin & end dates are with in the begin & end dates filter values.
      The rule value is 2.
  (c) Give the object whose begin date value is lesser than the begin date filter value &
      the end date value on the object is contained with in the begin & end date filter values.
      The rule value is 4.
  (d) Give the object whose begin date value is contained with in the begin & end date filter values &
      the end date value on the object is greater than the end date filter value.
      The rule value is 8.
  (e) Give the object whose begin & end dates exactly match with that of the begin & end date filter values
      The rule value is 16.
 Note: Combination of the above said rules can also be used.
      For example: If the user wants the combination of rule a & c, then the value of 5 should be passed
 Note: If the user has not specified any value for this filter, then a default value of 31 (combination of all rules) will be used.
 
Parameters:
iFilters
[in]
  The filters to be set. This is a list of values separated by XML type tags
  The following tags are supported 
     <ProcessFilter>Filter Value</ProcessFilter>
     <ProcessFilterCalcModelID>ID of Calculation Model Filter</ProcessFilterCalcModelID>  
     <ProductFilter>Filter Value</ProductFilter>
     <ProductFilterCalcModelID>ID of Calculation Model Filter</ProductFilterCalcModelID>
     <ResourceFilter>Filter Value</ResourceFilter>
     <ResourceFilterCalcModelID>ID of Calculation Model Filter</ResourceFilterCalcModelID>
     <StartDateEffectivityFilter>Filter Value</StartDateEffectivityFilter>
     <EndDateEffectivityFilter>Filter Value</EndDateEffectivityFilter>
     <EffectivityFilterMode>Filter Value</EffectivityFilterMode>
     <LineNumberFilter>Filter Value</LineNumberFilter>
     <LabelFilter>Filter Value</LabelFilter>
     <ModStatementFilterID>Filter Value</ModStatementFilterID>
     <PlanningStateOwnerFilterID>ID of Planning State</PlanningStateOwnerFilterID>
     <PlanningStateOtherFilterID>ID of Planning State</PlanningStateOtherFilterID>
     <ApplyImplicitFilter>TRUE or FALSE</ApplyImplicitFilter>
     <ProcessExtendedEffectivityFilter>Filter Value</ProcessExtendedEffectivityFilter>
     <ProcessExtendedEffectivityFilterCalcModelID>ID of Calculation Model Filter</ProcessExtendedEffectivityFilterCalcModelID>
     <ProductExtendedEffectivityFilter>Filter Value</ProductExtendedEffectivityFilter>
     <ProductExtendedEffectivityFilterCalcModelID>ID of Calculation Model Filter</ProductExtendedEffectivityFilterCalcModelID>
     <ResourceExtendedEffectivityFilter>Filter Value</ResourceExtendedEffectivityFilter> 
     <ResourceExtendedEffectivityFilterCalcModelID>ID of Calculation Model Filter</ResourceExtendedEffectivityFilterCalcModelID>
 
  Attribute filters can be supplied using the following tags
  <AttributeFilters>
     <ProcessAttributeFilters>
       <AttributeFilter>
          <PlanTypeName>Name of the Plantype</PlanTypeName>
          <AttributeName>Name of the Attribute</AttributeName>
          <Operator>Type of Operator. See list of legal values below</Operator>
          <AttributeValue>Value of the Attribute</AttributeValue>
          Add more <AttributeValue>...</AttributeValue> if more attribute values need to be specified
       </AttributeFilter>
       Add more <AttributeFilter>...</AttributeFilter> if more attribute filters need to be specified
     </ProcessAttributeFilters>   
     <ProductAttributeFilters>
       Add <AttributeFilter>...</AttributeFilter> as specified above
     </ProductAttributeFilters>
     <ResourceAttributeFilters>
       Add <AttributeFilter>...</AttributeFilter> as specified above
     </ResourceAttributeFilters>
  </AttributeFilters>
  
Note: Instead of specifying plantype name, the object typename (e.g., "ergocompprocessdefault, "ergocomporgprocess", etc) can also be supplied if filter is to be applicable to all plantypes
Note: For the <Operator> tag, the following are the legal values
   =
   !=
   <
   >
   <=
   >=
   LIKE
   NOT LIKE
Example:
iFilters = "<ProcessFilter>Process Type A</ProcessFilter><LabelFilter>Label B</LabelFilter><LineNumberFilter>10</LineNumberFilter>"
The order is NOT important. e.g., "<LabelFilter>...</LabelFilter>" can come before "<ProcessFilter>...</ProcessFilter>"
Example:
Example with attribute filers. Assuming user wishes to filter on Line Number 10 and load only those Workplans that are labelled "Workplan A" and "Workplan C"
iFilters = "<LineNumberFilter>10</LineNumberFilter><AttributeFilters><ProcessAttributeFilters><AttributeFilter> <PlanTypeName>Workplan</PlanTypeName> <AttributeName>name</AttributeName> <Operator>=</Operator> <AttributeValue>Workplan A</AttributeValue> <AttributeValue>Workplan C</AttributeValue> </AttributeFilter></ProcessAttributeFilters></AttributeFilters>"
Returns:
S_OK if all OK E_INVALIDARG if incorrect input format
o SetProcessTreeID
public virtual HRESULT SetProcessTreeID( const CATUnicodeString& iProcessTreeID)= 0
Sets the "subcompitem" ID (oid) of process tree selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID has to be supplied
Parameters:
iProcessTreeID
[in] ID of the process tree
Returns:
S_OK in all cases
o SetProductBOMID
public virtual HRESULT SetProductBOMID( const CATUnicodeString& iProductBOMID)= 0
Sets the "subcompitem" ID (oid) of product BOM selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID has to be supplied
Parameters:
iProductBOMID
[in] ID of the product BOM
Returns:
S_OK in all cases
o SetResourceTreeID
public virtual HRESULT SetResourceTreeID( const CATUnicodeString& iResourceTreeID)= 0
Sets the "subcompitem" ID (oid) of resource tree selected for the load For the topmost node in the tree, since no "subcompitem" ID is available, the "ergocompbase" ID has to be supplied
Parameters:
iResourceTreeID
[in] ID of the resource tree
Returns:
S_OK in all cases
o SetSelectedObjectID
public virtual HRESULT SetSelectedObjectID( const CATUnicodeString& iSelectedObjectID)= 0
Sets the "ergocompbase" ID (oid) of selected object (object use to start the load).
Parameters:
iSelectedObjectID
[in] ID of the selected object
Returns:
S_OK in all cases

This object is included in the file: DNBIMHILoadParameters.h
If needed, your Imakefile.mk should include the module: CAADNBPDMItf

Copyright © 2003, Dassault Systèmes. All rights reserved.