October 17-19, 2017 in Minneapolis        


Conference Sessions - Advanced RPG and ILE

Embedded SQL in RPG Programs

Many RPG programmers have used interactive SQL as a tool to quickly browse data or to create test data scenarios, but have stopped short of embedding it into their RPG programs. Come to this session to learn why, when and how you may want to use SQL in conjunction with RPG. We will cover the basics of embedding SQL into RPG, including using SQL cursors and a few tips on getting good performance from your SQL applications.

This session looks at:-

  • Why use embedded SQL?
  • Basic Syntax
  • Using host variables
  • Using a SELECT statement
  • Using a Cursor
  • Identifying and handling errors
  • The power of INSERT, UPDATE and DELETE
  • Compile options
  • When and how to use dynamic SQL
  • Performance tips

Prerequisite: This session assumes you are familiar with the basics of the SQL language, such as the SQL SELECT and UPDATE statements

Embedded SQL in RPG - Beyond the Basics

You have been using embedded SQL in RPG. You have mastered the syntax, tried a few selects, declared a cursor, performed an update - you may even have tried some dynamic SQL!

Time to take it to the next stage and see what you can do with embedded SQL - beyond the basics

Topics covered in this session include:-

  • Discussion of the key points in writing powerful embedded SQL
  • What tools should you use to write and test SQL prior to embedding it?
  • Controlling CRTSQLRPGI
  • SQLCA and SQLCODE considerations
  • Getting data without SELECT - GET DIAGNOSTICS and VALUES INTO
  • Mastering Multi Row Fetch
  • Handling NULL
  • Dates, Times and Timestamps

Prerequisite: This session assumes you are familiar with the topics covered in Embedded SQL - the Basics

Handling the Weird Stuff in RPG Programs

In this session, Paul offers a practical guide to handling some of the more esoteric problems in RPG programs (whether using native I/O and Embedded SQL) such as

  • Messaging in a multi client environment
  • Trigger Failures
  • Nulls
  • Constraint Violations
  • Commitment Control
  • And other bits and pieces...

Getting to Grips with Pointers and User Spaces in RPG IV

What are pointers? What are User Spaces? What can you do with them? This session guides the programmer through the implementation of pointers in RPG IV, how they extend the capabilities of the language, their importance in an ILE environment and how they are used with APIs - especially those dealing with User Spaces!

By the end of this session, attendees will be able to:

  • Understand the benefits of pointers and the benefits of User Spaces in RPG IV
  • Understand how to implement and use pointers and User Spaces in RPG IV

Modern Approach to Exception/Error Handling

Learn all about the various options for error handling in RPG IV.

This session explains:

  • What is Exception Error Handling
  • Trapping operation errors
  • Monitor Groups
  • Program and File Information Data Structures
  • ILE Error Handling Options

ILE by Example

This session takes a small sample RPG IV application and examines the issues involved in integrating it into an ILE application. This includes decisions on Dynamic Binding, Static Binding, Bind by Copy or Reference, structure of Service Programs, Binder Language, Binding Directories and Activation Groups.

By the end of this session, attendees will be able to:

  1. Understand the benefits of ILE
  2. Understand the decision process in using the components of ILE

Considerations for a Successful ILE Implementation

Although it is very rare that the implementation of any two ILE projects are exactly the same, there are a lot of ground rules that are required in all implementations.

This session discusses some of the considerations for a successful ILE implementation including how to control and manage the development environment, development tools to use, design considerations (Activation Groups, Binding Directories, using Service Programs) and documenting procedures.

Prerequisite: Attendees must have a basic understanding of the components of ILE.

RPG Tricks and Techniques

This session covers tricks and techniques for the RPG IV programmer.

Come to this session and learn some of the things that you may not have known about

  • The H Spec
  • Compiler Directives
  • The D Spec
  • Sorting Arrays
  • Using dynamic memory allocation
  • Using integers
  • Using indicators
  • Triggers
  • Constraints
  • Record Locking techniques
  • Other bits and pieces

Externalizing Database Processing in RPG IV

One of the major considerations for the ongoing modernization of applications is how to make functionality accessible to multiple interfaces. But no matter how the application interfaces may change (green screen, web, client server, mobile phones etc.) or how data may arrive on the system (FTP, EDI, XML etc.) you can be sure that all of the data is going to end up in a database.

Externalized database processing provides a means of encapsulating database access. This session discusses why you may want to externalize database processing in RPG IV and how to do it.

Getting Started With APIs

System APIs can be challenging and, at some stage, nearly every programmer is confronted with using them. But once you get to grips with interpreting the documentation, you will find that the system APIs offer a host of opportunities

This sessions explains how to get to grips with System APIs and expand the possibilities of what the system has to offer your applications.

Topics include:-

  • Finding APIs
  • Type of API
  • Parameters
  • Documentation of an API
  • Prototyping and Using a simple API
  • Pointers and User Spaces
  • List APIs
  • The UNIX Type APIs

Getting Started with CGIDEV2

Getting to the web may seem like an insurmountable problem for the traditional RPG programmer. But it is actually easier to write an RPG program to communicate with a web browser as opposed to a 5250 screen!

CGIDEV2 is a FREE tool from IBM that provides subprocedures to process externally defined HTML and "wrappers" for the CGI APIs.

Come to this session for an overview of CGIDEV2 and the main subprocedures and see how it makes it easy to write RPG programs to:

  • "Print" to the web
  • Provide subfile style selection
  • Perform database maintenance

Should You COMMIT?

Commitment control has always been available on the system but is very rarely used. But that doesn't mean that you shouldn't be using it.

Commitment control is an application decision as opposed to a programming decision. As companies look at modernizing their applications commitment control is a feature they should be considering.

This session looks at:-

  • What is Commitment Control?
  • When is Commitment Control useful?
  • Requirements for Commitment Control.
  • How to code and implement Commitment Control in RPG programs.
  • How journaling is used for Commitment Control.
  • Commitment Control and Activation Groups.
  • Commitment Control and the world of SQL.

Introduction to AJAX for RPG Programmers

Although it has been around for a number of years Asynchronous JavaScript and XML (AJAX) has suddenly become a hot topic. What is all the fuss about? What relevance does AJAX have for the RPG programmer?

AJAX provides a means of having a web page communicate with a server, either synchronously or asynchronously. Combined with CGI programming techniques (CGIDEV2 is used in the presentation), you now have a means of dealing interactively with a web page i.e. changing the contents of a web page without having to re-write the whole page.

And best of all, it is already installed on every PC, all you have to do is use it!.

In this session you will learn:-

  • The background to AJAX
  • How it works
  • Examples of how to use it

An RPGer's Adventures in Webland

At System i Developer we like to practice what we preach. The company web site is designed for and is served from a System i. An application is used to manage conference information which, in turn, is used to generate web pages. There are also interactive web pages that communicate directly with RPG programs (e.g. selecting your session grid and repeat sessions).

This session shows you how the web site was built and how the following items played a key part in the development of the web site:

  • Design Decisions
  • Tools Used - WDSC, Navigator
  • Creating the Database using DDL (SQL)
  • Externalizing the Database
  • The public and the private web sites
  • Maintaining information (using CGIDEV2)
  • Making use of PHP
  • Generating Static Web Pages
  • Using and tuning embedded SQL
  • Using AJAX

Home | About Us | System i Community | Contact
ComCon © 1994 - 2019. This site is hosted on an  i