Monday, May 16, 2016

From IBM: IBM i in the Modern World

I don't think I have seen the amount of publicity from IBM for a new IBM i release as there has been for 7.3 . There have been many blog posts and articles by IBM-ers all trumpeting the advantages and features of the new release.

The latest article I have found is by Alison Butterill, the Offering Manager for the IBM i operating system, extolling the operating system and its new release.

IBM i has developed a tried-and-true reputation to help companies avoid downtime and keep their businesses secure...

Multiple business applications can be run on the same server in the IBM i operating environment, simplifying management and in turn decreasing operational costs. Many IBM i clients have experienced a new low total cost of ownership (TCO) due to this simplification of operations...

Anticipating both client requirements and trends in the industry, IBM i continues to invest in strategies that enhance the database, optimize business analytics and further expand mobile access...

You can read her article here.

Wednesday, May 11, 2016

Soft coding values in SQL statements

I was recently asked was it possible to "soft code" values into SQL statements, i.e. pass different parameters to the same SELECT statement. This is something I do on a regular basis. I looked in this website and could not find an example, therefore, I decided to write this post to show three methods I have used.

All of these examples are in SQLRPGLE programs using fully free RPG, but these examples can be easily changed to be compatible with any of the earlier forms of the RPG language.

Monday, May 9, 2016

Example subfile program using modern RPG

rpg free subfile

Someone asked me if I could recommend an example simple subfile program written in "RPG/free". After a few minutes of Googling most of the examples I found were in RPGIII, a few were in fixed format RPGLE, and a couple had free format Calculations. This was rather disappointing as RPGLE is over 21 years old, free format calculations 14 years old, even free format definitions RPG is in its third year. All of the examples I found looked overly complicated for a beginner, so I decided to create this post showing a simple subfile program written in modern RPG.

The examples in this post are the way I would write a simple subfile program using totally free RPG. I am sure that my examples are not the way all other IBM i developers would write theirs. There are probably as many ways to write a subfile program as there are programmers who write them, each with his or her own coding peccadillos.

Wednesday, May 4, 2016

Global Variables a way to share data in a SQL session

sql create variable

Generations of RPG programmers have been able to store values that could be shared between programs by using the Local Data Area, LDA. Since IBM i 7.1 SQL has had the same functionality being able to share values between programs, procedures, etc within the same SQL session. A SQL session is not the same a job.

The simplest way I can think to describe when a SQL session starts is when the first SQL statement is executed in a program or procedure and ends when the program or procedure ends, or it starts when the STRSQL command is started and ends when I exit. I hope that is clear enough for you, and not confusing as it took me a few minutes to work out what it meant.

Wednesday, April 27, 2016

RPG compiler directives

rpg compiler directives including copy include

Having written about the new /SET and /RESTORE compiler directives a while ago, I thought it might be a good idea to do a piece on the other compiler directives.

Compiler directives come in two types:

Monday, April 25, 2016

From IBM: Executive Guide for IBM i and PowerSystems

IBM has produced a new while paper called "An executive guide to IBM's strategy and roadmap for it integrated operating environment for Power Systems". Authored by Doug Balog, General Manager of the IBM PowerSystems division, it is, in my opinion, a must read for everyone using or planning to use a PowerSystems server with the IBM i operating system.

This white paper is designed to help IT executives understand IBM's strategy and roadmap for the IBM i operating environment.

Friday, April 22, 2016

IBM i 7.3 presentation from COMMON

On Tuesday (April 19 2016) the COMMON user group hosted a presentation given by Steve Will, chief architect of the IBM i, and COMMON board member Peter Massiello on the new release 7.3. Fortunately COMMON has uploaded it to their website, and made it available to the general public here.

The presentation is a little over an hour, and covers all of the major features in the new release. It is definitely recommended viewing for everyone who is interested in the IBM i and its future.

Wednesday, April 20, 2016

Using SQL User Defined Types

sql user defined types udt

One of the most important qualities of a well designed database is that all the like fields, e.g. invoice number, share the same characteristics. With DDS files I can do this using a reference file, which contains all the types of field I could want. In an earlier post I showed how you could create a SQL table using column definitions based upon those from another table or file, see Defining SQL tables using a reference file.

SQL offers an alternative, a way to define my own data types which can have their own unique characteristics. I can define a data type for example for Amount, Quantity, and Customer id, and then use these when creating tables, etc.

Monday, April 18, 2016

Examples of SQL joins

I found this posted in a Facebook group. It shows in a simple manner the type of SQL joins and what data they will return.

types of joins using SQL

A big Gracias goes to Juan Carlos Ugaz for allowing me to share this.

A full size version can be seen here

Friday, April 15, 2016

IBM i 7.3 out today

The new version of IBM i, 7.3, which was announced on Tuesday, is available today.

Will your company be installing the new release this weekend?

If so I would be interested to hear what you think of it. You can contact me in two ways:

  1. Use the Contact form on the right side of the page
  2. Post a comment on this post

Wednesday, April 13, 2016

Identifying damaged objects

damaged objects

Last week I received a telephone call from my manager, "Jane Smith (her name has been changed to protect the innocent) cannot signon as she is getting some kind of an error message," he explained. "Can you help her?" Jane's problem was that the job description her user profile used was damaged. I quickly copied the one from the development IBM i partition and Jane was able to signon. When I reported this to my manager he asked the obvious question: "How many other damaged objects do we have?"

That is something most of us never encounter due to the robustness of the IBM i operating system. What I needed was a process to identify any damaged objects before they are used and cause errors. The question is how can you identify a damaged object without using it?

Tuesday, April 12, 2016

IBM i 7.3 and 7.2 TR4 are announced

After months of speculation this morning the wait is finally over as IBM has announced the new release IBM i 7.3 and the technology refresh 7.2 TR4.

It has been two years since the launch of the last release, and five months since the last technology refresh for 7.2 . Alas, this is the end of the road for technology refreshes for 7.1, as there is no equivalent TR. If your business is still using 7.1 now is a good time to start pushing for an upgrade to 7.2 .