Complete guide to configuring Oracle SQL Developer for IFS development — connections, code templates, debugging, and productivity workflows.
Oracle SQL Developer is the free, standard IDE for IFS PL/SQL development. Whether you're maintaining custom packages, debugging stored procedures, or optimizing database queries, a well-configured SQL Developer environment dramatically increases productivity and reduces friction in your development workflow.
This comprehensive guide covers everything you need to know to set up SQL Developer for IFS development—from initial installation and connection configuration to advanced debugging, code templates, and keyboard shortcuts that will make you a faster, more efficient developer.
SQL Developer is available for free from Oracle. Visit the Oracle SQL Developer download page and select the version appropriate for your operating system (Windows, macOS, or Linux).
The advantage of SQL Developer over alternative tools like PL/SQL Developer or TOAD is that it's free, officially supported by Oracle, and fully integrated with IFS development environments. Many IFS installations include SQL Developer as part of the standard development toolkit.
sqldeveloper.exe or sqldeveloper.app.~/.sqldeveloper/ on Linux/macOS or %APPDATA%\sqldeveloper on Windows).A properly configured database connection is the foundation of efficient IFS development. SQL Developer supports multiple connection types, but for IFS development, you'll typically use either Basic (hostname/port/SID) or TNS (tnsnames.ora) connections.
The Basic connection type is the most straightforward for IFS environments:
Open SQL Developer and navigate to the Connections tab on the left navigator.
Right-click on Connections and select New Connection.
In the New / Select Database Connection dialog, fill in the following fields:
IFS_DEV, IFS_PROD, IFS_TEST). Use descriptive names that include the environment.IFSAPP or your custom application schema).1521).ORCL). For pluggable databases (PDB), enter the service name (e.g., ifs_pdb).Click Test to verify the connection.
If the test succeeds, click Save to persist the connection.
If your Oracle environment uses a TNS configuration, you may prefer to use the TNS connection type:
tnsnames.ora file (typically found in $ORACLE_HOME/network/admin/).tnsnames.ora.The TNS approach is useful when:
Issue: "Cannot create a new database connection"
Solution: Verify that the hostname, port, and SID/service name are correct. Test connectivity from the command line using:
sqlplus username/password@hostname:port/sid
Issue: "Listener refused the connection"
Solution: Confirm the database is running and the listener is active. Check the port—non-standard ports require explicit configuration in both your connection and Oracle's listener configuration.
Issue: "Invalid username/password"
Solution: Verify credentials with your database administrator. Ensure the user has appropriate grants (discussed below).
For IFS Cloud environments, you may need to use:
The IFS Developer Studio can configure these advanced connection settings automatically when you set up your project.
Code templates are one of SQL Developer's most powerful—and most underutilized—features. They allow you to insert standard SQL and PL/SQL code blocks with a keyboard shortcut, dramatically accelerating development and enforcing coding standards.
Navigate to Tools → Preferences.
In the left navigator, expand Database and click SQL Editor Code Templates.
Click Add Template to create a new template.
Define the template:
sel, proc, trig).Click OK.
Basic SELECT Template:
sel
select [(columns)] from [(table)] where [(condition)];
When you type sel and press Ctrl+Space, SQL Developer will insert the code and highlight the [(columns)] placeholder, allowing you to tab through fields.
Procedure Template:
proc
create or replace package body pkg_name as
procedure proc_name (p_param in varchar2) is
begin
-- implementation
dbms_output.put_line('Procedure executed');
end proc_name;
end pkg_name;
/
Exception Handler Template:
exc
exception
when others then
dbms_output.put_line('Error: ' || sqlerrm);
raise;
Bulk Insert Template:
bulk
declare
type t_bulk is table of [(table_name)]%rowtype;
v_bulk t_bulk;
begin
forall i in v_bulk.first .. v_bulk.last
insert into [(table_name)] values v_bulk(i);
commit;
end;
/
For even faster development, enable AutoReplace to automatically expand templates when you type their keyword and press space, tab, or Enter:
Now typing sel (with a space) will immediately expand to your SELECT template without requiring Ctrl+Space.
Warning: Enabling AutoReplace can interfere with natural typing if your template keywords conflict with SQL keywords. Test carefully.
Create a naming convention for your templates:
sel_ for SELECT templates: sel_basic, sel_with_join, sel_aggregateproc_ for procedure templates: proc_basic, proc_with_cursor, proc_with_exceptionpkg_ for package templates: pkg_full, pkg_spec_onlyThis prevents accidental triggering and keeps your template list organized.
SQL Developer includes a powerful PL/SQL debugger that allows you to step through procedures, inspect variables, and set breakpoints. Debugging is essential for diagnosing complex issues in IFS customizations.
Before debugging, ensure that:
DBMS_DEBUG_JDWP package is installed in your database. This is typically included in Oracle Database 11g and later.
Your database user has debugging privileges. The IFSAPP user or your custom schema should have:
Network access is configured. The debugger uses TCP/IP to communicate between SQL Developer and the database. Ensure firewalls allow this communication (typically port 4321, configurable in preferences).
Setting Breakpoints:
Inspecting Variables:
Stepping Through Code:
Debugging a Procedure Called by IFS:
When debugging a custom procedure that's invoked by an IFS process, you may not have direct execution parameters. Instead:
Write a simple anonymous block that calls your procedure:
Right-click this block and select Debug to step through your custom logic.
Debugging Cursor Loops:
When iterating through cursor results, use watches to monitor:
This helps identify off-by-one errors or unexpected early loop termination.
Keyboard shortcuts are the speed multiplier for any IDE. Learn these SQL Developer shortcuts to accelerate your workflow:
| Shortcut | Action |
|---|---|
| Ctrl+O | Open a file |
| Ctrl+S | Save the current editor |
| Ctrl+F | Find in the current editor |
| Ctrl+H | Find and replace |
| Ctrl+G | Go to line number |
| Ctrl+Shift+O | Open resource by name |
| F4 | Open object definition (navigate to a table, procedure, etc.) |
| Shortcut | Action |
|---|---|
| Ctrl+Space | Trigger code completion or expand a code template |
| Ctrl+Enter | Execute the current SQL statement or block |
| Ctrl+Shift+Enter | Execute as a script (useful for DDL and multiple statements) |
| Ctrl+/ | Comment/uncomment selected lines |
| Ctrl+] | Increase indent |
| Ctrl+[ | Decrease indent |
| Alt+Up/Down | Move the current line up or down |
| Ctrl+D | Delete the current line |
| Shortcut | Action |
|---|---|
| F5 | Refresh the current navigator |
| F6 | Cycle through SQL Developer windows |
| Ctrl+Shift+L | Open the SQL History |
| Ctrl+Shift+A | Add a new line in the editor |
You can add your own shortcuts by going to Tools → Preferences → Shortcut Keys. Some useful custom shortcuts for IFS developers:
While SQL Developer is powerful out of the box, extensions can further enhance your development environment.
SQLcl (SQL Command Line): A command-line wrapper for SQL Developer that supports scripting and automation. Useful for continuous integration and DevOps pipelines.
Oracle REST Data Services (ORDS): If your IFS instance exposes REST APIs, ORDS integration in SQL Developer allows you to test and debug APIs directly.
Code Formatter Extensions: Third-party formatters can enforce stricter code style rules for team consistency.
For IFS-specific development, focus on:
If you're using IFS Developer Studio, SQL Developer serves as the embedded PL/SQL editor. To maximize integration:
For team-based IFS projects:
.sql file in version control..sql files into a single deployment script that can be run against different environments.SQL Developer includes the Autotrace and Explain Plan features to help optimize queries:
dbms_stats.gather_table_stats)pkg_ for packages, v_ for variables, p_ for parameters).exception when others then blocks.A typical IFS development session:
A well-configured SQL Developer environment is a cornerstone of efficient IFS development. By investing time in proper setup—connections, templates, debugging configuration, and keyboard shortcuts—you'll recoup that investment many times over through faster development cycles, fewer bugs, and a more enjoyable development experience.
Whether you're maintaining existing IFS customizations or building new functionality, SQL Developer's combination of power, flexibility, and zero licensing cost makes it the natural choice for IFS PL/SQL development. Take the time to configure it properly, and you'll wonder how you ever developed without it.
Need help setting up SQL Developer for your IFS environment? Syrett Consultancy specializes in IFS development and can help optimize your development toolchain. Contact us to learn more.