機械翻訳について

フィールドの古い状態と新しい状態を比較する方法

データベース内の古い値または既存の値を新しい値と比較対照できます。 新しい値は、ユーザーが入力したばかりの変更であり、まだトランザクション内にあり、送信されていません。

この比較を使用して、検証ルールおよびデフォルト・ルールの条件を指定できます。 たとえば、ジョブが免税から非免税に変更された場合(このデータは付加フレックスフィールドから取得されます)、50%を超える給与変更を許可しないようにルールに条件を追加できます。 これらは、フィールドの古い状態と新しい状態を比較する3つの方法です。

方法

説明

フィールド・レベル検証ルール

これは、単一のフィールドの古い値と新しい値を比較する迅速な方法です。 古い値と新しい値のみを比較でき、フィールドの古い値または新しい値に関する関連属性は比較できません。 これは、変更率タイプの計算を許可する数値フィールドにのみ役立ちます。

フィールドまたはオブジェクト・レベル検証ルール

ブール変数isFieldModifiedを使用し、現在のオブジェクトの任意のフィールドの名前を指定して、変更されているかどうかを確認できます。 この変数では、何かが変更されたかどうかのみが確認され、厳密な変更はリストできません。 また、処理のタイプ(新規と変更)によっては、これが役に立つ場合と役に立たない場合があります。 給与の変更では、このフィールドを使用して、挿入されたレコードの開始日と終了日が変更されたかどうかを判断できます。 これにより、既存の行ではなく、新しく挿入されたレコードでのみルールがトリガーされるようになります。 既存の行も、給与を変更する期間に基づいて、終了日を設定したり、新しい開始日を取得すると、更新されます。

たとえば、新規採用の場合は、ユーザーがアプリケーションのデフォルト値を変更したかどうかを確認したり、空白のオプション・フィールドに何かを入力したかどうかを確認できます。 ただし、昇格・昇進や異動などのほとんどの有効日変更では、新しい有効日アサイメント・レコードが作成されるため、様々なフィールドの以前の既存の値が新しいレコードにコピーされます。 技術的には、すべてのフィールドが変更されます。 ブール変数では、trueが返され、本当のユーザーが開始した変更がフィールドに加えられたかどうかは判別できません。

既存の雇用関連オブジェクトへの特殊なアクセス

勤務アサイメント・オブジェクト(特殊な関連オブジェクト)では、現在進行中の処理より前に、アサイメントの既存の状態をフェッチするために、バリアント2の行変数が存在します。 これは、変更(ある場合)と、既存の状態からの必要な参照情報とともに正確な値を確認する最も効果的な方法です。 同様のアクセスは、就業者アサイメント・オブジェクトおよび時期および事由オブジェクトから他の雇用関連オブジェクトに拡張されます。 これは、デフォルト・ルールまたは検証ルールに必要な基準をサンプリングできるようにするためのものです。