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:

“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

Submit Your Application
Share your Omnis application with us for review.
Full System Analysis
We examine your system to identify issues and improvements.
Detailed Report
Receive a clear report outlining findings and recommendations.
Consultation (Optional)
Discuss the results and next steps with our team.

Omnis Studio Development

Ready to Improve Your Omnis Application?