{
  "test_id": "ORCL.SCM.INV.ONHAND.REVIEW",
  "scenario_name": "Review On-Hand Availability",
  "application": "Oracle Fusion Cloud",
  "product": "SCM / Inventory Management",
  "module": "Inventory Management",
  "process": "On-Hand",
  "business_flow": "Plan-to-Produce",
  "scenario_type": "Positive / Functional",
  "priority": "High",
  "automation_status": "SyntraFlow Ready",
  "library": "Syntra Standard",
  "canonical_url": "https://www.syntraflow.cloud/oracle-erp-testing-tool/test-library/scm/inventory-management/on-hand/review-on-hand-availability/",
  "objective": {
    "intro": "The objective of this test is to validate that on-hand quantity and available-to-promise (ATP) inquiries in Oracle Fusion SCM Inventory Management return accurate, correctly scoped results when filtered by inventory organization, item, subinventory, locator, lot and serial, and that available-to-promise quantity correctly nets out active reservations and allocations against on-hand quantity. This is a read-only inquiry — the test verifies displayed data only and does not create, modify or move any inventory.",
    "confirms": [
      "the displayed on-hand quantity matches the expected value for the selected item, organization, subinventory, locator, lot or serial",
      "available-to-promise quantity correctly nets out active reservations and allocations from on-hand quantity",
      "results are correctly scoped to the selected organization, item and subinventory filters",
      "results remain consistent across repeated inquiries when no intervening transaction has occurred",
      "an over-restrictive filter combination correctly returns an empty result set rather than an error",
      "Oracle correctly enforces validation and access restrictions when search criteria are invalid or when a user lacks access to a requested inventory organization (DATA_ERROR, SECURITY_ERROR, EXPECTED_VALIDATION)"
    ],
    "scope_note": "This scenario covers read-only inquiry into on-hand and available-to-promise quantity in Oracle Fusion SCM Inventory Management TEST/UAT environments. No inventory is created, modified, moved or adjusted by this test — it only reads and verifies displayed on-hand and availability data. Transactions that change on-hand quantity, such as receipts, issues, transfers and physical inventory adjustments, are covered by the separate scenarios in the Item Transactions, Transfers, Cycle Counts and Physical Inventory clusters."
  },
  "preconditions": [
    "On-hand inventory data exists across multiple inventory organizations and subinventories in the target Oracle Fusion SCM environment.",
    "Reservations and/or allocations exist against at least some items, so that on-hand and available-to-promise quantity can be verified as distinct values.",
    "The test user has view/inquiry access to on-hand availability for the relevant inventory organization(s).",
    "Lot and/or serial-controlled items with recorded on-hand quantity are available where lot/serial-scoped inquiry is being verified."
  ],
  "test_data": [
    {
      "field": "Inventory Organization",
      "example": "${INVENTORY_ORGANIZATION}"
    },
    {
      "field": "Secondary Inventory Organization",
      "example": "${INVENTORY_ORGANIZATION_2}"
    },
    {
      "field": "Item",
      "example": "${ITEM}"
    },
    {
      "field": "Subinventory",
      "example": "${SUBINVENTORY}"
    },
    {
      "field": "Locator",
      "example": "${LOCATOR}"
    },
    {
      "field": "Lot",
      "example": "${LOT}"
    },
    {
      "field": "Serial",
      "example": "${SERIAL}"
    },
    {
      "field": "As-Of Date",
      "example": "${AS_OF_DATE}"
    },
    {
      "field": "Reservation Quantity",
      "example": "${RESERVATION_QUANTITY}"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Sign In and Navigate to Inventory",
      "action": "Sign in to Oracle Fusion using an authorised inventory test user and navigate to the Inventory Management work area.",
      "test_data": "",
      "expected_result": "The Inventory Management work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Navigate to the On-Hand Availability Inquiry",
      "action": "Open the on-hand availability inquiry page for the relevant inventory organization.",
      "test_data": "${INVENTORY_ORGANIZATION}",
      "expected_result": "The on-hand availability inquiry page opens for the correct inventory organization.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Apply Organization, Item and Subinventory Filters",
      "action": "Enter filters such as inventory organization, item, subinventory, locator, lot or serial to scope the inquiry.",
      "test_data": "${INVENTORY_ORGANIZATION} / ${ITEM} / ${SUBINVENTORY} / ${LOCATOR} / ${LOT} / ${SERIAL}",
      "expected_result": "The filters are accepted without unexpected errors.",
      "validation_type": "action"
    },
    {
      "step_number": 4,
      "step_name": "Execute the Inquiry",
      "action": "Submit the inquiry and review the results returned as of the selected date.",
      "test_data": "${AS_OF_DATE}",
      "expected_result": "Results matching the entered filters are displayed, or a correctly empty result set is returned for an over-restrictive filter combination.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as submitting the search and reading the results grid."
    },
    {
      "step_number": 5,
      "step_name": "Review Displayed On-Hand and Available-to-Promise Quantities",
      "action": "Review the on-hand quantity and available-to-promise quantity displayed for the selected item, organization, subinventory, locator, lot or serial.",
      "test_data": "${RESERVATION_QUANTITY}",
      "expected_result": "On-hand quantity is displayed correctly, and available-to-promise quantity correctly nets out any active reservations or allocations.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Cross-Check Against Expected Values",
      "action": "Cross-check the displayed on-hand and available-to-promise quantities against expected reference values for the selected scope.",
      "test_data": "",
      "expected_result": "Displayed quantities match the expected reference values.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Verify Results Are Correctly Scoped",
      "action": "Confirm that the returned results are correctly scoped to the selected organization, item, subinventory, locator, lot and serial filters, and remain consistent on a repeated inquiry.",
      "test_data": "",
      "expected_result": "Results are correctly scoped to the selected filters and remain consistent across repeated inquiries with no drift when no intervening transaction has occurred.",
      "validation_type": "business_assertion",
      "note": "This is the primary business assertion for the scenario — accurate, correctly scoped on-hand and available-to-promise quantities are the expected pass condition, not merely a successful search."
    }
  ],
  "expected_results": [
    "The displayed on-hand quantity matches the expected value for the selected scope.",
    "Available-to-promise quantity correctly nets out active reservations and allocations.",
    "Results are correctly scoped to the selected organization, item, subinventory, locator, lot and serial filters.",
    "Results remain consistent across repeated inquiries when no intervening transaction has occurred.",
    "An over-restrictive filter combination correctly returns an empty result set rather than an error.",
    "An unauthorized organization inquiry is correctly access-restricted.",
    "No inventory is created, modified or moved by this inquiry."
  ],
  "validation_checkpoints": [
    "Displayed on-hand quantity matches expected value.",
    "Available-to-promise correctly nets out reservations/allocations.",
    "Results correctly scoped to the selected filters.",
    "Results consistent across repeated inquiries (no drift without an intervening transaction)."
  ]
}
