RPG544 - Business Application Using RPG

Outline info
Last revision date 2017-05-29 00:33:20.006
Last review date 2017-07-17 00:15:42.221

Subject Title
Business Application Using RPG

Subject Description
This subject is oriented towards business application programming on the IBM AS/400. Students will design, code and test programs using modular techniques. Programming assignments include control breaks, sequential and random processing of files, interactive programming using subfiles and use of the AS/400 application development tools and utilities. The emphasis will be on procedural programming.

Credit Status
1 credit in the CPA / CPD program.

Learning Outcomes
Upon successful completion of this subject the student will be able to:

- Code and document programs to facilitate future maintenance
- Debug and successfully validate the results of test data
- Develop an RPGLE user defined function
- Develop a program using RDp (Rational Developer for Power Systems)
- Design, code, test and debug procedural programs using sequential and random file updates, program using interactive screens, multi-file I/O, tables and arrays, and data structures
- Use the traditional tools and utilities available on the AS/400 when developing programs (SEU, SDA, etc.)
- Develop and run a free format RPGLE program

Cheating and Plagiarism
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.

All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.

Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

BAC344 or OOP345

Topic Outline
RPG/400 and RPGIV                                                   10%

  • Data input, processing, and output using the RPG language specifications for File, Input, Calculation, and Output coding
  • RPG's built in logic cycle
  • Indicators: RPG's built in Booleans
  • Edit Codes and Edit Words: easy output formatting
  • Variations on a simple program starting with an RPG/400 procedural program, changing to a nonprocedural program, converting the RPG/400 procedural program to RPG IV with CVTRPGSRC and then removing the use of indicators
Defining Data with Definition Specifications                5%
  • Using EVAL for Arithmetic, Improving EVAL precision
  • Figurative constants *BLANK, *HIVAL, LOVAL, *ZERO, *ALL, *OFF, *ON, *NULL
  • Assigning Initial Values to Data
  • Data Types - A,S,P,I,U,B,F,D,T,Z,N,G,C,*
  • Defining Named Constants, Data Structures, Overlapping Fields, Standalone Fields
Arithmetic and Assignment Operations                        5%
  • Single Purpose Arithmetic Operators (ADD, SUB, MULT, DIV, MVR, and SQRT)
  • Using EVAL for Arithmetic, Improving EVAL precision
  • Numeric Truncation, Field Sizes and Rounding
  • Characters, constants and assignment
  • Using Built-In Functions %ABS, %DIV, %REM
Top-Down, Structured Programming                            7%
  • Decision or Selection logic (if/else, select, case)
  • Looping or lteration logic (for/next, do while, do until loops)
Control Level Concepts                                                 5%
  • Multi-Level Control Break Logic and list processing
Externally Described Files                                            3%
  • Physical and Logical (OPS324 Review)
  • Transaction processing concepts
File Access and Record Manipulation                         10%
  • Sequential and Random record input processing
  • Outputing records - WRITE, UPDATE, DELETE, EXCPT
  • Composite Keys using KLIST and KFLD
  • File and Record locking
  • I/O Errors and %ERROR
Interactive Applications                                               10%
  • Screen Design, Display files and SDA
  • Interactive File Maintenance
  • User Interface and Error Handling
Tables and Arrays                                                       10%
  • Easy to use, built in functions to handle repetitive data
  • Compile and Pre-runtime Tables
  • Runtime Arrays
  • Array and Table lookups
  • Calculations and output with Arrays
Modular Programming Concepts                               5%
  • Dynamic and Static Binding CALL and CALLB
  • Passing Data Between Programs- PLIST, PARM and *ENTRY
  • Procedures, Subprocedures and CALLP
  • Data Areas using *DTAARA DEFINE, IN, OUT and UNLOCK
Advanced Data Definition and Manipulation           15%
  • Date and Time operations ADDDUR,SUBDUR,EXTRCT,
  • Pointer Data Types
  • Define new fields based on existing fields with LIKE
  • Data Structures (Simple, multiple occurrence, file-information and program-status information)
  • Initialization and re-initialization of variables using built in functions of RPG
  • Field Inspection with BIF's %SIZE, %LEN, %DECPOS, %ELEM, %SCAN
  • Field Inspection operations TESTN, TEST, SCAN, CHECK, CHECKR
  • Field Character Manipulation with +, %TRIM, %TRIML and %TRIMR, %SUBST, %DEC and XLATE
Advanced Interactive Applications with Subfiles       15%
  • Screen list processing using Subfile Record Formats
  • Loading, changing and displaying Subfiles
  • Uses of Subfiles
  • On-Line Help
Webfacing- (optional material may be covered)
  • Use Webfacing to generate Java Pages (JSP's) from DDS screen definitions
  • Look at the built-in Webshpere Test Environment that has a converted RPG application display as Web pages
  • Investigate the deployment of the application by exporting and installing a WAR file

Mode of Instruction
Students will be required to attend class weekly for lectures supported by visual aids. Additional reading will be required by the student to support his understanding of what has been taught. Lab time will be provided periodically during class time but students should realize that approximately 6 additional hours per week will be required by studying, reading and programming.

It is the student's responsibility to save documents, articles and notes that the instructor has provided on BlackBoard or in class. Students will not be able to access BlackBoard as of the last day of the student’s class.

Prescribed Texts
Programming in RPG IV, 4th Edition, by Bryan Meyers & Jim Buck, 29th Street Press, ISBN# 978-1-583473559

Required Supplies
Recommended: IBM AS/400 Manuals available on the web

Printer Layout form

Promotion Policy

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.

Modes of Evaluation

Since this is a professional credit subject, marking standards reinforce professional practice by demanding legible, tidy work. Written materials should be well organized and grammatically correct, with proper spelling and punctuation.


  • Students must retain a duplicate of all assignments.
  • Computer assignments should be documented to the instructor's standards.
  • Assignments must be handed in on the scheduled due date. Late assignments are penalized.
  • For particulars, please obtain standards, dates, etc. from your instructor.

Absenteeism and Tests
  • Students should be aware that absenteeism will impact on their ability to achieve satisfactory grades.
  • If you miss a test, you must provide the reason in writing to the instructor prior to the next scheduled class. If your reason is accepted, you will be permitted to write a make-up test. Otherwise, you will be given a zero for the test. You must submit an original doctor’s certificate identifying the date, length of time of expected absence and the specific reason for your absence, or other appropriate documentation.
Term Work and Final Exam
  • Students must attain a combined grade of at least 50% on term work and the final exam. Students must pass the final exam in order to pass the subject.
  • For further information on evaluation and academic standing, see a copy of the Academic Policy available at Seneca registration offices.

Grading is based on the following marking scheme:

Test (2) 40%
Assignments (3) 30%
Final Exam 30%

Approved by: Denis Gravelle