MC Press Online

Wednesday, Apr 26th

Last updateWed, 26 Apr 2017 9am

You are here: Home ARTICLES Programming SQL SQL 101: Tools of the Trade - The ACS Run SQL Scripts, Part 2

Programming / SQL

SQL 101: Tools of the Trade - The ACS Run SQL Scripts, Part 2

Support MC Press - Visit Our Sponsors
FORUMS
Element Break 290x14

Two Books from MC Press Bookstore Featured Author: Rafael Victoria-Pereira. 20% off at the MC Press Bookstore until Friday, 3-17-2017. Use promo code: RAFAEL

Element Break 290x14

TOP BOOK!

Flexible Input, Dazzling Output with IBM i


ORDER YOUR COPY

*******************

Click for this Month's

Bookstore Special Deals

As promised, here are a few more tricks and tips about ACS’ Run SQL Scripts, including the availability of a new version with some nice features!

A couple of TechTips ago, I explained how to install ACS and remarked that the process was not very user-friendly. Among other things, you need to figure out which JavaScript file to use in order to start the right installation process and, when the said process ends, you have to create your own desktop shortcuts.

It seems these (and a few more) complaints were heard by IBM, because ACS’ latest version (1.1.6.2), released at the end of January 2017, creates the desktop shortcuts if you tell it to (however, you still need to figure out which JavaScript file to use). Anyway, here’s the complete list of updates, courtesy of ACS’ web page:

  • Enhancements to Printer Output filter:
    • Multiple output queues
    • User-specified data
  • Enhancements to Data Transfer:
    • Added support for DOS Random
  • EHLLAPI Bridge: 5250 applications requiring EHLLAPI may now download the ACS EHLLAPI Bridge from the Updates website.
  • Additional support to restrict functions using Application Administration
  • Several fixes

I’m guessing that the creation of the desktop shortcuts is included in that catch-all “Several fixes” category.

Now that that’s out of the way, I’d like to start by addressing a reader’s question: How can you prompt an SQL statement in ACS’ Run SQL Scripts like you do with F4 in STRSQL?

In short, the answer is “You can’t.” But there are alternatives….

“SQL Assist” Is MIA; the Pseudo-Alternative Is “Insert from Examples”

If you know IBM i Access’ Run SQL Scripts, you may know that there’s a neat feature called SQL Assist, available via F4, just like in STRSQL, or the SQL Assist/Prompt CL… option in the Edit menu. But before you fire up ACS’ Run SQL Scripts and go looking for that option, let me stop (and disappoint you) right there: the menu option doesn’t exist. It’s one of the things that didn’t migrate (at least not yet) to the ACS version. I’ve been told that IBM is working on it, but there’s no release date on the horizon.

I’m pretty sure you opened ACS’ Run SQL Scripts anyway, so go to the Edit menu. Instead of SQL Assist, you’ll find something else that helps, even though it doesn’t solve the problem: the Insert from Examples… option. Even though this is not a new feature, it was greatly improved on the migration to ACS. It now includes a categorized view of the examples, as shown in Figure 1, and the sheer amount of example code is staggering.

 C# for RPGers: Making Stuff Happen, Part 1 - Introducing Flow Control in C# - Figure 1

Figure 1: The Insert from Examples window from ACS’ Run SQL Scripts

Figure 1 shows the list of the DML category, but there are many, many more examples, neatly organized in nine categories, which include nearly everything you can think of, from getting information about PTFs to executing CL commands, changing tables’ authorities, and creating procedures. In order to use it, simply select an example from the list and click the Insert button that sits on the bottom right corner of the window. Then replace the placeholder names with the appropriate ones. It’s not SQL Assist, but it’s very helpful.

Discovering the Syntax Checker

Another feature that is also not new, but has been improved, is the Syntax Checker. You can access it using the respective option in the Run menu or via the Ctrl+Shift+X key combination.

The functionality does what the name implies, scanning your code and looking for errors. It detects not only the “classic” syntax errors, such as misspelled keywords, but also other more subtle things, like unknown or misspelled column names, missing parameters in functions, and so on.

The result of the check is not brilliant because of the cryptic nature of SQL error messages, but the fact that the syntax checker highlights where the first error occurred is especially useful when you’re dealing with large or long-running scripts. The checking process is usually very fast, and it doesn’t need to actually execute the code in order to check it.

These two features used together will help you circumvent the absence of the SQL Assist, at least until IBM manages to add that feature to ACS’ Run SQL Scripts.

Do You Toggle?

I’d like to finish this TechTip with a small tip: Do you know the Toggle comments option? I use it a lot. It’s another option that does what the name implies: It adds or removes the dash (--) to or from the line where the cursor is located, thus turning that code line into a comment line or vice versa. This is very useful where you’re writing long, multiline statements and want to try different things, such as different conditions in the WHERE clause, for instance. In the previous TechTip, I’ve shown how to configure and use the SQL formatter. If you set up your formatter to break to a new line every time it finds an AND or OR keyword, disabling that line is simply a matter of placing the cursor anywhere on it and pressing Ctrl+7 (this may vary with keyboard layouts, because the key shortcut is actually Ctrl+Slash) or selecting the Toggle comments option from the Edit menu.

More to Come

There’s much more to be said about ACS’ Run SQL Scripts, namely about the Visual Explain functionality, but I’ll leave that to a future TechTip. Next time around I’ll be introducing another interesting tool of the trade: the SQuirreL SQL Client. Until then, please use the comments section to share your own tips, tricks, and more!

Rafael Victoria-Pereira

Rafael Victória-Pereira has more than 16 years of IBM i experience, as a programmer, analyst, and manager. Over that period, he has been an active voice in the IBM i community, encouraging and helping programmers transition to ILE and free-format RPG. Rafael has written more than 50 technical articles about topics ranging from interfaces—the topic for his first book Flexible Input, Dazzling Output with IBM i—to modern RPG and SQL, in his popular RPG Academy and SQL 101 series on mcpressonline.com. He writes in an easy-to-read, practical style that's highly popular with his audience of IBM technology professionals.

Rafael currently works as an Enterprise Architect at the Luis Simões Group in Portugal. His areas of expertise include programming in the IBM i native languages (RPG, CL, and DB2 SQL) and "modern" programming languages, such as C# and Python, as well as project management and consultancy.

 

MC Press books written by Rafael Victória-Pereira available now on the MC Press Bookstore.

 

Flexible Input Dazzling Output with IBM i Flexible Input, Dazzling Output with IBM i
Flexible Input, Dazzling Output (FIDO) is all about interfaces. It shares more with a dog than just its name: it has a few tricks of its own!

List Price $71.95
Now On Sale
 

 

Evolve Your RPG Coding Evolve Your RPG Coding
Evolve Your RPG Coding helps you transition to modern RPG programming, guiding you step by step through ILE and free-format RPG, SQL, and modernization techniques.

List Price $79.95
Now On Sale
 
More Articles By This Author
Related Articles
BLOG COMMENTS POWERED BY DISQUS