This group will serve as a focal point for discussions, examples, and projects intended to help people utilize the object-oriented language features which became available in OE10.1. The intention is to:
1) Develop established object-oriented design principles in a way that is consistent with a 4GL;
2) Provide OO-based contributions to OERA-compliant architectures; and
3) Assist in the utilization of OO techniques in the context of existing procedural code.
Contributions to this purpose will include white paper discussions, code fragments illustrating techniques, and complete model components to use in building applications.
In order to use an OpenEdge data repository in EA follow the steps below:
1. In the Open Project dialog, select the Connect to Server checkbox. This is in the upper right corner.
2. Click on the [...] (Browse) button, as you normally would to browse for a project. As you have selected Connect to Server, the Data Link Properties dialog displays instead of the Browse Directories dialog.
3. Select Microsoft OLE DB Provider for ODBC Drivers from the list.
4. Click on the Next button. The Connection tab displays.
Different people have different ideas of how they want to set up databases for SQL access, but in case this is an area unfamiliar to someone trying to setup an OpenEdge database for use with Enterprise Architect, the following describes one approach.
The standard repository for Enterprise Architect uses the JET database engine. This makes it accessible with Access and SQL, but those working with ABL may prefer to use an OpenEdge database and ABL, being more familiar and more powerful. An OpenEdge database is required for some of the ABL to UML tools available here.
The Enterprise Architect product from Sparx Systems is emerging as the preferred UML modeling tool at many OpenEdge sites. In order to make it easy for people to get started using this powerful tool, information will be collected here to assist people in this process.
I'm not sure this is even possible but figured I'd throw it out there, it's at least good for an eye roll and muttered "WTF?"...
We have a legacy application, heavily based upon adm2. The idea is being explored to redo the UI, and instead of doing the entire app at once, the goal is to impliment pieces at a time. The solution that is being explored is to embed a web browser in the application, write the new functionality in Asp.net with ajax and utilize the embedded browser to view the page, essentially "overriding" the former functionality.
Hai All,
I am facing a problem while accessing the procedure FactP existed in Progress 4GL file namely FactProc.p. Here i am giving the step-by-step procedure what i did.
i Create a Progress 4GL file namely FactProc.p and it content is:
PROCEDURE FactP:
DEFINE INPUT PARAMETER n AS INTEGER.
DEFINE OUTPUT PARAMETER m AS INTEGER.
m=1.
REPEAT:
IF n EQ 0 THEN LEAVE.
m = m * n.
n = n - 1.
END.
END PROCEDURE.
The attached code represents the initial release of the ABL2UML open source tool set. This is an evolving project, so expect this code to evolve and expand over time.
Overview
Given the need to enhance or transform a large existing ABL application, one is often hampered in the task by limited or out of date documentation. This project seeks to create a tool set that will read existing ABL code and the corresponding database to build a UML model of the application. This model can then be used for analysis and potentially can serve as the basis for future changes.
This project will consist of three stages:
1. Defining a UML "Profile" for ABL so that there are appropriate UML stereotypes to express the structural realities and relationships of ABL code and the corresponding dictionary.
2. Creating a tool for loading Progress dictionary information into a UML modeling tool using these stereotypes.
3. Creating a tool which will read and analyze ABL code and then load this information into a UML modeling tool using the stereotypes of the Profile.
Hai,
This is Shaji Kumar VK. I am fresher to OpenEdge and working on how to connect with OpenEdge from C#.NET. Could anybody help me How to programmatically connect to AppServer and call a simple procedure. Please provide me an example, if your able or tell me the URL from where i will get simple and efficient help on it. Thanks in advance.
Regards & Thanks,
Shaji Kumar.V.K
A UML profile is intended to provide a mapping from a particular domain language or the language of a particular methodology onto underlying UML constructs. This mapping is a combination of “stereotypes”, which are terms from the domain or methodology equated to a particular UML constructs, as well as additional constraints, rules of “well-formedness”, and identification of which particular elements will be used to model the elements associated with the domain or methodology.
This stage is directed at defining a UML Profile for ABL Code and Progress dictionary information. The goal is to arrive at an open standard since there will be far greater potential synergy if all people working on UML modeling are using a common vocabulary. This stage will occur in three phases:
Reads output from a LOG-MANAGER:LOG-ENTRY-TYPE = "4GLTRACE:4" and reports the line number, date, time, statement elapsed time, total elapsed time, nesting level, action, action adjective, and remaining data in a columnar format
At the 2013 PUG Challenge Americas, there was a sort of semi-spontaneous OO information exchange with Rob Holzel, Evan Bleicher, and Shelley Chase.
I repeated this session at the 2013 PUG Challenge EMEA with assistance from Peter Judge, Rob Straight, and Shelley Chase. what follows is the result of these two sessions.
The new OO features in 11.3 include:
With the usual disclaimers of no promises and no schedule, we reviewed a list of additions to OO which had been requested at one time or another and solicited additions to this list from the audience. Below is the combined list in four categories - Roadmap, Next, Other, and Last Set (interpretation is left to the reader and qualifications about no promises and no schedule clearly apply). There is no significant to the order within category. Priorities are likely to change over time and may be dependent both on the perceived value and the ease of implementation. There have been indications that upgrade of OO may be a higher priority now than in the past so items farther down on this list may not be as distant as one would have assumed them to be in the past, but again, nothing one can count on. There are always limitations in budget and personnel and competing priorities.
Progress Software has numerous references in documentation and whitepapers to the parallels between superprocedures and classes, including a fairly lengthy, if somewhat flawed example in the Getting Started: Object-Oriented Programming manual for 10.1A that shows two parallel examples, one worked using superprocedures and one worked using classes. However, what is not shown is an example in which a class replaces a superprocedure while retaining the original program structure as a set of procedures. For a local super-procedure, this substitution is simple because the class does not need to be accessible except from the procedure that instantiates it. For a session superprocedure, a different functionality is required because the internal procedures of the session superprocedure become a part of the name space of procedures that did not invoke the superprocedure.