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




Phil
     Our solution here at CMI involves a tagged pair concept for passing
information to RPG programs. Our data is exchanged with a parameter in the
RPG programs with the following format:

     ID1=Value1<tab>ID2=Value2<tab>ID3=...<crlf>ID1=Value1<tab>...

     We chose the Tab and CRLF simply because they are not regularly part
of data values and are easily produced in the keyboard (yes, the multiline
text box has been a issue). Flat text editors, like notepad, show the data
quite well and imbedding the control characters in HTML has no impact.

     We use a horizontal tab as a field delimiter and carriage return/line
feed as a record delimiter. This format has been highly useful and can be
coded in most languages. We have written routines to parse the information,
converting dates and numerics when needed. We then modify our existing RPG
programs with /COPY statements and create new subroutines to post values to
program variables and perform the proven business logic, data retrieval and
posting. Most programs require a parsing subroutine to process the incoming
parameter string and another subroutine to return the results in the same
parameter. High demand programs are coded with a return opcode whereas
rarely used ones simple turn on the LR indicator.

     We have been using this technique to integrate with many different
platforms, from Web apps to custom interfaces and GUI front ends. We have
reserved a set of Tag IDs for program flow and execution and developed
specialized front end programs to control job stacks and 24hr execution. We
use data areas to keep statistics and interface flags. Stats show hit
counts. Configured counts allow limit of concurrency.   There is actually
more to it than this and this certainly isn't the only available approach,
but hopefully this gets you thinking in the right direction.

Good Luck and keep us posted,

Ken Slaugh  (707) 795-1512 x118
Chouinard & Myhre, Inc.
AS/400 Professional Administrator/MSE
Client Access Specialist
http://www.cm-inc.com/


                                                                                
                 
                    Phil Groschwitz                                             
                 
                    <sublime78ska@yahoo        To:     MIDRANGE-L@midrange.com  
                 
                    .com>                      cc:                              
                 
                    Sent by:                   Subject:     RE: Web apps on the 
AS/400           
                    owner-midrange-l@mi                                         
                 
                    drange.com                                                  
                 
                                                                                
                 
                                                                                
                 
                    03/18/01 09:19 AM                                           
                 
                    Please respond to                                           
                 
                    MIDRANGE-L                                                  
                 
                                                                                
                 
                                                                                
                 



Great discussion going on.  I thought I'd add my
perspective to it.

Isn't possible to do this:

Use net.data to do nothing but call rpg pgms and to
place the result where net.data says to.  All the html
is in the net.data macro, not in any rpg pgms.  The
macro can be maintained by webdevelopers while the
business programs are maintained by rpg programmers.

-- or --

Develop your own tag language to control calling rpg
pgms, again not putting any html in rpg pgms.  The
special tag language and html is maintained by
webdevelopers while the business programs are
maintained by rpg programmers.

-- or --

use JSP's and java to do the same thing, again not
putting any html in the java classes (which is what
you had to do not too long ago before jsp's.)  The
jsp's are maintained by webdevelopers while the
business programs are maintained by java developers.

--

I agree that hardcoding html (in any language) is not
a good thing.

But I disagree that java/jsp's is the **absolute**
best solution for **all** business problems.  Why?
ROI.  The existing, installed as/400's are in many
cases incapable of running a java solution.  Many
companies would lose money on upgrading now.  They
have to wait.  (Or use a different server but you may
never get that business back)

Here's a simplistic analogy that I think demonstrates
my point:

I have a 2 year old car.  I now have a need to put a
baby in the car so I need a car seat.  While it is
true that I could buy a new car that comes with an
integrated car seat, I can't buy a new car now because
I'm still paying for the one I have.  I can't wait
another three years for my car to be paid for.  So
I'll just buy a car seat that I can use in my existing
car.  Problem solved.  Best solution when all the
factors are considered.  Would not have been the best
solution if I had no car, or if the car was deficient
in another way.  Maybe I need room for five but the
car only has four seats.  You get the idea, I hope.

Phil




--- Joe Pluta <joepluta@PlutaBrothers.com> wrote:
> Holy Cripe Joe,  that almost sounds like a RPG-CGI
> program !!
> -----
>
> Yes and no, John.  With this technique, there's no
> HTML formatting in the
> RPG programming, which is my primary gripe against
> RPG-CGI (or any CGI)
> techniques.  Here's a typical change to an RPG
> program:
>
> RV01dC**                   WRITELINCTL01
> RV01aC                     EXSR DQM001
>
> RV01aC           DQM001    BEGSR
>       WRITELINCTL01
> RV01aC           DQMTYP    IFEQ '1'
> RV01aC                     WRITELINCTL01
> RV01aC                     ELSE
> RV01aC                     CALL 'DQMBAPI2'
> RV01aC                     PARM 'LINCTL01'DQMSCR  8
> RV01aC                     PARM 'WRITE'   DQMOPC  5
> RV01aC           *IN       PARM *IN       XIIND
> RV01aC                     PARM           DQMDS2
> RV01aC                     ENDIF
>
> This program runs both green screen and browser.
> Most CGI programs that
> I've seen won't perform in both environments.
>
> Joe
>
> +---
> | This is the Midrange System Mailing List!
> | To submit a new message, send your mail to
> MIDRANGE-L@midrange.com.
> | To subscribe to this list send email to
> MIDRANGE-L-SUB@midrange.com.
> | To unsubscribe from this list send email to
> MIDRANGE-L-UNSUB@midrange.com.
> | Questions should be directed to the list
> owner/operator: david@midrange.com
> +---


__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to
MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---




+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.