Thursday, June 27, 2013

CL does DO

Two of the Command Language, CL, commands added to IBM i (AS400) release V5R3 were the DOWHILE and DOUNTIL, and IBM i 6.1 brought us the DOFOR. I have always wanted DO commands as I have resented not being able to write "structure code" in CL as I had to use the GOTO command to create a loop.

I quickly adopted the DOWHILE into my programming, but I have been surprised that, despite bringing it to their attention, that only one of my colleagues uses it. Which is one of the reasons I wanted to create this post to make sure others are aware of them.

Wednesday, June 26, 2013

IBM i User Group update

I had a mostly positive response to my request for details of IBM i User Groups.

A big "Thank you" goes to all of you who sent me details of User Groups.

I have updated the page with the info you all sent. You can go there either via the link at the top of this page, to IBM i user groups, or by this link IBM i User Groups links (both links go to same page).

So far I have details of 22 23 groups in 8 countries.

Please keep sending user group info. Please use the Contact Form (on right).

Thursday June 27: Seven more added, now we have 30.

Tuesday, June 25, 2013

IBM i (AS400) user groups

On Tuesday night I did something I have not done for almost fourteen years, I attended an IBM i (AS400) user group meeting.

Before moving to Southern California I lived in Tucson, Arizona, and attended many of the AS400 user group, BARMUG, meetings.

I find that interacting with just your work colleagues, who just do the same thing day-in-day-out and having the same arguments, makes you myopic. Interacting with your peers brings width of vision as, I find, most are willing to share ideas of what and how they are working.

There once was an AS400 user group in the San Fernando Valley, SMUG, but it closed down years before I moved here. This made OCEAN, in Orange county, the closest.

Friday, June 21, 2013

25th anniversary of IBM i (AS400)

Today, June 21, marks the 25th anniversary of the launch of the AS400.

I don't want to repeat what others, more eloquent than I, have said on other websites. All I will do is give links to what I consider the best:

Wednesday, June 19, 2013

CHGPF there's a quirk that can bite your...

The Change Physical File (CHGPF) is a useful command that allows you to change many attributes of a physical file. Many IBM i (AS400) programmers use it to add fields or change the existing fields without having to recompile file. I do too, as I don't have to do the following:

  • Delete all the dependent logical files.
  • Make a copy of the phyiscal file with all the data in it.
  • Delete the phyiscal file.
  • Compile the physical file.
  • Copy the data from the copied file into the pysical file.
  • Delete the copied file.
  • Compile all the dependent logical files.

Generally the rule is in this IT department is that all dependent logical files have the same record format name as the physical. But there are a few odd-ball logical files with a different record format name.

When the physical file was changed using the CHGPF command it caused strange errors in programs that used some of the dependent logical files.

After scratching my head for awhile I worked out what had happened.

Monday, June 17, 2013

Who remembers these?

I was sorting through a box of odds-and-ends and found a box of these, Memorex double sided, double density 8 inch diskettes.

I first encountered these when working on a IBM System/36 model 5360. All the backups were made to these, which were contained in two magazines of ten diskettes each, and four in the "rack".

8 inch diskette
Click to see larger image

Shortly after my joining the company they leased an AS400 B30, which had a single diskette slot. I spent hours running the System/36 to AS400 conversion aid tool to convert and copy the programs and files from the System/36 to the AS400. It was a tedious process first waiting for the libraries to be saved to the diskettes in the magazines on the 5360, and then loading the diskettes individually into the B30's diskette drive.

Friday, June 14, 2013

Moving programs from one release to another

This post comes from a question I was asked this week.

In our scenario the company has two IBM i (AS400) servers, the development and testing server we will call DEV400, and the “live” server will be LIVE400.

DEV400 was upgraded from IBM i 6.1 to 7.1 to allow for the purchased ERP application and home-grown programs to be tested that they are compatible with the new release. LIVE400 is currently 6.1, and will be upgrade to 7.1 “sometime this summer”.

The programmers have found that they cannot just compile programs on DEV400 and use the SAVRSTOBJ command to copy them to LIVE400. When they do they get the CPF3743 error informs them that “The file was saved from a more recent release of the operating system”. What to do?

Wednesday, June 12, 2013

RPG III let it rest in peace

When the IBM System/38 was released, in 1978, it came with a new version of RPG, RPG III. This was a language that was very advanced for its time, introducing many features we recognize in today's RPG. When the AS400 was released in 1988 it too had RPG III as its main programming language.

Now, 35 years after its birth it is time to let RPG III go and let it RIP.

When OS/400 V5R1 was released, 2001, IBM said that they would be no longer adding anything new to RPG III, and that RPG IV, first introduced in V3R1 in 1994, was the way to go.

Since then IBM has added all kinds of built in functions and features to RPG IV, and now RPG/free, that make it a much better and easier language to work with.

Monday, June 10, 2013

Family tree of the IBM i

This year marks the 25th anniversary of the launch of the AS400.

How much has changed since I first encountered a B50, and started learning RPG III.

How many of you worked with the B models?

Family tree of the IBM i
Click to see larger image.

Angus the IT Chap posted three images showing the evoluton of the IBM i on his blog, which you can see here»

The story of how the AS400 got its name is given in a book authored by John Sears. It was originally going to be called the Application System/40, or AS/40. IBM's PC development team complained about the name. They had just developed the PS/2, and if the midrange group was to take the double digit numbers they would be restricted to just ten models, PS/0 - PS/9. Therefore, IBM's management decided that the PCs could have the range of numbers 0-99, midranges 100-999, and mainframes would have the range 1000-9999. Thus the AS/40 became the AS400.

I remember the PS/2 and the PS/1, which came after the PS/2. Were there any other PSs?