機械翻訳について

サンプル原価配分Formula

FastFormulaを使用して、原価を異なるアサイメントに配分できます。 原価計算分配は、Formulaの戻り値に基づいて行われます。

参照用のサンプルのFastFormulaを次に示します。

Formula詳細

Formulaタイプ Formulaコンテキスト

戻り変数

福利厚生レート分布
  • HR_RELATIONSHIP_ID
  • HR_TERM_ID
  • ENTERPRISE_ID
  • ELEMENT_TYPE_ID
  • PAYROLL_RELATIONSHIP_ID
  • PAYROLL_TERM_ID
  • LEGAL_EMPLOYER_ID
  • DATE_EARNED
  • HR_ASSIGNMENT_ID
  • BUSINESS_GROUP_ID
  • PERSON_ID
  • JOB_ID
  • EFFECTIVE_DATE
  • PAYROLL_ASSIGNMENT_ID
  • PAYROLL_ID
  • LEGISLATIVE_DATA_GROUP_ID
  • LER_ID
  • OPT_ID
  • ORGANIZATION_ID
  • ELIG_PER_ELCTBL_CHC_ID
  • ACTY_BASE_RT_ID
  • BNFTS_BAL_ID
  • PGM_ID
  • PL_ID
  • PL_TYP_ID
  • BENEFIT_RELATION_ID
  • PER_IN_LER_ID

いくつかの考慮事項があります。
  • 戻り変数名は、次のフォーマットに従う必要があります。

    l_asg1, l_val1.......l_asg10, l_val10

    例: l_asg1,l_val1,l_asg2,l_val2,l_asg3,l_val3

  • サンプルFormulaと同様に、戻り変数は次の表記方法に従う必要があります。

    return l_asg1,l_val1,l_asg2,l_val2,l_asg3,l_val3

  • アサイメントの最大割付数は10です。 最大10ペアにできます。 前述の例では3つのペアがあります。
  • 戻り変数l_valxは、アサイメント全体のコストの分配率を示します。 パーセント値は0から100の間にする必要があり、値の合計は100である必要があります。 また、値は小数点以下2桁まで指定できます。
  • assignment_idは、処理対象の個人および同じ給与関係に属している必要があります。
  • assignment_idの値が0の場合、Formulaではassignment_idと値のセットが無視されます。
  • セットは欠落しないようにしてください。 たとえば、l_asg1,l_val1,l_asg3,l_val3のような場合です。 ここでは、セットl_asg2,l_val2が欠落しています。
各個人のアサイメントのパーセント値をユーザー定義表に保存して原価計算分配に使用する、サンプル分配Formulaを次に示します。

ユーザー定義表

アサイメント PERSON_ID VALUE(パーセント)
Assignment_1 Person_id_1 50
Assignment_2 Person_id_1 30
Assignment_3 Person_id_1 20
Assignment_4 Person_id_2 50
Assignment_5 Person_id_2 50
サンプルFormula:
DEFAULT_DATA_VALUE for PER_HIST_ASG_ASSIGNMENT_ID is 0
l_asg1=0
l_val1=0
l_asg2=0
l_val2=0
l_asg3=0
l_val3=0
i=1
j=1
l_effective_date = GET_CONTEXT(EFFECTIVE_DATE,to_date('1951/01/01 00:00:00'))
CHANGE_CONTEXTS(LEGISLATIVE_DATA_GROUP_ID = 202)

WHILE(PER_HIST_ASG_ASSIGNMENT_ID.EXISTS(i)) LOOP(
    if ((PER_HIST_ASG_ASSIGNMENT_TYPE[i]='E' or PER_HIST_ASG_ASSIGNMENT_TYPE[i]='N') and ((l_effective_date > PER_HIST_ASG_EFFECTIVE_START_DATE[i]) and (l_effective_date <PER_HIST_ASG_EFFECTIVE_END_DATE[i]))) then (
        l_person_id = to_number(GET_TABLE_VALUE ('DHQA_ASG_COSTING_DISTRIBUTION','PERSON_ID',to_char(PER_HIST_ASG_ASSIGNMENT_ID[i]),'-999'))
    if (l_person_id = GET_CONTEXT(PERSON_ID,-9999)) then (
        if(j=1) then(
            l_asg1= PER_HIST_ASG_ASSIGNMENT_ID[i]
            l_val1 = to_number(GET_TABLE_VALUE ('DHQA_ASG_COSTING_DISTRIBUTION','VALUE',to_char(PER_HIST_ASG_ASSIGNMENT_ID[i]))))
        if (j=2) then (
            l_asg2 = PER_HIST_ASG_ASSIGNMENT_ID[i]l_val2 = to_number(GET_TABLE_VALUE ('DHQA_ASG_COSTING_DISTRIBUTION','VALUE',to_char(PER_HIST_ASG_ASSIGNMENT_ID[i]))))
        if (j=3) then (
            l_asg3 =PER_HIST_ASG_ASSIGNMENT_ID[i]l_val3 = to_number(GET_TABLE_VALUE ('DHQA_ASG_COSTING_DISTRIBUTION','VALUE',to_char(PER_HIST_ASG_ASSIGNMENT_ID[i]))))
             j=j+1
        )
    )
i=i+1
)

return l_asg1,l_val1,l_asg2,l_val2,l_asg3,l_val3