× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



> -----Original Message-----
> From: MDC Information
>
> Joe,
>
> I'm a great admirer of your usually logic & well presented arguments but
> this-
>
> >snip
> 'Finally, only as a last resort would I look to a 4GL.  The
> biggest problem
> with a 4GL is that they are rarely open enough to allow serious
> customization, and so you are tied to whatever the 4GL thinks is
> necessary.
> If they don't support the ability to tie a dropdown to an AS/400
> file, then
> chances are the workaround is going to be pretty painful.
> >snip
>
> IS simply CRAZY! Justify that statement please or withdraw it.

Mike, calm down.  I will not withdraw the general statement that 4GL
providers do not provide adequate hooks to customize their generated code.
I think I was pretty clear that I was stating opinion, and even that was
littered with conditionals such as "rarely" and "chances are".  If you have
a specific rebuttal, please post it rather than waving your arms in the air
and demanding retractions.  This isn't a court of law, fer goshsakes, it's a
mailing list.

> Have you ever
> used LANSA? or evaluated it?

I have not used LANSA, but I've seen some generated code.  Also, I have used
numerous code generators over the years and even developed some (for
example, I was on the AS/SET development team).  I have run into the same
problems, to a greater or lesser degree, with every one:

1. Look and feel is standardized, and not particularly easy to customize

This may be the way that controls are placed on a GUI screen, the way menus
are implemented, the way prompts are handled or the colors used, but _in
general_ code generators tend to predefine these choices, and getting around
them is difficult.

2. Generated code is inefficient

This is almost a given, although it differs in degree.  Because a code
generator must take all possibilities into account, unless the designers
have an incredibly good code optimization team, the code _nearly always_
contains some features, be it extra moves, renames, or odd syntax, that is
unnecessary.

3. Generated code is difficult to read

Generated file, field and routine names are _often_ very cryptic.  This is
especially prevalent in RPG III generators limited to six-character field
names.  However, evn in the freeformat environment of C, C++ and Java,
rarely do generated field names make sense.

4. Generated code often uses "cute" code, or obsolete or inappropriate
techniques

Obsolescence is less of a problem in RPG, since the language doesn't evolve
as quickly as some others, but cute code is often a problem.  Some
generators actually generated the old multiply by 10000.01 "technique".
Early versions of AS/SET required two files for every update file: one for
input, one for update, and always used image checking for updates.

5. Modifications to generated code are lost on regeneration

This has been a particularly difficult problem.  Back in the 80's and 90's,
several C generation tools attempted to make "roundtrip" generation a
reality, but nobody ever really got it right.  Some came close, but there
isn't a single tool today that I know of that truly supports roundtrip
modifications, especially those that put a GUI front end on a business
application.  Remove a field from the generated GUI, and on the next
generation, that field is back again.

6. Code generators tend to be relatively rigid in their environment setup

If a code generator thinks that a display file should work with a single
program, and that you should generate a single JSP for that display file,
then you're probably going to be stuck with that paradigm.  This is fine in
many cases, but less than adequate when you want to, say, create multiple
front ends for different user classes, with some fields hidden.  Or perhaps
you want to join multiple screens on one panel, or bypass certain panels.
None of these are handled very well with code generation tools.


> Yes, I'm a '<SHAMELESS ' LANSA addict but I like to think I
> understand what
> the other languages & tools deliver before putting them in the
> 'last resort
> ' box.

Okay, simple question.  I have a two panel application.  The first panel
requires a customer number, and on the second, I have to enter a journal
code.  The available journal code options are based on a combination of the
user ID (entered when the user signs onto the application) and the corporate
customer's class code.

If there is only one available, this field should be a constant.  If there
are 2-4, it should be a radio button.  If there are more, it should be a
dropdown list.

Can I do this easily in LANSA?  If so, then my comment on customization is
not applicable to LANSA.

Joe Pluta
www.plutabrothers.com

P.S. With PSC400, you can do it four different ways, each with a differing
level of complexity and flexibility: pure JavaScript, exposed function and
JavaScript, exposed function and formatting call, or overridden UI class.
Changes to the RPG program that don't change the actual screen layout do not
effect the customized JSP.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.