Headstart Seminars
Web Services for RPGers
Web services have taken the world of IT by storm. Many RPG shops are planning to utilize them either as a consumer, for example to track UPS shipments, or as a provider, to provide an alternative interface to existing application functionality.
In this seminar, Scott will provide an introduction to the world of web services, explaining how they work and demystifying some of the buzz-words like SOAP, REST, XML and WSDL.
After studying the basics of web services, you will learn how an RPG program can be used as a web service. The seminar will also explore how web services can be accessed (or "consumed") by an RPG program utilizing Scott's free HTTPAPI tool. The session provides code examples of the functions discussed.
Speaker: Scott Klement
SQL Procedures, Functions & Triggers
Through the use of Stored Procedures, Functions and Triggers, SQL (Structured Query Language) provides a means for other languages (and platforms) to take advantage of existing code or to access SQL capabilities from RPG or COBOL applications. Stored procedures provide a means of calling routines that may or may not return a result set. Functions provide a means of writing your own scalar functions. Triggers provide a means of having code execute based on database events.
This seminar shows you how to code and create SQL Stored Procedures, Functions and Triggers that utilize existing code (external) and how and how to code and create SQL Stored Procedures, Functions and Triggers that are written in SQL (SQL).
The seminar will cover the following topics:-
- What are Stored Procedures, Functions & Triggers and where and why you might use them
- Common components
- Development tools
- Creating Functions from existing RPG code (programs and subprocedures)
- SQL and sourced function
- Parameter styles
- Overloading functions
- Table Functions
- Stored Procedures
- RPG programs to return one or more result sets
- Returning result sets to the caller or the client
- SQL control statements (how to program in SQL)
- Writing stored procedures using only SQL
- Handling exception/errors in external and SQL routines
- Triggers
- How they are attached to a table
- How they are activated
- Coding External Triggers in RPG
- The benefits of SQL Triggers (and there are benefits) and how to code them
Speaker: Paul Tuohy
Getting Started with PHP on IBM i
PHP is taking the IBM i by storm. As a scripting language that supports both a procedural and Object Oriented format, PHP makes the ideal balance for RPG programmers to take the leap into web development.
This seminar starts at the ground floor of PHP by introducing the fundamentals and then building up from there. We will explore the conversion of a report from RPG to PHP and also cover the basics of input form processing. The basics of HTML and Web application development will also be reviewed.
Areas of focus will include:
- PHP installation on IBM i
- Brief review of the web development model
- PHP Language Syntax
- Variables
- Function creation and usage
- Array processing
- Output formatting
- Form processing
And much, much more!
Speaker: Mike Pavlak
Foundations in SQL for i
SQL is the dominant data retrieval language in today's IT world. Yet many RPGers don't fully grasp all its capabilities. Understandable since - unlike programmers on other platforms - we have a choice. We can access our data either through SQL or through "native" access methods.
Increasingly, new database enhancements can only be utilized via SQL and our applications often need to extend beyond IBM i to access data on other platforms. Users are requiring more and more complex and/or dynamic data access that strains the capabilities of native access methods - things that SQL can sometimes do much more easily.
Consequently, SQL has gone from being a "nice to have" skill to one that is essential to keep IBM i a vital part of your company's IT plans.
This seminar aims to provide a strong foundation in the SQL language. We'll make sure we're all on the same page with SQL terminology and concepts. We'll cover the basic syntax for Data Manipulation Language (DML) statements such as SELECT, UPDATE, INSERT, DELETE and Data Definition Language (DDL) such as CREATE (or DROP or ALTER) TABLE (or VIEW or INDEX).
After the basics, we'll look at the power of the many SQL functions and compare/contrast some of them with RPG built-in functions. We'll look at accessing data from multiple tables using JOIN and UNION. We'll look at the use of subselect (a SELECT within a SELECT) and the use of Common Table Expressions (CTE) to accomplish more complex data access.
This seminar will provide you with a strong foundation in the SQL language and can help to prepare you for some of the upcoming Summit sessions which assume you understand SQL.
Note that we will focus on the SQL language itself - this is not a programming session. After this seminar, you can learn about using SQL as a programming language in the afternoon seminar "Stored Procedures, Functions and Triggers". The techniques involved in embedding SQL into RPG are covered in 2 upcoming Summit sessions: "Embedding SQL - The Basics" and "Embedding SQL - Beyond the Basics" - both of which assume you already have a foundation in the SQL language.
Speaker: Susan Gantner



