{
  "test_id": "ORCL.HCM.COMP.SALARY.CHANGE",
  "scenario_name": "Salary Change",
  "application": "Oracle Fusion Cloud",
  "product": "HCM",
  "module": "Compensation",
  "process": "Salary Change",
  "business_flow": "Compensation-to-Pay",
  "scenario_type": "Positive / Negative / Boundary / Security",
  "priority": "High",
  "automation_status": "SyntraFlow Ready",
  "library": "Syntra Standard",
  "canonical_url": "https://www.syntraflow.cloud/oracle-erp-testing-tool/test-library/hcm/compensation/salary-change/",
  "objective": {
    "intro": "This test validates entry, calculation and effective-dating of individual worker salary changes in Oracle Fusion HCM Compensation, including grade-range and downstream payroll behavior, without hard-coding any specific percentage or dollar figure as a universal standard.",
    "confirms": [
      "a proposed salary change can be entered for a worker with the correct amount or percentage, change reason and effective date",
      "salary changes correctly apply as current-dated, future-dated or backdated where backdating is permitted by configuration",
      "salary changes correctly reflect the applicable salary basis and frequency (annual, hourly, monthly or another configured basis)",
      "proposed salaries are correctly evaluated against the applicable grade minimum and maximum, including boundary and out-of-range values",
      "deliberately invalid submissions — zero or negative salary, missing change reason, invalid effective date, inactive or terminated worker, unauthorized change — are correctly rejected or flagged rather than silently accepted",
      "an approved salary change is correctly reflected in the worker's record, in payroll and in retained salary history"
    ],
    "scope_note": "A negative or boundary Salary Change scenario passes when Oracle correctly enforces the expected data, grade-range or approval rule; this test does not attempt to certify a specific Oracle application defect, and does not hard-code any specific percentage or dollar figure as a universal standard — actual increase amounts, percentages and grade ranges depend entirely on customer-specific Oracle Fusion configuration. Where an entry or validation appears unexpected or its cause is unclear, it is treated as requiring further investigation and supporting evidence rather than a confirmed conclusion. This page catalogs 40 individual Salary Change scenarios — the first family page in the Compensation cluster — as a single comprehensive reference rather than as separate indexable pages."
  },
  "preconditions": [
    "Oracle Fusion Compensation access is available to the test user.",
    "A representative ${WORKER} with an active assignment and a current ${CURRENT_SALARY} on record is available.",
    "Valid ${GRADE} configuration, including ${GRADE_MIN} and ${GRADE_MAX}, is available for the worker's position.",
    "A ${SALARY_BASIS} configuration (annual, hourly, monthly or another configured basis) is available for testing basis and frequency scenarios.",
    "A list of valid ${CHANGE_REASON} values is configured and available for selection.",
    "An inactive or terminated worker record is available for negative testing, alongside a user without the required Compensation security access.",
    "Where retroactive processing is configured, a payroll period suitable for testing backdated salary changes is available."
  ],
  "test_data": [
    {
      "field": "Worker",
      "example": "${WORKER}"
    },
    {
      "field": "Current Salary",
      "example": "${CURRENT_SALARY}"
    },
    {
      "field": "Proposed Salary",
      "example": "${PROPOSED_SALARY}"
    },
    {
      "field": "Change Percent",
      "example": "${CHANGE_PERCENT}"
    },
    {
      "field": "Grade",
      "example": "${GRADE}"
    },
    {
      "field": "Grade Minimum",
      "example": "${GRADE_MIN}"
    },
    {
      "field": "Grade Maximum",
      "example": "${GRADE_MAX}"
    },
    {
      "field": "Salary Basis",
      "example": "${SALARY_BASIS}"
    },
    {
      "field": "Effective Date",
      "example": "${EFFECTIVE_DATE}"
    },
    {
      "field": "Change Reason",
      "example": "${CHANGE_REASON}"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Sign In to Oracle Fusion HCM",
      "action": "Sign in to Oracle Fusion Cloud with a user account that has Compensation access.",
      "test_data": "",
      "expected_result": "The Oracle Fusion Cloud home page loads successfully for the authenticated user.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Navigate to Worker's Compensation Record",
      "action": "Navigate to the compensation area for ${WORKER} and open the record used to enter a salary change.",
      "test_data": "${WORKER}",
      "expected_result": "The worker's compensation record opens with the current salary and grade details visible.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Enter Proposed Salary Change",
      "action": "Enter the proposed salary change with a change reason and effective date.",
      "test_data": "${PROPOSED_SALARY} / ${CHANGE_REASON} / ${EFFECTIVE_DATE}",
      "expected_result": "The proposed salary, change reason and effective date are recorded correctly on the change entry.",
      "validation_type": "action"
    },
    {
      "step_number": 4,
      "step_name": "Verify Against Grade Range",
      "action": "Confirm the proposed salary is evaluated against the applicable grade range for the worker's position.",
      "test_data": "${GRADE} / ${GRADE_MIN} / ${GRADE_MAX}",
      "expected_result": "The proposed salary is correctly accepted, warned or blocked according to the configured grade-range rule.",
      "validation_type": "business_assertion",
      "note": "Correctly blocking or warning on an out-of-range salary is a passing outcome for negative and boundary scenarios, not a failure."
    },
    {
      "step_number": 5,
      "step_name": "Submit the Salary Change",
      "action": "Submit the salary change for processing.",
      "test_data": "",
      "expected_result": "A valid salary change is submitted successfully, or a deliberately invalid submission is rejected with the expected validation.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Verify Change Reflected in Worker Record",
      "action": "Confirm the salary change is reflected on the worker's compensation record after submission.",
      "test_data": "${PROPOSED_SALARY}",
      "expected_result": "The worker's record correctly shows the new salary against the intended effective date.",
      "validation_type": "business_assertion"
    },
    {
      "step_number": 7,
      "step_name": "Verify Payroll Picks Up the Change",
      "action": "Confirm that payroll correctly picks up the approved salary change for the applicable pay period.",
      "test_data": "${EFFECTIVE_DATE}",
      "expected_result": "Payroll correctly reflects the new salary, including retro processing where configured for a backdated change.",
      "validation_type": "business_assertion",
      "note": "This is the main downstream business assertion for the scenario across the full catalog of 40 Salary Change variations."
    },
    {
      "step_number": 8,
      "step_name": "Verify Salary History Retains Prior Value",
      "action": "Confirm that the worker's salary history retains the prior salary value alongside the newly recorded value.",
      "test_data": "${CURRENT_SALARY}",
      "expected_result": "Salary history correctly retains the prior value rather than overwriting it.",
      "validation_type": "business_assertion"
    }
  ],
  "expected_results": [
    "Each salary change recorded correctly with the intended proposed salary, change reason and effective date.",
    "Percentage-based and amount-based changes correctly calculated the resulting proposed salary.",
    "Grade-range rules correctly enforced — within range, at minimum, at maximum, below range, above range or warning-only as configured.",
    "Employment-event-driven changes (promotion, transfer, global transfer, assignment change) correctly updated salary alongside the related event.",
    "Deliberately invalid submissions raised the expected data, grade-range or security validation rather than being silently accepted.",
    "Approved changes correctly reflected in the worker record, in payroll and in retained salary history."
  ],
  "validation_checkpoints": [
    "Salary correctly recorded against the intended effective date.",
    "Grade-range rules correctly enforced (warning or block as configured).",
    "Percentage vs. amount changes calculate correctly.",
    "Inactive/terminated worker changes correctly blocked.",
    "Downstream worker record and payroll reflect the change accurately.",
    "Salary history correctly retained."
  ]
}
