総合報酬項目のFormulaタイプ

総合報酬項目Formulaは、その他の事前定義項目ソース・タイプに格納されていない報酬情報を決定します。

このFormulaは、「報酬項目の作成」または「報酬項目の編集」ページで報酬項目を管理するときに選択します。文書を生成する前に、「検証」ボタンをクリックして報酬項目に対する期待を検証してください。

このタイプのFormulaでは、次のようなコンテキストを利用できます。

  • DATE_EARNED

  • EFFECTIVE_DATE

  • END_DATE

  • START_DATE

  • HR_ASSIGNMENT_ID

  • HR_TERM_ID

  • JOB_ID

  • LEGISLATIVE_DATA_GROUP_ID

  • COMPENSATION_RECORD_TYPE

  • ORGANIZATION_ID

  • PAYROLL_ASSIGNMENT_ID

  • PAYROLL_RELATIONSHIP_ID

  • PAYROLL_TERM_ID

  • PERSON_ID

個人、アサイメント、給与、エレメント・エントリ、報酬レコード、開始日、および終了日に関係するデータベース・アイテムは、このタイプのFormulaで使用できます。

このタイプのFormulaでは、次のような入力変数を利用できます。

入力パラメータ

データ型

必須

説明

CMP_IV_PERIOD_ID

文字

Y

期間ID

CMP_IV_PERIOD_START_DATE

日付

Y

文書期間開始日

CMP_IV_PERIOD_END_DATE

日付

Y

文書期間終了日

このタイプのFormulaでは、次のような戻り変数を利用できます。

戻り値

データ型

必須

説明

COMPENSATION_DATES

日付

Y

セミコロンで区切られた1~15個のトランザクション日。最大250文字。

VALUES

文字

Y

セミコロンで区切られた1~15個のトランザクション値。最大250文字。値と日付は同じ個数でなければならない。

ASSIGNMENTS

文字

N

セミコロンで区切られた1~15個のトランザクション・アサイメント。最大250文字。アサイメントと日付は同じ個数でなければならない。区切り文字を「; ;」のように使用して、スペースを返すことができる。

LEGALEMPLOYERS

文字

N

セミコロンで区切られた1~15個の法的雇用主ID。最大250文字。アサイメントと日付は同じ個数でなければならない。区切り文字を「; ;」のように使用して、スペースを返すことができる。

UNIT 文字 N 各値に4つのオプション変数が用意されています。各変数は";"で区切られた複数の値を持つことができます。通貨コードは通貨ユニットから返すことができます。

COMPENSATION_DATES1

日付

Y

トランザクション日の2つ目の変数で、250文字の上限を超えた場合の16~30個めの変数。

VALUES1

文字

Y

トランザクション値の2つ目の変数で、250文字の上限を超えた場合の16~30個めの変数。

ASSIGNMENTS1

文字

N

トランザクション・アサイメントの2つ目の変数で、250文字の上限を超えた場合の16~30個めの変数。

LEGALEMPLOYERS1

文字

N

法的雇用主IDの2つ目の変数で、250文字の上限を超えた場合の16~30個めの変数。

UNIT1 文字 N 各値に4つのオプション変数が用意されています。各変数は";"で区切られた複数の値を持つことができます。通貨コードは通貨ユニットから返すことができます。

COMPENSATION_DATES2

日付

Y

31~45個めのトランザクション日。

VALUES2

文字

Y

31~45個めのトランザクション値。

ASSIGNMENTS2

文字

N

31~45個めのトランザクション・アサイメント。

LEGALEMPLOYERS2

文字

N

31~45個めの法的雇用主。

UNIT2 文字 N 各値に4つのオプション変数が用意されています。各変数は";"で区切られた複数の値を持つことができます。通貨コードは通貨ユニットから返すことができます。

COMPENSATION_DATES3

日付

Y

46~60個めのトランザクション日。

VALUES3

文字

Y

46~60個めのトランザクション値。

ASSIGNMENTS3

文字

N

46~60個めのトランザクション・アサイメント。

LEGALEMPLOYERS3

文字

N

46~60個めの法的雇用主。

UNIT3 文字 N 各値に4つのオプション変数が用意されています。各変数は";"で区切られた複数の値を持つことができます。通貨コードは通貨ユニットから返すことができます。

このサンプルFormulaは、就業者IDに基づいて日付を1つと値を1つ返します。

/*******************************************************************
FORMULA NAME : Total Compensation Simple Item Formula
FORMULA TYPE : Total Compensation Item 
DESCRIPTION  : Returns one date and one value.
*******************************************************************/ 

/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/
INPUTS ARE CMP_IV_PERSON_ID (text), CMP_IV_PERIOD_START_DATE (date), CMP_IV_PERIOD_END_DATE (date)
DEFAULT FOR CMP_IV_PERSON_ID IS '-1'
DEFAULT FOR CMP_IV_PERIOD_START_DATE IS '4712/12/31' (date)
DEFAULT FOR CMP_IV_PERIOD_END_DATE IS   '4712/12/31' (date)
/*============ INPUT VALUES DEFAULTS ENDS =====================*/ 

/*=================== FORMULA SECTION BEGIN =================*/
COMPENSATION_DATES = '2005/01/01'
VALUES             =  '500.00'

ASSIGNMENTS = to_char(get_context(HR_ASSIGNMENT_ID,-1))

RETURN COMPENSATION_DATES, VALUES, ASSIGNMENTS

/*================ FORMULA SECTION END =======================*/

このサンプルFormulaは複数の変数を返します。

/*******************************************************************
FORMULA NAME : Total Compensation Multi Item Formula
FORMULA TYPE : Total Compensation Item
DESCRIPTION  : Returns multiple variables.
*******************************************************************/

/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/ 
INPUTS ARE CMP_IV_PERSON_ID (text), CMP_IV_PERIOD_START_DATE (date) , CMP_IV_PERIOD_END_DATE (date)
/*=========== INPUT VALUES DEFAULTS ENDS =====================*/

/*================= FORMULA SECTION BEGIN =================*/

COMPENSATION_DATES  = '2009/01/01;2009/02/01;2009/03/01'
COMPENSATION_DATES1 = '2009/07/01;2009/08/01;2009/09/01'
COMPENSATION_DATES2 = '2009/10/01;2009/11/01;2009/12/01'
COMPENSATION_DATES3 = '2009/10/01;2009/11/01;2009/12/01'

VALUES              = '200.00;200.00;300.00'
VALUES1             = '300.00;500.00;500.00'
VALUES2             = '500.00;500.00;600.00'
VALUES3             = '600.00;600.00;700.00'

/* Returns only first two assignment */
ASSIGNMENTS          = ';1234567890;1234567890'
ASSIGNMENTS1         = '1234567890;1234567890;1234567890'

/* Returns last two assignments */
ASSIGNMENTS2         = ';1234567890;1234567890'
/* Returns  first and last assignments */
ASSIGNMENTS3         = '1234567890;;1234567890'


LEGALEMPLOYERS      = '0123456789;;0123456789'
LEGALEMPLOYERS1     = '0123456789;0123456789;0123456789'
LEGALEMPLOYERS2     = '0123456789;0123456789;0123456789'
LEGALEMPLOYERS3     = '0123456789;0123456789'

UNIT      = 'USD'
UNIT1     = 'EUR'
UNIT2     = 'AUD'
UNIT3     = 'CAD'
RETURN COMPENSATION_DATES,VALUES,COMPENSATION_DATES1,VALUES1,COMPENSATION_DATES2,VALUES2,COMPENSATION_DATES3,VALUES3,ASSIGNMENTS,ASSIGNMENTS1,ASSIGNMENTS2,ASSIGNMENTS3,L
GALEMPLOYERS,LEGALEMPLOYERS1,LEGALEMPLOYERS2,LEGALEMPLOYERS3,UNIT,UNIT1,UNIT2,UNIT3

/*================ FORMULA SECTION END =======================*/