Db2 for z/OS advanced programming

During this course participants learn:

  • to coordinate the development of batch-oriented applications with the characteristics of Db2, specifically regarding restartability, i.e., how to make long-running applications restartable;
  • how Db2 is to be used in an interactive context: as a back-end of a web interface, or in combination with a Transaction Processing environment (CICS TS, IMS/TM, or ISPF); attention is given to the integrity of data manipulations, as well as to performance, and pseudo-conversations are discussed.

Both goals can be achieved through a thorough analysis of the cursor concept, and by finding out when Db2 materialises its result set.

At the end of this course participants will be able to build optimal applications independently, both for interactive use and for batch.


No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please let us know.

Intended for

Application developers, DBAs, and everyone involved in designing, writing, or supporting Db2 applications.


Participants should be familiar with embedded SQL (Db2) in COBOL PL/I, SQL PL, or an other programming language (see course Db2 for z/OS fundamentals course). At least a few months of practical experience is recommended.

Main topics

  • Embedded SQL: new and advanced possibilities: row sets • indicators • less known cursor options • more about subqueries
  • Cursor processing: internal functions • link with integrity • performance aspects • materialisation
  • Pseudo-conversations: scrolling • positioning • repeatable read • scrollable cursors
  • Batch oriented application: synchronisation • restartability • bulk processing of data • off-line alternatives
  • SQL solutions versus programmed solutions: integrity • performance
  • Increasing importance of packages, of dynamic SQL, and of BIND options like REOPT
  • Locking: selection of the most suitable options for optimal concurrency
  • New(er) possibilities of Db2 in this context, like package versioning, optimistic locking, multi-row fetch, piecemeal delete, and pagination

Training method

Apart from theory, ample time will be spent on several examples and exercises.


2 days.

Course leader

Peter Vanroose.