All Categories  Class Hierarchy  This Category  Indexes

Configuration Class CATCfgInterfaces

CATCfgInterfaces
 


public class CATCfgInterfaces

Notes:

Link with module LV011ASS.
Following convention is used for naming parameters.
Parameter names prefixed by:
i are input parameters
o are ouput parameters
io are input/output parameters
When the returned error structure is valuated the ShortMsg and LongMsg must be both deleted.
Example:
// Call configuration API
Error Err = CATCfgInterfaces::XXX(yyy);
// Error management
if(Err.Ier != 0)
{
// Display error
cout<<"VPM ERROR "<<Err.Ier;
if(Err.ShortMsg != NULL && Err.LongMsg != NULL) cout<<" "<<Err.ShortMsg<<":"<<Err.LongMsg;
cout<<endl;
// Reset error
if(Err.ShortMsg != NULL) delete [ ] Err.ShortMsg;
if(Err.LongMsg != NULL) delete [ ] Err.LongMsg;
Err.ShortMsg = Err.LongMsg = NULL;
Err.Ier = 0;
}


Method Index


o AddBrotherToConfigHandler(char*,double,double,char*,char*)
Make a config-handler brither of another existing config-handler

o AddCategoryToDictionary(char*,double,double,char*,char*,int,int)
Add a category to the dictionary associated to the configurable product
If iCoid and iCompid are zero then the category is added to the corporate dictionary

o AddChildToConfigHandler(char*,double,double,char*,char*,double,double,char*)
Make a config-handler child of another existing config-handler

o AddCompatibilityMatrixToDictionary(char*,double,double,char*,char*,int,char**)
Add a compatibility matrix to the dictionary associated to the configurable product
If iCoid and iCompid are zero then the matrix is added to the corporate dictionary

o AddCompatibilityRuleToMatrix(char*,double,double,char*,char*,char*)
Add a compatibility rule to the specified matrix
If iCoid and iCompid are zero then the rule is added to the corporate dictionary

o AddOptionToConfigHandler(char*,double,double,char*,char*)
Add an option to an existing config-handler

o AddOptionToDictionary(char*,double,double,char*,char*,char*,int,int)
Add an option to the dictionary associated to the configurable product
If iCoid and iCompid are zero then the option is added to the corporate dictionary

o AddRuleToDictionary(char*,double,double,char*,char*,int,char*)
Add an if-then/package rule to the dictionary associated to the configurable product
If iCoid and iCompid are zero then the rule is added to the corporate dictionary

o CheckActionParameters(char*)
o CleanMemory()
Clean memory by unloading all configuration objects (effectivities, config-handlers, dictionaries, .
o CreateConfigHandler(char*,double,double,char*,char*,unsigned int,unsigned int,int,char*,char*,int,char**,int,char**)
This one should not be used any more, please use the previous one
(will not be available in next version)
o CreateConfigHandler(char*,double,double,char*,char*,unsigned int,unsigned int,int,char*,char*,int,char**,int,char**,int,char*,char*,char*,char*,char*,char*,char*,char*,char*)
Create a config-handler on a configurable product

o CreateConfigHandler(char*,double,double,char*,char*,unsigned int,unsigned int,int,time_t,time_t,int,char**,int,char**)
This one should not be used any more, please use the previous one
(will not be available in next version)
o CreateConfigHandler(char*,double,double,char*,char*,unsigned int,unsigned int,int,time_t,time_t,int,char**,int,char**,int,char*,char*,char*,char*,char*,char*,char*,char*,char*)
Create a config-handler on a configurable product

o CreateCurDateEffectivity(char*,double,double,char*,char*)
Create current-date effectivity on a link

o CreateDateEffectivity(char*,double,double,char*,char*,char*,char*,char*,char*,char*,char*)
Create date effectivity on a link

o CreateDateEffectivity(char*,double,double,char*,time_t,time_t,char*,char*,char*,char*,char*)
Create date effectivity on a link

o CreateDateMilestone(char*,double,double,char*,char*,char*,time_t)
Create a date milestone associated to the configurable product

o CreateDictionary(char*,double,double)
Create an option dictionary on a configurable product
If iCoid and iCompid are zero then a corporate dictionary is created

o CreateModifEffectivity(char*,double,double,char*)
Create modification effectivity on a link

o CreateOptDateEffectivity(char*,double,double,char*,char*,char*,char*,char*,char*,char*,char*,char*)
Create option-date effectivity on a link

o CreateOptDateEffectivity(char*,double,double,char*,char*,time_t,time_t,char*,char*,char*,char*,char*)
Create option-date effectivity on a link

o CreateOptDateEffectivity(char*,double,double,char*,int,char**,char*,char*,char*,char*,char*,char*,char*)
Create complex-option-date effectivity on a link (options combined with AND operator)

o CreateOptDateEffectivity(char*,double,double,char*,int,char**,time_t,time_t,char*,char*,char*,char*,char*)
Create complex-option-date effectivity on a link (options combined with AND operator)

o CreateOptEffectivity(char*,double,double,char*,char*,char*)
Create option effectivity on a link

o CreateOptEffectivity(char*,double,double,char*,int,char**,char*)
Create complex-option effectivity on a link (options combined with AND operator)

o CreateOptRangeEffectivity(char*,double,double,char*,char*,unsigned int,unsigned int,char*,char*,char*,char*,char*)
Create option-range effectivity on a link

o CreateOptRangeEffectivity(char*,double,double,char*,int,char**,unsigned int,unsigned int,char*,char*,char*,char*,char*)
Create Create complex-option-range effectivity on a link (options combined with AND operator)

o CreateRangeEffectivity(char*,double,double,char*,unsigned int,unsigned int,char*,char*,char*,char*,char*)
Create range effectivity on a link

o CreateRangeMilestone(char*,double,double,char*,char*,char*,int)
Create a range milestone associated to the configurable product

o CurDateReplace(char*,double,double,char*,double,double,char*)
Replace a link with an other one for current-date effectivity

o DeleteConfigHandler(char*,double,double,char*)
Delete a config-handler

o DeleteDateEffectivity(char*,double,double,char*,char*,char*)
Delete date effectivity on a link

o DeleteDateEffectivity(char*,double,double,time_t,time_t,char*)
Delete date effectivity on a link

o DeleteDateMilestone(char*,double,double,char*,char*)
Delete a date milestone associated to the configurable product

o DeleteDateMilestoneProg(char*,double,double,char*)
Delete all date milestones from a program associated to the configurable product

o DeleteDictionary(char*,double,double)
Delete an option dictionary on a product

o DeleteEffectivity(char*,double,double,int,char*)
Delete one effectivity on a link

o DeleteOptDateEffectivity(char*,double,double,char*,char*,char*,char*)
Delete option-date effectivity on a link

o DeleteOptDateEffectivity(char*,double,double,char*,time_t,time_t,char*)
Delete option-date effectivity on a link

o DeleteOptEffectivity(char*,double,double,char*,char*)
Delete option effectivity on a link

o DeleteOptRangeEffectivity(char*,double,double,char*,unsigned int,unsigned int,char*)
Delete option-range effectivity on a link

o DeleteRangeEffectivity(char*,double,double,unsigned int,unsigned int,char*)
Delete range effectivity on a link

o DeleteRangeMilestone(char*,double,double,char*,char*)
Delete a range milestone associated to the configurable product

o DeleteRangeMilestoneProg(char*,double,double,char*)
Delete all range milestones from a program associated to the configurable product

o ExtendModification(char*,double,double,char*,double,double)
Extend modification from part API to process in batch the interactiv function "extend modification from clipboard" use case : A ---Action1--- B ---Action2--- C If modification effectivity (Action2) exists between B and C and modification effectivity (Action1) exists between A and B when "edit configuration" on A, only Action1 is available.
o GetAFMode(char*,double,double,int&)
Get Action-Flow mode to modify assembly structure

o GetCategFromDictionary(char*,double,double,int&)
Get the number of categories in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of categories in the corporate dictionary

o GetCategFromDictionary(char*,double,double,int,char[40],char[255],int&,int&)
Get one category from the dictionary associated to the configurable product
If iCoid and iCompid are zero then get one category from the corporate dictionary

o GetCfgHandler(ObjID&,int&)
Get the number of config-handlers for a part

o GetCfgHandler(ObjID&,int&,char[41],char[255],char[10],char[10],char[10])
Get a config handler by its number (from 1 to oNbCfgHnd)

o GetCfgHandlerBrothers(ObjID&,int&,int&,char**&)
Get brothers of a config handler by its number (from 1 to oNbCfgHnd)

o GetCfgHandlerChilds(ObjID&,int&,int&,ObjID*&,char**&)
Get childs of a config handler by its number (from 1 to oNbCfgHnd)

o GetCfgHandlerParameters(ObjID&,int&,unsigned int&,unsigned int&,int&,time_t&,time_t&,int&,char**&,int&,char**&)
This one should not be used any more, please use the previous one
(will not be available in next version)
o GetCfgHandlerParameters(ObjID&,int&,unsigned int&,unsigned int&,int&,time_t&,time_t&,int&,char**&,int&,char**&,int&,char[40],char[40],char[40],char[40],char[40],char[40],char[40],char[40])
Get the parameters of a config handler by its number (from 1 to oNbCfgHnd)

o GetCompatibilityMatrixFromDictionary(char*,double,double,int&)
Get the number of matrices in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of matrices in the corporate dictionary

o GetCompatibilityMatrixFromDictionary(char*,double,double,int,char[40],char[255],char[10],char[10],int&,char**&,int&)
Get one matrix from the dictionary associated to the configurable product
If iCoid and iCompid are zero then get one matrix from the corporate dictionary

o GetCompatibilityRuleFromMatrix(char*,double,double,int,int,char[40],char[255],char[255])
Get one rule from the compatibility matrix
If iCoid and iCompid are zero then get one rule from the corporate dictionary

o GetConfigurableTypes(char*,double,double,int&,int&,int&,int&)
Get configurable types on a part

o GetDateMilestoneId(char*,double,double,int&,char**&,char**&,char**&,time_t*&,int*&)
Get all date milestones associated to the configurable product

o GetDateMilestoneIdForProg(char*,double,double,char*,int&,char**&,char**&,time_t*&,int*&)
Get date milestones associated to the program for the configurable product

o GetDateMilestoneProg(char*,double,double,int&,char**&)
Get all program name for date milestones associated to the configurable product

o GetDbID(char*,char*,char*,char*,ObjID&)
Get database id of a part identified by PART_NUMBER and PART_VERSION

o GetEffectivitiesForLink(char*,double,double,int&,EffParam*&,char*)
Get all effectivities defined on a link

o GetEffectivityForLink(char*,double,double,int&,char*)
Get the number of effectivities on a link Note: For performance improvement, please use GetEffectivitiesForLink()

o GetEffectivityForLink(char*,double,double,int,EffParam&,char*)
Get one effectivity for a link Note: For performance improvement, please use GetEffectivitiesForLink()

o GetModifForLink(char*,double,double,int&,char**&,int&,char**&)
Get all modification effectivities (validated or not) for a link

o GetOptFromDictionary(char*,double,double,int&)
Get the number of options in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

o GetOptFromDictionary(char*,double,double,int,char[40],char[40],char[255],int&)
Get one option from the dictionary associated to the configurable product
If iCoid and iCompid are zero then get one option from the corporate dictionary

o GetOptionsFromDictionary(char*,double,double,CATListValCATUnicodeString&)
Get the names of options in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

o GetPlannedEffForAction(char*,int&,EffParam*&)
Get planned effectivity associated to the action

o GetRangeMilestoneId(char*,double,double,int&,char**&,char**&,char**&,int*&,int*&)
Get all range milestones associated to the configurable product

o GetRangeMilestoneIdForProg(char*,double,double,char*,int&,char**&,char**&,int*&,int*&)
Get range milestones associated to the program for the configurable product

o GetRangeMilestoneProg(char*,double,double,int&,char**&)
Get all program name for range milestones associated to the configurable product

o GetRulesFromDictionary(char*,double,double,int&)
Get the number of rules in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of rules in the corporate dictionary

o GetRulesFromDictionary(char*,double,double,int,char[40],char[255],char[255],int&,char[10],char[10])
Get one rule from the dictionary associated to the configurable product
If iCoid and iCompid are zero then get one rule from the corporate dictionary

o HasCategoryInDictionary(char*,double,double,char*,int&)
Test the existence of a Category in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

o HasDictionary(char*,double,double,int&)
Test if a part has a dictionary

o HasMilestones(char*,double,double,int&,int&)
Test if a part has milestones

o HasOptionInDictionary(char*,double,double,char*,int&)
Test the existence of a option in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

o HasOptionsInDictionary(char*,double,double,int&)
Get the number of options in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

o IsConfigurable(char*,double,double,int&)
Test if a part is configurable

o IsHistoryLink(char*,double,double,int&,char*)
Get all effectivities defined on a link

o ModifyCfgHandlerDate(ObjID&,int&,int,time_t,time_t,char*,char*,char*,char*)
Modify the date of a config handler by its number (from 1 to oNbCfgHnd)

o ModifyCfgHandlerOption(ObjID&,int&,char*,int)
Modify one option of a config handler by its number (from 1 to oNbCfgHnd)

o ModifyCfgHandlerPlannedEff(ObjID&,int&,int)
Modify the flag to add planned effectivity in a config handler by its number (from 1 to oNbCfgHnd)

o ModifyCfgHandlerRange(ObjID&,int&,unsigned int,unsigned int,char*,char*,char*,char*)
Modify the range of a config handler by its number (from 1 to oNbCfgHnd)

o ModifyCfgHandlerVisibility(ObjID&,int&,char*)
Modify the visibility of a config handler by its number (from 1 to oNbCfgHnd)

o ModifyDateMilestoneValue(char*,double,double,char*,char*,time_t)
Modify a date from milestone associated to the configurable product

o ModifyEffectivity(char*,double,double,int,EffParam&,char*)
Modify an effectivity

o ModifyOwnershipForCategory(char*,double,double,char*,char*,char*)
o ModifyOwnershipForCompatibilityMatrix(char*,double,double,char*,char*,char*)
o ModifyOwnershipForConfigHandler(char*,double,double,char*,char*,char*)
o ModifyOwnershipForRule(char*,double,double,char*,char*,char*)
o ModifyRangeMilestoneValue(char*,double,double,char*,char*,int)
Modify a range from milestone associated to the configurable product

o PublicVisibility(char*)
Promote Modification to Public Visibilty in batch

o RemoveBrotherFromConfigHandler(char*,double,double,char*,char*)
Remove brother link between two existing config-handler

o RemoveCategoryFromDictionary(char*,double,double,char*)
Remove a category from the dictionary associated to the configurable product
If iCoid and iCompid are zero then the category is removed from the corporate dictionary

o RemoveChildFromConfigHandler(char*,double,double,char*,char*,double,double,char*)
Remove child link between two existing config-handler

o RemoveCompatibilityMatrixFromDictionary(char*,double,double,char*)
Remove a compatibility matrix from the dictionary associated to the configurable product
If iCoid and iCompid are zero then the matrix is removed from the corporate dictionary

o RemoveCompatibilityRuleFromMatrix(char*,double,double,char*,char*)
Remove a compatibility rule from the specified matrix
If iCoid and iCompid are zero then the rule is removed from the corporate dictionary

o RemoveOptionFromConfigHandler(char*,double,double,char*,char*)
Remove an option from a config-handler

o RemoveOptionFromDictionary(char*,double,double,char*)
Remove an option from the dictionary associated to the configurable product
If iCoid and iCompid are zero then the option is removed from the corporate dictionary

o RemoveRuleFromDictionary(char*,double,double,char*)
Remove an if-then/package rule from the dictionary associated to the configurable product
If iCoid and iCompid are zero then the rule is removed from the corporate dictionary

o RenameCategoryInDb(char*,char*,int&,int&)
Rename a category from corporate dictionnary and propagate it in whole database.
o RenameOptionInDb(char*,char*,int&,int&,int&,int&,int&)
Rename an option from corporate dictionnary and propagate it in whole database
Commit must be done explicitely using CATDMUsrConnection::Commit()

o ReplaceChild(CATDMUsrInstance&,double,CATDMUsrInstance&,int,EffParam*,CATDMUsrInstance*)
Replace a link with new child commited with effectivities

o ReplayRulesOnConfigHandler(char*,double,double,char*)
o SetAFMode(char*,double,double,int)
Set Action-Flow mode to modify assembly structure

o SetConfigurable(char*,double,double,int,int,int,int)
Set a part configurable

o SetPlannedEff(char*,char*,unsigned int,unsigned int,time_t,time_t)
Set planned effectivities of an Action

o SetPlannedEffForAction(char*,int,EffParam*)
Set planned effectivity associated to the action

o SetUnsetNotEffectivity(char*,double,double,int,char*)
Set/Unset the effectivity as NOT

o UnsetConfigurable(char*,double,double)
Unset a part configurable

o UpdateDictionaryFromAssembly(char*,double,double,int)
Update a product dictionary with effectivities of its associated assembly

o ValidateModifWithPlannedEff(char*)
Validate the modifications associated to the action for the planned effectivities defined on the action

Methods


o AddBrotherToConfigHandler
public static Error AddBrotherToConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iFatherCHId,
const char* iBrotherCHId)
Make a config-handler brither of another existing config-handler

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iFatherCHId
identifier of the father config-handler
iBrotherCHId
identifier of the brother config-handler

Returns:
Error: return-code for error management
o AddCategoryToDictionary
public static Error AddCategoryToDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iName,
const char* iDesc,
const int iMutuallyExcl,
const int iMandatory)
Add a category to the dictionary associated to the configurable product
If iCoid and iCompid are zero then the category is added to the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iName
category name
iDesc
description of the category
iMutuallyExcl
is option selection within the category mutually exclusive
iMandatory
is option selection within the category mandatory

Returns:
Error: return-code for error management 50074 = Category with this name already exists
o AddChildToConfigHandler
public static Error AddChildToConfigHandler( const char* iFatherEnv,
double iFatherCoid,
double iFatherCompid,
const char* iFatherCHId,
const char* iChildEnv,
double iChildCoid,
double iChildCompid,
const char* iChildCHId)
Make a config-handler child of another existing config-handler

Parameters:
iFatherEnv
environment of the part of the father config-handler
iFatherCoid
coid of the part of the father config-handler
iFatherCompid
compid of the part of the father config-handler
iFatherCHId
identifier of the father config-handler
iChildEnv
environment of the part of the child config-handler
iChildCoid
coid of the part of the child config-handler
iChildCompid
compid of the part of the child config-handler
iChildCHId
identifier of the child config-handler

Returns:
Error: return-code for error management
o AddCompatibilityMatrixToDictionary
public static Error AddCompatibilityMatrixToDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iId,
const char* iDesc,
int iNbCategories,
const char** iCategories)
Add a compatibility matrix to the dictionary associated to the configurable product
If iCoid and iCompid are zero then the matrix is added to the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iId
the matrix identifier
iDesc
the description of the matrix
iNbCategories
number of categories in definition
iCategories
categories in definition (must already exist)

Returns:
Error: return-code for error management
50076 = Matrix already exists in the dictionary
50086 = Invalid category in matrix definition
o AddCompatibilityRuleToMatrix
public static Error AddCompatibilityRuleToMatrix( const char* iEnv,
double iCoid,
double iCompid,
const char* iMatrixId,
const char* iRuleId,
const char* iRuleString)
Add a compatibility rule to the specified matrix
If iCoid and iCompid are zero then the rule is added to the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMatrixId
the matrix identifier to which rule is to be added
iRuleId
the rule identifier
iRuleString
rule to be added (must be consistent with matrix definition)
iCategories
categories in definition (must already exist)

Returns:
Error: return-code for error management
50075 = Rule already exists in the matrix
50087 = IThe matrix has not been defined
o AddOptionToConfigHandler
public static Error AddOptionToConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId,
const char* iOptName)
Add an option to an existing config-handler

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iOptName
option name to add in the config-handler (as selected)

Returns:
Error: return-code for error management
o AddOptionToDictionary
public static Error AddOptionToDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iName,
const char* iCategory,
const char* iDesc,
const int iDefaultOption=0,
const int iDefaultReplaceable=1)
Add an option to the dictionary associated to the configurable product
If iCoid and iCompid are zero then the option is added to the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iName
option name
iCategory
category name to which the option belongs
iDesc
description of the option
iDefaultOption
is this the default option in the category
iDefaultReplaceable
is option selection within the category mandatory

Returns:
Error: return-code for error management
50073 = Option with this name already exists in the category
o AddRuleToDictionary
public static Error AddRuleToDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iRuleId,
const char* iRuleString,
const int iRuleType,
const char* iDesc)
Add an if-then/package rule to the dictionary associated to the configurable product
If iCoid and iCompid are zero then the rule is added to the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iRuleId
the rule identifier
iRuleString
the rule
iRuleType
type of the rule
1 -> if-then
2 -> package
iDesc
description of the rule

Returns:
Error: return-code for error management
50075 = Rule already exists in the dictionary
o CheckActionParameters
public static Error CheckActionParameters( const char* iActionName)
o CleanMemory
public static Error CleanMemory()
Clean memory by unloading all configuration objects (effectivities, config-handlers, dictionaries, ...)

Returns:
Error: return-code for error management
o CreateConfigHandler
public static Error CreateConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId,
const char* iCHDesc,
unsigned int iBotRange,
unsigned int iTopRange,
const int iCurDateFlag,
const char* iBegDate,
const char* iEndDate,
const int iNbOpt,
char** iOptList,
const int iNbModif,
char** iModifList)
This one should not be used any more, please use the previous one
(will not be available in next version)
o CreateConfigHandler
public static Error CreateConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId,
const char* iCHDesc,
unsigned int iBotRange,
unsigned int iTopRange,
const int iCurDateFlag,
const char* iBegDate,
const char* iEndDate,
const int iNbOpt,
char** iOptList,
const int iNbModif,
char** iModifList,
const int iPlannedEffFlag,
const char* iMilestProgBotRange=NULL,
const char* iMilestIdBotRange=NULL,
const char* iMilestProgTopRange=NULL,
const char* iMilestIdTopRange=NULL,
const char* iMilestProgBegDate=NULL,
const char* iMilestIdBegDate=NULL,
const char* iMilestProgEndDate=NULL,
const char* iMilestIdEndDate=NULL,
const char* iCHVisibility=NULL)
Create a config-handler on a configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iCHId
config-handler Id
iCHDesc
description of the config-handler
iBotRange
bottom range of the config-handler
0 -> no range
iTopRange
top range of the config-handler
0 -> infinity
iCurDateFlag
current-date flag
1 -> set current-date
0 -> unset current-date
iBegDate
beginning date of the config-handler (format: YYYY-MM-DD)
NULL -> no date
iEndDate
ending date of the config-handler (format: YYYY-MM-DD)
NULL -> infinity
iNbOpt
number of options in iOptList
0 -> no option
iOptList
selected options of the config-handler
iNbModif
number of modifications in iModifList
0 -> no modification
iModifList
selected modifications of the config-handler
iPlannedEffFlag
flag for planned effectivities
1 -> set planned effectivities
0 -> unset planned effectivities
iMilestProgBotRange
program name of milestone for bottom range
NULL -> no milestone for bottom range
iMilestIdBotRange
identifier of milestone for bottom range
NULL -> no milestone for bottom range
iMilestProgTopRange
program name of milestone for top range
NULL -> no milestone for top range
iMilestIdTopRange
identifier of milestone for top range
NULL -> no milestone for top range
iMilestProgBegDate
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBegDate
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEndDate
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEndDate
identifier of milestone for ending date
NULL -> no milestone for ending date
iCHVisibility
visibility of the config-handler
PUBLIC -> all users can use it (default value)
PRIVATE -> only the owner can use it
DATAGROUP -> depends to security process CFG.UseCH

Returns:
Error: return-code for error management
o CreateConfigHandler
public static Error CreateConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId,
const char* iCHDesc,
unsigned int iBotRange,
unsigned int iTopRange,
const int iCurDateFlag,
time_t iBegDate,
time_t iEndDate,
const int iNbOpt,
char** iOptList,
const int iNbModif,
char** iModifList)
This one should not be used any more, please use the previous one
(will not be available in next version)
o CreateConfigHandler
public static Error CreateConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId,
const char* iCHDesc,
unsigned int iBotRange,
unsigned int iTopRange,
const int iCurDateFlag,
time_t iBegDate,
time_t iEndDate,
const int iNbOpt,
char** iOptList,
const int iNbModif,
char** iModifList,
const int iPlannedEffFlag,
const char* iMilestProgBotRange=NULL,
const char* iMilestIdBotRange=NULL,
const char* iMilestProgTopRange=NULL,
const char* iMilestIdTopRange=NULL,
const char* iMilestProgBegDate=NULL,
const char* iMilestIdBegDate=NULL,
const char* iMilestProgEndDate=NULL,
const char* iMilestIdEndDate=NULL,
const char* iCHVisibility=NULL)
Create a config-handler on a configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iCHId
config-handler Id
iCHDesc
description of the config-handler
iBotRange
bottom range of the config-handler
0 -> no range
iTopRange
top range of the config-handler
0 -> infinity
iCurDateFlag
current-date flag
1 -> set current-date
0 -> unset current-date
iBegDate
beginning date of the config-handler
0 -> no date
iEndDate
ending date of the config-handler
0 -> infinity
iNbOpt
number of options in iOptList
0 -> no option
iOptList
selected options of the config-handler
iNbModif
number of modifications in iModifList
0 -> no modification
iModifList
selected modifications of the config-handler
iPlannedEffFlag
flag for planned effectivities
1 -> set planned effectivities
0 -> unset planned effectivities
iMilestProgBotRange
program name of milestone for bottom range
NULL -> no milestone for bottom range
iMilestIdBotRange
identifier of milestone for bottom range
NULL -> no milestone for bottom range
iMilestProgTopRange
program name of milestone for top range
NULL -> no milestone for top range
iMilestIdTopRange
identifier of milestone for top range
NULL -> no milestone for top range
iMilestProgBegDate
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBegDate
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEndDate
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEndDate
identifier of milestone for ending date
NULL -> no milestone for ending date
iCHVisibility
visibility of the config-handler
PUBLIC -> all users can use it (default value)
PRIVATE -> only the owner can use it
DATAGROUP -> depends to security process CFG.UseCH

Returns:
Error: return-code for error management
o CreateCurDateEffectivity
public static Error CreateCurDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
const char* iTableName=NULL)
Create current-date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity

Returns:
Error: return-code for error management
o CreateDateEffectivity
public static Error CreateDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
const char* iBegDate,
const char* iEndDate=NULL,
const char* iTableName=NULL,
const char* iMilestProgBeg=NULL,
const char* iMilestIdBeg=NULL,
const char* iMilestProgEnd=NULL,
const char* iMilestIdEnd=NULL)
Create date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iBegDate
beginning date of effectivity (format: YYYY-MM-DD)
iEndDate
ending date of effectivity (format: YYYY-MM-DD)
NULL -> infinity
iMilestProgBeg
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBeg
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEnd
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEnd
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o CreateDateEffectivity
public static Error CreateDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
time_t iBegDate,
time_t iEndDate=0,
const char* iTableName=NULL,
const char* iMilestProgBeg=NULL,
const char* iMilestIdBeg=NULL,
const char* iMilestProgEnd=NULL,
const char* iMilestIdEnd=NULL)
Create date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iBegDate
beginning date of effectivity
iEndDate
ending date of effectivity
0 -> infinity
iMilestProgBeg
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBeg
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEnd
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEnd
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o CreateDateMilestone
public static Error CreateDateMilestone( const char* iEnv,
double iCoid,
double iCompid,
const char* iMilestProg,
const char* iMilestId,
const char* iMilestDesc,
time_t iMilestDate)
Create a date milestone associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMilestProg
program of the milestone
iMilestId
identifier of the milestone
iMilestDesc
description of the milestone
iMilestDate
date value of the milestone

Returns:
Error: return-code for error management
o CreateDictionary
public static Error CreateDictionary( const char* iEnv,
double iCoid,
double iCompid)
Create an option dictionary on a configurable product
If iCoid and iCompid are zero then a corporate dictionary is created

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part

Returns:
Error: return-code for error management
o CreateModifEffectivity
public static Error CreateModifEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification)
Create modification effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iModification
modification name for the effectivity

Returns:
Error: return-code for error management
o CreateOptDateEffectivity
public static Error CreateOptDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
const char* iOptionName,
const char* iBegDate,
const char* iEndDate=NULL,
const char* iTableName=NULL,
const char* iMilestProgBeg=NULL,
const char* iMilestIdBeg=NULL,
const char* iMilestProgEnd=NULL,
const char* iMilestIdEnd=NULL)
Create option-date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iOption
option name of effectivity
iBegDate
beginning date of effectivity (format: YYYY-MM-DD)
iEndDate
ending date of effectivity (format: YYYY-MM-DD)
NULL -> infinity
iMilestProgBeg
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBeg
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEnd
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEnd
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o CreateOptDateEffectivity
public static Error CreateOptDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
const char* iOptionName,
time_t iBegDate,
time_t iEndDate=NULL,
const char* iTableName=NULL,
const char* iMilestProgBeg=NULL,
const char* iMilestIdBeg=NULL,
const char* iMilestProgEnd=NULL,
const char* iMilestIdEnd=NULL)
Create option-date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iOption
option name of effectivity
iBegDate
beginning date of effectivity
iEndDate
ending date of effectivity
0 -> infinity
iMilestProgBeg
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBeg
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEnd
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEnd
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o CreateOptDateEffectivity
public static Error CreateOptDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
int iNbOpt,
const char** iOptList,
const char* iBegDate,
const char* iEndDate=NULL,
const char* iTableName=NULL,
const char* iMilestProgBeg=NULL,
const char* iMilestIdBeg=NULL,
const char* iMilestProgEnd=NULL,
const char* iMilestIdEnd=NULL)
Create complex-option-date effectivity on a link (options combined with AND operator)

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iNbOpt
number of options in iOptList
iOptList
list of options for effectivity
iBegDate
beginning date of effectivity (format: YYYY-MM-DD)
iEndDate
ending date of effectivity (format: YYYY-MM-DD)
NULL -> infinity
iMilestProgBeg
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBeg
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEnd
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEnd
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o CreateOptDateEffectivity
public static Error CreateOptDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
int iNbOpt,
const char** iOptList,
time_t iBegDate,
time_t iEndDate=0,
const char* iTableName=NULL,
const char* iMilestProgBeg=NULL,
const char* iMilestIdBeg=NULL,
const char* iMilestProgEnd=NULL,
const char* iMilestIdEnd=NULL)
Create complex-option-date effectivity on a link (options combined with AND operator)

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iNbOpt
number of options in iOptList
iOptList
list of options for effectivity
iBegDate
beginning date of effectivity
iEndDate
ending date of effectivity
0 -> infinity
iMilestProgBeg
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBeg
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEnd
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEnd
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o CreateOptEffectivity
public static Error CreateOptEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
const char* iOptionName,
const char* iTableName=NULL)
Create option effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iOption
option name of effectivity

Returns:
Error: return-code for error management
o CreateOptEffectivity
public static Error CreateOptEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
int iNbOpt,
const char** iOptList,
const char* iTableName=NULL)
Create complex-option effectivity on a link (options combined with AND operator)

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iNbOpt
number of options in iOptList
iOptList
list of options for effectivity

Returns:
Error: return-code for error management
o CreateOptRangeEffectivity
public static Error CreateOptRangeEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
const char* iOptionName,
unsigned int iBotRange,
unsigned int iTopRange=0,
const char* iTableName=NULL,
const char* iMilestProgBot=NULL,
const char* iMilestIdBot=NULL,
const char* iMilestProgTop=NULL,
const char* iMilestIdTop=NULL)
Create option-range effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iOption
option name of effectivity
iBotRange
bottom range of effectivity
iTopRange
top range of effectivity
0 -> infinity
iMilestProgBeg
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBeg
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEnd
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEnd
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o CreateOptRangeEffectivity
public static Error CreateOptRangeEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
int iNbOpt,
const char** iOptList,
unsigned int iBotRange,
unsigned int iTopRange,
const char* iTableName=NULL,
const char* iMilestProgBot=NULL,
const char* iMilestIdBot=NULL,
const char* iMilestProgTop=NULL,
const char* iMilestIdTop=NULL)
Create Create complex-option-range effectivity on a link (options combined with AND operator)

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iNbOpt
number of options in iOptList
iOptList
list of options for effectivity
iBotRange
bottom range of effectivity
iTopRange
top range of effectivity
0 -> infinity
iMilestProgBeg
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBeg
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEnd
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEnd
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o CreateRangeEffectivity
public static Error CreateRangeEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iModification,
unsigned int iBotRange,
unsigned int iTopRange=0,
const char* iTableName=NULL,
const char* iMilestProgBot=NULL,
const char* iMilestIdBot=NULL,
const char* iMilestProgTop=NULL,
const char* iMilestIdTop=NULL)
Create range effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iModification
modification name for history of effectivity
iBotRange
bottom range of effectivity
iTopRange
top range of effectivity
0 -> infinity
iMilestProgBot
program name of milestone for bottom range
NULL -> no milestone for bottom range
iMilestIdBot
identifier of milestone for bottom range
NULL -> no milestone for bottom range
iMilestProgTop
program name of milestone for top range
NULL -> no milestone for top range
iMilestIdTop
identifier of milestone for top range
NULL -> no milestone for top range

Returns:
Error: return-code for error management
o CreateRangeMilestone
public static Error CreateRangeMilestone( const char* iEnv,
double iCoid,
double iCompid,
const char* iMilestProg,
const char* iMilestId,
const char* iMilestDesc,
int iMilestRange)
Create a range milestone associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMilestProg
program of the milestone
iMilestId
identifier of the milestone
iMilestDesc
description of the milestone
iMilestRange
range value of the milestone

Returns:
Error: return-code for error management
o CurDateReplace
public static Error CurDateReplace( const char* iEnv1,
double iCoid1,
double iCompid1,
const char* iEnv2,
double iCoid2,
double iCompid2,
const char* iModification)
Replace a link with an other one for current-date effectivity

Parameters:
iEnv1
environment of the source link
iCoid1
coid of the source link
iCompid1
compid of the source link
iEnv2
environment of the destination link
iCoid2
coid of the destination link
iCompid2
compid of the destination link
iModification
modification name for history

Returns:
Error: return-code for error management
o DeleteConfigHandler
public static Error DeleteConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId)
Delete a config-handler

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iCHId
identifier of the config-handler

Returns:
Error: return-code for error management
o DeleteDateEffectivity
public static Error DeleteDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iBegDate,
const char* iEndDate=NULL,
const char* iTableName=NULL)
Delete date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iBegDate
beginning date of effectivity (format: YYYY-MM-DD)
iEndDate
ending date of effectivity (format: YYYY-MM-DD)
NULL -> infinity

Returns:
Error: return-code for error management
o DeleteDateEffectivity
public static Error DeleteDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
time_t iBegDate,
time_t iEndDate=0,
const char* iTableName=NULL)
Delete date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iBegDate
beginning date of effectivity
iEndDate
ending date of effectivity
0 -> infinity

Returns:
Error: return-code for error management
o DeleteDateMilestone
public static Error DeleteDateMilestone( const char* iEnv,
double iCoid,
double iCompid,
const char* iMilestProg,
const char* iMilestId)
Delete a date milestone associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMilestProg
program of the milestone
iMilestId
identifier of the milestone

Returns:
Error: return-code for error management
o DeleteDateMilestoneProg
public static Error DeleteDateMilestoneProg( const char* iEnv,
double iCoid,
double iCompid,
const char* iMilestProg)
Delete all date milestones from a program associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMilestProg
program name to delete

Returns:
Error: return-code for error management
o DeleteDictionary
public static Error DeleteDictionary( const char* iEnv,
double iCoid,
double iCompid)
Delete an option dictionary on a product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part

Returns:
Error: return-code for error management
o DeleteEffectivity
public static Error DeleteEffectivity( const char* iEnv,
double iCoid,
double iCompid,
int iEffIndex,
const char* iTableName=NULL)
Delete one effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iEffIndex
index of the effectivity to delete (from 1 to NbEff using GetEffectivityForLink)

Returns:
Error: return-code for error management
o DeleteOptDateEffectivity
public static Error DeleteOptDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iOptionName,
const char* iBegDate,
const char* iEndDate=NULL,
const char* iTableName=NULL)
Delete option-date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iOption
option name of effectivity
iBegDate
beginning date of effectivity (format: YYYY-MM-DD)
iEndDate
ending date of effectivity (format: YYYY-MM-DD)
NULL -> infinity

Returns:
Error: return-code for error management
o DeleteOptDateEffectivity
public static Error DeleteOptDateEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iOptionName,
time_t iBegDate,
time_t iEndDate=0,
const char* iTableName=NULL)
Delete option-date effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iOption
option name of effectivity
iBegDate
beginning date of effectivity
iEndDate
ending date of effectivity
0 -> infinity

Returns:
Error: return-code for error management
o DeleteOptEffectivity
public static Error DeleteOptEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iOptionName,
const char* iTableName=NULL)
Delete option effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iOption
option name of effectivity

Returns:
Error: return-code for error management
o DeleteOptRangeEffectivity
public static Error DeleteOptRangeEffectivity( const char* iEnv,
double iCoid,
double iCompid,
const char* iOptionName,
unsigned int iBotRange,
unsigned int iTopRange,
const char* iTableName=NULL)
Delete option-range effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iOption
option name of effectivity
iBotRange
bottom range of effectivity
iTopRange
top range of effectivity
0 -> infinity

Returns:
Error: return-code for error management
o DeleteRangeEffectivity
public static Error DeleteRangeEffectivity( const char* iEnv,
double iCoid,
double iCompid,
unsigned int iBotRange,
unsigned int iTopRange,
const char* iTableName=NULL)
Delete range effectivity on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iBotRange
bottom range of effectivity
iTopRange
top range of effectivity
0 -> infinity

Returns:
Error: return-code for error management
o DeleteRangeMilestone
public static Error DeleteRangeMilestone( const char* iEnv,
double iCoid,
double iCompid,
const char* iMilestProg,
const char* iMilestId)
Delete a range milestone associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMilestProg
program of the milestone
iMilestId
identifier of the milestone

Returns:
Error: return-code for error management
o DeleteRangeMilestoneProg
public static Error DeleteRangeMilestoneProg( const char* iEnv,
double iCoid,
double iCompid,
const char* iMilestProg)
Delete all range milestones from a program associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMilestProg
program name to delete

Returns:
Error: return-code for error management
o ExtendModification
public static Error ExtendModification( const char* iEnvSource,
double iCoidSource,
double iCompidSource,
const char* iEnvTarget,
double iCoidTarget,
double iCompidTarget)
Extend modification from part API to process in batch the interactiv function "extend modification from clipboard" use case : A ---Action1--- B ---Action2--- C If modification effectivity (Action2) exists between B and C and modification effectivity (Action1) exists between A and B when "edit configuration" on A, only Action1 is available. If copy B and, on A, do configuration>Extend available modification from clipboard, when "edit configuration" on A, Action1 and Action2 are available.

Parameters:
iEnvSource
environment of the part to copy the modification from
iCoidSource
coid of the part to copy the modification from
iCompidSource
compid of the part to copy the modification from
iEnvTarget
environment of the part to extend the available modification
iCoidTarget
coid of the part to extend the available modification
iCompidTarget
compid of the part to extend the available modification

Returns:
Error: return-code for error management
o GetAFMode
public static Error GetAFMode( const char* iEnv,
double iCoid,
double iCompid,
int& oAFMode)
Get Action-Flow mode to modify assembly structure

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oAFMode
1 -> need an open Action to modify assembly structure
0 -> no Action needed

Returns:
Error: return-code for error management
o GetCategFromDictionary
public static Error GetCategFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
int& oNbCateg)
Get the number of categories in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of categories in the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbCateg
number of categories in the dictionary

Returns:
Error: return-code for error management
o GetCategFromDictionary
public static Error GetCategFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
int iOptIndex,
char[40] oName,
char[255] oDesc,
int& oExclusive,
int& oMandatory)
Get one category from the dictionary associated to the configurable product
If iCoid and iCompid are zero then get one category from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iCategIndex
index of the category to get parameters (from 1 to NbCateg)
oName
category name
oDesc
description of the category
oExclusive
flag to know if the category is exclusive 1 -> exclusive
0 -> not exclusive
oMandatory
flag to know if the category is mandatory
1 -> mandatory
0 -> not mandatory

Returns:
Error: return-code for error management
o GetCfgHandler
public static Error GetCfgHandler( const ObjID& iPartID,
int& oNbCfgHnd)
Get the number of config-handlers for a part

Parameters:
iPartID
structure to identify the part
oNbCfgHnd
number of config-handlers defined on the part

Returns:
Error: return-code for error management
o GetCfgHandler
public static Error GetCfgHandler( const ObjID& iPartID,
const int& iCfgHndIndex,
char[41] oCfgHndId,
char[255] oCfgHndDesc,
char[10] oCfgHndVisibility,
char[10] oCfgHndOwner,
char[10] oCfgHndOrg)
Get a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to get parameters (from 1 to NbCfgHnd)
oCfgHndId
identifier of the config-handler
oCfgHndDesc
description of the config-handler
oCfgHndVisibility
visibility of the config-handler (PUBLIC, PRIVATE, DATAGROUP)
oCfgHndOwner
owner of the config-handler
oCfgHndOrg
organization of the config-handler

Returns:
Error: return-code for error management
o GetCfgHandlerBrothers
public static Error GetCfgHandlerBrothers( const ObjID& iPartID,
const int& iCfgHndIndex,
int& oNbBrother,
char**& oCfgHndIdList)
Get brothers of a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to get brothers (from 1 to NbCfgHnd)
oNbBrother
number of objects in oCfgHndIdList
0 -> no brother
oCfgHndIdList
identifier of brother
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbBrother; i++) delete [ ] oCfgHndIdList[i];
delete [ ] oCfgHndIdList;

Returns:
Error: return-code for error management
o GetCfgHandlerChilds
public static Error GetCfgHandlerChilds( const ObjID& iPartID,
const int& iCfgHndIndex,
int& oNbChild,
ObjID*& oCfgHndPartList,
char**& oCfgHndIdList)
Get childs of a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to get childs (from 1 to NbCfgHnd)
oNbChild
number of objects in oCfgHndPartList and oCfgHndIdList
0 -> no children
oCfgHndPartList
associated part for children
NB: Don't forget to clean the memory with:
delete [ ] oCfgHndPartList;
oCfgHndIdList
identifier of children
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbChild; i++) delete [ ] oCfgHndIdList[i];
delete [ ] oCfgHndIdList;

Returns:
Error: return-code for error management
o GetCfgHandlerParameters
public static Error GetCfgHandlerParameters( const ObjID& iPartID,
const int& iCfgHndIndex,
unsigned int& oBotRange,
unsigned int& oTopRange,
int& oCurDateFlag,
time_t& oBegDate,
time_t& oEndDate,
int& oNbOpt,
char**& oOptList,
int& oNbModif,
char**& oModifList)
This one should not be used any more, please use the previous one
(will not be available in next version)
o GetCfgHandlerParameters
public static Error GetCfgHandlerParameters( const ObjID& iPartID,
const int& iCfgHndIndex,
unsigned int& oBotRange,
unsigned int& oTopRange,
int& oCurDateFlag,
time_t& oBegDate,
time_t& oEndDate,
int& oNbOpt,
char**& oOptList,
int& oNbModif,
char**& oModifList,
int& oPlannedEffFlag,
char[40] oMilestProgBotRange,
char[40] oMilestIdBotRange,
char[40] oMilestProgTopRange,
char[40] oMilestIdTopRange,
char[40] oMilestProgBegDate,
char[40] oMilestIdBegDate,
char[40] oMilestProgEndDate,
char[40] oMilestIdEndDate)
Get the parameters of a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to get parameters (from 1 to NbCfgHnd)
oBotRange
bottom range of the config-handler
0 -> no range
oTopRange
top range of the config-handler
0 -> infinity
oCurDateFlag
flag to test the current date
1 -> set
0 -> unset
oBegDate
beginning date of the config-handler
0 -> no date
oEndDate
ending date of the config-handler
0 -> infinity
oNbOpt
number of options in oOptList
0 -> no option
oOptList
selected options of the config-handler
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbOpt; i++) delete [ ] oOptList[i];
delete [ ] oOptList;
oNbModif
number of modifications in oModifList
0 -> no option
oModifList
selected modifications of the config-handler
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbModif; i++) delete [ ] oModifList[i];
delete [ ] oModifList;
oPlannedEffFlag
flag to test the proposed-effectivities
0 -> unset
1 -> set
-1 -> undefined
oMilestProgBotRange
program name of milestone for bottom range
oMilestIdBotRange
identifier of milestone for bottom range
oMilestProgTopRange
program name of milestone for top range
oMilestIdTopRange
identifier of milestone for top range
oMilestProgBegDate
program name of milestone for beginning date
oMilestIdBegDate
identifier of milestone for beginning date
oMilestProgEndDate
program name of milestone for ending date
oMilestIdEndDate
identifier of milestone for ending date

Returns:
Error: return-code for error management
o GetCompatibilityMatrixFromDictionary
public static Error GetCompatibilityMatrixFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
int& oNbMatrices)
Get the number of matrices in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of matrices in the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbMatrices
number of matrices in the dictionary

Returns:
Error: return-code for error management
o GetCompatibilityMatrixFromDictionary
public static Error GetCompatibilityMatrixFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
int iMatrixIndex,
char[40] oId,
char[255] oDesc,
char[10] oOwner,
char[10] oOrg,
int& oNbCateg,
char**& oCateg,
int& oNbRules)
Get one matrix from the dictionary associated to the configurable product
If iCoid and iCompid are zero then get one matrix from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMatrixIndex
index of the matrix to get parameters (from 1 to NbMatrices)
oId
matrix identifier
oDesc
description of the matrix
oOwner
owner of the matrix
oOrg
organization of the matrix
oNbCateg
number of categories in the matrix (nb columns)
oCateg
categories of the matrix
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbCateg; i++) delete [ ] oCateg[i];
delete [ ] oCateg;
oNbRules
number of rules in the matrix (nb rows)

Returns:
Error: return-code for error management
o GetCompatibilityRuleFromMatrix
public static Error GetCompatibilityRuleFromMatrix( const char* iEnv,
double iCoid,
double iCompid,
int iMatrixIndex,
int iRuleIndex,
char[40] oId,
char[255] oString,
char[255] oDesc)
Get one rule from the compatibility matrix
If iCoid and iCompid are zero then get one rule from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMatrixIndex
index of the matrix to get parameters (from 1 to NbMatrices)
iRuleIndex
index of the rule to get parameters (from 1 to NbRules)
oId
rule identifier
oString
the rule
oDesc
description of the rule

Returns:
Error: return-code for error management
o GetConfigurableTypes
public static Error GetConfigurableTypes( const char* iEnv,
double iCoid,
double iCompid,
int& oRange,
int& oDate,
int& oOption,
int& oModification)
Get configurable types on a part

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oRange
1 -> range allowed
0 -> range not allowed
oDate
1 -> date allowed
0 -> date not allowed
oOption
1 -> option allowed
0 -> option not allowed
oModification
1 -> modification allowed
0 -> modification not allowed

Returns:
Error: return-code for error management
o GetDateMilestoneId
public static Error GetDateMilestoneId( const char* iEnv,
double iCoid,
double iCompid,
int& oNbMilest,
char**& oMilestProgList,
char**& oMilestIdList,
char**& oMilestDescList,
time_t*& oMilestDateList,
int*& oFrozenFlagList)
Get all date milestones associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbMilest
number of milestones in lists
0 -> no milestone
oMilestProgList
all milestones program for part
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestProgList[i];
delete [ ] oMilestProgList;
oMilestIdList
all milestones identifier for part
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestIdList[i];
delete [ ] oMilestIdList;
oMilestDescList
all milestones descriptions for part
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestDescList[i];
delete [ ] oMilestDescList;
oMilestDateList
all milestones date for part
NB: Don't forget to clean the memory with:
delete [ ] oMilestDateList;
oFrozenFlagList
all milestones frozen flag for part
NB: Don't forget to clean the memory with:
delete [ ] oFrozenFlagList;

Returns:
Error: return-code for error management
o GetDateMilestoneIdForProg
public static Error GetDateMilestoneIdForProg( const char* iEnv,
double iCoid,
double iCompid,
const char* iProgName,
int& oNbMilest,
char**& oMilestIdList,
char**& oMilestDescList,
time_t*& oMilestDateList,
int*& oFrozenFlagList)
Get date milestones associated to the program for the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iProgName
program name
oNbMilest
number of milestones in lists for the program
0 -> no milestone
oMilestIdList
all milestones identifier for program
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestIdList[i];
delete [ ] oMilestIdList;
oMilestDescList
all milestones descriptions for program
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestDescList[i];
delete [ ] oMilestDescList;
oMilestDateList
all milestones date for program
NB: Don't forget to clean the memory with:
delete [ ] oMilestDateList;
oFrozenFlagList
all milestones frozen flag for program
NB: Don't forget to clean the memory with:
delete [ ] oFrozenFlagList;

Returns:
Error: return-code for error management
o GetDateMilestoneProg
public static Error GetDateMilestoneProg( const char* iEnv,
double iCoid,
double iCompid,
int& oNbProg,
char**& oProgList)
Get all program name for date milestones associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbProg
number of programs in oProgList
0 -> no program
oProgList
all programs associated to the part
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbProg; i++) delete [ ] oProgList[i];
delete [ ] oProgList;

Returns:
Error: return-code for error management
o GetDbID
public static Error GetDbID( const char* iCaenv,
const char* iPartNumberAttrName,
const char* iPartNumber,
const char* iPartVersion,
ObjID& oDbId)
Get database id of a part identified by PART_NUMBER and PART_VERSION

Parameters:
iCaenv
part environment
iPartNumberAttrName
name of the attribute containing the part number
(S_PART_NUMBER with a default installation)
iPartNumber
part number
iPartVersion
part version
oDbId
database id of the part

Returns:
Error: return-code for error management
= 0 ok
=-1 no part with this part number and part version
=-2 more than one part with this part number and part_version
o GetEffectivitiesForLink
public static Error GetEffectivitiesForLink( const char* iEnv,
double iCoid,
double iCompid,
int& oNbEffParam,
EffParam*& oEffParamList,
const char* iTableName=NULL)
Get all effectivities defined on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivities are defined
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
oNbEffParam
number of EffParam in list
0 -> no effectivity
oEffParamList
all EffParam composing the planned effectivity of the action
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbEffParam; i++)
{
for(j=0; j<oEffParamList[i].NbOpt; j++)
{
delete [ ] oEffParamList[i].OptList[j];
}
delete [ ] oEffParamList[i].OptList;
}
delete [ ] oEffParamList;

Returns:
Error: return-code for error management
o GetEffectivityForLink
public static Error GetEffectivityForLink( const char* iEnv,
double iCoid,
double iCompid,
int& oNbEff,
const char* iTableName=NULL)
Get the number of effectivities on a link Note: For performance improvement, please use GetEffectivitiesForLink()

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
oNbEff
number of effectivities on the link

Returns:
Error: return-code for error management
o GetEffectivityForLink
public static Error GetEffectivityForLink( const char* iEnv,
double iCoid,
double iCompid,
int iEffIndex,
EffParam& oEffParam,
const char* iTableName=NULL)
Get one effectivity for a link Note: For performance improvement, please use GetEffectivitiesForLink()

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iEffIndex
index of the effectivity to get parameters (from 1 to NbEff)
oEffParam
parameters of the effectivity

Returns:
Error: return-code for error management
o GetModifForLink
public static Error GetModifForLink( const char* iEnv,
double iCoid,
double iCompid,
int& oNbModifEff,
char**& oModifEff,
int& oNbModifHist,
char**& oModifHist)
Get all modification effectivities (validated or not) for a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
oNbModifEff
number of modif effectivities on the link
oModifEff
modif effectivities on the link
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbModifEff; i++) delete [ ] oModifEff[i];
delete [ ] oModifEff;
oNbModifHist
number of historical modif effectivities on the link (validated actions)
oModifHist
historical modif effectivities for the link
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbModifHist; i++) delete [ ] oModifHist[i];
delete [ ] oModifHist;

Returns:
Error: return-code for error management
o GetOptFromDictionary
public static Error GetOptFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
int& oNbOpt)
Get the number of options in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbOpt
number of options in the dictionary

Returns:
Error: return-code for error management
o GetOptFromDictionary
public static Error GetOptFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
int iOptIndex,
char[40] oName,
char[40] oCateg,
char[255] oDesc,
int& oUsed)
Get one option from the dictionary associated to the configurable product
If iCoid and iCompid are zero then get one option from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iOptIndex
index of the option to get parameters (from 1 to NbOpt)
oName
option name
oCateg
category of the option
oDesc
description of the option
oUsed
flag to know if the option is used in the assembly
1 -> used
0 -> not used

Returns:
Error: return-code for error management
o GetOptionsFromDictionary
public static Error GetOptionsFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
CATListValCATUnicodeString& oOptions)
Get the names of options in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oOptions
name of options in the dictionary

Returns:
Error: return-code for error management
o GetPlannedEffForAction
public static Error GetPlannedEffForAction( const char* iActionName,
int& oNbEffParam,
EffParam*& oEffParamList)
Get planned effectivity associated to the action

Parameters:
iActionName
id of the action
oNbEffParam
number of EffParam in list
0 -> no effectivity
oEffParamList
all EffParam composing the planned effectivity of the action
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbEffParam; i++)
{
for(j=0; j<oEffParamList[i].NbOpt; j++)
{
delete [ ] oEffParamList[i].OptList[j];
}
delete [ ] oEffParamList[i].OptList;
}
delete [ ] oEffParamList;

Returns:
Error: return-code for error management
o GetRangeMilestoneId
public static Error GetRangeMilestoneId( const char* iEnv,
double iCoid,
double iCompid,
int& oNbMilest,
char**& oMilestProgList,
char**& oMilestIdList,
char**& oMilestDescList,
int*& oMilestRangeList,
int*& oFrozenFlagList)
Get all range milestones associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbMilest
number of milestones in lists
0 -> no milestone
oMilestProgList
all milestones program for part
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestProgList[i];
delete [ ] oMilestProgList;
oMilestIdList
all milestones identifier for part
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestIdList[i];
delete [ ] oMilestIdList;
oMilestDescList
all milestones descriptions for part
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestDescList[i];
delete [ ] oMilestDescList;
oMilestRangeList
all milestones range for part
NB: Don't forget to clean the memory with:
delete [ ] oMilestRangeList;
oFrozenFlagList
all milestones frozen flag for part
NB: Don't forget to clean the memory with:
delete [ ] oFrozenFlagList;

Returns:
Error: return-code for error management
o GetRangeMilestoneIdForProg
public static Error GetRangeMilestoneIdForProg( const char* iEnv,
double iCoid,
double iCompid,
const char* iProgName,
int& oNbMilest,
char**& oMilestIdList,
char**& oMilestDescList,
int*& oMilestRangeList,
int*& oFrozenFlagList)
Get range milestones associated to the program for the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iProgName
program name
oNbMilest
number of milestones in lists for the program
0 -> no milestone
oMilestIdList
all milestones identifier for program
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestIdList[i];
delete [ ] oMilestIdList;
oMilestDescList
all milestones descriptions for program
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbMilest; i++) delete [ ] oMilestDescList[i];
delete [ ] oMilestDescList;
oMilestRangeList
all milestones range for program
NB: Don't forget to clean the memory with:
delete [ ] oMilestRangeList;
oFrozenFlagList
all milestones frozen flag for program
NB: Don't forget to clean the memory with:
delete [ ] oFrozenFlagList;

Returns:
Error: return-code for error management
o GetRangeMilestoneProg
public static Error GetRangeMilestoneProg( const char* iEnv,
double iCoid,
double iCompid,
int& oNbProg,
char**& oProgList)
Get all program name for range milestones associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbProg
number of programs in oProgList
0 -> no program
oProgList
all programs associated to the part
NB: Don't forget to clean the memory with:
for(int i=0; i<oNbProg; i++) delete [ ] oProgList[i];
delete [ ] oProgList;

Returns:
Error: return-code for error management
o GetRulesFromDictionary
public static Error GetRulesFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
int& oNbRules)
Get the number of rules in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of rules in the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbRules
number of rules (if-then, packages) in the dictionary

Returns:
Error: return-code for error management
o GetRulesFromDictionary
public static Error GetRulesFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
int iRuleIndex,
char[40] oId,
char[255] oString,
char[255] oDesc,
int& oType,
char[10] oOwner,
char[10] oOrg)
Get one rule from the dictionary associated to the configurable product
If iCoid and iCompid are zero then get one rule from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iRuleIndex
index of the rule to get parameters (from 1 to NbRules)
oId
rule identifier
oString
the rule
oDesc
description of the rule
oType
type of the rule
1 -> if-then
2 -> package
oOwner
owner of the rule
oOrg
organization of the rule

Returns:
Error: return-code for error management
o HasCategoryInDictionary
public static Error HasCategoryInDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iCategoryName,
int& oExist)
Test the existence of a Category in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iOptionName
name of the option
oExist
number of options in the dictionary

Returns:
Error: return-code for error management
o HasDictionary
public static Error HasDictionary( const char* iEnv,
double iCoid,
double iCompid,
int& oDictionary)
Test if a part has a dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oDictionary
1 -> part has a dictionary
0 -> no dictionary

Returns:
Error: return-code for error management
o HasMilestones
public static Error HasMilestones( const char* iEnv,
double iCoid,
double iCompid,
int& oDateMilestone,
int& oRangeMilestone)
Test if a part has milestones

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oDateMilestone
1 -> part has milestones of type date
0 -> no milestone of type date
oRangeMilestone
1 -> part has milestones of type range
0 -> no milestone of type range

Returns:
Error: return-code for error management
o HasOptionInDictionary
public static Error HasOptionInDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iOptionName,
int& oExist)
Test the existence of a option in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iOptionName
name of the option
oExist
number of options in the dictionary

Returns:
Error: return-code for error management
o HasOptionsInDictionary
public static Error HasOptionsInDictionary( const char* iEnv,
double iCoid,
double iCompid,
int& oNbOpt)
Get the number of options in the dictionary associated to the configurable product
If iCoid and iCompid are zero then get the number of options in the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oNbOpt
number of options in the dictionary

Returns:
Error: return-code for error management
o IsConfigurable
public static Error IsConfigurable( const char* iEnv,
double iCoid,
double iCompid,
int& oConfigurable)
Test if a part is configurable

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
oConfigurable
1 -> configurable part
0 -> not configurable part

Returns:
Error: return-code for error management
o IsHistoryLink
public static Error IsHistoryLink( const char* iEnv,
double iCoid,
double iCompid,
int& oIsHistory,
const char* iTableName=NULL)
Get all effectivities defined on a link

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivities are defined
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
oIsHistory
is the link an history link
0 -> not an history link 1 -> an history link

Returns:
Error: return-code for error management
o ModifyCfgHandlerDate
public static Error ModifyCfgHandlerDate( const ObjID& iPartID,
const int& iCfgHndIndex,
const int iCurDateFlag,
time_t iBegDate,
time_t iEndDate,
const char* iMilestProgBegDate=NULL,
const char* iMilestIdBegDate=NULL,
const char* iMilestProgEndDate=NULL,
const char* iMilestIdEndDate=NULL)
Modify the date of a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to modify (from 1 to NbCfgHnd)
iCurDateFlag
flag to set the current date
1 -> sete
0 -> unset
iBegDate
beginning date of the config-handler
0 -> no date
iEndDate
ending date of the config-handler
0 -> infinity
iMilestProgBegDate
program name of milestone for beginning date
NULL -> no milestone for beginning date
iMilestIdBegDate
identifier of milestone for beginning date
NULL -> no milestone for beginning date
iMilestProgEndDate
program name of milestone for ending date
NULL -> no milestone for ending date
iMilestIdEndDate
identifier of milestone for ending date
NULL -> no milestone for ending date

Returns:
Error: return-code for error management
o ModifyCfgHandlerOption
public static Error ModifyCfgHandlerOption( const ObjID& iPartID,
const int& iCfgHndIndex,
const char* iOptionName,
const int iOptionState=1)
Modify one option of a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to modify (from 1 to NbCfgHnd)
iOptionName
name of the option
iOptionState
state of the option
-1 -> not selected
0 -> undefined (advanced configuration mode only)
1 -> selected by user
2 -> selected by rules
3 -> rejected by user
4 -> rejected by rules
5 -> ignored (advanced configuration mode only)

Returns:
Error: return-code for error management
o ModifyCfgHandlerPlannedEff
public static Error ModifyCfgHandlerPlannedEff( const ObjID& iPartID,
const int& iCfgHndIndex,
const int iPlannedEffFlag)
Modify the flag to add planned effectivity in a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to modify (from 1 to NbCfgHnd)
iPlannedEffFlag
flag to set the PlannedEff flag
1 -> set
0 -> unset

Returns:
Error: return-code for error management
o ModifyCfgHandlerRange
public static Error ModifyCfgHandlerRange( const ObjID& iPartID,
const int& iCfgHndIndex,
unsigned int iBotRange,
unsigned int iTopRange,
const char* iMilestProgBotRange=NULL,
const char* iMilestIdBotRange=NULL,
const char* iMilestProgTopRange=NULL,
const char* iMilestIdTopRange=NULL)
Modify the range of a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to modify (from 1 to NbCfgHnd)
iBotRange
bottom range of the config-handler
0 -> no range
iTopRange
top range of the config-handler
0 -> infinity
iMilestProgBotRange
program name of milestone for bottom range
NULL -> no milestone for bottom range
iMilestIdBotRange
identifier of milestone for bottom range
NULL -> no milestone for bottom range
iMilestProgTopRange
program name of milestone for top range
NULL -> no milestone for top range
iMilestIdTopRange
identifier of milestone for top range
NULL -> no milestone for top range

Returns:
Error: return-code for error management
o ModifyCfgHandlerVisibility
public static Error ModifyCfgHandlerVisibility( const ObjID& iPartID,
const int& iCfgHndIndex,
const char* iCHVisibility)
Modify the visibility of a config handler by its number (from 1 to oNbCfgHnd)

Parameters:
iPartID
structure to identify the part
iCfgHndIndex
index of the config-handler to modify (from 1 to NbCfgHnd)
iCHVisibility
set the visibility of the config-handler
PUBLIC -> all users can use it (default value)
PRIVATE -> only the owner can use it
DATAGROUP -> depends to security process CFG.UseCH

Returns:
Error: return-code for error management
o ModifyDateMilestoneValue
public static Error ModifyDateMilestoneValue( const char* iEnv,
double iCoid,
double iCompid,
const char* iMilestProg,
const char* iMilestId,
time_t iMilestDate)
Modify a date from milestone associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMilestProg
program of the milestone
iMilestId
identifier of the milestone
iMilestDate
new date value of the milestone

Returns:
Error: return-code for error management
o ModifyEffectivity
public static Error ModifyEffectivity( const char* iEnv,
double iCoid,
double iCompid,
int iEffIndex,
EffParam& iEffParam,
const char* iTableName=NULL)
Modify an effectivity

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iEffIndex
index of the effectivity to set parameters (from 1 to NbEff)
iEffParam
new parameters of the effectivity

Returns:
Error: return-code for error management
o ModifyOwnershipForCategory
public static Error ModifyOwnershipForCategory( const char* iEnv,
double iCoid,
double iCompid,
const char* iCategoryId,
const char* iUserDest,
const char* iOrgDest)
o ModifyOwnershipForCompatibilityMatrix
public static Error ModifyOwnershipForCompatibilityMatrix( const char* iEnv,
double iCoid,
double iCompid,
const char* iCMId,
const char* iUserDest,
const char* iOrgDest)
o ModifyOwnershipForConfigHandler
public static Error ModifyOwnershipForConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId,
const char* iUserDest,
const char* iOrgDest)
o ModifyOwnershipForRule
public static Error ModifyOwnershipForRule( const char* iEnv,
double iCoid,
double iCompid,
const char* iRuleId,
const char* iUserDest,
const char* iOrgDest)
o ModifyRangeMilestoneValue
public static Error ModifyRangeMilestoneValue( const char* iEnv,
double iCoid,
double iCompid,
const char* iMilestProg,
const char* iMilestId,
int iMilestRange)
Modify a range from milestone associated to the configurable product

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMilestProg
program of the milestone
iMilestId
identifier of the milestone
iMilestRange
new range value of the milestone

Returns:
Error: return-code for error management
o PublicVisibility
public static Error PublicVisibility( const char* iModification)
Promote Modification to Public Visibilty in batch

Parameters:
iModification
Modification to validate

Returns:
Error: return-code for error management
o RemoveBrotherFromConfigHandler
public static Error RemoveBrotherFromConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iFatherCHId,
const char* iBrotherCHId)
Remove brother link between two existing config-handler

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iFatherCHId
identifier of the father config-handler
iBrotherCHId
identifier of the brother config-handler

Returns:
Error: return-code for error management
o RemoveCategoryFromDictionary
public static Error RemoveCategoryFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iName)
Remove a category from the dictionary associated to the configurable product
If iCoid and iCompid are zero then the category is removed from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iName
category name

Returns:
Error: return-code for error management
o RemoveChildFromConfigHandler
public static Error RemoveChildFromConfigHandler( const char* iFatherEnv,
double iFatherCoid,
double iFatherCompid,
const char* iFatherCHId,
const char* iChildEnv,
double iChildCoid,
double iChildCompid,
const char* iChildCHId)
Remove child link between two existing config-handler

Parameters:
iFatherEnv
environment of the part of the father config-handler
iFatherCoid
coid of the part of the father config-handler
iFatherCompid
compid of the part of the father config-handler
iFatherCHId
identifier of the father config-handler
iChildEnv
environment of the part of the child config-handler
iChildCoid
coid of the part of the child config-handler
iChildCompid
compid of the part of the child config-handler
iChildCHId
identifier of the child config-handler

Returns:
Error: return-code for error management
o RemoveCompatibilityMatrixFromDictionary
public static Error RemoveCompatibilityMatrixFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iId)
Remove a compatibility matrix from the dictionary associated to the configurable product
If iCoid and iCompid are zero then the matrix is removed from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iId
the matrix identifier

Returns:
Error: return-code for error management
o RemoveCompatibilityRuleFromMatrix
public static Error RemoveCompatibilityRuleFromMatrix( const char* iEnv,
double iCoid,
double iCompid,
const char* iMatrixId,
const char* iRuleId)
Remove a compatibility rule from the specified matrix
If iCoid and iCompid are zero then the rule is removed from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iMatrixId
matrix identifier from which rule is to be deleted
iRuleId
the rule identifier

Returns:
Error: return-code for error management
o RemoveOptionFromConfigHandler
public static Error RemoveOptionFromConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId,
const char* iOptName)
Remove an option from a config-handler

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iOptName
option name to remove from the config-handler

Returns:
Error: return-code for error management
o RemoveOptionFromDictionary
public static Error RemoveOptionFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iName)
Remove an option from the dictionary associated to the configurable product
If iCoid and iCompid are zero then the option is removed from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iName
option name

Returns:
Error: return-code for error management
o RemoveRuleFromDictionary
public static Error RemoveRuleFromDictionary( const char* iEnv,
double iCoid,
double iCompid,
const char* iRuleId)
Remove an if-then/package rule from the dictionary associated to the configurable product
If iCoid and iCompid are zero then the rule is removed from the corporate dictionary

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iRuleId
the rule identifier

Returns:
Error: return-code for error management
o RenameCategoryInDb
public static Error RenameCategoryInDb( const char* iOldId,
const char* iNewId,
int& oNbDico,
int& oNbRules)
Rename a category from corporate dictionnary and propagate it in whole database.
Commit must be done explicitely using CATDMUsrConnection::Commit()

Parameters:
iOldId
Old name of the category
iNewId
New name of the category
oNbDico
Number of dictionnaries impacted by the modification
oNbRules
Number of rules impacted by the modification

Returns:
Error: return-code for error management
o RenameOptionInDb
public static Error RenameOptionInDb( const char* iOldOptionName,
const char* iNewOptionName,
int& oNbDico,
int& oNbAss,
int& oNbRules,
int& oNbCH,
int& oNbPlannedEff)
Rename an option from corporate dictionnary and propagate it in whole database
Commit must be done explicitely using CATDMUsrConnection::Commit()

Parameters:
iOldOptionName
Old name of the option
iNewOptionName
New name of the option
oNbDico
Number of dictionnaries impacted by the modification
oNbAss
Number of assemblies impacted by the modification
oNbRules
Number of rules impacted by the modification
oNbCH
Number of config handlers impacted by the modification
oNbPlannedEff
Number of planned effectivities impacted by the modification

Returns:
Error: return-code for error management
o ReplaceChild
public static Error ReplaceChild( const CATDMUsrInstance& iFather,
const double iLinkCompid,
const CATDMUsrInstance& iNewChild,
int iNbEffParam,
const EffParam* iEffParamList,
const CATDMUsrInstance* iRootContext= NULL)
Replace a link with new child commited with effectivities

Parameters:
iFather
Father of the link
iLinkCompid
compid of the link
iNewChild
New Child to replace the old link
iNbEffParam
Number of effectivities to commit with
iEffParamList
Effectivities to commit with
iRootContext
Context of the modification
The dictionary of this context will be updated
accordingly with used options

Returns:
Error: return-code for error management
o ReplayRulesOnConfigHandler
public static Error ReplayRulesOnConfigHandler( const char* iEnv,
double iCoid,
double iCompid,
const char* iCHId)
o SetAFMode
public static Error SetAFMode( const char* iEnv,
double iCoid,
double iCompid,
int iAFMode)
Set Action-Flow mode to modify assembly structure

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iAFMode
1 -> need an open Action to modify assembly structure
0 -> no Action needed

Returns:
Error: return-code for error management
o SetConfigurable
public static Error SetConfigurable( const char* iEnv,
double iCoid,
double iCompid,
int iRange,
int iDate,
int iOption,
int iModification)
Set a part configurable

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iRange
1 -> range allowed
0 -> range not allowed
iDate
1 -> date allowed
0 -> date not allowed
iOption
1 -> option allowed
0 -> option not allowed
iModification
1 -> modification allowed
0 -> modification not allowed

Returns:
Error: return-code for error management
o SetPlannedEff
public static Error SetPlannedEff( const char* iActionName,
const char* iOptionName,
unsigned int iBotRange,
unsigned int iTopRange,
time_t iBegDate,
time_t iEndDate)
Set planned effectivities of an Action

Parameters:
iActionName
name of the Action
iOptionName
name of the option (=NULL for no option)
iBotRange
bottom range (=0 for no range)
iTopRange
top range (=0 for infinity)
iBegDate
beginning date (=0 for no date)
iEndDate
ending date (=0 for infinity)

Returns:
Error: return-code for error management
o SetPlannedEffForAction
public static Error SetPlannedEffForAction( const char* iActionName,
int iNbEffParam,
EffParam* iEffParamList)
Set planned effectivity associated to the action

Parameters:
iActionName
id of the action
iNbEffParam
number of EffParam in list
0 -> no effectivity
iEffParamList
all EffParam composing the planned effectivity of the action

Returns:
Error: return-code for error management
o SetUnsetNotEffectivity
public static Error SetUnsetNotEffectivity( const char* iEnv,
double iCoid,
double iCompid,
int iEffIndex,
const char* iTableName=NULL)
Set/Unset the effectivity as NOT

Parameters:
iEnv
environment of the link
iCoid
coid of the link
iCompid
compid of the link
iTableName
table name on which the effectivity is applied
(for effectivities on link PART-MODEL, PART-DOCUMENT, ...)
if NULL, considered as PART-PART link
iEffIndex
index of the effectivity to set parameters (from 1 to NbEff)

Returns:
Error: return-code for error management
o UnsetConfigurable
public static Error UnsetConfigurable( const char* iEnv,
double iCoid,
double iCompid)
Unset a part configurable

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part

Returns:
Error: return-code for error management
o UpdateDictionaryFromAssembly
public static Error UpdateDictionaryFromAssembly( const char* iEnv,
double iCoid,
double iCompid,
const int iStopAtDico=1)
Update a product dictionary with effectivities of its associated assembly

Parameters:
iEnv
environment of the part
iCoid
coid of the part
iCompid
compid of the part
iStopAtDico
1(default) -> scan each branch until dictionary encountered else until leaves.
0 -> scan until leaves even if dictionary encountered (so the options of child dictionaries are duplicated in father/current dictionary).

Returns:
Error: return-code for error management
o ValidateModifWithPlannedEff
public static Error ValidateModifWithPlannedEff( const char* iActionName)
Validate the modifications associated to the action for the planned effectivities defined on the action

Parameters:
iActionName
name of the action associated to the modifications

Returns:
Error: return-code for error management

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

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