documentation
.HELP!
LANSA Application Design Documentation
13 9 The SLLLLOOO DLLLLOOO DAT Tables
LANSA Application Design
previous page
next page
13.9 The SLLLLOOO & DLLLLOOO.DAT Tables
Support for "sllllooo.dat" or "dllllooo.dat" has been removed.
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]