HR-Expert system parameters and client settings
This page describes all settings that control the behavior of HR-Expert: the system parameters of the bean HrOptions (module hr) and the client settings on the "Human resources" tab of the "Client" action (German: "Mandant", tab "Personalwesen"). Many settings exist on both levels: the system parameter is then only the system-wide default, and a value set on the client takes precedence. The page is intended for administrators and consultants. System parameters take effect system-wide and should only be changed if the impact is fully understood (see System parameters Portal & Organization for the general procedure). For setting up the roles that grant access to HR-Expert, see also Administrator.
Overview of the groups
- Where settings are maintained and which value applies: system parameters, client settings, precedence rule, overview by level
- Organization structure and position plan: usePositionPlan, useOfLocationsMandatory, useOfCostCentersMandatory, useOfJobLevelsMandatory, allowLockingOfPositionHours, showJobsAndPositions, multipleJobsAssignedToPosition, activeReasonCodesToDisplayInPositionPlan, positionShortNameGeneratorBeanName, jobShortNameGeneratorBeanName
- Terminated and future employees: terminatedOrgUnitShortName, terminatedPositionShortName, terminatedCostCenterShortName, terminatedLocationShortName, hiringEmployeesOrgUnitShortName
- Roles and permissions: userRoles, userRolesReadOnly, hideDashboardAndReportsAndSystemMaintenanceForNonClientWideHRXUsers
- User interface and person editor: personHeaderVelocityScript, reEntryActionVisible, immediateResignationActionVisible, socialSecurityRegistrationActionVisible, acknowledgeableMessagesSupportEnabled, hideHrxPersonCreationWizard
- Checks and messages: ignoreHistoricInfoMessages, ignoreHistoricWarnings, ignoreHistoricExceptions, automaticEntryDateCorrection
- Person chooser (queries): hrPersonCustomQuery, hrPersonCustomSelectClause, hrPersonAdditionalSelectClause
- Time & Attendance: enableTaIntegration
- Documents and signing: maximumUploadSizeInMB, documentSigningSupported, documentSigningProcessDefinitionName
- Tasks and time shares: tasksSharedAcrossJobs, shouldCorrectPersonTaskTimeShares, shouldStartTimeDistributionProcess
- Miscellaneous: allowRelativeSelectionFromAllClients, defaultSalaryCode, phoneNumberExtensionDynamicFieldName, ignorePayGradeChangesForSalaryReportDateCalculation
- Maternity protection and parental leave: pointer to HrMaternityRestrictionOptions and the client settings of the same name
- Outdated names: properties that no longer exist under the old name
Where settings are maintained and which value applies
System parameters (bean HrOptions)
The system parameters are edited in the "System parameters" mask under module hr in the bean HrOptions. The values are defined in the Spring configuration of the module (hr.applicationContext.xml); the defaults named on this page are the values delivered there. The bean HrOptions also contains properties that exist on the system level only.
Client settings ("Human resources" tab)
The client settings are maintained in the "Client" action (po_editClient) on the "Human resources" tab (German "Personalwesen"; tab label key hr_editClientHrData_tabLabel; the field captions come from the i18n keys with the prefix hr_editClientHrData_). They are stored per client in the table HrClientData. The mask automatically shows every field of HrClientData. Yes/No fields offer the choices "empty", "No" and "Yes"; "empty" means: the system parameter applies. Texts, numbers and lists are entered as text (several values separated by commas); an empty field also means that the system parameter applies. The field for the Velocity script of the person header is a multi-line editor with the button "Add default script into editor".
Precedence rule
For settings that exist on both levels, the following applies (HrOptionsService):
- If a value is set on the client, it applies. For text values, an empty text counts as "not set".
- If the value on the client is empty, if there is no HrClientData record for the client, or if the setting is evaluated without a client (for example in a menu without client context), the system parameter from
HrOptionsapplies. - For lists (activeReasonCodesToDisplayInPositionPlan), the client's list applies if it is not empty, otherwise the list of the system parameter.
- A client without a value follows the system parameter even if the system parameter is changed later.
Overview by level
|
Level |
Settings |
|---|---|
|
System and client (client takes precedence) |
usePositionPlan, useOfLocationsMandatory, useOfCostCentersMandatory, useOfJobLevelsMandatory, terminatedOrgUnitShortName, terminatedPositionShortName, terminatedCostCenterShortName, terminatedLocationShortName, allowLockingOfPositionHours, ignoreHistoricInfoMessages, ignoreHistoricWarnings, ignoreHistoricExceptions, showJobsAndPositions, acknowledgeableMessagesSupportEnabled, maximumUploadSizeInMB, personHeaderVelocityScript, activeReasonCodesToDisplayInPositionPlan, reEntryActionVisible, immediateResignationActionVisible, socialSecurityRegistrationActionVisible, allowRelativeSelectionFromAllClients, automaticEntryDateCorrection, defaultSalaryCode, hrPersonCustomQuery, hrPersonCustomSelectClause, hrPersonAdditionalSelectClause, enableTaIntegration, documentSigningSupported, documentSigningProcessDefinitionName, hiringEmployeesOrgUnitShortName, and the properties for maternity protection and parental leave |
|
System only (HrOptions) |
userRoles, userRolesReadOnly, positionShortNameGeneratorBeanName, jobShortNameGeneratorBeanName, tasksSharedAcrossJobs, multipleJobsAssignedToPosition, phoneNumberExtensionDynamicFieldName, shouldCorrectPersonTaskTimeShares, shouldStartTimeDistributionProcess, hideHrxPersonCreationWizard |
|
Client only (HrClientData) |
hideDashboardAndReportsAndSystemMaintenanceForNonClientWideHRXUsers, ignorePayGradeChangesForSalaryReportDateCalculation |
Warning: According to the code, the switches usePositionPlan, useOfLocationsMandatory, useOfCostCentersMandatory and useOfJobLevelsMandatory are installation switches and are not meant to be changed on a running system. When switching them on, existing persons and positions are checked against the new rule on save and may have to be adjusted first.
Organization structure and position plan
These settings define how persons, positions, locations, cost centers and career levels must be connected and which job and position functions are visible in HR-Expert. All values in the table, except the last four rows, exist on the system and the client level.
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
usePositionPlan |
Client field: "Primary position assignment is mandatory". false: a person can be connected to 0 to 1 primary position at any point in time. true: in the past 0 to 1 primary position; in the present and future every person must be connected to exactly 1 primary position. This is an installation switch, not meant for a running system: a change only affects newly created timelines, existing ones remain unchanged. If true, the job assignment of the person (field personJobs) cannot be edited in the person editor. |
true/false (default: false) |
|
useOfLocationsMandatory |
Client field: "Location assignment is mandatory". false: positions and persons can be connected to 0 to 1 location at any point in time. true: in the present and future every position and every person must be connected to exactly 1 location. When switching on, existing positions and persons without a location must first be assigned a location for their entire validity when they are saved. |
true/false (default: false) |
|
useOfCostCentersMandatory |
Client field: "Cost center assignment is mandatory". false: a position can be connected to any number of cost centers covering up to 100 percent of the costs; a person to 0 to 1 cost center. true: in the present and future every position must be connected to at least 1 cost center and the cost centers must cover the costs by exactly 100 percent; every person must be connected to exactly 1 cost center. When switching on, existing positions and persons without or with non-covering cost center assignments must first be fully assigned when they are saved. |
true/false (default: false) |
|
useOfJobLevelsMandatory |
Client field: "Career level assignment is mandatory". If true, every position must be linked to a career level (HrJobLevel). |
true/false (default: false) |
|
allowLockingOfPositionHours |
Client field: "Allow locking of position hours". If true, a value 0 < lockedHoursPerWeek < hoursPerWeek can be defined for the labor classifications of a position (HrPositionLaborClassification). Only hoursPerWeek minus lockedHoursPerWeek can be assigned to persons; overbooking (the hours per week assigned concurrently to all persons exceed hoursPerWeek minus lockedHoursPerWeek) is not allowed and raises an error. If false, the fields lockedHoursPerWeek and lockingComment of the labor classification are hidden. When switching on, existing positions and persons may have to be adjusted. |
true/false (default: false) |
|
showJobsAndPositions |
Client field: "Show UIs related to jobs and positions". If false, the menu entries for jobs and positions (actions jobchooser, job, positionchooser, position, positionplan, jobfamilychooser, joblevelchooser, and the position plan report) and the position assignment in the person mask are hidden. Without a client context (for example a view across all clients) the menu entries remain visible. |
true/false (default: false) |
|
activeReasonCodesToDisplayInPositionPlan |
Client field: "Reason codes of active employment state to be shown in position plan, separated with comma." Comma-separated names of employment reasons (reasonCode, untranslated) of "actively" employed persons for which the position plan also shows start day, end day and employment reason. On the client the list is entered as text with comma-separated values; if it is empty, the system parameter applies. |
List or comma-separated text (default: empty) |
|
multipleJobsAssignedToPosition |
System only. If true, a position may refer to several jobs at a certain time (the position - job relation becomes m:n); if false, to only one. |
true/false (default: false) |
|
positionShortNameGeneratorBeanName |
System only. Name of a bean that automatically generates the short name of new positions. If the value is empty or no bean of this name exists, no short name is suggested. The bean |
Bean name, e.g. HrPositionShortNameGenerator (default: empty) |
|
jobShortNameGeneratorBeanName |
System only. Like positionShortNameGeneratorBeanName, but for the short name of new jobs. The bean |
Bean name, e.g. HrJobShortNameGenerator (default: empty) |
Terminated and future employees
Terminated persons are assigned to a defined organization unit, position, cost center and location. Persons in the hiring process (employment state "hiring") can be assigned to a separate organization unit. All properties of this group exist on the system and the client level; a non-empty client value takes precedence.
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
terminatedOrgUnitShortName |
Client field: "Short name of organisation unit for persons with terminated employment". The short name of the organization unit to which every terminated person is assigned. It must always be specified. If the client has short names of groups for terminated employees in its master data (terminatedEmploymentGroupsShortNames) and this field is empty on the client, the first of these short names is taken over on save. |
Short name (default: empty) |
|
terminatedPositionShortName |
Client field: "Short name of position for persons with terminated employment". The short name of the position to which every terminated person is assigned (with 0 hours). It must be specified if usePositionPlan is true, otherwise it is ignored. |
Short name (default: empty) |
|
terminatedCostCenterShortName |
Client field: "Short name of cost center for persons with terminated employment". The short name of the cost center to which every terminated person is assigned. It must be specified if useOfCostCentersMandatory is true, otherwise it is ignored. |
Short name (default: empty) |
|
terminatedLocationShortName |
Client field: "Short name of location for persons with terminated employment". The short name of the location to which every terminated person is assigned. It must be specified if useOfLocationsMandatory is true, otherwise it is ignored. |
Short name (default: empty) |
|
hiringEmployeesOrgUnitShortName |
Client field: "Orgunit shortname for group with currently hiring employees". Short name of the organization unit to which persons are assigned for the duration of the employment state "hiring" (persons in the hiring process, not yet employed). If the value is empty or no organization unit with this short name exists, no assignment is made. |
Short name (default: empty) |
Roles and permissions
Access to HR-Expert is controlled by Webdesk roles. The role names are defined exclusively as system parameters. The competence of the role assignment (clients, groups, persons) determines which data the user sees. The system administrator always has access.
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
userRoles |
System only. List of the names of the roles with read and write access to HR-Expert. The names must match roles that actually exist in Webdesk (including the leading $ of the role name). |
List of role names (default: $HRX_User) |
|
userRolesReadOnly |
System only. List of the names of the roles with read-only access to HR-Expert. A user is treated as "read only" if he has one of these roles and no role from userRoles. |
List of role names (default: $HRX_User_ReadOnly) |
|
hideDashboardAndReportsAndSystemMaintenanceForNonClientWideHRXUsers |
Client only. Client field: "Show Dashboard, reports, and system maintenance". Despite the property name, true means "show": if true or empty, dashboard, reports and system maintenance are shown in the HR-Expert menu (provided the user is responsible for at least one client); if false, they are hidden for persons of this client. There is no system parameter; without a value "show" applies. |
true/false or empty (default: empty, acts like true) |
A client counts as an HR client in the sense of HR-Expert (isClientUsingHr) if a role from userRoles or userRolesReadOnly is assigned for the client, for its groups or for its persons; if no roles are configured, no client counts as an HR client.
User interface and person editor
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
personHeaderVelocityScript |
System and client. Client field: "Velocity script for header in person editor". Velocity script for the header part of the person editor. Possible variables: properties of $primaryPosition (HrPosition), $hierarchicalGroup (PoGroup) and $employmentState (HrPersonEmploymentState); the translated/converted person values $birthday and $gender; every property of HrPerson and its related objects, such as $person.lastName. If neither the client nor the system parameter contains a text, the delivered default script (file |
Velocity text (default: empty, the default script applies) |
|
reEntryActionVisible |
System and client. Client field: "Person re-entry action visible". If true, the action "Re-Entry" is visible in the person editor. |
true/false (default: true) |
|
immediateResignationActionVisible |
System and client. Client field: "Person immediate resignation action visible". If true, the action for immediate resignation ("Resignation") is visible in the person editor. |
true/false (default: true) |
|
socialSecurityRegistrationActionVisible |
System and client. Client field: "Person social security registration action visible". Defines whether the social security registration actions are visible for persons in HR-Expert. |
true/false (default: true) |
|
acknowledgeableMessagesSupportEnabled |
System and client. Client field: "Allow using acknowledgeable messages". Defines whether acknowledgeable messages are accessible through the HR-Expert menu or directly through the URL. If false, the menu entry is hidden. |
true/false (default: false) |
|
hideHrxPersonCreationWizard |
System only. If true, the wizard for creating persons is hidden; "New" in the person chooser then opens the full person editor directly. Intended for special cases in which the wizard cannot be used because of customized masks. |
true/false (default: false) |
Checks and messages
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
ignoreHistoricInfoMessages |
System and client. Client field: "Ignore historic info messages". If true, info messages generated by the business logic audits (BusinessLogicAudits) are suppressed for states that ended in the past. |
true/false (default: true) |
|
ignoreHistoricWarnings |
System and client. Client field: "Ignore historic warnings". Like ignoreHistoricInfoMessages, but for warnings. |
true/false (default: true) |
|
ignoreHistoricExceptions |
System and client. Client field: "Ignore historic exceptions". If true, errors (BusinessLogicExceptions) raised by the business logic audits are suppressed for states that ended in the past. |
true/false (default: false) |
|
automaticEntryDateCorrection |
System and client. Client field: "Entry date for every employment state will be automatically corrected." If enabled, the entry date of every employment state is corrected automatically when a person is saved in HR-Expert. |
true/false (default: true) |
Person chooser (queries)
These three settings allow the query of the person chooser (HrPersonReader) to be customized. They exist on the system and the client level; if nothing is set on the client, the system parameter applies. Custom queries must use the aliases of the default query: PoPerson = p, HrPerson = hrp, HrPersonEmployment = emp, HrPersonEmploymentState = st, PoGroup = g, PoPersonGroup = pg, PoClient = c.
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
hrPersonCustomQuery |
Client field: "Custom query for person chooser". The complete (HQL) query of the person chooser. It overrides any query coming from the system; if it is set, hrPersonCustomSelectClause and hrPersonAdditionalSelectClause are ignored. |
HQL query (default: empty) |
|
hrPersonCustomSelectClause |
Client field: "Custom select for person chooser query". A custom "select" clause (comma-separated properties) that replaces the clause of the default query. It determines the columns shown in the person chooser. It is ignored if hrPersonCustomQuery is set, and it overrides hrPersonAdditionalSelectClause. |
List of properties (default: empty) |
|
hrPersonAdditionalSelectClause |
Client field: "Additional "select" for person chooser query". Additional properties that are appended to the "select" clause of the default query and appear as additional columns in the person chooser. It is ignored if hrPersonCustomQuery or hrPersonCustomSelectClause is set. |
List of properties (default: empty) |
Time & Attendance
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
enableTaIntegration |
System and client. Client field: "Enable synchronisation with Time&Attendance". Switches on the synchronization between HR and Time & Attendance: the Time & Attendance configuration of persons and the automatic creation of absence entries based on the employment states in HR-Expert. If the system parameter is false (default), the synchronization is performed only for clients where true is set. If the system parameter is true, it is performed for all clients where the value is empty or true (a client with false is excluded). |
true/false (default: false) |
Documents and signing
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
maximumUploadSizeInMB |
System and client. Maximum size of uploaded files within HR-Expert in MB (person documents). The client of the logged-in user is decisive. The "Human resources" tab has a field of the same name. |
Number in MB (default: 5) |
|
documentSigningSupported |
System and client. Client field: "Support document sigining process" (spelling as in the mask). Defines whether signing of person documents is supported. A workflow process is started (see documentSigningProcessDefinitionName) to which the document is attached as a PDF. Documents must be in Docx or PDF format; Docx is converted to PDF, other formats lead to an error. |
true/false (default: false) |
|
documentSigningProcessDefinitionName |
System and client. Client field: "Processdefinition for digital signatures". Name of the process definition that is started for the signing process. If neither the client nor the system parameter contains a name when the signing process is started, the start is aborted with an error message. |
Process definition name (default: empty) |
Tasks and time shares
These settings concern the assignment of tasks (HrTask) to jobs (HrJob) and persons. They apply system-wide only, not per client.
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
tasksSharedAcrossJobs |
System only; according to the code explicitly not client-specific. If false, the m:n relation between task and job becomes a 1:n relation: a task can then be part of at most one job. |
true/false (default: true) |
|
shouldCorrectPersonTaskTimeShares |
System only. When a job or a task is deleted, or a task is removed from a job, the assignments of persons to the affected tasks (HrPersonTask) are historized. If true, the task assignments of the affected persons are then corrected so that the sum of the time shares in every interval is 100 %. |
true/false (default: false) |
|
shouldStartTimeDistributionProcess |
System only. If true, after person-task assignments have been historized, a notification process pointing to the action |
true/false (default: false) |
Miscellaneous
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
allowRelativeSelectionFromAllClients |
System and client. Client field: "Allow all clients on internal relatives assignment". If true, relatives of a person can be selected from the persons of all clients, not only from the person's own client (person mask, tab "Familie" (family), sub-tab "Angehörige im Unternehmen" (relatives in the company)). |
true/false (default: false) |
|
defaultSalaryCode |
System and client. Client field: "Default salary code for new salaries". The salary code that is pre-filled when a new salary is created for a person. In the client field the code is selected from a selection list. |
Salary code (default: BASE) |
|
phoneNumberExtensionDynamicFieldName |
System only. Name of a dynamic field that stores the extension of a person's office phone number. If a name is entered, the value of this field overrides the extension from the person data (PoPerson.officePhoneNumberExtension) when the office phone number is output in the person list reports. |
Field name (default: empty) |
|
ignorePayGradeChangesForSalaryReportDateCalculation |
Client only. Client field: "Ignore pay grade changes for salary report date calculation". Special case for customers who grant raises as pay grade increases but do not want this to shift the date of the next regular step: if true, the date calculation in the salary report compares only the labor contract and the pay group, a changed pay grade does not count as a change. Without a value, false applies. |
true/false (default: empty, acts like false) |
Maternity protection and parental leave
The rules for maternity protection and parental leave come from the bean HrMaternityRestrictionOptions (system parameter, module hr) and can be overridden on the client on the "Human resources" tab with the same property names; here, too, an empty client value means the system parameter applies. The following table is only an overview of the names; the meaning follows from the captions.
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
protectionFromDayBeforeExpectedBirthDayWeeks |
Number of weeks before the expected birth date at which the maternity protection starts. |
Number (default: 8) |
|
expectedProtectionToDayAfterExpectedBirthDayWeeks |
Number of weeks after the expected birth date after which the maternity protection ends. |
Number (default: 8) |
|
protectionToDayAfterActualPrematureBirthDayWeeks |
Number of weeks after a premature birth after which the maternity protection ends. |
Number (default: 12) |
|
protectionToDayAfterActualMultiplesBirthDayWeeks |
Number of weeks after a multiple birth after which the maternity protection ends. |
Number (default: 12) |
|
protectionToDayAfterActualCesareanBirthDayWeeks |
Number of weeks after a cesarean birth after which the maternity protection ends. |
Number (default: 12) |
|
maximumPeriodOfMaternityProtectionAfterBirthInWeeks |
Duration of maternity protection after birth in weeks (relevant if the birth happens before the expected date). |
Number (default: 16) |
|
parentalLeaveMaximumEndDayAfterActualBirthDayMonths |
Number of months after the birth after which the parental leave ends at the latest. |
Number (default: 24) |
|
employmentStateToBeSetForProtection |
Employment state during maternity protection (ACTIVE, INACTIVE or TERMINATED). |
State (default: INACTIVE) |
|
reasonCodeToBeSetForProtection |
Reason (key-value type HrEmploymentStateReasonCode) during maternity protection. |
Key (default: MATERNITYPROTECTION) |
|
reasonCodeToBeSetAfterProtection |
Reason for the return after maternity protection has ended. |
Key (default: MATERNITYPROTECTION_END) |
|
zeroHoursPerWeekDuringProtection |
Whether the hours per week in the employment state and in the position assignments are set to 0 during maternity protection. |
true/false (default: false) |
|
employmentStateToBeSetForParentalLeave |
Employment state during parental leave (ACTIVE, INACTIVE or TERMINATED). |
State (default: INACTIVE) |
|
reasonCodeToBeSetForParentalLeave |
Reason during parental leave. |
Key (default: PATERNALLEAVE) |
|
reasonCodeToBeSetAfterParentalLeave |
Reason for the return after parental leave. |
Key (default: PATERNALLEAVE_END) |
|
zeroHoursPerWeekDuringParentalLeave |
Whether the hours per week in the employment state and in the position assignments are set to 0 during parental leave. |
true/false (default: false) |
Outdated names and removed settings
- The roles for HR-Expert are called
userRolesanduserRolesReadOnly(lists). The previously mentioned propertiesuserRoleanduserRoleReadOnlyno longer exist in the bean HrOptions. - The settings shouldCorrectPersonTaskTimeShares and shouldStartTimeDistributionProcess used to be configurable per client as well. The client-related columns were removed in an update; only the system parameters remain.
- The bean HrPersonDomainObjectReaderOptions no longer exists; its settings were moved to HrOptions and to the client settings as hrPersonCustomQuery, hrPersonCustomSelectClause and hrPersonAdditionalSelectClause.
Checks after a change
- Decide whether the setting should be changed on the system or the client level (see overview by level); a client value that is set hides the system parameter.
- Before changing the mandatory switches (usePositionPlan, useOfLocationsMandatory, useOfCostCentersMandatory, useOfJobLevelsMandatory), check existing persons and positions that do not meet the new rule.
- After changing roles (userRoles, userRolesReadOnly), log in with a user with a write role and a user with a read-only role and check that the menus appear as expected.
- After changing the person chooser (hrPerson...), open the person chooser in the person editor and check that the query runs without errors and the columns are correct.
Keine Kommentare vorhanden.