{
  "test_id": "ORCL.SCM.MFG.COMP.SCRAP",
  "scenario_name": "Scrap Quantity",
  "application": "Oracle Fusion Cloud",
  "product": "SCM",
  "module": "Manufacturing",
  "process": "Scrap Quantity",
  "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/manufacturing/completions/scrap-quantity/",
  "objective": {
    "intro": "The objective of this test is to validate recording of scrap quantity against work orders and operations in Oracle Fusion SCM Manufacturing, including reason code capture and cost impact recognition.",
    "confirms": [
      "scrap quantity is correctly recorded against a work order when recorded at the work order level",
      "scrap quantity is correctly recorded against an operation when recorded at the operation level",
      "a scrap reason code is correctly captured and associated with the scrap transaction, where a reason is required",
      "partial and full scrap quantities are correctly recorded, including remaining-quantity impact",
      "the resulting cost impact is correctly recognized in the associated cost account, as configured for the manufacturing organization",
      "Oracle correctly enforces validation and security restrictions when scrap quantity exceeds available quantity, a required reason is missing, or an unauthorized user attempts scrap entry (DATA_ERROR, CONFIGURATION_ERROR, SECURITY_ERROR, EXPECTED_VALIDATION)"
    ],
    "scope_note": "This scenario covers scrap quantity recording in Oracle Fusion SCM Manufacturing TEST/UAT environments, at both the work order and operation level. The cost account to which scrap is charged is governed by manufacturing organization cost accounting configuration — this scenario does not assume scrap is always chargeable to the same cost account across Oracle Fusion implementations. It does not cover full or partial work order completion, which are covered by the separate Complete Work Order and Partial Completion scenarios in the same Manufacturing Completions test library."
  },
  "preconditions": [
    "The work order or operation to be scrapped against exists in Oracle Fusion SCM Manufacturing with a status eligible for scrap entry.",
    "A valid scrap reason code is configured and available for selection, or deliberately omitted for negative scenarios.",
    "The available quantity for scrap is known and, for boundary scenarios, deliberately set at or below the intended scrap quantity.",
    "The test user has appropriate access to record scrap for the manufacturing organization, or deliberately lacks it for negative scenarios.",
    "The cost account associated with scrap transactions is configured for the manufacturing organization per customer-specific setup."
  ],
  "test_data": [
    {
      "field": "Work Order",
      "example": "${WORK_ORDER}"
    },
    {
      "field": "Operation",
      "example": "${OPERATION}"
    },
    {
      "field": "Scrap Quantity",
      "example": "${SCRAP_QUANTITY}"
    },
    {
      "field": "Scrap Reason",
      "example": "${SCRAP_REASON}"
    },
    {
      "field": "Available Quantity",
      "example": "${AVAILABLE_QUANTITY}"
    },
    {
      "field": "Cost Impact",
      "example": "${COST_IMPACT}"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Sign In and Navigate to Manufacturing",
      "action": "Sign in to Oracle Fusion using an authorised manufacturing test user and navigate to the Manufacturing work area.",
      "test_data": "",
      "expected_result": "The Manufacturing work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Navigate to the Work Order or Operation",
      "action": "Open the work order or the specific operation against which scrap quantity will be recorded.",
      "test_data": "${WORK_ORDER} / ${OPERATION}",
      "expected_result": "The work order or operation details page opens with the correct status and available quantity.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Select the Scrap Action",
      "action": "Select the scrap action at the intended level, either work order or operation.",
      "test_data": "",
      "expected_result": "The scrap entry page opens at the correct level.",
      "validation_type": "action"
    },
    {
      "step_number": 4,
      "step_name": "Enter Scrap Quantity and Reason Code",
      "action": "Enter the scrap quantity and select a scrap reason code where required.",
      "test_data": "${SCRAP_QUANTITY} / ${SCRAP_REASON}",
      "expected_result": "The scrap quantity and reason code are accepted, or the expected blocking validation is shown for negative scenarios.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as opening the scrap fields, entering the quantity and selecting a reason code from a list of values."
    },
    {
      "step_number": 5,
      "step_name": "Submit the Scrap Transaction",
      "action": "Submit the scrap transaction for the selected work order or operation.",
      "test_data": "",
      "expected_result": "Oracle Fusion successfully processes the scrap transaction without unexpected errors, or correctly returns a blocking validation for negative scenarios.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Verify Resulting Quantity, Cost Impact and Audit Trail",
      "action": "Reopen or refresh the work order or operation and confirm the resulting quantity, cost impact and audit trail.",
      "test_data": "${COST_IMPACT}",
      "expected_result": "The scrap quantity, remaining available quantity, cost impact and audit trail are all correctly reflected.",
      "validation_type": "business_assertion",
      "note": "This is the primary business assertion for the scenario — scrap quantity, cost impact and audit trail correctly reflecting the transaction is the expected pass condition, not merely a successful save."
    }
  ],
  "expected_results": [
    "Scrap quantity is correctly recorded at the selected level, whether work order or operation.",
    "The scrap reason code is correctly captured where required.",
    "The resulting cost impact is correctly recognized in the associated cost account.",
    "Scrap quantity exceeding the available quantity is correctly blocked or flagged.",
    "A scrap transaction missing a required reason is correctly blocked.",
    "Unauthorized scrap entry is correctly blocked."
  ],
  "validation_checkpoints": [
    "Scrap quantity correctly recorded at the selected level (work order or operation).",
    "Reason code correctly captured.",
    "Cost impact correctly recognized in the associated cost account.",
    "Scrap exceeding available quantity correctly blocked or flagged.",
    "Missing reason correctly blocked where required.",
    "Unauthorized scrap entry correctly blocked."
  ]
}
