× 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.



I do put some of my display elements in service programs.  These are
typically either dropdown windows or single record screens (classic
edit/copy/delete/add type screens).  Each service program has one
display file and each function has one format.  By enclosing these in
procedures, they become very modular:

<psuedo-code>
/free
  if sflOption = 2 ;
    invoiceUpdateScreen( myKeyValue );
  elseif sflOption = 3 ;
    invoiceCopyScreen( myKeyValue );
  elseif sflOption = 4 ;
    invoiceDeleteScreen( myKeyValue );
  elseif sflOption = 5 ;
    invoiceDisplayScreen( myKeyValue );
  endif ;
/end-free
</psudoe-code>

Putting them in an application binding directory makes it easy for any
program to access the needed procedures.  This is especially useful
across applications.  Above is for invoice maintenance, but let's say
that the Accounting package needs to view the invoice details.  All they
would have to do is call the invoiceDisplayScreen procedure.

Can this be replicated with Dynamic calls?  Sure, but so can almost
anything on an academic level.  This just makes sense to me in this age
of modular design.  Naturally you can include whatever kind of return
value suits your needs which makes it nice in embedded statements:

<psuedo-code>
  /free
    if invoiceItemDeleted( myKeyValue );
      // do additional stuff
    endif ;
  /end-free
</psuedo-code>

Necessary? No, just nice and fairly clean.  And of course, with *CALLER
activation group the service program is pretty fast.

Just another perspective for discussion's sake :-) 

Joel
http://www.rpgnext.com


On Tue, 2004-01-20 at 17:34, Scott Mildenberger wrote:
> Joe,
> 
> This is a place where I still use dynamic CALLs.  I really don't
> like bind by copy which is probably the way these would get
> bound unless you put them into a service program which doesn't
> make sense to me.  By using a dynamic CALL the programs exist as
> *PGM objects and in some cases they are a menu option and called
> as an option from some other program.
> 
> Just the opinion of a furniture salesman,
> 
> Scott Mildenberger
> 
> --- Joe Pluta <joepluta@xxxxxxxxxxxxxxxxx> wrote:
> > General question:
> > 
> > Is there a good reason to bind together multiple application
> > programs
> > each with their own display files, or is the recommendation
> > still to use
> > dynamic CALLs?
> > 
> > What are the pros and cons of binding multiple programs
> > together that
> > have their own display files?  It seems to me that this is a
> > place where
> > the dynamic CALL still makes sense.
> 
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
> http://hotjobs.sweepstakes.yahoo.com/signingbonus
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.