Omnis Application Analysis
If you’re running an Omnis 7 application and planning to maintain or migrate it to Omnis Studio, this analysis helps you understand your system, identify risks, and prepare for the next step.
Mophilly’s Omnis Application Analysis
Led by an experienced architect with over 20 years of Omnis development expertise, Mophilly provides deep analysis of legacy and modern Omnis systems.
Use of State-Related Hash Variables
These variables are revealed in this section. Some hash variables like #BEFORE1, #BEFORE2, #EF, #EN, #ER and others are not supported by Studio. This section gives you a quick overview of “How bad is it?” when you need to contemplate replacing the use of these hash variables with other program constructs.
“Prompt” Commands
This command for selecting a report or search format is not supported by Omnis Studio. If it shows any of these, do a search for the text “Prompt for report” or “Prompt for search” to find places which must be dealt with. These must be replaced with a dialog window to select various formats or else dialog windows that allow the user to fill in values.
It also analyzes the complexity of the window layouts based on the number of foreground and background objects. It wraps up with the number of Errors and Level 1 Warnings as reported by the Omnis7 Procedure Checker.
There is a count of the number of instances of “#???”, which is the notation that Omnis inserts when a file format or field has been removed. Lastly, the “Call procedure [xxx]” section tells you how many places, if any, use an indirect procedure calling construct.
The Omnis Connection Table
This identifies any Omnis connections between files in your application. It applies only to applications which use OMNIS data files and the Omnis data maipulation commands to store their data, not applications which use a SQL back end. There are spaces for you to fill in the Primary Key for the child file, the Foreign Key in the child file that points to the “Connected file key” which is the primary key of the parent file, and the Primary Key in the parent file.
It also analyzes the complexity of the window layouts based on the number of foreground and background objects. It wraps up with the number of Errors and Level 1 Warnings as reported by the Omnis7 Procedure Checker.
There is a count of the number of instances of “#???”, which is the notation that Omnis inserts when a file format or field has been removed. Lastly, the “Call procedure [xxx]” section tells you how many places, if any, use an indirect procedure calling construct.
Class Reference Analysis
This section mainly looks for code segments that may not be used anymore. This helps you to identify and remove classes that you no longer need before converting to Studio. There are five types of analyses made:
- Classes that have some commented references.
- Classes that ONLY have commented references.
- Classes that are not referenced in the application.
- Classes that are referenced that do not exist.
- Class references that use square bracket notation.
“Bad Characters”
These are characters that may cause problems with the newer “dot notation” style of programming in Omnis Studio. This analysis reports the names of any classes (formats) with any bad characters.
It then performs the same analysis on method names. This is because in Studio all method (procedure) calls are made by name, not by number. Unlike class names, the method names can be prepped for Studio using an automated routine that we have implemented in the analysis tool. Provided that all of your current procedure calls are by number, not name, this automated renaming will prepare your application’s method (procedure) names for Studio without requiring any additional work on your part.
Duplicate Class (Format) Names
Normally there will never be duplicate class (format) names. Most programmers make sure that all of their formats have unique names, often by using prefixes such as “W_” for windows, “F_” for files and so forth. Also there will normally never be duplicate field names unless you have “Unique field names” preference turned off. This can occur, though, if a file format is duplicated or copied in from another library. This alerts you to problems caused by these mechanisms.
File Modes Analysis
This section points out errors in file mode which need to be addressed. This type of condition may cause an error to occur and/or the application may be slower when executing “Edit” operations on other files.
Empty Slots Analysis
The analysis of empty slots in the datafile helps to identify file formats that are no longer used. If a file format which has a mode other than “Memory-only” or “Closed” and there is no data in its slot then it is listed here because it may not be used.
It also analyzes the complexity of the window layouts based on the number of foreground and background objects. It wraps up with the number of Errors and Level 1 Warnings as reported by the Omnis7 Procedure Checker.
There is a count of the number of instances of “#???”, which is the notation that Omnis inserts when a file format or field has been removed. Lastly, the “Call procedure [xxx]” section tells you how many places, if any, use an indirect procedure calling construct.
Why This Matters
Identify Hidden Risks
Uncover potential issues within your system that could lead to errors, instability, or data problems if left unaddressed.
Understand System Complexity
Gain a clear view of how your application is structured to make informed decisions before implementing changes.
Prepare for Migration to Omnis Studio
Evaluate your current system and identify what needs to be improved or adjusted for a smooth transition.
Improve Long-Term Maintainability
Ensure your application remains easier to manage, update, and scale over time with better structure and clarity.
How It Works
Omnis Studio Development
Ready to Improve Your Omnis Application?