documentation
.HELP!
RAMP-TS Documentation
How to Do It
RAMP-TS
previous page
next page
How to Do It?
See tutorials:
RAMP-TS003: Creating a Data Filter for Employees
RAMP-TS006: Snapping in a Basic Inquiry Screen
RAMP-TS007: Snapping in a Data Entry Function
RAMP-TS008: Changing Inquiry Screen to Update Mode
previous page
start
next page
Menu
Homepage
Table of contents
RAMP-TS Guide
How to Get Started with RAMP
What is RAMP?
RAMP Stage 1
RAMP Stage 2
RAMP Stage 3
A Modernized Application
Key Benefits
How the 5250 Application Will Change
5250 Application Before Modernization
5250 Application After Using RAMP
Accessing Data in the Modernized Application
Navigation in the Modernized Application
Modernization Process Overview
Stage 1: Creating a Modernization Framework
Who Should Be Involved?
Creating the Prototype
Executing and Refining the Prototype
Stage 2: Incrementally Modernizing the 5250 Application
Naming the 5250 Screens
Tracking and Classifying the Screens
RAMP Stage 2A: Rapidly Modernizing Complete Application Segments
How to Do It?
RAMP Stage 2B: Individually Modernizing Frequently Used Screens
How to Do It?
RAMP Stage 2C: Adding Value
What Adds Value?
How to Do It?
Stage 3: Removing IBM i Platform Dependencies
Prerequisite Skills
Warnings and Disclaimers
What's New
New Features in EPC 868 Version of RAMP
New Features in EPC 843 Version of RAMP
Licensing Requirements
Installation and Configuration
Installation on the Server
Install and Configure RAMP-TS / aXes-TS on your IBM i Server
Verify your RAMP-TS/aXes-TS Installation
Backup Strategy
Configuration
Verify Browser Security Settings
Set Up Reverse Proxy for Chrome, Safari and Firefox
Configure RAMP
If You Have Used RAMP-NL, Read This
Ensure Your Framework Has an Overall Visual Style Theme
Specify RAMP-TS Server Details
Set up Super-Server Session
Optionally Set up Framework Users and Security
When Many Developers Work on the Same Application
Handle Multiple Framework Versions
Script Naming Convention
Starting RAMP
Start LANSA
Start the Framework
Start RAMP
Start the Instant Prototyping Assistant
Start the Program Coding Assistant
Concepts
Steps Involved in Using RAMP
Framework Window
RAMP Window
Message Area
Screen Tracking Area
RAMP-TS 5250 Emulator Session
Screen and Script List
Organizing Screens and Scripts
Details Area
Session Details
Destination Screen Details
Script Area
Screen Name Finder
Types of Screens
Destination Screen
Junction Screen
Special Screen
Naming Conventions
OBJECT-ACTION User Interfaces
Modernization Issues
The most important and complex 5250 program in an application can become a modernization trap
How long will it take to RAMP my application?
Reuse, Reface or Rewrite?
Tutorials for RAMP Windows
Before You Use the Tutorials
RAMP-TS001: Creating a Basic Prototype of the Modernized Application
Application before Modernization
RAMP-TS001 Step 1. Create the Application Prototype
RAMP-TS001 Step 2: Modify the Code Tables Prototype
RAMP-TS001 Step 3: Examine the Employees Prototype
RAMP-TS001 Step 4: Prototype End-User's Access to Employee Information
RAMP-TS001 Step 5. Visualize the Filters
RAMP-TS001 Step 6. Validate the Basic Prototype
Summary
RAMP-TS002: Rapidly Modernizing Complete Application Segments
Before You Start
RAMP-TS002 Step 1: Name the Screens
RAMP-TS002 Step 2: Classify the Screens and Track Navigation
RAMP-TS002 Step 3: Remove Cancel and Exit buttons
RAMP-TS002 Step 4: Snap the Application into the Framework
Summary
RAMP-TS003: Creating a Data Filter for Employees
RAMP-TS003 Step 1. Creating Your Real By Name Filter
RAMP-TS003 Step 2. Snapping In the By Name Filter
RAMP-TS003 Step 3. Filter Code
Summary
RAMP-TS004: Naming and Classifying the Employee Screens
RAMP-TS004 Step 1. Name the Screens
RAMP-TS004 Step 2. Classify Screens
RAMP-TS004 Step 3. Track Navigation
RAMP-TS004 Step 4. Take Snapshots of Your Destination Screens
Summary
RAMP-TS005: Reviewing Design
RAMP-TS005 Step 1. Place Snapshots on Mock Up Command Handlers
RAMP-TS005 Step 2. Review the Prototype
Summary
RAMP-TS006: Snapping in a Basic Inquiry Screen
RAMP-TS006 Step 1. Snap a Basic Inquiry Screen into the Framework
RAMP-TS006 Step 2. Change the Script to Use the Current Instance List Entry
RAMP-TS006 Step 3. Disable Function Keys
Summary
RAMP-TS007: Snapping in a Data Entry Function
RAMP-TS007 Step 1. Snap a Basic Data Entry Screen into the Framework
RAMP-TS007 Step 2. Change the Script to Signal the New Employee Number
RAMP-TS007 Step 3. Add Error Handling
RAMP-TS007 Step 4. Change the Script to Update the Instance List
RAMP-TS007 Step 5. Disable Function Keys
Summary
RAMP-TS008: Changing Inquiry Screen to Update Mode
RAMP-TS008 Step 1. Make Display Employee Screen Input Capable
RAMP-TS008 Step 2. Redisplay DisplayEmployee After Save
RAMP-TS008 Step 3. Change Button Caption
Summary
RAMP-TS009: Tracing Navigation
RAMP-TS009 Step 1. Starting the Trace and Redisplaying the Destination Screen
RAMP-TS009 Step 2. Examining the Trace
Summary
RAMP-TS010: Using Special Field Handlers
RAMP-TS010 Step 1. Naming the Field
RAMP-TS010 Step 2. Associating the Field with the Handler
RAMP-TS010 Step 3. Test the Special Field Handler
Summary
RAMP-TS011: Snapping in Shipped Documents Command Handler
RAMP-TS011 Step 1. Snapping in the DX_DOCS Command Handler
RAMP-TS011 Step 2. Adding Documents
RAMP-TS011 Step 3. Working with Documents
Summary
RAMP-TS012: Snapping in Shipped Notes Command Handler
RAMP-TS012 Step 1. Snapping in the DF_T3201 Command Handler
RAMP-TS012 Step 2. Adding Notes
Summary
RAMP-TS013: Sending Instance List Data to Excel
RAMP-TS013 Step 1. Creating the Command Handler
RAMP-TS013 Step 2. Snapping in and Testing the Command Handler
Summary
RAMP-TS014: Snapping RAMP Screens into the HR Demo Application
RAMP-TS014 Step 1. Snap in RAMP Screens to the HR Demo Application
RAMP-TS014 Step 2. Modifying the SETVALUE Statement
Summary
RAMP-TS015: Understanding and Handling Screen Variations
What is a 5250 Screen?
RAMP-TS015 Step 1. Assigning the Same Name to Two Screen Variations
RAMP-TS015 Step 2. Handling Different Screens with the Same Signature
RAMP-TS015 Step 3. Creating Screen Variants
RAMP-TS015 Step 4. Using Screen Variants in the Script
RAMP-TS015 Step 5. Creating a Set of Screens (Advanced)
Summary
Advanced Tutorials
RAMP-TSAD01: Using Buttons to Add Value to an Application
About Buttons
RAMP-TSAD01 Step 1. Enable Framework Buttons
RAMP-TSAD01 Step 2. Name Fields to Be Copied on the DisplayEmployee Screen
RAMP-TSAD01 Step 3. Add a Function to the Script for the DisplayEmployee Screen
RAMP-TSAD01 Step 4. Call the Function in the ButtonClick Function
RAMP-TSAD01 Step 5. Test the Buttons
Summary
RAMP-TSAD02: RAMP-TS Event Handling Basics
RAMP-TSAD02 Step 1. Add a Signal Button to the By Name Filter
RAMP-TSAD02 Step 2. Make Your 5250 Screen Listen to the Signal
RAMP-TSAD02 Step 3. Test Signaling from Filter to RAMP Screen
RAMP-TSAD02 Step 4. Add a Signal Button to the RAMP Screen
RAMP-TSAD02 Step 5. Make the Filter Listen to the Signal
RAMP-TSAD02 Step 6. Signalling from a RAMP script to a VLF component
Summary
RAMP-TSAD03: Special Field Handling
RAMP-TSAD03 Step 1. Understand What Makes the Prompter Appear
RAMP-TSAD03 Step 2. Being smarter with HANDLE_PROMPT()
RAMP-TSAD03 Step 3. Handler Styles
RAMP-TSAD03 Step 4. Generic Handler Association
RAMP-TSAD03 Step 5. Generically Associating Date Fields with Date Picker
RAMP-TSAD03 Step 6. Dynamic Handler Association
RAMP-TSAD03 Step 7. Communicating with a Handler
RAMP-TSAD03 Step 8. What to Do When Things Do Not Work
Summary
RAMP-TSAD04: Redesigning the Screen Using aXes
RAMP-TSAD04 Step 1. Get Started with aXes Designer
RAMP-TSAD04 Step 2. Set up Styles
RAMP-TSAD04 Step 3. Hide Repetitive Information
RAMP-TSAD04 Step 4. Add a Tooltip
RAMP-TSAD04 Step 5. Add a Drop-Down
RAMP-TSAD04 Step 6. Organize Fields inside Group Boxes
RAMP-TSAD04 Step 7. Add Up and Down Buttons to Subfile
RAMP-TSAD04 Step 8. Hide Function Keys and Add a Picture
RAMP-TSAD04 Step 9. Add a Hyperlink
RAMP-TSAD04 Step 10. Test the Redesigned Screen
RAMP-TSAD04 Step 11. Remove the Screen Customization
Summary
RAMP-TSAD05: Using SHARED Properties and Functions
What are Shared Scripts?
RAMP-TSAD05 Step 1. Optional - Creating Your Own Copy of the Shared Scripts File
RAMP-TSAD05 Step 2. Accessing SHARED properties and functions
RAMP-TSAD05 Step 3. Creating your own SHARED properties
RAMP-TSAD05 Step 4. Creating your own SHARED functions
Summary
RAMP-TSAD06: Handling Multiple Screens on Multiple Tabs
RAMP-TSAD06 Step 1. A Multiple 5250 Screen Scenario
RAMP-TSAD06 Step 2. Name the Screens
RAMP-TSAD06 Step 3. Classify the Screens
RAMP-TSAD06 Step 4. Review and Understand the Targets List
RAMP-TSAD06 Step 5. Using Multiple Command Handler Tabs
RAMP-TSAD06 Step 6. Review and Alter Buttons and Function Keys
RAMP-TSAD06 Step 7. Review the value you have added to the 5250 application
RAMP-TSAD06 Appendix: Function UFRTS03
RAMP-TSAD07: Handling Multiple Screens on a Single Tab
RAMP-TSAD07 Step 1. A Multiple 5250 Screen Scenario
RAMP-TSAD07 Step 2. Making a Plan
RAMP-TSAD07 Step 3. Putting the Screens on a Single Tab
RAMP-TSAD07 Step 4. Enable Function Keys/Buttons and Add Required Scripting
RAMP-TSAD07 Step 5. Defining the Exit Junctions and vHandle_NAVIGATETO scripting
RAMP-TSAD07 Step 6. Testing and Debugging
RAMP-TSAD07 Step 7. Fine Tuning
RAMP-TSAD08: Screen Wrapper Basics
RAMP-TSAD08 Step 1. Name the Fields to Be Used in the Wrapper
RAMP-TSAD08 Step 2. Create and Snap in the Screen Wrapper
RAMP-TSAD08 Step 3. Understanding the Screen Wrapper Code
RAMP-TSAD08 Step 4. Test Updating the Screen from the Wrapper
Summary
RAMP-TSAD09: Screen Wrapper with a Subfile
RAMP-TSAD09 Step 1. Add an Image to the Screen Wrapper
RAMP-TSAD09 Step 2. Add Skills List View to the Wrapper
RAMP-TSAD09 Step 3. Add Code to Populate the List View
Summary
Scripting
Learning
Anatomy of Scripts
Special Screen Script
Junction Screen Script
Destination Screen Script
vHandle_NAVIGATETO Function
vHandle_ARRIVE Function
Your RAMP-TS Screen Script Defines a JavaScript Object
Scripts in a Classic Details Display
Javascript Essentials
External JavaScript Documentation
Basic Javascript syntax
Reading, Writing and Storing Values
alert()
Converting Numbers to Strings
Converting String to Numbers
String Manipulation Functions
Is This Variable Number or String?
JavaScript Coding Styles
Using the objGlobal Object
Getting Organized
Using objGlobal to pass optional parameters
Using objGlobal to define commonly used functions
Using
Interacting with Instance Lists in Scripts
The List Manager
Visual and Programmatic Identifiers
Working with All Selected Entries
Scripting Pop-up Menu
Replacing Hardcoded User Name with Current Framework User
Replacing Hardcoded Employee Number with Current Instance List Entry
Adding Your Own Options to the Scripting Pop-Up Menu
Updating the Instance List from RAMP screens
Filter Code which Automatically Handles Changes to Instance List
Subfiles/Browselists
Subfile Lines per Entry
Identifying Subfile fields
Referencing Subfile fields
Iterating Subfile Rows
Paging down or up a subfile
Locating a specific value in a Subfile and making the selection
Script Skeletons
Script Functions
LOCK_FRAMEWORK Function
UNLOCK_FRAMEWORK Function
RESTART_LAST_NAVIGATION Function
OVRSFLAUTOGUI Function
AVSWITCH Function
TRIM_RIGHT Function
TRIM_LEFT Function
SHOW_CURRENT_FORM Function
SHOWSTATUSBAR Function
TOSTRING Function
TONUMBER Function
SETBUSY Function
CHECK_FIELD_EXISTS Function
DROP_SPECIAL_FIELD_HANDLER Function
SET_SPECIAL_FIELD_HANDLER Function
GET_FORM_MESSAGE Function
SCREEN Function
HIDE_5250_BUTTONS() Function
SHOW_5250_BUTTONS() Function
COPYTOCLIPBOARD Function
FATAL_MESSAGE_TYPE Function
SETKEYENABLED Function
SETVALUE Function
Q_SETVALUE Function
GETVALUE Function
SENDKEY Function
Q_SENDKEY Function
CHECK_CURRENT_FORM Function
Q_CHECK_CURRENT_FORM Function
AVCLOSEFORM Function
HIDE_CURRENT_FORM Function
CURRENT_FORM Function
SETCURSORTOROW Function
SETCURSORTOFIELD Function
ALERT_MESSAGE Function
CLEAR_MESSAGES Function
FATAL_MESSAGE Function
MESSAGE Function
AVSIGNALEVENT Function
TRACE Function
HANDLE_PROMPT Function
NAVIGATE_TO_SCREEN Function
Q_NAVIGATE_TO_SCREEN Function
STRIP_LEADING_NUMBERS Function
ADD_STRING Function
STRING Function
OVERRIDE_KEY_CAPTION_SCREEN Function
OVERRIDE_KEY_CAPTION_ALL Function
AVSAVEVALUE Function
AVRESTOREAVALUE and AVRESTORENVALUE Function
ADD_UNKNOWN_FORM_GUESS Function
SET_HANDLER_CAPTION Function
Framework Objects that Scripts Can Refer To
objGlobal
objFramework
objApplication
objBusinessObject
objCommand
objListManager
objUser
Function Key Names for SENDKEY Function
User-Defined Script Functions
Switching Off Recursion Checking
When Are Scripts Reloaded so That Change Can Be Tested?
Advanced Scripting
Creating your own navigation planner
Using Screen References
Using a vHandle_DEPART function
Arrival Scripting and Inter-Screen Communication
Debugging
Debug and Diagnostics
Common Scripting Errors
Unable to display form
Could not complete the operation due to error 80020101
Object expected
Strange behavior in scripts
Your script does not execute at all
Tracing
Using ALERT_MESSAGE in Your Scripts
Screen Enrichment
Hide screen titles in individual RAMP Screens
Two Ways to Hide the Title
The HTMLAPI Scripting Object
Using The HTMLAPI Scripting Object
HTMLAPI Usage Examples
Implementing a Basic Standard Layout function
Generically Modifying a Screen via the Standard Layout function
Specifically Modifying a Screen via a Specific Layout function
Adding More Capability to the Standard Generic Handler
Modifying Subfile Headings
Modifying Fonts
Adding Images
Things to watch out for
What HTMLAPI functions are provided?
Screen Wrappers
When to Use 5250 Screen Wrappers?
Screen Wrapper Fundamentals
Events
RampMessage Event
RampTSAvailable Event
vHandleArrive Event
Methods
MakerampTSavailable Method
NavigateToScreen Method
SetValue Method
GetValue Method
SendKey Method
Current_Form Method
SetCursor Method
SetCursorToField Method
Get_Form_Message Method
Check_Field_Exists Method
Examples
Example 1: Show Employee Details.
Example 2: Show Employee Details and Skills
Example 3: Show the System i Disk Usage
Programming Techniques
Using Function Key Descriptions to Condition RAMP Buttons
Questions about the Function
SHARED.apply5250FunctionKeyPatterns
Handling a Single Screen which Shows Multiple Modes
A Command Handler Tab with Many 5250 Destinations
A User Controlled Command Tab with Many Destinations
A Program Controlled Command Tab with Many Destinations
Using this Approach in other Situations
Advanced Prompting
Using Prompter Forms
Are any Examples Provided to Learn More about this Topic?
A RAMP Design Approach Using a Single Junction Point (SJP)
How does an SJP work?
Is an SJP really that simple in a real application?
Can SJP do the other useful things?
Does SJP have to be CL (Control Language) program?
What other issues might impact the use on an SJP approach?
Using HIDE_CURRENT_FORM to manage access to command handler tabs
Multilingual RAMP Applications
Troubleshooting
xxxxxxx is an orphan script and should be deleted
Screen does not react when selection is changed in instance list
Error running RAMP in end-user mode (UF_EXEC) but not in design mode (UF_DESGN)
Frequently Asked Questions
How to tell in a RAMP-TS script what theme is being used?
How is a Framework associated with RAMP-TS or RAMP-NL?
I have made a mistake in classifying a screen. How do I change the classification?
How do I differentiate two screens which have the same name?
How can I use web browser windows from RAMP scripts?
How can I get the message from the bottom of the current 5250 screen into my RAMP script?
How do I handle RA (Auto Record Advance) fields?
Why should the F12=Cancel and F3=Exit buttons and function keys be disabled on every 5250 screen?
Do I have to identify and script every 5250 screen in my application to modernize it?
How can I get the RAMP tool to assign a fixed session?
How do I make my scripts work in multiple partitions?
Can you add in your own functions to the scripts?
How do I stop break messages in aXes 5250 sessions?
Appendix
Where and how are my RAMP-TS screen identifications kept?
Get in touch
Submit feedback about this site to:
[email protected]