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.


Static Temp-Table export to Excel

Another option to export a static temp-table to a new Excel file (Windows ONLY)


Dynamic Menubar Items

Hi Guys,

I usually use OCX Treeview to display menus allowed for a user.
In my case, I am trying to create an application that has dynamic menu items available for users depending on the access given to them.

Sample of this is:
John:
Customers Entry
Official Receipts
...
..
.

Mark:
Official Receipts
General Ledger
...
..
.

I have a solution for this but needs a development tool during runtime.

If you have worked on this previously, please, I really need you advice.

Thanx so much!


Dynamic Transaction (record write,delete.create)

have two procedures that work that can called from trigger level within trigger. They passed a number of paramters including one temp-table containing create/delete information , the 2nd program accepts the current new record and the old record

WRITE TRIGGER

DEF TEMP-TABLE ttnewCustomer LIKE Customer.
CREATE ttnewcustomer.
BUFFER-COPY customer TO ttnewcustomer.
DEF TEMP-TABLE ttoldCustomer LIKE customer.
CREATE ttoldcustomer.
BUFFER-COPY oldcustomer TO ttoldCustomer.


IMPORT statement

I'm trying to fix an issue in Prolint, but this is a general ABL question. Here's the code:

   handlers = "":U.
   FILE-INFO:FILE-NAME = ProfileDirectory + "/handlers.d":U.
   IF FILE-INFO:FULL-PATHNAME <> ? THEN DO:
      INPUT FROM VALUE(file-info:FULL-PATHNAME).
      REPEAT:        
         IMPORT handler.                               
         /* if handler exists and supported in this Progress session, then add to list */
         IF CAN-FIND(tt_output WHERE tt_output.progname=handler) THEN 
            handlers = handlers + ",":U + handler.
      END.

Temp-table to COM Excel

This is a procedure i wrote some years ago now. want to do the same for xml csv , then seperate one for pdf and rtf templates if you want full details of project let me know


A simple tool to help generate webspeed code.

There are times when you create a web page with many html inputs. Creating the get-value() and variables for the logic of the program can be tedious and time consuming. This routine can help you generate the code automatically.

Simply feed it the HTML page (javascript and speedscript doesn't mean anything to it) and the output file you want the code to be contained in.

See attached file as code is maligned by the wiki.


AS400 Dataserver Upgrade

We are (still) using AS400 dataserver version 8.0C60 to access DB2 database on AS400
iSeries (os version V5R3). We have to apply the AS400 patch every 6 months but other than
that everything is working fine (client is the Progress application release 9.1D09 (no appserver)
on IBM AIX 4.3.3.0).

Our company is looking into upgrading our AS400 iSeries system, including os upgrade to
V5R4M5 or 6.1.

What am I hearing from Progress support for now is that only OE ODBC Dataserver 10.1C
is supporting V5R4. But our 9.1D client can not 'talk' to OE 10.1C ODBC Dataserver, and we


RESTFull

Hello everybody,
I would like to know that:

Is there an implementation of "RESTful principle" (Representational state transfer) in OpenEdge?
The ideas behind REST were formalized in Chapter 5 of Roy Fielding’s 2000 PhD dissertation
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm


Support for Open Edge 10.1C new keywords

Currently i'm getting a parsing error when using ProLint on code with a new 10.1C keyword (FINALLY). I suppose that other keywords aren't supported either yet. I would like to have these added to the parser.


OEUnit - Unit Testing Framework 1.0-beta

Download: oeunit-1.0-beta_0.zip
Size: 251.01 KB
md5_file hash: 7195ee19e9bb9a2a880599050d518a63
First released: Sat, 2008-11-01 00:25

Initial Release.
OEUnit is a unit testing framework for Object Oriented ABL (OOABL). OEUnit is intended to help write and run repeatable unit tests.
OEUnit is similar to JUnit and other xUnit-based unit testing frameworks.


OEUnit - Unit Testing Framework

=============================================================================

Update:
Project moved to GitHub. Feel free to fork and make changes, and I will endeavour to integrate any pull requests.



Screenshot: OEUnit results from running a simple test case.Screenshot: OEUnit results from running a simple test case.


Security of the ABL language

Upon reading the blogs at computerworld.com (or infoworld.com - I can't remember) I came across a PDF report on safe coding practices (which can be found here http://www.safecode.org/publications/SAFECode_Dev_Practices1008.pdf ).

While the PDF has some ideas on management oriented safe practices, it does delve a little into safe practices regarding technology. What it doesn't is how it applies to ABL coding.


Una rutina para escribir con letras una cantidad, hasta 999,999,999,999.99

Here is this routine to translate a qty to string, it is spanish, right now, but I guess that is easy to translate to other idioms, in fact, I would like to know if you translate this to other languages.


Someone use the LOG-MANAGER with WebSpeed?

If yes, how?

I have seen in the ProKB "P116542" (KBId) that there is a problem with the assigne of a "LOGFILE-NAME", because it's not dynamically settings at the lanch of the LOG-MANAGER in the code of a file.p.

How i can resolve?

TNX.


DO loop instead of REPEAT

The DO loop constructs are much faster than the REPEAT loop (when you don't need the extra that REPEAT provides... if you don't know what the extra is, you probably don't need it).


#
Syndicate content