The RPG Logic Cycle

The logic cycle is the backbone of the RPG programming language. Perhaps it's use has faded in recent years but it can still be used as effectively in RPGLE as it could in RPG2.

Tthe first and last time the program goes through the cycle is slightly different from all the in-between cycle runs:

Before the first record is read the first time through the cycle, the program resolves any parameters passed to it, writes the records conditioned by the First Page (1P) indicator, does file and data initialization, and processes any heading or detail output operations. This may also include printing heading lines.

During the last time a program goes through the cycle, when no more records are available, the LR (last record) indicator and L1 through L9 (control level) indicators are set on, and file and data area cleanup is done.

At the most basic level think of the logic cycle as a simple tool for handling all file reading for you. As simple breakdown of the cycle is this:

 

 

 

 

 1 
All heading and detail lines (H or D in position 17 of the output specifications) are processed.
 2 
The next input record is read and the record identifying and control level indicators are set on.
 3 
Total calculations are processed. They are conditioned by an L1 through L9 or LR indicator, or an L0 entry.
 4 
All total output lines are processed. (identified by a T in position 17 of the output specifications).
 5 
It is determined if the LR indicator is on. If it is on, the program is ended.
 6 
The fields of the selected input records are moved from the record to a processing area. Field indicators are set on.
 7 
All detail calculations are processed (those not conditioned by control level indicators in positions 7 and 8 of the calculation specifications) on the data from the record read at the beginning of the cycle.

 

 

 

 

Before you get too scared

We're not going to use the Logic Cycle in these mini tutorials. As more modern structured modularized approach is our favoured technique. Phew I hear you say. But if you want to see more then a more detailed breakdown of the cycle is attached.

 

AttachmentSize
RPG_Logic_Cycle.pdf11.82 KB


Comments

wow

its been many many years since I used the logic cycle and finding this article made me chuckle. i remember spending many many days trying to figure out when which LEVEL indicators was coming on and when or even if the darn O came before I or C. Nice article, but does ANYBODY still use RPG? //eject

Im a RPG programmer

and I dont wear sandals

Current weather

Roanoke, Virginia USA

Overcast, mist, light rain
  • Overcast, mist, light rain
  • Temperature: 55.4 °F
  • Wind: North-Northwest, 3.5 mph
  • Pressure: 1012 hPa
  • Rel. Humidity: 94 %
  • Visibility: 4 mi
Reported on:
Thu, 03/11/2010 - 19:07

Locations of visitors to this page

Bunch of Twits

  • has discovered that his mighty hammer Mjölnir is missing. 2 days 11 hours ago
  • grabs a coffee and settles down for a day of post implementation checks, project closure and user documentation... bah! 3 days 12 hours ago
  • is about to embark on an IHOP pancake eating frenzy with the sprogs... 4 days 11 hours ago
  • just watching tv, a female marine running up a beach, teagan says 'i hope shes not wearing heels because thats hard' ;) 5 days 9 min ago
  • saturday morning, determined to do no work today just gonna hang out with the kids, walk the mutts, watch movies and vejjjjjj... hurrah! 5 days 8 hours ago
  • is al about rpg3, rpg4, php, asp, IBMi, html, xml, wsdl's and any other acronyms I can think of.... 6 days 20 hours ago
  • is pretending to type something important to avoid listening to someone talking a load of codswallop. 1 week 3 hours ago
  • see... DOTnetnuke.... Microsoft products make my brain shout 'Uncle!' 1 week 1 day ago
  • is moving out of his PHP-Drupal comfort zone and trying to wrap his brain around PHPNuke and the wonderful world of ASP.NET content manageme 1 week 1 day ago
  • cant sleep. awake since 4.30 and its Sunday morning aaargh 1 week 4 days ago

Who's online

There are currently 0 users and 23 guests online.

Finkpad's tweets

  • has discovered that his mighty hammer Mjölnir is missing. 2 days 11 hours ago
  • grabs a coffee and settles down for a day of post implementation checks, project closure and user documentation... bah! 3 days 12 hours ago
  • is about to embark on an IHOP pancake eating frenzy with the sprogs... 4 days 11 hours ago
  • just watching tv, a female marine running up a beach, teagan says 'i hope shes not wearing heels because thats hard' ;) 5 days 9 min ago
  • saturday morning, determined to do no work today just gonna hang out with the kids, walk the mutts, watch movies and vejjjjjj... hurrah! 5 days 8 hours ago
  • is al about rpg3, rpg4, php, asp, IBMi, html, xml, wsdl's and any other acronyms I can think of.... 6 days 20 hours ago
  • is pretending to type something important to avoid listening to someone talking a load of codswallop. 1 week 3 hours ago
  • see... DOTnetnuke.... Microsoft products make my brain shout 'Uncle!' 1 week 1 day ago
  • is moving out of his PHP-Drupal comfort zone and trying to wrap his brain around PHPNuke and the wonderful world of ASP.NET content manageme 1 week 1 day ago
  • cant sleep. awake since 4.30 and its Sunday morning aaargh 1 week 4 days ago