Other Algorithms
CreateDueTasks
Processes all contracts that are still valid but have no task defined for the specific time frame.
Property | Description | Default | Example |
---|---|---|---|
margin | The default margin in case a time frame is not defined on a contract line. | 14 | 20 |
limit | The limit in days up to which visits can be created. | 50 | 60 |
PurgeHistory
Purge obsolete data.
Property | Description | Default | Example |
---|---|---|---|
entity | The name of the entity that is to be purged. Must match one of the following values: Track, TaskAttachment, Break, Task, DeletedObject, PostedDocument. | N/A | Task |
days | The number of days the entity must have passed in terms of age. | 0 | 14 |
chunkSize | The maximum number of items deleted in a single transaction. | 100 | 50 |
PurgeStructure
Purge or update entity objects from the domain model, following a hierarchy from a server-side provided structure-file.
Property | Description | Default | Example |
---|---|---|---|
structure | The name of a structure-file, to be found in the structures subdirectory of the default or the configuration-specific directory in the server's content folder. |
N/A | purgeTerritories.xml |
chunkSize | The maximum number of items, processed in a single transaction. | 100 | 50 |
The structure defines a hierarchy of domain entities to traverse, while purging or updating data.
The ID of every object is provided during data retrieval operations as :parentId
parameter, while iterating it's children.
The root element is expected to be of the type omd.domain.Configuration
.
Supported attributes for elements in the structure:
purge
sets the type of purge:YES
(equalsDELETE
, which is the default) delete all matching objectsNO
don't delete or update, just use matching objects for navigation to other children.UPDATE
update attributes of matching objects, as defined inassign
,attributes
,attribute
andvalue
.
namedQuery
|nativeQuery
|jpqlQuery
defines a query for selection of object IDs from the entity.- Use the
:parentId
bind parameter to select related children in a named or JPQL query, or define a diverging parameter name in the attributebind
. A native query is expected to provide one bind parameter?
to receive the parentId. - If this attribute is omitted, then the entity is expected to provide a named query, by the name of
selectIdFlat
.
- Use the
bind
sets an alternative name for a parentId parameter in a named or JPQL query.assign
contains the set-clause expression(s), in case ofpurge="UPDATE"
. Multiple assignments must be separated by a comma.attributes
defines a comma-separated list of entity attributes to update, in case ofpurge="UPDATE"
.attribute
defines one single entity attribute to update, in case ofpurge="UPDATE"
.values
defines a value to set all entity attributes, or the single entity attribute to, in case ofpurge="UPDATE"
. If omitted, then the specified attributes are set tonull
.
If assign
is defined, then attributes
, attribute
and value
are ignored. All information in these attributes must comply to the JPQL spec, i.e. valid names of entity attributes must be used (not DB columns), and only valid JPQL assignments are allowed.
For good performance, usage of native queries and inner joins might be worth to consider, to ensure a predictable execution plan and to keep the traversed structure flat. Otherwise, discrete traversal is performed on every single matched ID.
Report
Run Jasper Report to generate a report within a job. The report will be attached to an email.
Property | Description | Default | Example |
---|---|---|---|
name | The name of the report. The report must exist in either the configuration-specific or default configuration folder (server-side). | N/A | Daily.japser |
to | A comma-separated list of recipients to which the email is sent. | N/A | you@org.org |
cc | A comma-separated list of recipients to which the email is sent in CC. | someone@org.org | |
bcc | A comma-separated list of recipients to which the email is sent in BCC. | someonelse@org.org | |
subject | The subject line of the email. | Our Daily Report | |
body | The body text of the email. | someonelse@org.org | |
filename | The name of the file attached to the email. | Report | Sales Overview |
MIME_TYPE | The mime type of the report. | application/pdf | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX) |
Cheapest Insert
CheapestInsert is a planning algorithm on basis of a set of tasks. It determines the best option for every task and inserts the task accordingly. The tasks can be compiled by a task selector (e.g. the SLASelector). The best options can be limited by optional Date- and ResourceSelectors, and further constraints can be set by the following properties:
Property | Description | Default | Example |
---|---|---|---|
maxSeconds | Limit the time [sec] for searching for the best option. The value -1 means: limited by the planning horizon. |
-1 |
1 |
checkSkills | Take resource- and task-skills into account. | cfg. setting UseSkills |
true |
checkTerritory | Only resources of the same territory are taken into account. | cfg. setting AcceptTerritoriesIsHard |
true |
checkRequiredResource | Only the resource in the requiredResource field of the task is used. | cfg. setting checkRequiredResource |
true |
extraOvertime | Extend overtime [min] for finding an option. | 0 |
20 |
abort | Abort on all hard constraint violations. | true |
false |