---
schema_version: "1"
id: 488877ca3f281e3934ae29e0c1a6602f734558b5464c8b110043981c62faf89a
title: $SControl
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/salesforce-pages-developers-guide/guides/pages/variables/pages-variables-global-scontrol.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-variables-global-scontrol.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 4e2b61e86b8b3d743e4cd83c388306c99473c497b9657b8168477d5d7fd9bbd2
products:
  - Visualforce Developer Guide
  - Platform Developer Content
---

# $SControl

A global merge field type to use when referencing an existing custom s-control by name. This merge field type results in a URL to a page where the s-control executes.

**important:** Visualforce pages supersede s-controls. Organizations that haven't previously used s-controls can’t create them. Existing s-controls are unaffected and can still be edited.

## Usage

Use dot notation to access an existing s-control by its name.

## Example

The following example shows how to link to an s-control named HelloWorld in a Visualforce page:

<!-- otherprops: scontrol=HelloWorld apex_page -->
```markup
<apex:page>
<apex:outputLink 
    value="{!$SControl.HelloWorld}">Open the HelloWorld s-control</apex:outputLink>
</apex:page>
```

Note that if you simply want to embed an s-control in a page, you can use the `<apex:scontrol>` tag without the $SControl merge field. For example:

<!-- otherprops: scontrol=HelloWorld apex_page -->
```markup
<apex:page>
    <apex:scontrol controlName="HelloWorld" />
</apex:page>
```

