Helm Configuration
From version 3.0.2 the module is disabled by default. Please make sure to enable the module in the custom-values file of the respective inventory in case it is desired to be used. Example:
modules:
mat:
enabled: true
Standardized Helm Configuration Parameters
This module in general follows the general IAS Operations Manual and the helm parameters that are described there e.g. for logging, databases, messaging, …
Deployment configuration
Under the deployment section, there are various parameters which can alter how the service deployment will behave. These settings are common HELM parameters. The following settings are the ones which are not settable via environment variables, and have to be overridden on the specific server depending on the performance requirements:
mat:
deployments:
nexeed-mat-backend:
resources:
limits:
memory: "3072M"
cpu: "4000m"
requests:
memory: "500M"
cpu: "100m"
replicaCount: 2
| ConfigurationKey | Description | Mandatory | Default value |
|---|---|---|---|
resources |
Contains the configuration keys to adjust the resources of the nexeed-mat-backend pods. |
no |
- |
limits |
Contains the resource limits of the nexeed-mat-backend pods |
no |
- |
requests |
Contains the minimum resources the nexeed-mat-backend pods are going to request during pod-initialization |
no |
- |
memory |
Amount of memory which is set as limit or request |
no |
- |
cpu |
Amount of CPU cores which is set as limit or request |
no |
- |
replicaCount |
Defines how many replicas should be started for the deployment |
no |
2 |
Please see System requirements chapter for more information about resource requirements. Please see link for more information about the resources and possible settings.
Module Helm Configuration Parameters
There are a few global settings, which need to be set on the inventory of the server before starting the service for the first time. In the custom-values-<servername>.yaml file of the respected server, add the following section to the modules section
mat:
enabled: true
databases:
mat:
serverInstance: externaloracle
name: <instanceName>
userName: <user>
type: ORACLE
password: <password>
| ConfigurationKey | Description | Mandatory | Default value |
|---|---|---|---|
enabled |
As described above, set it to true, to enable Material Management |
yes |
false |
databases |
A section setting up the database connection |
yes |
- |
serverInstance |
The instance name of the database to use. Instances are set up at the start of the configuration file, which brings some properties like: host, port, tls, dbtype. |
yes |
depends on the server’s setup |
name |
The instance name of the Oracle database |
yes |
- |
userName |
The userName of the schema which Material Management will use |
yes |
- |
type |
Database type, currently only ORACLE is supported |
yes |
- |
password |
Password of the schema |
yes |
- |
On top of the global settings, there are some local variables which can be set if required, with meaningful defaults. Example:
mat:
local:
logging: {}
swaggerEnabled: false
misc:
servicePort: "2501"
introspectionCaching:
enabled: true
enableUsageOfRiexp: true
cachingDuration: 30
enableIntrospectionResultRefreshing: true
portal:
replaceContextPathInIndexHtml: true
registrationInitialDelay: 30
softwareProvidingTenantId:
quartz:
maxConcurrency: 10
enableClustering: true
databaseMigration:
jobDependencyLabelValue: "initial-database-migration-3.4.0.0"
compressionEnabled: "FALSE"
partitioningEnabled: "FALSE"
parallelDegree: 2
observability:
otelAutoInjectEnvParams: true
autoupdateJob:
jobDependencyLabelValue: "autoupdate-service-job"
targetVersion: "1.0.0.0 "
General section
| ConfigurationKey | Description | Mandatory | Default value |
|---|---|---|---|
logging |
The central logging object, which is required by the infrastructure. The loglevel of the module can be overridden here if required. |
no |
\{} |
swaggerEnabled |
Determines whether SwaggerUI is enabled |
yes |
empty |
Misc section
ConfigurationKey |
Description |
Mandatory |
Default value |
servicePort |
The port which the service will use |
yes |
"2501" |
IntrospectionCaching section
| ConfigurationKey | Description | Mandatory | Default Value |
|---|---|---|---|
enabled |
Enables/disables usage of introspection caching |
yes |
true |
enableUsageOfRiexp |
Enables/disables usage of "riexp" claim during introspection caching. The introspection results will be cached for the timespan in the "riexp" claim if its available, otherwise the static cachingDuration will be used |
yes |
true |
cachingDuration |
Static caching duration in seconds. Will be used as fallback, if "riexp" claim is not available, or the usage is disabled. |
yes |
30 |
enableIntrospectionResultRefreshing |
Enables/disables the automatic refreshing mechanism of Introspection results |
yes |
true |
Portal section
| ConfigurationKey | Description | Mandatory | DefaultValue |
|---|---|---|---|
replaceContextPathInIndexHtml |
A flag, which determines if the contextPath should be replaced in the Index.html file. Should be set to true in most cases. |
yes |
true |
registrationInitialDelay |
The amount of seconds, the service will wait to initiate the registration in the portal. |
yes |
30 |
softwareProvidingTenantId |
Operating tenant of the module. The value is used in environmental variables for portal registration. The TenantIds of incoming requests to the service must match this value. Falls back to "nexeedMacmaTenant0Id" if its not set. Unless the installation is a custom one, where the module has to be provided in an other tenant, this value can be left as empty. |
no |
empty |
Quartz section
| ConfigurationKey | Description | Mandatory | DefaultValue |
|---|---|---|---|
maxConcurrency |
Sets the maxmimum amount of concurrent threads in Quartz. https://www.quartz-scheduler.net/documentation/quartz-3.x/configuration/reference.html#quartz-threadpool-maxconcurrency |
yes |
10 |
enableClustering |
Flag to enable/disable clustering mode for Quartz. Clustering is required if the module has more than 1 replicas operating |
yes |
true |
Database migration section
| ConfigurationKey | Description | Mandatory | DefaultValue |
|---|---|---|---|
jobDependencyLabelValue |
Internal variable used for dependency in the database-update job. Should not be changed. |
yes |
"initial-database-migration-x.y.z.w" where x/y/z/w are set during the release of the module |
compressionEnabled |
Enables or disables compression of the tables of MaterialManagement. Only capital values are accepted: "TRUE" or "FALSE". Please note that you need to have the appropriate Oracle License (e.g. AdvancedCompressionLicense) for this option to work. |
yes |
FALSE |
partitioningEnabled |
Enables or disables partitioning on the tables of MaterialManagement. Only capital values are accepted: "TRUE" or "FALSE". Please note that you need to have the appropriate Oracle License for this option to work. |
yes |
FALSE |
parallelDegree |
Sets the degree of parallelism for database migration jobs, where required. See link for more details on parallel hints, and link for more details about parallel degrees. This setting has an effect on overall tablespace usage, and can cause a migration error(s). See long_operations_-_ora-01652 for more information. |
yes |
2 |
Observability section
| ConfigurationKey | Description | Mandatory | DefaultValue |
|---|---|---|---|
otelAutoInjectEnvParams |
Whether or not to automatically inject OpenTelemetry environment variables into the application’s configuration. |
yes |
true |
Auto update service section
| ConfigurationKey | Description | Mandatory | DefaultValue |
|---|---|---|---|
jobDependencyLabelValue |
Internal variable used for dependency in the Auto-update service job. Should not be changed. |
yes |
"autoupdate-service-job |
targetVersion |
Internal variable used for target version of the auto update service job. |
yes |
"3.12.0.0". This value will be replaced during the release of the module. |
In case the product is installed in a Bosch factory which is still having MES related installations, then due to the dependencies defined MES Module Dependencies, several manual configuration efforts will be required.
Description of the Environment variables
The environmental variables are coming with specific prefixes. Two prefixes are currently used, 'NEXEED_MATERIALCONTROL_SERVICE' and 'NEXEED_MATERIALCONTROL_COMMON'. The former is specific to the current MaterialManagement Service, while the latter is shared, and could be used by other microservices. That being said, currently only MaterialManagement Service is deployed. As an additional note, the prefixes contain the name as 'MATERIALCONTROL' which is used internally in the code, and changing it would be a lot of effort, and could easily break deployments. Hence this naming convention will stay as is for now.
1. Other configuration
1.1. DDL (Direct Data Link)
For Material Management it is crucial to be able to communicate with the machines in production. To be able to do this, a properly configured DDL is required.
| Please check the DDL’s technical manual for detailed information. |
DDL is having an AccessModule called MatControlAccess to be able to forward the relevant calls from the machines to Material Management. MatControlAccess should be configured in each OSS projects where Material Management is required. Please note that a minimum of v2.29.0.0 version of OSS (Opcon Server System) is required.
Example:
The necessary required parameters to be filled to have the communication established for Material Management are:
-
Base address (The address where IAS Material Management is installed)
-
Client identifier (The clientId of DDL, which was created in MACMA, and having the necessary Material Management roles assigned)
-
Client secret (The clientSecret for the clientId of DDL in MACMA)
-
MatControlAccess scope (Should contain aud:\{clientId of Material Management}. \{clientId of Material Management} should be resolved by the current environments' clientId present in MACMA)
-
Send to IAS (Should be set to true)
-
Tenant identifier (Should be set to the tenantId of the specific tenant)
1.2. Runtime Configuration
The runtime configuration can be used to control various aspects of the application’s behavior. The settings are typically defined by the development team (via default values), but they may also be customizable by the end-users.
1.2.1. Uploading new configuration
On the portal, in the 'Configuration' menu, there is an option to upload a new configuration, or to download an existing one. If an update is necessary, the existing one can be downloaded first, the changes can be implemented, then it can be uploaded.
| Concurrent configuration updates are handled with locking+retry mechanism. In case there are parallel updates happening, the result is not deterministic. Please make sure that the configuration update was successful after an upload. |
1.2.2. General information about RuntimeConfiguration
Material Management’s new RuntimeConfiguration uses a similar structure, like the old MatControl.config did. However, there are some differences:
-
There are some additional fields
-
BlockSynchronization
-
PsaTransferClient
-
DefaultBatch
-
QueryLimiting
-
CustomLabelPattern
-
TimeCorrections
-
-
In some older MatControl.config cases, there might be some values (most probably MSL (Moisture Sensitivity Level) definition ones), that need to be adjusted, in order to pass the xsd validation
In case there is an ongoing update from 2.11 to 3.0 these additional fields will be required:
<BlockSynchronization isEnabled="false" syncInterval="0.00:00:10" batchSize="1000"></BlockSynchronization> <PsaTransferClient isEnabled="false"/> <DefaultBatch useDefaultBatchWhenUnset="false" defaultValue=100/> <QueryLimiting limitSetupHistoryReturnedResults="true" setupHistoryMaxReturnedResults=1000 limitMaterialHistoryReturnedResults="true" materialHistoryMaxReturnedResults=1000 limitFindMaterialReturnedResults="true" findMaterialMaxReturnedResults=100000/> <CustomLabelPattern value=""/> <TimeCorrections expirationDateCorrectionOffset=0.00:00:00 dateOfManufactureCorrectionOffset=0.00:00:00/>
1.2.3. Creating RuntimeConfiguration from the old MatControl.config
In order to check the missing fields, download the latest configuration file from the Portal:
After determining what is missing, copy the necessary fields into the existing MatControl.config[] - example:
In order to fill it up with values, open the old Opcon.Settings.XML[], and search for the corresponding field:
1.2.4. Block synchronization related changes
Replace this section <LineControlBlockSynchronization isEnabled="false" blockSeverity="100"/>
with this Block Synchronization section
<BlockSynchronization isEnabled="false" syncInterval="0.00:00:10" batchSize="1000"></BlockSynchronization>
These are default values provided by the system. Customers may override them, but they must now be explicitly included in MatControl.config for IAS compatibility.
|
1.2.5. Remove the below keys from the respective sections
Service method |
Field name |
StoreMaterialData |
sendLabelNotVerifiedBlockToLineControllers |
StoreMaterialData |
sendRuleBasedBlocksToLineControllers |
UpdateMaterialData |
sendRuleBasedBlocksToLineControllers |
GetMaterialData |
sendRuleBasedBlocksToLineControllers |
AddBlockingRule |
sendRuleBasedBlocksToLineControllers |
UpdateBlockingRule |
sendRuleBasedBlocksToLineControllers |
BlockMaterial |
sendRuleBasedBlocksToLineControllers |
StoreMaterialData |
sendNotReleasedToManufacturingBlockToLineControllers |
MSDHandling |
sendMSDBlocksToLineControllers |
BlockMaterial |
sendManualBlocksToLineControllers |
Block synchronization related changes
Replace this section <LineControlBlockSynchronization isEnabled="false" blockSeverity="100"/>
with this Block Synchronization section
<BlockSynchronization isEnabled="false" syncInterval="0.00:00:10" batchSize="1000"></BlockSynchronization>
These are default values provided by the system. Customers may override them, but they must now be explicitly included in MatControl.config for IAS compatibility.
|
Remove the below keys from the respective sections
Service method |
Field name |
StoreMaterialData |
sendLabelNotVerifiedBlockToLineControllers |
StoreMaterialData |
sendRuleBasedBlocksToLineControllers |
UpdateMaterialData |
sendRuleBasedBlocksToLineControllers |
GetMaterialData |
sendRuleBasedBlocksToLineControllers |
AddBlockingRule |
sendRuleBasedBlocksToLineControllers |
UpdateBlockingRule |
sendRuleBasedBlocksToLineControllers |
BlockMaterial |
sendRuleBasedBlocksToLineControllers |
StoreMaterialData |
sendNotReleasedToManufacturingBlockToLineControllers |
MSDHandling |
sendMSDBlocksToLineControllers |
BlockMaterial |
sendManualBlocksToLineControllers |
| Material Management validates the uploaded configuration file, so in case there is an error uploading it, check the returned error message, which indicates where did the validation fail. |
Description of the runtime configuration values
The runtime configuration’s file contains these three major sections:
-
DefaultServiceSettings
-
This section describes the default configuration values for each configurable service method
-
| Service method | Field name | Possible values | Comment |
|---|---|---|---|
StoreMaterialData |
createNotReleasedToManufacturingBlock |
true, false |
A flag, whether a 'NotReleasedManufacturing' block should be created on storing the material or not |
StoreMaterialData |
createLabelNotVerifiedBlock |
true, false |
A flag, whether a 'LabelNotVerified' block should be created on storing the material or not |
StoreMaterialData |
evaluateBlockingRules |
true, false |
A flag to evaluate the blocking rules during storing the material |
StoreMaterialData |
rollbackBatchOnError |
true, false |
A flag whether the whole batch is rolled back in case of an error or not |
StoreMaterialData |
returnBlocks |
true, false |
A flag whether the blocks found during the operation are returned to the caller |
ReplaceLabel |
allowReplacingOfSplicedMaterial |
true, false |
- |
ReplaceLabel |
checkQuantityOfReplacementsForPlausability |
true, false |
If set to true the source quantity can not be lower than the sum of replacing quantities during ReplaceLabel process |
SuggestLabelData |
numberOfRecords |
20 or any integer |
The number of records to use for suggesting label data |
SuggestLabelData |
minNumberOfRecords |
5 or any integer |
The minimum number of records to use for suggesting label data |
UpdateMaterialData |
evaluateBlockingRules |
true, false |
A flag whether blocking rules should be evaluated or not |
TrackRemovalFromProtectedEnvironment |
ifAlreadyRemoved |
"Ignore", "ReturnError", "ThrowFaultException" |
Sets how the error should be handled when a material was already removed |
TrackStorageInProtectedEnvironment |
ifNeverOpened |
"Ignore", "ReturnError", "ThrowFaultException" |
Sets how the error should be handled when a material was never opened |
TrackStorageInProtectedEnvironment |
ifCurrentlyInProtectedEnvironment |
"Ignore", "ImplicitlyOpenAndStoreAfterwards", "ReturnError", "ThrowFaultException" |
Sets how the error should be handled if a material is in a protected environment |
TrackSetupChange |
checkSetupLocation |
"Ignore", "Masked", "Exact" |
Sets how the location should be checked to see, if a material is actually set-up to that location |
TrackSetupChange |
checkSetupLocationMask |
"Plant", "Product", "Area", "Line", "Station", "StationIndex", "FunctionUnit", "WorkingPosition", "ToolPosition", "LevelPlant", "LevelProduct", "LevelArea", "LevelLine", "LevelStation", "LevelStationIndex", "LevelFunctionUnit", "LevelWorkingPosition", "LevelToolPosition", "Setup", "StationInfo" |
The values are Flags, meaning the ability, that multiple values can be combined using bitwise operators (such as '|') to represent a combination of flags. The "Level" prefix is the reference layer, meaning every flag is set in the location sequence, e.g: "LevelProduct" means Plant | Product - Sets the location comparison mask |
TrackSetupChange.setup |
allowImplicitTeardownIfSetupElsewhere |
true, false |
A flag whether a material should be teared down from another location, if it is still set-up there |
TrackSetupChange.setup |
allowImplicitTeardownIfTargetNotEmpty |
true, false |
A flag whether a material should be teared down from the target location, if the target is not empty |
TrackSetupChange.setup |
allowImplicitOpen |
true, false |
A flag whether a material should be implicitly opened when set-up |
TrackSetupChange.setup |
materialUsedUpThreshold |
-5%, 0, 5 - see comment |
Sets a threshold value that defines when a material is used up. Positive values require to a small remainder of the material (physically not fully used up), negative values allow the material to be overbooked (negative remaining qty). If the value is followed by a %-sign, the value is treated as a percentage value of the original quantity, otherwise is is an absolute value |
TrackSetupChange.setupAndSplice |
ifPreviousMaterialNotSetupToThisLocation |
"SetupMaterial", "SpliceAnyways" |
Sets options for a situation when a material should be spliced to a prev material that is not set-up to this location |
TrackSetupChange.setupAndSplice |
setupIfNoImplicitPreviousMaterialFound |
true, false |
Sets options for a situation when an implicit splice was tried (splice without explicit prev MatId) but there was no prev material found |
TrackSetupChange.setupAndSplice |
setupIfMultipleImplicitPreviousMaterialsFound |
"TearDownPreviousAndSetupNewMaterial", "SpliceToNewestPreviousMaterialAndTearDownAllOthers" |
Sets options for a situation when an implicit splice was tried (splice without explicit prev MatId) but there were multiple prev material found |
TrackSetupChange.setupAndSplice |
materialUsedUpThreshold |
-5%, 0, 5 - see comment |
See above |
TrackSetupChange.setupAndSplice |
setupIfNoExplicitPreviousMaterialFound |
true, false |
- |
TrackSetupChange.setupAndSplice |
allowImplicitOpen |
true, false |
A flag whether a material should be implicitly opened when set-up |
TrackSetupChange.setupAndSplice |
allowImplicitTeardownIfTargetNotEmpty |
true, false |
See above |
TrackSetupChange.setupAndSplice |
maxSpliceChainLength |
3 or any integer |
Sets a the maximum length of a splice chain (number of material) |
TrackSetupChange.setupAndSplice |
allowSplicingToDifferentCustomerPartNumber |
true, false |
- |
ValidateSetupAndUpdateData |
checkSetupLocation |
"Ignore", "Masked", "Exact" |
Sets how the location should be checked to see, if a material is actually set-up to that location |
ValidateSetupAndUpdateData |
checkSetupLocationMask |
""Plant", "Product", "Area", "Line", "Station", "StationIndex", "FunctionUnit", "WorkingPosition", "ToolPosition", "LevelPlant", "LevelProduct", "LevelArea", "LevelLine", "LevelStation", "LevelStationIndex", "LevelFunctionUnit", "LevelWorkingPosition", "LevelToolPosition", "Setup", "StationInfo"" |
The values are Flags, meaning the ability, that multiple values can be combined using bitwise operators (such as '|') to represent a combination of flags. The "Level" prefix is the reference layer, meaning every flag is set in the location sequence, e.g: "LevelProduct" means Plant | Product - sets the location comparison mask |
ValidateSetupAndUpdateData |
allowImplicitSetup |
true, false |
Sets a flag if material that is not set-up to this location should implicitly be set-up |
ValidateSetupAndUpdateData |
returnOnlyErrors |
true, false |
Sets a flag if only errors should be returned in the result set or all results |
ValidateSetupAndUpdateData |
materialUsedUpThreshold |
-5%, 0, 5 - see comment |
See above |
ValidateSetupAndUpdateData |
behaviorOnDuplicateMatID |
"Merge", "ReportError", "ReportErrorAndBlockMaterial" |
Sets what the validation behaviour should be, if the material’s Id is duplicated |
ValidateSetupAndUpdateData |
rollbackBatchOnError |
true, false |
Sets a flag whether the whole batch is rolled back in case of an error or not |
ValidateSetupAndUpdateData |
blockSynchronization |
"UseMaterialLocation", "UseStationLocation" |
Sets a flag whether the block syncronization to linecontrol should use the material’s current location, or the location of the consumption |
CyclicTasks |
expiredMaterialCheckInterval |
0.00:01:00 |
Sets the interval for the ExpiredMaterialCheck timer timespan-format |
CyclicTasks |
blockOverexposedMaterialInterval |
1.00:00:00 |
Sets the interval for the BlockOverexposedMaterial (MSD checking) timer timespan-format |
CyclicTasks |
findInactiveMaterialInterval |
7.00:00:00 |
Sets the interval for the find inactive material timer timespan-format |
CyclicTasks |
inactiveMaterialThreshold |
28.00:00:00 |
Sets the interval after which a material is marked inactive |
CyclicTasks |
clearJobHistoryInterval |
3.00:00:00 |
Sets the interval for the clear job history timer timespan-format |
CyclicTasks |
historyCutOffInDays |
3 |
Sets the amount of days that will be cut off from the job history |
CyclicTasks |
rebuildIndexInterval |
1.00:00:00 |
Sets the interval for the rebuild index job timer timespan-format |
MSDHandling |
maxNoOfBakings |
10 or any integer |
Sets the maximum number of allowed backing cycles |
MSDHandling |
maxBakingInterruption |
00:01:00 |
Sets the maximum interruption allowed during baking |
MSDHandling.mslDefinitions>MSL |
level |
"1, 01, 2, 02, 2a, 3, 03, 4, 04, 5, 05, 5a, x" |
The MSLDefinitions collection - The values here are the default values, in case a new MSL level is necessary, it has to be created |
MSDHandling.mslDefinitions>MSL |
floorLife |
365.00:00:00 |
|
MSDHandling.mslDefinitions>MSL |
floorLifePauseThreshold |
365.00:00:00 |
|
MSDHandling.mslDefinitions>MSL |
bakingTimeThreshold |
3.00:00:00 |
|
MSDHandling.mslDefinitions>MSL |
bakingTime |
5.00:00:00 |
|
MSDHandling.mslDefinitions>MSL |
bakingTimeExceedingThreshold |
8.00:00:00 |
|
MSDHandling.mslDefinitions>MSL |
shortTimeExposureThreshold |
12:00:00 |
|
MSDHandling.mslDefinitions>MSL |
shortTimeExposureMultiplier |
5 |
- |
MiscSettings |
blockingRulesEvaluationThreshold |
28.00:00:00 |
|
MiscSettings |
sendBlocksToLineControllers |
true, false |
Sets the master switch for the communication between MatControl MES and the LineController(s). This setting is not currently used in Material Management. |
BlockSynchronization |
isEnabled |
true, false |
Sets whether block synchronization is active in IAS |
BlockSynchronization |
syncInterval |
TimeSpan (e.g., 0.00:00:10) |
Defines how often the synchronization starts at the best case. If the execution of a batch takes longer than the specified timespan, the next synchronization only starts when the previous one has been completed. |
BlockSynchronization |
batchSize |
Integer (e.g., 1000) |
Number of records processed per synchronization batch |
PsaTransferClient |
isEnabled |
true, false |
- |
DefaultBatch |
useDefaultBatchWhenUnset |
true, false |
Set a default value on receiving INTEGMA labels with unset VendorBatch / Batch1 (TrackSetupChange) |
DefaultBatch |
defaultValue |
"NO_BATCH" |
Default value for unset VendorBatch / Batch1 (TrackSetupChange) |
QueryLimiting |
limitSetupHistoryReturnedResults |
true, false |
- |
QueryLimiting |
setupHistoryMaxReturnedResults |
1000 |
- |
QueryLimiting |
limitMaterialHistoryReturnedResults |
true, false |
- |
QueryLimiting |
materialHistoryMaxReturnedResults |
1000 |
- |
QueryLimiting |
limitFindMaterialReturnedResults |
true, false |
- |
QueryLimiting |
findMaterialMaxReturnedResults |
100000 |
|
CustomLabelPattern |
value |
"" |
Custom regular expression which is used to parse label strings, if the other definitions do not match. This pattern is only evaluated if it is not empty |
TimeCorrections |
expirationDateCorrectionOffset |
0.00:00:00 |
|
TimeCorrections |
dateOfManufactureCorrectionOffset |
0.00:00:00 |
TimeSpan formats for the config values: [-]d.hh:mm:ss where d: days, hh: hours, mm: minutes, ss: seconds, [-]: optional negative sign
-
DefaultSanctions
-
This section describes the actions triggered on errors
-
| Service method | Field name | Example value | Comment (The values are Flags, meaning the ability, that multiple values can be combined using bitwise operators (such as '|') to represent a combination of flags). |
|---|---|---|---|
TrackSetupChange > teardown |
onUnknownMatId |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the unknown MatId error |
TrackSetupChange > teardown |
onMaterialNotOnThisLocation |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the material not on this location error |
TrackSetupChange > setup |
onUnknownMatId |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the unknown MatId error |
TrackSetupChange > setup |
onMaterialAlreadySetupElsewhere |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the material already setup elsewhere error |
TrackSetupChange > setup |
onMaterialNotOpened |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the material not opened error |
TrackSetupChange > setup |
onMaterialBlocked |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the material blocked error |
TrackSetupChange > setup |
onMaterialUsedUp |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the material used up error |
TrackSetupChange > setup |
onOtherMaterialSplicedToThisMaterial |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the other material spliced to this material error |
TrackSetupChange > setup |
onTargetLocationNotEmpty |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the target location not empty error |
TrackSetupChange > setupAndSplice |
onUnknownMatId |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the unknown MatId error |
TrackSetupChange > setupAndSplice |
onMaterialBlocked |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the material blocked error |
TrackSetupChange > setupAndSplice |
onPreviousMaterialNotSetupToThisLocation |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the previous material not on this location error |
TrackSetupChange > setupAndSplice |
onNoImplicitPreviousMaterialFound |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the no implicit previous material found error |
TrackSetupChange > setupAndSplice |
onMultipleImplicitPreviousMaterialsFound |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the multiple implicit previous materials found error |
TrackSetupChange > setupAndSplice |
onLocationCannotBeVerified |
"Ignore" |
Sets the sanctions for the on location cannot be verified error |
TrackSetupChange > setupAndSplice |
onDifferentCustomerPartNumberForPreviousMaterial |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the onDifferentCustomerPartNumberForPreviousMaterial error |
ValidateSetupAndUpdateData |
onUnknownMatId |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the unknown MatId error |
ValidateSetupAndUpdateData |
onMaterialUsedUp |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the material used up error |
ValidateSetupAndUpdateData |
onDuplicateMaterial |
"Ignore", "WriteToEventLog", "WriteToSetupHistory", "BlockMaterial", "BlockLocation" |
Sets the sanctions for the duplicate material error |
ValidateSetupAndUpdateData |
onExpiredMaterial |
"BlockMaterial" |
Sets the sanctions for the duplicate material error |
-
LocationSpecificSettings
-
This section defines for which locations do more specific configuration parameters apply
-
Achieved by using a new wrapper tag, setting
-
Usually used with a dotted short notation OpConLocation String
-
| Wrapper tag | Field name | Example value | Comment |
|---|---|---|---|
Setting |
locationId |
"10.1.1" |
- |
Setting |
locationElementsMask |
"LevelStationIndex" |
Sets the location comparison mask |