documentation.HELP! LANSA Application Design Documentation

11 Application Performance on IBM i

LANSA Application Design

previous page next page

11. Application Performance on IBM i

11.1 Macro Performance Factors and Micro Performance Factors

11.2 Interactive, Batch and Overnight Processing

11.3 Using Working Lists and the KEEP_LAST Parameter

11.4 Keeping Heavily Used Files Open

11.5 Using the OPEN Command Instead of a Logical View to Order Data

11.6 Other File Opening Considerations

11.7 The FUNCTION Command

11.8 Clean Up Considerations for Heavy Usage Functions

11.9 Using *DBOPTIMIZE / *DBOPTIMISE

11.10 PAG Trimming

11.11 Execution and Security Settings

11.12 People and Machine Performance - Some Things to Consider

11.13 Co-ordinate System Settings

11.14 Some Database Design Considerations

11.15 Some Functional Design Considerations

11.16 Some Programming Considerations

11.17 IBM i Authority Checking

11.18 End User And Developer Machines

11.19 Team Sizes

11.20 Education

11.21 Attitude and Commitment

11.22 Work Practices

11.23 Unlearning

11.24 Loss of 3GL Skills

11.25 Signs of Trouble

11.26 Large Numbers - Approach with Caution

11.27 Estimating Application Performance by Running an Application

11.28 Estimating Application Performance by Calculating an ERUF

11.29 Breakdown of RDML Commands into Resource Groups

11.30 Breakdown of Commonly Used Built-in Functions into Resource Groups

 

previous page start next page

Menu

  • Homepage

Table of contents

  • Application Design
    • About this Guide
    • 1. Object Naming Standards
      • 1.1 Package Development and Naming Standards
    • 2. The Data Dictionary
      • 2.1 Field Naming Conventions
      • 2.2 Some Dictionary Guidelines
      • 2.3 Portability Considerations
    • 3. The Database
      • 3.1 File Naming Conventions
      • 3.2 Some Database Guidelines
      • 3.3 Portability Considerations
    • 4. Processes and Functions
      • 4.1 Before Coding RDML Processes and Functions
      • 4.2 Process and Function Naming Conventions
      • 4.3 Break Business Functions Down into Processes and Functions
        • 4.3.1 For Traditional Application Systems
        • 4.3.2 For Object/Action Orientated Designs (Action Bar Systems)
      • 4.4 Build Menu Structures
      • 4.5 Use Application Templates
      • 4.6 Use an Exchange List and the OPTION(*ALWAYS) Exchange Option
      • 4.7 A Message for every Situation
      • 4.8 Top Down and Structured Programming Techniques
        • 4.8.1 Paint Screen and Report Layouts Last
      • 4.9 Portability Considerations
    • 5. Producing Reports
      • 5.1 Using Working Lists for Summary Reports
      • 5.2 Producing Multiple Reports in One Pass over a File
      • 5.3 Online and Batch Report Production
      • 5.4 Writing More Flexible Reporting Programs Using the OPEN Command
      • 5.5 Overriding Printer File Attributes using a Report Controller
      • 5.6 Portability Considerations
    • 6. Pop-up Windows
      • 6.1 Locating & Sizing Pop-up Windows
      • 6.2 The + in Pop-up Windows
      • 6.3 Cursor Location in Output Only Pop-up Windows
      • 6.4 Flickering Windows and Program Efficiency for Pop-Up Windows
      • 6.5 Using Multiple Pop-up Windows
    • 7. Prompt Key Processing
      • 7.1 What is PROMPT?
      • 7.2 What Can the Prompt Key Offer to a System Designer
      • 7.3 The PROMPT_KEY Parameter
      • 7.4 Prompt Key Processing Programs
      • 7.5 What Happens When the PROMPT Key is Used
      • 7.6 The Simplest Type of Prompt Key Processing
        • 7.6.1 More Complex Prompt Key Processing
      • 7.7 Even More Complex Prompt Key Processing
    • 8. Processing Arrays
      • 8.1 Introduction
      • 8.2 Technique 1 - Virtual Fields and a Working List
      • 8.3 Technique 2 - Using the SUBSTRING Command
      • 8.4 Technique 3 - Using the DEF_ARRAY Command
    • 9. Action Bars and Pull Down Menus
      • 9.1 What Is an Action Bar & Pull Down Menu?
      • 9.2 Overview of Action Bar Layout And Processing Logic
      • 9.3 Overview of Pull Down Layout And Processing Logic
      • 9.4 CUA 1989 Considerations and Commitments
      • 9.5 The LANSA Implementation of Action Bars
      • 9.6 The Action Bar Control Table
        • 9.6.1 Pull Down Definition (for Each Action Bar Option Defined)
      • 9.7 Invoking an Action Bar as a Process
      • 9.8 Using an Action Bar From a Function
      • 9.9 Exit and Cancel Key Handling in Action Bars
      • 9.10 Switching to/from Action Bar Logic
      • 9.11 Action Bar Accelerator Keys
      • 9.12 Action Bar Help Processing
      • 9.13 Action Bar Security Considerations
      • 9.14 Action Bar Application Design Considerations
        • 9.14.1 Applications Least Suitable for Action Bar Implementation
        • 9.14.2 Applications Most Suitable for Action Bar Implementation
      • 9.15 Architecture of Action Bars
      • 9.16 Action Bar Panel Design Considerations
      • 9.17 Action Bar Programming Considerations
      • 9.18 Action Bar Programming Examples with Frequently Asked Questions
        • 9.18.1 Sample Program: Selecting An Object
        • 9.18.2 Sample Program: Displaying Details of an Object
        • 9.18.3 Sample Program: Changing an Object
        • 9.18.4 Sample Program: All 3 Functions in One Program
      • 9.19 Action Bars: Another Book You Must Read
    • 10. Examples of using LANSA
      • 10.1 Handling Missing Records Simply
      • 10.2 Text String Processing
      • 10.3 Temporary Work Files
      • 10.4 Page at a Time Scrolling
      • 10.5 Left to Right Scrolling / "Subfile" Folding
      • 10.6 Saving and Restoring Field Values
      • 10.7 Validation Subroutines
    • 11. Application Performance on IBM i
      • 11.1 Macro Performance Factors and Micro Performance Factors
      • 11.2 Interactive, Batch and Overnight Processing
      • 11.3 Using Working Lists and the KEEP_LAST Parameter
      • 11.4 Keeping Heavily Used Files Open
      • 11.5 Using the OPEN Command Instead of a Logical View to Order Data
      • 11.6 Other File Opening Considerations
      • 11.7 The FUNCTION Command
      • 11.8 Clean Up Considerations for Heavy Usage Functions
      • 11.9 Using *DBOPTIMIZE / *DBOPTIMISE
      • 11.10 PAG Trimming
      • 11.11 Execution and Security Settings
        • 11.11.1 Setting the System Run Time Locking Setting Off
        • 11.11.2 Turning Function Level Security Checking Off
        • 11.11.3 Turning All Process and Function Security Checking Off
        • 11.11.4 Turning All File Access Security Checking Off
      • 11.12 People and Machine Performance - Some Things to Consider
      • 11.13 Co-ordinate System Settings
      • 11.14 Some Database Design Considerations
      • 11.15 Some Functional Design Considerations
      • 11.16 Some Programming Considerations
      • 11.17 IBM i Authority Checking
      • 11.18 End User And Developer Machines
      • 11.19 Team Sizes
      • 11.20 Education
      • 11.21 Attitude and Commitment
      • 11.22 Work Practices
      • 11.23 Unlearning
      • 11.24 Loss of 3GL Skills
      • 11.25 Signs of Trouble
      • 11.26 Large Numbers - Approach with Caution
      • 11.27 Estimating Application Performance by Running an Application
      • 11.28 Estimating Application Performance by Calculating an ERUF
        • 11.28.1 The Recommended ERUF Ranges are for BUSY Production Machines
        • 11.28.2 ERUF Values are NOT Response Times
        • 11.28.3 Associating ERUF Values With Response Times is a MAJOR Mistake
        • 11.28.4 ERUF Values for Batch Transactions do NOT indicate Elapsed Time
        • 11.28.5 Realistic Estimates are Important
        • 11.28.6 Recommended ERUF Ranges
        • 11.28.7 A High ERUF Value Does Not Mean That Your Transaction Is Invalid
        • 11.28.8 ERUF Calculation Table
      • 11.29 Breakdown of RDML Commands into Resource Groups
      • 11.30 Breakdown of Commonly Used Built-in Functions into Resource Groups
    • 12. IBM i SAA/CUA Implementation
      • 12.1 LANSA SAA/CUA Overview
      • 12.2 SAA/CUA Partitions
      • 12.3 SAA/CUA Panel Elements
      • 12.4 SAA/CUA Panel Element Attributes
      • 12.5 SAA/CUA Function Key Assignments
      • 12.6 SAA/CUA Process Menus
      • 12.7 SAA/CUA Help Text
      • 12.8 SAA/CUA User Defined Panels
      • 12.9 SAA/CUA Function Key Use
    • 13. Generated Code C and SQL/ODBC Considerations
      • 13.1 Overview
      • 13.2 Object Naming Under Windows
      • 13.3 Process Name Truncation and Duplicate Object Names
      • 13.4 Automatic Renaming for SQL/ODBC
      • 13.5 Accessing the Generated C Code
      • 13.6 Handling Relative Record Numbers
      • 13.7 Renumbering Relative Record Numbers
      • 13.8 U_TEXT Strings and .UTX Files
      • 13.9 The SLLLLOOO & DLLLLOOO.DAT Tables
      • 13.10 Things That May Be Different
      • 13.11 ASCII Versus EBCDIC Data Collating Sequences
      • 13.12 Commitment Control
        • 13.12.1 Using Mixed Mode Commitment Control
      • 13.13 SQL/ODBC Grammar: Keyword Conflicts
        • 13.13.1 Reserved Keywords – SQL/ODBC
      • 13.14 General ODBC Driver Limitations
    • 14. Portability Specifics
      • 14.1 Use of Hex Values, Attributes, Hidden/Embedded Decimal Data, *LOVAL and *HIVAL
        • 14.1.1 The Meaning of *NULL
      • 14.2 IBM i Emulated Features
        • 14.2.1 IBM i Defined Data Areas
        • 14.2.2 *AUTONUM and *AUTOALP System Variables (Data Areas)
        • 14.2.3 *DTASSSLLLXXXXXXXXXX System Variables (Data Areas)
        • 14.2.4 Emulation of the *LDA Data Area
        • 14.2.5 Data Areas and Other LANSA Features
        • 14.2.6 The DC@A08 Data Area and the SAVE_LIST Built-In Function
        • 14.2.7 Guidelines, Rules and Limitations that Apply when Using the DASO=F Parameter
        • 14.2.8 Array Index Values and Process/Overlay Handling
      • 14.3 Calling 3GL Programs / DLLs / Shared Objects
      • 14.4 3GL Virtual Code
      • 14.5 Additional Notes
      • 14.6 User Defined Messages
    • 15. LANSA Limits
    • 16. Internationalization with Unicode
      • 16.1 Unicode Support in LANSA
        • 16.1.1 Unicode Field Types
        • 16.1.2 Other Files
        • 16.1.3 Intrinsic Functions
        • 16.1.4 BIFs and Unicode
        • 16.1.5 Web Application Modules (WAMs)
        • 16.1.6 Multilingual Descriptions
      • 16.2 Developing New Applications with Unicode
        • 16.2.1 Field types and Language-specific data
        • 16.2.2 Types of LANSA Applications
      • 16.3 Modifying Existing Applications to use Unicode
        • 16.3.1 RDML Functions
        • 16.3.2 LANSA for the Web
        • 16.3.3 Windows Optimized applications
        • 16.3.4 Other Files with SUNI Fields
    • 17. Client/Server Applications
      • 17.1 The Basic Client Model
      • 17.2 Basic Client/Server Models
      • 17.3 Using ODBC in a Client/Server Model
      • 17.4 Using LANSA SuperServer
      • 17.5 Designing Client/Server Applications
      • 17.6 Client/Server Applications - Myths, Legends and Expectations
      • 17.7 Performance Issues
    • 18. Icons and Bitmaps
      • 18.1 The Importance of Standards and Guidelines for Icons and Bitmaps
      • 18.2 Using Icons and Bitmaps on a Process Menu
      • 18.3 How Icons and Bitmaps are Associated on Process Menus
      • 18.4 Using Icons on a Toolbar
      • 18.5 How Icons Are Associated and Presented on Toolbars
      • 18.6 The X_ICOBMP.DAT Defaulting File
      • 18.7 Frequently Asked Questions about Icons and Bitmaps
    • 19. Create Your Own Built-In Functions
      • 19.1 Create your own 3GL Built-In Functions on IBM i for RDML Functions
        • 19.1.1 3GL Parameters
        • 19.1.2 Naming Conventions for 3GL BIF on IBM i
        • 19.1.3 Steps to Create 3GL Built-In Functions on IBM ii
        • 19.1.4 Example - Define a Built-In Function as a 3GL Program
        • 19.1.5 Example - Define a Built-In Function as a 3GL Subroutine
        • 19.1.6 Package 3GL Built-In Functions for Distribution
        • 19.1.7 Install Other Vendor 3GL Built-In Functions
      • 19.2 Create Your Own 3GL Built-In Functions on Windows/Linux/IBM i
        • 19.2.1 Assumptions
        • 19.2.2 Warnings
        • 19.2.3 Naming Conventions for 3GL BIFs on Windows/Linux
        • 19.2.4 Steps to Create 3GL Built-In Functions on Windows/Linux/IBM i
          • Compile your Built-In Function on Windows
          • Define Built In Functions with a Visual Studio Wizard
            • Install the Wizard
            • Create a Visual Studio Project based on the Wizard
            • Modify DLL Version Information
            • Support in Visual LANSA 13.0 and earlier
            • Support for Visual Studio 2012 and later
          • Compile your Built-In Function on Linux
          • Compile your Built-In Function on IBM i
          • 3GL Program Rules and Guidelines
        • 19.2.5 Example - A Simple Averaging Function
        • 19.2.6 Example - Manipulate an RDML Working List
        • 19.2.7 Example - Manipulate an RDMLX Working List
        • 19.2.8 Shipped U_BIF Macros
        • 19.2.9 U_BIF Macros used in Static or Internal Functions
      • 19.3 Create Your Own RDML Built-In Functions (all platforms)
        • 19.3.1 Conformance Checklist for Built-In Functions written in RDML
        • 19.3.2 RDML Naming Conventions
        • 19.3.3 Built-In Function Argument
        • 19.3.4 Built-In Function Return Value
        • 19.3.5 Steps to Create RDML Built-In Functions
        • 19.3.6 How an RDML Built-In Function defines the BIF
          • Definition File Layouts
            • DC@F47 - Built-In Function Definition
            • DC@F48 - Built-In Function Argument/Return Value Definition
        • 19.3.7 RDML Built-In Function Tips and Techniques
        • 19.3.8 Example - Define a BIF as an RDML Function
        • 19.3.9 Package and Deploy RDML BIFs
          • Package RDML Built-In Functions for Distribution (IBM i only)
          • Install Other Vendor RDML Built-In Functions (IBM i only)
          • Package Built-In Functions for Deployment (Windows/Linux)
      • 19.4 Built-In Function Sample Form
      • 19.5 Built-In Function Skeletons
        • 19.5.1 RPG/400 and ILE Skeleton Program
        • 19.5.2 Control Language (CL) Skeleton
        • 19.5.3 Subroutine Skeleton
        • 19.5.4 C Skeleton Program
    • 20. Application Templates
      • 20.1 Who Should Write Application Templates?
        • 20.1.1 Application template programming
        • 20.1.2 Responsibility
      • 20.2 The Templates Shipped with LANSA
      • 20.3 Application Template Commands

Get in touch

Submit feedback about this site to:

  • [email protected]

© documentation.help. Design: rehmann.co.