FastFormulaでのプロファイルDBIの使用
プロファイルDBIは、HRT_PERSON_GENERIC_CONTENT_TYPE_UEを使用してレポートできます。
このUEに関連付けられているDBIには、プロファイル・コンテンツの一般Formula(HRT_PROFILE_GENERIC_FORMULA_TYPE)Formulaタイプでのみアクセスできます。
-
EFFECTIVE_DATE
-
PERSON_ID
-
TALENT_PROFILE_CONTENT_TYPE
これら3つのコンテキストも設定する別のFormulaタイプでは、前述のUEのDBI項目を確認できます。ただし、シードされたFormulaタイプの間では、プロファイル・コンテンツの一般Formulaのみにこれらの3つのコンテキストが必要です。したがって、現在、このFormulaタイプはプロファイルDBI (HRT_PERSON_GENERIC_CONTENT_TYPE_**、たとえばHRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_1)に基づくFormulaにのみ使用できます。
これらのDBIを他のFormulaタイプで必要とする場合は、独自のFormula内からプロファイルFormulaをコールします(報酬のデフォルトおよび上書きなど別のタイプにできます)。ただし、必要なすべてのCONTEXTSを設定する必要があります。
-
「プロファイル・コンテンツの汎用Formulaタイプ」Formulaタイプの新しいFastFormulaを作成します。
-
コンテキスト値(Person ID、有効日およびTALENT_PROFILE_CONTENT_TYPE)を設定します。報酬FastFormulaで使用するDBI値を、HRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_1などのreturn文に含めます。
-
上記で作成したFastFormulaを報酬Formulaであるデフォルトおよび上書きFormulaで使用します。プロファイルFastFormulaをコールする前に、Step1で作成された前述のプロファイルFastFormulaのコンテキスト値(Person ID、有効日およびTALENT_PROFILE_CONTENT_TYPE)を設定します。
-
「報酬FastFormulaからのプロファイルFastFormula」を参照して、プロファイルFastFormulaのReturn文に存在する値を取得します。
-
報酬FastFormulaでこれらの戻り値を使用します。
例1: コンピテンシ項目の数を返す単純な実装
1. 「報酬のデフォルトおよび上書き」タイプ用にコンパイルされたFormula:
サンプルFormula名: "Sr Test Two"
/*------------------------------------------------*/
L_DATA_TYPE = 'TEXT'
L_DEFAULT_VALUE = '111'
L_PERSON_ID = get_context(person_id, -1)
IF (IS_EXECUTABLE('SR_FORMULA_GENERIC_TWO')) THEN
(
SET_INPUT('PERSON_ID', L_PERSON_ID)
SET_INPUT('TALENT_PROFILE_CONTENT_TYPE', 'COMPETENCY')
EXECUTE('SR_FORMULA_GENERIC_TWO')
)
ELSE(
L_DATA =ESS_LOG_WRITE('SR_FORMULA_GENERIC_TWO is not executable')
)
L_DEFAULT_VALUE = GET_OUTPUT('L_RETURN_VALUE_FROM_PROFILE','NULL')
RETURN L_DATA_TYPE,L_DEFAULT_VALUE
/*------------------------------------------------*/
2. 「プロファイル・コンテンツの一般Formulaタイプ」タイプ用にコンパイルされたFormula:
サンプルFormula名: "SR_FORMULA_GENERIC_TWO”
/*------------------------------------------------*/
DEFAULT_DATA_VALUE FOR HRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_1 IS 'NULL'
DEFAULT_DATA_VALUE FOR HRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_2 IS 'NULL'
I=1
L_RETURN_VALUE_FROM_PROFILE = '111'
WHILE HRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_1.EXISTS(I) LOOP
(
I= I+1
)
L_RETURN_VALUE_FROM_PROFILE = TO_CHAR(I)
RETURN L_RETURN_VALUE_FROM_PROFILE
/*------------------------------------------------*/
例2: 最初のItem_Text_240_1を返す実装
サンプルFormula名: "TPC_Override”
/*------------------------------------------------*/
/* TPC_Override formula */
L_VALUE = 'NULL'
SET_INPUT('TALENT_PROFILE_CONTENT_TYPE','COMPETENCY')
L_PERSON_ID = get_context(person_id, -1)
SET_INPUT('PERSON_ID', L_PERSON_ID)
EXECUTE('TPC_Profile')
L_VALUE = GET_OUTPUT('ITEM2401', 'NA')
L_DATA =ESS_LOG_WRITE('TPC executed '||L_VALUE)
RETURN L_VALUE
/*------------------------------------------------*/
2. 「プロファイル・コンテンツの一般Formulaタイプ」タイプ用にコンパイルされたFormula:
サンプルFormula名: TPC_Profile
/*------------------------------------------------*/
/*TPC_Profile formula */ -- Generic Profile Content
/* DATABASE ITEM DEFAULTS BEGIN */
DEFAULT_DATA_VALUE FOR HRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_1 IS 'NA'
/* DATABASE ITEM DEFAULTS END */
I = HRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_1.FIRST(-1)
ITEM2401 = = HRT_PERSON_GENERIC_CONTENT_TYPE_ITEM_TEXT240_1[I]
return ITEM2401
/*------------------------------------------------*/