RPG Advanced

SDA and RDA is now “RDS” or “RDPi”?, A.K.A. Eclipse

April 30, 2010
By
SDA and RDA is now “RDS” or “RDPi”?, A.K.A. Eclipse

April 2010 IBM Rational Developer for i (renamed in 2008 from WDSc), has been withdrawn from market and is replaced by the Rational Developer for Power Systems Software – RPG and COBOL Development Tools for IBM i. The latest release of Rational Developer for Power includes all of the features of Rational Developer for i (RDi / WDSc) plus exciting new features such as:...

Read more »

IBM Bringing MySQL to the iSeries, to DB2

March 11, 2010
By
IBM Bringing MySQL to the iSeries, to DB2

What a Lifelong DB2 Fanatic Sees in MySQL Published: February 3, 2010 by Susan Gantner In my mind, you can’t beat our database. It’s not only integrated into the operating system, it’s also incredibly flexible. You can use SQL to create and access data just like databases on other systems but you can also use the native DDS, RPG, COBOL and other languages with...

Read more »

Passing Variable-Length Parameters to Subprocedures

March 7, 2010
By

In RPG, there is a subtle but important difference between the VARYING keyword that is used to assign a variable-length attribute to a character field and the OPTIONS(*VARSIZE) keyword that is used to permit a variable of any length to be passed as a parameter to a subprocedure or program. Often these two different features are referred to as variable-length field or variable-length parameter....

Read more »

Activation Groups

March 5, 2010
By

Activation Groups Creating RPG programs out of modules, is a two-step process:  This includes  CRTRPGMOD (Create RPG Module) and then CRTPGM (Create Program).   For single-module programs, these steps can be consolidated into one command: CRTBNDRPG (Create Bound RPG Program). In PDM, this is the old stand by option 14, and the result is a *PGM object: The interim *MODULE object is not created....

Read more »

Binding – Linking; Directories

March 5, 2010
By

Binding ( or Linking ) “service programs” (*SRVPGM). The CRTPGM command is used to combine one or more *MODULEs into a *PGM, while CRTSRVPGM is used to combine one or more *MODULEs into a *SRVPGM. Both of these commands, are part of the “binder” or linker of OS/400. UPDPGM can be used to replace one or more *MODULEs in a *PGM (perhaps with a...

Read more »

SubProcedures

March 5, 2010
By

SubProcedures can return a value like a function, and they support recursion. A program with a subprocedure will not run in the default activation group, so include an H-spec to force it to run in a named activation group. ex: QILE H dftactgrp(*no) actgrp('QILE') F*-------- := - - --- - ------- (sub)Procedures follow the O-specs, if you have any. Since most RPG programs these...

Read more »

RPG IV Free-format MOVEA

March 5, 2010
By

The MOVEA (move with array) operation code may not be supported in Free Format, but that doesn’t stop Bob Cozzi, or us, from making it work anyway – in his Jan 12th, “Tuesday Tip” Cozzi takes a page from his upcoming book on free-format programming and illustrates two alternatives to MOVEA in free-format RPG IV. H Debug(*Yes) H Option(*SrcStmt:*NoDebugIO) H DftActGrp(*No) H ActGrp('QILE') H...

Read more »

RPG-ILE ref. code

February 24, 2010
By

At one time, I took an rpg program that did something that is not done very often and saved it as a sample for my reference and, sometimes when i would write some routine that was rare enough to be forgotten, i would save that little piece of code in it so that it became a convenient place to find the syntax etc. of...

Read more »

one more nail

February 16, 2010
By

All too often programmers get lazy and don’t think of the consequences. They insert some kind of “if X then exit”, failing to see that they have just put one more nail in the coffin of a dying program which, if it is only one of many, could lead to the replacement of all the software and maybe hardware. If that happens, the programmers...

Read more »