給与ユーザー・インタフェース構成Formulaタイプ
給与ユーザー・インタフェース構成Formulaタイプを使用して、構成可能な支払方法プリファレンスを制御できます。 「FastFormula」ページで、これらのプリファレンスに新しい値を作成することで、デフォルト値を上書きするFormulaを作成できます。
Formulaを作成して、PAYROLL_USER_INTERFACE_CONFIGURATIONユーザー定義表の適切な行に関連付けることができます。
この表は、構成可能なプリファレンス、ユーザー定義表内の事前定義の行名、目的およびデフォルト値を示しています。
ユーザー定義行名 |
目的 |
デフォルト値: |
---|---|---|
デフォルト組織支払方法 |
各国別仕様データ・グループの簡易UIにデフォルトの組織支払方法を設定します。 |
(該当せず) |
個人支払方法検証を実行 |
顧客の個人支払方法の基準を検証します。 たとえば、作成できる支払方法を1つの口座種別に付き1つに制限します。 |
いいえ |
個人支払方法の最大数 |
許可される個人支払方法の最大数を設定します。 |
制限なし |
就業者に使用可能な支払タイプ |
個人支払方法の作成を特定の支払タイプに制限します。 |
使用可能なすべての組織支払方法 |
個人支払方法の編集を防止 |
Formulaに設定されている基準セットに一致する個人支払方法の詳細を従業員が変更するのを防止します。 |
いいえ |
パーセントまたは金額を表示 |
「個人支払方法の管理」ページで「金額」または「パーセント」の金額タイプのみを表示します。 |
両方 |
構成する各プリファレンスには、独自の式が必要です。 複数のプリファレンスを1つのFormulaにまとめることはできません。 たとえば、デフォルトの組織支払方法の設定と個人支払方法の最大数の設定を行うFormulaは作成できません。
給与ユーザー・インタフェース構成Formulaタイプはデータベース・アイテムをサポートしていません。 その他のFormulaタイプでは、データベース・アイテムを使用できない場合にGET_VALUE_SET関数を使用して情報を取得します。
GET_VALUE_SETファンクションを使用する場合は、値セットの「値属性表の別名」フィールドに値がないことを確認します。 別名を指定すると、関数は失敗します。
次の入力値は給与ユーザー・インタフェース構成FormulaタイプのすべてのFormulaで使用できます。
入力変数 |
タイプ |
説明 |
---|---|---|
EFFECTIVE_DATE |
テキスト |
Formula検証が適用される有効日 |
LEGISLATIVE_DATA_GROUP_ID |
テキスト |
変数の国別仕様データ・グループを特定する番号 |
PAYROLL_RELATIONSHIP_ID |
テキスト |
変数の給与関係を特定する番号 |
次の入力値は2つの個人支払方法検証Formulaで使用できる入力値です。
入力変数 |
タイプ |
説明 |
---|---|---|
AMOUNT |
テキスト |
個人支払方法に支払われる合計金額 |
BANK_ACCOUNT_NUMBER |
テキスト |
外部銀行口座の銀行口座番号 |
BANK_ACCOUNT_TYPE |
テキスト |
個人支払方法の外部銀行口座の種別 |
BANK_NAME |
テキスト |
個人支払方法に関連付けられている銀行名 |
BRANCH_NAME |
テキスト |
個人支払方法に関連付けられている銀行支店名 |
CURRENCY_CODE |
テキスト |
個人支払方法の通貨コード |
ORGANIZATION_PAYMENT_METHOD_NAME |
テキスト |
組織支払方法の名前 |
PAYMENT_AMOUNT_TYPE |
テキスト |
個人支払方法に関連するパーセントまたは金額 |
PAYMENT_TYPE_NAME |
テキスト |
小切手または振込など、特定の組織支払方法の支払タイプ |
PERCENTAGE |
テキスト |
個人支払方法に関連するパーセント |
PERSONAL_PAYMENT_METHOD_NAME |
テキスト |
個人支払方法の名前 |
PRIORITY |
テキスト |
個人支払の優先順位 |
このコンテキストは、ユーザー定義表の「デフォルト組織支払方法」行にマッピングされたFormulaでのみ使用できます。
-
PAYMENT_TYPE_NAME (テキスト)
予期された形式での支払タイプのテキスト表現(EFTや小切手など)。
その他のFormulaと異なり、給与ユーザー・インタフェース構成Formulaタイプの戻り値は、Formulaで宣言した変数です。 例については、サンプルFormulaを参照してください。
このサンプルFormulaは、支払タイプに基づいてLDG_A (ID 300100001)のデフォルトの組織支払方法を設定します。 このルールを使用するには、PAYROLL_USER_INTERFACE_CONFIGURATIONユーザー定義表の「デフォルト組織支払方法」行にFormulaを関連付けます。 この例では、DEFAULT_OPM
の有効な戻り値は、組織支払方法の正確な名前です。
/***********************************************
FORMULA NAME: Default OPM Formula
FORMULA TYPE: Payroll User Interface Configuration/
************************************************
/* Configuration */
IF (LEGISLATIVE_DATA_GROUP_ID = '300100001'
AND PAYMENT_TYPE_NAME = 'EFT')
THEN DEFAULT_OPM = 'NACHA_OPM_A
' ELSE IF (LEGISLATIVE_DATA_GROUP_ID = '300100002
'AND PAYMENT_TYPE_NAME = 'Check')
THEN DEFAULT_OPM = 'CHECK_OPM_A'
ELSE DEFAULT_OPM = 'NODATA'
RETURN DEFAULT_OPM
/* End Formula Text */
このサンプルFormulaは、個人支払方法を組織の支払方法(EFT (電子送金)または小切手の支払タイプ)に基づくものに限定します。 このルールを使用するには、PAYROLL_USER_INTERFACE_CONFIGURATIONユーザー定義表の「就業者に使用可能な支払タイプ」行にFormulaを関連付けます。 この例では、有効な戻り値は、表PAY_PAYMENT_TYPES_VLに定義されているベース支払タイプ名です。
/****************************************************
FORMULA NAME: Worker Payment Types Formula
FORMULA TYPE: Payroll User Interface Configuration/
******************************************************/
* Configuration */
PAYMENT_TYPE[1] = 'EFT'
PAYMENT_TYPE[2] = 'Check'
RETURN PAYMENT_TYPE
/* End Formula Text */
このサンプルFormulaは、LDG_A (ID 300100001)内の従業員の個人支払方法の数を3に、LDG_B (ID 300100002)内の従業員の個人支払方法の数を1に制限します。 このルールを使用するには、PAYROLL_USER_INTERFACE_CONFIGURATIONユーザー定義表の「個人支払方法の最大数」行にFormulaを関連付けます。 この例では、MAX_NUM_PPMS
の有効な戻り値は整数です。
/****************************************************
FORMULA NAME: Maximum PPM Formula
FORMULA TYPE: Payroll User Interface Configuration
*****************************************************/
/* Configuration */
IF LEGISLATIVE_DATA_GROUP_ID = '300100001'
THEN MAX_NUM_PPMS = '3'
IF LEGISLATIVE_DATA_GROUP_ID = '300100002'
THEN MAX_NUM_PPMS = '1'
ELSE
MAX_NUM_PPMS = 'NO DATA'
RETURN MAX_NUM_PPMS
/* End Formula Text */
このサンプルFormulaは、「個人支払方法の管理」ページに「パーセント」金額タイプとフィールドのみを表示する制約を設定します。 このルールを使用するには、PAYROLL_USER_INTERFACE_CONFIGURATIONユーザー定義表の「パーセントまたは金額を表示」行にFormulaを関連付けます。 この例では、PAYMENT_AMOUNT_TYPE
の有効な戻り値はAMOUNT
またはPERCENTAGE
です。
/*******************************************************
FORMULA NAME: Show Percentage Formula
FORMULA TYPE: Payroll User Interface Configuration
********************************************************/
/* Configuration */
PAYMENT_AMOUNT_TYPE = 'PERCENTAGE'
RETURN PAYMENT_AMOUNT_TYPE
/* End Formula Text */
このサンプルFormulaは、最初の個人支払方法が支払カードであり、支払タイプがEFTまたはIATであることを検証します。 さらに、アカウント・タイプは「支払カード」です。 このFormulaは、最初の個人支払方法がこれらの基準を満たすようにし、さらに従業員のこのタイプの個人支払方法を1つに制限します。
/***************************************************
FORMULA NAME: Execute Personal Payment Method Validation
FORMULA TYPE: Payroll User Interface Configuration
***************************************************/
IF (PAGE_NAME = 'DETAILS'){
//PPM Validation
//check if there is PPM for PAYROLL_RELATIONSHIP_ID
COUNT = NUMBER_OF_PPMS
//This returns the number of PPMs for a payroll
relationship ID using a value set
//If this is first PPM
IF(COUNT==0){
IF((PAYMENT_TYPE_NAME==EFT OR PAYMENT_TYPE_NAME==IAT)
AND BANK_ACCOUNT_TYPE==PAYCARD){
//If first PPM and is of type PAYCARD, PPM can be created
RETURN_VALUE[1]= 'N'
}
ELSE{
//If first PPM is not PAYCARD, throw error message
RETURN_VALUE[1]='Y'
RETURN_VALUE[2]='ANY_VALID_ERROR_MESSAGE'
}
}
//This is not the first PPM.
ELSE{
IF((PAYMENT_TYPE_NAME==EFT OR PAYMENT_TYPE_NAME==IAT)
AND BANK_ACCOUNT_TYPE==PAYCARD){
//If multiple PAYCARD PPMs, throw error message
RETURN_VALUE[1]='Y'
RETURN_VALUE[2]='ANY_VALID_ERROR_MESSAGE'
}
ELSE{
RETURN_VALUE[1]='N'
}
}
}
//When changing the priority of a PPM
ELSE IF(PAGE_NAME == 'SUMMARY')
{
//Get the highest priority for PAYROLL_RELATIONSHIP_ID
IF (PRIORITY == HIGHEST_PRIORITY){
//Gets the highest priority among the PPMs for a particular payroll relationship ID
//by executing a value set. Change in priority throws error message.
RETURN_VALUE[1]='Y'
RETURN_VALUE[2]='ANY_VALID_ERROR_MESSAGE'
}
ELSE
RETURN_VALUE[1]='N'
}
}
このサンプルFormulaは、セルフ・サービスのユーザーが組織支払方法(支払タイプ「小切手」)に関連付けられている個人支払方法を編集するのを防止します。
/**************************************************************************************
FORMULA NAME: Prevent Edit Personal Payment Method
FORMULA TYPE: Payroll User Interface Configuration
Expected Behavior : If value returned is N, no change in functionality
If value returned is Y, Save/Submit buttons will be disabled in edit flow to prevent the edit of personal payment method.
The Delete buttons will also be disabled for the personal payment methods
Sample Input File Format:
User Interface|Legislative Data Group|Effective Date|Payroll Relationship|Payment Type
***************************************************************************************/
/* inputs */
INPUTS ARE PAGE_NAME (text), LEGISLATIVE_DATA_GROUP_ID (text), PAYROLL_RELATIONSHIP_ID (text), EFFECTIVE_DATE(text), PERSONAL_PAYMENT_METHOD_NAME (text), ORGANIZATION_PAYMENT_METHOD_NAME (text), PAYMENT_TYPE_NAME (text), CURRENCY_CODE (text),PAYMENT_AMOUNT_TYPE (text),PERCENTAGE (text),AMOUNT (text),PRIORITY (text),BANK_NAME (text),BRANCH_NAME (text),BANK_ACCOUNT_NUMBER (text), BANK_ACCOUNT_TYPE (text)
/* Configuration */
IF ORGANIZATION_PAYMENT_METHOD_NAME='Check' THEN
(
OUTPUT_VALUE = 'Y'
)
ELSE
(
OUTPUT_VALUE = 'N'
)
RETURN OUTPUT_VALUE
/* End Formula Text */