Monday, January 30, 2017

Steve Will: What is coming in 2017

This is a short video that Steve Will, IBM i's chief architect, made for OCEAN user group of Southern California about what is coming in 2017.

This compliments his earlier blog post about the future of IBM i.

Wednesday, January 25, 2017

Recovering source for a Physical file

recover source for physical file

I am sure this has happened to us all: I have an object and the source it was compiled from is missing. In an earlier posts I showed how I could retrieve the source code from a program, but what about other object types?

Many, many years ago I wrote a command and programs to retrieve the source code for various types of files. When I recently found a physical file with its source missing I thought "I will just use my retrieve command". To my horror I found the command source and object in my personal tools library, but the programs and their source were missing. I may only use this command once in a very long time, but in the past it had proved invaluable in recovering the source for physical, display and printer files. I decided to go ahead and recreate the programs, in several stages. First I want to be able to recover the source for a physical file, then I would move onto the more complicated arrangements found within display and printer files. This post will describe the first stage of this journey, recovering the source for a physical file. The later stages will be covered in future posts.

Monday, January 23, 2017

Steve Will: IBM i future 2017 update

 

The web page that was originally linked to no longer exists, therefore, rendering this page obsolete.

 

Wednesday, January 18, 2017

Easy way to merge data using SQL

merge statement in sql

I had a project where the first step was to merge data from three files into one. I have used the word "merge" deliberately to differentiate it from "copy". With a "merge" I needed to update specific fields if a record is present in the output file with a matching key. If there is no matching key record I add a new record. I have done this many times in RPG, this time I wanted to try something different, like SQL.

After searching IBM's KnowledgeCenter I discovered the MERGE SQL statement. I do not know when it was released, but searching in the different versions of the KnowledgeCenter I can find it in the versions for IBM i 7.1, 7.2, and 7.3, but I cannot find it in the earlier releases. The MERGE does exactly what I want it to, it will update on a match and insert when there is no match.

Wednesday, January 11, 2017

Using auditing columns to audit data

generated audit columns

The germ for this post came from a comment made by a work colleague. I always insist that all master files have a "Last update user” and "Last update timestamp" field, making it possible to know when a particular record was last changed and who did it. "Wouldn't it be nice if the system updated the audit user and time for us," my colleague said looking at an old master file without these fields. This sent me to IBM's KnowledgeCenter to see if this was possible, and after a while of poking around I found the way to do it, auditing columns.

If a file or table has auditing columns, every time data is added to or changed the auditing columns will be automatically updated by the IBM i database manager, no extra coding needed in my RPG or SQL. I cannot move values to these columns, thereby, ensuring that the information contained within is sacrosanct. I cannot define auditing columns in DDS, if I need to add them to DDS file I would use the SQL ALTER TABLE statement. There are 21 types auditing columns covering all kinds of information, but in my scenario I just want to add auditing columns that will allow me to see:

Monday, January 9, 2017

IBM document: DB2 for i FAQ

I have to thank an IBM-er for bringing this document to my attention. It is seven page document titled: DB2 for i Frequently Asked Questions, and was released November 1, 2016.

The questions it answers are:

  1. What is DB2 for i?
  2. Do I need to buy DB2 for i?
  3. What level of IBM i supports DB2 for i?
  4. How does DB2 for I compare to DB2 for Linux/Unix/Windows?
  5. Is DB2 for i "optimized" for SAP?
  6. Do I need DB2 to connect my Linux, Unix, or Windows clients to DB2 for i?
  7. Does DB2 for i support data warehousing?

Wednesday, January 4, 2017

Using SEU with totally free RPG

use seu with modern totally free rpg

I have been asked the same question many times recently: "Why can't I use SEU with the new RPG?" Before I directed people to various posts in this blog, which I think has confused some. Therefore, I have decided to put it all in one place, this post.

Let me start by saying that it is possible to use SEU to edit totally free RPG. The issue is that IBM has not considered SEU the editor of choice for IBM i since release 6.1, not making any changes to it since that release. Rational Developer for i, RDi, is now IBM's preferred editor. Unlike SEU, RDi is not included with the standard package of IBM i based development tools. RDi is not free, its licenses are purchased separately. I would recommend that if you can get a license of RDi you should start learning how to use it, rather than using the out of date SEU. For the sake of this post I am going to assume that you do not have an RDi license, and you have to continue to use SEU.

Sunday, January 1, 2017

Happy 2017

Another new year is upon us and I am filled with excitement with what it will bring us all, and gratitude for what 2016 brought us too.

It is a truly exciting time to be involved with IBM's PowerSystems servers and the IBM i operation system. In my opinion the highlights of 2016 were: