Where and how are my RAMP-TS screen identifications kept?
By default RAMP-TS stores your screens in a folder named /ts/screens.
Each screen definition is stored in a file named N.scn (eg: 1.scn, 2.scn, 3.scn, etc). They contain JSON fragments that define the characteristics of the screen.
These files are only required during development. For run time, all these of these files are published in a single consolidated file named screens.jsn. Screen.jsn is the only screen file that needs to be deployed to production environments
Important things to know about this folder
- Back it (and any subfolders) up regularly. The content of the N.scn files represents a significant investment of your time.
- Don’t copy from, copy to, move, rename or delete any file in folder /ts/Screens, or any subfolder of it.
- Only ever change the content of these files via the RAMP-TS editor.
Dividing up screen definitions
Your screen definitions do not have to be in /ts/screens, you can divide up screen definitions into sub-folders like /s/screens/Project1 or /ts/screens/Project2.
You just input the folder name (Project1) with nothing else. It is implicit that this is a sub-folder of /ts/screens:
When you define a RAMP-TS server in the framework, this subfolder name is specified as a private working set. Screen definitions may be divided up like this on an indivisible and completely independent project basis.
Screens should never be divided up on a unit of work or developer basis because you must not copy, move, rename or delete them.
| 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 |
|