ABL(4GL) General Programming Group

This group is for topics on coding in ABL (formerly known as Progress 4GL). Topics include code snippets, code examples, utility programs, tricks, techniques, and patterns. There are other groups for other more specific topics like Win32 API, OO programming, and specific programming tools.


Quick ABL Tips And Tricks

When you are looking for a way to improve the maintainability, the efficiency, the speed, the general quality of your ABL code or for new ways to do things through small changes easily implemented, here is the place to look for.


4GL Thrown Exceptions

The project is now part of the Standard Libraries project

http://www.oehive.org/project/lib

Installation:

Unzip the files, make sure they're on the PROPATH and that's it.


Browsers Read-Only attribute

Hi,

Can anyone help me with the error 4517?

You cannot change the READ-ONLY attribute for while that browser has focus. (4517)

A browser's READ-ONLY attribute cannot be changed while that browser has focus.

I made a work around for, applying the entry to other objects in the window and changing the value of its read-only attribute. But this technique is I think not good programming style.

Please Help.,
Glenn


monitor more than one message with MsgBlaster

Hi

Using Jurjen's posts on this site I have managed to trap when a window is moved by monitoring WM_MOVE. I would also like to trap when the move is complete by monitoring WM_MOVING.

How do I go about monitoring two messages in my ABL?

Thanks
Mike


AppBuilder Newbie Seeks Guidance

Hello All,

I have some Progress programming experience, mostly in a CHUI environment using
the Procedure Editor, but am fairly new to AppBuilder and am experiencing some
problems.

I've started with a very simple program that has several fill-in fields for user
input and a button that displays/hides a customer browse.

In the Main Block code section I initialize two date fields and hide the browse:

HIDE bwsCust NO-PAUSE.
ASSIGN
sdate:SCREEN-VALUE = STRING(06/01/2007)
sdate1:SCREEN-VALUE = STRING(06/30/2007).


.Net and Progress Gui

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.


How to Solve the Problem

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.


How To Connect to AppServer

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


OERA Strategies: Object-Oriented or Not?

The OpenEdge Reference Architecture (OERA) describes an overall structure and pattern for the architecture of modern applications, but does not in itself specify any particular implementation. Progress Software (PSC) has generated a series of whitepapers over recent years which discuss various aspects of this architecture with some sample code, but this code is limited in scope and there is no pretense of it illustrating production-ready techniques. More recently, PSC introduced AutoEdge, an “application example” meant to illustrate one way in which OERA principles might be applied in a real application, but it too is built on a number of simplifying assumptions and does not pretend to offer production ready code on which customers might build real systems without significant further work.


Could someone help me how to use the deployed web service?

Hi All!

I have created a web service adapter and want to use it on the Progress 4GL client.
I used the WSDL file deployed in the adapter, to connect to the appserver,and it was successful. But I couldn't call the procedures inside the .p file which was deployed as web service. I have a procedure named p-first but i can't call it. I got an error "Failure initializing SOAP Call: cannot find a SOAP operation named p-first(11775)(11762)".

Could anyone help me?

I would be thankful!!

With regards,
Kamal Raj Subedi
Javra Software Nepal
IT Park, Banepa


Browse-to-Excel

This Procedure allows you to export almost any browser-content to an excel-sheet via a simple run-statement


Log Based Memory Leak Finder

This program reads log files for logentrytype dynobjects and produces an output of those log file entries where objects were created, but not deleted.


"4GLTrace" LOG-MANAGER reporting program

Reads a LOG-MANAGER:LOG-ENTRY-TYPES = "4GLTrace" log report and generates a columnar report with the date, time, elapsed time per action, total elapsed time, action, action adjective, and remaining data.


where is the download?

The "procedure manager" project page ( http://www.oehive.org/project/proc-manager ) does not offer a means to download the procedure manager. There is a link to the Subversion repository, but that does not help when you just want to get a copy of the released product.


DOM Tool Kit

Working with the DOM ABL statements can be a bit grueling. This tool kit makes four easy to use procedures and functions to read any given instance of an XML document tag's data or it's attributes based on the ideas found in Javascript.

A sample use:

Given

 
<?xml version="1.0" ?>
<Books>
  <Book>
     <Title subject="SciFi" entry="one">War OF The Worlds</Title>
  </Book>
  <Book>
     <Title subject="SciFi" entry="two">Battlestar Galactica</Title>
  </Book>
  <Book>
#
Syndicate content