ADM 2 newbie

Greetings,
I am new to ADM 2. I wish to have a query src that gets all the records from the db and makes then available in the dataset (FOR EACH). I wish to thenfilter that query (add a WHERE statement), I am struggling to then make the new results list populate my SmartData Browser, how would I achieve this?
TIA
 
I am familure with the wizard approach having done ADM(1) for years. I know I need to define the SDO (QUERY) to access the DB (my for each) I then know about adding the Smart Browse, and links will be created via wizard, I can then add a Smart Panel / Toolbar instance or a Nav. I however wish to filter / refine my query in the middle. I would like a ADM(1) here viewer with widgets to alter / filter / refine the initial query. The SDO query does the general FOR EACH on the table, I then wish to have this filtered / refined / altered, dependent upon certain criteria set by my widgets.
TIA
 
Hi

Sorry I should have seen the number of posts rather than your first line :)

SmartFilter provides a query-by-form (QBF) interface to the data stream supplied by your SmartDataObject. So you can add the fields to that.

Is that what your looking for, or are you looking for manually code that calls a filter widget
 
Greetings,
This is exactly what I was looking for.
The 'local' - 'overide' procedure to put my code.
The procedure
To change your WHERE criteria, use AssignQuerySelection.
I already knew to reopen the query, for the new criteria
 
Greetings Dude,

Indeed U are right when U say that the ADM is a joke. Which is why PSC trashed it, and replaced it with ADM2 - I thought way back in V8 that the ADM was excellent, it made for a structured development. The language evolved and improved, the ADM changed to take advantage of the new mechanisms within the language. I.E named events, replacing the RUN local include files, with PUBLISHING events, reducing the rcode size. The new OpenEdge ADM didn`t get a rewrite, it just makes so much sense now. The future is bright, the future is publish & subscribe ADM 2.
BFN (Bye For Now)
 
IMHO, ADM1 & ADM2 were children of their time ...

AFAIK, ADM1 was introduced with Progress V8 (1993?), Progress' first stable release (IMHO forget Progress V7) to support a Windows GUI client. At that time client/server was state of the art and the world of coding looked completely different back then.

ADM2 was introduced with Progress V9 (1998?), utilizing the then new 4GL language features like dynamic objects (mainly queries and buffers), publish & subscribe and super procedures. This allowed for a much better framework which somehow mimicked OO behavior - but this was way to progressive for most Progress developers out there. At that time n-tier architectures were widely accepted as the right choice for flexible and scalable applications - but this was way to progressive for most Progress developers too. But, IMHO, the Progress GUI (Windows95 look 'n' feel) did only allow for retro GUIs and most Progress developers felt not very comfortable to use OXCs to pimp their UIs.

In retrospect Progress failed to spread their state-of-the-art technology into their customer base and most of this customers were mostly concerned about UI functionality than they were about application architecture. And that was the weakness of Progress: Compared what competitors offered on the UI front Progress was more than just one step behind. In the end these frame works never got adopted by a broad enough customer base and although they showed great potential, Progress let them die a slow death ...

But, when you compare ADM1 and ADM2 with recent state-of-the-art technology, of course they suck, but so would everything else if you would compare what M$ and other competitors had to offer back then (10 to 15 years ago).

Regards, RealHeavyDude.
 
Creo que este código puede servir, en caso de duda pregunte primero, mi nombre es José Luis Vega hits viven en Argentina, trabajando en esto durante varios años, espero ayudar

DEF wcadena VAR AS CHAR FORMATO "x (100)".
DEF VAR hdataHandle como manija NO-UNDO.
DEF lReturn var como LOG NO-UNDO.
wnomb wcadena + = "PARA CADA RowObject donde los partidos-al Nombre" + '"' + '*': * + PANTALLA-VALUE + '' '"'.
hdataHandle = DINÁMICA CON FUNCIONES ('getDataHandle' EN h_d-alumnos).
lReturn = hDataHandle: QUERY-PREPARE (wcadena) NO-ERROR.
SI ENTONCES lReturn hDataHandle: QUERY-open ().
OTRO MENSAJE "invalida Condición" VER-AS ALERT-BOX.
wnomb: PANTALLA-VALUE = "".
 
Back
Top