def METHOD_NAME(self, request, target_sat):
    """Pre-upgrade scenario that creates a sync plan with both disabled and
    enabled recurring logic.
    :id: preupgrade-c75bd43d-d868-461a-9fc3-a1fc7dccc77a
    :steps:
        1. Create Product
        2. Create Sync Plan
        3. Assign sync plan to product
        4. Disable the sync plan's recurring logic
        5. Re enable the sync plan
    :expectedresults: Sync plan is created and assigned to a product. The associated recurring
    logic is cancelled and then the plan is re-enabled so that it gets a new recurring logic.
    :BZ: 1887511
    :customerscenario: true
    """
    org = target_sat.api.Organization(name=f'{request.node.name}_org').create()
    sync_plan = target_sat.api.SyncPlan(
        organization=org, name=f'{request.node.name}_syncplan', interval="weekly"
    ).create()
    product = target_sat.api.Product(
        organization=org, name=f'{request.node.name}_prod'
    ).create()
    target_sat.api.Repository(product=product, name=f'{request.node.name}_repos').create()
    sync_plan.add_products(data={'product_ids': [product.id]})
    product.sync()
    product = product.read()
    assert product.sync_plan.id == sync_plan.id
    # Note the recurring logic ID for later assert a new one was created
    old_id = sync_plan.foreman_tasks_recurring_logic.id
    # Cancel the recurring logic
    target_sat.api.RecurringLogic(id=old_id).read()
    target_sat.api.RecurringLogic(id=old_id).cancel()
    # Re-enable the sync plan (it will get a new recurring logic)
    sync_plan.enabled = True
    sync_plan.update(['enabled'])
    sync_plan = sync_plan.read()
    assert sync_plan.enabled
    # Assert a new recurring logic was assigned
    assert sync_plan.foreman_tasks_recurring_logic.id != old_id