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
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
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
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
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*)
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.
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ErrorAddCompatibilityMatrixToDictionary(
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
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
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
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
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
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
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
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
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 ErrorGetCompatibilityMatrixFromDictionary(
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 ErrorGetCompatibilityMatrixFromDictionary(
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 ErrorGetCompatibilityRuleFromMatrix(
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)
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;
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;
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;
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
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;
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
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
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
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;
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;
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;
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
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
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
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
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)
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
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
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 ErrorRemoveCompatibilityMatrixFromDictionary(
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 ErrorRemoveCompatibilityRuleFromMatrix(
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
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
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
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).