{
  "test_id": "ORCL.R2R.GL.JRN.COPY",
  "scenario_name": "Copy Journal",
  "application": "Oracle Fusion Cloud",
  "product": "Financials",
  "module": "General Ledger",
  "process": "Journals",
  "business_flow": "Record-to-Report",
  "scenario_type": "Positive / Functional",
  "priority": "Medium",
  "automation_status": "SyntraFlow Ready",
  "library": "Syntra Standard",
  "canonical_url": "https://www.syntraflow.cloud/oracle-erp-testing-tool/test-library/financials/general-ledger/journals/copy-journal/",
  "objective": {
    "intro": "The objective of this test is to verify that an authorised General Ledger user can copy an existing journal into a new journal in Oracle Fusion, correctly preserving unchanged attributes and applying any intended modifications.",
    "confirms": [
      "the correct source journal is located and eligible to be copied",
      "the target accounting period is accepted, provided it is open",
      "the new journal's header and lines are correctly copied from the source",
      "intended attribute changes (accounting date, description, amount or account) are applied and retained",
      "unchanged attributes are preserved exactly as copied",
      "the original source journal remains completely unaffected",
      "the new journal can be saved successfully",
      "the new journal is available for subsequent validation and posting"
    ],
    "scope_note": "This scenario does not claim that the new journal is automatically validated, approved or posted — those remain separate downstream test cases, exercised optionally as part of this scenario or independently."
  },
  "preconditions": [
    "Oracle Fusion General Ledger is configured and available.",
    "An existing source journal (posted or unposted) is available to copy.",
    "The target accounting period is open for the target ledger.",
    "Valid account combinations are available if attributes are being changed.",
    "The test user has permission to create and copy General Ledger journals."
  ],
  "test_data": [
    {
      "field": "Source Journal",
      "example": "Existing posted or unposted GL journal"
    },
    {
      "field": "Target Ledger",
      "example": "${LEDGER} — usually same as source ledger"
    },
    {
      "field": "Target Accounting Period",
      "example": "${ACCOUNTING_PERIOD}"
    },
    {
      "field": "Changed Attributes",
      "example": "${CHANGED_ATTRIBUTES} — accounting date, description, amount or account (scenario-defined)"
    },
    {
      "field": "Currency",
      "example": "Matches source journal unless the scenario specifies otherwise"
    }
  ],
  "business_steps": [
    {
      "step_number": 1,
      "step_name": "Sign in to Oracle Fusion",
      "action": "Sign in to the Oracle Fusion environment using an authorised General Ledger test user.",
      "test_data": "",
      "expected_result": "Oracle Fusion home page is displayed successfully and the user session is established.",
      "validation_type": "action"
    },
    {
      "step_number": 2,
      "step_name": "Navigate to General Ledger > Journals",
      "action": "Navigate to the Journals work area within General Ledger.",
      "test_data": "",
      "expected_result": "The Journals work area opens successfully.",
      "validation_type": "action"
    },
    {
      "step_number": 3,
      "step_name": "Locate the Source Journal",
      "action": "Search for and open the existing journal to be copied.",
      "test_data": "${SOURCE_JOURNAL}",
      "expected_result": "The correct source journal is located and its header and lines are displayed.",
      "validation_type": "action",
      "note": "This single business step replaces multiple technical actions such as opening search, entering journal criteria, clicking Search and selecting the result."
    },
    {
      "step_number": 4,
      "step_name": "Initiate Journal Copy",
      "action": "Select the Copy Journal action against the located source journal.",
      "test_data": "",
      "expected_result": "The Copy Journal dialog or page opens, pre-populated from the source journal.",
      "validation_type": "action"
    },
    {
      "step_number": 5,
      "step_name": "Select the Target Accounting Period",
      "action": "Select the accounting period the copied journal should be created in.",
      "test_data": "${ACCOUNTING_PERIOD}",
      "expected_result": "The target period is accepted, provided it is open for the target ledger.",
      "validation_type": "action"
    },
    {
      "step_number": 6,
      "step_name": "Review Copied Journal Header and Lines",
      "action": "Review the new journal header and lines generated from the source journal.",
      "test_data": "",
      "expected_result": "Header and lines match the source journal prior to any intended changes.",
      "validation_type": "action"
    },
    {
      "step_number": 7,
      "step_name": "Modify Attributes Where Required",
      "action": "Update accounting date, description, amount or account on the copied journal as defined by the scenario.",
      "test_data": "${CHANGED_ATTRIBUTES}",
      "expected_result": "Intended attribute changes are accepted without unexpected validation errors.",
      "validation_type": "action"
    },
    {
      "step_number": 8,
      "step_name": "Save the New Journal",
      "action": "Select Save.",
      "test_data": "",
      "expected_result": "Oracle Fusion successfully processes the save request and a new journal record is created.",
      "validation_type": "action"
    },
    {
      "step_number": 9,
      "step_name": "Verify the Original Journal Is Unchanged",
      "action": "Return to the original source journal and confirm its header, lines and status are unaffected.",
      "test_data": "",
      "expected_result": "The original journal remains exactly as it was before the copy action, with its own status unchanged.",
      "validation_type": "action"
    },
    {
      "step_number": 10,
      "step_name": "Validate the New Journal",
      "action": "Submit the new journal for validation.",
      "test_data": "",
      "expected_result": "The new journal passes validation, or displays the expected validation message for a negative scenario.",
      "validation_type": "action"
    },
    {
      "step_number": 11,
      "step_name": "Post the New Journal Where Applicable",
      "action": "Post the new journal, where the scenario calls for posting.",
      "test_data": "",
      "expected_result": "The new journal posts successfully, or displays the expected posting message for a negative scenario.",
      "validation_type": "action"
    },
    {
      "step_number": 12,
      "step_name": "Verify New Journal Lines and Status",
      "action": "Confirm the generated journal number, review its lines against the intended changes, and verify its final status.",
      "test_data": "",
      "expected_result": "The new journal is successfully created from the source journal, correctly reflects intended attribute changes, and reaches the expected status.",
      "validation_type": "business_assertion",
      "note": "This is the main business assertion for the scenario — the test does not stop merely because Save was clicked successfully."
    }
  ],
  "expected_results": [
    "A new journal is created from the source journal with header and lines correctly copied.",
    "Intended attribute changes (accounting date, description, amount or account) are applied and retained on the new journal.",
    "The original source journal remains completely unaffected by the copy action.",
    "The new journal can be validated like any other journal when applicable.",
    "The new journal can be posted like any other journal when applicable.",
    "The new journal is available for subsequent General Ledger journal lifecycle scenarios."
  ],
  "validation_checkpoints": [
    "Source journal reference is correct and eligible to be copied.",
    "Target accounting period is correct and open.",
    "Copied header and lines match the source journal prior to changes.",
    "Intended attribute changes are applied correctly.",
    "Unchanged attributes are retained exactly as copied.",
    "Original journal header, lines and status are unaffected.",
    "New journal number/identifier is generated.",
    "Validation outcome matches the scenario's intended result.",
    "Posting outcome matches the scenario's intended result, where applicable.",
    "Captured new journal number/identifier can be used by subsequent automated scenarios."
  ]
}
