Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. RPG-ILE Maximum Speed New Development Approach Presented by: Robert Arce.

Slides:



Advertisements
Similar presentations
Module D Module B Module C Module A Service Program A.
Advertisements

Introducing DB-123 A New Approach to Database Management Systems Thomas Schneider February 2004.
Quality of a Class Abstraction: Coupling & Cohesion Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7 Introduction to Procedures. So far, all programs written in such way that all subtasks are integrated in one single large program. There is.
ILE Component Programming Reference
Chapter 5: Elementary Data Types Properties of types and objects –Data objects, variables and constants –Data types –Declarations –Type checking –Assignment.
Object Oriented Design An object combines data and operations on that data (object is an instance of class) data: class variables operations: methods Three.
Module: Definition ● A logical collection of related program entities ● Not necessarily a physical concept, e.g., file, function, class, package ● Often.
An introduction to systems programming
A Guide to Oracle9i1 Advanced SQL And PL/SQL Topics Chapter 9.
Bellevue University CIS 205: Introduction to Programming Using C++ Lecture 7: Methods.
Distributed Software Development
CSCI 5801: Software Engineering
Chapter 9: Coupling & Cohesion Omar Meqdadi SE 273 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Tutorial 11 Using and Writing Visual Basic for Applications Code
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Data Management Console Synonym Editor
SE: CHAPTER 7 Writing The Program
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
Chapter 9 I/O Streams and Data Files
CSC3315 (Spring 2008)1 CSC 3315 Subprograms Hamid Harroud School of Science and Engineering, Akhawayn University
CPS120: Introduction to Computer Science Functions.
ADTs and C++ Classes Classes and Members Constructors The header file and the implementation file Classes and Parameters Operator Overloading.
CPS120: Introduction to Computer Science Lecture 14 Functions.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
C Functions Three major differences between C and Java functions: –Functions are stand-alone entities, not part of objects they can be defined in a file.
Lecture 3 Classes, Structs, Enums Passing by reference and value Arrays.
1 Announcements Note from admins: Edit.cshrc.solaris instead of.tcshrc Note from admins: Do not use delta.ece.
DBT544. DB2/400 Advanced Features Level Check Considerations Database Constraints File Overrides Object and Record Locks Trigger Programs.
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
Chapter 3 Functions. 2 Overview u 3.2 Using C++ functions  Passing arguments  Header files & libraries u Writing C++ functions  Prototype  Definition.
1 Do You Need an ETL Tool? Ben Bor NZ Ministry of Health Ben Bor NZ Ministry of Health.
Methods Awesomeness!!!. Methods Methods give a name to a section of code Methods give a name to a section of code Methods have a number of important uses.
Software. Because databases can get very big, it is important to decide exactly what is going to be stored in each field. Fields can be text, number,
Lesson 9: Modular Programming Todd A. Boyle, Ph.D. St. Francis Xavier University.
RPG free basics Session 1. RPG free Session 12 “C” Spec structure change Fixed Format Structure Factor 1OPCODEFactor 2Result Num1AddNum2Num3 EvalNum3=Num1+Num2.
Be “GUI ready” developing in RPG by Robert Arce from PrismaTech. Be “GUI ready” developing in RPG-ILE Presented by: Robert Arce.
Sequential Processing to Update a File Please use speaker notes for additional information!
SEQUENTIAL AND OBJECT ORIENTED PROGRAMMING Arrays.
Chapter 9: Coupling & Cohesion Omar Meqdadi SE 273 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Information Marketing Group, Inc. iStaff/Massachusetts EPIMS.
FUNCTIONS (C) KHAERONI, M.SI. OBJECTIVE After this topic, students will be able to understand basic concept of user defined function in C++ to declare.
Classes CS 162 (Summer 2009). Parts of a Class Instance Fields Methods.
BIL 104E Introduction to Scientific and Engineering Computing Lecture 4.
Week 3-4 Control flow (review) Function definition Program Structures
WORKSHOP 1 CUSTOM TIRE SUBROUTINE
Data Virtualization Tutorial: Introduction to SQL Script
Organization of Programming Languages
Building Configurable Forms
Using local variable without initialization is an error.
PL/SQL Scripting in Oracle:
Const in Classes CSCE 121 J. Michael Moore.
Application Binary Interface (ABI)
SAS Essentials How SAS Thinks
Programming Logic and Design Fourth Edition, Comprehensive
An Introduction to Structured Program Design in COBOL
Loaders and Linkers.
Databases Software This icon indicates the slide contains activities created in Flash. These activities are not editable. For more detailed instructions,
CS179G, Project In Computer Science
Developing a Model-View-Controller Component for Joomla Part 2
The PROCESS of Queries John Deardurff Website: ThatAwesomeTrainer.com
Tonga Institute of Higher Education
Lecture 5: Functions and Parameters
An introduction to systems programming
Procedures.
Tutorial 11 Using and Writing Visual Basic for Applications Code
Procedures & Macros Introduction Syntax Difference.
Preprocessor Directives and Macros Chapter 21
A List Implementation that Links Data
Presentation transcript:

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. RPG-ILE Maximum Speed New Development Approach Presented by: Robert Arce

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech.

File driven Services  File (physical and logicals)  Services (I, V, B, U)  WX00010B  WX00010I  WX00010U  WX00010V  Programs use data from the file ONLY by using the services

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Naming Conventions XX = Identifies the application Id. For instance: OE nnnnn = consecutive number of 5 positions Z = type of object XXnnnnnZ objects

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Naming Conventions Files  ‘M’=Master File  ‘T’ =Transaction File  ‘W’=Work File  ‘F’=Report Format File  ‘D’=Display File  ‘A’=Audit Trail  Logical=suffix L and a consecutive character (1..9 or A..Z) Other:  ‘DA’=Data Area  ‘DQ’=Data Queue Z = O bject Type Programs  ‘R’=RPG‘C’=CL  ‘V’=Service Program  ‘I’=Procedure Prototype Interface Definition (copy)  ‘B’=Binding source  ‘U’=Unit test program  ‘P’= C or C++ Processes  ‘Q’=Query  ‘S’=SQL program

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. File Services  Add record  Delete record  Updates... (specific fields)  Gets... (specific fields)  ReadNext (for loops, different sorts, selections)

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Binding Source Helps to manage signatures avoiding having to recompile every program that uses a service when adding more procedures or function to existing service program, changing code. If parameters or function names are modified you will have to recompile every program that uses the modified service program.

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Binding Source STRPGMEXP PGMLVL(*CURRENT) LVLCHK(*YES) EXPORT SYMBOL(AddPickLine) EXPORT SYMBOL(DltPickLine) EXPORT SYMBOL(UpdOvrPickQty) ENDPGMEXP STRPGMEXP PGMLVL(*PRV) LVLCHK(*YES) EXPORT SYMBOL(AddPickLine) ENDPGMEXP

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Prototype Describes the interface of the service programs and it is use as a copy book in every program that needs to use the service program. Compiler uses it to verify that all the parameters match the actual definition of the service (prototype vs procedure interface).

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Service Program Contains the code that implements the functions or procedures. Uses the ‘I” source as the copy book. Defines global variables. Has the file definition. Only the primary file is set to update and add. Any other files (logicals) are defined as Input only. Describes how to create the object by using the Binding source. Implements the function and procedures. Defines the Procedure Interface.

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Binding Directory A good convention is to create one binding directory per subsystem. For instance: OEBNDDIR (Order Entry binding directory) Binding directories should be included in the H form as the compiler directory. For instance: H DftActGrp(*NO) ActGrp(*NEW) BndDir(‘OEBNDDIR':‘ARBNDDIR')

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Unit Program Program created to test the services within the service program. Uses the ‘I’ source as the copy book. Is very handy when changes are made to the service program or to place test data. As a convention all the services need to be call by using a case statement and a subroutine per each procedure or function.

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. NO PLIST - Prototype (‘I’) To avoid using use of PLIST’s in programs you need to create an Interface source. Advantages:  Parameters are match at compilation time instead of at run time.  Actual input parameters (value and constant).  Easier to call programs passing constants if the parameters are input only.

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Program Interface (How) *Object : WX00001I *Created by : Robert Arce(PrismaTech,Inc.) *Description: Procedure prototype for WX00001R program. * *Modification Log * * DWX00001R pr ExtPgm('WX00001R') * Procedure: WX00001R * Overview : Transfer a load * Input : * Returns : returns the error code D Iwarehouse 2a const D Oactiveflag 1a

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. NO more KLIST Not having klist in the program can be a great advantage since the variables can be seen right there on the line. Of course this is part of Free-Form code. chain myklist99 WX00010TR; chain(Icompany:Iwarehouse:Iorder: Iordergen:Iparentorder) WX00010TR;

Rpg-ILE Maximum Speed by Robert Arce from PrismaTech. Start NOW !!! Adopt a convention and write file driven services. Thank you !!!